描述
深入解析 Z80C30/Z85C30 CMOS SCC 串行通信控制器
在电子设计领域,串行通信控制器是实现数据高效传输的关键组件。Zilog 公司的 Z80C30 和 Z85C30 CMOS SCC 串行通信控制器凭借其出色的性能和丰富的功能,在众多应用场景中得到了广泛应用。今天,我们就来深入探讨一下这两款控制器的特点、功能及应用。
文件下载:Z85C3016VSG.pdf
一、产品概述
Z80C30 和 Z85C30 是 Zilog 公司推出的引脚和软件兼容的 CMOS 成员,属于 SCC 家族。它们是双通道、多协议数据通信外设,能轻松与具有复用或非复用地址/数据总线的 CPU 进行接口。这两款控制器具有低功耗、高性能和出色的抗噪能力,适用于各种串行数据传输应用。
1.1 主要特性
- 优化设计:Z85C30 针对非复用总线微处理器进行了优化,而 Z80C30 则针对复用总线微处理器进行了优化。
- 双独立通道:拥有两个独立的 0 至 4.1 Mbps 全双工通道,每个通道都有单独的晶体振荡器、波特率发生器(BRG)和数字锁相环(DPLL),可实现时钟恢复。
- 多协议操作:支持多种协议,可通过程序控制实现 NRZ、NRZI 或 FM 数据编码。
- 异步和同步模式:具备异步模式(5 - 8 位字符,1、1.5 或 2 个停止位)和同步模式(内部或外部字符同步,CRC 生成和校验)。
- SDLC/HDLC 模式:支持 SDLC/HDLC 模式,具有全面的帧级控制、自动零插入和删除等功能。
- 软件中断确认:具备软件中断确认功能,这是 NMOS 版本所没有的。
- 本地回环和自动回显:支持本地回环和自动回显模式。
- 增强的 DMA 支持:提供增强的 DMA 支持,具有 10 x 19 位状态 FIFO 和 14 位字节计数器。
1.2 Z85C30 独有特性
Z85C30 还具备一些独有的特性,部分特性默认开启,部分特性(带 * 标记)默认禁用,可通过 WR7 进行编程启用。
- 新的可编程写寄存器:新增可编程写寄存器 7 素数(WR7),可启用新功能。
- SDLC 模式改进:改进了对同步通信 SDLC 模式的支持,包括更轻松地发送连续帧、自动 SDLC 起始标志传输等。
- AC 时序改进:缩短了访问恢复时间,可编程 DTR/REQ 时序,消除了写数据到 WR 下降沿的建立时间要求,减少了 INT 时序。
- 其他特性:具有扩展读取功能,可读取写寄存器的写入值;在读取时锁存 RRO;RRO 的 D7 位和 RR10 的 D6 位现在有默认复位值。
二、引脚描述
2.1 通用引脚
Z85C30 和 Z80C30 有一些通用引脚,这些引脚在不同模式下具有不同的功能。
- CTSA、CTSB:清除发送(输入,低电平有效),可用于自动启用功能或作为通用输入。
- DCDA、DCDB:数据载波检测(输入,低电平有效),可作为接收器启用或通用输入。
- DTR/REQA、DTR/REQB:数据终端就绪/请求(输出,低电平有效),可作为通用输出或 DMA 控制器的请求线。
- IEI、IEO:中断使能输入/输出,用于形成中断菊花链。
- INT:中断请求(输出,开漏,低电平有效)。
- INTACK:中断确认(输入,低电平有效)。
- PCLK:时钟输入,用于同步内部信号。
- RxDA、RxDB:接收数据输入。
- RTxCA、RTxCB:接收/发送时钟输入,可配置多种工作模式。
- RTSA、RTSB:请求发送(输出,低电平有效)。
- SYNCA、SYNCB:同步(输入或输出,低电平有效),可作为输入、输出或晶体振荡器电路的一部分。
- TxDA、TxDB:发送数据输出。
- TRxCA、TRxCB:发送/接收时钟(输入或输出,低电平有效),可配置多种工作模式。
- W/REQA、W/REQB:等待/请求(输出,开漏或驱动高/低电平),可作为 DMA 控制器的请求线或等待线。
2.2 特定引脚
- Z85C30 特定引脚:A/B 用于选择通道,CE 为芯片使能,D7 - D0 为数据总线,D/C 用于选择数据或控制信息,RD 为读信号,WR 为写信号。
- Z80C30 特定引脚:AD7 - AD0 为地址/数据总线,AS 为地址选通,CS0、CS1 为片选信号,DS 为数据选通,R/W 用于指定读写操作。
三、功能描述
3.1 I/O 接口能力
系统与 SCC 设备之间的通信通过其寄存器组完成。SCC 有十六个写寄存器(WR)和八个读寄存器(RR),通过这些寄存器可以进行数据、状态和控制信息的读写操作。数据传输方式有三种:轮询、中断(向量和非向量)以及 CPU/DMA 块传输。
- 轮询:所有中断禁用,CPU 定期读取状态寄存器,根据寄存器内容决定是否进行数据传输。
- 中断:支持向量和嵌套中断,通过 INTACK 信号实现中断确认。每个中断源有三个相关位:中断待决(IP)、服务中中断(IUS)和中断使能(IE)。有三种类型的中断:发送、接收和外部/状态中断。
- CPU/DMA 块传输:提供块传输模式,可使用 WAIT/REQUEST 输出与 WR1 中的等待/请求位配合,实现 CPU 块传输功能和 DMA 控制器的数据传输。
3.2 SCC 数据通信能力
- 异步模式:每个通道可独立发送和接收数据,字符长度为 5 - 8 位,可选择奇偶校验,发送器可提供 1、1.5 或 2 个停止位,并可提供中断输出。接收器具有瞬态脉冲抑制机制,可检测并缓冲帧错误和溢出错误。
- 同步模式:支持字节和位导向的同步通信,可使用 6 位或 8 位同步字符(单同步)、12 位或 16 位同步模式(双同步)或外部同步信号进行字符同步。支持 CRC - 16 和 CCITT 错误检查多项式,可预设 CRC 生成器和校验器为全 1 或全 0。
- SDLC 模式:支持 SDLC 和 HDLC 等同步位导向协议,自动执行标志发送、零插入和 CRC 生成。接收器可自动在帧的起始标志处实现同步,并可根据地址进行帧过滤。
- SDLC 循环模式:支持 SDLC 循环模式,作为辅助站可监听并转发消息,在特定时间发送自己的消息。
3.3 波特率发生器和数字锁相环
- 波特率发生器(BRG):每个通道都有一个可编程的波特率发生器,由两个 8 位时间常数寄存器、一个 16 位递减计数器和一个输出触发器组成。输出的 BRG 可作为发送时钟、接收时钟或两者,其时间常数与波特率的关系为:[Time Constant =frac{ PCLK or RTxC Frequency }{2 (Baud Rate)( Clock Mode )}-2]
- 数字锁相环(DPLL):用于从 NRZI 或 FM 编码的数据流中恢复时钟信息,由一个标称频率为数据速率 32(NRZI)或 16(FM)倍的时钟驱动。
3.4 数据编码和回显功能
- 数据编码:SCC 可通过四种不同方法对串行数据进行编码和解码,包括 NRZ、NRZI、FM1 和 FM0。此外,还可通过 DPLL 在 FM 模式下对曼彻斯特数据进行解码。
- 自动回显和本地回环:支持自动回显功能,在异步、同步和 SDLC 模式下都可工作;本地回环模式将内部发送数据连接到内部接收数据,RxD 被忽略。
3.5 SDLC FIFO 帧状态 FIFO 增强
SCC 的 10 深 x 19 位宽状态 FIFO 可最大程度地提高接收高速连续 SDLC 帧的能力。当启用时,DMA 可继续将数据传输到内存,CPU 可稍后检查消息。每个 SDLC 帧的 14 位字节计数和 5 个状态/错误位存储在 FIFO 中,可通过读寄存器 6 和 7 访问。
四、编程与设置
4.1 寄存器编程
- Z85C30:数据寄存器通过 D/C 引脚直接寻址,其他寄存器(除 WR0 和 RR0)的编程需要两次写操作,读取需要一次写和一次读操作。
- Z80C30:所有 SCC 寄存器都可直接寻址,WR0B 中的命令控制如何解码地址/数据总线上的地址。
4.2 系统设置
系统程序首先发出一系列命令来初始化基本操作模式,然后根据所选模式设置其他条件,如异步模式下的字符长度、时钟速率、停止位和奇偶校验等,最后设置中断模式并启用接收器和发送器。
五、电气特性
5.1 绝对最大额定值
- Vcc 电源电压范围:–0.3 V 至 +7.0 V
- 所有引脚相对于 GND 的电压:–3 V 至 VCC + 0.3 V
- 工作环境温度:见订购信息章节
- 存储温度:–65° C 至 +150° C
5.2 标准测试条件
DC 特性和电容测量在标准测试条件下进行,所有电压以 GND 为参考,正电流流入参考引脚。
5.3 电容和 DC/AC 特性
文档还给出了输入、输出和双向电容的参数,以及 Z80C30 和 Z85C30 设备的 DC 和 AC 特性参数,包括输入输出电压、电流、时钟周期等。
六、封装与订购信息
6.1 封装
Z80C30 和 Z85C30 提供 40 引脚 DIP 封装和 44 引脚 PLCC 封装,文中给出了这两种封装的详细尺寸图。
6.2 订购信息
提供了不同速度(8 MHz、10 MHz、16 MHz)下的订购型号,同时介绍了部件编号后缀的含义,包括环境、温度范围、封装和速度等信息。
七、总结
Z80C30 和 Z85C30 CMOS SCC 串行通信控制器以其丰富的功能、出色的性能和灵活的编程能力,为电子工程师在串行数据通信设计中提供了强大的工具。无论是在异步通信还是同步通信应用中,它们都能满足不同的需求。在实际设计中,工程师需要根据具体的应用场景和系统要求,合理选择和配置这两款控制器,以实现高效、稳定的数据传输。大家在使用过程中遇到过哪些问题呢?或者对这两款控制器有什么其他的见解,欢迎在评论区分享交流。
打开APP阅读更多精彩内容