新聞中心

EEPW首頁(yè) > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > RS-232至RS-485RS-422接口的智能轉(zhuǎn)換器

RS-232至RS-485RS-422接口的智能轉(zhuǎn)換器

作者: 時(shí)間:2007-01-24 來(lái)源:網(wǎng)絡(luò) 收藏

  隨著計(jì)算機(jī)在工業(yè)的廣泛應(yīng)用,控制局域網(wǎng)絡(luò)也深入應(yīng)用到各行各業(yè)之中。現(xiàn)行的諸多控制系統(tǒng),若采用單機(jī)控制方式已越來(lái)越難以滿足設(shè)備控制的要求,因?yàn)橥覀兯刂频脑O(shè)備只是整個(gè)系統(tǒng)的一個(gè)基本單元,它既需要外部輸入一些必要的信息,同時(shí),也需要向外部輸出自身的運(yùn)行參數(shù)和狀態(tài)。所有這些,都要求我們采用控制網(wǎng)絡(luò)技術(shù),將眾多設(shè)備有機(jī)地連成一體,以保證整個(gè)系統(tǒng)安全可靠地運(yùn)行。

本文引用地址:http://2s4d.com/article/259000.htm

 目前,在我國(guó)應(yīng)用的現(xiàn)場(chǎng)總線中,使用最為普遍。當(dāng)用戶要將基于標(biāo)準(zhǔn)的接口設(shè)備,如PC機(jī),連接至由構(gòu)成的通訊網(wǎng)絡(luò)時(shí),則必須作之間的電平轉(zhuǎn)換。傳統(tǒng)的做法是在設(shè)備內(nèi)擴(kuò)展一個(gè)通訊適配卡,由通訊適配卡實(shí)現(xiàn)電平轉(zhuǎn)換,內(nèi)部主機(jī)再通過(guò)并行總線讀出或?qū)懭霐?shù)據(jù)。顯然,這種設(shè)計(jì)方法存在下列缺點(diǎn):

· 由于適配卡是基于某一種總線標(biāo)準(zhǔn)擴(kuò)展的,而不是基于電平標(biāo)準(zhǔn),所以其應(yīng)用范圍受到限制,只能一種適配卡適用一種總線(如ISA適配卡不可能插入STD總線或用戶自定義的總線),其通用性較差;

· 雖然實(shí)現(xiàn)的僅僅是電平轉(zhuǎn)換,但是由于需要考慮與擴(kuò)展總線的接口和增加一個(gè)標(biāo)準(zhǔn)的UART,并且需要占用系統(tǒng)的其它寶貴資源,使硬件和軟件變得過(guò)于復(fù)雜;

· 復(fù)雜的硬件設(shè)計(jì)大大增加了元器件的數(shù)目和電路板面,使適配卡的成本過(guò)高;

· 由于采用內(nèi)置插卡方式,使變更通信方式比較麻煩,如將半雙工通信方式設(shè)置為全雙工方式等。另外,維修和測(cè)試也比較麻煩;

· 對(duì)于現(xiàn)有的基于RS-232的設(shè)備,在無(wú)法變動(dòng)系統(tǒng)軟件和硬件的情況下,顯然適配卡無(wú)法將這些設(shè)備連成基于RS-485或RS-422通信網(wǎng)絡(luò)的分布式系統(tǒng)。

為了克服上述缺點(diǎn),同時(shí)考慮到RS-232接口的自身特點(diǎn),我們?cè)O(shè)計(jì)了一種小巧的、無(wú)須外部供電的智能收發(fā)轉(zhuǎn)換器,實(shí)現(xiàn)RS-232和RS-485RS-422之間的電平轉(zhuǎn)換。

1 功能描述及結(jié)構(gòu)框圖

 本作為一個(gè)獨(dú)立的電平轉(zhuǎn)換控制器,涉及線上取電、發(fā)送和接收狀態(tài)的智能切換、通信方式設(shè)置、RS-232電平與RS-485RS-422電平之間的轉(zhuǎn)換等方面。具體描述如下:

· 從RS-232接口上取電

 由于不采用外部供電方式,則必須從RS-232接口線取電,為內(nèi)部元器件供電。我們知道,標(biāo)準(zhǔn)的RS-232接口定義中,TXD、RTS和DTR是RS-232電平輸出。設(shè)計(jì)一個(gè)DC-DC轉(zhuǎn)換器,從這些信號(hào)上,能夠?yàn)橄到y(tǒng)提供一定的電源功率。

· 低功耗微處理器

微處理器通過(guò)監(jiān)測(cè)TXD信號(hào)的變化,決定是否允許數(shù)據(jù)發(fā)送和數(shù)據(jù)接收。另外,有關(guān)通信方式、波特率和半/雙工工作方式選擇也是通過(guò)TXD信號(hào),或I/O口來(lái)設(shè)定的。
· RS-232電平與TTL電平之間的轉(zhuǎn)換
· RS-485RS-422電平與TTL電平之間的轉(zhuǎn)換

