一、什么是串口通訊,? 舉個(gè)例子,,人與人之間的溝通可通過書面文件,語音或視頻來交換信息,。那么設(shè)備和計(jì)算機(jī)之間用來交換信息的橋梁是什么呢,?那就是串口通訊。串口通信是以串行數(shù)字二進(jìn)制形式用不同方法交換數(shù)據(jù)的方式,。 二,、 傳輸模式的分類 傳輸模式可分為單工,半雙工和全雙工,。每種傳輸模式都有一個(gè)源(也稱為發(fā)送器)和目的地(也稱為接收器),。 在單工模式下,只有一個(gè)客戶端(發(fā)送方或接收方一次處于活動(dòng)狀態(tài)),。如果發(fā)送者發(fā)送,,接收者只能接收。例如:無線電和電視傳輸,。 在半雙工模式下,,發(fā)送方和接收方都是活動(dòng)的但不是一次,即如果發(fā)送方發(fā)送,,接收方可以接收但不能發(fā)送,。比如互聯(lián)網(wǎng),如果客戶端(電腦)發(fā)送網(wǎng)頁請(qǐng)求,,則Web服務(wù)器處理該應(yīng)用程序并發(fā)回該信息,。 在全雙工模式下,發(fā)送方和接收方都可以同時(shí)發(fā)送和接收,。最常用的就是智能手機(jī),。 三,、串行和并行通信之間的區(qū)別 串行通信一次只發(fā)送一位,需要更少的I/ O線,。因此,,占用更少的空間并且更能抵抗串?dāng)_。串行通信的主要優(yōu)點(diǎn)是整個(gè)嵌入式系統(tǒng)的成本變得便宜并且可以長(zhǎng)距離傳輸信息,。串行傳輸用于DCE(數(shù)據(jù)通信設(shè)備)設(shè)備,,如調(diào)制解調(diào)器。 并行通信一次發(fā)送一塊數(shù)據(jù)(8,,16或32位),。因此,每個(gè)數(shù)據(jù)位都需要一個(gè)單獨(dú)的物理I/ O線,。并行通信的優(yōu)點(diǎn)是速度快,,缺點(diǎn)是用了更多的I/O線。并行傳輸用于PC(個(gè)人計(jì)算機(jī)),,用于互連CPU(中央處理單元),,RAM(隨機(jī)存取存儲(chǔ)器),調(diào)制解調(diào)器,,音頻,,視頻和網(wǎng)絡(luò)硬件。 四,、 同步串行接口和異步串行接口 為了有效地處理串行設(shè)備,,時(shí)鐘是主要來源。每個(gè)串行設(shè)備的時(shí)鐘信號(hào)不同,,它分為同步協(xié)議和異步協(xié)議,。 ①同步串行接口 同步串行接口上的所有設(shè)備都使用單CPU總線來共享時(shí)鐘和數(shù)據(jù),數(shù)據(jù)傳輸更快,。優(yōu)點(diǎn)是波特率不會(huì)失配,。此外,接口組件需要更少的I / O線,。例如I2C,,SPI和CAN等。 I2C協(xié)議 I2C(內(nèi)部集成電路)是一種雙線雙向協(xié)議,,用于在同一總線上的不同設(shè)備之間交換數(shù)據(jù),。I2c使用7位或10位地址,允許最多連接1024個(gè)設(shè)備,。但是,,它需要時(shí)鐘信號(hào)來產(chǎn)生啟動(dòng)和停止條件。其優(yōu)點(diǎn)是它提供400 kbps的數(shù)據(jù)傳輸。它適用于車載通信,。 SPI協(xié)議 SPI(串行外設(shè)接口)協(xié)議以連續(xù)的流方式發(fā)送和接收數(shù)據(jù),,不會(huì)中斷,。建議該協(xié)議用于高速數(shù)據(jù)通信,。它可以提供的最大速度是10 Mbps。 與i2c不同,,SPI有4條線,。它們是MOSI(主輸出從機(jī)),MISO(主機(jī)輸出),,時(shí)鐘和從機(jī)選擇信號(hào),。從理論上講,我們可以連接無限數(shù)量的從設(shè)備,,實(shí)際上它取決于總線的負(fù)載電容,。 CAN協(xié)議 該協(xié)議專用于車輛系統(tǒng)或汽車。它是一種面向消息的協(xié)議,,用于多路電線以節(jié)省銅,。它是一種多主多串行總線,用于車輛自動(dòng)啟動(dòng)/停止,,防撞系統(tǒng)等應(yīng)用,。 ②異步串行接口 異步通信是以字符為單位進(jìn)行傳輸,字符之間沒有固定的時(shí)間間隔要求,,而每個(gè)字符中的各位則以固定的時(shí)間傳送,。 收發(fā)雙方取得同步是通過在字符格式中設(shè)置起始位和停止位的方法來實(shí)現(xiàn)。 具體來講,,在一個(gè)有效字符正式發(fā)送之前,,發(fā)送器先發(fā)送一個(gè)起始位,然后發(fā)送有效字符位,,在字符結(jié)束時(shí)再發(fā)送一個(gè)停止位,,起始位至停止位構(gòu)成一幀。停止位至下一個(gè)起始位之間是不定長(zhǎng)的空閑位,,并且規(guī)定起始位為低電平(邏輯值為0),,停止位和空閑位都是高電平(邏輯值為1),這樣就保證了起始位開始處一定會(huì)有一個(gè)下降沿,,由此就可以標(biāo)志一個(gè)字符傳輸?shù)钠鹗?。而根?jù)起始位和停止位也就很容易的實(shí)現(xiàn)了字符的界定和同步。 所以,,采用異步通信時(shí),,發(fā)送端和接收端可以由各自的時(shí)鐘來控制數(shù)據(jù)的發(fā)送和接收,這兩個(gè)時(shí)鐘源彼此獨(dú)立,,可以互不同步,。 異步串口通訊的數(shù)據(jù)格式 一個(gè)字節(jié)的數(shù)據(jù)要分8次傳輸,,由低位LSB到高位按順序一個(gè)字符一個(gè)字符地傳輸。 傳輸一個(gè)字符時(shí),,總是以“起始位(低電平0)”開始,,提示接收器數(shù)據(jù)傳輸即將開始; 數(shù)據(jù)位一般為8位一個(gè)字節(jié)的數(shù)據(jù)(也有6,、7位的情況),; 校驗(yàn)位用來判斷接收的數(shù)據(jù)位有無錯(cuò)誤。分為無校驗(yàn)位/奇校驗(yàn)/偶校驗(yàn),; 以“停止位(高電平1)”結(jié)束,,停止位后面是不定長(zhǎng)的空閑位,停止位和校驗(yàn)位都規(guī)定為高電平,。 異步協(xié)議適用于穩(wěn)定通信,。這些用于長(zhǎng)距離應(yīng)用。異步協(xié)議的示例是RS-232,,RS-422和RS-485,。 五、名詞理解 1.什么是波特率,? 波特率是以每秒比特?cái)?shù)的形式從發(fā)送器向接收器傳輸數(shù)據(jù)的速度,。一些標(biāo)準(zhǔn)波特率是1200,2400,,4800,,9600,57600,,115200,。 設(shè)備的兩端必須設(shè)置相同的波特率(移動(dòng)和筆記本電腦)。 波特率越高,,可以在更短的時(shí)間內(nèi)傳輸更多數(shù)據(jù),。 但由于接收器端的采樣頻率不匹配,建議使用最多115200作為安全限制,。 |
|