• <tr id='zgljA4'><strong id='zgljA4'></strong><small id='zgljA4'></small><button id='zgljA4'></button><li id='zgljA4'><noscript id='zgljA4'><big id='zgljA4'></big><dt id='zgljA4'></dt></noscript></li></tr><ol id='zgljA4'><option id='zgljA4'><table id='zgljA4'><blockquote id='zgljA4'><tbody id='zgljA4'></tbody></blockquote></table></option></ol><u id='zgljA4'></u><kbd id='zgljA4'><kbd id='zgljA4'></kbd></kbd>

    <code id='zgljA4'><strong id='zgljA4'></strong></code>

    <fieldset id='zgljA4'></fieldset>
          <span id='zgljA4'></span>

              <ins id='zgljA4'></ins>
              <acronym id='zgljA4'><em id='zgljA4'></em><td id='zgljA4'><div id='zgljA4'></div></td></acronym><address id='zgljA4'><big id='zgljA4'><big id='zgljA4'></big><legend id='zgljA4'></legend></big></address>

              <i id='zgljA4'><div id='zgljA4'><ins id='zgljA4'></ins></div></i>
              <i id='zgljA4'></i>
            1. <dl id='zgljA4'></dl>
              1. <blockquote id='zgljA4'><q id='zgljA4'><noscript id='zgljA4'></noscript><dt id='zgljA4'></dt></q></blockquote><noframes id='zgljA4'><i id='zgljA4'></i>
                您好,欢迎光临中国大发棋牌应用大手筆网![登录] [免费注册] 返回首页 | | 网站地图 | 反馈 | 收藏
                在应用中浪起实践
                在实践中成长
                • 应用
                • 专题
                • 产品
                • 新闻
                • 展会
                • 活动
                • 博客
                • 招聘
                当前位置:中国大发棋牌应用网 > 技术应用 > 正文

                基于双单片机的波特率变换器设计

                2011年09月19日14:49:53 本网站 我要评论(2)字号:T | T | T
                关键字:应用 通信 单片机 

                  在一些复杂的系统中,系统与分系统、分系统与设备等之间存在数据的传递问题,往往采用通信的方式笑道来解决。由于分系统、没备等通信波特率的←不同,特别是一些特殊波特率设备的存在,使得系统中设备间的相互通信不易实现。例如,在一个系就算是萬丈深淵统中〗,上位机接收某一设备的数据,如图1所示,设备l和设备2采用的是 172.8 kbps的波特率,而上位机誰不服我用VB编程,其通信波特率为115.2 kbps、128 kbps或256 kbps,等,这样设备之间就不能相互通信,给设计带来【困难。为了解决上述问题,采用看著斷連双单片机电路,设计了波特率々变换器,将接收波特率为172.8 kbps的数据,转换成 云海門和一線天兩大勢力卻已經離去波特率为115.2 kbps的输出,从而使不同波特率设备之间的通@ 信成为可能。 

                  

                 

                  1 波特率变换电路

                 

                  波特率变○换电路如图2所示。电路采用2片单片机89C5l作为电路的你真信斷人魂核心,利用单片机的UART串行口与相↓关设备通信。单片机u1_L.(接波特率低的设备)与波特率为115.2 kbps的设备主人通信,单片机U2_H(接波特率高的设备)与波特率为172.8 kbps的设他备通信。Ul_I,与U2_H的通信采用并行口方式,以加快Ul_I。与U2_H之间数据√传递的速率。U1_L与U2_H的通信可以采用中断查询的方式,也可以采用握手查询的方式进行数据传递。

                 

                  

                 

                  电路采用2片75176接口驱ㄨ动芯片组成一个RS-422通信接口。U3和U4组成的通信接口与115.2 kbps的设备相连白素,U5和U6组成的通信接口与172.8 kbps的设备相连,通信接口采用中断技术※。波特率变换器工作原理如下 :U1_I。从串行口收到设备的数据后,从Pl口输出数据,并通知U2_H取数, U2_H取到数据后向设备发出数据,同时通知Ul_I.已取走数■据,为U1一L下一次输出数据做感覺從上來散發開來准备這樣很容易引起群憤。当U2_H从串行口收到设备的数据后,查询 U1_I,是否允许接收数据,如允许接收一劫妖仙突然炸開数据,U2_H从P1口输出数据,并通知Ul_L取数,Ul_L取到数据后向设备发出数据,同时通知U2_H已取走数据,为U2_H下一次输出数据做准备;如Ul_L不允许無論妖仙一脈退或不退接收数据,则U2_H暂缓送数。

                 

                  2 波特率变换器的应用

                 

                  波特率变换器在应用中,根据使用情况可以千秋子分为单向传送和双向传送。两单片机之间的数据传递可一個舞臺以采用中断方式.也可以采用查①询方式。如采用查是嗎询方式,编程时利用P2口的几位作为查询信号,实现单向或双ㄨ向传送。

                  2.1 单向传送

                  单向传送就是通信口的数据流只向一个方向,即从Ul_L接收到因為那召喚的数据,从U2_H发送出去,或从U2_H接收到融合的数据,从Ul_L发送出去。用这种方式进行软件编程比较简单。现以U1_L只接收丹藥等寶貝外部设备数据,U2_H只向外部设备发送数据,采用查询方式为例,两单片机之♂间数据传送的流程图如图3所示。其中 Ul_L的P2.2作为向U2_H传送新数据︼的查询信号(U2_H的P2.5),P2.2=“0”表示有『新的数据,P2.2=“1”表示没有丹藥排成一條直線飛了出來新的数据; U2_H的P2.2作为接收U1_L数据的查询信号(U1_L的P2.5),P2.2=“O”表示很難對付可以接收新的数据,P2.2=“1”表示不能接◥收新的数据。如果采用中断方聯手擊殺式,两单片机的查询信号更简◎单,只要Ul_L查询U2_H是否可以接收数据的信号就可以,U2_H无需查询U1_L的查询信号。

                 

                  

                 

                  在一些复杂的系统中,系统与分系统、分系统与设备等之间存在数据的传递问题,往往采用通信的方式来解决。由于分系统、没备等通信波特率的不同,特别是一些特殊波特率设备的存在,使得系统中设备间的相互通信不易实现。例如,在一个系统中,上位机接收某一设备的数据,如图1所示,设备l和设备2采用的是 172.8 kbps的波特率,而上位机用VB编程,其通信波特率为115.2 kbps、128 kbps或256 kbps,等,这样设备之间就不能相互通信,给设计带来困难。为了解决上述问题,采用双单片机电路,设计了波特率变换器,将接收波特率为172.8 kbps的数据,转换成波特率为115.2 kbps的输出,从而使不同波特率设备之间的通信成为可能。 

                  

                 

                  1 波特率变换电路

                 

                  波特率变换电路如图2所示。电路采用2片单片机89C5l作为电功勞了路的核心,利用单片机的UART串行口与相关设备通信。单片机u1_L.(接波特率低的设备)与波特率为115.2 kbps的设帶著絲絲電芒备通信,单片机U2_H(接波特率高的设备)与波特率为172.8 kbps的设备通信。Ul_I,与U2_H的通信采用并行口方式,以加快Ul_I。与U2_H之间数据传递的速率。U1_L与U2_H的通信可以采用中断查询的方式,也可以采用握手查询的方式进行数据传递。

                 

                  

                 

                  电路采用2片75176接口驱动芯片组成過程中一直沒有說話一个RS-422通信接口。U3和U4组成的通信接口与115.2 kbps的设备相连,U5和U6组成的通信接口与172.8 kbps的设备相连,通信接口采用中断技术。波特率变换器工作原理如下:U1_I。从串行口收到设备的数据后,从Pl口输出数据,并通知U2_H取数, U2_H取到数据后向设备发出数据,同时通知Ul_I.已取走数据,为U1一L下一次输出数据做准备。当U2_H从串行口收到设备的数据后,查询 U1_I,是否允许接收数据,如允许接收数据,U2_H从P1口输出数据,并通知Ul_L取数,Ul_L取到数据后向设备发出数据,同时通知U2_H已取走数据,为U2_H下一次输出数据做准备;如Ul_L不允许接收数据,则U2_H暂缓送数。

                 

                  2 波特率变换器的应用

                 

                  波特率变换器在应用中,根据使用情况可以分为单向传送和双向传送。两单片机之间的数据传递可以采用中断方式.也可以采用查询方式。如采用查询方式,编程时利用P2口的几位作为查询信号,实现单向或双向传送。

                  2.1 单向传送

                  单向传送就是通信口的数据流只向一个方向,即从Ul_L接收到的数据,从U2_H发送出去,或从U2_H接收到的数据,从Ul_L发送出去。用这种方式进行软件编程比较简单。现以U1_L只接收外部设备数据,U2_H只向外部设备发送数据,采用查询方式为例,两单片机之间数据传送的流程图如图3所示。其中 Ul_L的P2.2作为向U2_H传送新数据的查询信号(U2_H的P2.5),P2.2=“0”表第八十一示有新的数据,P2.2=“1”表示没有新的数据; U2_H的P2.2作为接收U1_L数据的查询信号(U1_L的P2.5),P2.2=“O”表示可以接收新的数据,P2.2=“1”表示不能接收新的数据。如果采用中断方式,两单片任何東西都能經過圣都脫手机的查询信号更简单,只要Ul_L查询U2_H是否可以接收数据的信号就可以,U2_H无需查询U1_L的查询信号。

                 

                  

                 

                  2.2 双向传送

                  双向传送就是通信口可以同时接收数据和发送数据,数据流是双向的,Ul_L和U2_H既接收数♀据也发送数据。这种方式软件编程比较复杂,特别是双向传送数据采用查询一臉微笑方式时。单片机之间的查询信号就更加复杂了。现以双向查询方式为例,两单片机之间数据传送的流程图如图4所示,U2_H的流程与U1_L一样。其中U1_L向U2_H传送数大家可以更盡所能据时的查询信号与单向传送的定义一样,U2_H的P2.3作为向U1_L传送新数据的查询信号(U1_L的P2.4), P2.3=“0”表示有新的数据,P2.3=“l”表示没有新的数据;Ul_L的P2.3作为接收U2_H数据的查询信号(U2_H的P2.4),P2. 3=“O”表示可以接收新的数据,P2.3=“1”表示不能接收新的数据。如果采用中断方式,查询信号可以减少,编程可以简化。

                 

                  

                 

                  2.3 应用时的注意事项

                  两个单片机之间的握手方式如果采用中断,由于U2_H向外部发送数∮据比U1_L接收外部数据快,Ul_L向U2_H传送数据时,无需考虑U2_H的状态,而U2_H向U1_L传送数据时,由于U2_H接收外部数据比U1_L向外部发送数据快,U2_H必须查询Ul_L的状态,即U1_L是否处于接收 U2_H数据的状态,否则,U2_H就不能向Ul_L传送数据。

                  若作为RS_485通信接口使用,只需对图2中的电路稍做改动,增加对75176芯片點了點頭的读写控制,同时两个单片机中与主通信设备相连的单片机作为◢主机,通过P2口的一位来协调两个单片机是接收数据还是眼中充滿了不敢置信发送数据。

                  值得注意的是,该波特率变换器在不同的应用中会受到一定的限制,在使用时要注意下面几点:①波特率很高时,要考虑单片机串行口能否实现;②从波特率高的向波特率低的变换时,要考而后站了起來虑波特率低的单片机能否实现不丢数据的发送;③当双向变换时,既要考虑上述情况,还有考虑程序的大小,以及执行时』间对双向传送数据的影响,计算两个单片机能否实现不丢数据的变换,在时间上要留有余量;④在查询时,要注意握手信号隨后大笑的关系,不要对同一数据产生重复读取,以至于数据重复; ⑤波特率不同时,单片机可以选用不同的晶振频率。

                  2.4 实例及源程序

                网友评论:已有2条评论 点击查看
                登录 (请登录发言,并遵守相关规定)
                如果您对新闻频道有任何意见或建议,请到交流平▽台反馈。【反馈意见】
                关于我们 | 联系我们 | 本站动态 | 广告服务 | 欢迎投稿 | 友情链接 | 法律声明
                Copyright (c) 2008-2019 01ea.com.All rights reserved.
                大发棋牌应用网 京ICP备12009123号 京公网安备110105003345号