一种基于USB的通用无线传输接口设计

发布者:云自南国来最新更新时间:2012-02-11 来源: dzsc关键字:LPC2210  USB  nRF2401  CY7C63231 手机看文章 扫描二维码
随时随地手机看文章

引 言

USB通用串行总线主要用于USB设备与主机之间的数据通信,特别为USB设备与USB主机之间大量的数据传输提供了高速、可靠的传输协议。射频通信以其优点也应用在越来越多的场合。本文所设计的USB无线串行接口电路由nRF2401单片射频收发器、LPC2210微控制器和USB接口芯片组成。本系统充分利用USB口数据传输功能,设备连接方便,系统可用于进行无线串行数据双向传输,在仪器仪表、计算机遥测遥控系统、家庭网络系统等中得到了应用。

1 硬件设计

整个硬件设计分为两个部分:使用带并行总线的USB接口器件PDIUSBD12设计LPC2200的USB接口,其电路图如图1所示;使用Cypress 公司的USB外围控制芯片CY7C63231设计射频芯片nRF2401的USB接口,其电路图如图2所示。两个部分通过USB口相接,整个硬件设计系统框图如图3所示。

图1中,USB接口芯片采用的是Philips公司的并行USB接口芯片PDlUSBD12,符合通用串行总线(USB)1.1版本规范。这里以 LPC2200微控制器与PDIUSBI)12构成USB设备,PDIUSBD)12连接到LPC2200的硬件原理图如图1所示。

PDIUSBD12使用LPC2200外部存储控制的Bank2部分,数据地址为0x82000000,命令地址为Ox82000001。 RST_USB、SUSP为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 V。nRF2401是单片射频收发芯片,有四种工作模式:收发模式、配置模式、空闲模式和关机模式。所有配置工作,工作模式选择和收发数据都是通过 CY7C63231的PO引脚控制完成的。用电压调整芯片LP2980IM5—3.3产生nRF2401的工作电压(3.3 V),同时SN74LVC4245产生控制口3.3 V和5 V的电平转换,使工作在不同电压的这两种芯片能正常的相连。

 

[page]

2  软件设计

2.1  PDIUSBDl2驱动软件构架

为了使驱动软件可移植性强、易维护,采用分层的方法编写PDIUSBDl2的驱动程序,图4为USB驱动程序软件分层结构图。

USB驱动程序软件包提供给用户6个API函数,这6个函数都在USB应用层中定义,功能描述如表1所列。

下面以接收和发送数据任务为例,演示了一个任务从端点2发送1024个字节。部分源代码如下:

#define RW_NUMS 1024 //任务收发数据字节数
void TaskRecl(void*pdata)
{#if OS_CRlTICAL_METHOD==3
//为CPU状态寄存器分配存储空间
OS_CPU_SR cpu_sr;
#endif
INT8U Buff[RW_NUMS]; //接收及发送缓冲区
INT8U ack=0x01; //应答主机数值
INT8U err; //函数返回值
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); //延时一个时钟周期
if(err==USB_NO_ERR){ //接收正确
Buff[0]=OSPrioCur; //标识该任务
err=WritePort2(RW_NUMS,Buff,200);//发送数据
}
}
}}

2.2 CY7063231软件设计

USB 外围控制器CY7C63231控制nRF2401射频芯片,同时与LPC2210微控制器的USB口相连,实现无线数据的接收和发送。下面以接收无线数据为例。主程序UsbTaskLoop,它是一个无限循环,仅仅在中断的时候跳出。程序检测nRF2401的DRl和DR2引脚,当DRl上的电平为高时,产生中断跳到Receivechl子程序,当DR2上的电平为高时,产生中断跳到Receivech2子程序。USBSend程序负责从端口1向上位机发送数据,WaitforAck程序等待上位机对端口1的应答信号,Receivechl和Receivech2程序分别从nRF2401的通道1 和通道2接收数据。最后调用DATAOUT把数据传给上位机,然后调用WaitforAck。Prg2401程序段负责对nRF2401进行操作控制,能够通过设置不同的参数使nRF2401工作在三种不同的工作模式。

结  语

本系统采用32位嵌入式微处理器进行核心控制,具有强大的数据处理能力。该设计可以通过无线局域网进行无线传输,并且可在ARM中对无线接收的数据进行处理,以进一步应用于图像处理,智能监控,以及远程电视电话会议等。因此,基于ARM的嵌入式USB口无线接收处理系统具有广阔的应用前景和市场。

关键字:LPC2210  USB  nRF2401  CY7C63231 引用地址:一种基于USB的通用无线传输接口设计

上一篇:基于CAN 总线的电动汽车电源管理通信系统设计
下一篇:基于FPGA的以太网MII接口扩展设计与实现

推荐阅读最新更新时间:2024-05-02 21:54

