串口,即串行通信接口,與之相對(duì)應(yīng)的另一種接口叫并口,并行接口。兩者的區(qū)別是,傳輸一個(gè)字節(jié)(8個(gè)位)的數(shù)據(jù)時(shí),串口是將8個(gè)位排好隊(duì),逐個(gè)地在1條連接線上傳輸,而并口則將8個(gè)位一字排開(kāi),分別在8條連接線上同時(shí)傳輸 ,也就是進(jìn)行數(shù)據(jù)傳輸?shù)慕涌?/strong>
串口是一種物理接口形式,(硬件)通常指COM接口 ,當(dāng)然這些接口有著很多標(biāo)準(zhǔn)
接口標(biāo)準(zhǔn):
串口通信的接口標(biāo)準(zhǔn)有很多,而我們所了解的RS-232C、RS-232、RS-422A、RS-485 都是串口的標(biāo)準(zhǔn)之一
通常使用的是9 針D 形連接器,簡(jiǎn)稱 DB9接口,也稱之為RS-232接口,之前串口通信使用的大多都是 DB9 接口
而有的使用的是老式的DB25 針連接器,也稱之為RS-422接口,這種接口目前已經(jīng)很少使用
DB25 和 DB9 接頭有公頭和母頭之分,其中帶針狀的接頭是公頭,而帶孔狀的接頭是母頭
而DB9/DB25接口 ,就稱為COM口
嵌入式里面說(shuō)的串口,一般是指UART口
UART 通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter)。
它將要傳輸?shù)馁Y料在串行通信與并行通信之間加以轉(zhuǎn)換。作為把并行輸入信號(hào)轉(zhuǎn)成串行輸出信號(hào)的芯片
同樣它是串行通信接口 UART只有數(shù)據(jù)線收和發(fā),并無(wú)時(shí)鐘線,故為異步串行通信接口,可以實(shí)現(xiàn)全雙工傳輸和接收;在嵌入式中,常用與上位機(jī)與外設(shè)通信
單片機(jī)中的UART有4個(gè)pin(VCC, GND, RX, TX), 用的TTL電平
VCC:供電pin,一般是3.3v,
GND:接地pin,板內(nèi)共地時(shí)可以不單獨(dú)接,板間通信時(shí)候必須接上
RX:數(shù)據(jù)接收引腳
TX:數(shù)據(jù)發(fā)送引腳
RS232電平, 它是負(fù)邏輯電平,它定義+5~+12V為低電平“0”,而-12~-5V為高電平“1”
TTL電平(Transistor-Transistor Logic),該電平的邏輯“1”為+5V,邏輯“0”為0V,稱為TTL
TTL電平標(biāo)準(zhǔn):
輸出 L: <0.8V ; H:>2.4V。
輸入 L: <1.2V ; H:>2.0V
需要注意的是RS-232與TTL只是一種電平標(biāo)準(zhǔn),而COM口和UART口是物理接口,只是COM口肯定使用RS-232標(biāo)準(zhǔn)
而UART一般使用TTL標(biāo)準(zhǔn)
通用串行總線(英語(yǔ):Universal Serial Bus,縮寫:USB)是連接計(jì)算機(jī)系統(tǒng)與外部設(shè)備的一種串口總線標(biāo)準(zhǔn),也是一種輸入輸出接口的技術(shù)規(guī)范,被廣泛地應(yīng)用于個(gè)人電腦和移動(dòng)設(shè)備等信息通訊產(chǎn)品 ,隨著時(shí)代的發(fā)展,USB接口已經(jīng)逐漸替代了COM口,成為最主流的接口,現(xiàn)今已經(jīng)到了USB 3.0
常見(jiàn)的USB接口:
電腦上的USB接口的輸出電壓為直流5V,輸出電流不大于500毫安 并且與TTL電平不兼容,信號(hào)傳輸時(shí)需要電平轉(zhuǎn)換電路。
我們知道現(xiàn)在電腦使用的基本都是USB接口,而單片機(jī)使用的是TTL標(biāo)準(zhǔn),那么在嵌入式中我們需要上位機(jī)通信,怎么辦呢?,這時(shí)候便需要一個(gè)轉(zhuǎn)換芯片,從而使得電腦(主機(jī))可以通過(guò)USB輸出TTL電平 ,這便是USB轉(zhuǎn)TTL
那么我們所已知的CH340G CH340E PL2303 、CP2102 等等 ,都是USB轉(zhuǎn)TTL串口的芯片
當(dāng)然現(xiàn)在普遍使用的為CH340G 主要是因?yàn)槠浒踩陀貌⑶?span style="color:#3399ea;">便宜 滿足我們?nèi)粘5恼J褂?nbsp;
在接線時(shí)注意單片機(jī)RX接轉(zhuǎn)接板TX TX接轉(zhuǎn)接板RX
連接順序?yàn)椋?/p>
電腦USB口---> USB轉(zhuǎn)TTL---->單片機(jī)UART口
我們知道單片機(jī)是UATR口 TTL電平標(biāo)準(zhǔn),而電腦是USB口 如果我們想用電腦的USB口與單片機(jī)串口(COM口)通信,這時(shí)就需要使用MAX232之類的電平轉(zhuǎn)換芯片,將單片機(jī)TTL電平轉(zhuǎn)換成RS-232電平 ,并且
將USB轉(zhuǎn)換為RS-232電平 這就是USB轉(zhuǎn)串口
我們所說(shuō)的USB轉(zhuǎn)串口,就是指單片機(jī)上裝了一個(gè)TTL轉(zhuǎn)RS-232的轉(zhuǎn)換芯片 ,并且有COM口,使得單片機(jī)可以輸出RS-232電平,這樣便可以通過(guò) USB轉(zhuǎn)串口(RS-232)模塊連接電腦USB口,再與單片機(jī)COM口相連,雙方都是RS-232電平標(biāo)準(zhǔn),便可以來(lái)進(jìn)行通信
市場(chǎng)出售的usb轉(zhuǎn)串口線一般會(huì)有兩個(gè)芯片,一個(gè)是CH340這類芯片,一個(gè)是MAX232類芯片,因?yàn)橛?jì)算機(jī)的串口電平標(biāo)準(zhǔn)是RS232電平
所以通過(guò) USB轉(zhuǎn)串口(RS-232)模塊 USB經(jīng)過(guò)CH340轉(zhuǎn)成了TTL串口,中間那四個(gè)引腳可以引出,再經(jīng)由MAX232轉(zhuǎn)換為RS-232電平,9針串口引出
下方為USB轉(zhuǎn)串口(RS-232)模塊
并且MAX232芯片是 TTL電平與RS232電平的專用雙向轉(zhuǎn)換芯片,可以TTL轉(zhuǎn)RS-232,也可以RS-232轉(zhuǎn)TTL
在單片機(jī)上用作TTL轉(zhuǎn)RS-232
連接順序?yàn)椋?/p>
電腦USB口--->USB轉(zhuǎn)串口---->單片機(jī)COM口
兩個(gè)單片機(jī)以RS-232通訊協(xié)議標(biāo)準(zhǔn)串口的設(shè)備間通訊結(jié)構(gòu)圖如下:
當(dāng)然,如果電腦有COM口,這個(gè)時(shí)候便可以直接將電腦的COM口與單片機(jī)的COM口進(jìn)行相連,便可以進(jìn)行通信
當(dāng)然在串口通信中通常 電腦的 DB9 為公頭,單片機(jī)上使用的串口 DB9 為母頭,通過(guò)一根直通串口線進(jìn)行相連
連接順序?yàn)椋?/p>
電腦COM口--->---->單片機(jī)COM口
以單片機(jī)串口與PC串口通信就應(yīng)該遵循下面的連接方式:在單片機(jī)串口與上位機(jī)給出的rs232口之間,通過(guò)電平轉(zhuǎn)換電路(如下面圖中的Max232芯片) 實(shí)現(xiàn)TTL電平與RS232電平之間的轉(zhuǎn)換。
為了方便,很多單片機(jī)上都配備了USB轉(zhuǎn)TTL芯片,直接引出usb接口,便可以實(shí)現(xiàn)通信
最簡(jiǎn)單理解 xx轉(zhuǎn)xx 就是將前面的轉(zhuǎn)換為后面的 USB轉(zhuǎn)TTL 就是將USB轉(zhuǎn)換為 TTL電平 USB轉(zhuǎn)串口 就是將USB轉(zhuǎn)換為串口
①.COM口:在臺(tái)式機(jī)上常用的口,DB9/DB25接口,接口協(xié)議只有兩種RS232和RS485
COM口多見(jiàn)于舊式電腦,用于連接鼠標(biāo),調(diào)制調(diào)解器等設(shè)備,現(xiàn)在已被USB取代。
②.UART口、COM口指的是物理接口形式;TTL、RS232和RS485指的是電平邏輯標(biāo)準(zhǔn);
③TL電平和RS232電平轉(zhuǎn)換專用芯片有MAX232,TTL電平轉(zhuǎn)USB芯片有CP2102、PL2303、FT230,CH340
④ COM口 和UART口 都為串口的一種 ,即都為串行通信 UART為異步串行通信接口
⑤UART包含TTL電平的串口和RS232電平的串口,但是我們的單片機(jī)的UART是TTL電平
⑥ 串口按照接口劃分標(biāo)準(zhǔn)分為很多種 ,如UATR RS232 同步串行接口
同步通信和異步通信:
同步通信和異步通信的區(qū)別是:時(shí)鐘線的有無(wú)。同步通信有時(shí)鐘線,收發(fā)雙方通過(guò)統(tǒng)一的時(shí)鐘來(lái)頻率確定何時(shí)進(jìn)行數(shù)據(jù)的傳輸,如I2C和SPI。異步通信沒(méi)有時(shí)鐘線,可以任意時(shí)刻開(kāi)始發(fā)送字符 但只能在數(shù)據(jù)的開(kāi)始和尾加入標(biāo)志位來(lái)區(qū)分不同的數(shù)據(jù)幀,即加上開(kāi)始位和停止位,所傳送的數(shù)據(jù)以字節(jié)為單位。每個(gè)字節(jié)前加上一位起始位,每個(gè)字節(jié)的后面加上停止位,接收數(shù)據(jù)之前也要預(yù)先知道波特率的大小,傳輸效率比同步通信要低。如UART 但方便簡(jiǎn)單,易于操作
簡(jiǎn)單來(lái)說(shuō):
同步是指:發(fā)送方發(fā)出數(shù)據(jù)后,等接收方發(fā)回響應(yīng)以后才發(fā)下一個(gè)數(shù)據(jù)包的通訊方式。
異步是指:發(fā)送方發(fā)出數(shù)據(jù)后,不等接收方發(fā)回響應(yīng),接著發(fā)送下個(gè)數(shù)據(jù)包的通訊方式。
串行通信與并行通信:
串行通信就是一根數(shù)據(jù)線,數(shù)據(jù)是一位一位的依次傳輸
而并行通信則是8跟數(shù)據(jù)線,數(shù)據(jù)是一個(gè)字節(jié)一個(gè)字節(jié)的發(fā)送
串口形容一下就是一條車道,而并口就是有8/16個(gè)車道同一時(shí)刻能傳送8/16位(一個(gè)字節(jié)/兩個(gè)字節(jié))數(shù)據(jù)
聯(lián)系客服