基于S12ZVL的AFS執(zhí)行控制器設(shè)計
2.1 硬件設(shè)計
本文引用地址:http://www.biyoush.com/article/256215.htm執(zhí)行控制器采用S12ZVL來實現(xiàn)LIN通訊并控制步進電機調(diào)整車燈上下左右運動,同時實現(xiàn)一些輔助功能等。由于S12ZVL集成了LDO,LIN物理層等,所以可以簡化電路設(shè)計,減小PCB的尺寸。S12ZVL通過SPI接口來配置兩路NCV70522的電機控制參數(shù),比如步進電機控制細分數(shù),運行電流等,同時S12ZVL通過Timer模塊產(chǎn)生不同頻率脈沖來控制步進電機的速度,硬件結(jié)構(gòu)圖如圖3所示。
2.2 軟件設(shè)計
S12ZVL的編程調(diào)試可以使用飛思卡爾的Code Warrior 10.6環(huán)境,界面比較人性化。AFS執(zhí)行控制器程序包含主程序,LIN驅(qū)動程序,步進電機芯片的控制程序及標(biāo)定程序等部分。LIN驅(qū)動程序可以使用飛思卡爾的LIN軟件包,其初始化可以通過LIN軟件包提供的接口函數(shù)實現(xiàn),步進電機驅(qū)動IC的初始化主要通過SPI通訊來實現(xiàn),可以配置電機驅(qū)動IC的工作電流,步進電機的細分數(shù)等參數(shù)。在主循環(huán)中通過使用狀態(tài)機來實現(xiàn)函數(shù)的跳轉(zhuǎn),從而實現(xiàn)LIN報文接收。
除了主程序之外,還有timer的中斷服務(wù)程序,中斷服務(wù)程序可以控制兩個步進電機的運行及停止,實現(xiàn)步進電機的加減速運動,同時也能實現(xiàn)一些LIN報文命令的動作,比如自校準(zhǔn)運動,停止命令,復(fù)位命令等。
3 LIN通信實現(xiàn)
針對S08、S12以及S12 Magniv系列,飛思卡爾提供了符合LIN2.1、LIN2.0和SAE2602規(guī)范的軟件包,從而可以幫助開發(fā)者非常方便快速的開發(fā)出LIN通訊程序。圖4為飛思卡爾的LIN驅(qū)動程序結(jié)構(gòu)圖,LIN2.1 Core API 和J2602 Core API可以實現(xiàn)對LIN的初始化以及應(yīng)用層與core層之間的信號傳遞功能,LIN2.1 TL層可以給測試者發(fā)送診斷請求,Low Level層處理程序與硬件之間的信號傳遞功能,比如字節(jié)發(fā)送,接收響應(yīng),Break檢測等。
該軟件包除了驅(qū)動程序之外,還提供了方便開發(fā)者使用的圖形化配置工具NCF GUI,該工具可以根據(jù)LIN配置描述文件LCF和節(jié)點描述文件NCF自動生成節(jié)點的配置.c和.h文件,將LIN代碼配置文件,LIN驅(qū)動程序以及用戶應(yīng)用軟件一起編譯,就可以生成實現(xiàn)LIN通訊的可執(zhí)行程序,從而可以方便開發(fā)者將更多的時間放在應(yīng)用程序的開發(fā)上。
霍爾傳感器相關(guān)文章:霍爾傳感器工作原理
霍爾傳感器相關(guān)文章:霍爾傳感器原理
評論