基于ARM嵌入式智能控制器的設(shè)計與實現(xiàn)-基礎(chǔ)電子_第1頁
基于ARM嵌入式智能控制器的設(shè)計與實現(xiàn)-基礎(chǔ)電子_第2頁
基于ARM嵌入式智能控制器的設(shè)計與實現(xiàn)-基礎(chǔ)電子_第3頁
基于ARM嵌入式智能控制器的設(shè)計與實現(xiàn)-基礎(chǔ)電子_第4頁
基于ARM嵌入式智能控制器的設(shè)計與實現(xiàn)-基礎(chǔ)電子_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

精品文檔-下載后可編輯基于ARM嵌入式智能控制器的設(shè)計與實現(xiàn)-基礎(chǔ)電子0背景

利用嵌入式技術(shù),給工業(yè)系統(tǒng)安裝智能控制器,對其進(jìn)行在線監(jiān)控和檢測,就能及時發(fā)現(xiàn)故障并處理,從而不但保證工業(yè)系統(tǒng)始終處于良好的運行狀態(tài),同時也減輕值機(jī)維護(hù)人員的負(fù)擔(dān)。面向工業(yè)應(yīng)用的智能控制系統(tǒng)一般包括如下功能:多路模擬量和開關(guān)量的實時采集并顯示、通過控制器或上位機(jī)進(jìn)行啟停等命令控制、工作狀態(tài)采集并記錄、數(shù)據(jù)上傳、故障記錄并報警、歷史數(shù)據(jù)保存、定時開關(guān)機(jī)等,同時還應(yīng)具有網(wǎng)絡(luò)數(shù)據(jù)傳輸與控制和軟件升級功能。傳統(tǒng)的智能控制器一般多采用8位單片機(jī)實現(xiàn),但隨著實際功能復(fù)雜度的增加,尤其是實現(xiàn)大量數(shù)據(jù)采集和保存、彩色圖形交互和網(wǎng)絡(luò)通信等,單片機(jī)已很難滿足實時控制的要求。因此,采用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)可靠性。除此之外,硬件上還需擴(kuò)展存儲系統(tǒng)、鍵盤液晶、CPLD芯片、串口通信、網(wǎng)卡通信等模塊。存儲系統(tǒng)選用較大容量的NorFlash來存放代碼和工作過程中需記錄的數(shù)據(jù)。LCD采用320×240的STN彩色液晶屏幕,模擬量數(shù)據(jù)采集采用內(nèi)部ADC和外擴(kuò)多路選擇器,開關(guān)量采集與控制采用CPLD芯片來實現(xiàn)I/O口的擴(kuò)展。系統(tǒng)硬件總體框圖如圖1所示:

2智能控制器軟件總體方案概述

智能控制器軟件部分主要包括啟動模塊、系統(tǒng)初始化模塊實時時鐘顯示、IIC鍵盤、串口通信、液晶顯示、網(wǎng)絡(luò)通信、數(shù)據(jù)采集及控制、數(shù)據(jù)保存及故障記錄和自動升級等模塊.軟件系統(tǒng)流程圖見圖2。

3軟件主要設(shè)計方法

3.1IIC鍵盤和開關(guān)量處理

本系統(tǒng)采用一片CPLD來擴(kuò)展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.2GUI顯示

良好的人機(jī)交互設(shè)計給系統(tǒng)的操作帶來方便。嵌入式系統(tǒng)中的GUI設(shè)計應(yīng)綜合考慮代碼占用的資源、GUI響應(yīng)的速度和易于使用三個因素。若移植成熟的GUI源碼,占用資源太大,響應(yīng)速度相對較慢,本設(shè)計采用面向?qū)ο蟮脑O(shè)計方法,合理的定義了一些數(shù)據(jù)結(jié)構(gòu),使得圖形化顯示既滿足要求,又具有良好的擴(kuò)展性。

依據(jù)人機(jī)界面設(shè)計的具體要求,分析顯示數(shù)據(jù)的特點,為方便參數(shù)的顯示和處理我們定義了一系列的數(shù)據(jù)結(jié)構(gòu),從而使得系統(tǒng)的顯示和修改異常方便。首先確定系統(tǒng)需要多少個窗口,每個窗口有多少個菜單,畫出窗口之間的變遷圖,可以知道所有的窗口應(yīng)當(dāng)組成一個樹形結(jié)構(gòu)。主要的數(shù)據(jù)結(jié)構(gòu)如圖3-6所示。

軟件設(shè)計時,首先按照定義的數(shù)據(jù)結(jié)構(gòu)定義每屏的顯示數(shù)據(jù)和窗口處理函數(shù),當(dāng)有鍵按下時,系統(tǒng)依據(jù)當(dāng)前鍵值、當(dāng)前窗口號和當(dāng)前光標(biāo)確定系統(tǒng)按鍵后的新窗口號和當(dāng)前光標(biāo),然后根據(jù)窗口號和光標(biāo)從該窗口的數(shù)據(jù)區(qū)中取出將要顯示的數(shù)據(jù)給窗口緩沖區(qū),液晶顯示的界面就是從窗口緩沖區(qū)中將數(shù)據(jù)直接取出并顯示。

