CH438Q芯片详细解读
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
本文记录了CH438Q芯片的详细使用方法以及遇到的问题的排查过程
一、CH438Q简介
1,简介
CH438 是八 UART 芯片,包含八个兼容 16C550 或者 16C750 的异步串口,支持最高 4Mbps 的通讯
波特率,可以用于单片机/嵌入式系统的 RS232 串口扩展、带自动硬件速率控制的高速串口、RS485
通讯等。下图为其一般应用框图。

2,特点
● 完全独立的八个异步串口,兼容 16C550、16C552、16C554 及 16C750 并且有所增强。
● 支持 5、6、7 或者 8 个数据位以及 1 或者 2 个停止位。
● 支持奇、偶、无校验、空白 0、标志 1 等校验方式。
● 可编程通讯波特率,支持 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,引脚
4,内置时钟配置
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 值和外部晶体频率产生串口的内部时钟频
率和最大串口波特率。

5,寄存器
5.1专用状态寄存器
CH438 的专用状态寄存器是只读寄存器,其地址为 4FH。
SSR:状态寄存器,用于查询芯片内部的各个中断状态等,为 1 说明正在请求中断。
S7INT:该位是串口 7 的中断请求状态。
S6INT:该位是串口 6 的中断请求状态。
S5INT:该位是串口 5 的中断请求状态。
S4INT:该位是串口 4 的中断请求状态。
S3INT:该位是串口 3 的中断请求状态。
S2INT:该位是串口 2 的中断请求状态。
S1INT:该位是串口 1 的中断请求状态。
S0INT:该位是串口 0 的中断请求状态。

5.2串口寄存器
CH438 的串口兼容工业标准 16C550 或者 16C750 并有所增强,表中标为灰色的寄存器位为增强功