- 相關(guān)推薦
串行通信控制器85C30及其應(yīng)用
摘要:85C30是美國(guó)AMD公司生產(chǎn)的高性能雙通道串并轉(zhuǎn)換通信控制器,它支持多種通信協(xié)議,可用于各種多串口通信應(yīng)用領(lǐng)域,文中介紹了85C30的特性、結(jié)構(gòu)和功能,給出了85C30在異步通信中的應(yīng)用方法。關(guān)鍵詞:串行通信控制器85C30異步通信
。备攀
。福担茫常笆牵粒停墓旧a(chǎn)的雙通道、全雙工、支持多種通信協(xié)議的通信控制芯片,該芯片自身帶有串并、并串轉(zhuǎn)換功能,可廣泛應(yīng)用于微控制器組成的多串口串行通信應(yīng)用系統(tǒng)中。其內(nèi)部集成了波特率生成器、數(shù)字鎖相環(huán)和晶體振蕩器等可編程器件,因而可大大減少對(duì)外圍電路的需要,提高了系統(tǒng)的可靠性,更適用于高速通信應(yīng)用領(lǐng)域。
。福担茫常暗闹饕匦匀缦拢
●具有兩個(gè)可全雙工工作的通信通道;
●可異步、同步串行通訊;
●符合面向字符的同步協(xié)議,如IBMBISYNC(二進(jìn)制同步通信協(xié)議);
●符合面向比特的同步協(xié)議,如同步數(shù)據(jù)鏈路控制協(xié)議HDLC和高級(jí)數(shù)據(jù)鏈路控制協(xié)議SDLC;
●最高數(shù)據(jù)傳輸率為4Mbit/s(同步模式);
●內(nèi)含波特率生成器、鎖相環(huán)和晶體振蕩器;
●具有奇偶校驗(yàn)、字符插入或刪除、CRC(循環(huán)冗余碼)生成和校驗(yàn)等多種自動(dòng)糾錯(cuò)功能。
2內(nèi)部結(jié)構(gòu)和引腳功能
。玻眱(nèi)部結(jié)構(gòu)
圖1所示為85C30的內(nèi)部結(jié)構(gòu)框圖。85C30可用于各種微控制器系統(tǒng)中,并具有查詢、中斷和DMA工作方式。
。玻惨_功能
。福担茫常熬哂校矗埃校模桑泻停矗矗校蹋茫脙煞N封裝形式?圖2為其44-PLCC封裝的引腳排列圖。85C30的主要引腳功能如下:
D0~D7:數(shù)據(jù)線引腳;
。遥、WR:讀、寫控制端?低電平有效;另外,若兩個(gè)引腳同時(shí)為低,可使芯片復(fù)位;
。粒拢和ǖ溃粒ǖ溃逻x擇;
。模茫簲(shù)據(jù)/命令選擇;
。茫牛浩x信號(hào);
。担,GND:電源接入端;
。校茫蹋耍合到y(tǒng)時(shí)鐘輸入端;
。桑危裕褐袛嗾(qǐng)求;
。桑危裕粒茫耍褐袛囗憫(yīng);
。桑牛,IEO:分別為中斷使能輸入、輸出端口;
RxDA,TxDA:分別為通道A的串行輸入、輸出;
。遥模,TxDB:分別為通道B的串行輸入、輸出;
。裕遥茫粒遥簦茫粒悍謩e為通道A的時(shí)鐘控制端;
TRxCB,RtxCB:通道B的時(shí)鐘控制端;
。樱伲危茫、W/REQA、DRT/REQA、RTSA、CTSA、DC-DA:通道A的同步通訊控制端;
SYNCB、W/REQB、DRT/REQB、RTSB、CTSB、DCDB:通道B的同步通訊控制端。
385C30中的寄存器
在數(shù)據(jù)通信過(guò)程中,系統(tǒng)是否能準(zhǔn)確地按照規(guī)定的協(xié)議完成通信任務(wù),主要取決于初始化及系統(tǒng)運(yùn)行期間程序?qū)Γ福担茫常暗淖x寫寄存器的合理運(yùn)用。使用時(shí),對(duì)片上每個(gè)通道的設(shè)置都應(yīng)包括16個(gè)寫寄存器和11個(gè)讀寄存器。在這16個(gè)寫寄存器中,有10個(gè)寫寄存器用于通用控制,2個(gè)用于同步字符的生成控制,2個(gè)用于片上波特率設(shè)置。此外,還有兩個(gè)雙通道共享的寫寄存器,一個(gè)用于中斷向量控制,另一個(gè)用于芯片總中斷開關(guān)控制。在11個(gè)讀寄存器中,有9個(gè)讀寄存器用于存儲(chǔ)通信狀態(tài)和數(shù)據(jù)。
。磻(yīng)用電路
85C30的接口電路如圖3所示,利用該電路可實(shí)現(xiàn)雙通道的全雙工異步通信,波特率為115.2kbps。電路中采用無(wú)響應(yīng)中斷模式,即在85C30有中斷申請(qǐng)且沒有進(jìn)行中斷服務(wù)時(shí),將85C30的INT引腳拉低有效,以向MCU申請(qǐng)中斷,而MCU不用向85C30輸出INTACK中斷響應(yīng)信號(hào),從而簡(jiǎn)化了電路。判定接收發(fā)送不同中斷源的中斷優(yōu)先級(jí)可由程序?qū)崿F(xiàn)。該電路主要由電平轉(zhuǎn)換電路、譯碼電路和MCU電路組成。
電平轉(zhuǎn)換電路的主要作用是提高板間通信的可靠性,由于板間通信采用的是485電平標(biāo)準(zhǔn),因此,可利用MAX490全雙工通信轉(zhuǎn)換芯片將TTL電平信號(hào)轉(zhuǎn)換為485電平標(biāo)準(zhǔn)的差分信號(hào)。而對(duì)于譯碼電路,由于85C30中有兩個(gè)通道,每個(gè)通道又有各自的命令口和數(shù)據(jù)口,而且每個(gè)口都需要有相應(yīng)的硬件地址。因此,該譯碼電路由MCU的高8位地址線、低2位地址線及GAL和地址鎖存器573組成。
。停茫针娐分饕桑福埃茫保梗叮耍媒M成,與MCU的連線有數(shù)據(jù)線D0~D7、RD、WR控制線和INT線,其中INT連至MCU的外部中斷EXINT引腳,這樣,一旦85C30有中斷申請(qǐng),MCU可將其作為一個(gè)外部中斷申請(qǐng)來(lái)自動(dòng)生成相應(yīng)的中斷向量,從而執(zhí)行相應(yīng)的中斷服務(wù)程序。中斷服務(wù)程序入口地址為0X203E。另外,PCLK外接11.05926M的晶振可用于為系統(tǒng)提供時(shí)鐘。
圖4接收、發(fā)送中斷服務(wù)程序
。祽(yīng)用程序
。担背跏蓟
圖4給出了85C30一個(gè)通道的初始化流程圖,由于芯片的兩個(gè)通道所采用的通信協(xié)議完全相同,因此初始化過(guò)程也相同。每個(gè)通道的初始化可分為三個(gè)步驟:第一是進(jìn)行各協(xié)議設(shè)置(如異步、校驗(yàn)、波特率、字符長(zhǎng)度等);第二是對(duì)各種功能的使能(包括波特率生成器,接收中斷,發(fā)送中斷);第三為開中斷。
。担步邮瞻l(fā)送中斷服務(wù)程序
。停茫赵谑盏剑福担茫常暗模桑危杂行盘(hào)后將進(jìn)入外部中斷服務(wù)程序。圖4給出了該中斷服務(wù)的流程圖。用該程序的一定順序查詢芯片的RR2即可實(shí)現(xiàn)芯片間和芯片內(nèi)的中斷優(yōu)先處理任務(wù),對(duì)85C30各中斷事件的優(yōu)先級(jí)設(shè)定如表1所列。
表185C30各中斷事件的優(yōu)先級(jí)
通道A接收中斷
通道A發(fā)送中斷RR2=6
RR2=4HIGH
↓
LOW通道B接收中斷
通道B發(fā)送中斷RR2=2
RR2=0
。福担茫常爸械淖x寄存器RR2能實(shí)時(shí)反映出芯片內(nèi)申請(qǐng)中斷的各個(gè)中斷源優(yōu)先級(jí)最高的中斷源,當(dāng)芯片沒有中斷申請(qǐng)時(shí),RR2的默認(rèn)值為3。程序執(zhí)行時(shí),系統(tǒng)將首先判斷U4是否有中斷申請(qǐng),若有,則處理相應(yīng)任務(wù)。另外,在MCU處理了一個(gè)85C30的中斷源后,再次讀取RR2,則可再次得知當(dāng)前申請(qǐng)中斷的優(yōu)先級(jí)最高的中斷源。這樣,就可以通過(guò)一次硬件中斷申請(qǐng)來(lái)完成多個(gè)中斷源的任務(wù),從而大大節(jié)省了頻繁進(jìn)出中斷的現(xiàn)象,從而節(jié)約了中斷處理時(shí)間,提高了系統(tǒng)的可靠性和靈活性。
。督Y(jié)束語(yǔ)
。福担茫常熬哂袃蓚(gè)通道,可支持多種通信協(xié)議,并可方便地?cái)U(kuò)展系統(tǒng)串口,提高系統(tǒng)通信的靈活性和可靠性。當(dāng)系統(tǒng)中各子通道通信速度不一樣時(shí),僅需修改各自通道中的波特率寄存器的設(shè)置即可。實(shí)驗(yàn)證明:在異步模式下,該系統(tǒng)可實(shí)現(xiàn)雙通道115.2kbps的通信速度,且其錯(cuò)誤率為0%。
【串行通信控制器85C30及其應(yīng)用】相關(guān)文章:
串行接口鍵盤控制器SK5278及其在單片機(jī)系統(tǒng)中的應(yīng)用08-06
TMS320LF2407 DSP控制器的串行通信設(shè)計(jì)08-06
ADμC812的串行外設(shè)接口(SPI)及其應(yīng)用08-06
基于DSP的串行通信在變頻調(diào)速系統(tǒng)中的應(yīng)用08-06