新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM嵌入式智能控制器的設(shè)計(jì)與實(shí)現(xiàn)

基于ARM嵌入式智能控制器的設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2009-05-07 來源:網(wǎng)絡(luò) 收藏

良好的給系統(tǒng)的操作帶來方便。系統(tǒng)中的GUI應(yīng)綜合考慮代

碼占用的資源、GUI響應(yīng)的速度和易于使用三個(gè)因素。若移植成熟的GUI源碼,占用資源太大,響應(yīng)速度相對(duì)較慢,本采用面向?qū)ο蟮脑O(shè)計(jì)方法,合理的定義了一些數(shù)據(jù)結(jié)構(gòu),使得圖形化顯示既滿足要求,又具有良好的擴(kuò)展性。

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

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

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

3.3 及控制

模擬量主要含有采集算法和數(shù)據(jù)處理兩部分。為了確保采集的正確性,本文

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

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ū)滿時(shí),再通過遠(yuǎn)程DMA將數(shù)據(jù)拷貝到內(nèi)存供處理器處理。

網(wǎng)卡芯片的驅(qū)動(dòng)程序主要通過對(duì)網(wǎng)卡芯片內(nèi)部一系列寄存器的配置來網(wǎng)卡的復(fù)位、物理地址配置、讀寫緩沖區(qū)指針的配置和數(shù)據(jù)收發(fā)配置等。編寫程序過程中應(yīng)熟悉網(wǎng)卡芯片前32個(gè)地址空間的所完成的功能和操作方法,從而使網(wǎng)卡能正常工作。當(dāng)完成了驅(qū)動(dòng)程序后,就需要移植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ā)正常并按正確的方式流動(dòng)。此外,調(diào)試過程應(yīng)注意數(shù)據(jù)寬度以及邊界對(duì)齊問題,否則數(shù)據(jù)將不能正確收發(fā)。

4 小結(jié)

器的設(shè)計(jì)不僅完成了基本的人機(jī)界面和輸入輸出操作,而且具有良好的通

信、數(shù)據(jù)查詢、自動(dòng)升級(jí)、自動(dòng)開關(guān)機(jī)、數(shù)據(jù)自動(dòng)記錄、故障自動(dòng)記錄到片內(nèi)FLASH以及故障數(shù)據(jù)向上位機(jī)傳輸?shù)裙δ堋=?jīng)過反復(fù)測(cè)試與實(shí)驗(yàn),各項(xiàng)性能均滿足要求。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