本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
一般的数据测量系统是通过传感器将捕捉的现场信号转换为电信号,经模/数转换器ADC采样、量化、编码后,成为数字信号,存入数据存储器或送给微处理器,或通过无线方式将数据发送给接收端进行处理。有时由于环境条件的限制或高速测量的要求,使得一般的测量系统很难满足这样的要求。高速无线数据传输系统就是这样一套利用无线手段,将采集的数据由测量站发送到主控站的设备。
1 系统硬件设计
本设计就是应高速无线测量的要求,利用无线收发器nRF2401、USB通信适配器PDIUSBD12实现的高速无线传输硬件系统。
nRF2401是一个单片集成接收、发射器的芯片,工作频率范围为全球开放的2.4GHz频段,125个频道。采用GFSK调制时的数据速率为高速率1Mbps,高于蓝牙,具有高数据吞吐量。nRF2401内置了CRC纠检错硬件电路和协议。发射功率、工作频率等所有工作参数全部通过软件设置完成。1.9V~ 3.6V低电压,满足低功耗设计需要。每个芯片可以通过软件设置最多40位地址,只有收到本机地址时才会输出数据(提供一个中断指示)。PDIUSBD12是Philips公司推出的完全符合USB1.1规范的USB控制芯片,集成了SIE、FIFO存储器、收发器以及电压调整器。
2 系统软件设计
对nRF2401的配置接口由CE、PWR、CS组成。有4种工作模式(如表1所列),数据通过DATA、CLK1输入。
其发射功率、工作频率等所有工作参数全部通过软件设置完成。系统工作之前必须对nRF2401进行初始化配置,可通过DATA、CLK1串行输入120位的配置位。nRF2401有2种通信方式:ShockBurst和Direct方式。ShockBurst方式时,nRF2401可以自动加载数据头,进行CRC等工作,对外部编程的工作量少,为此在此系统中采用ShockBurst方式。ShockBurst方式的发送、接收工作流程如图4、图5所示。
串行发送程序的具体实现如下:
tx_byte: mov a,@dptr;装载待发送的数据或地址入2401
mov r6,#8h
setb dataio
shift_up:rlc a ;循环装载数据
clr clk1
mov dataio,c
setb clk1 ;clk上升沿采样数据
djnz r6,shift_up
ret
串行接收程序的具体实现如下:
rx_byte: ;接收中断服务子程序
mov r6,#8h
setb dataio
shift_down:clr clk1 ;循环下载数据
mov c,dataio
setb clk1
rlc a
djnz r6,shift_down
mov @r0,a
inc r0 ;数据从50h单元开始暂存
cycsbrx: jnb dr1,rx_byte ;数据下载完毕(dr1变低)则循环再
;次接收
reti
3 结论
nRF2401单芯片集收发一体,且最高发送速率可达1Mbps,使用简单方便。在实际应用中,配合USB进行远程无线测量,数据速率达到500Kbps。由芯片实现的这套高速无线传输系统适合于报警器、自动读表、家庭自动化、遥控、无线数字通信等应用。 |
|