河南中光學(xué)集團研發(fā)中心 呂瑞云
所謂串行通信,就是將數(shù)據(jù)和控制信息分成一個個的二進制位(bit),然后通過一個通信信道逐位按順序傳輸,實現(xiàn)計算機與外部設(shè)備之間的數(shù)據(jù)交換。串行通信和并口相比,速度慢,但傳送數(shù)據(jù)距離遠,因此,常應(yīng)用于需要長距離通信而對速度要求不太高的場合。串行通信因其占用硬件資源少、可有效降低成本、簡化通信設(shè)備,在電力通信、自動化控制等領(lǐng)域得到了廣泛應(yīng)用。
串行通信的通信方式有以下三種:單工、半雙工和全雙工。由于單工只能單向傳送數(shù)據(jù),不能反方向傳送數(shù)據(jù),所以應(yīng)用比較廣泛的通信方式是半雙工及全雙工。
目前,比較常用的全雙工通信模式有RS232、RS422等,比較常用的半雙工通信模式有RS485。
RS232由于推出時間早,傳送距離短、傳輸速度慢,而RS422采用非平衡發(fā)送器和差分接收器,所以允許比RS232使用更高的波特率,而且傳輸距離更遠。RS232的通信距離在15m左右,而RS422的通信距離可達1200m(波特率為90000bps時)。
RS485是RS422的變型。RS485是半雙工工作方式,不能同時發(fā)送或者接收。
串行通訊不但可以實現(xiàn)將單片機的數(shù)據(jù)傳輸?shù)接嬎銠C端,而且也能實現(xiàn)計算機對單片機的遠程控制。由于串行通信接線簡單,所以在遠距離傳輸中得到了廣泛的運用。
計算通信速度的單位稱為波特率(Baud Rate),波特率是指單位時間內(nèi)傳送的信息量,其單位為bps(bit/s)。51單片機串行端口一般有四種工作方式:方式0、方式1、方式2和方式3,方式0和方式2的波特率是固定的,方式1和方式3的波特率是可變的,由定時器T1的溢出率來控制。
表2
圖2 串行通信程序框圖
在選擇波特率時,首先要考慮系統(tǒng)的通信速率,然后考慮時鐘頻率及誤差。為了通信的穩(wěn)定,應(yīng)該選擇頻率誤差較小的時鐘。
在串行通信技術(shù)中,若要進行正常的通信,需共同遵守一個通信規(guī)則的約定,即通信協(xié)議,這個協(xié)議通常搭建在RS232、RS422等硬件線路基礎(chǔ)上。
通訊協(xié)議一般包含以下功能:信號的傳送與接收、差錯控制、順序控制等。
單片機、計算機之間有了協(xié)議約定,通信雙方才能明白彼此的意圖,以便進行下一步動作。在系統(tǒng)工作過程中,當單片機接收到計算機機數(shù)據(jù)信息后,便根據(jù)約定的協(xié)議,完成相應(yīng)的操作。
本協(xié)議的通訊格式見表1。
一幀協(xié)議的格式及示例見表2。
示例協(xié)議每幀共9個字節(jié),協(xié)議以十六進制表示。
STX:幀首,一幀協(xié)議的開始標志,串口接收數(shù)據(jù)時,總是先尋找?guī)?。幀首的排他性將有利于提高各通信?jié)點的接收效率;
ADDR:地址,多機通信時使用,可同時控制多臺設(shè)備,地址范圍為00-FF,對應(yīng)十進制為0-255。
SIZE:幀長,從幀首到幀尾一幀數(shù)據(jù)的字節(jié)數(shù);
COMMAND:指令碼,根據(jù)實際通信應(yīng)用需求,應(yīng)用I~2字節(jié)的通信指令碼;本例子的協(xié)議為溫度查詢協(xié)議,指令碼為“T”“A”,十六進制為54、41。
DATA:數(shù)據(jù)碼,跟在指令碼之后的信息場,是要傳送的數(shù)據(jù),并不是每一幀都有數(shù)據(jù)碼;
CHK:校驗,可根據(jù)應(yīng)用需求選擇不同的校驗方式,示例的校驗為前七個字節(jié)的異或值。
ETX:幀尾,一幀協(xié)議的結(jié)束標志。
51單片機有一個全雙工的串行通訊口,因此計算機和單片機之間可以方便地進行串口通訊。
當使用設(shè)備距離計算機超過15m時,需使用RS422或RS485的通信模式。
串口收發(fā)器采用TI公司的低功耗全雙工RS-422收發(fā)器芯片SN65HVD53,該收發(fā)器可在多種工作速率下實現(xiàn)交流性能,在RS-422總線上可支持256個器件。并具有15KV以上的ESD保護功能,能夠為RS-485及RS-422應(yīng)用提供強大可靠的接口。
計算機的串口通過RS232/RS422轉(zhuǎn)換器后,連接到SN65HVD53的TX、RX、DE、RE上,即可進行通信。串行通信硬件電路見圖1。
串行通信程序框圖見圖2。
本文對單片機的串行通信原理作了介紹,并設(shè)計了一套完整的通信協(xié)議、硬件電路、軟件程序示例等。本系統(tǒng)已廣泛應(yīng)用于邊海防視頻監(jiān)控系統(tǒng)、機場防衛(wèi)系統(tǒng)、車載轉(zhuǎn)臺系統(tǒng)等200余套產(chǎn)品中。實踐表明,按照此協(xié)議進行的通信數(shù)據(jù)準確,自適應(yīng)能力強,通信可靠,具有在相關(guān)領(lǐng)域推廣的價值。
[1]單片機通信技術(shù)與工程實踐[A].求是科技[C].北京:人民郵電出版社,2005,1.