具有USB2.0接口的高速数据采集卡设计
摘要:讨论基于USB接口的高速数据采集卡的设计与实现。详细讲述数据采集卡的硬件部分设计,并简要介绍固件程序、驱动程序和应用软件的设计。 关键词:USB2.0 FPFO FPGA 固件程序 主从系统 引言 数据采集在现代工业生产及科学研究中的重要地位日益突出,并且实时高速数据采集的要求也不断提高。在信号测量、图像处理、音频信号处理等一些高速、高精度的测量中,都需要进行高速数据采集。现在通用的高速数据采集卡一般多是PCI卡或ISA卡,这些采集卡存在很多缺点,比如安装麻烦,价格昂贵,尤其是受计算机插槽数量、地址、中断资源的限制,可扩展性差。 通用串行总线USB是用来连接外围设备与计算机之间的新式标准接口总线。它是一种快速、双向、
[应用]
[单片机][at32][填坑日记] [USB卡包] usb快速发包导致卡包(二)
一、usb避免卡包全流程解释 上电初始化USB外设 // 针对带电池和不带电池的操作 不带电池则上电初始化,带电池则检测到USB_5V则初始化 #if BS_POWER_SWITCH static uint8_t bat_soc_tick = 0; if (get_sys_state() == SYS_STATE_POWER_ON) { main_send_signal(SIGNAL_SYS_POWER_ON); } #else main_send_signal(SIGNAL_REFRESH_USB); #endif if (event.value.signals & S
[单片机]
[单片机][at32][填坑日记] [<font color='red'>USB</font>卡包] <font color='red'>usb</font>快速发包导致卡包(二)
是德推出宽动态范围的USB和LAN功率传感器
是德科技公司日前宣布推出 U2040 X 系列宽动态范围功率传感器,其中包括四款用于无线和雷达应用的 USB 型号和一款专门用于卫星测试的 LAN 型号。U2040 X 系列功率传感器具有业界最宽的动态范围以及极快的测量速度,可确保在宽泛的功率电平范围上执行快速、精确且可复验的功率测量,从而帮助工程师提高工作效率并降低测试成本。 U2040 X 系列具有从 -70 dBm 至 +26 dBm 宽达 96 dB 的动态范围,能够确保对极其微弱的信号执行精确的功率测量,这对于无线芯片组和功率放大器模块制造等应用十分关键。全新平均模式时间选择性功能可以让用户在整个 96 dB 动态范围内执行平均和时间选择性平均功率测量,相比传
[测试测量]
用着容易的USB Type-C,给设计人员增加了多少难度?
新出的USB Type-C接口(或称USB C口)备受关注,这种接口正反插都可以正常工作,使用USB C口的用户再也不用考虑接口方向是否弄错了。   不过需要说明一下的是,USB C口与USB 3.1规范并不是一回事(译者注:支持USB C口的设备不一定支持USB 3.1规范,反之亦然)。支持USB C口的主要软件有这些:Windows 10既支持USB 3.1又支持USB C口;在2015款MacBook发布以后,苹果的OSX也是同时支持USB 3.1和 USB C口;Android M将支持USB C口以提供快充功能。   在硬件方面,一些已经支持USB C口的PC设备如下:诺基亚 N1 平板电脑、苹果2015款Ma
[嵌入式]
基于FPGA和USB接口的验光仪控制系统设计方案
1.引言 近些年来,近视已经严重影响了人们的健康。为了准确的了解近视患者眼睛的近视程度,为近视者配出更加合适的眼镜,验光仪器成为了眼镜零售行业必不可少的设备。目前市场上主流电脑验光仪并不能完全实现验光过程的自动化,问题主要表现在以下三个方面: ①定位速度慢;②定位精度差;③自动化水平低. 为了解决以上问题,本设计对原有的电脑验光仪进行了改进,采用运行速率快,稳定性高的FPGA控制步进电机驱动芯片,实现了验光仪的三轴联动;运用行程开关实现了极点间的自动往返。为了保护电路安全,设计了板间的光电隔离电路;并且采用先进的USB技术使电脑和设备进行通信,增加了数据的传输率,提高了设备的可控性. 2.系统硬件整体设计 控制
[电源管理]
基于FPGA和<font color='red'>USB</font>接口的验光仪控制系统设计方案
精通USB 2.0集线器电源管理
  USB集线器不仅可向下游的USB端口提供数据和电源,还允许主机通过软件对连接到下游端口的设备进行电源管理。USB 2.0集线器系统中的电源分配与管理堪称决定系统是否完全符合USB规范(2.0版)的主要因素。    电源分配   所有连接到USB端口的设备可配置成低功率或高功率,这取决于设备的电压和电流要求(如表1和表2所示)。      首先将所有USB设备枚举为低功率器件。主机在枚举完成后检查设备配置描述符的bMaxPower字段。如果bMaxPower表明该设备属于高功率,并且可提供相应电源,那么主机会允许将该设备转为高功率。   USB设备可被分为自供电和总线供电。图1给出了这两种集线器配置。       总线供电集线
[电源管理]
精通<font color='red'>USB</font> 2.0集线器电源管理
TQ2440 学习笔记—— 5、Linux烧写——USB
用USB下载线烧写Linux 软件:TQBoardDNW 连接USB下载线和串口线 烧写前首先格式化Nand Flash格式化之后再烧写镜像文件 1、烧写u-boo镜像 2、烧写Linux内核镜像 3、烧写文件系统镜像 4、烧写开机logo镜像 烧写完uboot、内核、文件系统、和logo镜像后,拔掉USB下载线,然后选择命令8即boot the system 就可以启动Linux操作系统,开机后需要进行触屏校准!如果第一次没有校准,后面触屏操作将会很麻烦,也找不到再次校准的设置(我反正没找到,所以又重新烧写了一回) 设置Linux的启动方式 TQ2440 配套的uboot 和Linu
[单片机]
TQ2440 学习笔记—— 5、Linux烧写——<font color='red'>USB</font>
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved