STM32系列第24篇--485通信
串口是一種接口標(biāo)準(zhǔn),它規(guī)定了接口的電氣標(biāo)準(zhǔn),簡(jiǎn)單說(shuō)只是物理層的一個(gè)標(biāo)準(zhǔn)。沒(méi)有規(guī)定接口插件電纜以及使用的協(xié)議,所以只要我們使用的接口插件電纜符合串口標(biāo)準(zhǔn)就可以在實(shí)際中靈活使用,在串口接口標(biāo)準(zhǔn)上使用各種協(xié)議進(jìn)行通訊及設(shè)備控制。典型的串行通訊標(biāo)準(zhǔn)是RS232和RS485,它們定義了電壓,阻抗等,但不對(duì)軟件協(xié)議給予定義。
RS232接口缺陷:
傳輸速率較低,在異步傳輸時(shí),波特率為20Kbps。接口的信號(hào)電平值較高(+/-12V),易損壞接口電路的芯片。
傳輸速率較低,在異步傳輸時(shí),波特率為20Kbps。
接口使用一根信號(hào)線和一根信號(hào)返回線而構(gòu)成共地的傳輸形式,這種共地傳輸容易產(chǎn)生共模干擾,所以抗噪聲干擾性弱。
傳輸距離有限,最大傳輸距離標(biāo)準(zhǔn)值為50英尺,實(shí)際上也只能用在50米左右。
注:232是全雙工,用的也是最多的,因?yàn)樗霈F(xiàn)的比較早。
485接口:
485(一般稱作RS485/EIA-485)是隸屬于OSI模型物理層的電氣特性規(guī)定為2線,半雙工,多點(diǎn)通信的標(biāo)準(zhǔn)。它的電氣特性和RS-232大不一樣。用纜線兩端的電壓差值來(lái)表示傳遞信號(hào)。RS485僅僅規(guī)定了接受端和發(fā)送端的電氣特性。它沒(méi)有規(guī)定或推薦任何數(shù)據(jù)協(xié)議。
RS485的特點(diǎn)包括:
接口電平低,不易損壞芯片。RS485的電氣特性:邏輯“1”以兩線間的電壓差為+(2~6)V表示;邏輯“0”以兩線間的電壓差為-(2~6)V表示。接口信號(hào)電平比RS232降低了,不易損壞接口電路的芯片。
傳輸速率高。10米時(shí),RS485的數(shù)據(jù)最高傳輸速率可達(dá)35Mbps,在1200m時(shí),傳輸速度可達(dá)100Kbps。
抗干擾能力強(qiáng)。RS485接口是采用平衡驅(qū)動(dòng)器和差分接收器的組合,抗共模干擾能力增強(qiáng),即抗噪聲干擾性好。
傳輸距離遠(yuǎn),支持節(jié)點(diǎn)多。RS485總線最長(zhǎng)可以傳輸1200m以上(速率≤100Kbps)一般最大支持32個(gè)節(jié)點(diǎn),如果使用特制的485芯片,可以達(dá)到128個(gè)或者256個(gè)節(jié)點(diǎn),最大的可以支持到400個(gè)節(jié)點(diǎn)。
RS485推薦使用在點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)中,線型,總線型,不能是星型,環(huán)型網(wǎng)絡(luò)。理想情況下RS485需要2個(gè)匹配電阻,其阻值要求等于傳輸電纜的特性阻抗(一般為120Ω)。沒(méi)有特性阻抗的話,當(dāng)所有的設(shè)備都靜止或者沒(méi)有能量的時(shí)候就會(huì)產(chǎn)生噪聲,而且線移需要雙端的電壓差。沒(méi)有終接電阻的話,會(huì)使得較快速的發(fā)送端產(chǎn)生多個(gè)數(shù)據(jù)信號(hào)的邊緣,導(dǎo)致數(shù)據(jù)傳輸出錯(cuò)。
485推薦的連接方式:
在上面的連接中,如果需要添加匹配電阻,我們一般在總線的起止端加入,也就是主機(jī)和設(shè)備4上面各加一個(gè)120Ω的匹配電阻。
收發(fā)器SP3485(芯片):
圖中A、B總線接口,用于連接485總線。RO是接收輸出端,DI是發(fā)送數(shù)據(jù)收入端,RE是接收使能信號(hào)(低電平有效),DE是發(fā)送使能信號(hào)(高電平有效)。
R19和R22是兩個(gè)偏置電阻,用來(lái)保證總線空閑時(shí),AB之間的電壓差都會(huì)大約200mV,避免總線空閑時(shí)壓差不定邏輯混亂。
兩個(gè)485接口連接,A連接A,B連接B。
操作485也是配置UART串口,其電平硬件部分轉(zhuǎn)換。