集UART與RS232于一體的MAX3110E原理及應(yīng)用
1 概述
MAX3110E內(nèi)部集成了全功能UART和內(nèi)置電泵電容以及土15kV ESD保護(hù)的RS-232收發(fā)器。其中,UART部分采用兼容SPITM/QSPITM/MICROWIRETM的串行接口,因而可節(jié)省線路板空間和微控制器的μC)I/0引腳。由于RS-232部分使用了特有的低壓差輸出級,從而使雙接收/發(fā)送接口能夠在高速通信、正常電源下提供真正的RS-232特性,而功耗僅600μA。由于UART和RS-232兩部分電路共用電源和地,所以,它們既可聯(lián)合使用也可獨立使用。
通過MAX3110E可實現(xiàn)/μC的同步串行數(shù)據(jù)接口到異步串行通信口(RS-232)的轉(zhuǎn)換,它可直接與PC機(jī)的串行口(COM)相連。MAX3110E具有尺寸小,價格低,功耗少,通信速率高等特點,因此有著較好的應(yīng)用前景。
2 管腳排列及內(nèi)部結(jié)構(gòu)
2.1管腳說明
MAX3110E有28腳窄DIP和28腳寬SO兩種封裝形式,其管腳排列如圖1所示。各管腳的功能說明如下:
RlIN,RlOUT,R2IN,R20UT:RS-232接收器輸入端或輸出端。
TlIN,T10UT,T2IN,T20UT:RS-232發(fā)送器輸入端或輸出端;
Vcc,GND:電源和地;
X1,X2:晶振連接端,使用外部時鐘時,Xl為外部時鐘的輸入端,而此時X2不連;
CTS:UART清除發(fā)送輸入端,低電平有效;
RTS :UART發(fā)送請求輸出端,低電平有效,由RTS位控制。也可用來控制RS485網(wǎng)絡(luò)中的驅(qū)動器使能;
RX,TX:UART異步串行數(shù)據(jù)(接收器)輸入端和(發(fā)送器)輸出端;
DIN:SPI/MICROWIRE串行數(shù)據(jù)輸入端,為施密特觸發(fā)模式;
DOUT:SPI/MICROWIRE串行數(shù)據(jù)輸出端,CS=1時為高阻態(tài);
SCLK:SPl/MICROWIRE串行時鐘輸入端;
CS:UART片選輸入端,低電平有效;
IRQ:UART中斷輸出端,低電平有效,開漏輸出至微處理器;
SHDN:硬件關(guān)閉輸入端,當(dāng)SHDN=0時,關(guān)閉RS232發(fā)送器和電泵;
V+,V-:內(nèi)部電泵產(chǎn)生的+5.5V和-5.5V電壓;
C1+,C2+:內(nèi)部電泵電容的正極,一般不連接;
C1-,C2-:內(nèi)部電泵電容的負(fù)極,一般不連接。
2.2內(nèi)部結(jié)構(gòu)及功能
MAX3110E的內(nèi)部結(jié)構(gòu)功能如圖2所示,它包括UART與RS-232兩個獨立的部分。其中,UART部分包括兼容于SPI的串行接口、可編程波特率發(fā)生器、發(fā)送緩沖器及發(fā)送移位寄存器、接收緩沖器及接收移位寄存器、8字節(jié)接收FIFO以及有四種可屏蔽中斷源的中斷產(chǎn)生器。而RS-232部分包括自帶電容的電泵,以及可由SHDN對其進(jìn)行硬件關(guān)斷的。
與MAXIM的其它產(chǎn)品一樣,MAX3110E同樣具有ESD保護(hù)結(jié)構(gòu),可對意想不到的靜電起強(qiáng)大的保護(hù)作用,其抗靜電能力達(dá)±15kV,并可適應(yīng)各種ESD情況,如正常操作、關(guān)斷模式和斷電等。
3 讀寫時序及軟件編程
3.1 讀寫時序
MAX3110E具有兼容SPI/QSPI(CPOL=0,CPHA=0)以及MICROWIRE的串行接口,可方便地與μC的SPI進(jìn)行接口連接,其同步串行SPI接口的時序如圖3所示。它支持μC的I/0線訪問,并可用51系列單片機(jī)的P1口模擬SPI串行接口。
SPI串行接口是一個獨立的全雙工結(jié)構(gòu),它只接收16位數(shù)據(jù)字。因此,不論寄存器是否使用,只要從DIN接收一個16位字節(jié),就會同時從DOUT產(chǎn)生一個16位的字節(jié)。其中,DIN數(shù)據(jù)字的前兩位決定了傳輸數(shù)據(jù)的類型。當(dāng)CS變低時,系統(tǒng)等待一個新的16位數(shù)據(jù)字,DIN(MOSI)通常在時鐘信號的上升沿鎖存,而DOUT(MISO)則在時鐘信號的上升沿被讀入微處理器,DOUT的第一位(15位)由CS信號的下降沿傳送,而14-0位則在SCLK的下降沿被傳送。
3.2軟件編程
通過串行接口來讀/寫MAX3110E的內(nèi)部寄存器,可完成UART的波特率設(shè)定、數(shù)據(jù)字長設(shè)置、奇偶校驗使能、中斷使能、8字節(jié)FIFO使能以及收/發(fā)數(shù)據(jù)的讀/寫等。其配置由DIN、DOUT端各自的16位寄存器中的各位來控制,各位的具體涵義及狀態(tài)如表1所列。
MAX3110E內(nèi)有寫設(shè)置寄存器,讀設(shè)置寄存器,寫數(shù)據(jù)寄存器和讀數(shù)據(jù)寄存器等四種操作命令,表2是四種寄存器的操作格式。
寫設(shè)置寄存器模式的作用是清除FIFO、R、T、RA/FE、DOr-D7r、DOt-D7t、Pr和Pt等寄存器,但RTS與CTS不受影響。DIN中FEN,SHDNi,IR,ST,PE,L,B3-BO等位的設(shè)置將在本次發(fā)送結(jié)束后有效,而屏蔽位(TM,RM,PM,RAM)則在第16個時鐘信號的上升沿開始有效。輸出的DOUT帶有14個尾零,前兩位R和T是可選的。UART必須在晶振振蕩穩(wěn)定之后,才能正確地配置寄存器。
讀設(shè)置寄存器模式可用來讀取UART的最新配置,以控制芯片進(jìn)入測試模式(位TEST=1時)。所謂測試模式是指芯片在內(nèi)部將TX和RX連接,以實現(xiàn)自發(fā)自收的操作。
寫數(shù)據(jù)寄存器模式可用來向TX緩沖器發(fā)送數(shù)據(jù)或從RX緩沖器中接收數(shù)據(jù)。如果沒有新的數(shù)據(jù),R位將會在第16個時鐘信號的下降沿被清除。如果不傳送數(shù)據(jù)而只想改變RTS的狀態(tài),則可將TE位置為1,以禁止數(shù)據(jù)的發(fā)送。
使用讀數(shù)據(jù)寄存器模式可接收來自8字節(jié)FI-FO的數(shù)據(jù)。但應(yīng)注意:讀數(shù)據(jù)時將會清除R位及IRQ中斷位。
3.3中斷源與屏蔽
MAX3110E有4個可屏蔽中斷源,分別為R、T、RA/FE與Pr。當(dāng)其中任一中斷源發(fā)出請求且未被屏蔽時,MAX3110E將提出中斷請求。如果中斷的初始化條件不存在,那么,系統(tǒng)將通過讀或?qū)憯?shù)據(jù)寄存器來清除IRQ中斷。圖4所示是中斷源與屏蔽的功能框圖。
3.4關(guān)斷模式
MAX3110E的關(guān)斷包括硬件關(guān)斷與軟件關(guān)斷兩沖模式,其中,硬件關(guān)斷僅影響RS232收發(fā)器,而軟件關(guān)斷則控制UART工作,兩者相互間沒有影響。
通過軟件命令SHDNi=1可使UART進(jìn)入軟件關(guān)斷模式,當(dāng)系統(tǒng)進(jìn)入關(guān)斷模式后,系統(tǒng)振蕩器停止,功耗降低,同時清除FIFO,R,RA/FE,DOr-D7r,Pr,Pt等寄存器以及置T=1。UART在關(guān)閉時,仍能監(jiān)視接收器的活動。當(dāng)SHDNoi=0退出軟件關(guān)斷模式時,振蕩器在CS的上升沿開始起振。
通過將管腳SHDN接地可對RS-232收發(fā)器進(jìn)行硬件關(guān)斷,硬件斷關(guān)時,電源電流為Iccshdn,電泵關(guān)閉,V+降為Vcc,V-升為0,發(fā)送器輸出端變?yōu)楦咦钁B(tài)。將管腳SHDN接Vcc則可退出硬件關(guān)斷模式。
評論