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