依據(jù)顯示窗口中數(shù)據(jù)處理的行為,可把顯示方法分為兩種。一種是利用上述的顯示方法,具有良好的統(tǒng)一性,另一種的單獨處理。因為在顯示的各個界面中,有些界面數(shù)據(jù)處理特別少,有些處理特別多,比如參數(shù)修改窗口界面,此時需要把這些窗口獨立出來單獨處理。當(dāng)按鍵調(diào)用此窗口時,系統(tǒng)調(diào)用此窗口的專用窗口處理函數(shù)來處理,直到檢測到退出此窗口的消息時,才結(jié)束此操作,調(diào)用另外模塊。在實際工程中,合理利用這兩種顯示方法對于復(fù)雜行為的人機(jī)交互的處理帶來方便。一般是系統(tǒng)的主要窗口顯示使用統(tǒng)一顯示,而葉子窗口使用單獨處理較好。

3.3數(shù)據(jù)采集及控制

模擬量數(shù)據(jù)采集主要含有采集算法和數(shù)據(jù)處理兩部分。為了確保采集的正確性,本文采用中位值平均濾波方法。采集的數(shù)據(jù)多達(dá)32路,而且被系統(tǒng)頻繁執(zhí)行,因此好的設(shè)計結(jié)構(gòu)至關(guān)重要。在綜合權(quán)衡多路開關(guān)切換時間、啟動轉(zhuǎn)換切換時間和數(shù)據(jù)轉(zhuǎn)換時間后,采用一路采集多次方法。采集模塊在啟動當(dāng)前路模數(shù)轉(zhuǎn)換的同時,對前一路的采集進(jìn)行濾波處理并保存顯示,這樣節(jié)約了采集模塊所用的時間。

3.4網(wǎng)絡(luò)通信模塊

網(wǎng)絡(luò)通信主要完成網(wǎng)卡芯片的初始化、數(shù)據(jù)的收發(fā)以及網(wǎng)絡(luò)協(xié)議棧的移植。本系統(tǒng)網(wǎng)卡芯片RTL8019AS內(nèi)含16KRAM,用作發(fā)送和接收緩沖區(qū)。當(dāng)有數(shù)據(jù)過來,通過本地DMA將數(shù)據(jù)從網(wǎng)線拷貝到網(wǎng)卡接收緩沖區(qū),當(dāng)緩沖區(qū)滿時,再通過遠(yuǎn)程DMA將數(shù)據(jù)拷貝到內(nèi)存供處理器處理。

網(wǎng)卡芯片的驅(qū)動程序主要通過對網(wǎng)卡芯片內(nèi)部一系列寄存器的配置來實現(xiàn)網(wǎng)卡的復(fù)位、物理地址配置、讀寫緩沖區(qū)指針的配置和數(shù)據(jù)收發(fā)配置等。編寫程序過程中應(yīng)熟悉網(wǎng)卡芯片前32個地址空間的所完成的功能和操作方法,從而使網(wǎng)卡能正常工作。當(dāng)完成了驅(qū)動程序后,就需要移植TCP/IP協(xié)議棧。在熟悉ARP、IP、ICMP、TCP、UDP、TELNET等協(xié)議以及各種公開源碼的協(xié)議棧的基礎(chǔ)上,本文選用代碼小、效率高的uIP協(xié)議棧。在調(diào)試的過程中,依據(jù)網(wǎng)絡(luò)原理的分層結(jié)構(gòu)以及網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)拇虬徒?程,一層一層的調(diào)試,并用VC編寫一些網(wǎng)絡(luò)截包程序和收發(fā)程序來聯(lián)合調(diào)試,確保數(shù)據(jù)在傳輸過程中收發(fā)正常并按正確的方式流動。此外,調(diào)試過程應(yīng)注意數(shù)據(jù)寬度以及邊界對齊問題,否則數(shù)據(jù)將不能正確收發(fā)。

4小結(jié)

本智能控制器的設(shè)計不僅完成了基本的人機(jī)界面和輸入輸出操作,而且具有良好的通信、數(shù)據(jù)查詢、自動升級、自動開關(guān)機(jī)、數(shù)據(jù)自動記錄、故障自動記錄到片內(nèi)FLASH以及故障數(shù)據(jù)向上位機(jī)傳輸?shù)裙δ?。?jīng)過反復(fù)測試與實驗,各項性能均滿足要求。

參考文獻(xiàn):

[1].S3C44B0Xdatasheet/datasheet/S3C44B0X_589522.html.[2].ARM7TDMId

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論