串口通信是非常重要的,首先了解下基礎(chǔ)
計(jì)算機(jī)串口通信基礎(chǔ)
- 隨著多微機(jī)系統(tǒng)的廣泛應(yīng)用和計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的普及,計(jì)算機(jī)的通信功能越越顯得重要。計(jì)算機(jī)通信是指計(jì)算機(jī)與外部設(shè)備或計(jì)算機(jī)與計(jì)算機(jī)之間的信息交換。
- 通信有并行通信和串行通信兩種方式。在多微機(jī)系統(tǒng)以及現(xiàn)代化測(cè)控系統(tǒng)中信息的交換多采用串行通信方式。
- 計(jì)算機(jī)通信是將計(jì)算機(jī)技術(shù)和通信技術(shù)的相結(jié)合,完成計(jì)算機(jī)與外部設(shè)備或計(jì)算機(jī)與計(jì)算機(jī)之間的信息交換?梢苑譃閮纱箢悾翰⑿型ㄐ排c串行通信。
- 并行通信通常是將數(shù)據(jù)字節(jié)的各位用多條數(shù)據(jù)線同時(shí)進(jìn)行傳送。(如下圖)
由上圖可知一下可以傳8位,跟并行的A/D
- 并行通信控制簡(jiǎn)單,傳輸速度快;由于傳輸線較多,長(zhǎng)距離傳送時(shí)成本高且接收方的各位同時(shí)接受存在困難。
- 串行通信是將數(shù)據(jù)字節(jié)分成一位一位的形式在一條傳輸線上逐個(gè)地傳送。(如下圖)
注意:先發(fā)的是低位
- 串行通信的特點(diǎn):傳輸線少,長(zhǎng)距離傳送時(shí)成本低,且可以利用電話網(wǎng)等現(xiàn)成的設(shè)備,丹數(shù)據(jù)的傳送控制比并行通信復(fù)雜。
- 串行通信的基本概念
一、異步通信與同步通信
1、異步通信
異步通信是以字符(構(gòu)成的幀)為單位進(jìn)行傳輸,字符與字符之間的間隙(時(shí)間間隔)是任意的,但每個(gè)字符中的各位是以固定的時(shí)間傳送的,即字符之間不一定有位間隔的整數(shù)倍的關(guān)系,但同一個(gè)字符內(nèi)的各位之間的距離均為“位間隔”的整數(shù)倍。
{先發(fā)起始位:低電平 表示起始位
異步通訊的特點(diǎn):不要求收發(fā)雙方時(shí)鐘的嚴(yán)格一致,實(shí)現(xiàn)容易,設(shè)備開(kāi)銷較小,但每個(gè)字符要附加2~3位用于起始位,各幀之間有間隔,因此傳輸效率不高。
2、同步通信
同步通信時(shí)要建立發(fā)送方時(shí)鐘對(duì)接受方時(shí)鐘的直接控制,使雙方達(dá)到完全同步。此時(shí),傳輸數(shù)據(jù)的位之間的距離均為“位間隔”的整數(shù)倍,同時(shí)傳送的字符間不留間隙,即保持位同步關(guān)系,也保持字符同步關(guān)系。發(fā)送方對(duì)接受方的同步可以通過(guò)兩種方法實(shí)現(xiàn)。
此時(shí),傳送的數(shù)據(jù)和控制信息都必須由規(guī)定的字符集(如ASCII碼)中的字符所組成。圖中幀頭為1個(gè)或2個(gè)同步字符SYN(ASCII碼為16H),SOH為序始字符(ASCII碼為01H),表示標(biāo)題的開(kāi)始,標(biāo)題中包含源地址,目標(biāo)地址和路由指示等信息。STX為文始字符(ASCII碼為02H),表示傳送的數(shù)據(jù)塊開(kāi)始。數(shù)據(jù)塊是傳送正文內(nèi)容,由多個(gè)字符組成。數(shù)據(jù)塊后面是組終字符ETB(ASCII碼為17H)或文終字符ETX(ASCII碼為03H)。然后是校驗(yàn)碼。典型的面向字符的同步規(guī)程如IBM的二進(jìn)制同步規(guī)程BSC。
面向位的同步格式:
二、串行通信的傳輸方向
1、單工
單工是指數(shù)據(jù)傳輸僅能沿著一個(gè)方向,不能實(shí)現(xiàn)反向傳輸。
2、半雙工
半雙工是指數(shù)據(jù)傳輸可以沿兩個(gè)方向,不能實(shí)現(xiàn)反向傳輸。
3、全雙工
全雙工是指數(shù)據(jù)可以同時(shí)進(jìn)行雙向傳輸。
三、信號(hào)的調(diào)制與解調(diào)
利用調(diào)制器(MODULATOR)把數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),然后送到通信線路上去,再由解調(diào)器(Demodulator)把從通信線路上收到的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)。由于通信是雙向的,調(diào)制器和解調(diào)器合并在一個(gè)裝置中,這就是調(diào)制解調(diào)器MODEM。
從上圖可以看出早期的計(jì)算機(jī)網(wǎng)絡(luò)通信就是利用串口RS-232C(是計(jì)算機(jī)串口電平)經(jīng)過(guò)MODEM
四、串行通信的錯(cuò)誤校驗(yàn)
1、奇偶校驗(yàn)
在發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)位尾隨的1位為奇偶校驗(yàn)位(1或0)。奇校驗(yàn)時(shí),數(shù)據(jù)中“1”的個(gè)數(shù)與校驗(yàn)位“1”的個(gè)數(shù)之和應(yīng)為奇數(shù);偶校驗(yàn)時(shí),數(shù)據(jù)中“1”的個(gè)數(shù)與校驗(yàn)位“1”的個(gè)數(shù)之和應(yīng)為偶數(shù)。接受字符時(shí),對(duì)“1”的個(gè)數(shù)進(jìn)行校驗(yàn),若發(fā)現(xiàn)不一致,則說(shuō)明傳輸數(shù)據(jù)過(guò)程中出現(xiàn)了差錯(cuò)。(注意:為了簡(jiǎn)單等會(huì)我寫的程序不加校驗(yàn)了)。
2、代碼和校驗(yàn)
代碼和校驗(yàn)是發(fā)送方將所發(fā)數(shù)據(jù)塊求和(或各字節(jié)異或),產(chǎn)生一個(gè)字節(jié)的校驗(yàn)字符(校驗(yàn)和)附加到數(shù)據(jù)塊末尾。接受方接受數(shù)據(jù)同時(shí)對(duì)數(shù)據(jù)塊(除校驗(yàn)字節(jié)外)求和(或個(gè)字節(jié)異或),將所得結(jié)果與發(fā)送方的“校驗(yàn)和”進(jìn)行比較,相符則無(wú)差錯(cuò),否則即認(rèn)為傳送過(guò)程中出現(xiàn)了差錯(cuò)。
這種校驗(yàn)是通過(guò)某種數(shù)學(xué)運(yùn)算實(shí)現(xiàn)有效信息與校驗(yàn)位之間的循環(huán)校驗(yàn),常用于對(duì)磁盤信息的傳輸,存儲(chǔ)區(qū)的完整性校驗(yàn)等。這種校驗(yàn)方法糾錯(cuò)能力強(qiáng),廣泛應(yīng)用與同步通信中。(異步很少用,應(yīng)用于同步通信,作為了解,在讀研究生時(shí)候?qū)W信息論能學(xué)到,這里我也就是一知半解,嘿嘿畢竟哥沒(méi)讀過(guò)研究生)。
五、傳輸速率與傳輸距離
1、傳輸速率
比特率是每秒鐘傳輸二進(jìn)制代碼的位數(shù),單位是:位/秒(bps).如每秒鐘傳送240個(gè)字符,而每個(gè)字符格式包含10位(1起始位,1停止位,8個(gè)數(shù)據(jù)位),這時(shí)的比特率為:
2、傳輸距離與傳輸速率的關(guān)系
串行通信接口標(biāo)準(zhǔn)
一、RS-232C接口
1、機(jī)械特性
RS-232C接口規(guī)定使用25針連接器,連接器的尺寸及每個(gè)插針的排列位置都有明確的定義。(陽(yáng)頭)
以前是25針的這個(gè)可不是電腦的并行口內(nèi)部是不一樣的,因?yàn)殡娔X的并行口里面是有一組數(shù)據(jù)線,有詢問(wèn)應(yīng)答等
上圖是25針的串口對(duì)應(yīng)現(xiàn)在9針的管腳定義。RTS
4、過(guò)程特性
5、RS-232C電平與TTL電平轉(zhuǎn)換驅(qū)動(dòng)電路
現(xiàn)在我們已經(jīng)集合了,就用MAX232直接能夠?qū)崿F(xiàn)TTL
6、采用RS-232C接口存在的問(wèn)題
1、傳輸距離短,傳輸速率低
3、抗干擾能力差
二、RS-422A接口(為了改進(jìn) RS-232C
三、RS-485接口
------------------------------------------------------------------------
以上為串口通訊的基礎(chǔ)部分。由于本人學(xué)識(shí)有限難免有錯(cuò)誤之處。。。