概述
MAX3110E内部集成了全功能UART和内置电泵电容以及土15kV ESD保护的RS-232收发器。其中,UART部分采用兼容SPITM/QSPITM/MICROWIRETM的串行接口,因而可节省线路板空间和微控制器的μC)I/0引脚。由于RS-232部分使用了特有的低压差输出级,从而使双接收/发送接口能够在高速通信、正常电源下提供真正的RS-232特性,而功耗仅600μA。由于UART和RS-232两部分电路共用电源和地,所以,它们既可联合使用也可独立使用。
通过MAX3110E可实现/μ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发送器输入端或输出端;
Vcc,GND:电源和地;
X1,X2:晶振连接端,使用外部时钟时,Xl为外部时钟的输入端,而此时X2不连;
CTS:UART清除发送输入端,低电平有效;
RTS :UART发送请求输出端,低电平有效,由RTS位控制。也可用来控制RS485网络中的驱动器使能;
RX,TX:UART异步串行数据(接收器)输入端和(发送器)输出端;
DIN:SPI/MICROWIRE串行数据输入端,为施密特触发模式;
DOUT:SPI/MICROWIRE串行数据输出端,CS=1时为高阻态;
SCLK:SPl/MICROWIRE串行时钟输入端;
CS:UART片选输入端,低电平有效;
IRQ:UART中断输出端,低电平有效,开漏输出至微处理器;
SHDN:硬件关闭输入端,当SHDN=0时,关闭RS232发送器和电泵;
V+,V-:内部电泵产生的+5.5V和-5.5V电压;
C1+,C2+:内部电泵电容的正极,一般不连接;
C1-,C2-:内部电泵电容的负极,一般不连接。
2.2内部结构及功能
MAX3110E的内部结构功能如图2所示,它包括UART与RS-232两个独立的部分。其中,UART部分包括兼容于SPI的串行接口、可编程波特率发生器、发送缓冲器及发送移位寄存器、接收缓冲器及接收移位寄存器、8字节接收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位字节,就会同时从DOUT产生一个16位的字节。其中,DIN数据字的前两位决定了传输数据的类型。当CS变低时,系统等待一个新的16位数据字,DIN(MOSI)通常在时钟信号的上升沿锁存,而DOUT(MISO)则在时钟信号的上升沿被
读入微处理器,DOUT的第一位(15位)由CS信号的下降沿传送,而14-0位则在SCLK的下降沿被传送。
3.2软件编程
通过串行接口来读/写MAX3110E的内部寄存器,可完成UART的波特率设定、数据字长设置、奇偶校验使能、中断使能、8字节FIFO使能以及收/发数据的读/写等。其配置由DIN、DOUT端各自的16位寄存器中的各位来控制,各位的具体涵义及状态如表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等位的设置将在本次发送结束后有效,而屏蔽位(TM,RM,PM,RAM)则在第16个时钟信号的上升沿开始有效。输出的DOUT带有14个尾零,前两位R和T是可选的。UART必须在晶振振荡稳定之后,才能正确地配置寄存器。
读设置寄存器模式可用来读取UART的最新配置,以控制芯片进入测试模式(位TEST=1时)。所谓测试模式是指芯片在内部将TX和RX连接,以实现自发自收的操作。
写数据寄存器模式可用来向TX缓冲器发送数据或从RX缓冲器中接收数据。如果没有新的数据,R位将会在第16个时钟信号的下降沿被清除。如果不传送数据而只想改变RTS的状态,则可将TE位置为1,以禁止数据的发送。
使用读数据寄存器模式可接收来自8字节FI-FO的数据。但应注意:读数据时将会清除R位及IRQ中断位。
3.3中断源与屏蔽
MAX3110E有4个可屏蔽中断源,分别为R、T、RA/FE与Pr。当其中任一中断源发出请求且未被屏蔽时,MAX3110E将提出中断请求。如果中断的初始化条件不存在,那么,系统将通过读或写数据寄存器来清除IRQ中断。图4所示是中断源与屏蔽的功能框图。
3.4关断模式
MAX3110E的关断包括硬件关断与软件关断两冲模式,其中,硬件关断仅影响RS232收发器,而软件关断则控制UART工作,两者相互间没有影响。
通过软件命令SHDNi=1可使UART进入软件关断模式,当系统进入关断模式后,系统振荡器停止,功耗降低,同时清除FIFO,R,RA/FE,DOr-D7r,Pr,Pt等寄存器以及置T=1。UART在关闭时,仍能监视接收器的活动。当SHDNoi=0退出软件关断模式时,振荡器在CS的上升沿开始起振。
通过将管脚SHDN接地可对RS-232收发器进行硬件关断,硬件断关时,电源电流为Iccshdn,电泵关闭,V+降为Vcc,V-升为0,发送器输出端变为高阻态。将管脚SHDN接Vcc则可退出硬件关断模式。
4 典型应用
每个MAX3110E内部均包含一个全功能的UART,以及两个RS232驱动器/接收器。MAX3110E在9位网络工作模式下支持多点通信;而在IrDA模式下则可用来与其它兼容SIR的IrDA设备进行红外通讯,详细的操作过程与MAX3100类似。MAX3110E使用1.8432MHz或3.6864MHz晶振,可产生300-230kB/s的所有通用波特率,因而可提供各种灵活的通信方式。
UART和RS232既可联合使用,也可分开单独使用,其典型应用电路分别如图5和图6所示。
对于没有SPI接口的微处理器,一般需要采用接口线和软件子程序来模拟SPI接口,此时应使用CPOL=0,CPHA=0模式。需要注意的是:每次发送与接收的数据必须是16位字节,通信的波特率也必须协调一致。对于8051系列单片机,可使用下面的UTLK子程序来模拟SPI接口,其中的TXl和TX2作为发送数据寄存器,而RXl和RX2则作为接收数据寄存器,具体程序如下:
口线定义
DOUT BIT P1.0 ;数据从UART输出
DIN BIT P1.1 ;数据从UART输入
SCLK BlT P1.2 ;串行时钟
CS BlT P1.3 ;片选,低电平有效
IRQ BIT P3.2 ;中断请求
;RAM单元分配
TXl EQU 10H ;发送数据寄存器高八位
TX2 EQU 11H ;发送数据寄存器低八位
RXl EQU 12H ;接受数据寄存器高八位
RX2 EQU 13H ;接受数据寄存器低八位
UTLK子程序
UTLK:
CLR CS ;使MAX3110E片选端有效
MOV A,TXl ;从TX1中取高八位数据
CALL BYT8 ;发送并接收高八位
MOV RXl,A ;接收到的高八位送RX1
MOV A,TX2 ;从TX2中取低八位数据
CALL BYT8 ;发送并接收低八位
MOV RX2,A ;接收到的低八位送RX2
SETB CS ;使片选端无效
RET
从DIN端移出8位,同时从DOUT端接收8位送到A
BYT8:MOV #8 ;8位传送
SETB DOUT ;确保能从DOUT接收
B8LP:RLC A ;将最高位移至CY
MOV DIN,C ;发送到DIN端
SETB SCIK ;时钟脉冲上跳
MOV C,DOUT ;读取数据位
CLR SCLK ;时钟脉冲下跳
MOV ACC.0,C ;接收位送至ACC.0
DJNZ R4,B8LP ;循环直到8位完成
全部0条评论
快来发表一下你的评论吧 !