基于USB接口的无线数据传输系统的设计
发布时间:2008/6/3 0:00:00 访问次数:421
引言
通信是信息的交换平台,在人们的工作和日常生活中起着重要的作用。传统的通信技术是通过数据线和串口/并口将设备连接在一起,这样就存在布线困难和其它不方便的因素。而且传统的rs232串口通迅和并口通讯都存在传输速度低、接口的连接过于复杂等不足。本文所设计的基于usb接口的无线数据传输系统利用了usb接口的高传输速率、即插即用等优点,并结合了无线数据传输技术,实现了计算机之间的无线数据通讯,解决了传统通信技术带给我们的不便。
系统硬件设计
基于usb接口的无线数据传输系统总体方案如图1所示,该系统由发射和接收两部分组成。其中,发射(接收)系统由单片机控制射频发射模块和单片机控制usb芯片两部分组成。系统的工作过程为:主机将数据通过usb接口传给单片机,数据通过单片机的spi口再传给射频发射模块,最后由射频发射模块把数据发射出去。射频接收端接收到符合的数据包后,通知单片机读取数据,单片机将数据通过usb接口送给主机,这样就完成了一包数据从发射端到接收端的传输。
单片机控制nrf2401
nrf2401芯片工作在全球开放的2.4~2.5ghz ism免申请频段共125个频点,可满足多频点和跳频的需要;最高速率可达1mbps,低功耗;发射功率和频道参数可通过软件设置完成。nrf2401内置地址解码器、fifo(先入先出栈区)、解调处理器、gfsk滤波器、低噪声放大器、频率合成器,功率放大器,晶体振荡器等部分构成。nrf2401有两种模式:direct mode(直接模式)和shockburst模式。shockburst技术采用芯片内部fifo,数据以较低的速率存在fifo中,再以很高的速率(1mbps)将数据发射出去,因此它的功耗和成本都很低。nrf2401上的编程采用三线接口方式,单片机通过data,clk1,cs三个引脚对nrf2401芯片进行初始化设置和数据的输入输出,单片机还可以通过pwr_up,ce,cs三个引脚对其进行控制,使nrf2401进入不同的工作模式。nrf2401的data引脚是数据引脚,sck引脚是时钟引脚,在时钟信号的配合下,单片机通过data引脚从nrf2401中读取数据或者把数据写入nrf2401。单片机与nrf2401连接如图2所示。
首先对nrf2401进行参数配置,cs=1,ce=0,pwr_up=1。bit[119:0]有120位需要配置。这里需要注意的是nrf2401一包数据的最大长度是256位(32byte),数据段的位数=256-地址段的位数-crc的位数。因此,要想在一包数据中传输尽可能多的数据段的位数,那么应该减少地址段的位数和crc的位数。接下来进入突发模式:cs=0,ce=1,pwr_up=1。通过模拟spi口把数据和接收方的地址写入nrf2401。注意该地址是接收方的地址。最后将ce置低,无线传输芯片把数据发射出去。
单片机对ft245bm的控制
ft245bm芯片是由ftdi(future technology devices intl ltd)公司推出的第二代usb芯片,它的功能是实现usb接口与并行i/o接口之间数据的双向传输。它由3.3v稳压器,usb收发器,锁相环,串行接口引擎(sie),fifo控制器,usb协议引擎,fifo接收缓冲区,发送缓冲区,以及6m振荡器,8倍频时钟倍频器等组成。一方面,当外部设备有数据要传给主机时,数据通过8位并行i/o接口传给usb芯片内部的数据缓冲区,ft245bm再将8位并行数据转化为串行数据,通过usb接口把数据发送给主机;另一方面,当主机有数据要给外部设备时,先将串行数据通过usb接口存储在usb芯片内部缓存区中,ft245bm再将串行数据转化为8位并行数据,然后通过8位i/o接口把数据传给外部设备。单片机与ft245bm的连接如图3所示。
单片机对ft245bm的控制是通过rxf#,rd#,txe#,wr这四个读写控制信号完成的。当rxf#为低时,表示主机已经将至少1字节的数据发送到usb的接收缓存区,单片机只需将rd#信号由低置高,就可以把d0-d7上的数据读到单片机的寄存器中。当txe#为低时,表示单片机可以把1字节的数据写入usb,只需把wr信号由高变低,就可以将d0-d7上的数据写入usb的发送缓存区。注意,当txe#为高时不可以将数据写入usb,这时usb的发送缓存区中正在处理上一次写入的数据或是发送缓存区已经写满。同样,当rxf#为高时,也不能从usb芯片中读取数据。
电路设计可采用总线供电和自供电两种供电方式,总线供电方式是指ft2
引言
通信是信息的交换平台,在人们的工作和日常生活中起着重要的作用。传统的通信技术是通过数据线和串口/并口将设备连接在一起,这样就存在布线困难和其它不方便的因素。而且传统的rs232串口通迅和并口通讯都存在传输速度低、接口的连接过于复杂等不足。本文所设计的基于usb接口的无线数据传输系统利用了usb接口的高传输速率、即插即用等优点,并结合了无线数据传输技术,实现了计算机之间的无线数据通讯,解决了传统通信技术带给我们的不便。
系统硬件设计
基于usb接口的无线数据传输系统总体方案如图1所示,该系统由发射和接收两部分组成。其中,发射(接收)系统由单片机控制射频发射模块和单片机控制usb芯片两部分组成。系统的工作过程为:主机将数据通过usb接口传给单片机,数据通过单片机的spi口再传给射频发射模块,最后由射频发射模块把数据发射出去。射频接收端接收到符合的数据包后,通知单片机读取数据,单片机将数据通过usb接口送给主机,这样就完成了一包数据从发射端到接收端的传输。
单片机控制nrf2401
nrf2401芯片工作在全球开放的2.4~2.5ghz ism免申请频段共125个频点,可满足多频点和跳频的需要;最高速率可达1mbps,低功耗;发射功率和频道参数可通过软件设置完成。nrf2401内置地址解码器、fifo(先入先出栈区)、解调处理器、gfsk滤波器、低噪声放大器、频率合成器,功率放大器,晶体振荡器等部分构成。nrf2401有两种模式:direct mode(直接模式)和shockburst模式。shockburst技术采用芯片内部fifo,数据以较低的速率存在fifo中,再以很高的速率(1mbps)将数据发射出去,因此它的功耗和成本都很低。nrf2401上的编程采用三线接口方式,单片机通过data,clk1,cs三个引脚对nrf2401芯片进行初始化设置和数据的输入输出,单片机还可以通过pwr_up,ce,cs三个引脚对其进行控制,使nrf2401进入不同的工作模式。nrf2401的data引脚是数据引脚,sck引脚是时钟引脚,在时钟信号的配合下,单片机通过data引脚从nrf2401中读取数据或者把数据写入nrf2401。单片机与nrf2401连接如图2所示。
首先对nrf2401进行参数配置,cs=1,ce=0,pwr_up=1。bit[119:0]有120位需要配置。这里需要注意的是nrf2401一包数据的最大长度是256位(32byte),数据段的位数=256-地址段的位数-crc的位数。因此,要想在一包数据中传输尽可能多的数据段的位数,那么应该减少地址段的位数和crc的位数。接下来进入突发模式:cs=0,ce=1,pwr_up=1。通过模拟spi口把数据和接收方的地址写入nrf2401。注意该地址是接收方的地址。最后将ce置低,无线传输芯片把数据发射出去。
单片机对ft245bm的控制
ft245bm芯片是由ftdi(future technology devices intl ltd)公司推出的第二代usb芯片,它的功能是实现usb接口与并行i/o接口之间数据的双向传输。它由3.3v稳压器,usb收发器,锁相环,串行接口引擎(sie),fifo控制器,usb协议引擎,fifo接收缓冲区,发送缓冲区,以及6m振荡器,8倍频时钟倍频器等组成。一方面,当外部设备有数据要传给主机时,数据通过8位并行i/o接口传给usb芯片内部的数据缓冲区,ft245bm再将8位并行数据转化为串行数据,通过usb接口把数据发送给主机;另一方面,当主机有数据要给外部设备时,先将串行数据通过usb接口存储在usb芯片内部缓存区中,ft245bm再将串行数据转化为8位并行数据,然后通过8位i/o接口把数据传给外部设备。单片机与ft245bm的连接如图3所示。
单片机对ft245bm的控制是通过rxf#,rd#,txe#,wr这四个读写控制信号完成的。当rxf#为低时,表示主机已经将至少1字节的数据发送到usb的接收缓存区,单片机只需将rd#信号由低置高,就可以把d0-d7上的数据读到单片机的寄存器中。当txe#为低时,表示单片机可以把1字节的数据写入usb,只需把wr信号由高变低,就可以将d0-d7上的数据写入usb的发送缓存区。注意,当txe#为高时不可以将数据写入usb,这时usb的发送缓存区中正在处理上一次写入的数据或是发送缓存区已经写满。同样,当rxf#为高时,也不能从usb芯片中读取数据。
电路设计可采用总线供电和自供电两种供电方式,总线供电方式是指ft2
上一篇:JTAG基本原理及仿真器性能比较
上一篇:HDMI分配器的设计与实现