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