modbus4-232 485 单机 多机
生活随笔
收集整理的這篇文章主要介紹了
modbus4-232 485 单机 多机
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
http://www.mcuol.com/download/upfile/20090504091459_PL-2303HX.pdf
http://datasheets.maxim-ic.com/en/ds/MAX220-MAX249.pdf
http://datasheets.maxim-ic.com/en/ds/MAX1487-MAX491.pdf
①max232:占用mcu的2個(gè)引腳即用于串口的那2個(gè),c51的是p3.1(tx)和p3.0(rx)。mcu使用tx發(fā)數(shù)據(jù),rx接數(shù)據(jù),二者獨(dú)立所以在線路上滿足全雙工。并且在c51內(nèi)部的串口電路也有獨(dú)立的接受器和發(fā)送器。接收器由輸入移位寄存器和接受SBUF構(gòu)成,發(fā)送器由發(fā)送SBUF(不同于接受SBUF)構(gòu)成。在接收的時(shí)候,RXD引腳數(shù)據(jù)自動(dòng)按照波特率移位進(jìn)輸入移位寄存器,與此同時(shí)發(fā)送SBUF里德數(shù)據(jù)可以自動(dòng)移位到引腳TXD。引腳與寄存器之間的移位由硬件電路完成,cpu不必參與。所以在電路上滿足全雙工。
②max485:需要多機(jī)互聯(lián)的如要實(shí)現(xiàn)modbus通信的mcu需要加一個(gè)max485,而不是max232。如果是半雙工的max485,則占用mcu的3個(gè)引腳即用于串口的那2個(gè)外加一個(gè)讀or寫控制的一個(gè)io口。當(dāng)然如果已經(jīng)用的是max232也沒(méi)關(guān)系也可進(jìn)行485通信,外部再加一個(gè)232-485轉(zhuǎn)換器就ok.但是這樣的話,在mcu側(cè)的串口代碼就需要按照max232的寫即不必管控制引腳。另外,因?yàn)閜c側(cè)始終是232接口,所以pc與232設(shè)備通信則可以直接通信,與458設(shè)備通信需要一個(gè)232-485的轉(zhuǎn)換器。所以不管以上那種通信途徑,pc側(cè)的代碼始終按照232de.
③usb-232轉(zhuǎn)換器,即一個(gè)同時(shí)含usb和uart接口的mcu設(shè)備,mcu一般使用pl-230hx進(jìn)行串口和usb口之間的數(shù)據(jù)轉(zhuǎn)發(fā),和用8051f320去實(shí)現(xiàn)差不多。
由于232接口基本都是為連接pc而設(shè)計(jì)的,所以幾乎所有的232串口設(shè)備都會(huì)配置一個(gè)max232芯片,也包括usb-232轉(zhuǎn)換器。max232芯片進(jìn)行電平轉(zhuǎn)換,是在單片機(jī)側(cè)使用的TTL與pc側(cè)使用的RS-232C之間。這樣串口設(shè)備就可以直接連接pc的232串口了。當(dāng)然如果僅用于設(shè)備與設(shè)備之間的232連接,就沒(méi)必要在每個(gè)設(shè)備側(cè)都加一個(gè)max232,恩,加了也沒(méi)關(guān)系(但要加就要每個(gè)設(shè)備都加)可以預(yù)留著以后方便跟pc通信。
并且貌似一般的usb-232轉(zhuǎn)換器的23腳在轉(zhuǎn)換器內(nèi)部已經(jīng)交叉過(guò),所以使用usb-232轉(zhuǎn)換器連接其他232設(shè)備時(shí)直連即可。
一.232單機(jī)
二.232多機(jī)
232多機(jī)通信在硬件線路部分會(huì)出問(wèn)題,所以行不通。
三.485單機(jī)--假設(shè)mcu使用max232進(jìn)行電平轉(zhuǎn)換,則需要外部使用232-485 converter。
(如果設(shè)備內(nèi)部使用max485進(jìn)行電平轉(zhuǎn)換的就不必在設(shè)備外部外加232-485 converter。)
比如(右鍵大圖)
四.485多機(jī)--假設(shè)mcu使用max232進(jìn)行電平轉(zhuǎn)換。如下是pc作主機(jī),stc51和micro2440作從機(jī)使用modbus通信的連線實(shí)物圖。地址分別是1,2。
http://datasheets.maxim-ic.com/en/ds/MAX220-MAX249.pdf
http://datasheets.maxim-ic.com/en/ds/MAX1487-MAX491.pdf
①max232:占用mcu的2個(gè)引腳即用于串口的那2個(gè),c51的是p3.1(tx)和p3.0(rx)。mcu使用tx發(fā)數(shù)據(jù),rx接數(shù)據(jù),二者獨(dú)立所以在線路上滿足全雙工。并且在c51內(nèi)部的串口電路也有獨(dú)立的接受器和發(fā)送器。接收器由輸入移位寄存器和接受SBUF構(gòu)成,發(fā)送器由發(fā)送SBUF(不同于接受SBUF)構(gòu)成。在接收的時(shí)候,RXD引腳數(shù)據(jù)自動(dòng)按照波特率移位進(jìn)輸入移位寄存器,與此同時(shí)發(fā)送SBUF里德數(shù)據(jù)可以自動(dòng)移位到引腳TXD。引腳與寄存器之間的移位由硬件電路完成,cpu不必參與。所以在電路上滿足全雙工。
②max485:需要多機(jī)互聯(lián)的如要實(shí)現(xiàn)modbus通信的mcu需要加一個(gè)max485,而不是max232。如果是半雙工的max485,則占用mcu的3個(gè)引腳即用于串口的那2個(gè)外加一個(gè)讀or寫控制的一個(gè)io口。當(dāng)然如果已經(jīng)用的是max232也沒(méi)關(guān)系也可進(jìn)行485通信,外部再加一個(gè)232-485轉(zhuǎn)換器就ok.但是這樣的話,在mcu側(cè)的串口代碼就需要按照max232的寫即不必管控制引腳。另外,因?yàn)閜c側(cè)始終是232接口,所以pc與232設(shè)備通信則可以直接通信,與458設(shè)備通信需要一個(gè)232-485的轉(zhuǎn)換器。所以不管以上那種通信途徑,pc側(cè)的代碼始終按照232de.
③usb-232轉(zhuǎn)換器,即一個(gè)同時(shí)含usb和uart接口的mcu設(shè)備,mcu一般使用pl-230hx進(jìn)行串口和usb口之間的數(shù)據(jù)轉(zhuǎn)發(fā),和用8051f320去實(shí)現(xiàn)差不多。
由于232接口基本都是為連接pc而設(shè)計(jì)的,所以幾乎所有的232串口設(shè)備都會(huì)配置一個(gè)max232芯片,也包括usb-232轉(zhuǎn)換器。max232芯片進(jìn)行電平轉(zhuǎn)換,是在單片機(jī)側(cè)使用的TTL與pc側(cè)使用的RS-232C之間。這樣串口設(shè)備就可以直接連接pc的232串口了。當(dāng)然如果僅用于設(shè)備與設(shè)備之間的232連接,就沒(méi)必要在每個(gè)設(shè)備側(cè)都加一個(gè)max232,恩,加了也沒(méi)關(guān)系(但要加就要每個(gè)設(shè)備都加)可以預(yù)留著以后方便跟pc通信。
并且貌似一般的usb-232轉(zhuǎn)換器的23腳在轉(zhuǎn)換器內(nèi)部已經(jīng)交叉過(guò),所以使用usb-232轉(zhuǎn)換器連接其他232設(shè)備時(shí)直連即可。
一.232單機(jī)
二.232多機(jī)
232多機(jī)通信在硬件線路部分會(huì)出問(wèn)題,所以行不通。
三.485單機(jī)--假設(shè)mcu使用max232進(jìn)行電平轉(zhuǎn)換,則需要外部使用232-485 converter。
(如果設(shè)備內(nèi)部使用max485進(jìn)行電平轉(zhuǎn)換的就不必在設(shè)備外部外加232-485 converter。)
比如(右鍵大圖)
四.485多機(jī)--假設(shè)mcu使用max232進(jìn)行電平轉(zhuǎn)換。如下是pc作主機(jī),stc51和micro2440作從機(jī)使用modbus通信的連線實(shí)物圖。地址分別是1,2。
轉(zhuǎn)載于:https://www.cnblogs.com/-song/archive/2011/11/05/3331934.html
總結(jié)
以上是生活随笔為你收集整理的modbus4-232 485 单机 多机的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: modbus3-关于Modicon Mo
- 下一篇: osgEarth用户手册