一、UART協(xié)議
1.UART簡介
通用異步收發(fā)器,是一種通用的串行、異步通信總線,該總線有兩條數(shù)據(jù)線,可以實現(xiàn)全雙工的發(fā)送和接收在嵌入式系統(tǒng)中常用于主機(jī)與輔助設(shè)備之間的通信。
2.UART接口
TXD:發(fā)送數(shù)據(jù);RXD:接收數(shù)據(jù);CTS:清除發(fā)送、允許發(fā)送;RTS:請求發(fā)送。
RTS/CTS協(xié)議即請求發(fā)送/允許發(fā)送協(xié)議,相當(dāng)于一種握手協(xié)議,主要用來解決"隱藏終端"問題。"隱藏終端"是指,基站A向基站B發(fā)送信息,基站C未偵測到A也向B發(fā)送,故A和C同時將信號發(fā)送至B,引起信號沖突,最終導(dǎo)致發(fā)送至B的信號都丟失了。"隱藏終端"多發(fā)生在大型單元中(一般在室外環(huán)境),這將帶來效率損失,并且需要錯誤恢復(fù)機(jī)制。當(dāng)需要傳送大容量文件時,尤其需要杜絕“隱藏終端”現(xiàn)象的發(fā)生。IEEE802.11提供了如下解決方案。在參數(shù)配置中,若使用RTS/CTS協(xié)議,同時設(shè)置傳送上限字節(jié)數(shù),一旦待傳送的數(shù)據(jù)大于此上限值時,即啟動RTS/CTS握手協(xié)議:首先,A向B發(fā)送RTS信號,表明A要向B發(fā)送若干數(shù)據(jù),B收到RTS后,向所有基站發(fā)出CTS信號,表明已準(zhǔn)備就緒,A可以發(fā)送,其余基站暫時“按兵不動”,然后,A向B發(fā)送數(shù)據(jù),最后,B接收完數(shù)據(jù)后,即向所有基站廣播ACK確認(rèn)幀,這樣,所有基站又重新可以平等偵聽、競爭信道了。
3.UART幀格式
空閑位:數(shù)據(jù)線在空閑的時候,數(shù)據(jù)線的狀態(tài)為高電平;
起始位:表示一次通信的開始;
數(shù)據(jù)位:串口協(xié)議規(guī)定,先發(fā)低位、后發(fā)高位;可以發(fā)送5-8位數(shù)據(jù);
校驗位:校驗數(shù)據(jù)的正確性,若數(shù)據(jù)位1的個數(shù)為偶數(shù),則檢驗位為1,否則為0;檢驗位只能發(fā)現(xiàn)錯誤,但不能糾錯。
停止位:表示一次通信的結(jié)束,數(shù)據(jù)線的狀態(tài)為高電平。
二、I2C協(xié)議
1.I2C物理層特點(diǎn)
(1)它是一個支持設(shè)備的總線。“總線”指多個設(shè)備共用的信號線。在一個 I2C 通訊總線中,可連接多個I2C通訊設(shè)備,支持多個通訊主機(jī)及多個通訊從機(jī)。
(2)一個I2C總線只使用兩條總線線路,一條雙向串行數(shù)據(jù)線(SDA) ,一條串行時鐘線(SCL)。數(shù)據(jù)線即用來表示數(shù)據(jù),時鐘線用于數(shù)據(jù)收發(fā)同步。
(3)每一個連接總線的設(shè)備都有一個獨(dú)立的地址,主機(jī)可以通過這個地址進(jìn)行選擇連接總線的設(shè)備與之通信。
(4)總線通過上拉電阻接到電源。當(dāng)I2C設(shè)備空閑時,會輸出高阻態(tài),而當(dāng)所有設(shè)備都空閑,都輸出高阻態(tài)時,由上拉電阻把總線拉成高電平。
(5)多個主機(jī)同時使用總線時,為了防止多個設(shè)備發(fā)送數(shù)據(jù)沖突,會利用仲裁方式?jīng)Q定由哪個設(shè)備占用總線。
(6)具有三種傳輸模式:標(biāo)準(zhǔn)模式傳輸速率為100kbit/s,快速模式為400kbit/s,快速模式+為1Mbit/s,高速模式下可達(dá)3.4Mbit/s,但目前大多I2C設(shè)備尚不支持高速模式。
(7)連接到相同總線的 IC 數(shù)量受到總線的最大電容 400pF限制。
2.字節(jié)格式
SDA數(shù)據(jù)線上的每個字節(jié)必須是8位,每次傳輸?shù)淖止?jié)數(shù)量沒有限制。每個字節(jié)后必須跟一個響應(yīng)位(ACK)。首先傳輸?shù)臄?shù)據(jù)是最高位(MSB),SDA上的數(shù)據(jù)必須在SCL高電平周期時保持穩(wěn)定,數(shù)據(jù)的高低電平翻轉(zhuǎn)變化發(fā)生在SCL低電平時期。
3.7-bit尋址數(shù)據(jù)傳輸
常見的傳輸方向及格式有如下兩種:
(1)主機(jī)寫數(shù)據(jù)——從機(jī)接收,傳輸方向不變
要進(jìn)行數(shù)據(jù)寫入從機(jī),首先主機(jī)發(fā)送START條件+從機(jī)地址+R/W=0(寫操作,設(shè)置為0),從機(jī)讀取到該地址后回應(yīng)ACK,主機(jī)將繼續(xù)發(fā)送需要操作的寄存器地址,從機(jī)繼續(xù)回應(yīng)ACK,表示從機(jī)準(zhǔn)備完畢。之后主機(jī)發(fā)送寄存器的數(shù)據(jù)(可能是1byte也可能是多個byte),每個byte從機(jī)都會回應(yīng)ACK,發(fā)送完成后,主機(jī)發(fā)送STOP命令,將總線釋放,完成寫操作。如下圖示意:
(2)主機(jī)讀數(shù)據(jù)-從機(jī)發(fā)送,傳輸方向改變
讀數(shù)據(jù)與寫數(shù)據(jù)相似,但讀數(shù)據(jù)會多幾個步驟。要想從從機(jī)讀取數(shù)據(jù),首先要知道從機(jī)地址以及寄存器地址,這兩部需要進(jìn)行讀操作來實現(xiàn),和寫操作一致。讀操作完成后,主機(jī)發(fā)送重復(fù)開始+從機(jī)地址+R/W=1(讀操作,設(shè)置為1),從機(jī)返回ACK,此時主機(jī)釋放SDA線轉(zhuǎn)由從機(jī)控制,主機(jī)讀取SDA總線進(jìn)行數(shù)據(jù)接收,每發(fā)送1 byte數(shù)據(jù),主機(jī)會響應(yīng)ACK表示還需要再接收數(shù)據(jù)。當(dāng)主機(jī)接收完想要的數(shù)據(jù)后,主機(jī)將會返回NACK,告訴從機(jī)釋放SDA總線,隨后主機(jī)發(fā)送STOP命令,將總線釋放,完成讀操作。如下圖示意:
4.SCL同步和SDA仲裁
SCL線的同步(時鐘同步)
SCL同步是由于總線具有線“與”的邏輯功能,即只要有一個節(jié)點(diǎn)發(fā)送低電平時,總線上就表現(xiàn)為低電平。當(dāng)所有的節(jié)點(diǎn)都發(fā)送高電平時,總線才能表現(xiàn)為高電平。正是由于線“與”邏輯功能的原理,當(dāng)多個節(jié)點(diǎn)同時發(fā)送時鐘信號時,在總線上表現(xiàn)的是統(tǒng)一的時鐘信號。這就是SCL的同步原理。
SDA仲裁
SDA線的仲裁也是建立在總線具有線“與”邏輯功能的原理上的。節(jié)點(diǎn)在發(fā)送1位數(shù)據(jù)后,比較總線上所呈現(xiàn)的數(shù)據(jù)與自己發(fā)送的是否一致。是,繼續(xù)發(fā)送;否則,退出競爭。SDA線的仲裁可以保證I2C總線系統(tǒng)在多個主節(jié)點(diǎn)同時企圖控制總線時通信正常進(jìn)行并且數(shù)據(jù)不丟失??偩€系統(tǒng)通過仲裁只允許一個主節(jié)點(diǎn)可以繼續(xù)占據(jù)總線。
三、SPI協(xié)議
1.SPI簡介
SPI是串行外設(shè)接口,也是一種單片機(jī)外設(shè)芯片串行擴(kuò)展接口,是一種高速、全雙工、同步通信總線,所以可以在同一時間發(fā)送和接收數(shù)據(jù),SPI沒有定義速度限制,通常能達(dá)到甚至超過10M/bps。
SPI有主、從兩種模式,通常由一個主模塊和一個或多個從模塊組成(SPI不支持多主機(jī)),主模塊選擇一個從模塊進(jìn)行同步通信,從而完成數(shù)據(jù)的交換。提供時鐘的為主設(shè)備(Master),接收時鐘的設(shè)備為從設(shè)備(Slave),SPI接口的讀寫操作,都是由主設(shè)備發(fā)起,當(dāng)存在多個從設(shè)備時,通過各自的片選信號進(jìn)行管理。
MISO:主設(shè)備數(shù)據(jù)輸入,從設(shè)備數(shù)據(jù)輸出;
MOSI:主設(shè)備數(shù)據(jù)輸出,從設(shè)備數(shù)據(jù)輸入;
SCLK:時鐘信號,由主設(shè)備產(chǎn)生;
CS/SS:從設(shè)備使能信號,由主設(shè)備控制,一主多從時,CS/SS是從芯片是否被主芯片選中的控制信號,只有片選信號為預(yù)先規(guī)定的使能信號時(高電位或低電位),主芯片對此從芯片的操作才有效。一主設(shè)備一從設(shè)備模式
SPI主設(shè)備和從設(shè)備都有一個串行移位寄存器,主設(shè)備通過向它的SPI串行寄存器寫入一個字節(jié)來發(fā)起一次傳輸。
SPI數(shù)據(jù)通信的流程
主設(shè)備發(fā)起信號,將CS/SS拉低,啟動通信。
主設(shè)備通過發(fā)送時鐘信號,來告訴從設(shè)備進(jìn)行寫數(shù)據(jù)或者讀數(shù)據(jù)操作(采集時機(jī)可能是時鐘信號的上升沿(從低到高)或下降沿(從高到低)),它將立即讀取數(shù)據(jù)線上的信號,這樣就得到了一位數(shù)據(jù)(1bit)。
主機(jī)(Master)將要發(fā)送的數(shù)據(jù)寫到發(fā)送數(shù)據(jù)緩存區(qū)(Menory),緩存區(qū)經(jīng)過移位寄存器(緩存長度不一定,看單片機(jī)配置),串行移位寄存器通過MOSI信號線將字節(jié)一位一位的移出去傳送給從機(jī),同時MISO接口接收到的數(shù)據(jù)經(jīng)過移位寄存器一位一位的移到接收緩存區(qū)。
從機(jī)(Slave)也將自己的串行移位寄存器(緩存長度不一定,看單片機(jī)配置)中的內(nèi)容通過MISO信號線返回給主機(jī)。同時通過MOSI信號線接收主機(jī)發(fā)送的數(shù)據(jù),這樣,兩個移位寄存器中的內(nèi)容就被交換。
SPI只有主模式和從模式之分,沒有讀和寫的說法,外設(shè)的寫操作和讀操作是同步完成的。若只進(jìn)行寫操作,主機(jī)只需忽略接收到的字節(jié)(虛擬數(shù)據(jù));反之,若主機(jī)要讀取從機(jī)的一個字節(jié),就必須發(fā)送一個空字節(jié)來引發(fā)從機(jī)的傳輸。也就是說,你發(fā)一個數(shù)據(jù)必然會收到一個數(shù)據(jù);你要收一個數(shù)據(jù)必須也要先發(fā)一個數(shù)據(jù)。
SPI時鐘特點(diǎn)
主要包括:時鐘速率、時鐘極性和時鐘相位三方面。
時鐘速率
SPI總線上的主設(shè)備必須在通信開始時候配置并生成相應(yīng)的時鐘信號。從理論上講,只要實際可行,時鐘速率就可以是你想要的任何速率,當(dāng)然這個速率受限于每個系統(tǒng)能提供多大的系統(tǒng)時鐘頻率,以及最大的SPI傳輸速率。
時鐘極性
根據(jù)硬件制造商的命名規(guī)則不同,時鐘極性通常寫為CKP或CPOL。時鐘極性和相位共同決定讀取數(shù)據(jù)的方式,比如信號上升沿讀取數(shù)據(jù)還是信號下降沿讀取數(shù)據(jù)。
CKP可以配置為1或0??梢愿鶕?jù)需要將時鐘的默認(rèn)狀態(tài)(IDLE)設(shè)置為高或低。極性反轉(zhuǎn)可以通過簡單的邏輯逆變器實現(xiàn)
CKP = 0:時鐘空閑IDLE為低電平 0;
CKP = 1:時鐘空閑IDLE為高電平1。
時鐘相位
根據(jù)硬件制造商的不同,時鐘相位通常寫為CKE或CPHA。顧名思義,時鐘相位/邊沿,也就是采集數(shù)據(jù)時是在時鐘信號的具體相位或者邊沿;
CKE = 0:在時鐘信號SCK的第一個跳變沿采樣;
CKE = 1:在時鐘信號SCK的第二個跳變沿采樣。
4.SPI四種MODE
根據(jù)SPI的時鐘極性和時鐘相位特性可以設(shè)置4種不同的SPI通信操作模式,它們的區(qū)別是定義了在時鐘脈沖的哪條邊沿轉(zhuǎn)換輸出信號,哪條邊沿采樣輸入信號,還有時鐘脈沖的穩(wěn)定電平值(就是時鐘信號無效時是高還是低),詳情如下所示:
Mode0:CKP=0,CKE =0:當(dāng)空閑態(tài)時,SCK處于低電平,數(shù)據(jù)采樣是在第1個邊沿,也就是SCK由低電平到高電平的跳變,所以數(shù)據(jù)采樣是在上升沿(準(zhǔn)備數(shù)據(jù)),(發(fā)送數(shù)據(jù))數(shù)據(jù)發(fā)送是在下降沿。
Mode1:CKP=0,CKE=1:當(dāng)空閑態(tài)時,SCK處于低電平,數(shù)據(jù)發(fā)送是在第2個邊沿,也就是SCK由低電平到高電平的跳變,所以數(shù)據(jù)采樣是在下降沿,數(shù)據(jù)發(fā)送是在上升沿。
Mode2:CKP=1,CKE=0:當(dāng)空閑態(tài)時,SCK處于高電平,數(shù)據(jù)采集是在第1個邊沿,也就是SCK由高電平到低電平的跳變,所以數(shù)據(jù)采集是在下降沿,數(shù)據(jù)發(fā)送是在上升沿。
Mode3:CKP=1,CKE=1:當(dāng)空閑態(tài)時,SCK處于高電平,數(shù)據(jù)發(fā)送是在第2個邊沿,也就是SCK由高電平到低電平的跳變,所以數(shù)據(jù)采集是在上升沿,數(shù)據(jù)發(fā)送是在下降沿。
5.SPI優(yōu)缺點(diǎn)
優(yōu)點(diǎn):
無起始位和停止位,因此數(shù)據(jù)位可以連續(xù)傳輸而不會被中斷;
沒有像I2C這樣復(fù)雜的從設(shè)備尋址系統(tǒng);
數(shù)據(jù)傳輸速率比I2C更高(幾乎快兩倍);
分離的MISO和MOSI信號線,因此可以同時發(fā)送和接收數(shù)據(jù);
極其靈活的數(shù)據(jù)傳輸,不限于8位,它可以是任意大小的字;
非常簡單的硬件結(jié)構(gòu)。從站不需要唯一地址(與I2C不同)。從機(jī)使用主機(jī)時鐘,不需要精密時鐘振蕩器/晶振(與UART不同)。不需要收發(fā)器(與CAN不同)。
缺點(diǎn):
使用四根信號線(I2C和UART使用兩根信號線);
無法確認(rèn)是否已成功接收數(shù)據(jù)(I2C擁有此功能);
沒有任何形式的錯誤檢查,如UART中的奇偶校驗位;
只允許一個主設(shè)備;
沒有硬件從機(jī)應(yīng)答信號(主機(jī)可能在不知情的情況下無處發(fā)送);
沒有定義硬件級別的錯誤檢查協(xié)議;
與RS-232和CAN總線相比,只能支持非常短的距離。
CAN協(xié)議
1.CAN簡介
CAN總線簡稱——控制器局域網(wǎng)絡(luò),是一種串行的差分總線,并且這種差分總線只傳遞數(shù)據(jù)信息。CAN總線已經(jīng)是國際上的一種通信標(biāo)準(zhǔn)(ISO11519),它具有高可靠性、良好的錯誤檢測能力、總線仲裁等優(yōu)良特點(diǎn),被廣泛應(yīng)用在汽車控制系統(tǒng)、環(huán)境惡劣場所、電磁輻射強(qiáng)、干擾性大等場所中。
CAN是一種異步的通信方式,它的通訊不需要時鐘進(jìn)行同步,線路上只有CAN_H、CAN_L兩根通信線,數(shù)據(jù)以差分信號的方式進(jìn)行傳輸。
CAN的閉環(huán)通信網(wǎng)絡(luò)
CAN控制器 -- CAN收發(fā)器 -- 濾波電路
最高速度可達(dá)1Mbps,總線最大長度為40m;總線的兩端要求各有一個120歐姆的電阻。
CAN的開環(huán)通信網(wǎng)絡(luò)
最高的通信速度為125Kbps,是一種低速通信的連接方式;最大的通信距離可達(dá)1Km;兩根總線獨(dú)立,且要求每根總線上要串聯(lián)一個2.2K歐姆的電阻。
CAN總線
CAN總線的數(shù)據(jù)傳輸使用的是差分信號的方式進(jìn)行的。這兩根線中的信號振幅相等,相位相反,邏輯1 和 邏輯0 通過兩根信號線的電壓差值表示出來。在CAN的應(yīng)用中,邏輯1也稱為隱性電平,邏輯0也稱為顯性電平。
CAN總線上,在同一個時刻只能處于隱性電平(邏輯1)或者顯性電平(邏輯0)中的一個狀態(tài),且顯性電平相比隱性電平具有優(yōu)先權(quán)。比如:CAN總線上有兩個節(jié)點(diǎn),在同一個時刻,一個輸出隱性電平,一個輸出顯性電平,這個時候總線上是顯性電平狀態(tài)。
CAN 的位同步
在CAN中使用了 “位同步” 的方式來抵抗干擾、吸收誤差,實現(xiàn)對總線電平信號的正常采樣,確保通訊正常進(jìn)行。同時,這個位同步也是用于調(diào)節(jié)通信過程中的采樣點(diǎn)的。
CAN實現(xiàn)位同步的過程中,會把每一個數(shù)據(jù)位的時序進(jìn)行分解,會分解成SS段、PTS段、PBS1段、PBS2段,這四個段加起來就是一個CAN的數(shù)據(jù)位長度。分解后的最小時間單位為Tq。它們分別如下:
同步段(SS段):該段的大小固定為1Tq。
當(dāng)總線上的節(jié)點(diǎn)在SS段的范圍內(nèi)檢測到總線上信號發(fā)生了跳變,就認(rèn)為該節(jié)點(diǎn)與總線的時序是同步的。當(dāng)節(jié)點(diǎn)與總線同步時,在采樣點(diǎn)采集到的總線電平即可以確認(rèn)為該位的電平。
傳播時間段(PTS段):該段的大小為 1Tq ~ 8Tq。
這個時間段是用于補(bǔ)償網(wǎng)絡(luò)的物理延時時間。是總線上輸入比較器延時和輸出驅(qū)動器延時總和的兩倍。
相位緩沖段1(PBS1):該段的大小為 1Tq ~ 8Tq。
主要用來補(bǔ)償邊沿階段的誤差,它的時間長度在重新同步的時候可以加長。
相位緩沖段2(PBS2):該段的大小為 1Tq ~ 8Tq。
是用來補(bǔ)償邊沿階段誤差的,它的時間長度在重新同步時可以縮短。
上圖是對CAN通信中的邏輯0進(jìn)行分解的說明示意圖。圖中就表示每個數(shù)據(jù)位的長度為19Tq(SS 段占 1Tq,PTS 段占 6Tq,PBS1 段占 5Tq,PBS2 段占 7Tq),信號的采樣點(diǎn)位于 PBS1 段與 PBS2 段之間,通過控制各段的長度,可以改變采樣點(diǎn)的位置。
CAN的幀種類和用途
CAN總線的數(shù)據(jù)幀
數(shù)據(jù)幀一般由 7 個段構(gòu)成,即:
(1) 幀起始。表示數(shù)據(jù)幀開始的段。
(2) 仲裁段。表示該幀優(yōu)先級的段,即ID信息。
(3) 控制段。表示數(shù)據(jù)的字節(jié)數(shù)及保留位的段。
(4) 數(shù)據(jù)段。數(shù)據(jù)的內(nèi)容,一幀可發(fā)送 0~8 個字節(jié)的數(shù)據(jù)。
(5) CRC 段。檢查幀的傳輸錯誤的段。
(6) ACK 段。表示確認(rèn)正常接收的段。
(7) 幀結(jié)束。表示數(shù)據(jù)幀結(jié)束的段。
RS485簡介
RS485是通信物理層的標(biāo)準(zhǔn)接口,一種信號傳輸方式,OSI(開放系統(tǒng)互連)模型的第一級。創(chuàng)建 RS-485 是為了擴(kuò)展 RS-232 接口的物理功能。RS485采用半雙工工作方式。
關(guān)鍵特性:
(1)接口電平低,不易損壞芯片。RS485的電氣特性:邏輯“1”以兩線間的電壓差為+(2–6)V表示;邏輯“0”以兩線間的電壓差為-(2–6)V表示。接口信號電平比RS232降低了,不易損壞接口電路的芯片。
(2)傳輸速率高。最高傳輸速率為:10Mbps
(3)抗干擾能力強(qiáng)。RS485接口是采用平衡驅(qū)動器和差分接收器的組合,抗共模干擾能力增強(qiáng),即抗噪聲干擾性好。
(4)傳輸距離遠(yuǎn),支持節(jié)點(diǎn)多。RS485總線最長可以傳輸1200m以上(速率≤100Kbps)一般最大支持32個節(jié)點(diǎn),如果使用特制的485芯片,可以達(dá)到128個或者256個節(jié)點(diǎn),最大的可以支持到400個節(jié)點(diǎn)。
2.RS232簡介
RS232接口被廣泛用于計算機(jī)串行接口外設(shè)連接。連接電纜和機(jī)械、電氣特性、信號功能及傳送過程。
RS232特點(diǎn):
(1)接口的信號電平值較高,易損壞接口電路的芯片。
(2)傳輸速率較低,在異步傳輸時,比特率為20Kbps。
(3)接口使用一根信號線和一根信號返回線而構(gòu)成共地的傳輸形式,這種共地傳輸容易產(chǎn)生共模干擾,所以抗噪聲干擾性弱
(4)傳輸距離有限,最大傳輸距離標(biāo)準(zhǔn)值為50英尺,實際上也只能用在15米左右。
RS422簡介
RS422標(biāo)準(zhǔn)全稱是"平衡電壓數(shù)字接口電路的電氣特性"”,它定義了接口電路的特性。實際上還有一根信號地線,共5根線。由于接收器采用高輸入阻抗和發(fā)送驅(qū)動器比RS232更強(qiáng)的驅(qū)動能力,故允許在相同傳輸線上連接多個接收節(jié)點(diǎn),最多可接10個節(jié)點(diǎn)。一個主設(shè)備(Master),其余為從設(shè)備(Slave),從設(shè)備之間不能通信,所以RS422支持點(diǎn)對多的雙向通信。
RS422和RS485電路原理基本相同,都是以差動方式發(fā)送和接收,不需要數(shù)字地線。差動工作是同速率條件下傳輸距離遠(yuǎn)的根本原咽,這正是二者與RS232的根本區(qū)別,因為RS232是單端輸入輸出,雙工工作時至少需要數(shù)字地線。發(fā)送線和接受線三條線(異步傳輸),還可以加其它控制線完成同步等功能。
RS422通過兩對雙絞線可以全雙工工作收發(fā)互不影響,而RS485只能半雙工工作,發(fā)收不能同時進(jìn)行,但它只需要一對雙絞線。
RS422的電氣性能與RS485完全一樣。主要的區(qū)別在于:RS422有4根信號線:兩根發(fā)送(Y、Z)、兩根接收(A B)。由于RS422的收與發(fā)是分開的所以可以同時收和發(fā)(全雙工)﹔RS485有2根信號線:發(fā)送和接收。
4.RS485,RS422,RS232的接口協(xié)議的區(qū)別
(1)RS232是全雙工的,RS485是半雙工的,RS422是全雙工的。
(2)RS485與RS232僅僅是通訊的物理協(xié)議(即接口標(biāo)準(zhǔn))有區(qū)別,RS485是差分傳輸方式,RS232是單端傳輸方式,但通訊程序沒有太多的差別。
(3)PC機(jī)上已經(jīng)配備有RS232,直接使用就行了,若使用RS485通訊,只要在RS232端口上配接一個RS232轉(zhuǎn)RS485的轉(zhuǎn)換頭就可以了,不需要修改程序。
(4)RS-232只允許一對一通信(單站能力),RS-485接口在總線上是允許連接多達(dá)128個收發(fā)器(具有多站能力)。
-
CAN
+關(guān)注
關(guān)注
57文章
2747瀏覽量
463674 -
SPI
+關(guān)注
關(guān)注
17文章
1706瀏覽量
91563 -
uart
+關(guān)注
關(guān)注
22文章
1235瀏覽量
101383
原文標(biāo)題:UART、SPI、I2C、CAN、RS485、RS232、RS422通信協(xié)議總結(jié)
文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設(shè)計論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論