基于ARM嵌入式智能控制器的設(shè)計與實現(xiàn)
0 背景
本文引用地址:http://www.ex-cimer.com/article/152499.htm利用嵌入式技術(shù),給工業(yè)系統(tǒng)安裝智能控制器,對其進(jìn)行在線監(jiān)控和檢測,就能及時發(fā)現(xiàn)故障并處理,從而不但保證工業(yè)系統(tǒng)始終處于良好的運行狀態(tài),同時也減輕值機維護人員的負(fù)擔(dān)。面向工業(yè)應(yīng)用的智能控制系統(tǒng)一般包括如下功能:多路模擬量和開關(guān)量的實時采集并顯示、通過控制器或上位機進(jìn)行啟停等命令控制、工作狀態(tài)采集并記錄、數(shù)據(jù)上傳、故障記錄并報警、歷史數(shù)據(jù)保存、定時開關(guān)機等,同時還應(yīng)具有網(wǎng)絡(luò)數(shù)據(jù)傳輸與控制和軟件升級功能。傳統(tǒng)的智能控制器一般多采用8位單片機實現(xiàn),但隨著實際功能復(fù)雜度的增加,尤其是實現(xiàn)大量數(shù)據(jù)采集和保存、彩色圖形交互和網(wǎng)絡(luò)通信等,單片機已很難滿足實時控制的要求。因此,采用32位ARM處理器來實現(xiàn)的方案是較為理想的選擇。
1 智能控制器硬件平臺
根據(jù)功能需求,系統(tǒng)主控芯片采用S3C44B0X。該處理器是基于ARM7TDMI內(nèi)核SOC
芯片,片內(nèi)集成LCD控制器、SDRAM控制器、RTC、UART和ADC等模塊,這為硬件系統(tǒng)的設(shè)計帶來方便同時也提供系統(tǒng)可靠性。除此之外,硬件上還需擴展存儲系統(tǒng)、鍵盤液晶、CPLD芯片、串口通信、網(wǎng)卡通信等模塊。存儲系統(tǒng)選用較大容量的Nor Flash來存放代碼和工作過程中需記錄的數(shù)據(jù)。LCD采用320×240的STN彩色液晶屏幕,模擬量數(shù)
據(jù)采集采用內(nèi)部ADC和外擴多路選擇器,開關(guān)量采集與控制采用CPLD芯片來實現(xiàn)I/O口的擴展。系統(tǒng)硬件總體框圖如圖1所示:
圖1 系統(tǒng)硬件框圖
2 智能控制器軟件總體方案概述
智能控制器軟件部分主要包括啟動模塊、系統(tǒng)初始化模塊實時時鐘顯示、IIC鍵盤、
串口通信、液晶顯示、網(wǎng)絡(luò)通信、數(shù)據(jù)采集及控制、數(shù)據(jù)保存及故障記錄和自動升級等模塊.軟件系統(tǒng)流程圖見圖2。
3 軟件主要設(shè)計方法
3.1 IIC鍵盤和開關(guān)量處理
本系統(tǒng)采用一片CPLD來擴展I/O端口,并利用S3C44B0X處理器的PF1和PF5等IO
端口來模擬IIC協(xié)議完成數(shù)據(jù)通信。首先使用vhdl硬件描述語言設(shè)計IIC協(xié)議的硬件電路,并下載到CPLD芯片中,主要完成對外部端口的輸入采集和輸出控制以及與主處理器的通信。按照此協(xié)議標(biāo)準(zhǔn),編寫數(shù)據(jù)傳輸?shù)膯油V?、?shù)據(jù)接收發(fā)送以及確認(rèn)位接收等子程序。調(diào)試時應(yīng)注意SDA和SCL信號的時序關(guān)系。由于此種方式下處理器只能通過查詢方式才能判斷是否有鍵按下,因此本設(shè)計采用定時器定時幾毫秒來讀IIC接口片內(nèi)數(shù)據(jù),主程序判斷按鍵標(biāo)記。此外,系統(tǒng)的32路開關(guān)量實時控制也是通過此接口來實現(xiàn)。
3.2 GUI顯示
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論