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