- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
近距离无线通信的嵌入式数据记录设备设计
写CF卡一个扇区的流程如图3所示。每次向CF卡存储数据时,应该先获取上次存储到的扇区的LBA地址,从而获得此次存储的起始扇区地址。为了记录每次存储到的扇区的地址,将LBA地址为0的扇区保留,专用于记录扇区地址。在开始一次写操作之前,应该先读取LBA地址为0的扇区,获得上次存储的LBA地址;然后加1获得此次写操作的LBA地址,并向指定的扇区写数据。
利用QuartuslI作为FPGA开发平台,使用VHDL硬件描述语言实现了FPGA与DSP的接口、异步FIFO的存储以及CF卡的读写逻辑。在QuartuslI自带仿真工具下得到的写CF卡时序仿真结果如图4所示。
3.2 无线通信模块设计
3.2.1 蓝牙模块设计
蓝牙模块采用BTM0*C2P。它内嵌蓝牙芯片BlueCore4-Ext,兼容蓝牙2.0+EDR规范,最高支持3 Mbps的数据速率,外置天线,有效距离为10 m,具有标准的UART接口。
DSP与蓝牙模块之间通过HCI协议层建立连接。HCI(Host Controller Interface,主机控制器接口)协议,为DSP提供了一个访问蓝牙模块内部基带控制器和链路管理器的命令接口,可以获取蓝牙芯片的配置参数。
本设计中,DSP和蓝牙模块之间采用UART方式进行通信。DSP使用的控制信号除了异步串行通信收发信号SCIRXD和SCITXD外,还有4个控制信号,分别与蓝牙模块的LNK、CLR、RTS和CTS引脚相连。其中,LNK脚用于指示蓝牙主机和从机连接是否建立,地面设备PC机为蓝牙主机,DSP作为蓝牙从机;CLR脚用于切换蓝牙模块的工作模式,包括参数设置模式和数据传输模式;RTS和CTS脚为"请求发送"和"清除发送"引脚,用于实现DSP和蓝牙模块之间的对话,使数据正常传输。
蓝牙模块的SLEEP引脚,既可以使蓝牙模块在休眠和唤醒状态间切换,也可以用于清除蓝牙模块内嵌芯片记忆的配对主机地址。这些功能的实现由按键控制,通过区别按键的时长加以区分所需实现的功能。蓝牙模块的复位信号RESET输入低电平脉冲时有效,而且要求脉冲宽度大于5 mS。
3.2.2 红外模块设计
红外模块采用HP公司的红外收发器芯片HSDL_1001和红外编解码器芯片HSDL_7001,二者均遵循IrDA 1.0协议。红外信号的收发使用PWM方案,采用RZI编码调制解调,调制脉冲宽度为3/16位,调制频率为38 kHz。由于硬件接口的限制,嵌入式系统中红外通信的速率为9 600~115 200 bps。红外数据的传输以帧为基本单位,传输过程中采用16位的CRC码进行数据校验。
系统采用Maxim公司的芯片MAX3110作为DSP的SPI接口和HSDL_7001的UART接口之间的转换芯片。MAX3110和HSDL_7001均使用外部无缘晶体振荡电路供电,所用的晶振大小分别为1.8432 MHz和3.68* MHz。需要下载的数据,首先经过红外编解码器编码,再通过红外收发器上集成的发光二极管以红外光信号的形式向PC机发送。
4 系统软件设计
系统的功能时序流程如图5所示。DSP部分程序用C语言编写,结合硬件电路对数据采集、数据传输进行处理和控制。主要的中断应用有ARINC429信号采集中断和红外通信请求中断。系统的工作流程以时序控制流程为主线。系统初始化之后,进行任务选择与执行。若特定的I/O口置1,则进入数据存储程序,采集数据并存至CF卡;若I/O口置0,则进入数据下载程序,等待主设备的连接请求,鉴权并建立相应的连接,读取CF卡数据,并通过无线通信模块向主设备发送。
结 语
本文根据某工业现场电子设备的特殊应用需求,提出了一种基于无线通信技术的数据记录系统。该系统利用DSP与FPGA协同控制方式实现数据的采集和存储,利用红外和蓝牙模块实现数据的无线下载;用红外和蓝牙代替有线线缆和插拔存储卡等传统数据下载方式,操作方便,避免了传统方式可能造成的机械故障。此记录系统满足了该工业现场电子设备的数据记录需求,能够实时记录设备的电气信号和控制时序,采样速率大于1 kHz,并且能够连续记录约1 GB的数据。本设计是将无线通信技术应用于该工业现场电子设备中的一次尝试,相关抗干扰和安全性等问题有待于更深入的研究。
来源:维库开发网