單片機多機通信系統穩定性的研究
二、 通信協(xié)議的影響
在數據傳輸過(guò)程中,每組數據都包含著(zhù)特殊的意義,這就是通信協(xié)議。主、分機之間必須要有協(xié)議,這個(gè)協(xié)議是以通信數據的正確性為前提的,而數據傳輸的正確與否又完全決定于傳輸途徑,即傳輸線(xiàn)。也就是說(shuō)保證傳輸線(xiàn)狀態(tài)穩定與通信協(xié)議有直接聯(lián)系。
在主從式通信系統中,把數據傳輸過(guò)程劃分成幾個(gè)階段來(lái)分析,如圖(3)所示。在圖3a中,t0~t1為主機向分機發(fā)送命令時(shí)間。在t1時(shí)刻,主機將差動(dòng)輸出狀態(tài)轉換成輸入狀態(tài)。在圖3(b)中,t2之后的時(shí)間為分機向主機傳送數據階段,分機由輸入狀態(tài)變成輸出狀態(tài)。由于單片機多機通信大多采用異步串行方式,所以發(fā)送數據后的TI置位和接收機RI的置位時(shí)間有一段時(shí)間差,而且接收機在轉換到輸出狀態(tài)前要有一段圖3圖4數據處理時(shí)間,這兩段時(shí)間加起來(lái)不可忽視。在圖3(c)中,t1~t2即為這段時(shí)間,這時(shí)串行通信總線(xiàn)處于懸浮狀態(tài),極易拾取空間干擾信號,這時(shí)主機與另外的分機可能會(huì )同時(shí)得到一個(gè)無(wú)規則的數據,對分機而言可能是錯誤指令,造成錯誤反應。為此,在通信協(xié)議中加入延時(shí)階段,來(lái)解決此問(wèn)題。如圖4所示:在圖4(a)中,t1~t3為延時(shí)階段;在圖 4(b)中t2~t4為分機的延時(shí)階段;圖4(c)中,t1~t2為分機的反應時(shí)間。延時(shí)時(shí)間T的大小可按分機接到主機命令后的最長(cháng)反應時(shí)間的2倍來(lái)計算。
延時(shí)階段的作用可用圖4(c)來(lái)分析。在圖4(c)中,主機控制數據總線(xiàn)的時(shí)間由t1延長(cháng)到t3,分機的反應時(shí)刻為t2,但分機有效數據從延時(shí)后的 t4時(shí)刻開(kāi)始,這樣在通信總線(xiàn)上有主機和某臺分機同時(shí)控制的一段時(shí)間即t2~t3的時(shí)間段。由于主機和分機對總線(xiàn)控制的方向相同,所以不會(huì )對這兩臺機器的硬件造成影響,而且在t1~t2階段,總線(xiàn)一直處于低阻狀態(tài),不會(huì )產(chǎn)生噪聲,所以總線(xiàn)的抗干擾能力也加強了,提高了通信的穩定性。
評論