由RFW122-M构成的短距离无线数据通信系统( 三 )


图6中各个标志位的意义如下:
New_flag串口中有新数据到来(串口中有数据到来,将New_flag置1,在串口中断中设置此标志位) 。
Checkact_sUC_flag收到握手应答包的标志 。收到握手应答数据包后将此标志位置1 。
Tx_size系统接收到的来自串口的字节个数 。
Tx_end_flag串口中的数据发送完毕 。由定时器1控制,定时一段时间 。假如在这段时间内没有新的数据到来,则认为串口数据的这次发送完毕 。每次收到新的串口数据时重置定时器,定时的时间大于1字节数据传输的时间 。
Checkact_send_flag由定时器0控制,在定时的时间内假如没有收到握手应答包,则定时器0溢出,Checkact_send_flag被置1,重发握手包 。
图7中各个标志位的意义如下:
New_flag串口中有新的数据到来 。若串口有数据到来,则将New_flag置1,在串口中断中设置此标志位 。
Pk_sended_nack一个数据包已经发送出去但还没有收到确认包时将此位置1,为0时表示系统可以发送数据包 。
Ack_flag为1表示发出的数据包收到了确认 。
Tx_end_flag从串口发来的数据已经停止了发送 。
Exceed_timing_flag在发送完每一个数据包的同时打开定时器0,从定时器0打开到定时器0溢出的这段时间内,假如没有收到确认包,则认为数据包发送失败,将Exceed_timing_flag置1;假如在这段时间内收到确认的数据包,则将定时器0关闭 。
Tx_size系统接收到的来自串口的字节个数 。
图8中各个标志位的意义如下:
Lock_flag本节点收到了其他节点发来的数据包 。
Tx_to_s_flag在接收状态,假如MCU中的缓冲区内仍有数据,且Tx_to_s_flag=1,则可向串口发送1字节数据 。当MCU的TI中断发生时,将此标志位置1 。
4接口芯片RFW_D100的固件编程
对RFWD100进行固件的编程是通过对RFWD100内的非凡功能寄存器的编程实现的 。
SCR2=0x1c配置前的操作;
BLR=0x06配置数据的空中码速为1Mbps;
PPR=0xca配置数据包的格式;
LCR=0x45配置数据包非凡字节的位置;
NIR=0xbb网络识别地址;
BIR=0xee节点识别地址;
SCR1=0x20打开RSSI;
SCR3=0x03
SCR4=0x03
IER=0x13中断使能;
SCR2=0x02系统处于数据包的搜索状态 。
结语
本设计以射频芯片RFW122M及其接口芯片RFED100为核心,采用单片机AT89LV52作微处理器,实现了一个短距离无线数据传输系统 。今后的工作是完善和改进该协议,进一步提高无线数据的传输效率 。
参考文献
[1]黄智伟.无线数字收发电路设计——电路原理与应用实例.北京:电子工业出版社,2003.
[2]郑少仁,王海涛,赵志峰,等.AdHoc 网络技术. 北京:人民邮电出版社,2005.
[3]张全宝,李峻.RFW102无线收发芯片组的原理与应用.国外电子元器件, 2004(1).
[4]陈媛媛,杨凯,胡文东.基于RFW102芯片组的短距无线数据传输系统的实现.现代电子技术,2005(24).
[5]VishayRFWavesLtd. RFW122M ISM Transceiver Module, Preliminary Datasheet. 200505.
[6]VishayRFWavesLtd. RFWDD100: Standard Interface to The RFW100 Series. Datasheet. July 200207.

推荐阅读