目標(biāo): 單片機(jī)串口通信理解(一)
1.通信的基本概念
通信的方式可以分為多種,按照數(shù)據(jù)傳送方式可分為串行通信和并行通信枪蘑。按照通信的數(shù)據(jù)同步方式唱歧,可分為異步通信和同步通信。按照數(shù)據(jù)的傳輸方向又可分為單工球及、半雙工和全雙工通信氧骤。在這個(gè)單片機(jī)上起的作用是單片機(jī)與上面模塊的通信和單片機(jī)之間的通信
1.1串行通信與并行通信
(1)串行通信
串行通信是指使用一條數(shù)據(jù)線,將數(shù)據(jù)一位一位地依次傳輸吃引,每一位數(shù)據(jù)占據(jù)一個(gè)固定的時(shí)間長度语淘。其只需要少數(shù)幾條線就可以在系統(tǒng)間交換信息,特別適用于計(jì)算機(jī)與計(jì)算機(jī)际歼、計(jì)算機(jī)與外設(shè)之間的遠(yuǎn)距離通信惶翻。
特點(diǎn):傳輸線少,長距離傳送時(shí)成本低鹅心,且可以利用電話網(wǎng)等現(xiàn)成的設(shè)備吕粗,但數(shù)據(jù)的傳送控制比并行通信復(fù)雜,速度慢
(2)并行通信
并行通信通常是將數(shù)據(jù)字節(jié)的各位用多條數(shù)據(jù)線同時(shí)進(jìn)行傳送旭愧,通常是8位颅筋、16位、32位等數(shù)據(jù)一起一塊一塊的傳輸输枯。
特點(diǎn):控制簡單议泵、傳輸速度快;由于傳輸線較多桃熄,長距離傳送時(shí)成本高且接收方的各位同時(shí)接收存在困難先口,抗干擾能力差。
1.2異步通信與同步通信
(1)異步通信
異步通信是指通信的發(fā)送與接收設(shè)備使用各自的時(shí)鐘控制數(shù)據(jù)的發(fā)送和接收過程。為使雙
方的收發(fā)協(xié)調(diào)碉京,要求發(fā)送和接收設(shè)備的時(shí)鐘盡可能一致厢汹。
異步通信是一種很常用的通信方式。異步通信在發(fā)送字符時(shí)谐宙,所發(fā)送的字符之間的時(shí)間
間隔可以是任意的烫葬。當(dāng)然,接收端必須時(shí)刻做好接收的準(zhǔn)備凡蜻。發(fā)送端可以在任意時(shí)刻開始發(fā)送字符搭综,因此必須在每一個(gè)字符的開始和結(jié)束的地方加上標(biāo)志,即加上開始位和停止位划栓,以便使接收端能夠正確地將每一個(gè)字符接收下來设凹。異步通信的好處是通信設(shè)備簡單、便宜茅姜,但傳輸效率較低(因?yàn)殚_始位和停止位的開銷所占比例較大)。
特點(diǎn):不要求收發(fā)雙方時(shí)鐘的嚴(yán)格一致月匣,實(shí)現(xiàn)容易钻洒,設(shè)備開銷較小,但每個(gè)字符要附加2~3位用于起止位锄开,各幀之間還有間隔素标,因此傳輸效率不高。
(2)同步通信
同步通信時(shí)要建立發(fā)送方時(shí)鐘對(duì)接收方時(shí)鐘的直接控制萍悴,使雙方達(dá)到完全同步头遭。此時(shí),傳輸數(shù)據(jù)的位之間的距離均為“位間隔”的整數(shù)倍癣诱,同時(shí)傳送的字符間不留間隙计维,即保持位同步關(guān)系,也保持字符同步關(guān)系撕予。發(fā)送方對(duì)接收方的同步可以通過兩種方法實(shí)現(xiàn)鲫惶。
1.3單工、半雙工與全雙工通信
(1)單工通信
單工是指數(shù)據(jù)傳輸僅能沿一個(gè)方向实抡,不能實(shí)現(xiàn)反向傳輸欠母。
(2)半雙工通信(RS485)
半雙工是指數(shù)據(jù)傳輸可以沿兩個(gè)方向,但需要分時(shí)進(jìn)行吆寨。
(3)全雙工通信(RS232)
全雙工是指數(shù)據(jù)可以同時(shí)進(jìn)行雙向傳輸赏淌。
1.4通信速率
衡量通信性能的一個(gè)非常重要的參數(shù)就是通信速率,通常以比特率(Bitrate)來示啄清。比特率是每秒鐘傳輸二進(jìn)制代碼的位數(shù)六水,單位是:位/秒(bps)。
如每秒鐘傳送240個(gè)字符,而每個(gè)字符格式包含10位(1個(gè)起始位缩擂、1個(gè)停止位鼠冕、8個(gè)數(shù)據(jù)位),這時(shí)的比特率為:
10位×240個(gè)/秒 = 2400 bps
比特率(不是波特率):定時(shí)器胯盯,或者說是計(jì)數(shù)器懈费。使用計(jì)數(shù)器對(duì)一個(gè)較穩(wěn)定的頻率信號(hào)計(jì)數(shù),比如使用11.0592M的晶振博脑,12分頻產(chǎn)生921600Hz的頻率信號(hào)憎乙。這個(gè)921600就是51的串口的時(shí)基。
比特率
是測(cè)量每秒可傳輸數(shù)據(jù)比特位(1或者0)數(shù)量的單位叉趣。例如泞边,Bitrate=1024bps是指每一秒鐘傳輸了1024個(gè)1或者0。
波特率
表示每秒鐘一個(gè)信號(hào)(從0變?yōu)?或從1變?yōu)?)或符號(hào)(連接的電壓疗杉、頻率或相位)在通信通道中改變狀態(tài)或發(fā)生變化的次數(shù)阵谚。例如,Baudrate=1024Bdps是指該通道每秒鐘最多改變狀態(tài)1024次烟具。
在上面的例子中梢什,波特率和比特率是相同的。但由于波特率可以被理解為單位時(shí)間內(nèi)傳輸符號(hào)的個(gè)數(shù)(傳符號(hào)率)朝聋,通過不同的調(diào)制方法可以在一個(gè)符號(hào)上負(fù)載多個(gè)比特信息嗡午。
所以如果該符號(hào)是二進(jìn)制的話,波特率在數(shù)值上等于比特率的冀痕,但是意義還是不同荔睹,一個(gè)是符號(hào),一個(gè)是比特言蛇。
為了提高通信速度僻他,更高級(jí)的調(diào)制解調(diào)器會(huì)使用能在一個(gè)符號(hào)中發(fā)送多個(gè)位的調(diào)制技術(shù)。如果通道在一個(gè)波中發(fā)送4個(gè)位腊尚,那么波特狀態(tài)只改變1次中姜。因此,在這種情況下比特率等于波特率的4倍跟伏。