通信接口背景知識(shí) 設(shè)備之間通信的方式 一般情況下,設(shè)備之間的通信方式可以分成并行通信和串行通信兩種。并行與串行通信的區(qū)別如下表所示。 串行通信的分類(lèi) 1、按照數(shù)據(jù)傳送方向,分為:
2、按照通信方式,分為:
在同步通訊中,收發(fā)設(shè)備上方會(huì)使用一根信號(hào)線傳輸信號(hào),在時(shí)鐘信號(hào)的驅(qū)動(dòng)下雙方進(jìn)行協(xié)調(diào),同步數(shù)據(jù)。例如,通訊中通常雙方會(huì)統(tǒng)一規(guī)定在時(shí)鐘信號(hào)的上升沿或者下降沿對(duì)數(shù)據(jù)線進(jìn)行采樣。 在異步通訊中不使用時(shí)鐘信號(hào)進(jìn)行數(shù)據(jù)同步,它們直接在數(shù)據(jù)信號(hào)中穿插一些用于同步的信號(hào)位,或者將主題數(shù)據(jù)進(jìn)行打包,以數(shù)據(jù)幀的格式傳輸數(shù)據(jù)。通訊中還需要雙方規(guī)約好數(shù)據(jù)的傳輸速率(也就是波特率)等,以便更好地同步。常用的波特率有4800bps、9600bps、115200bps等。 在同步通訊中,數(shù)據(jù)信號(hào)所傳輸?shù)膬?nèi)容絕大部分是有效數(shù)據(jù),而異步通訊中會(huì)則會(huì)包含數(shù)據(jù)幀的各種標(biāo)識(shí)符,所以同步通訊效率高,但是同步通訊雙方的時(shí)鐘允許誤差小,稍稍時(shí)鐘出錯(cuò)就可能導(dǎo)致數(shù)據(jù)錯(cuò)亂,異步通訊雙方的時(shí)鐘允許誤差較大。 常見(jiàn)的串行通信接口 STM32串口通信基礎(chǔ) STM32的串口通信接口有兩種,分別是:UART(通用異步收發(fā)器)、USART(通用同步異步收發(fā)器)。而對(duì)于大容量STM32F10x系列芯片,分別有3個(gè)USART和2個(gè)UART。 嵌入式物聯(lián)網(wǎng)需要學(xué)的東西真的非常多,千萬(wàn)不要學(xué)錯(cuò)了路線和內(nèi)容,導(dǎo)致工資要不上去! 無(wú)償分享大家一個(gè)資料包,差不多150多G。里面學(xué)習(xí)內(nèi)容、面經(jīng)、項(xiàng)目都比較新也比較全!某魚(yú)上買(mǎi)估計(jì)至少要好幾十。 點(diǎn)擊這里找小助理0元領(lǐng)?。?/span>加微信領(lǐng)取資料 UART引腳連接方法
對(duì)于兩個(gè)芯片之間的連接,兩個(gè)芯片GND共地,同時(shí)TXD和RXD交叉連接。這里的交叉連接的意思就是,芯片1的RxD連接芯片2的TXD,芯片2的RXD連接芯片1的TXD。這樣,兩個(gè)芯片之間就可以進(jìn)行TTL電平通信了。 若是芯片與PC機(jī)(或上位機(jī))相連,除了共地之外,就不能這樣直接交叉連接了。盡管PC機(jī)和芯片都有TXD和RXD引腳,但是通常PC機(jī)(或上位機(jī))通常使用的都是RS232接口(通常為DB9封裝),因此不能直接交叉連接。RS232接口是9針(或引腳),通常是TxD和RxD經(jīng)過(guò)電平轉(zhuǎn)換得到的。故,要想使得芯片與PC機(jī)的RS232接口直接通信,需要也將芯片的輸入輸出端口也電平轉(zhuǎn)換成rs232類(lèi)型,再交叉連接。 經(jīng)過(guò)電平轉(zhuǎn)換后,芯片串口和rs232的電平標(biāo)準(zhǔn)是不一樣的:
RS-232通訊協(xié)議標(biāo)準(zhǔn)串口的設(shè)備間通訊結(jié)構(gòu)圖如下: 所以單片機(jī)串口與PC串口通信就應(yīng)該遵循下面的連接方式:在單片機(jī)串口與上位機(jī)給出的rs232口之間,通過(guò)電平轉(zhuǎn)換電路(如下面圖中的Max232芯片) 實(shí)現(xiàn)TTL電平與RS232電平之間的轉(zhuǎn)換。 RS232串口簡(jiǎn)介 臺(tái)式機(jī)電腦后面的9針接口就是com口(串口) 在工業(yè)控制 數(shù)據(jù)采集上應(yīng)用廣泛上圖中,最右邊的是串口接口統(tǒng)稱(chēng)為RS232接口,是常見(jiàn)的DB9封裝。 通信過(guò)程中只有兩個(gè)腳參與通信。
單片機(jī)的P3口是有兩個(gè)復(fù)用接口RXD 和TXD。這是單片機(jī)進(jìn)行串行通信的收發(fā)口,連接應(yīng)該錯(cuò)位的對(duì)應(yīng)到電腦的TDX RDX上。注意:?jiǎn)纹瑱C(jī)和RS232的電平標(biāo)準(zhǔn)是不一樣的。 單片機(jī)的電平標(biāo)準(zhǔn) TTL電平 :+5V表示1 0V表示0。 RS232的電平標(biāo)準(zhǔn) +15/+13 V表示1 -15/-13 表示0。 所以 單片機(jī)與電腦串口通信就應(yīng)該遵循下面的連接方式: 在單片機(jī)與上位機(jī)給出的rs232口之間 通過(guò)電平轉(zhuǎn)換電路(最上面圖中的Max232芯片) 實(shí)現(xiàn)TTL電平與RS232電平之間的轉(zhuǎn)換,PC串口與單片機(jī)串口連接方式圖: 注意這兩個(gè)DB9:DB91是在電腦上的 DB92是在單片機(jī)實(shí)驗(yàn)板上焊接著的。 這里的交叉連接的意思是 DB91的RXD連著DB92的TXD。 DB92的RXD連著DB91的TXD這樣交叉著連接,如果電腦沒(méi)有RS232口 只有USB口,可以用串口轉(zhuǎn)接線轉(zhuǎn)出串口,如下圖所示。 這個(gè)時(shí)候在電腦上位機(jī)上需要安裝串口驅(qū)動(dòng)程序。 注意,這個(gè)驅(qū)動(dòng)程序驅(qū)動(dòng)的是PL2303芯片(在上圖的大頭里面) 使得RS232信息轉(zhuǎn)換成USB信息。 下圖為上圖的內(nèi)部結(jié)構(gòu): 用串口通信比USB簡(jiǎn)單,因?yàn)榇谕ㄐ艣](méi)有協(xié)議,使用方便簡(jiǎn)單。 STM32的UART特點(diǎn)
串口通信過(guò)程 STM32中UART參數(shù) 串口通訊的數(shù)據(jù)包由發(fā)送設(shè)備通過(guò)自身的TXD接口傳輸?shù)浇邮赵O(shè)備的RXD接口,通訊雙方的數(shù)據(jù)包格式要規(guī)約一致才能正常收發(fā)數(shù)據(jù)。 |
|
來(lái)自: 新用戶25123383 > 《電子元件》