PC机串口与多个单片机红外无线通信的实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《工业控制计算机》!""#年$%卷第%期&’机串口与多个单片机红外无线通信的实现
周文举山东枣庄师专计算机系
(!%%$(")&’机与一台或多台单片机的通信系统中的数据通讯一般
采用的是串行通信方式。串行通信可采用有线与无线两种方式,作者根据单片机串行通信原理、脉冲编码调制)&’*+技术和红外无线通信技术,开发设计了单片机编解码红外无线通信接口。用该接口构成的多机通信系统,由于采用红外线为传输介质,而不是电缆线和电磁波,所以特别适用于那些不适合或不方便架设电缆线及电磁干扰较强的工作环境。本文就利用红外技术实现&’机与多台单片机无线串行通信的实现作一介绍。
!多机通信原理
在多机数据通信系统中,&’机与单片机之间的数据通信采
用一对多的主从模式,利用波长为,#"!-的远红外波通信。其原理示意图如图$。主机为&’机,从机选择*’./0$系列单片机,在&’机上用12345675328(9"编制一个主程序,负责发送从机地址、控制命令和从站之间的信息传输及调度,从站则负责收集现场信息,进行一定的数据处理,根据主站的要求返回数据,并执行主站发出的命令。主站&’机与从站之间的信息交换是通过*.’:--控件来实现。在采用主从式多机串行通信系统中,从机不主动发送命令或数据,一切都由主机控制。并且在一个多机通信系统中,只有一台&’机作为主机,各从机之间不能直接相互通讯,即使有信息交换也必须通过主机转发。由于发送和接收共用同一物理信道因此在任意时刻只允许一台从机处于发送状态,其余的从机不能发送。只有被主机呼叫的从机才能占用总线,
对主机做出应答。
图$&’机与一单片机串行通信
每台从机均分配有一个唯一的从机地址,主机与从机通信时,主机先呼叫某从机地址,唤醒被叫从机后,主、从两机之间进行数据交换,而未被呼叫的从机则继续进行各自的工作。主机发送的信息可以传到多个从机或指定的从机,各从机发送的信息只能被主机接收。单片机通过对多机通信控制位.*!进行置位和复位来控制正确接收地址和数据信号,在返回数据时通过设
;7<为"或$来区别返回的是数据还是地址。只有正确地完成
了接收和发送任务,才能触发有效的;=,>=信号,进而完成下一步的通信。接收时,检测>=是否建立起来,当>=为高电平,表示接收完毕。发送时,检测;=是否建立起来,当;=为高电平时说明
发送已经完成。而在主机上也要设立相应的多机通信机制,这一任务是通过改变*.’:--控件的.?@@2AB 属性中的奇偶校验位来实现的。发送和接收地址时置奇偶校验位为*,则主机在发送地址过程中发送的第,位;7<为$,而在接收地址时,只有接收到的第,位>7<为$时才能引起’:--CD?A@属性的变化,从而触发EA’:--事件;发送和接收数据时,置该位为.。则主机在发送数据过程中发送的第,位;7<为",而在接收数据时,只有接收到的第,位>7<为"时才能引起’:--CD?A@属性的变化,从而触发EA’:--事件。
在本设计中主机微机发送字符与接受字符均采用查询方式,发送前先读取通信或状态寄存器,查询发送保持寄存器空否?接收前先读取通信或状态寄存器,查询一帧数据收完否?从机采用中断方式,即接收到地址帧后就进行串行口中断申请,’&F 响应后,
进入中断服务程序。在通信协议中规定:"单片机以方式G 进行通信,一帧数据的第,位为“$”,代表地址帧,为“"”,代表数据帧。#设定通信波特率为,(""HI3;$地址帧为"$JKLLJ 代表!00台从机地址。%""J 是以地址帧形式发送的一条对所有从机起作用的控制命令,命令各从机恢复.*!M$,等待接收状态。
为了实现多机通信,所有发射电路的振荡频率和所有的接收电路的振荡频率都必须调整一致,为保证正常通信,防止自己发自己接,数据传送方向必须为半双工传送,收发器在发射时,必须屏蔽自己的接收中断,发射结束后再开放中断。
多机通信过程为:
$)主机*.’:--的属性.?@@2AB3M “,("",*,<,$”,所有从机的.*!M$,处于地址帧接收状态。
!)
主机发送一帧地址信息,其中包含<位地址,第,位为“$”,与所需的从机进行联络。
G )
从机接收到地址信息后,各自将其与自己的地址相比较;对于地址相符的从机使>=M",;7 .*!M",;=M$, 以等待接收主机随后发来的所有信息;对于地址不相符的从机仍保持.*!M$状态,对主机随后发来的数据不理睬直至发送新的一帧地址信息。 #)主机接收到地址后修改*.’:--的属性.?@@2AB3M “,("",.,<,$” ,然后进行地址校对,若地址校对通过,说明从机已经联络上,发送进一步的通信控制命令信号;地址校对出错,说明从机没有联络上,发送结束本次通信命令,修改*.’:-- "#$%&’(% ;N23I5I?O P?38O2H?35A?Q -?@N:P @:O?562R?@N?-53@?O 365D?-:P?8:--4A285@2:A @NO:4BN 3?O256I:O@3H?@Q??A &’5AP *46@2-28O:8N2I3HS 432AB 2ATO5O?P9’2O842@UIO:@:8:6UT6:Q 8N5O@5AP I5O@3:4O8?8:P?3:T 17(9"5AP *’.0$5O?563:IO?V 3?A@?P T:O 3?O2568:--4A285@2AB9 )*+,-&.$W2ATO5O?PU&’-28O:8N2IU-53@?O 5AP 365D?UQ2O?6?333?O2568:--4A285@2AB 摘要 本文介绍了用红外线实现上位&’机和多个单片机间的无线串行通信的新方法,给出了硬件线路图、通信协议和程序流程图及用17(9"和*’.0$汇编语言编写的部分串行通信程序。 关键词:红外线,&’机, 单片机,主从式,无线串行通信!,