Z80230点击型号即可查看芯片规格书
Pin描述
增强型串行通信控制器(ESCC)引脚分为七个功能组:
1。地址/数据
2。总线定时和复位
3。设备控制
4。中断
5。串行数据(两个通道)
6。外围控制(两个通道)
7。时钟(两个通道)
Z80230和Z85230/L。每个总线接口版本的管脚功能都是唯一的。
在地址/数据组、总线定时和复位组以及设备控制组中。
地址/数据组由用于在CPU和ESCC(Z80230中的地址由AS锁存)。的方向这些行取决于操作是读操作还是写操作。时间和控制组指定要发生的交易类型和时间发生的。中断组提供处理和优先处理中断的输入和输出。其余的组分为通道A和通道B组。为:
串行数据(发送或接收)
外围设备控制(如DMA或调制解调器)
接收和发送时钟的输入和输出线
Z85230/L和Z80230共用的销
Z85230/L和Z80230共用管脚的管脚说明如下:CTSA,CTSB(清除发送(输入,低激活))-这些引脚用作发送器如果它们编程为自动启用(WR3位5为1),则启用,在这种情况下A每个输入端的低电平使各发送器工作。如果未编程为自动
启用后,管脚可用作通用输入。这些针脚是施密特触发器缓冲以适应缓慢上升时间输入。ESCC检测这些针脚上的脉冲
并且可以在两个逻辑级转换上中断CPU。
DCDA,DCDB(数据载波检测(输入,低电平有效))-这些管脚功能如下如果接收器编程为自动启用(WR3位5为1),则接收器启用;否则,它们用作通用输入引脚。针脚被施密特触发器缓冲到调节缓慢上升时间信号。ESCC检测到这些针脚上的脉冲,并可能
在两个逻辑级转换上中断CPU。
RTSA、RTSB(发送请求(输出,低激活))-可将RTS引脚用作通用输出或具有自动启用功能。当自动启用为关闭时,这些管脚遵循WR5位1的反向状态。在异步模式下与自动启用功能一起使用时,当WR5位1为1。当WR5位0为0时,该引脚保持在低位,直到发送器为空。在同步数据链路控制(SDLC)模式下,可将RTS引脚编程为如果WR7'位2为1,当消息的关闭标志清除TXD管脚时解除断言,WR10位2为0,WR5位1为0。
Synca,Syncb(同步(输入或输出,低电平有效))-这些插脚可以作为输入、输出或晶体振荡器电路的一部分。在异步接收模式(未选择晶体振荡器选项)中,这些引脚是类似于CTS和DCD的输入。在此模式下,这些行上的转换将影响同步的状态/
读寄存器0中的狩猎状态位,但没有其他功能。
在外部同步模式下,未选择晶体振荡器,这些线也作为输入。在此模式下,同步被驱动为低电平,之后两个Rx时钟周期接收到同步字符的最后一位。字符集从上升开始同步激活前接收时钟的边缘。
在内部同步模式(单同步和双同步)中,未选择晶体振荡器,这些引脚作为输出。这些输出每低一次不管字符边界如何,都可以识别同步模式。在SDLC模式下,管脚在编程单同步、双同步或SDLC时从输入切换到输出WR4和同步模式已启用。
DTR/REQA、DTR/REQB(数据终端就绪/请求(输出,低激活))。
这些插脚可编程(WR14位2)以用作通用输出或作为DMA请求行。当为DTR功能编程时(WR14位2为0),这些输出与写入寄存器5(WR5位7)的DTR位相反。当为请求模式编程时,这些管脚作为对发送器的DMA请求。
当使用DMA请求线(WR14位2是1)时,取消请求的时间Can be programmed in write register 7'(wr7')bit 4.如果这个比特是1,那么DTR/REQ PIN是与W/REQ PIN相同的时间消失。如果0,DTR/雷克松是四个钟周期,和Z80C30/Z85C30一样。
等候/请求(输出,开放排水等程序)函数,驱动高和低时编程请求函数可将双目的输出编程为DMA控制器的请求线路或等待线路将CPU同步到ESC数据速率。复苏国在等待。接收数据(输入,主动高))-这些输入接收串行数据标准晶体管-晶体管逻辑电平接收/发送时钟(输入,主动低))-这些松可以是
Programmed to several modes of operation.In each channel,RTXC may supply the following:
•Receive Clock and/or the Transmit Clock
•Clock for the Baud Rate Generator(BRG)
•Clock for the digital phase-locked loop
这些松树也可以被编程用于使用相应的同步松树作为晶体。振荡器接收时钟可为异步模式下的1、16、32或64次数据速率。发送数据(输出,有源高))-这些输出发送串行数据在标准TTL水平。
发送/接收时钟(输入或输出,主动低))-这些PINS可以在几种不同的模式中编程。当配置为输入时TRXC可以提供接收时钟和/或发射机时钟。当配置为输出时,TRXC可以回波数字锁相环、晶体振荡器、BRG或发射时钟的时钟输出。这个时钟是用於同步内部的主要的Escc时钟。
信号PCLK是一个TTL水平信号。PCLK不需要任何相位关系。用主系统时钟在(输入,主动高)中使用的开关当有比一个开关驱动装置更多的设备时,黛西链。一个高IEI指示没有高优先设备在服务(IUS)下有一个中断或需要一个中断
开关可开启输出(输出,活性高))-只有IEO高且CPU不是一个ESC中断。在一个新知识循环中断期间如果亚太经社会要求中断,也是驱动较低的。IEO可以连接到下一个优先级设备的IEI输入,在此情况下,它抑制了低级优先级设备的中断。
INT(中断(输出、开漏、低激活))-当ESCC请求中断。int是一个开漏输出。
INTACK(中断确认(输入,低激活))-该引脚是一个频闪灯,指示中断确认循环正在进行中。在此周期内,ESCC
中断菊花链已解决。设备可以返回一个中断向量使用中断挂起类型进行编码。在确认周期内,如果IEI高,当Z85230的RD激活时,ESCC将中断向量放置在数据总线上。或者当DS为Z80230激活时。Intack由
Z85230/L以外的管脚说明如下:插脚D7–D0(数据总线(双向、三态))-这些插脚承载数据和命令从Z85230/L到Z85230/L。CE(芯片启用(输入,低激活))-该引脚选择Z85230/L进行读取或写入操作。
RD((读取(输入,低激活))-此引脚指示读取操作,当选择Z85230/L,启用Z85230/L的总线驱动器。在中断确认周期中,如果Z85230/L是请求中断的最高优先级设备,则RD将中断向量门入总线。
wr(写入(输入,低激活)-当选择Z85230/L时,该引脚表示写操作,表示CPU将命令字节或数据写入Z85230/L写寄存器。
注:WR和RD同时变低被解释为复位。A/B(通道A/通道B(输入))-该引脚选择读取或发生写入操作。高选择通道A,低选择通道B。
D/C(数据/控制选择(输入))-此信号定义了传输到Z85230/L或从Z85230/L传输的信息类型。高表示数据传输,低表示命令传输。
Z80230以外的管脚说明如下:AD7–AD0(地址/数据总线(双向、有源高电平、三态))-这些多路复用线路将寄存器地址以及数据或控制信息传送到Z80230。
从Z80230到Z80230。
R/W(读/写(输入,读激活高))-此pin指定操作是否为执行的是读或写操作。
CS0(芯片选择0(输入,低激活))-该引脚与A-A0上的地址,必须低才能发生预期的总线事务。
CS1(芯片选择1(输入,主动高))-第二个芯片选择引脚必须高在预期的总线事务之前和期间。
DS(数据选通(输入,低激活))-该引脚为数据传输提供定时。进出Z80230。如果as和ds都很低,则此条件被解释为重置。AS(地址选通(输入,低有效))-A7-A0上的地址被该信号的上升沿锁存。
输入/输出能力
与ESCC之间的系统通信使用ESCC寄存器集。有17个写寄存器和16个读寄存器。ESCC上的许多功能都是通过ESCC中的新寄存器启用的:写入寄存器7底漆(WR7)。如果位0或WR15设置为1,则可以访问这个新寄存器。
可以读取寄存器。根据其内容,CPU执行以下三种操作之一:
1。写入数据
2。读取数据
3。继续处理
寄存器中的两位表示数据传输的要求。
中断
ESCC中断模式支持向量中断和嵌套中断。填充水平为其中发送和接收FIFOS中断CPU是可编程的,允许
ESCC请求将数据传输调到系统中断响应时间。支持嵌套中断的中断确认(intack)功能食管鳞癌。它允许CPU确认中断的发生,并重新启用更高优先级的中断。因为Intack循环从激活的状态、更高优先级的ESCC中断或其他更高优先级的设备可以中断CPU。当一个ESCC响应来自CPU的输入信号时,它可以放置一个中断数据总线上的向量。这个矢量写在WR2中,可以在RR2中读取。增加在中断响应时间内,ESCC可以修改该矢量中的3位来指示状态。如果矢量在通道A中读取,不包括状态。如果在通道B中读取,则状态为包括。
ESCC中的六个中断源(传输、接收和外部/状态两个通道中的中断)具有与中断源相关的3位,如下所示:
1。中断挂起(IP)
2。服务中断(ius)
3。中断启用(IE)
如果为给定的中断源设置了IE位,那么该源可以请求中断。
但是,当WR9中的主中断启用(MIE)位被重置时,没有中断可以被请求。IE位是只写的。其他两位与中断优先级链相关(参见第13页图7)。只有当没有时,ESCC才能请求中断。
更高优先级的设备正在请求中断(即,当IEI较高时)。如果设备在问题请求一个中断,它拉下来int。然后CPU用intack响应,中断装置在数据总线上放置一个矢量。
ESCC中断优先级计划
ESCC还可以使用软件执行中断确认循环。有时候很难用必要的时间创建Intack信号来确认中断并允许嵌套中断。在这种情况下,可以确认中断向ESCC发出软件命令。更多信息,Z80230/Z85230/L增强功能
中断挂起(IP)位表示需要中断服务。当一个IP位为1时,IEI输入高,int输出低,请求中断。在ESCC中,如果
未设置IE位,则从未设置该源的IP。IP位在RR3A中读取。服务(IUS)位下的中断表示中断请求已被服务。如果IUS是设置为1时,所有低优先级的ESCC和ESCC外部中断源都将被阻止请求中断。内部中断源被状态禁止内部菊花链,而低优先级设备被设置为低用于后续外围设备。在中断确认循环期间,如果没有更高优先级的设备请求中断。有三种类型的中断,如下所示:
1。传输
2。接收
3。外部/状态
每种中断类型都在程序控制下启用,信道A的优先级高于信道B,并优先处理发送、接收和外部/状态中断。
在每个通道中按这个顺序排列。当传输中断被启用(WR1位1为1)时,中断的发生取决于WR7'位5的状态。如果WR7'位5为0,当发送先进先出(FIFO)的顶字节变为空。如果WR7'位5为1,则当传输FIFO完全空时,CPU中断。当数据位于传输FIFO加载到传输移位寄存器中,传输FIFO变为完全空了。此条件意味着必须至少写入一个字符发送到TX FIFO,使其变为空。
当接收器启用时,CPU以以下三种方法之一中断:
1。第一接收字符或特殊接收条件中断
2。中断所有接收字符或特殊接收条件
3。仅在特殊接收条件下中断
如果WR7'位3为1,并且选择了特殊接收条件,则接收字符在接收FIFO中有四个字节可用时发生。这在同步应用程序中最有用,因为数据是连续字节。中断第一个字符或特殊条件和特殊条件下的中断通常与块传输模式。特殊接收条件由以下条件之一组成:
•接收器溢出
•异步模式下的帧错误
•SDLC模式下的EOF
•奇偶校验错误(可选)特殊接收条件中断不同于普通接收字符只有在中断确认循环期间,矢量中的状态才可使用中断。在第一个字符或特殊条件模式下的接收中断中,在第一个接收字符之后的任何时候,特殊接收条件都会发生中断。中断。外部/状态中断的主要功能是监视CTS、DCD和同步管脚。但是,外部/状态中断也由以下任一项:
•传输欠载状态
•BRG中的零计数
•中断检测(异步模式)
•中止(SDLC模式)
•数据流中的轮询结束(EOP)序列(SDLC循环模式)由中止或EOP序列引起的中断具有一个特殊功能,允许当检测到或终止中止或EOP序列时,ESCC中断。此功能有助于正确终止当前消息,正确初始化下一条消息,以及通过SDLC中的外部逻辑精确定时中止条件模式。SDLC环路模式允许二级站识别主站和在轮询序列期间重新获得循环的控制权。
CPU/DMA块传输
ESCC提供块传输模式以适应CPU/DMA控制器。块传输模式将等待/请求输出与WR1中的等待/请求位。等待/请求输出可以定义为等CPU块传输模式中的线路或作为DMA块中的请求线路传输模式。
对于DMA控制器,ESCC请求输出指示ESCC已准备好将数据传送到存储器或从存储器传送数据。对于CPU,等待行指示ESCC没有准备好传输数据,因此请求CPU延长I/O周期。
DTR/请求线允许在DMA控制下进行全双工操作。亚太经社会可编程为以与如果WR7'位4为1,则等待/请求管脚。
ESCC数据通信能力
ESCC提供两个独立的全双工可编程通道,可用于任何通用异步或同步数据通信协议,这些通道具有相同的特性和功能。
异步模式
与标准串行通信控制器(SCC)相比,ESCC有显著的改进。增加了更深层的数据FIFOS提供了更大的保护欠载和溢出以及更有效地利用总线带宽。更深层次的数据无论使用何种协议,都可以访问FIFO,并且不需要启用它们。为了有关这些改进的信息,请参见第22页的Z80230/Z85230/L增强发送和接收允许每个字符5到8位,加上可选的偶数或奇数奇偶校验。这个发送器每字符可提供1、1.5或2个停止位,并可提供中断指示。接收器中断检测逻辑在开始和结束时中断CPU收到的中断。通过延迟的起始位验证来保护接收不受峰值影响。
一段时间内的信号,等于处理1位在接收数据输入(RxDA或RxDB管脚)上检测到低电平后的数据。如果低级不持久(即暂时的),字符汇编过程不持久开始。
帧错误和溢出错误被检测到,并与位于的字符一起缓冲。它们会发生。矢量中断允许快速处理错误情况。此外,内置的检查过程避免了将帧错误解释为新的开始。比特。帧错误导致加上一半时间的延迟。需要在搜索下一个起始位时处理1位数据开始。发送和接收时钟可以从几个来源中的任何一个中选择。在异步模式,同步针可编程为带中断的输入。
能力。
同步模式
ESCC支持面向字节和面向位的同步通信。同步面向字节的协议以几种模式处理。他们使用6位或8位同步字符(单同步)或
12位或16位同步模式(bisync),或带有外部同步信号。在不中断CPU的情况下删除前导同步字符。
5位或7位同步字符是从ESCC中的8位或16位模式中检测到的,方法是在多个传入同步字符之间重叠较大的模式
同步面向字节模式的CRC检查被延迟一个字符时间,以便CPU可以禁用对特定字符的CRC检查。这个动作
允许实现诸如ibm-bisync之类的协议。
两个CRC-16(x16+x15+x2+1)和CRC-CCITT(x16+x12+x5+1)错误检查支持多项式。可以在所有同步模式中选择任一多项式。您可以将CRC生成器和检查器预设为所有1或所有0。ESCC还提供当没有其它数据可供传输时自动传输CRC数据的一种功能。此功能可在DMA控制下实现高速传输,无需用于消息结束时的CPU干预。当没有要发送的数据或CRC时同步模式,发送器插入6、8、12或16位同步字符,不考虑编程字符长度。
SDLC模式
ESCC支持同步面向位协议,如SDLC和
高级数据链路控制(HDLC),通过执行自动标志发送、零插入和CRC生成。一个特殊的命令用于中止正在传输的帧。在消息结束时,当发送器欠载运行。发射器也可编程为发送由连续标志字符或稳定标记条件组成的空闲线路。如果在消息中间发生传输欠载,则外部/状态中断警告CPU此状态更改,以便发出中止命令。亚太经社会也可编程为在发生欠载,释放任务的CPU。帧的最后一个字符可以由1到8位,允许接收任何长度的帧。
接收器在SDLC或HDLC中自动同步帧的前导标志。
并在同步引脚上提供同步信号(也可编程中断)。接收器可以搜索由一个字节内的1字节或4位寻址的帧。用户指定的地址或全局广播地址。帧也不匹配忽略用户选择的地址或广播地址。
地址字节数在软件控制下扩展。要接收数据,请中断可以在第一个接收字符上选择,也可以在每个字符上选择,或者仅在特殊情况下选择(EOF)。接收器自动删除字符组装期间的发送器。CRC也被计算并自动已检查以验证帧传输。在传输结束时,接收的状态帧在状态寄存器中可用。在SDLC模式下,必须对ESCC进行编程使用CRC-CCITT多项式,但生成器和检查器可以预先设置为所有1或全部0。CRC数据在传输前被反转,接收器根据位模式0001110100001111。
NRZ、NRZI或FM编码可用于任何1X模式。中可用的奇偶校验选项异步模式在同步模式下也可用。然而,平价校验通常不用于SDLC,因为CRC校验更可靠。
SDLC环路模式
ESCC支持SDLC环路模式和正常SDLC。在SDLC环路模式下,主控制器站管理环路上的消息流量和任何号二级站。在SDLC环路模式下,ESCC执行辅助站的功能。在常规SDLC模式下的ESCC操作可以充当控制器,通过将WR10位1设置为1来选择SDLC环路模式。
控制器
次要1次要4
次要2次要3
SDLC环路模式
SDLC环路模式中的辅助站始终监视发送的消息
循环并将这些消息传递给循环的其余部分,以一位时间延迟重新发送它们。辅助站只在特定的时代。控制器通过在环路周围发送一个称为EOP的特殊字符来指示辅助站可以发送消息。eop字符有一个位模式11111110,与正常HDLC中的中止字符相同的模式。这个位模式是独特且易于识别,因为消息中没有插入。
当一个二级站有一条消息要发送并识别线路上的一个EOP时,它在传输前将EOP的最后一个二进制1更改为0。此操作将更改EOP进入标志序列。副站现在将其消息放在环路上,并用EOP终止消息。任何二级站在环路的另一端要传输的消息将其消息附加到第一个辅助站的消息中使用相同的过程。没有任何信息只传送回声的二级站传入消息。禁止所有二级站在循环,但在识别EOP时除外。在SDLC环路模式下,NRZ、NRZI或FM编码可以使用。
SDLC状态FIFO
ESCC接收高速背靠背SDLC帧的能力最大化为10位深19位宽状态FIFO缓冲区。启用时(通过WR15位2为1),存储区域允许DMA继续向内存传输数据,以便CPU稍后检查消息。对于每个SDLC帧,14个计数器位和5个状态/错误位存储。字节计数和状态位通过读寄存器RR6和RR7.RR6和RR7仅在启用SDLC FIFO缓冲时使用。10 x 19状态FIFO缓冲区与8字节接收数据FIFO缓冲区分开。
波特率发生器ESCC中的每个通道都包含一个可编程的BRG。每个发电机由两个形成16位时间常数、16位下计数器和触发器的8位寄存器产生方波的输出。启动时,输出端的触发器被设置为高电平,时间常数寄存器中的值加载到计数器中,开始倒计时。当BRG达到零,输出切换,计数器重新加载时间常数,过程重复。时间常数可以随时更改,但新的直到再次加载计数器,值才会生效。
BRG的输出可用作发送时钟、接收时钟或两者兼用。这个输出也可以驱动DPLL。有关详细信息,请参阅数字锁相环。如果接收时钟或发送时钟未编程为来自TRXC引脚,BRG的输出可由TRXC引脚回送。以下公式将时间常数与波特率联系起来。PCLK或RTXC是BRG的时钟输入。时钟模式为1、16、32或64,如在wr 4位6和。
PCLK或RTXC频率时间常数=2(波特率)(时钟模式)-2数字锁相环escc包含一个dpll,用nrzi或
调频编码。DPLL由名义上为32(nrzi)或16(fm)的时钟驱动。乘以数据速率。DPLL使用这个时钟和数据流来构造数据时钟。该时钟随后用作ESCC接收时钟、发送时钟,或者两者都有。当DPLL被选作发送时钟源时,它提供了一个无抖动的时钟输出。时钟输出是DPLL输入频率除以适当的所选编码技术的除数。
对于nrzi编码,dpll计算32x时钟以创建名义比特时间。作为32倍时钟计数,DPLL搜索输入数据流的边缘(1到0或0到1)。当检测到转换时,DPLL进行计数调整(在下一个计数周期),产生接近位单元中心的终端计数。
对于FM编码,dpll从0计数到32,但其周期对应于2位时间。当DPLL被锁定时,数据流中的时钟边缘出现在计数15和16,介于计数31和0之间。DPLL仅在以15到16计数转换为中心的时间。DPLL的32x时钟可编程为来自RTXC输入或BRG的输出。DPLL输出编程为通过TRXC管脚(如果该管脚未用作输入)。
数据编码
数据编码允许在同一个时钟和数据信息上传输中等。这种能力节省了在单独介质上传输时钟和数据的需要。
同步数据通常需要。ESCC提供四种不同的数据编码方法,由WR10中的位6和5选择。任何编码方法在ESCC的任何X1模式中使用,异步或同步。所选数据编码处于活动状态,即使发射器或接收器处于空转或禁用状态。
表3.数据编码说明(续)
代码类型级别值fm1(双相标记)位单元1中心的附加过渡在位0的中心没有额外的转换细胞fm0(在每一位0的开头都会发生两相A转换空格)呼叫。0由附加转换表示在位单元的中心。
表示在1处没有附加过渡位单元的中心。
除了这四种方法外,ESCC还可以用来解码曼彻斯特(双相电平)在FM模式下使用DPLL的数据,并为NRZ数据的接收器编程。曼彻斯特编码总是在位单元的中心产生一个转换。如果过渡是0到1,位是0。如果转换为1到0,则位为1。
自动回音和本地环回
ESCC能够自动回显它接收到的所有信息。此功能主要在异步模式下有用,但在同步和SDLC中有效。模式也一样。自动回声模式(txd为rxd)与nrzi或fm编码一起使用。由于数据流在重新传输之前没有被解码,所以会有额外的延迟。在自动回音模式下,CTS输入被忽略,作为一个发送器启用,(尽管此输入的转换可能导致中断,如果编程这样做)。在这种模式下,发送器实际上被绕过,程序员负责禁用发送器。
发送时中断和等待/请求。ESCC还能够进行本地环回。在此模式下,内部传输数据绑定到内部接收数据,RxD被忽略。CTS和DCD输入为当发送和接收启用时也被忽略。但是,这些输入的转换可以造成中断。本地环回在异步、同步和SDLC模式下工作,并对数据流进行NRZ、NRZI或FM编码。
Z80230/Z85230/L增强
Z80230/Z85230/L ESCC与标准SCC不同之处的详细说明如下
ESCC有一个4字节的传输缓冲器,带有可编程中断和DMA请求。水平。不需要启用FIFO缓冲区,因为它总是可用的。你可以设定发送缓冲区空(tbe)中断和dma请求发送命令到当发送FIFO的顶字节为空或仅当FIFO为空时生成。完全空了。硬件或通道重置清除传输移位寄存器,刷新发送FIFO,并将WR7'位5设置为
如果发送器在
FIFO为空(WR7'位5为0),系统允许较长的数据响应时间请求而不下溢。中断服务程序(ISR)写入1字节,然后测试RR0位2。在这种模式下传输的DMA请求在每个数据之后都设置为0。当FIFO的顶字节为空时,write(即tbe)的rr0位2设置为1。WR7’位5重置为。
在中断频率很重要的应用中,传输ISR可以通过编程ESCC优化,仅当FIFO为完全空(WR7'位5为1),并写入4个字节以填充FIFO。WR7'位时5是1,只生成一个DMA请求,填充FIFO的底部。然而,这对于可能重新插入DMA请求的应用程序可能有利不是必需的。当FIFO的顶字节为1时,tbe状态位rr0位2设置为1。空。WR7'位5在硬件或通道重置后设置为
ESCC有一个8字节的接收FIFO,具有可编程中断级别。无需启用8字节FIFO,因为它始终可用。硬件或通道重置清除接收移位寄存器并刷新接收FIFO。接收字符可用中断由WR7'位3选择生成。接收字符可用位,当FIFO顶部至少有一个字节可用时,RR0位0设置为1(独立WR7'位3)。
接收时的DMA请求(如果已启用)在接收与WR7'位3无关的FIFO。如果FIFO中可用的字节数超过1,则等待/请求pin变为非活动状态,当FIFO清空时变为活动状态。
通过将WR7'位3重置为0,对中断具有长延迟的应用程序可以在一个字节可用时生成从FIFO读取数据的请求。应用程序然后可以测试接收字符的可用位,以确定是否有更多的数据可用。通过将WR7'位3设置为0,ESCC可以在接收FIFO为一半时发出中断。完整(4字节可用),允许减少中断频率。如果WR7'位3是当有4个字节可用时,生成接收字符可用中断。
如果ISR在每个例程中读取4个字节,则中断的频率会降低。如果WR7'位3为1,接收所有字符中断,特殊条件为启用后,当四个字符为可用。但是,当检测到一个字符具有特殊条件时,中断当字符加载到FIFO的前四个字节时生成。因此,在读取数据以确定哪个字节之前,特殊条件ISR必须是RR1具有特殊条件。写入寄存器7 prime(wr7')一个新的寄存器WR7已添加到ESCC中,以使6个新的特征。
1。WR15位0必须重置为0,以寻址寄存器WR7中的同步字符。如果第6位WR7'设置为1,然后通过对RR14执行读取循环来读取WR7'。WR7'功能保持启用状态,直到特定禁用或通过硬件或软件重置。钻头
5设置为1,所有其他位在重置后重置为0。对于使用ZiLog Z8x30SCC或Z80230的应用程序,这两种设备类型可通过以下测试在软件中识别:
1。写入01H以写入寄存器15
2。读取寄存器15
如果位0设置为0,则设备为Z8x30SCC。如果位0设置为1,则为Z80C30。如果设备是Z8XC30,在继续之前需要写入WR15。如果设备是Z80230,所有在WR15设置为0之前,对地址7的写入操作将被写入WR7'。WR7寄存器位描述如下:位7(未使用)该位必须始终为0。位6(扩展读取启用)将该位设置为1可通过发出分别读取rr9(wr3)rr4、rr5、rr14(wr7')和rr11(wr10)的命令。位5(发送FIFO中断电平)如果该位设置为1,则当传输FIFO完全完成时,将生成TBE中断。空。如果该位设置为0,则当发送FIFO的顶字节为空时,将生成TBE中断。该位在硬件或通道复位后设置。在传输模式下的DMA请求中,当使用w/req或dtr/req时
插脚,如果WR7'位5设置为,则当TX FIFO完全为空时,请求被断言。
如果第5位被重置,当FIFO的顶字节为空时,请求被断言。位4(DTR/REQ定时)如果该位设置为1,并且DTR/REQ引脚用于请求模式(WR14位2为1),则DTR/REQ引脚的停用与W/REQ引脚相同,如中所示。
传输停用定时的DMA请求位3(接收FIFO中断电平)该位设置接收FIFO的中断级别。如果该位设置为1,则接收数据
当接收FIFO半满(4字节可用)时,断言可用位。如果这个位是重置为0,当设置所有字节时,请求接收数据可用中断。为了更多信息,请参见第22页的8字节接收FIFO。位2(自动RTS针解除断言)该位控制SDLC模式下RTS管脚解除断言的时间。如果这个位是1和WR5位1在SDLC帧传输期间设置为0,解除对在关闭标志的最后一位清除txd管脚之前,RTS管脚延迟。RTS管脚
在发送时钟周期的上升沿从关闭标志的最后一位拉高。此操作意味着必须为欠载运行时的标志对ESCC进行编程。(WR10位2为0),用于框架末端的RTS销去断言。这项功能有效独立于编程的发射器空闲状态。在同步模式下,其他与SDLC相比,RTS引脚立即遵循WR5位1编程的状态。什么时候?WR7'位2设置为0,RTS遵循WR5位1的状态。位1(自动EOM复位)
如果该位为1,则ESCC自动重置Tx欠载/EOM锁存并预设将CRC发生器发送到其编程的预设状态(根据WR5第2位和WR10位7)。因此,无需发出重置Tx欠载/EOM锁存。启用此功能时的命令。位0(自动发送SDLC标志)
如果该位为1,则ESCC在传输数据之前自动传输SDLC标志。此操作删除了在写入之前重置标记空闲位(WR10位3)的要求。数据传送器。
历史上,SCC将数据总线锁定在了wr的下降边缘。但是,很多
CPU不保证当wr pin变低时数据总线有效,Zilog修改了数据总线定时,以允许从wr信号开始的最大延迟为20 ns。激活低到数据总线的锁存。
SDLC模式下的CRC接收在SDLC模式下,整个CRC被时钟送入接收FIFO。ESCC完成在CRC中进行时钟,以允许重新传输或操作软件。在SCC中,
当识别关闭标志时,接收移位寄存器的内容立即传输到接收FIFO,导致CRC的最后两位丢失。在ESCC中,不需要对该功能进行编程。当检测到关闭标志时,CRC的最后2位被传输到接收FIFO。在所有其他同步模式,ESCC不在最后2个CRC位(与SCC)。
当标记为空闲时,用NRZI编码的sdlc中的txd强制高
当ESCC编程为带NRZI数据编码和标记空闲的SDLC模式时(WR10位6为0,位5为1,位3为1),当发射器进入标记空闲状态。发射器有几种不同的方式进入空闲状态。在下列每种情况下,当达到标记空闲状态:
•数据、CRC、标志和空闲
•数据、标志和空闲
•数据、中止(欠载运行时)和空闲
•数据、中止(命令)和空闲
•空闲标记和空闲标记命令
当mark idle位设置为0时,强制高功能被禁用。此功能与自动SDLC打开标志传输结合使用
功能,WR7'位0为1,以确保数据包的格式正确。在这种情况下,CPU不需要发出任何命令。如果WR7'位0为0,如在SCC上,标记空闲位(WR10位3)设置为1,以便在SDLC数据包传输之前启用标志传输。改进的传输中断处理由于CRC被加载到传输移位中,因此ESCC锁定TBE中断。
即使由于最后一个数据字节而导致的tbe中断没有被重置,也要进行注册。A的结尾
DPLL计数器Tx时钟源当选择DPLL作为发送时钟源时,DPLL计数器输出为
DPLL源时钟除以编程数据编码的适当除数格式。在FM模式(FM0或FM1)中,DPLL计数器输出信号为输入频率。除以16。在NRZI模式下,DPLL计数器输出信号是输入时钟周期除以32。此功能提供无抖动输出信号,取代DPLL发送时钟输出作为发送时钟源。此操作不影响将dpll用作接收时钟源。
DPLL时钟输入DPLL DPLL输出到接收器
DPLL计数器DPLL输出到发送器输入频率除以16(fm0或fm1)nrzi的输入时钟周期除以32
DPLL输出
读取循环期间锁定读取寄存器0状态在读取操作期间,读取寄存器0、rr0的内容被锁定。ESCC防止在读取操作期间更改RR0的内容。但是,SCC允许在读取寄存器时,要更改rr0的状态,可能需要读取rr0两次。在RD信号上升沿后更新RR0的内容。
软件中断确认
可以使用软件启动Z80230/Z85230/L中断确认循环。如果写寄存器9(WR9位5为1),读寄存器2(RR2)导致中断输入循环,软件确认会导致int pin变高。IEO引脚变低。服务(IUS)锁存下的中断被设置为最高优先级的挂起中断。当需要硬件输入信号时,软件确认周期要求重置ISR中发出的最高IUS命令。如果从通道A读取rr2,则返回未修改的向量。如果从通道B读取rr2,则修改矢量指示中断源。矢量包括状态(vis)和无矢量。(nv)当WR9位5设置为1时,忽略WR9中的位。如果不使用Intack和IEI插脚,则通过电阻器将它们向上拉至VCC(2.2千,典型)。
快速SDLC传输数据中断响应为了方便使用单个共享标志的背靠背SDLC帧的传输在帧之间,ESCC允许将第二帧的数据写入传输
Tx欠载/EOM中断发生后的FIFO。此功能允许应用软件有更多时间将数据写入发送器,同时允许当前帧以CRC和标志结束。SCC要求不向发送器写入数据直到CRC完成传输后生成一个TBE中断。
如果数据在发送欠载/EOM中断后写入发送FIFO但在发出TBE中断之前,自动EOM复位功能被启用。(WR7'位1为1)。因此,命令重置Tx/Underrun EOM锁存和重置不得使用Tx CRC发生器。
SDLC FIFO帧状态增强当与DMA控制器一起使用时,ESCC SDLC帧状态FIFO增强最大化ESCC接收高速背靠背SDLC消息的能力。它最小化由于CPU响应中断的延迟而导致的帧溢出。功能(如第29页图15所示)包括:
•10位深19位宽状态FIFO
•14位接收字节计数器
•控制逻辑
10 x 19位状态FIFO与8字节接收数据FIFO分开。启用增强功能后,读取寄存器1(rr1)中的状态和的字节计数SDLC帧存储在10-x 19位状态FIFO中。此操作允许DMA
控制器,在CPU验证之前的接收帧
笔记:
1。所有发送的绕过mux,等于scc状态寄存器的内容。
2。奇偶校验位绕过MUX,等于SCC状态寄存器的内容。
3。每当从FIFO读取时,EOF设置为1。总结操作:接收、组装数据并将其加载到8字节FIFO中在通过DMA控制器传输到内存之前。
当在SDLC帧的末尾接收到一个标志时,来自14位的帧字节计数计数器和5个状态位加载到状态FIFO中,由CPU进行验证。这个CRC校验程序自动复位,为下一帧做准备,该帧立即启动。因为每个帧的字节数和状态都是保存的,所以消息完整性可以稍后验证。状态信息存储在状态之前最多10帧发生FIFO溢出。如果使用abort命令终止帧,则字节计数和状态将加载到状态FIFO和计数器为下一帧复位。
FIFO启用/禁用
当WR15位2为1且ESCC在SDLC/HDLC中时,启用该FIFO缓冲区。模式。否则,状态寄存器内容将绕过FIFO并直接传输到总线接口(禁用或通过通道或上电复位)。当FIFO模式被禁用时,ESCC向下兼容使用NMOS Z8030/Z8530。通电时禁用FIFO模式(WR15位2设置重置时为0)。向后兼容性对寄存器集的影响是,rr4是一个rr0的图像,rr5是rr1的图像,rr6是rr2的图像,rr7RR3。有关添加寄存器的信息,请参见第53页的读取寄存器。的状态FIFO启用信号在RR15位2处读取。如果FIFO被启用,则位被设置为1;否则它被重置为0。
FIFO读取操作
当WR15位2为1且FIFO不为空时,下一个读取状态寄存器RR1或附加寄存器rr7和rr6读取FIFO。读取状态寄存器rr1导致一个FIFO的位置为空,因此在读取字节计数后读取状态;否则计数不正确。在FIFO下溢之前,它被禁用。在这种情况下,多路复用器切换到允许状态直接从状态寄存器读取。在这种状态下,从RR7和RR6是未定义的RR7位(FIFO数据可用)状态数据来自FIFO或直接从状态寄存器,因为当FIFO不在时,它被设置为1。空的。
由于所有状态位都不存储在FIFO中,因此所有发送、奇偶校验和EOF位都绕过国际足联。通过FIFO发送的状态位是三个剩余位、溢出位和CRC错误。
轮询字节计数和FIFO逻辑的正确顺序是rr7、rr6,然后是rr1。(可选择读取RR6)。附加逻辑防止FIFO通过多个从RR1读取。从RR7读取锁定FIFO空/满状态位(位6)和引导状态多路复用器读取ESCC兆单元而不是状态FIFO
SDLC状态FIFO防锁功能
当帧状态FIFO启用且ESCC编程为特殊接收时仅限条件(WR1位4=位3=1),当字符读取eof状态。当eof状态位于fifo的顶部时,带有向量的中断为接收数据生成。必须在ISR结束,不管是否执行了中断确认周期(硬件或软件)。此操作允许DMA完成接收帧到内存的传输,然后在不锁定FIFO的情况下,中断完成帧的CPU。因为在特殊条件下的接收中断模式不使用接收数据的中断向量,它表示帧的最后一个字节已被读取。接收FIFO。读取帧状态(CRC、字节计数和存储在状态FIFO)确定不需要EOF。接收到具有非EOF特殊接收条件的字符时(接收器溢出或奇偶校验),在字符从FIFO读取并锁定接收FIFO,直到错误重置命令发布。
程序设计
ESCC包含由系统编程的每个通道中的写入寄存器。单独配置每个通道的功能。在Z85230/L ESCC中,通过在
D/C销。除了WR0和RR0之外,对写寄存器进行编程需要两个写操作,而读取读寄存器则需要一个写操作和一个读操作。第一封信是写给WR0,包含指向所选寄存器的位。如果下一个操作是写入
写入选定的写入寄存器。如果下一个操作是读取,则读取选定的读取寄存器。指针位在第二次操作后自动清除,因此读或写来自rr0或转到wr0。不需要写00到WR0到访问WR0或RR0。对于Z80230 ESCC,寄存器可直接寻址。向WR0B发出的命令确定ESCC如何解码位于读或写周期的开始。在右移模式下,选择A/B频道。从AD0和AD5的状态被忽略。在左移模式下,通道选择A/B为取自AD5,忽略AD0状态。AD7和AD6始终被忽略为地址位和寄存器地址本身占据AD4–AD1。正在初始化
软件首先发出一系列命令来初始化基本的操作模式。这些命令后面跟着其他命令来限定所选模式。例如,在异步模式下,字符长度、时钟首先设置速率、停止位数和奇偶校验。接下来,中断模式已设置。最后,接收器和发射器启用。写入寄存器
ESCC在每个通道中包含16个写入寄存器(17个对发送缓冲区计数)。这些写入寄存器被编程为配置通道的功能。有两个信道共享的两个寄存器(WR2和WR9),可通他们中的任何一个。WR2包含两个通道的中断向量。WR9包含中断控制位和复位命令。如果WR15位寄存器WR7'可以写入是1。
Z80X20寄存器访问
位被解码形成寄存器地址。这个位放在这个寄存器中以简化
当右移/左移位的当前状态未知时进行编程。硬件重置强制将地址从中解码为左移模式。AD5–AD0。在右移模式下,地址从AD4–AD0解码。轮班使用命令写入右/左移位位,使写入WR0的软件独立于右/左移位位的状态。在左移模式下,寄存器地址放在AD4–AD0和信道选择位A/B,从AD5解码。在右移模式下,寄存器地址再次放在AD4–AD1上,但通道选择A/B从AD0解码。由于Z80230不包含16个读取寄存器,因此读取寄存器的解码不是完成;此状态在第23页的表4和表5中用括号括起来注册名称。这些地址也可用于访问读寄存器。Z80230仅包含一个WR2和WR9;这些寄存器可以从任一通道写入。当通道A和B编程不同时,使用左移模式。使用左移模式允许软件通过一个通道的寄存器进行排序。一次。当通道编程相同时,使用右移模式。通过增加地址,您可以将相同的数据值编程到两个通道A中。和通道B寄存器。Z80230寄存器使用AD7–AD0上的地址寻址,该地址由AS的上升沿。通道B WR0中的SHIFT RIGHT/SHIFT LEFT位控制