《33V串口扩展芯片XR16M654中文翻译.docx》由会员分享,可在线阅读,更多相关《33V串口扩展芯片XR16M654中文翻译.docx(62页珍藏版)》请在三一办公上搜索。
1、XR16M65/654D1.62V3.63V带64字节FIFO的串口收发器一、通用描述XR16M654(M654)是加强型的方形通用异步收发器,带有64字节的发送和接收FIFO,可编程发送和接收FIFO触发点,自动硬件和软件流控制,在4倍采样速率时速率可达16Mbps。每个串口都有一个可设置的寄存器,为用户提供操作状态和控制,接收错误指示和调制串行口控制。内部回环能力允许板上调试诊断。M654可用封装有48引脚QFN、64引脚LQFP、68引脚PLCC、80引脚LQFP和100引脚QFP。64引脚和80引脚封装只提供16位模式接口,48、68和100引脚封装提供额外的68模式接口,允许和Mot
2、orola处理器集成。XR16M654IV(64引脚)提供三态中断输出,XR16M654DIV提供连续中断输出。100引脚封装提供额外FIFO状态输出(TXRDY#和RXRDY# A-D),独立红外发送数据输出(IRTX A-D)和通道C外部时钟输入(CHCCLK)。XR16M654兼容工业标准期间ST16C554和ST16c654/654d。二、特征1、封装引脚完全兼容ST16C456,ST16C554,TL16C754B和SC16C654B2、Intel和Motorola数据总线接口选择3、4个独立USART通道A、寄存器设置兼容16C550B、数据传输速率达16MbpsC、64字节发送F
3、IFOD、64字节接收FIFO,带错误标志E、4个可选择的TX 和 RX FIFO触发点F、自动硬件流控制(RTS/CTS)G、自动软件流控制(Xon/Xoff)H、可编程Xon/Xoff特征I、无线红外(IrDA1.0)编码/解码J、全调制解调接口4、1.62V3.63V电源操作5、睡眠模式带自动唤醒功能6、石英晶振或外部时钟输入三、应用1、便携电气设备2、通信路由交换网络3、以太网4、蜂窝数据期间5、工业自动化和处理控制四、内部框图五、封装图六、订购信息七、引脚描述名称48646880100类型描述A2A1A0151617222324323334282930373839I地址线2:0,用于
4、在数据总线通信中,选择串口通道A-D某个内部寄存器。D7D6D5D4D3D2D1D0464544434241403960595857565554535432168676675747372717069689594939291908988I/O双向数据总线7:0IOR#(VCC)2940525166I当66/68#引脚为高电平时,Intel总线接口被选择,该输入成为读使能(低有效)。下降沿产生一个内部读周期,并且从由地址线A2:A0指定的内部寄存器检索数据字节,将数据放在数据总线上,允许主机在上升沿读取数据。当16/68#引脚为低电平时,Motorola总线接口模式被选择,该输入不再使用,并被连接
5、到VCC。IOW#(R/W#)79181115I当16/68#引脚为高电平是,选择Intel接口,该输入编程写使能(低有效)。下降沿产生内部写周期,上升沿在数据总线上传输数据字节到由A2:A0指定的内部寄存器。当16/68#引脚为低电平时,Motorola总线接口被选择,该输入编程读(逻辑1)和写(逻辑0)信号。CSA#(CS#)5716913I当16/68#引脚为高电平是,输入为片选A(低有效),使能器件的通道A。当16/68#为低电平时,在Motorola模式下,该引脚输入变成芯片选择引脚。CSB#(A3)911201317I当16/68#引脚为高电平时,输入为片选B(低有效),使能器件通
6、道B。当16/68#引脚为低电平时,输入为地址线A3,在Motorola模式下被使用作为通道选择。CSC#(A4)2738504964I当16/68#引脚为高电平时,输入为片选C,使能器件通道C。当16/68#引脚为低电平时,输入变成地址线A4,在Motorola模式中被用作通道选择。CSD#(VCC)3142545368I当16/68#引脚为高电平时,输入为片选D(低有效),使能器件通道D。当1668#引脚为低电平是,输入不再使用,被连接到VCC。INTA(IRQ#)4615812O(OD)对于Intel总线接口,当16/68#引脚为高电平时,该输出为通道A中断输出。输出状态由用户通过软件设
7、置MCR3。当MCR3被设置为逻辑1时,INTA被使能。当设置MCR3为逻辑0时(默认),INTA被设置为三态模式。参见MCR3。对于Motorola模式下,当16/68#引脚为低该引脚输出作为中断输出(低有效,开漏),正常操作外部需接上拉电阻。INTBINTCINTD(N.C.)102632123743214955144854186369O在Intel模式下,当16/68#为高电平是,这些输出称为通道B、C、D中断输出。输出状态由用户通过软件设置MCR3。MCR3被设置为逻辑1时,使能中断输出。MCR3设置为逻辑0(默认)时,输出为三态模式。参见MCD3。在Motorola模式下,当16/6
8、8#引脚为低电平是,输出不被使用并保持为逻辑0。是那些输出不连接。INTSEL38-656787I中断选择(高有效,输入下拉)。在Intel模式下,该引脚被用作同MCD3联合去使能或禁止INTAD中断。或者覆盖MCD3去使能中断输出。当该引脚为高电平是,中断输出被连续使能。MCR3使能或禁止中断输出引脚。在Intel模式下,MCR3设置为逻辑1使能连续输出。参见MCR3描述。该引脚必须为低电平在Motorola总线接口模式下。对于64引脚封装,该引脚内部在连接到VCC(XR16M654D),所以中断输出操作在连续中断模式。该引脚在内部被连接到GND(XR16M654),需要设置MCR3去使能中
9、断输出引脚。TXRDYA#TXRDY#TXRDY#TXRDY#-5O串口A-D发送准备好(低有效)。对于通道A-D,该输出提供RX FIFO/RHR状态参见Table 5。若这些输出不适用,悬空。RXRDYA#RXRDY#RXRDY#RXRDY#-100O串口A-D接收准备好(低有效)。对于通道A-D,该输出提供TX FIFO/THR状态参见Table 5。若这些输出不使用,悬空。TXRDY#-393545O发送准备好(低有效)。该输出为TXRDY#A-D逻辑与状态,参见Table 5。若该输出不使用,悬空。TXRDY#-383444O接收准备好(低有效)。该输出为RXRDY#A-D逻辑与状态
10、,参见Table 5。若该输出不使用,悬空。FSRS#-76IFIFO状态寄存器选择(低有效,内部上拉)当该引脚有效是,FSTAT寄存器内容被发送到总线上。然而,需要注意的是,D0D3包含TXRDY#A-D引脚的反向逻辑状态,D4D7包含RXRDY#A-D引脚的逻辑状态。当读这个状态寄存器是,不需要一个有效的地址。TXATXBTXCTXD6828308103941171951531012505214166567O串口AD发送数据和红外发送数据通道。当MCR6=0是,标准收发接口被使能。在该模式下,TX信号在复位期间或者空闲(无数据)为逻辑1。当MCR6=1时,红外IrDA收发接口被使能。在红外
11、接口模式下,对于红外编码/解码接口的非激活状态(无数据)是逻辑0。IRTXAIRTXBIRTXCIRTXD-6245775O红外发送数据通道A-D。对于红外编码/解码接口的非激活状态(无数据)是低电平。无论MCR6逻辑状态是什么,该引脚都将在红外模式下操作。RXARXBRXCRXD481322366220295172941637725376597344785I串口或红外接收数据通道A-D。正常接收数据输入为高(空闲状态)。RTSA#RTSB#RTSC#RTSD#3112533513364414224856715475511196270O串口A-D请求发送(低有效)或产生应答输出。在使用自动RT
12、S流控制时,该输出必须声明优先级,参见EFR6,MCR1和IER6。参看Figure12。如果不适用,悬空。CTSA#CTSB#CTSC#CTSD#112233521633471125455941844588225973I串口A-D清除发送(低有效)或者产生应答输入。可以被用作CTS流控制,参见ERF7和IER7。参看Figure12。不使用这些引脚是,连接到VCC。DTRA#DTRB#DTRC#DTRD#-31534461224465851745579216072O串口A-D数据终端准备好(低有效)或者产生应答输出。不使用则悬空。DSRA#DSRB#DSRC#DSRD#-1173248102
13、6446031943597235874I串口A-D数据准备好(低有效)或产生应答输入。不使用是连接VCC。该输入对串口没影响。CDA#CDB#CDC#CDD#-6418314992743617923396399324983I串口A-D载波侦听(低有效)或者产生应答输入。不使用时连接到VCC。该输入对串口没影响。RIA#RIB#RIC#RID#-6319305082842627824386498334884I串口A-D响铃指示(低有效)或产生应答输入。不使用连接到VCC。该引脚对串口无影响。XTAL11825353140I晶振或外部时钟输入XTAL21926363241O晶振或外部时钟输出16/
14、68#14-31-36IIntel或Motorola总线选择(输入内部带上拉)。当16/68#引脚为高电平时,16或Intel模式,器件操作在Intel总线类型接口。当16/68#引脚为低电平,器件操作在Motorola总线类型接口。在64引脚的封装中,Motorola总线接口不可用。CLKSEL-21302635I通道A-D波特率发生器输入时钟预分频选择。该输入仅在上电或复位期间被采样。连接到VCC,分频为1(默认),连接到GND,分频为4。在复位或初始化后,MCR7对该引脚状态起决定作用。波特率发生器章节参见MCR7和Figure7。CHCCLK-42I该输入为通道C提供时钟。一个外部16
15、X波特率时钟或石英晶振荡器输出,XTAL2,为了正常操作,必须被连接到该引脚。该输入可能也可以用作MIDI(音乐工业数字接口)应用,当一个外部MIDI时钟被提供时。该引脚仅仅可以在100个引脚的QFP中可用。RESET2027373343I当16/68#为高电平时为Intel总线接口,该输入成为复位引脚(高有效)。在这种情况下,最小40ns的高电压脉冲出现在该引脚上,将复位内部寄存器和输出。串口发送器输出保持高电平,接收器输入将忽略。在复位周期内,输出复位(Table17)。当16/68#引脚为低电平时为Motorola总线接口,该输入成为Reset#引脚(低有效)。该引脚功能相近,但是为40
16、ns低电平脉冲将复位寄存器和输出。Motorola总线接口在64引脚封装上不可用。VCC2,24,374,35,5213,47,646,46,6610,61,86PWR1.62v3.63v电源GND21,4714,28,45,616,23,40,5716,36,56,7620,46,71,96PWR电源地GNDCenterPADN/AN/AN/AN/APWRN.C-1,2,20,21,22,27,40,41,42,60,61,62,80不连接八、1.0 产品描述XR16M654(M654)整合4个增强型16C550通用一部收发器(UART)的功能。每个UART都是独立的控制,拥有自己的寄存器配
17、置。这些配置寄存器对于控制、状态和数据发送,都和16550UART兼容。除此之外,每个UART通道拥有64字节发送和接收FIFOS,自动RTS/CTS硬件流控制,自动Xon/Xoff和指定字符软件流控制,红外编码和解码(IrDA ver 1.0),,指定预分频为1或4的可编程小数波特率发生器,速率达16Mbps。XR16M654电压从1.62V到3.63V。M654采用先进的CMOS处理方法制造。Enhanced FIFO(增强型FIFO)M654提供一种解决方案,支持64字节发送和接收FIFO内存,取代ST16C554的16字节的FIFO,或者1字节的ST16C456。M654被设计工作在高
18、性能数据通信系统,需要快速数据处理时间。通过比较大的发送和接收FIFOs, FIFO触发点控制和自动流控制原理,增加的性能可以在M654中实现。这样就允许外部处理器去处理更多的工作任务在一个给定的时间内。例如,带有16字节FIFO的ST16C554,释放16字节接收数据需要1.53ms(该例子使用一个11位长度的字符,包括起始位和停止位,波特率115.2kbps),这意味着外部CPU每1.53ms将不得不服务接收FIFO。然而,带有64字节FIFO的M654,数据缓冲不需要6.1ms进行释放/加载。增加的服务间隔给外部CPU额外的时间处理其他应用,减少全部UART中断服务时间。除此之外,对于大
19、数据量吞吐性能,特别是操作一个多通道的系统可编程的FIFO出发点中断和自动硬件/软件流控制被特别的提供。上述组合极大的降低了CPU带宽,增加性能并降低电源消耗。Data Rata(数据传输速率)在电源3.3V,内部4X采样时钟速率下,M654数据传输速率达16Mbps。该器件能够在3.3V电源,引脚XTAL1和XTAL2上可以达到24MHz石英晶振或在XTAL1引脚上,外部时钟源达64MHz下操作。典型时钟晶振为14.7456MHz,通过软件选择,用户能够设置时钟预分频位和采样速率,可以使数据速率达3.68Mbps。Enhanced Features(增强功能)M654丰富的特征通过内部寄存器
20、进行设置。自动硬件/软件流控制,可选择收发FIFO触发点,可选择波特率,红外编码/解码接口,调制解调接口控制和睡眠模式都是标准特征。MCR5提供方便的关闭(Xon)软件流控制,使用任何输入(RX)字符。在16位模式下,INTSEL和MCR3能够提供软件控制或持续中断能力。向下兼容ST16C654,64引脚LQFP没有INTSEL引脚。然而两种不同的LQFP封装被提供,XR16M654IV操作结合MCR3,通过在内部连接INTSEL到GND。XR16M654提供时钟预分频器选择引脚,允许系统/板级设计人员能在上电时预先设置好波特率。CLKSEL引脚选择波特率发生器预分频系数为1或者4。通过初始化
21、MCR7,它能够被覆盖掉。100引脚封装提供几个其他加强功能。这些功能包括CHCCLK时钟输入,FSTAT寄存器和分离的红外TX 输出。对于正常操作,CHCCLK引脚必须被连接到XTAL2引脚或者对于MIDI应用,必须连接到外部MIDI(音乐工业数字接口)振荡器。对于每个UART通道(A-D),一个独立寄存器(FSTAT)被提供去监听FIFO信号TXRDY#和RXRDY#实际时间状态。在访问独立通道时,降低了轮询时间。对于红外应用,100引脚封装也提供4个独立IrDA(红外数据联合标准)TX输出。对于标准异步调制解调数据输出,这些输出也被额外提供。2.0功能描述2.1 CPU Interfac
22、e(CPU接口)CPU接口为8位宽,带有3为地址线,控制信号区执行数据总线读写操作。M654数据接口支持兼容Intel类型的CPU和兼容工业标准期间16C550 UART。在总线传输数据时没有时钟信号(晶振或外部时钟)。每个总线周期都是异步的,使用CS#AD,IOR#,IOW#或者CS3,RW#,A4,A3输入。对于主机操作,所有4个UART通道共享相同数据总线。对于Intel和Motorola模式,典型数据总线互联如Figure5所示。2.2 Device Reset(器件复位)复位输入复位每个通道内部寄存器和串行输出口为默认状态(参见Figure17)。一个长于40ns的持续高电平脉冲将是
23、器件复位功能激活。上电复位或外部复位,M654的UART同16C554和16C454软件兼容。2.3 Channel Selection(通道选择)UART串口提供用户在外部CPU和外部通信器件间进行双向传输信息的能力。在Intel总线模式下(16/68#引脚连接到VCC),片选逻辑0出现在CSA#,CSB#,CSC#或者CSD#,允许用户选择串口通道A,B,C,或者D进行配置,从UART进行发送数据或者获取数据。在上电期间,选择所有串口写所有相同的寄存器,但是不要企图四个串口同时去读。图例通道选择功能如Table1所示。在Motorola总线模式下(16/68#引脚连接到GND),接口引脚被
24、配置成连接摩托罗拉或者其他主流处理器总线类型。在该模式下,M654解码两种额外地址A3,A4去选择4个串口中的一个。A3和A4地址解码功能仅仅在摩托罗拉总线模式下被使用。参见Tabe2。2.4 Channels A-D Internal Registers(通道A-D内部寄存器)为了控制、监听、数据上载和下载,M654,M654的每一个UART通道都有一组增强的寄存器。寄存器的配置和已经可用的标准单器件16C550兼容。这些寄存器,诸如数据保持寄存器(THR/RHR),中断状态和控制寄存器(ISR/IER),FIFO控制寄存器(FCR),接收线状态和控制寄存器(LSR/LCR),调制状态和控制
25、寄存器(MSR/MCR),可编程数据时钟分频寄存器(DLL/DLM/DLD)和用户可访问的暂存寄存器(SPR)。比16C550更具优势和能力,M654提供增强特征寄存器(EFR,Xon/Xoff1,Xon/Xoff2,FSTAT),提供自动RTS和CTS硬件流控制和Xon/Xoff软件流控制。所有寄存器在后面的详细章节,参见26页“Section 3.0,UART INTERNAL REGISTERS”。2.5 INT Outputs for Channels A-D(通道A-D中断输出)中断输出根据操作模式和增强功能的设置而改变。Table3 和 Table4总结了发送和接收的操作行为。同时
26、也参见26页Figure 21。2.6 DMA Mode该期间不支持直接内存访问。DMA模式(传统)在该文档中并不移位着“直接内存访问”而是涉及到数据块发送操作。DMA模式影响RXRDY#和TXTDY# A-D输出引脚状态。收发FIFO触发点为用户数据块模式操作提供额外的灵活性。当发送器空或者为更多数据拥有空位置,LSR5、LSR6提供一个指示。用户可在DMA模式下(FCR3=1),选择性操作收发FIFO。当收发FIFO被使能,DMA模式被禁用(FCR3=0),M654被设置为单字符收发模式。当DMA模式被使能(FCR3=1),在通过编程触发点决定的块序列中,用户采用块模式操作上载和下载FIF
27、O更具有优势。2.7晶振或外部时钟输入(Crystal Oscillator or Extern Clock Input) M654含有一个片上晶振(XTAL1和XTAL2)为器件的UART单元产生时钟。CPU数据总线操作不需要时钟。在每个UART钟,石英晶振提供为波特率发生器(BGR)单元系统时钟。XTAL1为晶振或外部时钟缓冲输入端,XTAL2为输出端。参见15页“Section2.8,Programmable Baud Rate Generator with Fractionan Divisor”。片上晶振被设计为使用工业标准微处理器晶振(共振,采用10-22pf电容起振,20-120E
28、SR和100ppm频率容限)连接在XTAL1和XTAL2之间。典型晶振连接如Figure 6。可选择性的,一个外部时钟可以被连接到XTAL1引脚,驱动内部波特率发生器产生用户自定义或标准波特率。进一步阅读关于晶振电路,参看官网EXARS 上DAN108应用。2.8 带小数分频因子的可编程波特率发生器每一个UART发送和接收,都拥有自己的带有预分频器的波特率发生器(BRG)。预分频器通过MCR寄存器中通过软件控制。MCR寄存器MCR7设置预分频器将内部应诊或外部时钟分频为1或4。预分频器时钟输出到BRG。BRG通过可编程的分频器进一步分频,分频系数为1到65536-0.0625,步长为0.062
29、5(1/16),去获得16X或8X或4X串行数据采样时钟速率。采样时钟被用作发送器数据位移位和接收器数据采样。BRG分频器(DLL,DLM,DLD寄存器)在复位后,默认值为1(DLL=0X01,DLM=0X00,DLD=0X00)。因此BRG必须在初始化操作数据波特率期间进行编程。DLL和DLM寄存器提供分频器的正数部分,DLD寄存器提供分频器的小数部分。仅仅DLD的低四位被使用,他们被用作选择一个从0(设置为0000)到0.9375或15/16/(设置为1111)。可编程波特率发生器紧蹙起DLL,DLM,DLD提供选择操作数据速率功能。Table 6 为在24MHz晶振或外部16X时钟速率的
30、条件下的标准数据波特率。如果预分频被使用(MCR7=1),输出波特率将会低于Table6中波特率的4倍。在8X采样速率条件下,波特率加倍。在4X采样速率条件下,波特率达4倍。特别注意,在8X采样速率模式,位时间将会有(1/16)的跳动,无论DLD是非零或者是一个奇数。采用非标准波特率晶振或外部时钟,分频器的值可以通过下列公式计算。在M654中可以被计算的最接近的分频因子使用下列公式计算:上面的公式,请注意:TRUNC(N)=N的整数部分。例如,TRUNC(5.6)=5。不进行四舍五入。ROUND(N)=N朝着最接近的整数取整数值。例如:ROUND(7.3)=7,ROUND(9.9)=10,进行
31、了四舍五入。AB表明将A向右移动B位,例如,0x78A38=0x0078。2.9 发送器发送器单元有9位发送移位寄存器(TSR)和64字节FIFO,包括带有一字节宽度的发送保持寄存器(THR)组成。移位寄存器TSR在内部16X/8X/4X时钟下发送每个数据位。每位时间为16/8/4个时钟周期。发送器发送起始位,紧接着数据位,如果是能奇偶校验位,则插入奇偶校验位,最后增加停止位。FIFO和TSR状态在线状态寄存器中反映(LSR5,LSR6)。2.9.1 发送保持寄存器(THR)-只写功能发送保持寄存器是一个8位寄存器,提供和连接数据接口。主机写入发送数据字节到THR寄存器,转换成包含起始位,数据
32、位,奇偶校验问和停止位的数据流。最低符号位(bit0)首先发送。THR为输入寄存器,当FIFO操作被FCR0位使能时,THR发送数据到64字节FIFO。每次一个写操作到THR,FIFO数据指针自动跳转到下一个序列数据位置。2.9.2 非FIFO模式下的发送器操作主机每一加载一个字符到THR。当数据字节被传输到TSR时,THR空标志(LSR5)被置位。当使能IER1时,THR标志能够产生发送空中断(ISR1)。当TSR变成完全空时,TSR标志(LSR6)被置位。2.9.3 FIFO模式下的发送器操作主机可以使用达64字节的发送数据填充发送FIFO。当FIFO空时,THR空标志(LSR5)被置位。
33、当FIFO空时,THR空标志能够产生发送空中断(ISR1)。发送空中断标志由IER1使能。当TSR/FIFO空时,TSR标志(LSR6)被置位。2.10 接收器接收器单元由8位接收移位单元(RSR)和64字节FIFO,包括一字节宽的接收保持寄存器(RHR)组成。RSR时序使用16X/8X/4X时钟(DLD5:4)。RSR在即将到来字符的每位数据中间进行检验。在一个起始或假起始位的下降沿,内部接收器计数器开始以16X/8X/4X时钟速率计数。8个时钟(如果8X,则为4个时钟,如果4X,则为2个时钟)后,起始位周期应该在起始位中间。此时,起始位被采样,如果仍然保持为逻辑0,则起始位有效。以这种方式
34、评估起始位阻止接收器装载一个错误字符。其余的数据位和停止位以相同的方式呗采样和验证,阻止错误帧。如果发生了错误,在LSR2:4中被反映出来。从RHR中获取接收到的数据,接收FIFO指针被跳转,在RHR寄存器中,错误标志被立即更新反映数据字节状态。当接收到一个字符或者延迟直到到达FIFO触发点时,RHR产生一个接收数据准备中断。此外,对于由LCR1:0定义的4个字长加12位时间,产生一个接收数据准备超时中断,保证数据发送到主机。这等同于3.7到4.6个字符时间。RHR中断由IER0使能,参见Figure10和Figure11。210.1接收保持寄存器(RHR)-只读寄存器接收保持寄存器是一个8位
35、寄存器,保持来自接收移位寄存器的一个接收数据字节。对主机提供接收数据接口。RHR寄存器是64字节接收FIFO的一部分,11位宽。3个额外位为3个错误标志,反映在LSR寄存器中。当FIFO由FCR0使能时,RHR寄存器包含有FIFO中接收到的第一个数据字符。RHR被读取后,下一个字符字节被载入到RHR寄存器,错误标志也连同当前数据被立即更新到LSR2:4中。2.11 Auto RTS(Hardware)Flow Control2.12 Auto RTS Hysteresis2.13Auto CTS Flow Control2.14 Auto Xon/Xoff (Software) Flow Co
36、ntrol2.15 Special Character Detect2.16 Infrared Mode2.17 Sleep Mode with Auto Wake-Up2.18 Internal Loopback 内部回环为了系统诊断目的,M654提供内部回环能力。内部回环模式通过设置MCR4:1使能。所有串口功能都正常操作。Figure14显示了如何调制端口信号被重新配置。由发送移位寄存器TSR发送的数据在内部被送回到接收移位寄存器RSR,允许系统接收和发送相同的数据。当RTS#和DTR#被撤销,CTS#,DSR#,CD#,RI#输入被忽略,TX引脚保持高电平或屏蔽状态。注意:接收输入在回
37、环测试条件下必须保持为高,否则在退出回环测试时,UART可能侦测并产生一个错误退出信号。3.0 串口内部寄存器M654的每个串口拥有自己的配置寄存器,有地址线A0,A1,A2和指定的通道进行选择(参见Table 1 和 Table 2)。完整的寄存器配置如Table 9和Table10 所示。4.0 内部寄存器描述4.1 接收保持寄存器RHR-只读寄存器参见19页“接收器”章节4.2 发送保持寄存器THR-只写寄存器参见17页“发送器”章节4.3 中断使能寄存器IER-读/写中断使能寄存器IER屏蔽来自接收数据准备好、发送空、线状态和调制状态寄存器的中断。这些中断都反映在中断状态寄存器ISR中
38、。4.3.1 IER对应接收FIFO中断模式操作当接收FIFO(FCR0=1)和接收中断(IER0=1)被使能时,RHR中断(ISR2:3)状态将反映如下:A、 当FIFO到达被编程的触发点,接收数据有效,被传送到主机。当FIFO低于触发点时,中断被清除。B、 当FIFO触发点被达到时,FIFO水平将被反映到ISR寄存器中。ISR寄存器状态位和中断江北清除,当FIFO下降到触发点时。C、 一个字符从一位寄存器传输到接收FIFO时,接收数据准备好位被置位(LSR0)。当FIFO空时,LSR0复位。4.3.2 IER对应接收/发送FIFO查询模式操作当FCR0=1时,FIFO使能;重设置IER【0
39、:3】使能XR16M654在FIFO查询模式操作。因此接收器和发送器有独立的LSR位,或者两者都能够在查询模式下使用,通过选择各自的发送或接收控制位。A、 LSR0-指示有数据在RHR或RX FIFO中B、 LSR1-指示一个溢出错误已经发生,在FIFO中的数据可能无效C、 LSR2:4-对于RHR中的数据自己,提供接收数据错误类型D、 LSR5-指示THR为空E、 LSR6-指示发送FIFO和TSR都为空F、 LSR7-指示在RX FIFO中最近一个字符的一个数据错误IER0:RHR中断使能产生接收数据准备好中断,当RHR中有一个数据在非FIFO模式,或者接收FIFO已经达到被编程的出发点在
40、FIFO模式中。0:禁止接收数据准备好中断,默认1:使能接收数据准备好中断IER1:THR中断使能该位使能发送准备好中断,无论在非FIFO模式THR变空或者在FIFO模式下FIFO中数据下降到被编程出发点。当该位被使能时,如果THR变空,中断产生。0:禁止发送准备好中断,默认1:使能发送准备好IER2:接收线状态中断使能如果LSR寄存器中1,2,3,4中的任意一个为逻辑1,产生中断通知主控制器关于在FIFO中当前数据字节错误状态。当溢出发生时,LSR【1】立即产生一个中断。LSR2:4产生一个中断,当在RHR中的字符出现错误时。0:禁止接收线状态中断,默认1:使能接收线状态中断IER3:调试解
41、调状态中断使能0:禁止调制解调状态寄存器中断,默认1:使能调制解调状态寄存器中断IER4:睡眠模式使能(需要EFR4=1)0:禁止睡眠模式,默认1:使能睡眠模式,了解细节,参见睡眠模式章节IER5:Xoff中断使能(需要ERF4=1)0:禁止软件流控制,接收Xoff中断,默认1:使能软件流控制,接收Xoff中断。了解细节,参见软件流控制章节。IER6:RTS#输出中断使能(需要EFR4=1)0:禁止RTS#中断,默认1:使能RTS#中断,串口产生一个中断,当RTS#引脚产生由低到高的电平(如果被EFR【6】使能)IER7:CTS#输入中断使能(需要ERF4=1)0:禁止CTS#中断,默认1:使
42、能CTS#中断。串口产生一个中断,当CTS#引脚产生由低到高的电平(如果被EFR7使能)4.4 中断状态寄存器ISR-只读寄存器UART提供多种优先级中断去最小化与外部软件交互。中断状态寄存器ISR提供用户6中中断状态位。在ISR上执行一个读周期,提供用户当前即将服务的最高挂起的中断,其他中断将继续排队等待服务。直到挂起的中断被服务,其他中断才执行。中断优先级和每个中断等级相关联的中断源,在中断源列表Table11数据值(位05)中展示。4.4.1 中断产生1、LSR中1,2,3,4位中的任何一个被设置2、RXRDY达到RX触发点3、RXRDY超时,由4个字符加12位延迟时间定义4、TXRDY
43、,TX触发点或者TX FIFO空5、MSR中0,1,2,3位中的任何一个被设置6、接收Xoff/指定字符被侦测到7、CTS#,当远程发送器翻转输入引脚(从低到高),在AUTO CTS FLOW 控制期间。8、RTS#,当接收器翻转输出引脚(从低到高),在RTS流控制期间。4.4.2 中断清除1、LSR中断通过读LSR寄存器清除2、RXRDY中断清除通过读取数据,直到FIFO下降到触发点以下3、RXRDY超时中断通过读取RHR寄存器4、TXRDY中断被清除通过读取ISR寄存器或者写数据到THR5、MSR中断被清除通过读取MSR寄存器6、Xoff中断被清除,通过读取ISR寄存器或者当XON字符到达
44、7、指定字符中断被清除通过去读ISR寄存器或者下一个字符被接收8、RTS#和CTS#口控制中断被清除铜鼓哦去读MSR寄存器ISR0:中断状态0:一个中断正在被挂起,ISR包含被使用的一个指针指向的中断任务。1:没有中断正在挂起,默认ISR3:1:中断状态这些为指示在中断优先级等级下的正在挂起的中断源,参见中断源表Table 11ISR4:中断状态(需要EFR4=1)当EFR4=1时,该位使能。ISR【4】表明接收器检测到一个数据,和Xoff字符或者指定字符相匹配。ISR5:中断状态(需要EFR4=1)ISR5表明CTS#和RTS#已经从低到高改变状态。ISR7:6:FIFO使能状态当FIFO被禁用,这些位为0。FIFO被使能,这些位为1。4.5 FIFO 控制寄存器(FCR)-只写该寄存器被用作使能FIFO,