有关WCH的CH42x以及CH45x选型,常见问题处理方法
南京沁恒微电子的CH45x系列为数码管、按键驱动芯片。
CH42x系列为IO扩展芯片。CH422和CH423除了支持的OC数量有一些区别,在单片机的驱动上,并没有任何区别,驱动CH423的代码是可以套用在CH422上面的。
CH42x IO扩展芯片
1. CH42xIO扩展芯片有一个很重要的特点需要说一下,扩展的OC是上电默认高电平 ,所以如果直接继电器或者连接OC的设备需要默认低电平的,需要加一个反相器。
2. CH42x的接口为两线串口,虽然手册里面写的引脚名称是I2C的SDA和SCL,并且驱动代码也是使用的模拟的I2C,但是CH42x并不是标准的I2C接口,CH42x是没有地址的概念的,所以CH42x系列的芯片是不支持级联的。标准I2C时序的地址,被CH42x改为了一个命令。
3. CH423的8个GPIO,是统一设置输入输出方向的,默认为输入方向。
4. 如果是使用CH42x系列芯片每个IO单独驱动LED灯,电路设计建议为LED接高电平,即LED在CH42x输出低电平时点亮。如果为CH42x为高电平点亮的话,芯片在上下电时,在电压到复位电压时,会把寄存器复位,二寄存器默认时IO输出高电平,这样会出现上下电时所有IO控制的LED被突然点亮一下 的现象。解决方法就是电路改为低电平点亮即可。
CH45x 数码管显示驱动芯片
1. CH45x芯片的接口为两线串口(有部分支持4线的除外),虽然手册里面写的引脚名称是I2C的SDA和SCL,并且驱动代码也是使用的模拟的I2C,但是CH45x并不是标准的I2C接口,CH45x是没有地址的概念的,所以CH45x系列的芯片是不支持级联的。标准I2C时序的地址,被CH45x改为了一个命令。
2. 支持串行4线的(CH451和CH452)通讯就是SPI接口。
3. CH451和CH452支持4线方式多片级联:并行级联,串行级联。
4. CH45x系列的芯片是可以同时支持数码管动态显示和按键扫描的。
5. 如果只是使用CH45x的动态扫描按键,并且对功耗有一定要求的。以下为部分测试的数据。
(1)CH450在只开了按键扫描的情况下,450在上电后,0.0013A。无显示驱动。MCU设置好后电流大约为0.0009----0.0010A。
(2)CH455的电流大约为0.0025A。
6. 如果使用CH455芯片带驱动LED或者数码管的时候发现动态显示会出现肉眼可见的闪烁,那么需要去换芯片,芯片是由一定要求的,一定要选择沁恒官方丝印为20941xxxx批次的芯片。只有这个批次或者往后的芯片是支持关闭键盘扫描的。即KOFF位。具体可以看官方数据手册。
这个问题特地加粗一下,因为目前市面上是有20940批次的芯片。
统一问题:
在WCH的官方手册中,CH45x和CH42x的系统设置参数0x48后面字节是这样的:sleep位最高位,IO_OE为最低位,组成的8bit(1Byte)数据。
示例代码
目前官方的EVT包里面,给的是C文件和头文件,并不是一个完整的工程。如果想要参考一个完整MCU驱动工程的,可以去个人Gitee上git clone。是会持续更新的。
链接:个人Gitee
Final
有关选型,电路设计以及一些常见问题的解决测试方式,可以下载这个,看压缩里面的Word文档,里面写的很详细。
http://www.wch.cn/public/uploads/file/20150403/1428051285117476.rar