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