一、芯片简介

CH9434 是一款SPI 转四串口转接芯片,提供四组全双工的9 线异步串口,用于单片机/嵌入式系
统扩展异步串口。CH9434 包含四个兼容16C550 的异步串口,最高支持4Mbps 波特率通讯。最多支持25 路GPIO,提供半双工收发自动切换引脚TNOW。

二、特点

●工作电压:3.3V
● 支持通讯波特率设置,波特率范围1200-4000000bps
● 串口每个方向独立FIFO 缓存,发送1536 字节,接收2048 字节
● 完全独立四个异步串口,兼容16C550 并且有所增强
● 串口支持5/6/7/8 个数据位以及1/2 个停止位
● 串口支持奇、偶、无校验、空白0、标志1 等校验方式
● 支持常用的MODEM 联络信号RTS、DTR、DCD、RI、DSR、CTS
● 提供半双工RS485 收发使能引脚
● SPI 最高可达为32Mbit/s
● 支持低功耗睡眠模式,可通过SPI 接口唤醒
● 芯片提供可配置GPIO 功能
● 外接32M 晶体提供时钟
● QFN48 无铅封装,兼容RoHS

三、常见问题

1、SPI通讯异常

遇到此问题通常有两个原因导致:一是芯片的硬件设计有问题,导致芯片没有正常工作;二是SPI的时序不对,导致无法正常读写寄存器。

(1)硬件问题

CH9434的参考设计图如下:

需要注意的几点:

1、芯片有3个VDD引脚,设计时必须短接,然后再接退耦电容,且不需要外部供电

2、芯片的VCORE引脚需要接退耦电容,且不需要外部供电

常见问题:

 1、3个VDD没有短接,分别接了退耦电容,参考电平不一致,导致SPI通讯时好时不好

2、给VDD外部输入3.3V电源,这个会导致芯片工作异常甚至烧坏芯片

3、SPI四根线的线序,SDO应该接SPI的MISO,SDI应该接MOSI,有的人会混淆这两根线导致通讯异常

(2)SPI时序问题

我们的芯片SPI支持模式0、模式3,通常CS用IO单独拉,如下为读写SCR寄存器的逻辑分析仪抓包:

时序如上图所示,对于时序有几点需要注意:

1、CS的处理,我们操作9434时在操作某一寄存器时,CS要一直处于拉低的情况,如上图写SCR寄存器时,CS拉低后去写寄存器地址,然后写数据,最后CS才拉高。有的用户可能发地址将CS拉低后又拉高,然后再拉低再写数据最后再拉高,这个是不对的。

2、地址和数据间的时间间隔,在写数据时,地址和数据间需要间隔1us,发送完数据后需要延时3us才能进行下一次的操作;在读数据时,地址和数据需要间隔3us,即发送完寄存器地址后需要延时3us再去读数据,这个时间不够可能导致读写寄存器异常。

2、串口数据异常

此问题通常是时钟不准,或寄存器配置错误导致的波特率不准

1、检查晶振的起振,看是否存在频偏,中心频点是否在32MHz

2、在配置波特率的除数寄存器时,实际写入的值是否为计算的值,可以读下看看是否与写入值一致

3、在写DLL和DLM时,LCR寄存器的DLAB这一位需要置1,否则地址将不是DLL和DLM的地址

4、波特率误差,因为设定的波特率均有晶振通过倍频、分频的操作加上内部的计算得出的,有可能得到的除数不能被整除,就会存在误差,如果对端的串口也存在误差并超过了范围,那么就会存在误码的情况。所以在使用时尽量选择能够正常的波特率值来减小误差

5、比较少见的一种情况,就是上电后,立即操作芯片,导致我芯片还没有完全复位完成,往往初始化的第一步就是对时钟的初始化,如果此时我的芯片还没有复位完成,那么这个时钟就不能被正常的配置导致后续的串口通讯出现问题

3、概率性的串口不能正常通讯

此问题往往和串口的初始化相关,有可能某一次的串口初始化的配置没有写到寄存器里,导致那个串口工作异常。

1、主要可能发生在操作完FCR寄存器,如果操作了FIFO复位的这两位时,那么进行下一次操作时需要延时个50us再去操作下一个寄存器,否则可能会导致下一次的操作写不成功,此时就有可能出现某个串口不能正常使用的问题

4、串口接收丢字节的情况

此问题主要和SPI的处理速度有关,如果取数据的速度小于对端串口发数据的速度,导致FIFO溢出就有可能丢数据。

1、如果对于一些MCU处理速度较慢的情况下,FIFO的触发值尽量设置的较小一点,这样芯片会早早的通知MCU去处理数据,这样就会减小FIFO溢出的可能

2、对于一些linux平台,因为其中断处理无法和MCU一样能够立即处理,所以一般在linux平台使用时建议SPI只跑2M,然后开启我们的连续读写功能,这样可能最大程度的减小丢数据的可能

四、总结

如上为概率比较高的错误方式,如果有遇到其他问题,可以提出一起讨论。如需例程可以私信获取。

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