在我們的日常生活中凿滤,經(jīng)常會聽到串口線一詞。而對于網(wǎng)絡(luò)工程師來說况增,串口線更是工作時不可或缺的工具赞庶。
那什么是串口?和串口有關(guān)的串口通信又是什么澳骤?
在了解串口通信之前歧强,先了解一下幾個基本概念,主要是同步通信为肮、異步通信摊册、串行通信和并行通信。
在通信的線路上颊艳,有兩種狀態(tài)丧靡,分別是邏輯1(高電平)和邏輯0(低電平),傳輸?shù)臄?shù)據(jù)格式為起始位(start bit)籽暇、數(shù)據(jù)位(data bit)温治、奇偶校驗位(parity bit)、停止位(stop bit)戒悠。
同步通信熬荆,比特同步通信技術(shù),要求發(fā)送方和接收方具有同頻同相的同步時鐘信號绸狐。同步通信需要在傳送報文的最前端附加特定的同步字符卤恳,使收發(fā)雙方建立同步累盗,后續(xù)便在同步時鐘的控制下逐位發(fā)送、逐位接收突琳。
同步通信最大的特點便是高速度若债、大容量的數(shù)據(jù)傳送,但同步通信要求時鐘嚴格同步拆融,硬件復(fù)雜蠢琳,成本高。
同步通信應(yīng)用最廣泛的是在變電站镜豹,變電站的時鐘同步通信技術(shù)傲须,就是基于IEEE1588標(biāo)準(zhǔn)的PTP精確時鐘同步協(xié)議來進行的。(PTP趟脂,Precision Time Protocol泰讽,精確時鐘同步協(xié)議)。
異步通信昔期,指通信中兩個字符(8位字符)之間的時間間隔可以是不固定的已卸,而在一個字符內(nèi)各位的時間間隔是固定的。
簡單來說硼一,同步就是指發(fā)送方發(fā)出數(shù)據(jù)后累澡,等接收方發(fā)回響應(yīng)之后再發(fā)出下一個數(shù)據(jù)包;異步是指發(fā)送方發(fā)出數(shù)據(jù)后欠动,不等接收方發(fā)回響應(yīng),緊接著發(fā)送下一個數(shù)據(jù)包惑申。
串行通信具伍,使用一條數(shù)據(jù)線,將數(shù)據(jù)一位一位地依次傳輸圈驼,每一位數(shù)據(jù)占據(jù)一個固定的時間長度人芽。
并行通信,多比特數(shù)據(jù)同時通過并行線進行傳送绩脆。
了解完相關(guān)的基本通信概念萤厅,就是本篇文章的重點—串口和串口通信。
串口靴迫,即串行接口惕味,是一種可以將接受來自CPU的并行數(shù)據(jù)字符轉(zhuǎn)換為連續(xù)的串行數(shù)據(jù)流發(fā)送出去,同時可以將接受的串行數(shù)據(jù)流轉(zhuǎn)換為并行的數(shù)據(jù)字符提供給CPU的器件玉锌。
串口可以在使用一根線發(fā)送數(shù)據(jù)的同時用另一根線接收數(shù)據(jù)名挥,用來實現(xiàn)遠距離通信。
串口通信(Serial Communication)主守,指串口按位(bit)發(fā)送和接收字節(jié)禀倔,發(fā)送和接收到的每一個字符榄融,都是按一次一位傳遞的,每一位為1或者0救湖。
串口通信有四個最重要的參數(shù)愧杯,波特率、數(shù)據(jù)位鞋既、停止位和奇偶校驗力九。
常用的超級終端工具SecureCRT中就會經(jīng)常出現(xiàn)相關(guān)選項。
①波特率涛救,在信息傳輸通道中畏邢,攜帶數(shù)據(jù)信息的信號單元叫碼元,每秒鐘通過信道傳輸?shù)拇a元數(shù)被稱為碼元傳輸速率检吆,也就是波特率舒萎。
波特率,也是衡量符號傳輸速率的參數(shù)和傳輸通道頻寬的指標(biāo)蹭沛,用單位時間內(nèi)載波調(diào)制狀態(tài)改變的次數(shù)來表示臂寝。
舉個例子,如果數(shù)據(jù)傳送速率為240b/s摊灭,也就是每秒傳送240個字符咆贬,其中每個字符的格式為10位,包含1個起始位帚呼、1個停止位掏缎、8個有效數(shù)據(jù)位,則波特率為240baud(波特)煤杀,有效數(shù)據(jù)位的傳送速率比特率為240*10=2400bps(比特每秒)眷蜈。
1比特每秒是指每秒傳輸1比特(bit),baud(波特)代表每秒的調(diào)制數(shù)沈自。
②數(shù)據(jù)位酌儒,通信中真正有效的信息。數(shù)據(jù)位的位數(shù)由通信雙方共同約定枯途,一般是6位忌怎、7位或8位。
比如酪夷,標(biāo)準(zhǔn)的ASCII碼是7位(0~127)榴啸,擴展的ASCII碼是8位(0~255)。
③停止位晚岭,在一個數(shù)據(jù)包的最后插掂,用以標(biāo)志一個字符傳輸?shù)?b>結(jié)束。停止位有1位、1.5位辅甥、2位酝润。
同時,數(shù)據(jù)是在傳輸線路上定時的璃弄,并且每一個設(shè)備有自己的時鐘要销,停止位可以提供計算機校正時鐘同步的機會。
④奇偶校驗位夏块,串口通信中一種簡單的檢錯方式疏咐。串口會設(shè)置校驗位,用一個值確保傳輸?shù)臄?shù)據(jù)有偶數(shù)個或奇數(shù)個邏輯高位脐供。
奇校驗浑塞,需要確保傳輸?shù)臄?shù)據(jù)總共有奇數(shù)個邏輯高位;偶校驗政己,需要確保傳輸?shù)臄?shù)據(jù)總共有偶數(shù)個邏輯高位酌壕。
舉個例子,若傳輸?shù)臄?shù)據(jù)是011歇由,有兩個邏輯高位1卵牍,則奇校驗位就是1,確保數(shù)據(jù)一共有3個(奇數(shù))邏輯高位1沦泌;偶數(shù)校驗位是0糊昙,數(shù)據(jù)一共有2個(偶數(shù))邏輯高位1。