OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 1946|回复: 0

国产芯片开发-气压计HP203B/电源芯片IP5108

[复制链接]

33

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2019-11-13
在线时间
39 小时
发表于 2023-9-18 20:31:55 | 显示全部楼层 |阅读模式
最近参加芯片国产化项目,分享一下开发感受。
IP5108国产移动电源芯片:
IP5108可以通过连接3、4、5盏指示灯来显示当前电量。由于本项目只能用一个三色灯,因此使用了IP5108的I2C功能来实现电源的电量获取。在切入I2C功能之后其开发有几点需要注意:
1、IP5108的寄存器初始值可能是随机的,或者说根本不是项目需要的,因此每次开机都需要完整的初始化。比如轻载关机功能,可能我们在使用的时候发现,如果使用的功能较少,电流较小,系统会自动关机。这一般来说不符合我们的项目需求,需要通过寄存器配置关掉。其次充电使能,如果没有使能可能会无法充电。
2、IP5108的I2C时序比较严格。如果发现在使用IO口模拟I2C的时候有的寄存器可以完成读写,有的寄存器读写的时候没有响应(acknowledge),可能是由于写的I2C的时序不够严。这种时候使用硬件I2C是最好的选择。
3、快充可能会出现的问题:利用IP5108计算电量一般可读取其内部寄存器读取的电压值,再利用电压值与电量之间的对应关系(电池厂家提供)计算电量。由于IP5108支持2A的大充电电流,因此在快速充电的时候可能会出现电量虚高的现象。即充电的时候检测电压发现已经充满,但是停止充电就会发现还没有充满。快充就像到可乐,倒的越快泡沫越多,电量虚高就越严重。这种情况可能需要算法控制,比如在接近充满的时候需要进行小电流充电。充电电流可以通过寄存器进行配置。快充的问题不是IP5108特有的问题,应该属于电池的问题,这里仅仅是分享一下开发感受。

HP203国产气压计芯片:
HP203网上的代码非常多,写的也比较详细,这里仅仅分享2点:
1、最好使用硬件I2C。HP203的时序比较严格,如果用IO口进行模拟对精确程度要求非常高,而使用硬件I2C是最好的选择。个人觉得与其花时间来调试模拟IO的I2C协议不如直接使用硬件I2C例程,官方例程比较好使。(本项目使用的GD32作为主控芯片进行开发)
2、气压计的使用需要两步:开启ADC转化以及读取数据。在开启ADC转化的时候选择不同的OSR会有不同的延迟输出,如果项目是实时的需要注意。使用芯片的中断功能也是非常好的选择。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-24 06:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表