微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 基于SoPC技术的挖掘机无线监控数据传输系统的设计与实现

基于SoPC技术的挖掘机无线监控数据传输系统的设计与实现

时间:10-27 来源:本站整理 点击:

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设计挖掘机无线传输模块的控制器能够在软硬件设计上实现模块化,能够大量地减轻研发工作量、提高研发速度。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top