完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1读写器硬件结构设计
该设计选用W78E465作为主控模块,IntelR1000收发器作为射频模块。该设计可以作为手持终端,并用RS 232串行通信模块和电平转换接口MAX232与上位机相连。系统硬件原理见图1。 1.1主控模块 W78E365是具有带ISP功能的FLASH EPROM的低功耗8位微控制器,可用于固件升级。它的指令集与标准8052指令集完全兼容。W78E365包含64 KB的主ROM,4 KB的辅助FLASH EPROM,256 B片内RAM;4个8位双向、可位寻址的I/O口;一个附加的4位I/O口P4;3个16位定时/计数器及1个串行口。这些外围设备都由有9个中断源和4级中断能力的中断系统支持。为了方便用户进行编程和验证,W78E365内含的ROM允许电编程和电读写。一旦代码确定后,用户就可以对代码进行保护。 W78E365内部ROM仅64 KB,内存太小,故采用AT29C256作为外扩ROM。线路连接见图2。 1.2收发模块 射频模块采用Intel R1000收发器。R1000内包含了一个能源扩大器,使得它可以在近距离或者2 m内对标签进行编码和阅读,而具体距离由读写器所使用的天线决定。有了额外的外部能源扩大器,使用R1000读写器的读写范围可以达到10 m。R1000必须与单独的微处理器连接,这个微处理器可以把由R1000数字信息处理器产生的原始数据转换成EPC或者18000-6c格式的代码,其工作频率为860~960 MHz,共有56个引脚,采用0.18μmSiCe BiCMOS先进工艺,体积仅为8 mm×8 mm,功耗只有1.5 W左右,具有很高的集成度。 R1000与W78E365的连接见图3。射频信号经天线进入电桥,输出信号被分为两路,一路信号经过带通滤波器和不平衡到平衡的转换进入R1000的射频输入口。另一路信号经不平衡到平衡的转换进入R1000的本振输入口。这两路信号在R1000内部经过解调和模/数转换等一系列操作后,将所得的数字信息送给W78E365。W78E365对收到的信号经解码和校验,将所得信息送往上位机,并将其对R1000的命令编码和加密后发送给R1000。这些命令在R1000内部经过调制和PA,再经过平衡到不平衡的转换和滤波,由天线发射出去。数字模块中的时钟驱动来自于外部TCXO产生的24 MHz参考频率。系统中通过∑-△DACS的信号频率为24 MHz;通过∑-△ADCS的信号频率为48 MHz。 R1000内部集成了接收器和发射器。实质上,接收器是一个零中频接收机。下变频后,直流的大部分被复位,由交流耦合电容器滤除。模拟中频滤波器提供粗略的频道选择。它具有可编程带宽满足大范围的数字通过率。该滤波器可以配置成两个实际的低通滤波器,也可以配置成复杂的单相带通滤波器。经滤波后,I,Q信号被数/模转换器转换成数字信号。滤波器中自动中频增益的升高会降低模/数转换器的动态范围。 R1000中,发射器支持同相正交矢量调制和极化调制。前者,用于SSB-ASK调制和反相幅移键控调制;后者,用于DSB-ASK。在这两种调制方式下,数字模块产生的信号,经过∑-△数/模转换器和重建滤波器转换成模拟信号。 在SSB-ASK调制方式下,基带编码信号经希尔伯特滤波器产生复合的同相信号I和正交信号Q,经∑-△数/模转换器将I,Q数字信号转换成模拟信号,进入模拟模块,该模拟信号经天线发射出去。在PR-ASK调制方式下,用混频器将信号反相弥补AM部分的时延,反相时延控制有一个可编程时延,使极化调制的相位与幅度之间的时间错误趋于最小值。在DSB-ASK调制方式下,基带编码和脉冲信号同样也经过希尔伯特滤波器产生一个复合的1,Q信号。所不同的是脉冲成型信号预先进行了扭曲,这样可以补偿调幅传递函数中的非线性。这个经过预先扭曲的调幅控制信号经过∑-△数/模转换器转换成模拟信号,最后通过天线 发射出去。 基于功率要求和调制方式的不同,R1000有全功率非线性,低功率非线性和线性3种发射模式。在DSB-ASK调制模式下,R1000采用全功率非线性发射模式。为了发射R1000允许的天线上最大发射功率值为+30 dBm,需在R1000外部接1个PA。采用Class-C极化调制能够提高系统的功率效率。在这种发射方式下,只有在DSB-ASK调制方式才有效。低功率非线性发射模式与全功率非线性发射模式相似,只是外部不再需要PA。相反,只使用内部较低的输出功率,在这种发射方式下只有DSB-ASK调制方式有效。在线性发射模式下,R1000的PA-out信号与外部线性PA相连,这是因为SSB-ASK调制方式要求1个线性的PA。需要指出的是在R1000外部接1个PA时,会增加系统的复杂度,但同时放大了传输信号的功率,使信号传输距离更远,提高了读写器的读写距离。 1.3 天线 对Intel R1000超高频收发器,基于不同的天线子系统,天线有两种配置情况。第一种情况是单天线模式。在这种情况下,用一个回路来隔离发射路径和接收路径,每根天线都具备接收器和发射器的功能。第二种情况是双天线模式。同样用分离的天线将接收器和发射器连接起来,通常情况下,两根独立的天线由一个开关控制,每根天线仅具备接收器功能或发射器功能。 对单天线模式,因天线的反射系数并不理想,所以接收增益不能太大,会有饱和的问题。以R1000的高接收灵敏度,可以搭配-10 dB左右的Coupler,视整体线路的隔离而定;对于双天线模式,天线的收发隔离比较理想,接收路径可以使用高增益。 该设计采用双天线模式,用矩形微带天线和同轴电缆构成读写器的天线。该微带天线的基板材料采用介电常数比较高的陶瓷基片,厚0.635 mm。天线宽为70.5 mm,长为52.689 mm,微带线宽度为0.598 mm,馈电点选取在天线宽边中心。经过ADS仿真,该天线中心频率为915 MHz。为减小天线反射系数,达到较理想的匹配,对天线串联一根长度为18.471 mm,阻值为50 Ω的传输线,然后再并联一根长度为24.678 mm,阻值为50 Ω的传输线。经ADS仿真优化得知,在中心频率915 MHz处,天线最大辐射方向上的方向性系数为3.535;效率为40.087%;增益为1.417。 |
|
|
|
2系统软件设计
2.1 主程序 若系统在PC机的监控下工作,则系统与PC机之间是主从通信模式。系统收到PC机的命令便进入初始化状态,按照主控程序进行相应的工作。处理完毕后,将所得信息送往PC机。主程序流程见图4。 2.2软件设计 该设计采用曼彻斯特编码方式,用2位二进制数来表示一位二进制数据信息。编码波形的上升沿用01来表示,对应数据信息0;下降沿用10来表示,对应数据信息1。首先,对W78E365进行初始化,使计数器TO工作在16位定时器工作模式下;T1工作在计时器工作模式下,对T0,T1赋初值,使: TL0/1=(最大计时次数一要计数次数)%256 TH0/1=(最大计时次数一要计数次数)/256 然后,设同步脉冲定时值为一位半码宽,将有效数据编码采用半位码宽定时。接着启动定时器T0,检测同步沿的到来。若检测不到同步沿的到来,则继续检测;若检测到同步沿的到来,则开始读端口状态,并启动计时器T1。当检测到下一跳变沿到来时,使计数器数目加1,且将对应端口数字1编码为10,对应端口数字0编码为01。之后进入下一轮循环,直至计数器数目达到码长为止。按照上面操作就可以实现对数据的编码。同理,在进行解码时只要按照相反的逆操作进行即可。 多字节CRC校验的方法一般是移位法。这种方法执行起来速度较慢,但是其需要的空间小;另一种方法是查表法,即预先把多字节可能产生的余式计算出来组成一个余式表,直接查表而不进行二进制的除法。这是一种快速的方法,但是需要很大的空间。用标准CRC-16进行校验,则需要至少1~2 KB,对于MCU来说是很不利的,故选择前者。 该设计采用流密码加密算法,将明文M分割成字符串和比特串M=m0,m1,…,mj,…,并逐位加密:EK(m)=Ek0(m0),Ek1(m1),…,Ekj(mj),…,其中密钥流是K=k0,k1,…,kj…。对明文加密就是将K和M对应的分量分别进行模2相加,得到密文序列C。在接收端,合法的接收者将密文序列C与上述密钥序列进行简单的模2相加,将原来的明文恢复出来。序列密码使用一个比特流发生器,以产生随机二进制数字流,称为密码比特流。密码比特流直接作为密钥使用,而且其长度与明文报文的长度相等。考虑到比特流发生器不是真正随机的实际情况,流密钥生成器用线性反馈移位寄存器构造。 2.3防碰撞程序 该设计采用非基于位碰撞的二进制算法来实现防碰撞。防碰撞流程如图5所示。 具体流程如下: (1)发送Request命令给应答器; (2)发送Group-select命令和Ungroup-select命令给所有应答器,使所有或部分应答器参与冲突判断过程: ①若有冲突,读写器发送Fail命令给选定应答器,直到没有冲突; ②若没有冲突,读写器发送Select命令给应答器,选定该应答器。 (3)发送Data-Read命令给选定的应答器: ①若正确接到应答器反馈的信息,读写器发送Success命令给选定应答器; ②若未正确接收到应答器反馈的信息,发送一定次数Resend命令给选定应答器。超过该次数则认为有冲突,进入步骤(2)的①。 (3)当读写器读写信息成功后,读写器对选定应答器发送Unselect命令,使应答器进入完全非激活的状态,不再应答读写器发送的命令。 为了重新活化应答器,必须暂时离开读写器的作用范围,以实行复位。通过以上程序就可以实现系统的防冲突功能。 |
|
|
|
3 结 语
设计在Modelsim 6.1中进行功能和时序仿真,并通过Altera QuartusⅡ6.0的Stratix EPlS10F484C5器件综合。结果表明,该算法使用的寄存器为347,比基于位碰撞的算法使用的寄存器数少得多,节省了硬件资源。最大读写标签数为3 595,读写速度可达每秒1 000个标签,防碰撞算法效率接近50%,比传统算法具有更高的TDMA信号利用率及平均识别效率。支持SSB-ASK和DSB-ASK双重调制方式,具备单、双天线模式,体积小,集成度高,可作为手持终端,且能够在各种环境下即插即用。 |
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2568 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2363 浏览 5 评论
3209 浏览 3 评论
2836 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2787 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
664浏览 1评论
903浏览 0评论
1023浏览 0评论
667浏览 0评论
497浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 02:28 , Processed in 1.050260 second(s), Total 83, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号