單片機通信性能分析和評價方法
現(xiàn)代信息網絡技術的一個突出特點,就是使工業(yè)控制系統(tǒng)6中的所有設備連接成網,從而在一個核心軟件管理下工作(這個軟件可能是分布式的操作系統(tǒng),也可能是嵌入式操作系統(tǒng)),形成一個有機的整體。這種整體網絡方式的現(xiàn)代工業(yè)控制系統(tǒng)具有傳統(tǒng)獨立控制系統(tǒng)所無法比擬的先進性,不僅能極大地提高工業(yè)設備的生產效率,還可以大大提高系統(tǒng)的安全性和可靠性。
目前,為了實現(xiàn)網絡化系統(tǒng),工業(yè)設備都必須以網絡終端的形式出現(xiàn)在系統(tǒng)中,而這種網絡終端大多用單片機或數(shù)字信號處理來實現(xiàn)。由于工業(yè)控制系統(tǒng)設備的多樣性和分布性,智能模塊方式的單片機終端已經成為主流設備控制方式。隨著信息和電子技術的發(fā)展,各種工業(yè)控制系統(tǒng)網絡不斷改進,這就對單片機通信功能的要求不斷增加。特別是對各種現(xiàn)場總線技術中通信接口和通信協(xié)議,更是提出了新的通信要求:不僅能適應某一個通信協(xié)議,還希望能成為一種通信協(xié)議自動轉換的智能終端。因此,單片機通信功能是否滿足設計目標要求是必須設計中的一個關鍵問題。
在單片機應用技術中,需要有一個對單片機通信性能進行分析評價的理論方法,只有這樣才能解決對單片機通信性能進行評價和設計的問題。本文的目
本文從單片機通信接口的物理結構和固件特性兩個方面對單片機通信接口進行了分析,提出了接口電路物理性能分析模型和通信特性定量評價分析的參數(shù)。
一、串行通信口的物理特性
對單片機的通信性能可以從通信接口性能和軟件處理能兩個方面進行考慮。通信接口性能主要表現(xiàn)在與通信有關的電路物理性能上;而軟件處理性能則與單片機的指令系統(tǒng)和CPU性能直接有關,所以,軟件處理性能可以用單片機的固件特性來表示。
單片機串行通信接口一般分為兩種,一種是同步串行通信接口(SPI),另一種是異步串行通信接口(SCI)。SPI具有串行通信速度高的特點,但一般需要1條發(fā)送和1條接收串行數(shù)據(jù)通信線、1條通信目標選擇線和1條同步時鐘線,一共需要4條通信線(占用單片機的4個I/O引腳)。SOC雖然數(shù)據(jù)傳輸速度低于SPI,但一般只需要2條數(shù)據(jù)線和1條地線即可,也就是只需要3根通信線(占用單片機的3個引腳)。
SPI和SCI串行通信接口的基本電路結構如圖1和圖2所示。
從圖中可以看到SPI和SCI的物理結構有很大差別:SPI的通信速率和信號接收正確率由時鐘和接口物理特性決定;SCI的通信速率和信號接收正確率由物理接口和時鐘分頻率決定。
通信接口接收的是數(shù)字電平信號,因此,存在電平判別的問題。如果輸入電路的物理特性對輸入電平波形有影響,則會直接影響接收信號的正確性。因此,要求接收和發(fā)送電路的物理特性必須滿足波形的要求。
通信息的物理特性還與通信介質和連接狀態(tài)有關。圖3是通信接口電路和驅動電路之間的待效電路圖。
當數(shù)據(jù)傳輸速率遠小于電路電壓跟蹤速度時,可認為每一位數(shù)據(jù)的電平保護足夠長的時間。根據(jù)圖3可以得到輸出和輸入信號的階段響應:
u=U(1-e -at) (1)
式中,u是數(shù)字信號高電平,a=1/[R(C1+C2)]是上升時間常數(shù)。圖4是數(shù)字信號受到分布參數(shù)影響后的波形。
根據(jù)式(1)可知,在5V電源電壓條件下,通信信號電平幅度上升到判別電壓幅度(TTL高電平或CMOS高電平)所需時間是T=-R(C1+C2)ln0.46(對TTL電路)或T=-R(C1+C2)ln0.72(對CMOS電路)。如果信號的波特率為fb,為確保正確接收,信號上升時間應當為信號脈沖寬度的1/4~1/10。
由此,當數(shù)字信號為TTL電平時,要求單片機接口電路的分布參數(shù)范圍是
當數(shù)字系統(tǒng)為CMOS電平時,要求單片機接口電路的分布參數(shù)范圍是
如果單片機的物理分布參數(shù)已經確定,則式(2)和式(3)就是最高通信速率的限制條件。
通過以上分析可以看出,單片機通信接口的物理特性對通信性能直接影響,主要反映在接口電路分布參數(shù)對數(shù)字信號波形的影響,進而引起接口電平判別失誤。
二、單片機串行通信接口的固件特性
所謂單片機串行通信接口的固件特性,是指單片機串行通信接口的控制和支持硬件在串行通信時所具有技術特性。固件特性包括兩個方面問題,一個方面是軟件行為對硬件的要求條件,另一個是硬件電路所能提供的結構和功能特性。
1.單片機通信接口功能的控制方式
單片機串行通信接口功能的控制是在單片機內部硬件結構支持下的軟件操作。單片機是面向寄存器的工作方式,因此,對于通信接口的控制是通過一系列的寄存器操作實現(xiàn)的?;究刂撇襟E如下:
(1)設置必要參數(shù)(如通信速率、時鐘源、終端方式等);
(2)設置數(shù)據(jù)結構(對于異步通信口);
?。?)通過向發(fā)送寄存器寫入數(shù)據(jù),啟動發(fā)送/接收——讀取數(shù)據(jù)。
每一次通信(發(fā)送一個字節(jié))都需要重復最后一個步驟。
由此可知,單片機串行通信接口寄存器的操作會直接影響通信接口的功能和性能。由于單片機的每一步驟操作都是執(zhí)行1條指令,所以,單片機串行通信的真正發(fā)送時間,是向發(fā)送寄存器寫數(shù)據(jù)指令結束的時刻。
2.單片機串行通信接口基本固件特性
單片機串行通信接口一般包括發(fā)送數(shù)據(jù)、接收數(shù)據(jù)、發(fā)送時鐘、接收時鐘、線路監(jiān)測、碰撞處理、波特率設置、幀結構設備等。這些固件的特性有一個共同的特點,就是全部以寄存器為操作對象,并在每一個操作指令結束時執(zhí)行寄存器操作,通過寄存器的輸出電路實現(xiàn)相應的功能。由此可知,寄存器操作的特性,就是單片機串行通信接口固件的特性。
?。?)次序固定的固件特性。單片機串行以通信接口操作中,必須先進行相應的設置,才能實施通信。這種固定的次序是單片機串行通信接口的重要固件特性,如果忽略了這種次序特性,必然會導致通信失敗。
?。?)協(xié)議相關的固件特性。通信協(xié)議是有效利用單片機串行通信接口的基本保證之一。如果在單片機的
?。?)隱含協(xié)調性。所謂隱含協(xié)調性指隱含在通信指令集中的協(xié)議規(guī)定,如發(fā)送方與接收方的等待協(xié)議規(guī)定等。
由此,可以把單片機的固件特性用3個不同集合之交表示:設有通信接口的操作次序集合A、相關協(xié)議集合B和隱含規(guī)約集合C。A中的每一個元素都是一種正確的通信接口操作次序;B中每一個元素都是一種體現(xiàn)相關協(xié)議的通信接口操作要求;C中每一個元素都是一種隱含規(guī)約,則符合要求的通信接口控制固件必然是三者之交:
Y=A∩B∩C (4)
由此可知,要檢查單片機串行通信接口的基本固件特性,可以使用式(2)進行判別;如果不能滿足式(2),就表明單片機串行通信接口的固件特性有問題,會引起通信失效。
三、單片機通信性能分析
上述對單片機串行通信接口的物理特性和因件特性的分析,提供了單片機通信性能分析的基礎。單片機通信性能分析包括比特吞吐特性分析、有效性分析和數(shù)據(jù)安全性分析。
1.比特吞吐特性分析
比特吞吐特性,是指單片機執(zhí)行通信任務時單位時間內發(fā)送和接收的比特數(shù)目。比特吞吐特性不能用串行特性的波特率代替。比特吞特性不僅與波特率有關,更與單片機的固件特性有關。不同的通信協(xié)議會引起不同的通信操作,形成不同的操作固件。這種固件操作的有效性才是決定比特吞吐特性的關鍵。
在處理一組數(shù)據(jù)時,設通信協(xié)議處理數(shù)據(jù)的時間為tp,串行通信發(fā)送數(shù)據(jù)的時間為tc,則總的通信時間為t=tp+tc,因此,串行通信接口的比特吞吐特性可用如下函數(shù)表示:
ξ=fctc/(tp+tc) (5)
式中,ξ叫做比特吞吐系數(shù),fc是固件設備的串行通信波特率??梢?,在fc固定的條件下,要提高比特吞吐特性,就必須盡量減少tp+tc并增加tc。在tp=0這種極端情況下,比特吞吐系數(shù)才能等于通信波特率。
利用比特吞吐系數(shù)可以方便地檢查單片機的串行通信能力能否滿足應用系統(tǒng)的要求。例如,應用系統(tǒng)要求每秒鐘內傳輸10個字節(jié)數(shù)據(jù),相當于要求每秒鐘的比特吞吐系數(shù)為80K。這里K是數(shù)據(jù)幀格式有效系數(shù):異步串行通信中K>1;同步串行通信中K=1。根據(jù)這個要求,可以對應用系統(tǒng)所設計的軟件結構進行核實,如果不能滿足,則說明應用系統(tǒng)不能滿足對通信的要求,必須進行調整。
2.有效性分析
所謂有效性,是指對包括通信協(xié)議在內的整個通信過程的有效性。設單片機應用系統(tǒng)發(fā)送和接收的控制信息數(shù)據(jù)是隨機函數(shù)y=P(x),其中x代表單位時間內的數(shù)據(jù)傳輸量。Y的數(shù)據(jù)期望是:
σ=E[y]=E[P(x)] (6)
σ叫做單片機串行通信系統(tǒng)的數(shù)據(jù)傳輸有效性系數(shù)。顯然,在滿足應用系統(tǒng)功能的前提下,σ的值小,說明數(shù)據(jù)傳輸?shù)挠行愿?;反之,系統(tǒng)數(shù)據(jù)傳輸量大,說明系數(shù)控制信息的有效性差。必須注意,這里只考慮控制信息,并不包括必要的數(shù)據(jù)采集。
有效性分析就是要根據(jù)系數(shù)數(shù)據(jù)傳輸?shù)碾S機分布,估計系統(tǒng)數(shù)據(jù)的有效性??梢灾苯永糜行韵禂?shù)作為檢驗的標準。
此外,數(shù)據(jù)識別率也是衡量單片機通信效果和應用系統(tǒng)固件特性的一種重要參數(shù)。
數(shù)據(jù)識別率是指對接收到的數(shù)據(jù)語義理解的速度。設單片機接收到能代表完整意義的X個字節(jié)所需要的時間是tx,語義理解(翻譯和判別)需要的時間為tY,則數(shù)據(jù)識別率為
η=X/(tx+ty) (7)
數(shù)據(jù)識別率表示了單位時間內單片機通信的效果,η值越大,表明單片機的整體固件特性越好,通信效率越高。
3.數(shù)據(jù)完全性
數(shù)據(jù)安全性不僅與系統(tǒng)的串行通信物理特征有關,更主要的是與應用系統(tǒng)通信的固件特性有關,尤其是通信協(xié)議中的應用層,直接關系系統(tǒng)的數(shù)據(jù)安全。
數(shù)據(jù)安全性可以用通信穩(wěn)定性和數(shù)據(jù)識別率表示。
通信穩(wěn)定性與通信線路和物理接口的侵入和干擾狀態(tài)有關。對于單片機通信系統(tǒng)來說,當多個單片機采用串行連接的方法連接在1條總線上時,通信線路的侵入狀態(tài)由通信協(xié)議直接確定。如使用令牌通信方式時,基本上沒有侵入狀態(tài);但如果用客戶/服務器方式,侵入狀態(tài)將隨線路上單片機數(shù)量的增加而惡化。這是比較復雜的通信系統(tǒng)行為特性分析問題,本文不再分析。
結論
本文對單片機通信接口的物理特性和固件特性進行了分析。指出了確定物理接口電路分布參數(shù)的分析方法,并導出了在不考慮傳輸線電感(PCB板)條件下電路分布參數(shù)與保證通信可靠條件之間的關系計算公式。這些計算表明,接口電路的分布參數(shù)是限制通信速度的主要因素之一。
通信接口控制的固件特性對單片機通信性能有重要影響。通信接口控制的固件特性需要用通信接口操作次序集合A、相關協(xié)議集合B和隱含規(guī)約集合C的交集進行檢查。選擇一組合適的固件結構組合,以保證通信系統(tǒng)通信接口控制性能固件的正確性。
對單片機通信性能評價時,可以使用本文提出的單片機通信性能分析參數(shù)。這些參數(shù)是比特吞吐系數(shù)ξ、數(shù)據(jù)傳輸有效性系數(shù)σ和數(shù)據(jù)識別率η。利用這些參數(shù),可以定量地對單片機通信特性進行分析,同時也中以利用這些參數(shù)進行單片機的選擇和應用系統(tǒng)設計。
必須指出,單片機通信系統(tǒng)的安全特性也是一個重要的應用基礎,限于篇幅本文不再討論。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論