STM32项目(三)——通用LIN控制器
扫描二维码
随时随地手机看文章
需求:
LIN马达控制器:AFS(DHL+AFL)——弯道辅助照明系统
DHL:上极限,下极限,零位,马达老化循环;
AFL:左极限,右极限,零位,马达老化循环;
所有参数可配置:上极限,下极限,零位,左极限,右极限,马达循环上极限,马达循环下极限,马达循环次数,马达循环等待时间;
保存至少30款产品的配置,配置界面需要有添加,读取,查找,删除功能。
方案:STM32 + LIN + 串口(使用NXP的串口屏,TJA系列的LIN芯片)
STM32的LIN接口作为主节点,马达作为从节点。
系统设计:RTX多任务设计,串口处理任务,显示屏处理任务,LIN发送任务;
(1)、串口处理任务:点击串口屏会获取到点击的坐标值,串口中断接受到数据加入到队列;任务中出队解析坐标,判断是否是上下极限等;
(2)、LIN发送任务:20ms周期帧,定时器中设置事件,任务中等待事件,并发送LIN周期帧;(周期帧是具体的产品协议)
(3)、显示屏任务:
配置界面——添加配置,输入所有参数并保存到MCU内部flash;读取配置,从Flash中读取参数到界面指定位置;查找配置,通过设备型号从Flash中读取匹配的参数显示到界面;删除配置。
逻辑功能——初始化,配置马达零位,上下左右极限,修改LIN周期帧参数;上/下左/右/极限,零位,马达走到指定位置;马达循环,马达老化实验,不停的上下走,周期帧,时间可配置,次数可配置。