基于DSP的液晶顯示通用控制器設計
本文引用地址:http://cqxgywz.com/article/163203.htm
3 控制器的軟件設計
實際使用過程中,下級電力電子裝置的通訊協議可以選擇 RS232/RS485/CAN/以太網中的任意一種。圖 3為使用控制器時,某電力電子裝置系統的網絡結構圖。
如圖 3所示,系統由主控單元 MCU和輔助控制單元 ACU組成,其中 MCU使用 2個 DSP作為主控芯片。圖中每個 DSP都配置了相應的通訊模塊。用戶需要對 MCU或 ACU的相應參數進行高采樣頻率的實時監測時,通過控制器的以太網接口使能目標單元中的以太網模塊,該模塊即可以通過以太網開始向控制器傳輸指定的參數和數據。圖中使用控制器的 CAN通訊接口連接了 MCU和 ACU的內部 CAN控制網絡,進行控制指令的發送、相關運行參數的查看和設置、系統控制過程中時間和指令的同步以及發送周期性的心跳幀進行系統通訊狀態的判斷,同時 CAN網絡也可以傳輸某些低采樣頻率的運行數據。圖中的 RS485總線作為備用通訊總線,在 CAN總線出現故障時投入運行。
3.1 系統總體軟件流程
根據上述的通訊網絡結構,可設計系統總體軟件流程,系統的軟件流程如圖 4所示。
系統首先上電初始化,初始化后系統先對 CPU和液晶進行初始化,設置必要的寄存器,清空液晶的顯示數據,使其進入相應的工作方式。
程序中每隔 10ms對按鍵掃描一次,檢查是否有鍵按下,如果有按鍵按下,則根據預先確定的工作時序控制液晶的顯示,實現頁面的翻轉、菜單項的移動、相關參數的修改和顯示等功能。通訊數據的接收是通過相應通訊接口的標準位查詢或接收中斷進行的。
圖4 系統的軟件流程圖 圖 5 CAN通訊子程序流程圖
3.2 CAN通訊實現
控制器的軟件設計涉及到基于 RS232總線、RS485總線、CAN總線以及以太網等 DSP數據通信接口設計,限于篇幅考慮,現僅簡單介紹一下 CAN通信的實現,其他通訊協議的實現與之原理大致相同。
主程序中進入相應的通訊模塊后,調用子程序,進行數據傳輸。子程序流程圖如圖 5所示。
初始化 CAN模塊,使能 CAN模塊時鐘,設置波特率及發送接收郵箱標識符,配置發送接收郵箱指向及字節數,使能所有郵箱。
判斷是否需要發送數據,如現在模式為向目標 DSP發送命令或者發送更改的參數,則進入發送數據程序,清除所有發送郵箱的發送響應位,把命令或參數數據寫入郵箱數據區 ,置位發送請求寄存器中的響應標志來啟動消息發送,直到相應郵箱的發送響應標志被置位。
如果無發送指令或發送已完成,則進入接收程序。當收發器接收到總線數據時,接收郵箱未決寄存器中的相應標志位被置位。查詢這一位狀態,即可判斷是否收到數據,讀取接收郵箱里的數據后重置接收標志 RMP,等待下一次接收。
接收到數據后,數字量即可在液晶上顯示,模擬量可以通過 DA轉換器用示波器觀察。
4 總結
本文作者的創新點為該通用控制器可以通過 CAN、以太網、RS485、RS232等通訊方式實現對電力電子設備參數的修改及設置,并可通過液晶顯示。經過實際的調試和使用,本文設計的通用控制器已經應用于某牽引供電系統的電力電子裝置上,運行良好,抗干擾性和可靠性達到了設計要求。根據其它電力電子裝置的調試需求,本通用控制器可以靈活進行更改,操作簡便。
pid控制器相關文章:pid控制器原理












評論