1、立项背景
客户需要的额定功率1000W电源产品(PFC+LLC),带两路输出:54V与12V,分初级和次级软件,用于交换机使用电源;
2、软件主要功能
1) 控制电源中两路输出的驱动使能/关断;
2) 软件时序控制;
3) 各类软件保护,如输出过流、输出过压、过温保护;
4) 带有PMBus部分常用指令;
5) 结合上位机可进行各类参数的校准;
6) 带有UART和初级单片机进行通信;
3、工作流程
1) 初级软件负责PFC、LLC、继电器等硬件的时序控制,并将相关信息通过UART及光耦传递给次级软件;
2) 次级软件负责收集数据,对输出电压、电流进行监测和启用保护机制;
3) PMBus从机负责数据上传到客户监控系统;
1、基本上我负责了所有的模块,包括AD转换、UART通信、PMBus通信;
2、遇到主要问题:
1) PMBus通信速率低的问题。客户要求是标准的100Kbit/s,而最开始客户使用模拟I2C方式进行通信时发现只能在20Kbit/s时才稳定,而他们要求最低在50Kbit/s左右。后来改进程序时发现:PMBus中的CRC8计算方式效率很低,后来改为查表法成功解决,至少在60-70Kbit/s通信稳定;
3、自己的体会
其实软件整体并没有多大的难度,但是最重要的是思路一定要清晰,各个模块的之间的关系一定要有流程图;