保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

基于MSP430和nRF40l的 无线自动抄表系统


可靠的地平面,电源地应该直接与射频部分的地相连;其次,与地平面的连接越短越好。与地连接的焊盘应该在附近设置一个过孔,并且两个接地焊盘不可以共用一个过孔。解耦电容应该尽量靠近需要解耦的引脚,每个需要解耦的节点单独使用一个解耦电容。恰当地选择电容大小会起到很好的效果。电源要采用星形布线,即不同部分(数字部分、模拟部分、射频部分)的电源线分别直接从总电源引出,并且分别解耦,如图4所示。这样可以有效地防止电源噪声的干扰。3系统的软件设计3.1软件流程系统软件分上层模块软件和下层模块软件两部分,图5和图6分别为系统上、下层模块软件流程图。上层模块收到抄表中心的命令后,通过射频无线通讯方式向下层模块发送命令,同时开始计时。如果下层模块没有数据返回,超时后上层模块会重新发送命令。如果超过三次仍未有数据返回,则认为是下层模块工作异常,向抄表中心返回异常信号。下层模块收到上层模块发来的抄表命令,首先检查地址。如果地址不符,说明命令是发给其它模块的,则丢弃命令,继续等待。如果地址符合,则将上层模块发来的命令转发给仪表,等待数据返回。如果超时则重新发送,超时三次则认为仪表故障,向上层返回异常信号。数据正常接收完毕后,模块按照与仪表的协议检验数据,如数据出现错误,则重新向仪表发送命令,如果正确则向上层发送数据,之后重新进入等待状态。MSP430F123只有一个串口,而上下两层的模块需要两个串口。第二个串口由定时器A的捕获/比较功能实现。发送特性的实现采用比较功能将数据从输出单元的引脚移出的方法,波特率用比较数据及中断来获得。接收特性的实现采用捕获/比较功能将引脚数据经SCCIx位移入内存。3.2无线通讯协议本系统是一个简单的点对多点通讯,所以通讯协议分为三层即可。第一层为物理层,由nRF401模块硬件实现;第二层为数据链路层;第三层为应用层。数据链路层的功能是提供可靠的无线数据传输。发送数据时,将应用层发来的比较长的数据帧拆分为短的数据帧,并加上包头和校验和,重新打包后发送出去。接收数据时,将接收到的数据解包并重新组合成完整的长数据,移交给应用层。
  
  数据链路层的数据帧格式为:0x550x55地址类型编号数据(十字节)校验和每帧包括两个字节的起始帧头,一个字节的地址,一个字节的帧类型,一个字节的帧编号,十个字节的数据和两个字节的校验和。无线通讯容易受到干扰,一次发送的数据越长,受干扰的可能性越大。所以应该把比较长的数据分成小的数据包分别发送。本系统每个数据包的有效数据长度为十个字节,原始数据不足时用0补足。因为nRF401是高灵敏度的,在没有进行数据传输时,它的数据输出脚会有杂波输出,这些杂波会被MCU的串口接收并处理。当一个有效数据帧头到达时,串口可能正采样到一个字节的中部。因为检测到起始位对于正确读取其后的数据是相当重要的,在每个数据帧之前要先发几个字节的同步码以实现数据同步。四个字节的0xCC加一个字节的0xF0就可以确保在有效数据帧到达前双方通讯实现同步。为了区分干扰杂波与有效数据,需要数据帧加上帧头。因为干扰杂波基本是随机的,如果使用一个字节的帧头,则可能无法区分干扰和有效数据。因此本系统协议使用两个字节的帧头,为两个0x55。0x55加上起始位和停止位,实际发送的是0101010101,杂波产生连续两个0x55的概率很小很小,可以确保有效数据的确认。数据帧的类型包括抄表命令、正常返回数据、出错要求重发、仪表异常信号、正确接收确认等,用一个字节来标示以便接收方分类处理。因为将较长的数据分成短的数据帧发送,所以每帧需要一个编号,以便接收方检查是否丢帧。在十个字节的数据之后是校验和,使用16位crc校验,检验数据传输的正确性。接收方同样计算crc后与校验和比较,如果不同,即为传输中出现错误。接收方记下错误帧的编号,待全部数据发送完毕后,将错

《基于MSP430和nRF40l的 无线自动抄表系统(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/174143.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。