您当前的位置:五五电子网电子知识通信技术通信基站-中继EM200在分布式探测站组网通信的应用 正文
EM200在分布式探测站组网通信的应用

EM200在分布式探测站组网通信的应用

点击数:7734 次   录入时间:03-04 11:52:16   整理:http://www.55dianzi.com   通信基站-中继
    进程1的优先级最高,其任务是读取串口0收到的数据并将其压入在RAM中开辟的缓冲区。串口0的读取操作是由中断服务程序ISR配合RTOS中的信号量实现的。具体过程是在进程1中调用RTOS的OSSemPend函数阻塞当前进程,当串口0收到数据并触发中断后,在中断服务程序ISR中读出的串口0缓存数据,并调用RTOS的OSSemPost函数释放相应的信号量,则原先被阻塞的进程继续执行,此时将ISR中读出的数据压入RAM中开辟的缓冲区,完成一次循环,如图8所示。

h.jpg


    进程2负责从串口1接收来自EM200模块的AT指令应答结果,由于预先得知TCP发送指令执行后的应答响应不会超过串口1的64 B FIFO缓存容量,因此实时接收的要求不如串口0严格,所以进程2优先级可低于进程1。进程2的架构与进程1基本相同,惟一区别是将读出的应答响应存到指定的AT指令暂存缓冲区,如图9所示。

i.jpg



www.55dianzi.com
    进程3负责从RAM缓冲区中截取一段之前串口0接收到的数据,并按AT指令TCP发送格式打包并发送给EM200模块,然后检测AT指令暂存缓冲区中的应答响应结果,判断是否立即发出下一轮TCP发送指令给EM200,如图10所示。进程3对串口1执行发送操作,实时性相对进程1和进程2要求更低,因此进程3的优先级可设为三者中最低一级。

j.jpg


4.2.2 接收端软件设计
    接收端也分为三个进程,依靠RTOS的调度机制,MCU在三个进程之间切换执行,实现接收端对来自CDMA网络数据包的接收并将解析后的有效数据发送给融合中心。
    鉴于EM200收到自CDMA网络数据后会直接经串口将数据包输出的特性(不同于其他模块会将数据暂存在模块内部,只有当收到AT指令读命令后才会输出数据包),因此最高优先级进程1的任务就是通过串口1接收自EM200的数据包并将其压入在RAM开辟的缓冲区。如图11接收端的进程1架构与发送端进程1类似。

k.jpg


    由于进程1中收到的数据包含有部分无效字符,因此中等优先级进程2负责解析缓冲区数据包中的有效数据,若检测到缓冲区中无完整的数据包,则调用RTOS提供的OSTimeDlyHMSM函数延时一定时间,在延时期内主动释放MCU的使用权,若检测到一个以上的完整数据包,则在解析处理后将有效数据送入在内存中开辟的串口0发送缓冲区,该进程架构如图12所示。

l.jpg


    低优先级的进程3负责检测串口0的发送缓冲区是否为空,若不为空则通过串口0将缓冲区中数据发送出去,如图13所示。

m.jpg


    只有在进程2延时期内且进程1处于挂起状态,负责串口0发送任务的进程3才得以执行。由于采用了延时的方式主动释放对MCU的使用权,因此延时的大小决定了进程3每次的执行时间,延时若设得过大可能会造成数据包解析不及时从而导致串口1收到的数据包在接收缓冲区中大量堆积,使得实时性大大降低。延时若设得过小则会导致进程3在发送一段较长的数据时被经常打断,微控制器的处理资源被浪费在频繁的进程切换上,综合考虑此处将延时设定为50ms。

5 结语
    本文介绍了一套基于EM200模块的CDMA数据收发系统,利用该系统组建的分布式探测网络可适应各种地理环境,结合CDMA系统较短的传输时延配以合理的软硬件设计,能够确保整个网络较高的实时性能,满足分布式无源探测信息融合系统组网通信要求。



上一页  [1] [2] 


本文关键字:通信  组网  通信基站-中继通信技术 - 通信基站-中继

《EM200在分布式探测站组网通信的应用》相关文章>>>