原子哥 硬石 普中 洋桃 安富萊 野火 正點(diǎn)原子 普中科技 硬石電子 洋桃電子 安富萊電子 野火電子 可以發(fā)現(xiàn),485通訊模塊大家普遍用的只有兩種芯片,SP3485和MAX485,而且原理圖畫的都差不多。 1 傳統(tǒng)RS485電路 不管是SP3485還是MAX485它們電路都是一樣的。 先說(shuō)一下原理:因?yàn)閱纹瑱C(jī)通信一般是TTL電平,而我們的外接設(shè)備如果是485設(shè)備,通信的電平就是485電平,這兩者的電平是不一樣的,所以兩者不能直接相接一起。中間需要一個(gè)電平轉(zhuǎn)換的芯片來(lái)協(xié)商一下,所以就有了我們的485芯片。因?yàn)?85通信是半雙工的,就是發(fā)送數(shù)據(jù)的時(shí)候不能同時(shí)接收數(shù)據(jù),所以我們又把485芯片叫做半雙工收發(fā)器。而SP3485芯片就是一款非常經(jīng)典的低功耗半雙工收發(fā)器,滿足RS-485串行協(xié)議要求。然后這款芯片的引腳定義如下: RO 一 接收器輸出 RE 一 接收器輸出使能(低電平有效) DE — 驅(qū)動(dòng)器輸出使能(高電平有效) DI 一 驅(qū)動(dòng)器輸入 GND 一 連接地 A — 驅(qū)動(dòng)器輸出/接收器輸入(同相) B — 驅(qū)動(dòng)器輸出/接收器輸入(反相) VCC —芯片供電現(xiàn)在你可能有疑問(wèn)?這個(gè)引腳怎么叫做接收器也叫輸出器???還真人這么問(wèn)。一般在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è)趯懗绦驎r(shí)候,就相對(duì)會(huì)比較麻煩,因?yàn)槲覀円诮邮蘸桶l(fā)送時(shí)將USART_EN引腳置位不同的電平。 那么有沒(méi)有一種可以自動(dòng)收發(fā)功能的電路呢?答案是有的,只要我們?cè)谶@個(gè)電路的基礎(chǔ)上加一個(gè)三極管就可以解決了。 2 自動(dòng)切換收發(fā)的RS485電路 大家看我們?cè)谇懊骐娐返幕A(chǔ)上加了一個(gè)經(jīng)典的三極管開關(guān)電路。電阻R6、電阻R7和NPN三極管Q1組成一個(gè)典型的三極管開關(guān)電路。R7是限流電阻,最好選擇4.7K,也可以選擇10K。R6是上拉電阻,可以選擇4.7K或者10K。學(xué)過(guò)模電大家知道,NPN三極管,高電平導(dǎo)通。當(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?可以正常工作嗎?答:當(dāng)然可以!發(fā)送數(shù)據(jù)過(guò)程發(fā)送數(shù)據(jù),用的是單片機(jī)的TX引腳,也就是說(shuō),在TX引腳上表現(xiàn)數(shù)據(jù)。要發(fā)送數(shù)據(jù)0x32,寫成二進(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。一句話:TXD發(fā)1,AB就發(fā)1;TXD發(fā)0,AB就發(fā)0。接收數(shù)據(jù)過(guò)程接收數(shù)據(jù),用的是單片機(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ù)。怎么樣神奇吧!那么有沒(méi)有一款芯片可以自帶自動(dòng)切換收發(fā)功能的呢?答案是有的。 3 自動(dòng)切換方向芯片MAX13487為了克服軟件參與的方向控制不確定性,美信公司發(fā)布了宣稱首款支持芯片自動(dòng)換向的RS485芯片MAX13487。 對(duì)比其他的RS485芯片,MAX16487的RE引腳有兩個(gè)用處 RE為低電平時(shí),打開RO方向的接收數(shù)據(jù)。 RE為高電平時(shí),芯片進(jìn)入自動(dòng)方向切換模式。 我們將RE連接高電平,即自動(dòng)換向模式。 對(duì)應(yīng)的原理圖就是下面這樣: 直接將PIN2和PIN3接到VCC即可實(shí)現(xiàn)自動(dòng)收發(fā)功能。而且MAX13487E還要便宜一些。 那么如果現(xiàn)在讓你設(shè)計(jì)一個(gè)485電路,你會(huì)采取那種方案呢?作 作者:智果芯, 來(lái)源:果果小師弟 |
|
來(lái)自: 亮劍7mgtxtuz0o > 《硬件》