基于C8051F020的通用串口適配器的設(shè)計與實現(xiàn)
發(fā)布時間:2008/5/27 0:00:00 訪問次數(shù):828
    
     王曉寧,譚業(yè)雙,呂洪斌,李菲菲
    
    1 引言
    
    串行通信的廣泛應(yīng)用可使各種傳輸設(shè)備有機地連成一體,能夠安全可靠地進行數(shù)據(jù)交換和信息傳遞。但是由于各個設(shè)備傳輸信道上的信號不同,所應(yīng)用的串口也各種各樣,要完成眾多設(shè)備相互之間的通信,就必然要涉及到各個設(shè)備之間的串口轉(zhuǎn)換問題。
    
    為了使計算機的rs-232接口與各種不同的串口進行通信,從而測試或控制不同設(shè)備的工作狀態(tài),本文設(shè)計了一種通用串口適配器,適配器有4個對外接口,其中,1口連接控制計算機,2、3、4口連接不同標(biāo)準(zhǔn)串口的通信設(shè)備,如圖1所示。
    
    
    2 硬件設(shè)計
    
    為了實現(xiàn)對適配器的自動控制以及擴展其他接口,采用了c8051f020單片機。適配器選用了c8051f020微處理器、max4534電子模擬開關(guān)、max232電平轉(zhuǎn)換器以及rs-485/rs-422信號轉(zhuǎn)換器max491等。
    
    
    整個系統(tǒng)以c8051f020為核心,原理框圖如圖2所示。通過串口1控制從上位機串口發(fā)送的數(shù)據(jù)的接收、存儲和判別,然后通過串口2控制電子模擬開關(guān),使其內(nèi)部的模擬開關(guān)接通相應(yīng)的串口,最后實現(xiàn)計算機與各個串口的通信。
    
    2.1 與上位機通信電路
    
    c8051f020引腳的信號電平為ttl類型,而pc機串口的異步串行通信基于rs-232標(biāo)準(zhǔn)。兩者通信信號的邏輯電平不一致,必須進行信號電平轉(zhuǎn)換。因此,選用maxim公司的max232實現(xiàn)ttl電平與rs-232電平的雙向轉(zhuǎn)換。
    
    max232包含兩路接收和驅(qū)動器,適用于各種eia-232c和v.28/v.24的通信接口。該器件內(nèi)置一個電源電壓轉(zhuǎn)換器,可將5 v電壓轉(zhuǎn)換成rs-232c輸出電平所需的±10 v電壓。所以,采用此器件的串行通信系統(tǒng)只需單一的+5 v電源。
    
    
    串口通信的rs-232通信距離以不超過12 m為宜。接口采用9針串口db9,串口傳輸數(shù)據(jù)只要有接收數(shù)據(jù)引腳和發(fā)送引腳就可實現(xiàn)。 2.2 模擬開關(guān)控制電路該控制電路主要由max4534(一對四)完成。地址端a0和a1與單片機i/o端口相連,開關(guān)1、2、3、4分別與各測試設(shè)備的串口相連,max4534的內(nèi)部連接邏輯如圖3所示。
    
    當(dāng)上位機實現(xiàn)與單片機的握手后,若與rs-422口通信。則需先發(fā)送一個檢測信號test,該信號經(jīng)max232電平轉(zhuǎn)換后,送至單片機c8051f020,單片機接收到信號后,通過其i/o端口p6.0和p6.1的輸出狀態(tài)分別控制開關(guān)max4534的地址端a0和a1。若a0和a1均為0,則接通開關(guān)no1,如表1所示,使檢測電路的max491接收端處于導(dǎo)通狀態(tài),從而形成通路。此時單片機回發(fā)一個通路信號給上位機,當(dāng)上位機接收到通路信號后,mcu的串口txd端就可自由發(fā)送數(shù)據(jù),從設(shè)備發(fā)來的回應(yīng)信號也可以被mcu正常接收,從而完成整個通信過程。
    
    
    2.3 rs-232(ttl電平)接口電路設(shè)計
    
    因為從單片機引腳出來的信號為ttl電平,所以ttl電平的rs-232接口無需進行電平轉(zhuǎn)換,可以直接通過模擬開關(guān)max4534與串口相連。
    
    對于五線rs-232接口,由于c8051f020串口只有兩根線連接rxd和txd,rts和cts通過其兩個i/o口實現(xiàn)。
    
    
    2.4 rs-422接口的轉(zhuǎn)換電路設(shè)計
    
    rs-232串行接口屬于個人計算機(pc)及電信應(yīng)用領(lǐng)域中最為成功的串行數(shù)據(jù)標(biāo)準(zhǔn);而rs-422串行接口則是工業(yè)應(yīng)用領(lǐng)域中最為成功的串行數(shù)據(jù)標(biāo)準(zhǔn)。上述這些數(shù)據(jù)標(biāo)準(zhǔn)并不直接相互兼容。rs-422標(biāo)準(zhǔn)全稱為"平衡電壓數(shù)字接口電路的電氣特性",它定義了接口電路的特性,與rs-232不同,rs-422數(shù)據(jù)信號采用差分傳輸方式,也稱作平衡傳輸,它使用一對兒雙絞線,將其中一條線路定義為a,另一條線路定義為b。通常情況下,發(fā)送驅(qū)動器a、b之間的正電平為+2 v~+6 v,是一個邏輯狀態(tài);負電平為-2 v~-6 v。rs-422的最大傳輸距離為4000英尺(約1 219 m),最大傳輸速率為10 mb/s,最多可接10個
    
     王曉寧,譚業(yè)雙,呂洪斌,李菲菲
    
    1 引言
    
    串行通信的廣泛應(yīng)用可使各種傳輸設(shè)備有機地連成一體,能夠安全可靠地進行數(shù)據(jù)交換和信息傳遞。但是由于各個設(shè)備傳輸信道上的信號不同,所應(yīng)用的串口也各種各樣,要完成眾多設(shè)備相互之間的通信,就必然要涉及到各個設(shè)備之間的串口轉(zhuǎn)換問題。
    
    為了使計算機的rs-232接口與各種不同的串口進行通信,從而測試或控制不同設(shè)備的工作狀態(tài),本文設(shè)計了一種通用串口適配器,適配器有4個對外接口,其中,1口連接控制計算機,2、3、4口連接不同標(biāo)準(zhǔn)串口的通信設(shè)備,如圖1所示。
    
    
    2 硬件設(shè)計
    
    為了實現(xiàn)對適配器的自動控制以及擴展其他接口,采用了c8051f020單片機。適配器選用了c8051f020微處理器、max4534電子模擬開關(guān)、max232電平轉(zhuǎn)換器以及rs-485/rs-422信號轉(zhuǎn)換器max491等。
    
    
    整個系統(tǒng)以c8051f020為核心,原理框圖如圖2所示。通過串口1控制從上位機串口發(fā)送的數(shù)據(jù)的接收、存儲和判別,然后通過串口2控制電子模擬開關(guān),使其內(nèi)部的模擬開關(guān)接通相應(yīng)的串口,最后實現(xiàn)計算機與各個串口的通信。
    
    2.1 與上位機通信電路
    
    c8051f020引腳的信號電平為ttl類型,而pc機串口的異步串行通信基于rs-232標(biāo)準(zhǔn)。兩者通信信號的邏輯電平不一致,必須進行信號電平轉(zhuǎn)換。因此,選用maxim公司的max232實現(xiàn)ttl電平與rs-232電平的雙向轉(zhuǎn)換。
    
    max232包含兩路接收和驅(qū)動器,適用于各種eia-232c和v.28/v.24的通信接口。該器件內(nèi)置一個電源電壓轉(zhuǎn)換器,可將5 v電壓轉(zhuǎn)換成rs-232c輸出電平所需的±10 v電壓。所以,采用此器件的串行通信系統(tǒng)只需單一的+5 v電源。
    
    
    串口通信的rs-232通信距離以不超過12 m為宜。接口采用9針串口db9,串口傳輸數(shù)據(jù)只要有接收數(shù)據(jù)引腳和發(fā)送引腳就可實現(xiàn)。 2.2 模擬開關(guān)控制電路該控制電路主要由max4534(一對四)完成。地址端a0和a1與單片機i/o端口相連,開關(guān)1、2、3、4分別與各測試設(shè)備的串口相連,max4534的內(nèi)部連接邏輯如圖3所示。
    
    當(dāng)上位機實現(xiàn)與單片機的握手后,若與rs-422口通信。則需先發(fā)送一個檢測信號test,該信號經(jīng)max232電平轉(zhuǎn)換后,送至單片機c8051f020,單片機接收到信號后,通過其i/o端口p6.0和p6.1的輸出狀態(tài)分別控制開關(guān)max4534的地址端a0和a1。若a0和a1均為0,則接通開關(guān)no1,如表1所示,使檢測電路的max491接收端處于導(dǎo)通狀態(tài),從而形成通路。此時單片機回發(fā)一個通路信號給上位機,當(dāng)上位機接收到通路信號后,mcu的串口txd端就可自由發(fā)送數(shù)據(jù),從設(shè)備發(fā)來的回應(yīng)信號也可以被mcu正常接收,從而完成整個通信過程。
    
    
    2.3 rs-232(ttl電平)接口電路設(shè)計
    
    因為從單片機引腳出來的信號為ttl電平,所以ttl電平的rs-232接口無需進行電平轉(zhuǎn)換,可以直接通過模擬開關(guān)max4534與串口相連。
    
    對于五線rs-232接口,由于c8051f020串口只有兩根線連接rxd和txd,rts和cts通過其兩個i/o口實現(xiàn)。
    
    
    2.4 rs-422接口的轉(zhuǎn)換電路設(shè)計
    
    rs-232串行接口屬于個人計算機(pc)及電信應(yīng)用領(lǐng)域中最為成功的串行數(shù)據(jù)標(biāo)準(zhǔn);而rs-422串行接口則是工業(yè)應(yīng)用領(lǐng)域中最為成功的串行數(shù)據(jù)標(biāo)準(zhǔn)。上述這些數(shù)據(jù)標(biāo)準(zhǔn)并不直接相互兼容。rs-422標(biāo)準(zhǔn)全稱為"平衡電壓數(shù)字接口電路的電氣特性",它定義了接口電路的特性,與rs-232不同,rs-422數(shù)據(jù)信號采用差分傳輸方式,也稱作平衡傳輸,它使用一對兒雙絞線,將其中一條線路定義為a,另一條線路定義為b。通常情況下,發(fā)送驅(qū)動器a、b之間的正電平為+2 v~+6 v,是一個邏輯狀態(tài);負電平為-2 v~-6 v。rs-422的最大傳輸距離為4000英尺(約1 219 m),最大傳輸速率為10 mb/s,最多可接10個
熱門點擊
- AMCCS5933在PCI板卡設(shè)計中的應(yīng)用
- 功率驅(qū)動器件與MCU/DSC的接口電路設(shè)計技
- USB端口的EMC解決方案
- 可編程多協(xié)議收發(fā)器MAX3160的原理與應(yīng)用
- HD7279A的原理與應(yīng)用
- 基于AVR單片機SPI的串行ADC接口設(shè)計
- 基于IP核的PCI總線接口設(shè)計與實現(xiàn)
- 基于USB接口的同步視頻輸出系統(tǒng)設(shè)計
- M-Bus終端收發(fā)芯片TSS721的原理及應(yīng)
- SDH接口芯片PM5342及其應(yīng)用
推薦技術(shù)資料
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究