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