基于nRF4O1的无线排队机设计
扫描二维码
随时随地手机看文章
O 引言
随着人民群众的生活水平越来越高,排队机在银行、电信、医院、税务等窗口服务性行业使用越来越广泛。根据单片机串行通信原理,采用nRF401无线通信模块的开发了无线排队系统。无线排队系统不但具备原有线系统的所有功能,而且突破了有线排队系统在客户安装使用上的瓶颈等工作。该系统由基于NORDIC公司推出的单片无线收发一体芯片nRF401和基于51系列单片机两部分组成,实际运行取得了良好的效果。
1 系统组成
无线排队机系统如图l所示,该系统由发号主机、营业员叫号器、主显示屏、窗口显示屏、语音报号器等部分组成。系统的每个组成部分的数据传递采用无线收发模式,通过通信协议使之成为一个无线的排队系统。
2 无线通信原理
在无线排队机数据通信系统中,单片机之间的数据通信采用一对多的主从模式,利用ISM频段(433 MHz)无线通信。由发号主机负责发送从机(无线主显示屏、无线窗口显示屏、无线叫号器)地址、控制命令及数据,从机则负责收集现场信息,进行一定的数据处理,根据主机的要求返回数据,并执行主机发出的命令。在采用主从式多机串行通信系统中,从机不主动发送命令或数据,一切都由主机控制。由于发送和接收共用同一物理信道,因此在任意时刻只允许一台从机处于发送状态,只有被主机呼叫的从机才能占用总线,对主机作出应答。每台从机均分配有一个唯一的从机地址。主机与从机通信时采用轮流查询方式,主机先呼叫某从机地址,唤醒被叫从机后,主、从两机之间进行数据交换,而末被呼叫的从机则继续处于等待状态。主机发送的信息可以传到多个从机或指定的从机,各从机发送的信息只能被主机接收。为了完成上述功能需通过设置单片机的串口控制寄存器SCON来实现,在此将单片机设置在工作方式3,即SM0=1,SM1=1,且所有从机初始化SM2=1,使所有从机处于监听状态。通信仂议中的规定:
①单片机以方式3进行通信,一帧数据的第9位为"1"代表地址帧,为"0"代表数据帧;
②设定通信波特率为1200bps;
③主机与从机的联络过程:主机下发地址帧,被呼叫从机向主机返回地址帧,以便主机确定与从机联络上了。主机下发控制命令,从机根据命令或接收主机的数据块,或向主机发送数据块;
④无线通讯数据块格式如表所示。
Lead为引导字节:Leader=OxFF;
Header为数据包的命令字节由此确定数据包的类型,见表1;
Length为数据包包含的Length字节之后的所有字节的长度;
Data为数据包字节;
Checksum校验字节。
表1 命令字参数表
⑤示例:发送窗口分配的排队号码:
0xFF 0x34 Ox03 2个字节 SUM
2字节分配示意图
为了实现多机通信,所有发射电路的振荡频率和所有接收电路的振荡频率都必须一致。为保证正常通信,数据传送方向必须为半双工传送,收发器在发射时必须屏蔽自己的接收中断,发射结束后再开放。
3 硬件电路设计
nRF401是一个基于ISM频率为433MHz设计的单片UHF无线收发一体芯片。该芯片有如下特点:采用FSK(frequency shift keying)频移键控调制方式,具有非常少的外围元件,直接数据输入输出,抗干扰能力强,特别适合工业场合;采用DSS+PLL频率合成技术,频率稳定性极好;无需曼彻斯特编码;工作速度最高可达20 kbps;最大发射功率达+10dBm,使用距离最远可达1000m;工作在ISM频率433MHz和双信道频率433.92M Rz/434.33MHz下,使用不需要申请许可证。
单片机与nRF401应用连接如图3所示,在本系统中,为避免相互干扰,无线收发部分单独做在一块PCB板上,组成独立的无线收发模块。压控振荡器(VC0)外接22mH高品质因素电感;锁相环(PLL)外接典型单端二阶滤波器;振荡源输入接4MHz晶振;ANT1/ANT2为天线接口,天线设计采用PCB差分天线;CS为频率选择,通过拨盘开关S1选择,CS=0时选择433.92MHz,CS=1时选择434.33MHz,无论何种选择都要使主从机频率一致;PWR UP为节电控制选择,由单片机控制;DOUT为数据输出端口,与单片机串行口数据线RXD连接;DIN为数据输人端口,与单片机串行口数据线TXD连接;TXEN为发送/接收控制端口,由单片机控制,TXEN=0时nRF401接收无线信息,TXEN=1时nRF401发送无线信息。单片机与nRF401的电路连接如图3所示。本系统可编程实现频率的选择和节电模式的控制,为实际的应用提供了方便。实验证明,该无线收发模块的性能良好,全可以满足数据传输的需要。
窗口显示电路采用8块74LS595串行传输行数据和1块74HC154进行列选控制16块8*8LED点阵进行显示,采用SST公司(Silicon Storage Technology)的高速可编程闪存芯片ST28SF040存储显示字符库。具体电路简单在此不再列出。
4 通信软件设计
为了避免同频干扰的问题,系统采用分时TDMA(Time Division Multiple Access)技术,把系统发号主机与任意一台从机之问的通信采用时分的方式分开,发号主机通过扫描的方式与各台从机设备进行单台通信,这样系统中的发号主机与从机的通信方式就成为点对点的通信方式。程序采用C51单片机语言编写,其主控程序流程图如图4、图5所示
5 系统软件设计
一次完整的排队系统运作过程如下:主机等待着顾客按下取票按钮,键盘扫描到按下的键值后,根据取票类型生成排队号,并且读出当前系统时间、排队情况、业务类型等信息,打印成排队票。这时,如果某窗口的操作员服务完一位顾客,按下窗口键盘上的"下一位",这个信息就会传输给主机,主机根据当前排队隋况和业务情况,将排队序列上能服务的最近客户排队号回应给窗口,窗口键盘收到回应后,立刻更新键盘上的显示为要服务的排队号。同时,主机还把这个排队号发送给部分其他从机:窗口LED显示屏,让它也显示最新的排队号;语音播报从机,让其播报该排队号,以提醒顾客前来服务。发号主机按时间轮流查询各从机状态,并进行控制,其主要处理流程如图6。
6 结束语
基于nRF401的无线排队系统具有硬件电路简单、成本低廉、编程方便、通信可靠性高的特点,改善了以往有线排队系统安装线路复杂、故障不易排查等问题。本文提出的通信协议能够在多台单片机问安全地传送数据,实现了通信双方非接触式的数据传送,也可用于其他遥控、遥测的单片机应用场合。