• 无线投票表决器设计 篇章二

    硬件设计 

    4.1 主控模块设计 4.1.1串口传输

     

    由于本系统数据流量较小,因此主机采用串口技术进行数据的传输。串行通信是指通信的发送方和接收方之间数据信息的传输是在单根数据线上,以每次一个二进制位移动的,它的优点是只需一对传输线进行传送信息,因此其成本低 , 适用于远距离通信它的缺点是传送速度低,串口是计算机上一种非常通用设备通信的协议。大多数计算机包含两个基于RS232的串口。串口通信协议也可以用于获取远程采集设备的数据。

     

    串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据串口是计算机上一种非常通用设备通信的协议(不要与通用串行总Universal Serial Bus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。 4.1.2 主机与控制器通信

     

    PC机通过RS232串口与控制器通信,不仅要发送命令控制NRF401的工作模式 ,而且要接收从机上传的数据,如果采用PC机和NRF401直接相连的方式难以实现,因此设计了无线收发控制模块,它的功能是通过单片机控NRF401协调从机和主机之间的通信,用单片机控制nRF401向从机发送控制命令,同时接收从机上传的数据。

     

    RS-232-C标准最初是远程通信连接数据终端设备DTE(Data TerminalEquipment)与数据通信设备DCEData Communication Equipment)而制定的。因此这个标准的制定,并未考虑计算机系统的应用要求。但目前它又广泛地被借来用于计算机(更准确的说,是计算机接口)与终端或外设之间的近端连接标准。显然,这个标准的有些规定及和计算机系统是不一致的,甚至是相矛盾的。有了对这种背景的了解,我们对RS-232C标准与计算机不兼容的地方就不难理解了,RS-232C标准中所提到的发送接收,都是站在DTE立场上,而不是站在DCE的立场来定义的。由于在计算机系统中,往往是CPUI/O设备之间传送信息,两者都是DTE,因此双方都能发送和接收。

     

    RS-232标准(协议)的全称是EIA-RS-232C标准,其中EIA(Electronic Industry Association)代表美国电子工业协会,RSRecommended  Standard)代表推荐标准,232是标识号,C代表RS232的最新一次修改(1969),在这之前,有RS232BRS232A。它规定连接电缆和机械、电气特性、信号功能及传送过程。常用物理标准EIA�RS-232-CEIA�RS-422-AEIA�RS-423AEIA�RS-485 这里只介绍EIA�RS-232-C(简称232RS232)。 例如,目前在IBM PC机上的COM1COM2接口,就是RS-232C接口。 4.1.3 串行接口芯片

     

    由于MCS51单片机只有一个串口,系统扩展一片可编程串行接口芯片8251A,实现PC 机与单片机通信,单片机则通过串口与nRF401通信。

     

    8251A是一个通用串行输入/输出接口,可用来将86系列CPU以同步或异步方式与外部设备进行串行通信。它能将主机以并行方式输入的8位数据变换成逐位输出的串行信号;也能将串行输入数据变换成并行数据传送给处理机。由于由接口芯片硬件完成串行通信的基本过程,从而大大减轻了CPU的负担,被广泛应用于长距离通信系统及计算机网络。

     

    8251A是一个功能很强的全双工可编程串行通信接口,具有独立的双缓冲结构的接收和发送器,通过编程可以选择同步方式或者异步方式。8251A内部原理图如图9所示。

     

    第一部分是和CPU或者总线的接口部分,其中包括数据总线缓冲器、读/写控制逻辑。数据总线缓冲器用来把8251A和系统数据总线相连,在CPU执行输入/输出指令期间,由数据总线缓冲器发送和接收数据,此外,控制字,命令字和状态信息也通过数据总线缓冲器传输,读/写控制逻辑电路用来配合数据总线缓冲器工作。CPU通过数据总线缓冲器和读写控制逻辑向8251A 写入工作方式和控制命令字,对芯片初始化;向8251A写入要发送字符的数据代码,送到发送缓冲器进行并行到串行的转换,并且将接收的、已转换成并行代码的接收缓冲器中的字符数据读入CPU

     

    第二部分是数据格式转换部分,包括发送缓冲器、并行数据到串行数据转换的发送移位器,接收缓冲器和串行数据到并行数据转换的接收移位器,以及发送控制电路和接收控制电路。发送缓冲器把来自CPU的并行数据加上相应的控制信息,然后利用发送移位器把它们转换成串行数据发送出去。接收缓冲器接收串行数据,并利用接收移位器按照相应的格式将串行数据转换成并行数据。发送和接收控制电路控制并行数据与串行数据之间的转换以及串行数据的发送和接收。

     

    第三部分是和外设的连接部分,包括连接发送移位器的串行发送信号线TXD、连接接收移位器的串行接收信号线RXD;调制/解调控制电路和它的两对联络信号:数据终端请求发送RTS#和数据设备清除请求发送(允许发送)CTS#,数据终端准备好DTR#和数据设备准备好DSR# 这两对信号在8251A向从调制解调器或其他串行外设发送/接收数据的过程中进行握手联络。 825lA可以按全双工方式工作, 由发送器、接收器、数据总线缓冲存储器、读/写控制电路及调制/解调控制电路等5部分组成。 4.1.4 串口与PC机连接

     

    串口与PC机连接时,选用MAX232芯片,完成射频收发电路和计算机 RS232接口的电平转换以及数据收发功能。MAX232管脚图如图10所示。

     

    MAX232芯片中的上半部分电容C1 C1-C2 C2-V  V-是电源转换部分,在实际应用中,器件对电源噪声很敏感。因此,需要对地加去耦电容,电容C1C2C3C4都选用电解电容,电容值为0.1UF,可以提高抗干扰能力。连接电容时必须尽量靠近器件,注意极性。

     

    下半部分为发送与接收部分,实际应用中,T1INT2INR1OUTR2OUT可分别连接TTL/CMOS电平的51单片机的串行发送端TXD和接收端RXD;T1OUT T2OUTR1INR2IN分别连接至RS232电平的PC串行接收端和

     

    发送端。从计算机串行口输出的数据经MAX232C电平转换后送给单片机W77E516,单片机用软件将其转换成自定义编码由P口输出,送给发射模块。

     

    MAX232产品是由德州仪器公司(TI)推出的一款兼容RS232标准的芯片。该器件符合TIA/EIA-232-F标准,每一个接收器将TIA/EIA-232-F电平转换成5-V TTL/CMOS电平。每一个发送器将TTL/CMOS电平转换成TIA/EIA-232-F电平。满足或超过TIA/EIA-232-F 规范要求,符合ITU v.28标准,电池供电系统单5-V电源供电和41.0uF充电泵电容计算机外设包含2个驱动器和2个接收器 Modems低工作电流为8mA手持设备 2000-V ESD保护计算机有工业级和商业级的型号选择。

     

    该器件符合TIA/EIA-232-F标准,每一个接收器将TIA/EIA-232-F电平转换成5-V TTL/CMOS电平。每一个发送器将TTL/CMOS电平转换成TIA/EIA-232-F电平。MAX电平转换电路如图11所示。

     

    MAX232 芯片是德州仪器公司生产的低功耗、单电源双 RS232发送/接收器。适用于各种 EIA -232E V.28/ V.24 的通信接口。MAX232芯片内部有一个电源电压变换器,可以把输入的 5V电源变换成 RS-232C输出电平所需±10V电压所以采用此芯片接口的串行通信系统只要单一的 5V电源就可以。

    ://www.wendangxiazai.com/b-9ee76906a6c30c2258019e07.htmlparMAX232芯片是专门为电脑的RS-232标准串口设计的接口电路,使用 5v单电源供电,由于电脑串口rs232电平是-10v  10v,而一般的单片机应用系统的信号电压是TTL电平0  5v,MAX232就是用来进行电平转换的,该器件包含2驱动器、2接收器和一个电压发生器电路提供TIA/EIA-232-F电平。 4.1.5单片机的选择

     

    单片机的选择用华邦生产的W77E516 64KROM带有1KBRAM。其市场价格在20元左右,该CPU内部有64k程序存储器,不用扩展外部程序存储器,所以可以大大简化系统结构,缩小表决器的体积。在由单片机构成的实际测控系统中,最小应用系统往往不能满足要求,因此在系统设计时首先要解决系统扩展问题。 4.1.6 射频芯片

     

    无线射频芯片的设计是本系统的关键之处由于无线收发芯片的种类和数量比较多,无线收发芯片的选择在设计中是至关重要的,正确的选择可以减小开发难度,缩短开发周期,降低成本,更快地将产品推向市场。其选择从下面几个方面进行考虑。 (1)发射功率

     

    在同等条件下,为了保证有效和可靠的通信,应选发射功率较高的产品,NRF401的发射功率达到10dBm,是同类产品中最高的。 (2)功耗

     

    大多数无线收发芯片是应用在便携式产品上的,因此功耗也非常重要,一个根据需要选择功耗较小的产品,NRF401的工作电流在同等发射功率下是最低的。

     

    (3)能否连接串口

     

    采用串口传输的芯片,应用及编程非常简单,传送的效率很高,标称速率就是实际速率,因为串口对大家来说是再熟悉不过的了,编程也很便,nRF401是目前唯一可以与单片机串口直接连接的芯片。

     

    (4)收发芯片所需的外围元件数量

     

    nRF401外围元件仅10个左右,无需声表滤波器、变容管等昂贵的元件,只需要便宜且易于获得4 M Hz晶体 ,并且收发天线合一 

     

    当发送信息时,nRF401的引脚DIN输入的数字信号经PLL,VCO完成频率合成与调制,调制后的射频信号经PA功率放大后从天线端输出。当接收信息时,从天线接收到的射频信号经低噪高增益放大器 L NA 放大,再经过滤波,频率解调后转换成数字信号,从引脚DOUT输出。nRF401W77E516的信息交换是通过串行口和I/O来实现。串口TXD接引脚DIN,串行口RXD 接引脚 DOU T,实现数据交换。单片机的 I/OP1.5, P1.6,P1.7分别控制频道选择,低功耗模式,接收/发射控制,电路图参阅附录1所示。 4.2 表决器设计 4.2.1面板设计

     

    根据设计方案,表决器面板设臵 6个按键包括启动按键,表决按键(赞成,反对,弃权),确认按键,取消按键。4个状态指示灯。连接指示灯用于显示与主机之间的连接状况 ;等待指示灯提示用户主机端当前已经做好接收数据的准备 ,用户可以按下表决按键进行表决;选择指示灯提示用户当前的选择 ;结束指示灯用于提示用户已经将投票结果发送给主机。

     

    4.2.2硬件设计

     

    在表决器端同样利用 W77E516单片机接收从按钮传来的信号,并把信号通过 W77E516 单片机的串口传给nRF401射频收发芯片,经过调制和功率放大后把信号发送出去。经过主控器的分析与控制,将表决器的表决结果在屏幕上显示出来。表决器内部原理图如图13所示。

     

     

    表决器硬件设计主要是通过W77E516NRF401组成的无线收发模块组成,由单片机控制NRF401的工作模式,本系统由一台工业计算机作为主机,n台单片机作为从机(n=1234N),组成了通信网络。主机向众多从机发出地址,从机接收到该地址以后,均与本机地址相比较,若不相符则退出,相符则回发本机地址作为应答,主机接收到从机回发地址以后,立即向响应的从机发出命令,从机接收到命令,经判断后执行相应动作,数据传输均通过无线收发芯片nrf401完成。表决器硬件电路图如图14所示。

     

    软件设计

     

    通信协议是指为使通信双方能相互理解而制定的规则。由于无线收发模块的特性,通信可能在发射端与接收端之间受到外界的干扰而使数据发生错误,因此需要通信协议来保证接收端能正确接收到来自发射端的数据,并确定所接收数据是否为实际数据。本系统为点对多点无线通信,通信协议分为三层:

     

    第一层是物理层,物理层可以用专用的射频芯片如 nRF401来实现。 第二层是数据链路层,数据链路层提供可靠的无线数据传输。发送数据时,将应用层发来的较长的数据帧分为短的数据帧。

     

    第三层是应用层,通过应用程序进行一系列的初始化工作,显示当前所有连入网络的表决器的状态,决定哪些表决器可以参与表决。同时能够接收各个用户的表决结果,最后汇总,统计所有表决结果,并将最终表决结果显示到大屏幕上,并保存表决结果。制定无线通信协议的第一任务就是要能够识别数据传输过程中的干扰噪声和有效数据 ,通过测试发现在0xFF后跟 0x55,可以有效的避免噪声,

     

    因此,传输协议应该在数据包前的开始字节0xFF 后紧跟 ox55,即发送协议的开始应该以一个任意的字节 (因为第一个字节的数据在发送时丢失),然后是0xFF后紧跟一个0x55;接受协议规定只接受以0xFF后紧跟 0x55 开始的数据包。 首先使所有从机处于只能接收地址帧监听状态,主机先发送地址帧信息,等待各从机的响应,从机接收到地址帧后,各自将接收地址与本机地址相比较,相同的则接收主机随后发来的数据和命令;不同的则继续等待地址帧,对主机随后发出的数据帧和命令帧不予理睬,从机向主机回送本机地址作为应答信号,主机接收到后,与原发送地址相比较,相同则正式发送数据或命令信息,否则重新联络。PC机通过无线收发送控制器发送给从机的数据分三种:地址帧、数据帧和命令帧,从机上传的只有数据帧。 地址帧格式:

     

     

    地址帧可以用00表示,命令帧可以用01表示,数据帧可以用10表示。数据

     

    标识头用于表示一个新的数据块的开始,块长度用来保证数据不会丢失。校验和是将除标识头以外的数据相加确保设备接收的数据不会由于外界干扰而出错。 1)主机在初始化后向各个表决器发送地址帧,获取表决器状态信息。表决器端在收到主机端发来的帧后,提取数据帧中的地址信息,与存储器中的地址进行比较,若是当前表决器的地址,则将表决器状态以命令帧的形式发送给主机,其中应答内为“1”说明表决器已经连接入网络等待用户的表决,为“0”说明表决器还不能进行表决 。若不是当前表决器地址,则可以丢掉后续的数据。

     

    (2)表决器端把用户表决结果数据存入数据缓冲区中,当主机端发来地址帧”,在比对地址后,把表决结果以数据帧的格式发送给主机端。

     

    3)主机端接收数据帧”,对其进行校验,如果校验错误,则向当前表决器发送数据帧。校验正确则给表决器发送数据帧,数据已经正确接收,并继续查询下一个表决器。

     

    主控器的软件采用了程序结构化和功能模块化设计方法软件包括主程序及各子程序,程序是一个无限循环的查询程序它不停地查询串口有无来自的指令然后根据指令执行相应的各子PC程序包括表决器准备、表决器结束、表决器测试、主控器接收最大序号等,主程序流程图如图15所示。

     

     

     

    6主机和表决器收发的通讯过程

     

    1)表决器在上电复位之后,先进行初始化,然后将表决器状态信息存入数据缓冲区中准备发送给主机。

     

    2)主机上电后,完成串口,控制芯片和nRF401的初始化工作,接着向各个表决器请求表决器状态信息。

     

    3)表决器收到主机发来的请求表决器状态信号后,与本表决器的地址相比较,若不相符则不接收,相符合则回复表决器的状态给主机。

     

    (4)主机收到这个状态信息后,完成通信正常测试。表决器开始检测用户的表决。在规定的时间内将用户要表决结果存入数据缓冲区,等待发送。

     

    (5)主机在规定的时间内轮询各个表决器端,读取表决结果数据,如果收到的数据经过校验有错误 ,则通知表决器要求重新发送表决结果。

     

    7结束语

     

    本文介绍了基于nRF401芯片和W77E516单片机无线收发模块的学习,提出了软、硬件设计方案和相应的软件编制方法。本系统经过扩展可以广泛的应用在评奖、评审、选拔、投标活动中,具有一定实际意义。通过对无线表决系统的介绍

     

    与研究,我们可以认识到无线收发模块在无线表决系统中的重要性,整个系统中通过对主要芯片NRF401的各方面介绍,NRF401的接收与发射一体的特点,在无线收发过程中,通过NRF401与单片机的串口通信实现发射与接收一体化,因此整个过程中变得比较简化与便利。无限表决系统通过硬件与软件相互配合,实现无限表决功能。

     

    致谢

     

    时光如梭,转眼之间四年的学习生活在这次毕业设计后将画上圆满的句号。在这四年中,河南科技学院的各位领导、老师和同学对我的学习给予了很大的支持和帮助,我在这里不仅体会到了学习的乐趣,而且也感受到了集体给我的关怀,在此谨对各位表示衷心的感谢。论文结束之际,首先感谢我的指导老师,指导老师在本次设计中给予了殷切指导,在写论文的过程中,老师给我做了全程的分析与引导。指导老师知识渊博、治学严谨。他的认真与细致让我佩服。

     

    在本次设计中我不仅受到指导老师的学风、师德的熏陶,而且他的学识和风范、关怀和教诲,将成为我永远的精神动力,并相信这在我的人生中将会受益匪浅,同时也使自己的理论学习和实际联系得更加紧密。另外,在我设计期间,同学也给了我很多的帮助,在此我也向他们表达我真诚的谢意。

     

    最后,对所有在我学习生活中给予帮助和关心的人表示衷心的感谢!