“RS485自動(dòng)收發(fā)電路”作為芯片應(yīng)用中的一項(xiàng)關(guān)鍵技術(shù),其在數(shù)據(jù)傳輸和通信方面發(fā)揮著不可或缺的作用。啟明智顯在多個(gè)尺寸的中控屏和串口屏上基于ESP32-S3方案和Model系列產(chǎn)品實(shí)現(xiàn)了對(duì)RS485通信的支持。RS485通信的引入不僅增強(qiáng)了產(chǎn)品的通信能力,也擴(kuò)大了其應(yīng)用范圍,使其能夠適應(yīng)更多復(fù)雜和多樣化的應(yīng)用場(chǎng)景。今天小編給大家整理了關(guān)于RS485自動(dòng)收發(fā)電路的問(wèn)題整理。
問(wèn):RS485_COMACT_IO這種方式是這個(gè)芯片獨(dú)有的嗎?
一般單片機(jī)的開(kāi)發(fā)板上面都有RS485通信模塊,尤其是STM單片機(jī)之類(lèi)的開(kāi)發(fā)板,因?yàn)?85通訊只需要MCU上面具備串口就可以使用。
485通訊模塊大家普遍用的只有兩種芯片,SP3485和MAX485。但不管是SP3485還是MAX485,他們的電路都是一樣的。因?yàn)閱纹瑱C(jī)通信一般是TTL電平,而我們的外接設(shè)備如果是485設(shè)備,通信的電平就是485電平,這兩者的電平是不一樣的,所以?xún)烧卟荒苤苯酉嘟右黄稹V虚g需要一個(gè)電平轉(zhuǎn)換的芯片來(lái)協(xié)商一下,所以就有了我們的485芯片。因?yàn)?85通信是半雙工的,就是發(fā)送數(shù)據(jù)的時(shí)候不能同時(shí)接收數(shù)據(jù),所以我們又把485芯片叫做半雙工收發(fā)器。
以SP485芯片為例,它的電路圖如下:
- RO:接收器輸出
- RE:接收器輸出使能(低電平有效)
- DE:驅(qū)動(dòng)器輸出使能(高電平有效)
- DI:驅(qū)動(dòng)器輸入
- GND:連接地
- A:驅(qū)動(dòng)器輸出/接收器輸入(同相)
- B:驅(qū)動(dòng)器輸出/接收器輸入(反相)
- VCC:芯片供電
問(wèn):上面這個(gè)引腳怎么叫接收器也叫輸出器?是不是作為接受和發(fā)送公用?
答:一般在485設(shè)備的數(shù)據(jù)向MCU發(fā)送時(shí)我們把芯片叫做接收器,因?yàn)樗邮樟送饨绲臄?shù)據(jù)。在MCU向485設(shè)備發(fā)送數(shù)據(jù)時(shí)我們把芯片叫做驅(qū)動(dòng)器,因?yàn)檫@時(shí)候像是我們驅(qū)動(dòng)了芯片讓它向外發(fā)送數(shù)據(jù)。
SP3485的驅(qū)動(dòng)器輸出是差分輸出,空載時(shí)輸出電壓的大小為0V~+3.3V。SP3485有一根使能控制線(高電平有效)。DE上的邏輯高電平(1)將使能驅(qū)動(dòng)器的差分輸出。
SP3485接收器的輸入是差分輸入,接收器的輸入電阻通常為15K。如果RE為低,接收器使能,反之接收器禁止。
這樣就得到了一個(gè)結(jié)論:
- ED: 1發(fā)送使能;0發(fā)送禁止
- RE: 0接收使能;1接收禁止
因此,我們一般將ED和RE接在一起,單片機(jī)MCU向外發(fā)送數(shù)據(jù)時(shí),將USART_EN置位1,單片機(jī)MCU接收外界送數(shù)據(jù)時(shí),將USART_EN置位0,即可。
當(dāng)然我們?cè)趯?xiě)程序時(shí)候,就相對(duì)會(huì)比較麻煩,因?yàn)槲覀円诮邮蘸桶l(fā)送時(shí)將USART_EN引腳置位不同的電平。
問(wèn):那有沒(méi)有一種可以自動(dòng)收發(fā)功能的電路呢?
答:有的!只要我們?cè)谶@個(gè)電路的基礎(chǔ)上加一個(gè)三極管就可以解決了。
大家看:我們?cè)谇懊骐娐返幕A(chǔ)上加了一個(gè)經(jīng)典的三極管開(kāi)關(guān)電路。電阻R6、電阻R7和NPN三極管Q1組成一個(gè)典型的三極管開(kāi)關(guān)電路。R7是限流電阻,最好選擇4.7K,也可以選擇10K。R6是上拉電阻,可以選擇4.7K或者10K。當(dāng)TX高電平,三極管導(dǎo)通,RE和DE引腳接地,進(jìn)入接收模式。當(dāng)TX低電平,三極管截止,RE和DE引腳接高電平,進(jìn)入發(fā)送模式。
問(wèn):DI引腳本來(lái)是接TX的,現(xiàn)在直接接地了,那豈不是發(fā)送的數(shù)據(jù)都是0?可以正常工作嗎?
答:可以的。
在發(fā)送數(shù)據(jù)時(shí),用的是單片機(jī)的TX引腳,也就是說(shuō),在TX引腳上表現(xiàn)數(shù)據(jù)。要發(fā)送數(shù)據(jù)0x32,寫(xiě)成二進(jìn)制就是0x00110010,TXD引腳上就會(huì)依次的用高低電平體現(xiàn)1和0。當(dāng)TX發(fā)送0時(shí),三極管不導(dǎo)通,DE接高電平,進(jìn)入發(fā)送模式,485芯片會(huì)把DI上的電平反應(yīng)到AB引腳上輸出,因?yàn)镈I已經(jīng)接地,所以AB引腳會(huì)傳輸0。所以,當(dāng)TXD發(fā)送0時(shí),AB引腳發(fā)送0。當(dāng)TX發(fā)送1時(shí),三極管導(dǎo)通,RE接低電平,進(jìn)入接收模式,485芯片的AB引腳進(jìn)入高阻狀態(tài),因?yàn)镽3把A拉高,R2把B拉低,所以,AB傳輸?shù)氖?。所以,當(dāng)TXD發(fā)送1時(shí),AB引腳發(fā)送1。
而在接受數(shù)據(jù)過(guò)程中,用的是單片機(jī)引腳RX,在RXD引腳上表現(xiàn)數(shù)據(jù)。在接收數(shù)據(jù)的過(guò)程中,TX引腳是一直保持高電平的,當(dāng)TXD是高電平時(shí),RE是低電平,正好變成了接收狀態(tài),然后485芯片的RO引腳(也就是接RX的引腳)就會(huì)接收AB傳輸過(guò)來(lái)的數(shù)據(jù)。
總結(jié)
- RS485_COMACT_IO這種方式并非某個(gè)芯片獨(dú)有,485通訊只需要MCU上面具備串口就可以使用。
- SP3485接收器的輸入是差分輸入,接收器的輸入電阻通常為15K。如果RE為低,接收器使能,反之接收器禁止。因此,我們一般將ED和RE接在一起,單片機(jī)MCU向外發(fā)送數(shù)據(jù)時(shí),將USART_EN置位1,單片機(jī)MCU接收外界送數(shù)據(jù)時(shí),將USART_EN置位0,即可。
- 只要我們?cè)谶@個(gè)電路的基礎(chǔ)上加一個(gè)三極管就可以實(shí)現(xiàn)電路自動(dòng)收發(fā)功能。
- DI引腳本來(lái)是接TX的,現(xiàn)在直接接地了,仍然可以正常工作。
-
芯片
+關(guān)注
關(guān)注
452文章
50206瀏覽量
420844 -
接口
+關(guān)注
關(guān)注
33文章
8447瀏覽量
150720 -
RS485
+關(guān)注
關(guān)注
39文章
1135瀏覽量
82071 -
串口
+關(guān)注
關(guān)注
14文章
1540瀏覽量
76059 -
收發(fā)電路
+關(guān)注
關(guān)注
0文章
21瀏覽量
2008
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論