STM32項(xiàng)目(三)——通用LIN控制器
需求:
LIN馬達(dá)控制器:AFS(DHL+AFL)——彎道輔助照明系統(tǒng)
DHL:上極限,下極限,零位,馬達(dá)老化循環(huán);
AFL:左極限,右極限,零位,馬達(dá)老化循環(huán);
所有參數(shù)可配置:上極限,下極限,零位,左極限,右極限,馬達(dá)循環(huán)上極限,馬達(dá)循環(huán)下極限,馬達(dá)循環(huán)次數(shù),馬達(dá)循環(huán)等待時間;
保存至少30款產(chǎn)品的配置,配置界面需要有添加,讀取,查找,刪除功能。
方案:STM32 + LIN + 串口(使用NXP的串口屏,TJA系列的LIN芯片)
STM32的LIN接口作為主節(jié)點(diǎn),馬達(dá)作為從節(jié)點(diǎn)。
系統(tǒng)設(shè)計:RTX多任務(wù)設(shè)計,串口處理任務(wù),顯示屏處理任務(wù),LIN發(fā)送任務(wù);
(1)、串口處理任務(wù):點(diǎn)擊串口屏?xí)@取到點(diǎn)擊的坐標(biāo)值,串口中斷接受到數(shù)據(jù)加入到隊列;任務(wù)中出隊解析坐標(biāo),判斷是否是上下極限等;
(2)、LIN發(fā)送任務(wù):20ms周期幀,定時器中設(shè)置事件,任務(wù)中等待事件,并發(fā)送LIN周期幀;(周期幀是具體的產(chǎn)品協(xié)議)
(3)、顯示屏任務(wù):
配置界面——添加配置,輸入所有參數(shù)并保存到MCU內(nèi)部flash;讀取配置,從Flash中讀取參數(shù)到界面指定位置;查找配置,通過設(shè)備型號從Flash中讀取匹配的參數(shù)顯示到界面;刪除配置。
邏輯功能——初始化,配置馬達(dá)零位,上下左右極限,修改LIN周期幀參數(shù);上/下左/右/極限,零位,馬達(dá)走到指定位置;馬達(dá)循環(huán),馬達(dá)老化實(shí)驗(yàn),不停的上下走,周期幀,時間可配置,次數(shù)可配置。