其內(nèi)部電路結(jié)構(gòu)示意圖如圖1所示。

2 工作原理

 該必須解決兩個(gè)關(guān)鍵問(wèn)題,即如何從RS-232線上獲得電源和RS-485RS-422接口驅(qū)動(dòng)所需的功率,和如何智能控制RS-485RS-422的收發(fā)使能。

2。1 電源方案

 標(biāo)準(zhǔn)的RS-232定義中,有三個(gè)發(fā)送信號(hào):TXD,RTS和DTR。每根線上的典型輸出電流為±8mA/±12V,考慮到TXD為負(fù)電平(處于停止發(fā)送,或發(fā)送數(shù)字“1”時(shí))的時(shí)間較多,因而電源轉(zhuǎn)換決定采用負(fù)電源輸入,以最大限度地增加電源輸入功率,升壓至所需的工作電源。從RTS和DTR上輸入功率=2×8×12mW=192mW。另外,由于通訊為間歇工作方式,所以輸入電源端的儲(chǔ)能電容和TXD(為負(fù)電平時(shí))能夠補(bǔ)充一定的功率。假設(shè),我們?cè)O(shè)計(jì)一個(gè)效率為85%、輸出電壓為3V的DC-DC轉(zhuǎn)換器,則輸出電流可達(dá)54.5mA。

2.2 智能控制收發(fā)使能

 RS-232通訊接口采用電平方式傳輸,適用于點(diǎn)-點(diǎn)通訊,無(wú)須專(zhuān)門(mén)的收發(fā)使能控制;而對(duì)于RS-485RS-422通訊接口則不同,由于采用差分電平方式傳輸,且允許在一條通訊總線上掛接多個(gè)節(jié)點(diǎn),必然要求各個(gè)節(jié)點(diǎn)能夠獨(dú)立地控制總線驅(qū)動(dòng)器關(guān)斷或打開(kāi),保證不會(huì)影響到其它節(jié)點(diǎn)的正常通訊。為了簡(jiǎn)化與轉(zhuǎn)換器RS-232接口端相連的軟件工作,更重要的是為了提高本轉(zhuǎn)換器的通用性和靈活性(即插即用,無(wú)須要求用戶更改任何相關(guān)軟件和硬件),本轉(zhuǎn)換器內(nèi)置微處理器,實(shí)現(xiàn)收發(fā)使能的智能控制。具體方法:微處理器在檢測(cè)到UART的通信起始位后,打開(kāi)發(fā)送使能,允許串行數(shù)據(jù)發(fā)送至RS-485RS-422通訊網(wǎng)絡(luò)。微處理器根據(jù)所設(shè)定的波特率延時(shí)至UART停止位發(fā)送一半時(shí)(例如11位格式時(shí),延時(shí)10.5T,),開(kāi)始檢測(cè)是否有下一個(gè)起始位到來(lái)。在時(shí)間T內(nèi),若有下一個(gè)起始位到來(lái),則保持發(fā)送狀態(tài),否則將關(guān)閉發(fā)送使能,結(jié)束數(shù)據(jù)發(fā)送。

3 硬件設(shè)計(jì)

 由于本轉(zhuǎn)換器供電來(lái)自RS-232信號(hào)線,其輸入功率受到限制,因而在本設(shè)計(jì)中將盡可能地采用+3V供電的低功耗器件,保證總電流小于54.4mA。主要包括4個(gè)部分:DC-DC轉(zhuǎn)換器、RS-232接口、RS-485RS-422接口和微處理器。分別介紹如下:

3.1 DC-DC轉(zhuǎn)換器

顯然,還沒(méi)有一個(gè)DC-DC轉(zhuǎn)換器能夠直接實(shí)現(xiàn)-12V輸入,+3V輸出的IC。但是,如果我們利用現(xiàn)有的IC,稍作改動(dòng),即可實(shí)現(xiàn)該功能。圖2所示的DC-DC轉(zhuǎn)換電路,就是利用MAX761實(shí)現(xiàn)的-12V輸入,+3V輸出、效率高于85%的升壓DC-DC轉(zhuǎn)換器。該轉(zhuǎn)換器實(shí)際輸入電壓范圍為-2.5~-13.5V,靜態(tài)工作電流僅I1=120μA,具有輸出電流大于54.5mA的能力(如果前端輸入功率未受到限制,則輸出電流可達(dá)300mA以上)。由于MAX761采用高效率的PFM控制方式,而且在本電路中,開(kāi)關(guān)損耗較小因?yàn)殚_(kāi)關(guān)電流小于負(fù)載電流?、熕阅軌蜻_(dá)到比MAX761典型應(yīng)用更高的效率MAX761典型應(yīng)用效率為86%。輸出電壓由下列方程確定:

選取R2=100KΩ,根據(jù)所需要的輸出電壓,計(jì)算R1。

