CH438 WCH | Alldatasheet
Document overview
- Manufacturer or author: Provided By ALLDATASHEET.COM(FREE DATASHEET DOWNLOAD SITE)
- PDF pages: 11
Technical content
CH438中文手册 1 八串口芯片CH438 数据手册 版本:1B http://wch.cn 1、概述 CH438 是八UART 芯片,包含八个兼容16C550 或者16C750 的异步串口,支持最高4Mbps 的通讯 波特率,可以用于单片机/嵌入式系统的RS232 串口扩展、带自动硬件速率控制的高速串口、RS485 通讯等。下图为其一般应用框图。 2、特点
- 完全独立的八个异步串口,兼容16C550、16C552、16C554及16C750并且有所增强。
- 支持5、6、7或者8个数据位以及1 或者2 个停止位。
- 可编程通讯波特率,支持115200bps以及最高达4Mbps 的通讯波特率。
- 内置128 字节的FIFO先进先出缓冲器,支持4 个FIFO触发级。
- 支持MODEM调制解调器信号CTS、DSR、RI、DCD、DTR、RTS,可由75232芯片转成RS232电平。
- 支持硬件流控制信号CTS和RTS自动握手和自动传输速率控制,兼容TL16C550C。
- 支持串口帧错误检测、支持Break 线路间隔检测。
- 内置时钟振荡器,支持频率范围0.9216MHz~32MHz 的晶体,默认使用22.1184MHz 晶体。
- 提供10MB 速度的8位被动并行接口连接单片机。
- 并行接口包含8位数据总线,7位地址,3 线控制:片选输入、写选通以及可选的读选通。
- 支持直接地址和复用地址方式:直接输入7位地址或者由ALE 信号控制从数据总线锁存地址。
- 中断输出引脚是可选连接,低电平有效,可以通过查询寄存器中的中断标志位代替。
- 支持5V 或者3.3V电源电压,支持串口低功耗睡眠模式。
- 提供LQFP-44 和LQFP-128无铅封装,兼容RoHS。 3、封装 D7~D0 INT RD# WR# CS# TXD7/RTS7/DTR7 RXD0/CTS0/DSR0/RI0/DCD0 TXD0/RTS0/DTR0 串口0 RXD7/CTS7/DSR7/RI7/DCD7 串口7 RXD1/CTS1/DSR1/RI1/DCD1 TXD1/RTS1/DTR1 串口1 RXD6/CTS6/DSR6/RI6/DCD6 TXD6/RTS6/DTR6 串口6 ALE或A6~A0 MCU 单片机 或 ISA 等 并行总线 CH438 芯片 RST# AMOD
CH438中文手册 2 封装形式 塑体宽度 引脚间距 封装说明 订货型号 LQFP-128 14mm x 14mm 0.4mm 15.7mil 标准LQFP128 贴片 CH438L LQFP-44 10mm x 10mm 0.8mm 31.5mil 标准LQFP44贴片 CH438Q 4、引脚 CH438Q芯片是CH438L芯片去掉MODEM信号引脚之后的精简版本,除了没有MODEM信号引脚之外, 其它功能完全相同。CH438Q的同名引脚具有相同的功能,下面的引脚说明仅以CH438L为例。 4.1. 电源和系统信号线
CH438中文手册 3 引脚号 引脚名称 类型 引脚说明 30,44,67,94,128 VCC 电源 正电源端 1,16,29,46,68, 93,105,106,120 GND 电源 公共接地端 2-6,14,15,17-23, 41-43,45,58, 115-119,121,126,127 NC. 空脚 禁止连接
47 XI 输入 晶体振荡的输入端,需要外接晶体及振荡电容
48 XO 输出 晶体振荡的反相输出端,需要外接晶体及振荡电容
4.2. 单片机接口信号线 引脚号 引脚名称 类型 引脚说明
104 RST# 输入 外部手工复位输入,低电平有效,内置弱下拉电阻
122 AMOD 输入 地址输入方式选择:
低电平为直接地址方式,高电平为复用地址方式 107-114 D7~D0 三态输出 及输入 8 位并行双向数据信号线, 复用地址方式的地址和数据复用信号线 7-13 A6~A0 输入 直接地址方式的地址线输入
7 ALE 输入 复用地址方式的地址锁存使能输入,高电平有效
124 RD# 输入 并口方式的读选通输入,低电平有效
125 WR# 输入 并口方式的写选通输入,低电平有效
123 CS# 输入 并口方式的片选控制输入,低电平有效
103 INT 开漏输出 中断请求输出,低电平有效,可能需要外接上拉电阻
4.3. 串口信号线 引脚号 引脚名称 类型 引脚说明 CTS0/CTS1 CTS2/CTS3 CTS4/CTS5 CTS6/CTS7 输入 MODEM 信号,清除发送,低电平有效,内置弱上拉 CH438Q没有该引脚 DSR0/DSR1 DSR2/DSR3 DSR4/DSR5 DSR6/DSR7 输入 MODEM 信号,数据装置就绪,低电平有效,内置弱上拉 CH438Q没有该引脚 RI0/RI1 RI2/RI3 RI4/RI5 RI6/RI7 输入 MODEM 信号,振铃指示,低电平有效,内置弱上拉 CH438Q没有该引脚 DCD0/DCD1 DCD2/DCD3 DCD4/DCD5 DCD6/DCD7 输入 MODEM 信号,载波检测,低电平有效,内置弱上拉 CH438Q没有该引脚 RXD0/RXD1 RXD2/RXD3 RXD4/RXD5 RXD6/RXD7 输入 异步串行数据输入,内置弱上拉电阻
CH438中文手册 4 DTR0/DTR1 DTR2/DTR3 DTR4/DTR5 DTR6/DTR7 输出 MODEM 信号,数据终端就绪,低电平有效 CH438Q没有该引脚 RTS0/RTS1 RTS2/RTS3 RTS4/RTS5 RTS6/RTS7 输出 MODEM 信号,请求发送,低电平有效 CH438Q没有该引脚 TXD0/TXD1 TXD2/TXD3 TXD4/TXD5 TXD6/TXD7 输出 异步串行数据输出 5、内部时钟配置 CH438 芯片内部具有时钟振荡器,只需要在XI 和XO 引脚之间连接一个晶体,并且为XO 引脚对 地连接振荡电容,就能产生串口所需的外部时钟信号,如果不接晶体和电容,CH438芯片也可以通过 XI 引脚从外部时钟源直接输入时钟。 CK2X 是串口1~7 的IER 寄存器的位5,CH438 芯片内部由CK2X 选择对XI 引脚的外部时钟信号 进行1/12 分频或者2 倍频,产生内部基准时钟提供给串口0~串口7。CK2X 默认为0,为0 时选择 1/12 分频,为1 时选择2 倍频。如果需要与现有16C550 串口芯片兼容,那么内部时钟频率应该是 1.8432MHz,对应的最大串口波特率是115200bps,所以默认的外部时钟频率为22.1184MHz。如果需 要产生较高的串口波特率,那么应该设置CK2X 为1,并且选择较高的外部时钟频率。如果需要产生 特殊数值的串口波特率,那么应该选择特定频率的外部时钟或者晶体。 CH438 芯片的串口0 只支持1/12 分频一种内部时钟频率,不支持倍频,而串口1~串口7 支持 CK2X 选择分频或者倍频。下表是串口1~串口7 根据CK2X 值和外部晶体频率产生串口的内部时钟频 率和最大串口波特率。 CK2X=0,内部1/12分频 CK2X=1,内部2 倍频 外部输入时钟频率 或者外部晶体频率 内部时钟频率 最大波特率 内部时钟频率 最大波特率 32MHz 64MHz 4Mbps 18.432MHz 36.864MHz 2.304Mbps 14.7456MHz 29.4912MHz 1.8432Mbps 0.9216MHz 1.8432MHz 115.2Kbps 6、寄存器 CH438芯片内部具有8个独立的串口模块,在寄存器地址空间分布上,每个串口各占用8个字节 的地址空间。地址00H-07H为串口0的寄存器,地址08H-0FH 为串口4 的寄存器,地址10H-17H为串 口1,地址18H-1FH为串口5,地址20H-27H为串口2,地址28H-2FH为串口6,地址30H-37H为串口 3,地址38H-3FH为串口7。另外,地址4FH 的寄存器是专用状态寄存器SSR,是只读寄存器,用于查 询芯片内部的串口0~串口7的各个中断状态等。 6.1. 专用状态寄存器
CH438中文手册 5 CH438的专用状态寄存器是只读寄存器,其地址为4FH。 名称 位7 位6 位5 位4 位3 位2 位1 位0 SSR S7INT S6INT S5INT S4INT S3INT S2INT S1INT S0INT SSR:状态寄存器,用于查询芯片内部的各个中断状态等,为1 说明正在请求中断。 S7INT:该位是串口7的中断请求状态。 S6INT:该位是串口6的中断请求状态。 S5INT:该位是串口5的中断请求状态。 S4INT:该位是串口4的中断请求状态。 S3INT:该位是串口3的中断请求状态。 S2INT:该位是串口2的中断请求状态。 S1INT:该位是串口1的中断请求状态。 S0INT:该位是串口0的中断请求状态。 6.2. 串口寄存器 CH438的串口兼容工业标准16C550或者16C750并有所增强,表中标为灰色的寄存器位为增强功 能,并且FIFO缓冲器长度扩展为128字节,除此之外的寄存器可以参考单串口芯片16C550的说明。 除了起始地址不同,串口1与串口2、3、4、5、6、7的寄存器都相同,除了SLP/CK2X寄存器位 之外,串口0 与串口1 的寄存器都相同。表中DLAB为寄存器LCR 的位7,X 表示不关心DLAB值,RO 表示寄存器只读,WO表示寄存器只写,R/W 表示寄存器可读可写。 地 址 DLAB R/W 名 称 位7 位6 位5 位4 位3 位2 位1 位0 0 0 RO RBR 位7 位6 位5 位4 位3 位2 位1 位0 0 0 WO THR 位7 位6 位5 位4 位3 位2 位1 位0 1 0 R/W IER RESET LOWPOWER SLP/CK2X 0 IEMODEM IELINES IETHRE IERECV
2 X RO IIR FIFOENS FIFOENS 0 0 IID3 IID2 IID1 NOINT
2 X WO FCR RECVTG1 RECVTG0 0 0 0 TFIFORST RFIFORST FIFOEN
3 X R/W LCR DLAB BREAKEN PARMODE1 PARMODE0 PAREN STOPBIT WORDSZ1 WORDSZ0
4 X R/W MCR 0 0 AFE LOOP OUT2 OUT1 RTS DTR
5 X RO LSR RFIFOERR TEMT THRE BREAKINT FRAMEERR PARERR OVERR DATARDY
6 X RO MSR DCD RI DSR CTS △DCD △RI △DSR △CTS
7 X R/W SCR 位7 位6 位5 位4 位3 位2 位1 位0
0 1 R/W DLL 位7 位6 位5 位4 位3 位2 位1 位0 1 1 R/W DLM 位15 位14 位13 位12 位11 位10 位9 位8 下表是串口寄存器在外部手工复位或者串口软复位之后的默认值。 寄存器名称 位7 位6 位5 位4 位3 位2 位1 位0 IER 0 0 0 0 0 0 0 0 IIR 0 0 0 0 0 0 0 1 FCR 0 0 0 0 0 0 0 0 LCR 0 0 0 0 0 0 0 0 MCR 0 0 0 0 0 0 0 0 LSR 0 1 1 0 0 0 0 0 MSR DCD RI DSR CTS 0 0 0 0 SCR 保持 保持 保持 保持 保持 保持 保持 保持 FIFO 复位,包括发送FIFO和接收FIFO TSR 复位,TSR 是串口发送移位寄存器 RSR 复位,RSR 为串口接收移位寄存器 其它 未定义
CH438中文手册 6 RBR:接收缓冲寄存器,如果LSR的DATARDY位为1则可以从该寄存器读取接收到的数据。如果FIFOEN 为1 则从串口移位寄存器RSR接收到的数据首先被存放于接收FIFO中,然后通过该寄存器读出。 THR:发送保持寄存器,包括发送FIFO,用于写入准备发送的数据。如果FIFOEN 为1 则写入的数据 首先被存放于发送FIFO中,然后通过发送移位寄存器TSR 逐个输出。 IER:中断使能寄存器,包括增强功能控制位以及串口中断使能。 RESET:该位置1则软复位该串口,该位能够自动清0,无需软件清0。 LOWPOWER:该位为1则关闭该串口的内部基准时钟,从而使该串口进入低功耗状态。 SLP/CK2X:串口0与串口1~7的该位用途不同,串口0 是SLP位,该位为1 并且LOWPOWER为1 则关闭时钟振荡器,从而使所有串口全部进入睡眠状态,串口1~7 是CK2X,该位为1则强制 将外部时钟信号2倍频后作为串口1~7 的内部基准时钟。 IEMODEM:该位为1则允许调制解调器输入状态变化中断。 IELINES:该位为1则允许接收线路状态中断。 IETHRE:该位为1则允许发送保持寄存器空中断。 IERECV:该位为1则允许接收到数据中断。 IIR:中断识别寄存器,用于分析中断源并处理。 FIFOENS:该位为FIFO启用状态,为1 表示已经启用FIFO。 IIR 寄存器位 IID3 IID2 IID1 NOINT 优先 级 中断类型 中断源 清中断 方法 0 0 0 1 无 没有中断产生 没有中断 0 1 1 0 1 接收线路状态 OVERR、PARERR、FRAMEERR、BREAKINT 读LSR 0 1 0 0 2 接收数据可用 接收到的字节数达到FIFO的触发点 读RBR 1 1 0 0 2 接收数据超时 超过4 个数据的时间未收到下一数据 读RBR 0 0 1 0 3 THR 寄存器空 发送保持寄存器空, IETHRE从0 变1 可以重新使能中断 读IIR 或写THR 0 0 0 0 4 MODEM 输入变化 △CTS、△DSR、△RI、△DCD 读MSR FCR:先进先出缓冲区FIFO控制寄存器,用于使能和复位FIFO。 RECVTG1 和RECVTG0:设置接收FIFO 的中断和硬件流控制的触发点,00 对应1 个字节,即接收 满1 个字节产生接收数据可用的中断,并在使能硬件流控制时自动无效RTS引脚,01对应16 个字节,10对应64个字节,11对应112 个字节。 TFIFORST:该位置1则清空发送FIFO中的数据(不含TSR),该位能够自动清0,无需软件清0。 RFIFORST:该位置1则清空接收FIFO中的数据(不含RSR),该位能够自动清0,无需软件清0。 FIFOEN:该位为1 则启用FIFO,该位清0 则禁用FIFO,禁用FIFO后为16C450兼容模式,相当 于FIFO 只有一个字节(RECVTG1=0、RECVTG0=0、FIFOEN=1),建议启用FIFO。 LCR:线路控制寄存器,用于控制串口通讯的格式。 DLAB:该位为除数锁存器存取使能,为1时才能存取DLL 和DLM,为0 时才能存取RBR/THR/IER。 BREAKEN:该位为1则强制产生BREAK 线路间隔。 PARMODE1和PARMODE0:当PAREN为1时设置奇偶校验位的格式:00则奇校验,01则偶校验,10 PAREN:该位为1则允许发送时产生和接收时校验奇偶校验位,为0 则无奇偶校验位。 STOPBIT:该位为1则两个停止位,为0 则一个停止位。 WORDSZ1 和WORDSZ0:设置字长度,00 则5 个数据位,01 则6 个数据位,10 则7 个数据位,11 则8 个数据位。 MCR:调制解调器MODEM控制寄存器,用于控制MODEM 输出。 AFE:该位为1 则允许CTS 和RTS 硬件自动流控制。如果AFE 为1,那么仅在检测到CTS 引脚输 入有效(低电平有效)时串口才继续发送下一个数据,否则暂停串口发送,当AFE 为1 时的 CTS 输入状态变化不会产生MODEM 状态中断。如果AFE 为1 并且RTS 为1,那么当接收FIFO 空时,串口会自动有效RTS 引脚(低电平有效),直到接收的字节数达到FIFO 的触发点时, 串口才自动无效RTS引脚,并能够在接收FIFO空时再次有效RTS引脚。使用硬件自动带率控 制,可将己方的CTS引脚接到对方的RTS 引脚,并将己方的RTS 引脚送到对方的CTS 引脚。
CH438中文手册 7 LOOP:该位为1则使能内部回路的测试模式。在内部回路的测试模式下,串口所有对外输出引脚 均为无效状态,TXD内部返回到RXD(即TSR的输出内部返回到RSR的输入),RTS内部返回到 CTS,DTR内部返回到DSR,OUT1内部返回到RI,OUT2内部返回到DCD。 OUT2:该位为1则允许该串口的中断请求输出,否则该串口不产生实际中断请求。 OUT1:该位为用户可定义MODEM控制位,没有连接实际输出引脚。 RTS:该位为1则RTS引脚输出有效(低电平有效),否则RTS 引脚输出无效。 DTR:该位为1则DTR引脚输出有效(低电平有效),否则DTR 引脚输出无效。 LSR:线路状态寄存器,用于查询方式分析串口状态。 RFIFOERR:该位为1表示在接收FIFO中存在至少一个PARERR、FRAMEERR或BREAKINT错误。 TEMT:该位为1表示发送保持寄存器THR 和发送移位寄存器TSR 全空。 THRE:该位为1表示发送保持寄存器THR 空。 BREAKINT:该位为1表示检测到BREAK线路间隔。 FRAMEERR:该位为1表示正在从接收FIFO中读取的数据的帧错误,缺少有效的停止位。 PARERR:该位为1表示正在从接收FIFO 中读取的数据的奇偶校验错。 OVERR:该位为1表示接收FIFO缓冲区溢出。 DATARDY:该位为1表示接收FIFO中有接收到的数据,读取FIFO中所有数据后,该位自动清0。 MSR:调制解调器MODEM状态寄存器,用于查询MODEM 状态。 DCD:该位是DCD引脚的位反,为1表示DCD 引脚有效(低电平有效)。 RI:该位是RI引脚的位反,为1表示RI引脚有效(低电平有效)。 DSR:该位是DSR引脚的位反,为1表示DSR 引脚有效(低电平有效)。 CTS:该位是CTS引脚的位反,为1表示CTS 引脚有效(低电平有效)。 △DCD:该位为1表示DCD引脚输入状态发生过变化。 △RI:该位为1表示RI引脚输入状态发生过变化。 △DSR:该位为1表示DSR引脚输入状态发生过变化。 △CTS:该位为1表示CTS引脚输入状态发生过变化。 SCR:用户可定义寄存器。 DLL 和DLM:波特率除数锁存器,DLL是低字节,DLM是高字节,两者组成的16位除数用于由16位计 数器构成的串口波特率产生器。该除数 = 串口内部基准时钟 / 16 / 所需通讯波特率。如果串口 内部基准时钟为1.8432MHz,所需波特率为9600bps,则除数=1843200/16/9600=12。 7、功能说明 7.1. 查询与中断 CH438 芯片的8 个串口合用一个中断请求引脚INT,所以在单片机在进入中断服务程序后,首先 应该分析出是哪个串口的中断请求。当进入中断服务程序后,有专用状态分析和依次查询两种方法: 专用状态分析是指首先读取SSR 专用状态寄存器,S0INT 标志有效说明是串口0 中断,S1INT 标 志有效说明是串口1 中断,S2INT 标志有效说明是串口2 中断,S3INT 标志有效说明是串口3 中断, S4INT标志有效说明是串口4中断,S5INT标志有效说明是串口5中断,S6INT标志有效说明是串口6 中断,S7INT标志有效说明是串口7中断,根据分析结果直接处理并退出,无中断则直接退出。 依次查询是指首先读取串口0的IIR 寄存器,有中断则处理并退出,无中断则读取串口1的IIR 寄存器,有中断则处理并退出,无中断则读取串口2的IIR 寄存器,有中断则处理并退出,无中断则 读取串口3的IIR寄存器,以此类推,串口6 有中断则处理并退出,无中断则读取串口7 的IIR寄存 器,有中断则处理并退出,无中断则直接退出。 当确认是某个串口的中断后,如果有必要还可以进一步分析LSR寄存器,分析中断原因并处理。 如果串口工作于中断方式,那么需要设置IER 寄存器以允许相应的中断请求,并设置MCR 寄存器 中的OUT2 以允许中断输出。中断请求引脚INT 是低电平有效的开漏输出引脚,连接单片机时可能需 要外加上拉电阻,INT功能上是各个串口中断的“或非”。 如果串口工作于查询方式,那么无需设置IER和MCR的OUT2,只需查询LSR 寄存器并分析处理。
CH438中文手册 8 7.2. 串口操作 串口发送的保持寄存器THR空中断(IIR寄存器的低4 位为02H)是指发送FIFO空。当读取IIR 寄存器后,该中断被清除,或者当向THR 写入下一个数据后,该中断也能被清除。如果仅仅是向THR 写入一个字节,那么由于该字节很快被转移到发送移位寄存器TSR中开始发送,所以CH438 很快会再 次产生发送保持寄存器THR空中断的请求,此时可以写入下一个准备发送的数据。当TSR 寄存器中的 数据被全部移出后,串口发送才真正完成,此时LSR 寄存器的TEMT位变为1 有效。 当单片机收到串口发送保持寄存器THR 空的中断后,如果使能FIFO,那么可以向THR 寄存器及 FIFO 一次写入最多128 个字节,由CH438 按顺序自动发送;如果禁止FIFO,那么一次只能写入一个 字节;如果没有数据需要发送,那么可以直接退出(之前读取IIR 时已经自动清除中断)。 在查询方式下,单片机可以根据LSR 寄存器的THRE 位判断发送FIFO 是否为空,THRE 为1 则可 以向THR 寄存器及FIFO写入数据,如果使能FIFO,那么一次可以写入最多128 个字节。 串口接收的数据可用中断(IIR寄存器的低4 位为04H)是指接收FIFO中的已有数据字节数已经 达到或超过由FCR寄存器的RECVTG1和RECVTG0选择的FIFO触发点。当从RBR读取数据使FIFO中字 节数低于FIFO触发点时,该中断被清除。串口接收的数据超时中断(IIR 寄存器的低4 位为0CH)是 指接收FIFO 中至少有一个字节的数据,并且从上一次串口接收到数据和从上一次被单片机取走数据 开始,已经等待了相当于接收4个数据的时间。当再次接收到一个新的数据后,该中断被清除,或者 当单片机读取一次RBR 寄存器后,该中断也能被清除。当接收FIFO 全空时,LSR 寄存器的DATARDY 位为0,当接收FIFO中有数据时,DATARDY位为1 有效。 当单片机收到串口接收数据超时的中断后,可以先从RBR 寄存器读取一个字节,然后查询LSR寄 存器的DATARDY 位,如果DATARDY位有效则再读取一个字节,直到DATARDY 位无效。 当单片机收到串口接收数据可用的中断后,可以先从RBR 寄存器读取由FCR寄存器的RECVTG1和 RECVTG0设定的字节数,然后再查询LSR寄存器的DATARDY位,如果DATARDY位有效则再读取一个字 节,直到DATARDY 位无效,或者全部是通过查询LSR 寄存器的DATARDY 位有效后再读取。 在查询方式下,单片机可以根据LSR寄存器的DATARDY位判断接收FIFO是否为空,DATARDY为1 则可以从RBR寄存器读取一个字节的数据,然后查询DATARDY 位的状态,如果有效则再次读取RBR寄 存器,直到DATARDY 位为0。 接收线路状态中断(IIR 寄存器的低4 位为06H)是指上次单片机读取LSR 寄存器之后,CH438 在串口接收过程中检测到错误或者异常。当从LSR寄存器读取线路状态后,该中断及LSR 寄存器中的 状态位被清除。该中断是LSR寄存器的位数据BREAKINT、FRAMEERR、PARERR和OVERR的逻辑“或”。 MODEM输入变化中断(IIR寄存器的低4 位为00H)是指上次单片机读取MSR寄存器之后,CH438 检测到调制解调器的输入信号发生了变化。当从MSR寄存器读取MODEM状态后,该中断及MSR寄存器 中的状态位被清除。该中断是MSR寄存器的位数据△DCD、△RI、△DSR 和△CTS 的逻辑“或”。 7.3. 硬件流控制 硬件流控制包括自动CTS(MCR寄存器的AFE为1)和自动RTS(MCR 寄存器的AFE和RTS 都为1)。 如果使能自动CTS,那么CTS引脚在串口发送数据之前必须有效。串口发送器在发送下一个数据 之前会检测CTS引脚,当CTS引脚状态有效时,发送器发送下一个数据。为了使发送器停止发送后面 的数据,CTS引脚必须在当前发送的最后一个停止位的中间时刻之前被无效。自动CTS 功能减少了向 单片机系统申请的中断。当使能硬件流控制后,由于CH438 会根据CTS 引脚状态自动控制发送器,所 以CTS 引脚电平的改变不会触发MODEM中断。 如果使能自动RTS,那么仅当FIFO 中有足够空间接收数据时才使RTS 引脚输出有效,而在接收 FIFO 满时使RTS引脚输出无效。如果接收FIFO中的数据被全部取走或清空,那么RTS 引脚输出有效。 当到达接收FIFO的触发点时(接收FIFO中已有的字节数不少于FCR寄存器的RECVTG1和RECVTG0设 定的字节数),RTS引脚输出无效,并且允许对方的发送器在RTS引脚无效后再发送一个另外的数据。 一旦接收FIFO 被取空数据,RTS引脚就会自动重新有效,从而使对方的发送器恢复发送。 如果自动CTS和自动RTS都被使能(MCR寄存器的AFE和RTS 都为1),那么当己方的RTS 引脚连 接对方的CTS 引脚时,除非己方的接收FIFO 中有足够的空间,否则对方不会发送数据。因此,通过 CH438芯片的这种硬件流控制,可以避免串口接收时的FIFO溢出和超时错误。
CH438中文手册 9 7.4. 单片机接口 CH438芯片在本地端提供了通用的8位被动并行接口,支持两种地址输入方式:直接地址和复用 地址。AMOD 引脚为低电平时,选择直接地址方式;AMOD引脚为高电平时,选择复用地址方式。 并口信号线包括:8 位双向数据总线D7~D0、读选通输入引脚RD#、写选通输入引脚WR#、片选 输入引脚CS#,以及地址输入引脚A6~A0或地址锁存使能引脚ALE。通过被动并行接口,CH438 芯片 可以很方便地挂接到各种8位单片机、DSP、MCU 的系统总线上,并且可以与多个外围器件共存。 CH438 芯片的CS#引脚由地址译码电路驱动,用于当单片机具有多个外围器件时进行设备选择。 只有一个外围器件时,CS#引脚可以接低电平或者接GND 保持一直选中。 对于类似Intel 并口时序的单片机,CH438 芯片的RD#引脚和WR#引脚可以分别连接到单片机的 读选通输出引脚和写选通输出引脚。对于类似Motorola并口时序的单片机,CH438 芯片的RD#引脚应 该接低电平,并且WR#引脚连接到单片机的读写方向输出引脚R/-W。 在直接地址方式下,当前操作地址是由A6~A0引脚在存取操作时直接输入。 在复用地址方式下,当前操作地址是在存取操作之前ALE 引脚高电平期间从D6~D0 引脚输入并 锁存。ALE引脚是A6引脚的别名,当ALE 引脚为高电平时,在D6~D0引脚上出现的数据被作为地址 锁存,而在存取操作期间,ALE引脚应该是低电平,所以之前已经锁存的地址不受影响。 下表为并口I/O操作的真值表(表中X 代表不关心此位,Z 代表CH438 三态禁止)。 CS# WR# RD# D7-D0 对CH438 芯片的实际操作
1 X X X/Z 未选中CH438,不进行任何操作
0 1 1 X/Z 虽然选中但无操作,不进行任何操作 0 0 X 输入 向CH438 芯片的指定地址写入数据 0 1 0 输出 从CH438 芯片的指定地址读出数据 7.5. 应用说明 CH438芯片的输出引脚都是CMOS电平,兼容TTL电平,输入引脚能够兼容CMOS电平和TTL电平, 通过外加RS232电平转换器,可以进一步转换为RS232串口。实际电路中未使用到的CH438 芯片的任 何引脚都可以悬空不接。 CH438 芯片的串口正常工作时需要外部向XI引脚提供时钟信号。一般情况下,时钟信号由CH438 内置的反相器通过晶体稳频振荡产生。为了减小功耗,如果只使用一个串口,那么可以通过设置其它 串口IER 寄存器的LOWPOWER位为1 关闭未使用的串口;如果所有串口暂时都不使用,那么可以通过 设置串口0 的IER 寄存器的SLP位和LOWPOWER位都为1 关闭时钟振荡器,但是在重新开启时钟振荡 器时,必须在串口操作之前等待至少3个毫秒的起振和稳定时间。 CH438 芯片的串口引脚包括:数据传输引脚和MODEM 联络信号引脚。数据传输引脚包括:TXD 引 脚和RXD 引脚,默认都是高电平。MODEM 联络信号引脚包括:CTS 引脚、DSR 引脚、RI 引脚、DCD 引 脚、DTR引脚、RTS引脚,默认都是高电平。所有这些MODEM 联络信号都可以作为通用IO引脚,由单 片机应用程序控制并定义其用途。 CH438内置了独立的收发缓冲区及FIFO,支持单工、半双工或者全双工异步串行通讯。串行数据 包括1 个低电平起始位、8 个数据位、0 个或者1 个附加校验位或者标志位,1 个或者2 个高电平停 止位,支持奇校验/偶校验/标志校验/空白校验。CH438 支持常用通讯波特率:1200、2400、4800、 信号的波特率误差小于0.2%,串口接收信号的允许波特率误差不小于2%。 CH438 可以用于通过并口为单片机/嵌入式系统扩展额外的高速RS232 串口、支持自动硬件速率 控制的高波特率串口、RS422或者RS485通讯接口等。现有的基于工业标准16C550或者16C750芯片 开发的串口程序能够直接应用,通常不需要作任何修改。 8、参数
CH438中文手册 10 8.1. 绝对最大值(临界或者超过绝对最大值将可能导致芯片工作不正常甚至损坏) 名称 参数说明 最小值 最大值 单位 VCC=5V -40 85 TA 工作时的环境温度 VCC=3.3V -40 65 ℃ TS 储存时的环境温度 -55 125 ℃ VCC 电源电压(VCC接电源,GND 接地) -0.5 6.0 V VIO 输入或者输出引脚上的电压 -0.5 VCC+0.5 V 8.2. 电气参数(测试条件:TA=25℃,VCC=5V) (如果电源电压为3.3V,则表中所有电流参数需要乘以40%的系数) 名称 参数说明 最小值 典型值 最大值 单位 VCC 电源电压 3.3 5 5.3 V ICC 5V电源电压工作时的电源电流 2 10 40 mA ICC3 3.3V电源电压工作时的电源电流 0.5 5 20 mA ISLP3 3.3V 电源电压低功耗睡眠时的电源电流 5 50 500 uA VIL 低电平输入电压 -0.5 0.8 V VIH 高电平输入电压 2.0 VCC+0.5 V VOL 低电平输出电压(4mA吸入电流) 0.5 V VOH 高电平输出电压(2mA输出电流) VCC-0.5 V IIN 无上拉的输入端的输入电流 10 uA IUP1 带弱上拉的输入端的输入电流 2 5 170 uA IDN1 带弱下拉的输入端的输入电流 -20 40 80 uA 8.3. 基本时序(测试条件:TA=25℃,VCC=5V,括号中参数VCC=3.3V,参考附图) (WR 是指WR#信号有效并且CS#信号有效,WR#=CS#=0 执行写操作) 名称 参数说明 最小值 典型值 最大值 单位 FXI XI输入频率、晶体频率 0.9216 22.1184 32 (24) MHz TIC 从收到清除中断操作到撤消中断的时间 2 20 100 nS TWW 有效的写选通脉冲WR的宽度 60 (120) nS TRW 有效的读选通脉冲RD的宽度 50 (100) nS
CH438中文手册 11 TWS 读选通或写选通脉冲的间隔宽度 40 (80) nS TAS RD或WR前的地址输入建立时间 5 (8) nS TAH RD或WR后的地址输入保持时间 3 nS TIS 写选通WR前的数据输入建立时间 0 nS TIH 写选通WR后的数据输入保持时间 10 nS TIHX 写选通WR前沿的数据输入保持时间 80 TWW + TIH nS TON 读选通RD有效到数据输出有效 15 (25) 25 (40) nS TOF 读选通RD无效到数据输出无效 20 (32) nS TLW 有效的地址锁存脉冲ALE 的宽度 6 (9) nS TLS 地址锁存ALE前的地址输入建立时间 5 (8) nS TLH 地址锁存ALE后的地址输入保持时间 3 nS TLZ 复用地址输出无效到读选通RD有效 0 nS 9、应用 9.1. 复用地址方式 CH438 的AMOD 引脚为高电平,使用复用地址方式。CH438 的ALE 引脚(A6 引脚)连接到单片机 的ALE 引脚,用于输入复用地址的锁存使能信号,而A5~A0引脚可以悬空不接。 CH438的INT中断输出引脚是开漏输出,需要先外接上拉电阻(建议阻值为2K到10K 之间),再 提供给单片机。 CH438 的RST#复位输入引脚应该有低电平有效的上电复位信号,其内置有相当于100KΩ的弱下 拉电阻,有两种信号来源可供选择:一是将RST#引脚对电源连接一个阻值为1KΩ~10KΩ的电阻,并 对地连接一个容量为0.1uF~1uF 的电容,实现简单的上电复位;二是由单片机或者其它外围电路向 CH438的RST#引脚提供上电复位或者手工复位信号。 CH438 的XI 引脚的时钟频率可以根据实际需要的最大通讯波特率进行选择,为减小功耗和电磁 辐射,建议为优先选择较低的频率,例如7.3728MHz。 CH438 的串口和MODEM 信号是CMOS/TTL 电平,通过外加75232/MAX213/ADM213/SP213/MAX3243 等RS232 电平转换器可以实现八RS232串口。 CH438Q没有MODEM信号,可以用于简化的三线制串口。 9.2. 直接地址方式 CH438的AMOD引脚为低电平,使用直接地址方式。CH438的A6-A0引脚连接到单片机的地址总线 用于输入直接地址。