“RS485自動收發電路”作為芯片應用中的一項關鍵技術,其在數據傳輸和通信方面發揮著不可或缺的作用。啟明智顯在多個尺寸的中控屏和串口屏上基于ESP32-S3方案和Model系列產品實現了對RS485通信的支持。RS485通信的引入不僅增強了產品的通信能力,也擴大了其應用范圍,使其能夠適應更多復雜和多樣化的應用場景。今天小編給大家整理了關于RS485自動收發電路的問題整理。
問:RS485_COMACT_IO這種方式是這個芯片獨有的嗎?
一般單片機的開發板上面都有RS485通信模塊,尤其是STM單片機之類的開發板,因為485通訊只需要MCU上面具備串口就可以使用。
485通訊模塊大家普遍用的只有兩種芯片,SP3485和MAX485。但不管是SP3485還是MAX485,他們的電路都是一樣的。因為單片機通信一般是TTL電平,而我們的外接設備如果是485設備,通信的電平就是485電平,這兩者的電平是不一樣的,所以兩者不能直接相接一起。中間需要一個電平轉換的芯片來協商一下,所以就有了我們的485芯片。因為485通信是半雙工的,就是發送數據的時候不能同時接收數據,所以我們又把485芯片叫做半雙工收發器。
以SP485芯片為例,它的電路圖如下:
![wKgaomYvQomACeRlAAHSHrbkXlM364.png](https://file1.elecfans.com/web2/M00/DF/3D/wKgaomYvQomACeRlAAHSHrbkXlM364.png)
- RO:接收器輸出
- RE:接收器輸出使能(低電平有效)
- DE:驅動器輸出使能(高電平有效)
- DI:驅動器輸入
- GND:連接地
- A:驅動器輸出/接收器輸入(同相)
- B:驅動器輸出/接收器輸入(反相)
- VCC:芯片供電
問:上面這個引腳怎么叫接收器也叫輸出器?是不是作為接受和發送公用?
答:一般在485設備的數據向MCU發送時我們把芯片叫做接收器,因為它接收了外界的數據。在MCU向485設備發送數據時我們把芯片叫做驅動器,因為這時候像是我們驅動了芯片讓它向外發送數據。
SP3485的驅動器輸出是差分輸出,空載時輸出電壓的大小為0V~+3.3V。SP3485有一根使能控制線(高電平有效)。DE上的邏輯高電平(1)將使能驅動器的差分輸出。
SP3485接收器的輸入是差分輸入,接收器的輸入電阻通常為15K。如果RE為低,接收器使能,反之接收器禁止。
這樣就得到了一個結論:
- ED: 1發送使能;0發送禁止
- RE: 0接收使能;1接收禁止
因此,我們一般將ED和RE接在一起,單片機MCU向外發送數據時,將USART_EN置位1,單片機MCU接收外界送數據時,將USART_EN置位0,即可。
當然我們在寫程序時候,就相對會比較麻煩,因為我們要在接收和發送時將USART_EN引腳置位不同的電平。
![wKgZomYvQp2AMfo5AAEBnEKzrpo276.png](https://file1.elecfans.com/web2/M00/DE/5D/wKgZomYvQp2AMfo5AAEBnEKzrpo276.png)
問:那有沒有一種可以自動收發功能的電路呢?
答:有的!只要我們在這個電路的基礎上加一個三極管就可以解決了。
![wKgZomYvQq6AVPX8AAI96GPbeqU547.png](https://file1.elecfans.com/web2/M00/DE/5D/wKgZomYvQq6AVPX8AAI96GPbeqU547.png)
大家看:我們在前面電路的基礎上加了一個經典的三極管開關電路。電阻R6、電阻R7和NPN三極管Q1組成一個典型的三極管開關電路。R7是限流電阻,最好選擇4.7K,也可以選擇10K。R6是上拉電阻,可以選擇4.7K或者10K。當TX高電平,三極管導通,RE和DE引腳接地,進入接收模式。當TX低電平,三極管截止,RE和DE引腳接高電平,進入發送模式。
問:DI引腳本來是接TX的,現在直接接地了,那豈不是發送的數據都是0?可以正常工作嗎?
答:可以的。
在發送數據時,用的是單片機的TX引腳,也就是說,在TX引腳上表現數據。要發送數據0x32,寫成二進制就是0x00110010,TXD引腳上就會依次的用高低電平體現1和0。當TX發送0時,三極管不導通,DE接高電平,進入發送模式,485芯片會把DI上的電平反應到AB引腳上輸出,因為DI已經接地,所以AB引腳會傳輸0。所以,當TXD發送0時,AB引腳發送0。當TX發送1時,三極管導通,RE接低電平,進入接收模式,485芯片的AB引腳進入高阻狀態,因為R3把A拉高,R2把B拉低,所以,AB傳輸的是1。所以,當TXD發送1時,AB引腳發送1。
而在接受數據過程中,用的是單片機引腳RX,在RXD引腳上表現數據。在接收數據的過程中,TX引腳是一直保持高電平的,當TXD是高電平時,RE是低電平,正好變成了接收狀態,然后485芯片的RO引腳(也就是接RX的引腳)就會接收AB傳輸過來的數據。
總結
- RS485_COMACT_IO這種方式并非某個芯片獨有,485通訊只需要MCU上面具備串口就可以使用。
- SP3485接收器的輸入是差分輸入,接收器的輸入電阻通常為15K。如果RE為低,接收器使能,反之接收器禁止。因此,我們一般將ED和RE接在一起,單片機MCU向外發送數據時,將USART_EN置位1,單片機MCU接收外界送數據時,將USART_EN置位0,即可。
- 只要我們在這個電路的基礎上加一個三極管就可以實現電路自動收發功能。
- DI引腳本來是接TX的,現在直接接地了,仍然可以正常工作。
-
芯片
+關注
關注
456文章
51170瀏覽量
427261 -
接口
+關注
關注
33文章
8691瀏覽量
151917 -
RS485
+關注
關注
39文章
1165瀏覽量
82594 -
串口
+關注
關注
14文章
1557瀏覽量
77042 -
收發電路
+關注
關注
0文章
23瀏覽量
2034
發布評論請先 登錄
相關推薦
使用自動收發的RS485電路時,A,B線波形只有半波是怎么回事?
純干貨!RS485接口電路設計攻略
隔離、iCoupler技術和iCoupler產品常見問題解答
RS485自動收發電路可以達到特定的波特率嗎?
RS485自動收發電路怎么設計?
了解RS485設計中關于速率、距離的問題解決
RS485收發的3種典型電路-重點-自動收發電路資料下載
![<b class='flag-5'>RS485</b><b class='flag-5'>收發</b>的3種典型<b class='flag-5'>電路</b>-重點-<b class='flag-5'>自動</b><b class='flag-5'>收發電路</b>資料下載](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
一種RS485自動收發電路
![一種<b class='flag-5'>RS485</b><b class='flag-5'>自動</b><b class='flag-5'>收發電路</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
rs485收發器芯片選擇?
踩坑又給項目埋雷,RS485自動收發電路設計
![踩坑又給項目埋雷,<b class='flag-5'>RS485</b><b class='flag-5'>自動</b><b class='flag-5'>收發電路</b>設計](https://file1.elecfans.com/web3/M00/01/4A/wKgZO2dSW_2AbkIkAAASDdThh94098.jpg)
評論