基于USB的无线传输系统设计
引言
距离产生了通信的需求,距离的增加对通信提出了更高的要求。和有线通信相比,无线通信技术由于其更为方便实用而越来越得到更多的应用,实现无线传输的方案也是多种多样。本文中设计并实现了一种应用无线传输技术的单片机系统,该系统中使用USB2.0 接口与上位机相连,将数据传输到下位机,数据经无线传输后控制手持式便携设备。应用该系统的教学仿真器已经在实际中进行了应用,且得到了很好的效果。
1 系统的设计
为了实现计算机对某些系统的控制,常常使用单片机对下位机进行控制,而上位机和下位机之间可以通过串行接口、并行接口等接口实现通信。本文中通过USB2.0 接口实现了一个无线通信系统,系统的连接如图1 所示。
图1 无线传输系统连接
由图1 中可以看出,上位机接收用户操作,通过USB2.0接口发出,传输到下位机,数据经下位机处理后经无线发送设备发出。无线接收设备接收到发射出的信号后,将相应的信息显示在手持设备上,从而实现了上位机与手持设备之间的无线通信。这里,在手持设备上使用LED 显示上位机同步信息,因此,设计出无线传输系统的系统结构图如下页图2所示。
图2 无线传输系统结构
2 系统的具体实现
2.1 USB2.0 接口转串行接口的功能实现
由于下位机与上位机的连接采用目前较为流行的USB2.0 接口,以便于广泛的应用,但是由于下位机所使用的51 单片机不支持USB 接口,只支持标准的双工串行接口,因此需要在USB 接口与串行接口之间进行数据转换。这里采用FT232BM 芯片[3]完成此项功能。
FT232BM 的主要功能是进行USB 和串口之间的协议转换。芯片一方面可从主机接收USB 数据,并将其转换为串口的数据流格式发送给外设,另一方面外设可通过串口将数据转换为USB 的数据格式传回主机。中间的转换工作全部由芯片自动完成,开发者无须考虑固件的设计。FT232BM 内部主要由USB 收发器、串行接口引擎USB 协议引擎和先进先出(FIFO)控制器等构成。USB 收发器提供USB1.1/2.0 的全速物理接口到USB 总线,支持UHCI/OHCI 主控制器;串行接口引擎主要用于完成USB 数据的串/并双向转换,并按照USB1.1规范来完成USB 数据流的位填充/位反填充,以及循环冗余校验码(CRC5/CRC16)的产生和检错,USB 协议引擎管理来自USB 设备控制端口的数据流;FIFO 控制器处理外部接口和收发缓冲区间的数据转换。FIFO 控制器实现与单片机(如AT89C51 等)的接口,主要通过2 根数据线P30 和P31 及读写控制线来完成和单片机的数据交互。FT232BM 内含两个FIFO 数据缓冲区,一个是128 字节的接收缓冲区,另一个是384 字节的发送缓冲区。
2.2 无线数据传输的实现
根据系统的设计,无线数据传输部分由无线发射模块和无线接收模块两部分组成,无线发射模块选用GDTX6,它具有功率大发射频率稳定不受周边温度变化而改变等特点;无线接收模块选用GD-R5B,它是VHF/UHF 超高频无线数据传送高品质外差接收模块,采用超高频,低噪声大规模集成电路,是具有极高性价比,有完善的抗静电保护,可靠性高及远距离传输的接收模块。
(1)数据发送平台的实现。
数据发送平台工作原理如图3 所示,是将PC 机产生的动作数据通过USB 接口芯片接收到接收处理器内,然后由接收处理器进行地址和数据的混编处理后,再送入无线数据发送处理器,最后把数据和地址一同通过处理器的串行通信口送入无线发送模块将混合数据发送出去。
图3 数据发送平台电路
(2)数据接收平台的实现:
数据接收平台工作原理如图4 所示,是将发送平台的数据正确的接收到平台上,当整套硬件平台通电后接收平台会不断接收到由发送平台发送过来的连接码,这个连接码在整个无线接收区域所有无线接收平台都会接收到此连接码,当发送平台得到要发送的数据后,就会进入数据传送协议,接收平台也会按照自编的接收协议来接收数据,当数据由无线接收模块接收后通过接收处理器的串口传入接收处理器,再由接收处理器对接收到的混合数据进行地址和数据分离后传给接收平台显示处理器驱动相应的LED 发光二极管。
图4 数据接收平台电路
(3)数据传输协议的实现。
由于数据发送平台与数据接收平台之间的通讯是无线数据连接,因此也需要一定的协议。这个协议的实现是当发送平台通电后会一直向整个无线有效范围内发送连接码,连接码的发送频率是稳定的,接收平台通电后会一直接收到来自发送平台的连接码,但接收到连接码后会放弃并不保存。
当上位机向下发送数据时,发送平台开始进入发送协议状态,首先发同步码,然后是地址码,地址发送后发送数据,最后发送结束码,图
- 基于S3C44B0X的心电血压监测仪USB接口设计(11-28)
- C8051F320在USB设计中的应用(01-18)
- 基于ISP1581型接口电路的USB2.0接口设计(01-18)
- 用CP2101将USB口扩展成串口(01-18)
- TM1300 PCI-XIO口的UART和USB接口设计(01-17)
- 基于CH371的实用USB接口设计(01-23)