UART和RS485的關系:
通訊問題,和交通是一樣的。串口通信,我們這里可以用公交來類比。
“公交運行”這個事可以簡單分成兩個部分:1、車站;2、公路。
其中車站決定了車上裝什么(人),怎么發送(班次)等。
當汽車跑在路上,就要遵守公路交通的規則,過橋有過橋的規則,高速有高速的規則,和車站沒有關系了。
回到串口通訊,其實,UART就相當于車站,而RS485則對應于公路的規則。
從某種意義上,可以說,線路上存在的僅僅是電流,RS485規定了這些電流在什么樣的線路上流動和流動的樣式;在UART那里,電流才被解釋和組裝成資料,并變成CPU可直接讀寫的形式。
UART可以這樣理解:每個SOC芯片,內部都會有UART控制器,也就是上面的“車站”。但是通常說的UART指的是,一種串行通信協議。規定了資料幀格式,波特率等。
RS485:是規定了資料通信的電氣特性。是物理層的概念,對應的物理器件有RS485驅動芯片,將CPU經過UART傳送過來的電壓信號驅動成RS485電平邏輯。
UART,是通用異步收發傳輸器(Universal Asynchronous Receiver/Transmitter),既然是“器”,顯然,它就是個設備而已,要完成一個特定的功能的硬體,它本身并不是協議。那么它要完成什么功能呢?它的最基本功能,是串行資料和并行資料之間的轉換。
協議分為硬體協議和軟體協議。
而通訊協議屬于軟體協議,它包含報頭包圍的格式,MODBUS是應用層的通訊協議,主要用于傳送和接收檔案包的格式。而RS232,RS485是物理層的串行介面,它可以支持幾十種通訊協議,MODBUS只是其中的一種。
例,一個人從香港去澳門,從香港去澳門可以走水路,水路是RS485。交通工具船和可以分別看成應用層的MODBUSRTU.
Modbus是一種協議,必須要有硬體為實作平臺,而不同的硬體平臺具有不同的電氣特性和連接方式,比如RS232,RS485;可以把Modbus比作英語,RS232比作印度人,RS485比作美國人,印度人之間講英語時,理解為基于RS232的modbus通信,美國人之間講英語時,理解為基于RS485的modbus通信。
總結:modbus是一個應用層的協議,他是構建在串口,網線等底層傳輸基礎上的。uart只是串口協議而已。
一句話:3個的物件不一樣。都是協議,就是一種規則。但是三個只所以有關系,是因為都應在資料傳輸。
看看他們的歷史就明白了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/76934.html
標籤:網絡通信
上一篇:環狀網路里動態路由智能選擇請教
