基于usb的通用无线传输接口设计

基于usb的通用无线传输接口设计

ID:8485609

大小:571.50 KB

页数:8页

时间:2018-03-29

基于usb的通用无线传输接口设计_第1页
基于usb的通用无线传输接口设计_第2页
基于usb的通用无线传输接口设计_第3页
基于usb的通用无线传输接口设计_第4页
基于usb的通用无线传输接口设计_第5页
资源描述:

《基于usb的通用无线传输接口设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于USB的通用无线传输接口设计摘要:介绍一种基于Philips公司的32位ARM7T[)MI—s微处理器LPC2210的USB接口设计,并使用Nordic公司生产的单片射频收发芯片nRF2401设计USB接口的无线通信模块。阐述该系统的工作原理、硬件构成及软件设计方案。实现了基于USB接口的无线串行通信。关键词:无线传输LPC2210USBnRF2401CY7C63231引言USB通用串行总线主要用于USB设备与主机之间的数据通信,特别为USB设备与USB主机之间大量的数据传输提供了高速、可靠的

2、传输协议。射频通信以其优点也应用在越来越多的场合。本文所设计的USB无线串行接口电路由nRF2401单片射频收发器、LPC2210微控制器和USB接口芯片组成。本系统充分利用USB口数据传输功能,设备连接方便,系统可用于进行无线串行数据双向传输,在仪器仪表、计算机遥测遥控系统、家庭网络系统等中得到了应用。1硬件设计整个硬件设计分为两个部分:使用带并行总线的USB接口器件PDIUSBD12设计LPC2200的USB接口,其电路图如图1所示;使用Cypress公司的USB外围控制芯片CY7C63231

3、设计射频芯片nRF2401的USB接口,其电路图如图2所示。两个部分通过USB口相接,整个硬件设计系统框图如图3所示。图1中,USB接口芯片采用的是Philips公司的并行USB接口芯片PDlUSBD12,符合通用串行总线(USB)1.1版本规范。这里以LPC2200微控制器与PDIUSBI)12构成USB设备,PDIUSBD)12连接到LPC2200的硬件原理图如图1所示。PDIUSBD12使用LPC2200外部存储控制的Bank2部分,数据地址为0x,命令地址为Ox。RST_USB、SUSP为

4、LPC2200的输出引脚,PDIUSBD)12中断信号为中断输入信号,且为外部中断O。C1、C2和X1为PDIUSBD)12提供工作所需的时钟输入。发光二极管GoodLink在正常通信时闪烁。PDIUSBD12的AD0连接到LPC2200的A0,当LPC2200在A0引脚输出l时,表示输出到PDIUSBD12数据总线DO~D7上的数据为命令字;当A0引脚输出0时,表示输出到PDIUSBD)12数据总线DO~D7的数据为数据字。图2中,CY7C63231是8位RISC微处理器,特别适用在USB嵌入式

5、方面,工作电压为5V。nRF2401是单片射频收发芯片,有四种工作模式:收发模式、配置模式、空闲模式和关机模式。所有配置工作,工作模式选择和收发数据都是通过CY7C63231的PO引脚控制完成的。用电压调整芯片LP2980IM5—3.3产生nRF2401的工作电压(3.3V),同时SN74LVC4245产生控制口3.3V和5V的电平转换,使工作在不同电压的这两种芯片能正常的相连。2软件设计2.1PDIUSBDl2驱动软件构架为了使驱动软件可移植性强、易维护,采用分层的方法编写PDIUSBDl2的驱

6、动程序,图4为USB驱动程序软件分层结构图。USB驱动程序软件包提供给用户6个API函数,这6个函数都在USB应用层中定义,功能描述如表1所列。下面以接收和发送数据任务为例,演示了一个任务从端点2发送1024个字节。部分源代码如下:#defineRW_NUMS1024//任务收发数据字节数voidTaskRecl(void*pdata){#ifOS_CRlTICAL_METHOD==3//为CPU状态寄存器分配存储空间OS_CPU_SRcpu_sr;#endifINT8UBuff[RW_NUMS]

7、;//接收及发送缓冲区INT8Uack=0x01;//应答主机数值INT8Uerr;//函数返回值pdata=pdata;//避免编译器警告for(;;){OSSemPend(TaskReel_Sere,0,&-err);//等待TaskStart的命令err=WritePortl(1,&ack,200);//应答USB主机if(err==USB_NO_ERR){//应答正确err=ReadPort2(RW_NUMS,Buff,200);//接收数据OSTimeDly(1);//延时一个时钟周期i

8、f(err==USB_NO_ERR){//接收正确Buff[0]=OSPrioCur;//标识该任务err=WritePort2(RW_NUMS,Buff,200);//发送数据}}}}2.2CY软件设计USB外围控制器CY7C63231控制nRF2401射频芯片,同时与LPC2210微控制器的USB口相连,实现无线数据的接收和发送。下面以接收无线数据为例。主程序UsbTaskLoop,它是一个无限循环,仅仅在中断的时候跳出。程序检测nRF2401的DRl和DR2引脚,当DRl上的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。