基于DSP的液晶顯示通用控制器設計

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