<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM44B0x的信號(hào)發(fā)射機(jī)控制器設(shè)計(jì)

          基于ARM44B0x的信號(hào)發(fā)射機(jī)控制器設(shè)計(jì)

          ——
          作者:黃勇亮 時(shí)間:2008-05-29 來(lái)源:微計(jì)算機(jī)信息 收藏

          3.模塊設(shè)計(jì)

          本文引用地址:http://www.ex-cimer.com/article/83305.htm

          要監(jiān)控發(fā)射機(jī)工作狀態(tài)就必須具備良好的,需要給控制器選配合適的顯示設(shè)備,在本項(xiàng)目中選用7.8寸640×480象素STN型彩色液晶顯示屏(LCD),采用8位數(shù)據(jù)單掃描方式,在實(shí)際應(yīng)用中顯示效果很好不僅成本低且美觀大方,STN型LCD屏與44B0x的接口比較簡(jiǎn)單但需要注意的是第18引腳(Vcom)通過(guò)一個(gè)變阻器與電源相連,調(diào)整該引腳上的電壓就可以調(diào)整LCD屏的對(duì)比度。軟件設(shè)計(jì)中的關(guān)鍵是菜單的設(shè)計(jì)和按鍵響應(yīng)及處理,由于本項(xiàng)目中的界面較多且存在翻屏所以宜設(shè)計(jì)一個(gè)統(tǒng)一處理的算法,為此,把每個(gè)界面統(tǒng)一編號(hào)WndID,把按鍵作為一個(gè)消息處理MessageFun();每次按一個(gè)鍵就調(diào)用MessageFun(),找到需要顯示的界面并在LCD上顯示。LCD翻屏的方法是每次記錄顯示的內(nèi)容在整個(gè)菜單數(shù)組中的偏移,若當(dāng)前行超過(guò)偏移就需要翻屏否則不翻屏。對(duì)于菜單的設(shè)計(jì)作如下處理:用一個(gè)結(jié)構(gòu)體把一個(gè)菜單的屬性完整地封裝好,其屬性包括菜單名稱(chēng)、坐標(biāo)、參數(shù)標(biāo)志、參數(shù)。

          typedef    struct{

                 UINT8T  Menu_ID;//菜單編號(hào)

                 UINT8T *Text;      //菜單名稱(chēng)

                 UINT16T       xPos;      //菜單x坐標(biāo)

                 UINT16T       yPos;      //菜單y坐標(biāo)

                 UINT8T  ParaFlag; //參數(shù)標(biāo)志

                 UINT8T  pData[7]; //參數(shù)

          }Menu;                                                

              圖4 菜單顯示

            利用結(jié)構(gòu)體將每一個(gè)菜單的屬性都封裝好再放到一個(gè)數(shù)組里面,這樣對(duì)菜單的個(gè)數(shù)沒(méi)有限制且容易管理,每一個(gè)菜單的信息都很清晰,編程不易出錯(cuò)。

                 人機(jī)界面操作的核心工作就是界面的切換、主菜單和子菜單操作。根據(jù)按鍵來(lái)確定對(duì)應(yīng)的界面ID號(hào),切換界面的方法通常有兩種改變顯存的內(nèi)容和改變顯存的基址,改變顯存的基址就需要定義很大的顯存,這樣做的優(yōu)點(diǎn)是利用硬件資源使LCD屏顯示的刷新速度很高、界面切換快,缺點(diǎn)是很大地浪費(fèi)了系統(tǒng)資源;若改變顯存中的內(nèi)容就需要用軟件的方法來(lái)更新顯存中的內(nèi)容,這種方法的好處就是節(jié)約了系統(tǒng)資源,但是增加的軟件設(shè)計(jì)的復(fù)雜度;本項(xiàng)目采用的就是更新顯存內(nèi)容的方法在實(shí)際的調(diào)試中發(fā)現(xiàn)能夠很好地滿(mǎn)足要求。關(guān)于主菜單和子菜單的操作設(shè)計(jì)了一種統(tǒng)一調(diào)度的算法,其思想是根據(jù)獲取的按鍵信息來(lái)確定主菜單的ID號(hào)和子菜單的ID號(hào),使用焦點(diǎn)標(biāo)記當(dāng)前菜單的ID號(hào),由這兩個(gè)ID號(hào)就可以確定相應(yīng)的主、子菜單同時(shí)進(jìn)入對(duì)應(yīng)的功能處理程序。www.51kaifa.com

          4.以太網(wǎng)模塊設(shè)計(jì)

            在硬件設(shè)計(jì)時(shí)選擇RTL8019AS網(wǎng)絡(luò)控制芯片,它可以工作在8/16 位總線寬度下傳輸速度為10Mbps,遵循IEEE 802.3 協(xié)議。內(nèi)部具有16KB SRAM集成了MAC收發(fā)緩沖區(qū)和物理層的功能,它用來(lái)接收和發(fā)送以太網(wǎng)的物理傳輸數(shù)據(jù),當(dāng)RTL8019AS收到網(wǎng)絡(luò)數(shù)據(jù)包后,RTL8019AS內(nèi)部的某些控制寄存器的狀態(tài)就被改變,通過(guò)設(shè)置中斷或者查詢(xún)的方法來(lái)讀取這些寄存器的狀態(tài)判斷數(shù)據(jù)是否收到;發(fā)送數(shù)據(jù)時(shí),將數(shù)據(jù)放入到RTL8019AS內(nèi)部數(shù)據(jù)緩沖區(qū)后,通過(guò)控制內(nèi)部的寄存器,將緩沖區(qū)的網(wǎng)絡(luò)數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)上去。該芯片有三種工作模式:跳線模式,即插即用模式,免跳線模式。在項(xiàng)目中網(wǎng)卡芯片RTL8019AS是在跳線模式下工作。對(duì)該芯片的驅(qū)動(dòng)主要包括以下幾個(gè)步驟:復(fù)位、初始化、收發(fā)數(shù)據(jù)。RTL8019的復(fù)位引腳RSTDRV是高電平有效,有效的保持時(shí)間宜大于800ns,且在由高到低切換后的100ms后才對(duì)芯片操作。在對(duì)芯片初始化之前需要預(yù)先分配好片內(nèi)RAM中的空間即接收和發(fā)送緩存的大小,在把所有的設(shè)置參數(shù)在初始化的時(shí)候一起寫(xiě)入RTL8019的寄存器完成初始化。

          5.結(jié)語(yǔ)

                 項(xiàng)目開(kāi)發(fā)調(diào)試的過(guò)程中有許多軟件和硬件方面的困難,但是問(wèn)題最后都是在不斷地解決,如系統(tǒng)的了串口,LCD,AD采樣,F(xiàn)lash操作的調(diào)試等工作以及控制器所要具備的人機(jī)交互功能的程序設(shè)計(jì)且需調(diào)試通過(guò)。把以太網(wǎng)模塊加到工程中后,其物理層芯片的驅(qū)動(dòng)程序需進(jìn)一步調(diào)試,把TCP/IP協(xié)議加入模塊,參照成功的案例,完成系統(tǒng)的調(diào)試任務(wù)。同時(shí),本文具有以下創(chuàng)新點(diǎn):

          (1)開(kāi)發(fā)應(yīng)用32位微處理ARM作為控制器的內(nèi)核,使控制器比用單片機(jī)作內(nèi)核的處理器具有更全面的功能和更好的使用性能。

          (2)在菜單的設(shè)計(jì)中,用一個(gè)結(jié)構(gòu)體把一個(gè)菜單的屬性完整地封裝好,其屬性包括菜單名稱(chēng)、坐標(biāo)、參數(shù)標(biāo)志、參數(shù)。

          (3)解決了該網(wǎng)卡芯片使RTL8019AS正常工作的問(wèn)題,在對(duì)芯片初始化之前需要預(yù)先分配好片內(nèi)RAM中的空間即接收和發(fā)送緩存的大小,在把所有的設(shè)置參數(shù)在初始化的時(shí)候一起寫(xiě)入RTL8019的寄存器完成初始化。

          [參考文獻(xiàn)]

          [1] 田澤.系統(tǒng)開(kāi)發(fā)與應(yīng)用實(shí)驗(yàn)教程[M].北京:北京航空航天大學(xué)出版社,2005.

          [2] 賈志平,張瑞華.原理與接口技術(shù)[M].北京:清華大學(xué)出版社,2005.

          [3] 王田苗.系統(tǒng)設(shè)計(jì)與實(shí)例開(kāi)發(fā)[M].清華大學(xué)出版社,2003.

          [4] 崔登志,戴學(xué)豐,劉樹(shù)東,等.用ARM控制CAMD無(wú)線Modem發(fā)送短信息[J].微計(jì)算機(jī)信息,2006,11-2:136-138.

          [5] 徐偉,譚樹(shù)人,黃浩亮.基于AT91RM9200的圖象采集系統(tǒng)設(shè)計(jì)[J]. 微計(jì)算機(jī)信息,2006,11-2:120-122.

          [6] 楊占華,揚(yáng)燕.數(shù)據(jù)挖掘在智能搜索引擎中的應(yīng)用[J].微計(jì)算機(jī)信息,2006(4)下:244-245.

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

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

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();