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