3.2 RS-232接口

  本轉(zhuǎn)換器只需要一片單發(fā)/單收RS-232接口就可以滿足要求,但必須要求+3V單電源工作、工作電流盡可能地小的接口電路。MAX3221/NAX3221E(帶±15kVESD保護(hù))剛好能夠滿足上述要求,具有1TX/1RX,其工作電壓+3~+5.5V,僅1μA的靜態(tài)電流,負(fù)載電流小于I2=2mA。

3.3 RS-485RS-422接口

  為兼顧RS-485RS-422接口中半雙工和全雙工的要求,本轉(zhuǎn)換器采用MAX3491作為RS-485RS-422接口電路,其主要指標(biāo)為:+3~+3.6V單電源工作、工作電流1mA驅(qū)動(dòng)60Ω負(fù)載時(shí)(半雙工時(shí),兩個(gè)120Ω終端匹配電阻的并聯(lián)值),峰值電流可達(dá)I3=3V/60Ω=50mA。半雙工和全雙工工作方式是通過(guò)跳線器來(lái)設(shè)置的,見(jiàn)圖3。


3.4 微處理器
  在本轉(zhuǎn)換器中,微處理器所要完成的任務(wù)很簡(jiǎn)單,僅需要幾根I/O線即可實(shí)現(xiàn)參數(shù)的設(shè)置和發(fā)送使能的自動(dòng)控制。實(shí)際選擇中,采用Microchip公司的PIC12C508A,其主要指標(biāo)為:工作電流<1.0mA工作電壓3V,頻率4MHz)6條I/O線,512kByte的ROM。其中,GP0、GP1、GP4和GP5四個(gè)引腳設(shè)定對(duì)應(yīng)于16種常用波特率(300、600、1200至38.4Kbps等8種,以及900、1800至115.4Kbps等8種)的延時(shí)時(shí)間;GP3對(duì)應(yīng)于10位或11位串行數(shù)據(jù)格式;GP2為T(mén)XD輸入,用來(lái)檢測(cè)UART何時(shí)發(fā)送和停止數(shù)據(jù);GP1為復(fù)用輸出引腳,用來(lái)控制MAX3491的發(fā)送使能控制端;GP0也為復(fù)用輸出引腳,用來(lái)控制MAX3491的接收使能。詳見(jiàn)圖3。

  本轉(zhuǎn)換器的最大電流總和<+++=0.12+2.0+50.0+1.0=53.12mA,小于DC-DC轉(zhuǎn)換器的最小輸出電流54.4mA,因而通過(guò)RS-232信號(hào)線為本電路供電是完全可行的。實(shí)際上,由于輸入電源端的儲(chǔ)能電容E1和TXD(為負(fù)電平時(shí))能夠?yàn)殡娐费a(bǔ)充一定的功率,所以設(shè)計(jì)上留有較大的電源功率裕量。

4 軟件設(shè)計(jì)

 本轉(zhuǎn)換器的軟件設(shè)計(jì)較為簡(jiǎn)單,微處理器復(fù)位后,將所有的I/O口設(shè)為輸入,并讀入所有的I/O狀態(tài),保存到寄存器;將GP2和GP3改設(shè)為輸出狀態(tài),并輸出低電平,使RS-485RS-422接口處于禁止發(fā)送、允許接收的狀態(tài)。CPU根據(jù)GPI0的初始狀態(tài),確定出用戶設(shè)定的通訊波特率和串行數(shù)據(jù)格式,從而預(yù)置內(nèi)部的延時(shí)設(shè)定。CPU檢測(cè)到UART開(kāi)始通訊后,打開(kāi)發(fā)送使能,經(jīng)內(nèi)部預(yù)置延時(shí)后,開(kāi)始在一個(gè)位寬時(shí)間內(nèi)檢測(cè)是否有下一個(gè)起始位到來(lái),如檢測(cè)到,則重新延時(shí)等待;否則,關(guān)閉發(fā)送使能,結(jié)束當(dāng)前通訊,重新檢測(cè)UART的起始位。對(duì)于半雙工通訊方式,允許發(fā)送使能前應(yīng)該關(guān)閉接收使能,而在發(fā)送使能關(guān)閉后才打開(kāi)接收使能。對(duì)于全雙工通訊方式,其接收使能可以不受此信號(hào)控制,而可以直接通過(guò)跳線接地,始終允許接收。

 總之,在本RS-232到RS-485RS-422接口的設(shè)計(jì)中,除了本身這個(gè)產(chǎn)品具有較高的應(yīng)用價(jià)值外,文中所涉及的RS-232信號(hào)線供電方案,由于其高效率、大電流輸出能力,在許多基于RS-232接口的應(yīng)用中都能夠很好地滿足應(yīng)用;另外,這種智能控制RS-485RS-422接口的收發(fā)使能的思想,在擴(kuò)展基于RS-485RS-422接口的網(wǎng)絡(luò)分支及延伸通訊距離都能夠得到很好的應(yīng)用。



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