基于SoPC技术的挖掘机无线监控数据传输系统的设计与实现
nRF905采用了Nordic公司的VLSI Shock Burst技术,射频数据包的高速信号处理都在芯片内部进行,并且自动产生前导码和CRC校验码。由于nRF905为半双工芯片,为了实现双向通信,在程序设计时需要考虑发送与接收的时间。为了提高运行效率,可以采用Shock Burst RX直接到ShockBurst TX模式转换或Shock Burst TX直接到ShockBurst RX的模式转换,由于不需要再重新配置寄存器,保持了相同的频道,因此转换所消耗的时间最少,转换时间为550μs。发送端数据采用单字节逐次移位的方式进行传输。在发送完毕即直接从Shock Burst TX模式转换为Shock Burst RX模式。为了确保收到信息,系统采用中断的方式,通过数据就绪输出DR置高米产生中断,如果没有收到则接收端仍然保持Shock Burst RX模式,发送端若一定时间收不到对方的信号则将上次发送的内容再次发送,从而保证了接收端信息的可靠接收,实现了双向通信。FPGA片上系统通信流程罔如图3所示。
(2) SOPC片上串口通信程序设计
NIOSII的UART核可以设置所需的通信模式,比如波特率、偶校验、停止位、数据位和其他控制信号。系统选用的串口波特率为9600bps。采用1位起始位,8位数据位和1位停止位。串口通信可以使用查询的方式也可以使用中断的方式。但是由于查询的方式较为占用资源,所以本系统采用中断的方式直接读取寄存器。UART核能够输出一个单独的中断请求(IRQ)信号给Avalon总线,从而连接到Nios II处理器,通知FPGA将数据转发至SPI接口。串口程序流程图如图4所示。
3 上下位机与FPGA间的串口程序设计
3.1 MTC方的串口通信设计
Codesyrs进行RS232通信编程,要用到以下四个函数:SysComOpen,SysComSetSettings,SysComRead,SvsComWrite。编写程序方法类似C语言。
SvsComOpen:打开RS232通讯端口,MTC仅可选COM2,其余皆不可用。
Buffm Address:当读取到数据后拷贝到变量BUFFER_DATA指向的地址内;
Bvtes To Read:读取多少个bytes。
Buffer Address:发送数据所在地址。
3.2 PC方的串口通信设计
PC的串口通信程序使用VC6.0编写,使用Microsoft公司ActiveX控件MSComm。采用事件驱动的办法,每当有数据由串口收到时,就会触发消息的响应函数OnComm。即可由PC收取串口的数据。发送时可直接调用该控件发送。
4 结束语
本系统能够低成本地设计出挖掘机无线传输系统,较好地完成半双工的挖掘机无线数据传输工作。采用SOPC设计挖掘机无线传输模块的控制器能够在软硬件设计上实现模块化,能够大量地减轻研发工作量、提高研发速度。
nRF905 片上系统 无线通信 SoPC FPGA 相关文章:
- nRF905实现无线温度采集系统(03-19)
- 基于NRF905的无线温度采集系统的设计方案(02-10)
- 基于NRF905的无线窗帘控制器模块电路设计(09-11)
- 基于MEMS惯性传感器的加速度测量无线传输系统设计(06-13)
- 片上系统SoC设计流程(09-12)
- ZigBee在生命子系统中的应用(08-27)