发布需求
2025-08-12 23:39竞标
2025-08-15 09:32项目开发
验收结案
互相评价
王 **
1. 背景:现有 STM32F103 产品需迁移到 STM32F405并优化修复功能(LQFP-64 PCB 已打样)。
产品是一个485通讯型加LC震荡电路的直流电机控制板
提供F103的源程序,要看懂整个程序,设计思路,包括修正已知的bug,还有就是后续的维护,功能升级(另外计价)等
这个项目最早的时候是瑞萨的HD64F3684,是逆向开发产品,没有源程序,后来我们找了一个工程师,反向开发,用的是stm32F103,通讯和控制方面的功能都测试正常,但实地工作环境中就是不稳定,不是死机就是很挑芯片,良品率很低,无法量产,后来和开发工程师沟通后才了解到,由于原来的HD64F3684FPV在pwm硬件分频方面有硬件级别的优势,精度比较高,但F103做不到,所以他是通过超频的方法在pwm方面勉强达到项目的功能需求,但就牺牲了稳定性,要稳定肯定是要换mcu的,目前选型为STM32F405,但他现在由于个人原因无法继续完成程序移植,现寻找一名责任的工程师跟进此项目。
测试版中的MCU如果碰上体质较好的F103,超频后运行,已经可以实现全部设计功能,但不稳定无法量产。
目前F405的板是在f103的基础上增加了两个2.2uf串联接地(31和47脚)并已经打烊。
旧版的瑞萨3684是十几年前的产品,虽然主频低,但得益于该MCU对pwm的分频有硬件级别的优势,所以精度比较高。开发初期我们在mcu选型时没留意这点,在程序中需要调整PWM占空比的步进单位要求比较小,精度要求较高,不超频的情况下,F103达不到项目需求,而F103超频后,不稳定就是集中在串口,有些直接就是能收不能发,有些就是不是每次上电都能发,上10次电,总有几次是不能发,重上几次电又可以了。莫名其妙,当初以为是因为MCU某个批次的质量有问题,换了MCU又成功了,有时候换一片,有时候又换了两三次,总能换到成功的,但拿去实际使用环境中测试,基本上所有板子在一两周内都会中途死机,重启又恢复正常。所以重新选择mcu的方向主要有两点,要么选择一个定时器更高级的或者专门在pwm方面有优化设计的Mcu,要么就找一个主频更高的,例如F405。
考虑过G474,但又要改一次pcb,因为脚位定义不一样,io要重构映射,程序改动相对比较多,而改高主频的F405就板子已经现成做好了,程序改动也相对少点。
PWM是给LC震荡电路起振的,不是控制电机
PWM占空比细微调整步进单位,例如原来瑞萨的Mcu,步进单位是0.1%,调整后会通过硬件ADC反馈出来,未超频的F103最新步进单位可能只有0.3%或者0.5%,这样在ADC反馈的电压就无法达到瑞萨芯片这样的效果。
以上就是大概的情况
2. 需求:
a) 修复关于F103超频的设置,优化程序中关于PWM的精度和算法的相关代码。
b) 优化现有Flash 模拟EEPROM功能。
c) 修复某IO 在特定条件下输出电平错误的已知 BUG
3. 交付:完整 MDK / STM32CubeIDE 工程 + 测试报告 + 烧录说明。
4. 预算:线上合作:4 k(含税),广州本地优先考虑,当面沟通并联合调试,另外加1K。
5. 周期:7 天内交付首版固件。
6、提供:瑞萨原版控制板,F103控制板(含超频的程序,体质好的MCU,实验室环境下能运行正常的),F405新做的PCB(未有程序,在f103的基础上增加了两个2.2uf串联接地,供测试)