新闻中心

EEPW首页>嵌入式系统>设计应用> 兼容RS-232的点对点无线接口设计

兼容RS-232的点对点无线接口设计

作者: 时间:2011-08-04 来源:网络 收藏
兼容RS-232的点对点无线接口设计

  图3 程序流程图

  程序流程图如图3所示。

  nRF2401具有144位状态字。控制器将nRF2401设置为配置方式,然后由通道1向nRF2401写入状态字的配置值,写时高位在前。配置方式下控制器写状态字的过程与激活方式下向nRF2401写入数据的过程完全相同,都经由CLK、DR和DATA组成的三线接口完成。

  在配置模式下,将nRF2401配置为ShockBurstTM收发模式,该模式下使nRF2401能够处理射频协议,在配置完成后,在nRF2401工作过程中,只需改变其最低一字节中的内容,以实现接收模式和发送模式的转换。ShockBurstTM的配置字由数据宽度、地址宽度、地址和CRC四部分组成。

  程序中对状态字后的120位进行配置,其值为0x20 4000 DDDDDD DD 00CC CCCC CC83 6E05。配置后nRF2401的通道1数据段长度为8字节,地址段长度为32位,通道1硬件地址为0x CCCCCCCC,使能16位CRC校验,单通道接收,工作于突发传递模式下,通信速率为1Mb/s,晶振频率为16MHz,输出功率-5dbm,工作频段为2402MHz。

  ①发送、接收数据的程序设计

void ShockBurstTrans(){
 unsigned char ByteNum;
 MODE_RT;
 Delay202();
 for(ByteNum=0;ByteNum14;ByteNum++)
 WriteTo2401(TXData[i]);
 CE=0;
 DATA=0;
  }

  数据接收设置为中断服务程序方式。中断服务程序如下:

  void ReceiveShock()interrupt 0 using 3{
 unsigned char ByteNum;
 DATA=1;
 for(ByteNum=0;
ByteNum8;ByteNum++)
  RXData[ByteNum]=ReadFrom2401();
  }

  ② 串行口程序设计

  采用中断方式进行串口管理。串行通信中对数据流的处理采用突发处理方式。针对RAM空间有限的情况,利用软件模拟FIFO寄存器结构。

  串口的接收和发送工作是相对独立的,构建两个环形缓冲区来实现具有FIFO功能的缓冲区队列。每一个环形缓冲区都对应有写入(Ptr_Wr)和读出(Ptr_ Rd)两个指针,从写指针到读指针之间的相对区域存储的是待发送或已接收的数据,两个指针的前后次序通过标志位(bFlag_Order)判别,当它们的位置重合时则表示没有有效数据。读写指针相对位置与存储的数据之间的关系如图4所示。阴影部分表示有效数据。

兼容RS-232的点对点无线接口设计

  图4 读写指针相对位置与存储数据之间的关系示意图

  结论

  随着Internet的飞速发展,从WAN到MAN,再到LAN、PAN,这些技术已逐渐成熟。无线网络在各类网络中最具增长潜力。由于各种无线标准自身的技术也有待于不断完善和提高,无线技术的应用还有很大的市场空间。

  nRF2401是一款性价比很高的单片无线收发芯片,利用AT89S52和nRF2401芯片设计的无线数据传输系统,成本低,体积小,应用灵活,具有良好的通用性和可靠性。通过调试结果表明,nRF2401芯片可以与微控制器连接实现无线数据通信,进而实现了PC之间的无线通信,并且通信质量可靠稳定。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