找回密码
 注册
关于网站域名变更的通知
查看: 526|回复: 1
打印 上一主题 下一主题

基于nRF401的PC机无线收发模块的设计

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-7-16 19:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
基于nRF401的PC机无线收发模块的设计

3 h* }9 e5 w! j+ @* e, r% f
7 x$ k! M0 M$ P. n1 r8 w! o$ s# s4 k9 X* y
    摘要:介绍了基于nRF401无线收发芯片的PC机串口通信模块和PC机ISA插槽通信模块的设计思路实现方案。通过该两种模块可以方便地实现PC机数字信号的载频传播,使计算机之间的无线数据传输成为可能。
8 N1 f4 Y$ h. S    关键词:无线收发           nRF401 串口 ISA ActiveX# x0 h& P: w8 \! w' s$ J! e
很多PC机应用系统需要增加无线数据传输功能。本文基于挪威NORDIC公司较新推出的单片无线收发一体芯片nRF401,设计出两种无线通信模块:具有标准RS232C接口的串行模块和具有标准PC机ISA总线插槽的通信模块。系统由基于nRF401的高频头(UFH)和连接PC机的接收适配器(ADAPTER)两部分组成。7 j2 E3 Y* k& i
3 m4 V" r( g0 [
1 高频头设计
# T# O3 |& w% J/ e0 e9 x/ D1.1 主芯片nRF401简介* y1 D& `" V. y6 J/ n3 {) e
nRF401是工作于ISM频段(433MHz)的单片机无线收发一体芯片。它是目前集成度量高的无线数传产品,20脚双列直插封装。NRF401内部结构如图1所示,其中包含高频接收/发射、PLL合成、FSK调制/解调和双频切换等单元。
& C1 t& z! \) |" u" J: a该芯片有如下特点:FSK[5]频移键控(Frquency-ShiftKeying)调制方式,直接数据输入输出,抗干扰能力强,特别适合工业场合;采用DSS+PLL频率合成技术,频率稳定性极好;灵敏度高,达到-105dBm;无需曼彻斯特编码;工作速率较高可达20kbit/s;较大发射功率达+10dBm,开阔地的使用距离最远可达1000m;工作在ISM频率433MHz和双信道频率433.92MHz/434.33MHz,使用不需要申请许可证。9 b! F" W  g4 g: H+ m
1.2           考虑到相互干扰,在本系统中,高频头单独做成一块PCB板。
  H, J2 e, d) y) q/ \压控振荡器(VCO)外接22mH高品质因素电感;锁相环(PLL)外典型单端二阶段滤波器;振荡源输入接4MHz晶振;天线设计采用环形差分天线。和通信模块接口的电路采用四脚端口连接。其中,TXEN为发送使能,接低PCB板上的跳线。当接高电平时表明发送模式,反之为接收模式;CS为频率选择,也接PCB跳线,由高低电平选择所使用的频率;
: H- B# s' v4 ~PWN_UP为节电模式选择,采用同样处理方式;ANT1/ANT2为天线接口。这样,高频头仅以DOUT、DIN、GND和VCC与通信模块构成接口,使系统调试非常方便。% k4 a* w" S4 s7 S$ b- s

" a+ {) z' |, ~2 u: j' v2 通信适配器的设计
  g! q+ I* R  o: h) Y考虑到PC机应用的具体情况,本文提出了基于标准RS232C端口和基于ISA总线的两种设计思路。为防止高频电路对通信适配模块的干扰,两种情况下,通信适配器均单独设计PCB电路板。
