串口與電平標(biāo)準(zhǔn)一文教你分清楚
首先,串口、UART口、COM口、USB口是指的物理接口形式(硬件)。而TTL、RS-232、RS-485是指電平標(biāo)準(zhǔn)(電信號(hào))。
串口:串口是一個(gè)泛稱,UART,TTL,RS232,RS485都遵循類似的通信時(shí)序協(xié)議,因此都被通稱為串口。
UART接口:又叫通用異步收發(fā)器,UART是串口收發(fā)的邏輯電路,這部分可以獨(dú)立成芯片,也可以作為模塊嵌入到其他芯片里,單片機(jī)、SOC、PC里都會(huì)有UART模塊。
COM口:特指臺(tái)式計(jì)算機(jī)或一些電子設(shè)備上的D-SUB外形(一種連接器結(jié)構(gòu),VGA接口的連接器也是D-SUB)的串行通信口,應(yīng)用了串口通信時(shí)序和RS232的邏輯電平。
USB口:通用串行總線,和串口完全是兩個(gè)概念。雖然也是串行方式通信,但由于USB的通信時(shí)序和信號(hào)電平都和串口完全不同,因此和串口沒有任何關(guān)系。USB是高速的通信接口,用于PC連接各種外設(shè),U盤、鍵鼠、移動(dòng)硬盤、當(dāng)然也包括“USB轉(zhuǎn)串口”的模塊。(USB轉(zhuǎn)串口模塊,就是USB接口的UART模塊)。
TTL,RS232,RS485都是一種邏輯電平的表示方式。
TTL:TTL指雙極型三極管邏輯電路,市面上很多“USB轉(zhuǎn)TTL”模塊,實(shí)際上是“USB轉(zhuǎn)TTL電平的串口”模塊。這種信號(hào)0對(duì)應(yīng)0V,1對(duì)應(yīng)3.3V或者5V。與單片機(jī)、SoC的IO電平兼容。不過實(shí)際也不一定是TTL電平,因?yàn)楝F(xiàn)在大部分?jǐn)?shù)字邏輯都是CMOS工藝做的,只是沿用了TTL的說法。我們進(jìn)行串口通信的時(shí)候從單片機(jī)直接出來的基本是都是 TTL 電平。
TTL電平:全雙工(邏輯1: 3V—3.3V 邏輯0: 0V--0.7V)。
RS-232標(biāo)準(zhǔn)接口是常用的串行通信接口標(biāo)準(zhǔn)之一,是電子工業(yè)協(xié)會(huì)(Electronic Industries Association,EIA) 制定的異步傳輸標(biāo)準(zhǔn)接口,同時(shí)對(duì)應(yīng)著電平標(biāo)準(zhǔn)和通信協(xié)議(時(shí)序)。
規(guī)定邏輯“1”的電平為-5V~-15 V,邏輯“0”的電平為+5 V~+15 V。該電氣標(biāo)準(zhǔn)提高抗干擾能力,增大通信距離。RS -232的噪聲容限為2V,接收器將能識(shí)別低至+3V的信號(hào)作為邏輯“0”,將高到-3 V的信號(hào)作為邏輯“1”。
在串行通訊時(shí),要求通訊雙方都采用一個(gè)標(biāo)準(zhǔn)接口,使不同的設(shè)備可以方便地連接起來進(jìn)行通訊。
RS-232 的邏輯電平和TTL 不一樣但是協(xié)議一樣。
該標(biāo)準(zhǔn)規(guī)定采用一個(gè)25個(gè)腳的DB-25連接器,對(duì)連接器的每個(gè)引腳的信號(hào)內(nèi)容加以規(guī)定,還對(duì)各種信號(hào)的電平加以規(guī)定。后來IBM的PC機(jī)將RS232簡化成了DB-9連接器,從而成為事實(shí)標(biāo)準(zhǔn)。而工業(yè)控制的RS-232口一般只使用RXD、TXD、GND三條線。
1、硬件框圖如下,TTL用于MCU與PC機(jī)之間通信
2、‘0’和‘1’表示
RS485:RS485是一種串口接口標(biāo)準(zhǔn),為了長距離傳輸采用差分方式傳輸,傳輸?shù)氖遣罘中盘?hào),抗干擾能力比RS232強(qiáng)很多。兩線壓差為-(2~6)V表示0,兩線壓差為+(2~6)V表示1
RS485協(xié)議支持全雙工,但是實(shí)際應(yīng)用中,默認(rèn)為半雙工。
RS485有兩線制和四線制兩種接線,四線制只能實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)的通信方式,現(xiàn)很少采用,多采用的是兩線制接線方式,這種接線方式為總線式拓?fù)浣Y(jié)構(gòu),在同一總線上最多可以掛接32個(gè)節(jié)點(diǎn)。
1、硬件框圖如下
2、‘0’和‘1’表示
連接RS-485通信鏈路時(shí)只是簡單地用一對(duì)雙絞線將各個(gè)接口的“A”、“B”端連接起來,而忽略了信號(hào)地的連接,這種連接方法能正常工作,但卻埋下了很大的隱患,原因1是共模干擾:RS-485接口采用差分方式傳輸信號(hào)方式,系統(tǒng)只需檢測兩線之間的電位差就可以了,但容易忽視了收發(fā)器有一定的共模電壓范圍,RS-485收發(fā)器共模電壓范圍為-7到+12V,只有滿足上述條件,整個(gè)網(wǎng)絡(luò)才能正常工作;當(dāng)網(wǎng)絡(luò)線路中共模電壓超出此范圍時(shí)就會(huì)影響通信的穩(wěn)定可靠,甚至損壞接口;原因二是EMI的問題:發(fā)送驅(qū)動(dòng)器輸出信號(hào)中的共模部分需要一個(gè)返回通路,如沒有一個(gè)低阻的返回通道,就會(huì)以輻射的形式返回源端。
COM口即串行通訊端口,簡稱串口。這里區(qū)別于USB的“通用串行總線”和硬盤的“SATA”。
一般我們見到的是兩種物理標(biāo)準(zhǔn)。D型9針插頭,和 4針杜邦頭兩種。
這是常見的4針串口,在電路板上常見,經(jīng)常上邊還帶有杜邦插針。還有時(shí)候有第五根針,3.3V電源端。
嵌入式里面說的串口,一般是指UART口,但是我們經(jīng)常搞不清楚它和COM口的區(qū)別, 以及RS232, TTL等關(guān)系, 實(shí)際上UART,COM指的物理接口形式(硬件), 而TTL、RS-232是指的電平標(biāo)準(zhǔn)(電信號(hào)).
UART有4個(gè)pin(VCC, GND, RX, TX), 用的TTL電平, 低電平為0(0V),高電平為1(3.3V或以上)。
下面這個(gè)就是D型9針串口(通俗說法)。在臺(tái)式電腦后邊都可以看到。記住,這種接口的協(xié)議只有兩種:RS-232和RS-485。不會(huì)是TTL電平的(除非特殊應(yīng)用)。
我們一般只接出RXD TXD兩針,外加GND。
市面上USB轉(zhuǎn)TTL的芯片,較為出名的為Si公司的CP210x(2,3,4)。3.3V通信電平。其中常見的CP2102芯片的,也是USB轉(zhuǎn)TTL串口。據(jù)說比臺(tái)灣的PL2303好。這個(gè)小板就多了+3.3V電源端,以適應(yīng)不同的目標(biāo)電路。下圖為USB轉(zhuǎn)RS-232串口:
另外還有FT232,使用老制程,價(jià)格較貴,5V通信電平,性能穩(wěn)定。CH340,國內(nèi)大公司的質(zhì)量較好,自定義電平。以上芯片沒有CP2102的用量大。
如果您有串口轉(zhuǎn)換設(shè)備的需求,或者想了解更多CP2102串口相關(guān)的資訊,請(qǐng)聯(lián)系我們信馳達(dá)科技。