新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)的多機(jī)并行通訊系統(tǒng)

基于單片機(jī)的多機(jī)并行通訊系統(tǒng)

作者: 時(shí)間:2010-11-12 來(lái)源:網(wǎng)絡(luò) 收藏


2.3 應(yīng)用時(shí)的注意事項(xiàng)

兩個(gè)之間的握手方式如果采用中斷,由于U2_H向外部發(fā)送數(shù)據(jù)比U1_L接收外部數(shù)據(jù)快,Ul_L向U2_H傳送數(shù)據(jù)時(shí),無(wú)需考慮U2_H的狀態(tài),而U2_H向U1_L傳送數(shù)據(jù)時(shí),由于U2_H接收外部數(shù)據(jù)比U1_L向外部發(fā)送數(shù)據(jù)快,U2_H必須查詢(xún)Ul_L的狀態(tài),即U1_L是否處于接收U2_H數(shù)據(jù)的狀態(tài),否則,U2_H就不能向Ul_L傳送數(shù)據(jù)。

若作為RS_485通信接口使用,只需對(duì)圖2中的電路稍做改動(dòng),增加對(duì)75176芯片的讀寫(xiě)控制,同時(shí)兩個(gè)中與主通信設(shè)備相連的作為主機(jī),通過(guò)P2口的一位來(lái)協(xié)調(diào)兩個(gè)單片機(jī)是接收數(shù)據(jù)還是發(fā)送數(shù)據(jù)。

值得注意的是,該波特率變換器在不同的應(yīng)用中會(huì)受到一定的限制,在使用時(shí)要注意下面幾點(diǎn):

①波特率很高時(shí),要考慮單片機(jī)串行口能否實(shí)現(xiàn);

②從波特率高的向波特率低的變換時(shí),要考慮波特率低的單片機(jī)能否實(shí)現(xiàn)不丟數(shù)據(jù)的發(fā)送;

③當(dāng)雙向變換時(shí),既要考慮上述情況,還有考慮程序的大小,以及執(zhí)行時(shí)間對(duì)雙向傳送數(shù)據(jù)的影響,計(jì)算兩個(gè)單片機(jī)能否實(shí)現(xiàn)不丟數(shù)據(jù)的變換,在時(shí)間上要留有余量;

④在查詢(xún)時(shí),要注意握手信號(hào)的關(guān)系,不要對(duì)同一數(shù)據(jù)產(chǎn)生重復(fù)讀取,以至于數(shù)據(jù)重復(fù);

⑤波特率不同時(shí),單片機(jī)可以選用不同的晶振頻率。

2.4 實(shí)例及源程序

在實(shí)際使用中若碰到如圖1所示的情況,需要波特率變換器將坡特率為172.8kbps的通信數(shù)據(jù)轉(zhuǎn)換成波特率為115.2kbps,再向上位機(jī)傳送。實(shí)際使用的電路如圖2所示。在該實(shí)例中,為了防止局部時(shí)刻接收數(shù)據(jù)比發(fā)送快而丟失數(shù)據(jù),再U2_H單片機(jī)的程序中,加入了8個(gè)數(shù)據(jù)區(qū)作為接收數(shù)據(jù)存放緩沖區(qū)。

3 結(jié)論

通過(guò)長(zhǎng)時(shí)間的通信實(shí)驗(yàn)和實(shí)際應(yīng)用,設(shè)計(jì)的波特率變換器方案可行,通信可靠,沒(méi)有出現(xiàn)數(shù)據(jù)丟失的情況。在一些系統(tǒng)中,由于通信波特率特殊,在設(shè)備之間通信存在波特率不匹配時(shí),通過(guò)波特率變換器,可以實(shí)現(xiàn)不同波特率設(shè)備之間的通信。通過(guò)更改單片機(jī)的晶頻振率,可以滿足各種波特率(在單片機(jī)允許的范圍內(nèi))的轉(zhuǎn)換。

本文引用地址:http://m.butianyuan.cn/article/173148.htm

上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