2 q! Z- p: M* B" I2.1 RS232方案! G; g! J5 w/ J5 X7 G0 I1 K( ~) [
2.1.1 硬件实现# q. a, |0 P3 K7 s
RS232方案如图2所示,采用51系列芯片8052作为主控芯片,外加一片USART8251扩展8052的串行口,使之与PC机和高频头两端都具有通信的能力。其中,8251的RXRDY和TXRDY可以用一片或门相连接至8052的INT0端口(中断方式)或浮点(查询方式)。
! Y! G1 p: z- x系统时钟采用7.3728MHz的石英晶振,由8252的ALE、WR、RD组合产生1.2288MHz的脉冲信号,该信号作为8251的CLK时钟信号,同时利用一片可编程定时/计数器8253进行64分频以产生8251的收发时钟。
3 j5 \2 C" v' g& E0 h) c0 F
- K+ m5 v" ]/ f; Y& D9 _% a) F9 Q0 I在接收板端,高频头接收来自发送高频头的FSK调制电磁波,经过接口送到适配器的8052引脚RXD。运行于查询方式时,系统程序把数据从8052的TXD端向PC机传送,完成一次数据传输;在中断方式时,8251接收到数据后会激活系统中断服务例程完成同样的操作。发送板端与此类似,只不过经由8052的RXD、8251的TXD直接从高频头发送出去。) M9 `4 h9 u  N6 T7 X
在电路图中,8052的P27用来产生8251的片选信号,P26接8253的WR以产生写入数据或命令字的片选信号。本系统编址如下:8251的命令状态端口C=7FFFH,数据端口D=7FFEH,8253的工作方式控制字口为BFF3H,通道1地址为BFF0H。
: U: l9 @* y9 C  m8 o串行端口RXD/TXD与PC机串口连接时,选用一片MAXIM232芯片作TTL/RS232逻辑电平转换,如图3所示。3 u/ u" S8 }) J) o$ b9 p
2.1.2 软件及配置( ^& p# ?1 }* B6 ]: y/ Q# t4 P6 A
为平衡PC机端和8251端通讯的波特率,统一采用1200bps,设置如下:
8 `9 q  t1 J: @8 m# S可编程定时/计数器8253工作于方式3,即方波发生器方式。工作方式控制字写入36H,采用二进制计数;为达到64分频的目的,在通道1写入40H。
9 g7 O2 t9 N) D9 H  d8 ]% ^& G$ p* o通用同步/异步接收/发送器USART8251工作于异步方式,波特率1200bps,字符长度8位,一个停止位。考虑到系统的低波特率应该能满足传输的可靠性,故不设校验位。方式控制字为4EH,命令指令为15H。
3 H* H% D! j' M; Q1 i7 `5 t在8051自身串口设置中,采用方式1即9位UART,以T1作为收发时钟。为满足1200bps的传输波特率,经计算得:T1编程为方式2定时状态,即可重载方式,计数常数为查询方式通信适配器流程图如图4所示。
5 c. w+ E: C0 h) J" N2 N- u8 D* c2.2 ISA方案- X1 [: \* H% l% P, E( _- w
在应用系统设计中,ISA总线由于其技术的成熟性而被广泛应用。下面简单介绍本系统的ISA方案。8 }4 X/ ~- T8 N: H9 k! K: t
在该方案中,微型计算机作为系统中央处理设备,扩展一块UART8251使之具有串口通信的能力;74LS138用于不完整全地址译码,译码逻辑电路如图5所示;为避免对ISA总线操作造成影响,加了两片三态门电路74LS245进行总线隔离;在本系统中,去除了8952,仅使用一片USART8251和一片可编程定时/计数器8253,如图5和图6所示。$ j' ]1 E: c1 W$ a" U, U5 h1 o' H
74LS138的输出脚y0同时选通8251的CS片选引脚和总线隔离芯片74LS245的G脚;由于74LS245固有的选通逻辑,使用ISA总线的IOR选通该三态门的DIR端;74LS138的y7脚同时选通8253的WR和另一片74LS245的G端;8251的命令数据脚C/D接ISA总线的A0,8253的A0、A1脚接ISA总线的A0、A1。8253的输出通道0和通道1设定8251的收发时钟TXC/RXC和系统时钟CLK。
2 E5 H0 g  ?: M1 O8 R* {9 L% @/ ^; E
3 PC端通信软件设计
& G- X% n* P  S1 K2 b! G* V3.1 用8086汇编语言或C语言编制
: d' x2 J8 q$ y: a3 t7 M传统方式的PC端涉及的通信软件一般采用8086汇编语言或C语言提供的端口读写语句来实现,在本系统设计中,也可以这样做。& D: _# R# v( n: I" ?( W
PC机读写串口其实就是对机内UART8251的操作。在本系统中,为达到1200bps的通信波特率,可对相关寄存器作如下设置:首先在线控制寄存器设置通信波特率,低位端口3F8H设置为60H,高位端口3F9H设置为00H;然后采用查询方式编制软件,先在线状态寄存器查询相关位,再作端口操作。
- @6 ?6 C2 h9 j& \, w# B对ISA总线的访问也是通过端口来操作的,例如在上述译码方案中,端口分配如下:8251命令状态端口为331H,数据端口为330H;8253的通道0为33CH,通道1为33DH,命令口为33FH。只需使用IN或OUT指令进行操作。+ p9 _# [) u# E
3.2 在可视化环境下操作: p  ~& o. P1 K: O( i
微软的可视化平台VB、VC可以很方便地完成上述操作。下面简述在VC中使用ActiveX控件开发PC串行通信程序。! C: q" v' Z; T* ]$ n9 _

# S2 c6 y6 i3 I9 V- D7 |9 R& {在实际应用中,主要使用MSComm(MircosoftCommunicationControl)控件,它提供了事件驱动和查询两种方案。在事件驱动法中,每当有新字符到达端品,MSComm控件将触发OnComm事件。这样,应用程序坷通过检查MSComm控件的CommEvent属性采取相应的操作,它类似于汇编语言中的中断方式;较小的应用程序可以有采用查询法,也就是应用程序不断检查MSComm的CommEvent属性并采取相应操作,它类似于汇编中的查询法。. o/ c' O6 w( `$ d3 a1 ?8 f
本文介绍了基于nRF401芯片的汇编中的查询法。块的研制,提出了两套具体的应用方案和相应的软件编制方法。对本系统的适当扩展,可以广泛应用于遥控、遥测、无线抄表、门禁系统、工业数据采集、身份辨识和非接触式RF智能卡系统等[3],具有一定的实践意义。
; ]* j; N# A- `; Z5 b
( E; I; G- q- U) ~1 d. r! Z+ B
! f' F$ O* p' S2 b! c  I2 J; V' A

该用户从未签到

2#
发表于 2019-7-18 16:41 | 只看该作者
很实用的东东,谢谢楼主分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-12 03:53 , Processed in 0.078125 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表