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