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