这次是打算用这个开发板设计一个充电器,可以设计为对NiMH AA电池充电,也可以通过适当的软件处理,做成一个对Li电池充电的小设备。
电路的核心如下图,
1. CMS8 PWM输出通过电容辅助后作为PGAP的输入,PGAP放大后,输出到TIP32C的Base段,通过对PWM的频率控制,可以间接控制TIP32C的导通情况。考虑到TIP32C的放大倍数是90,最大导通电流可以到5A,透过PWM的控制可以有效的控制TIP32C给电池送出的电流,可以给锂电池快速充电;
2. 透过ADC对Battery的高端的Sense,可以用软件监控Battery两端的充电电压,这边不能直接链接,我还没有想好怎么设计。当电压到了4.0V左右后,CMS8可以控制PWM关闭TIP32C,这样电池拉入大概20mA的电进入涓流充电模式。
3. CMS8 OP的输入可以设计为电流感应,用来侦测Battery的充电电流,这边我也还没想好如何设计。
工作的安排如下:
1. Enable UART用来输出LOG和接受控制台命令
2. Enable PGAP,PWM,查看PGAP控制TIP32C的电流大小
3. Enable ADC,监控充电电压
4*. Enable OP,监控充电电流,起到fuel guage 的作用(这个不一定能做得完)
Part1主要讲的是刚上手使用CMS8的一些注意事项,以及Enable UART0/1。我用C51 Keil和官方插件来开始我的工作,我load了官方的UART程序,...CMS8S6990_democode_V1.8\CMS8S6990_SampleCode\Example\UART\UART0_Printf\keil 编译很顺利,导入后运行,UART完全没反应,default的程序用的是P21和P22脚作为UART 的TX/RX,我把我的PC串口接到P21/P22脚后,完全没有输出。而且使用P21/P22之后,连仿真器下载程序都用不了了,但是仿真器使用的DSDA是P35,DSCK是P22,和这两个脚不叉啊,没有弄明白,重新CONFIG UART TX/RX pin到P03/P02,还是没有任何输出。更奇怪的是,按下板子上标注的RST后板子完全没有反应,没有RST。按照一般的经验,RST都是做死的啊,难道这个可配?仔细看了DataSheet后发现果然如此,CMS8贴心的在DEBUG的Keil窗口里面已经加上了各种配置,包含对应UART的BAUDRATE的CLK Tree相关的配置,整理如下:
经过一番折腾之后,UART上终于显示出了我要的内容,RST KEY也正确的工作了。万里长征终于开始了。