基于ARM44B0x的信號發射機控制器設計
3.人機接口模塊設計
本文引用地址:http://www.j9360.com/article/83305.htm要監控發射機工作狀態就必須具備良好的人機接口,需要給控制器選配合適的顯示設備,在本項目中選用7.8寸640×480象素STN型彩色液晶顯示屏(LCD),采用8位數據單掃描方式,在實際應用中顯示效果很好不僅成本低且美觀大方,STN型LCD屏與44B0x的接口比較簡單但需要注意的是第18引腳(Vcom)通過一個變阻器與電源相連,調整該引腳上的電壓就可以調整LCD屏的對比度。軟件設計中的關鍵是菜單的設計和按鍵響應及處理,由于本項目中的界面較多且存在翻屏所以宜設計一個統一處理的算法,為此,把每個界面統一編號WndID,把按鍵作為一個消息處理MessageFun();每次按一個鍵就調用MessageFun(),找到需要顯示的界面并在LCD上顯示。LCD翻屏的方法是每次記錄顯示的內容在整個菜單數組中的偏移,若當前行超過偏移就需要翻屏否則不翻屏。對于菜單的設計作如下處理:用一個結構體把一個菜單的屬性完整地封裝好,其屬性包括菜單名稱、坐標、參數標志、參數。
typedef struct{
UINT8T Menu_ID;//菜單編號
UINT8T *Text; //菜單名稱
UINT16T xPos; //菜單x坐標
UINT16T yPos; //菜單y坐標
UINT8T ParaFlag; //參數標志
UINT8T pData[7]; //參數
}Menu;
圖4 菜單顯示
利用結構體將每一個菜單的屬性都封裝好再放到一個數組里面,這樣對菜單的個數沒有限制且容易管理,每一個菜單的信息都很清晰,編程不易出錯。
人機界面操作的核心工作就是界面的切換、主菜單和子菜單操作。根據按鍵來確定對應的界面ID號,切換界面的方法通常有兩種改變顯存的內容和改變顯存的基址,改變顯存的基址就需要定義很大的顯存,這樣做的優點是利用硬件資源使LCD屏顯示的刷新速度很高、界面切換快,缺點是很大地浪費了系統資源;若改變顯存中的內容就需要用軟件的方法來更新顯存中的內容,這種方法的好處就是節約了系統資源,但是增加的軟件設計的復雜度;本項目采用的就是更新顯存內容的方法在實際的調試中發現能夠很好地滿足要求。關于主菜單和子菜單的操作設計了一種統一調度的算法,其思想是根據獲取的按鍵信息來確定主菜單的ID號和子菜單的ID號,使用焦點標記當前菜單的ID號,由這兩個ID號就可以確定相應的主、子菜單同時進入對應的功能處理程序。www.51kaifa.com
4.以太網通信模塊設計
在硬件設計時選擇RTL8019AS網絡控制芯片,它可以工作在8/16 位總線寬度下傳輸速度為10Mbps,遵循IEEE 802.3 協議。內部具有16KB SRAM集成了MAC收發緩沖區和物理層的功能,它用來接收和發送以太網的物理傳輸數據,當RTL8019AS收到網絡數據包后,RTL8019AS內部的某些控制寄存器的狀態就被改變,通過設置中斷或者查詢的方法來讀取這些寄存器的狀態判斷數據是否收到;發送數據時,將數據放入到RTL8019AS內部數據緩沖區后,通過控制內部的寄存器,將緩沖區的網絡數據發送到網絡上去。該芯片有三種工作模式:跳線模式,即插即用模式,免跳線模式。在項目中網卡芯片RTL8019AS是在跳線模式下工作。對該芯片的驅動主要包括以下幾個步驟:復位、初始化、收發數據。RTL8019的復位引腳RSTDRV是高電平有效,有效的保持時間宜大于800ns,且在由高到低切換后的100ms后才對芯片操作。在對芯片初始化之前需要預先分配好片內RAM中的空間即接收和發送緩存的大小,在把所有的設置參數在初始化的時候一起寫入RTL8019的寄存器完成初始化。
5.結語
項目開發調試的過程中有許多軟件和硬件方面的困難,但是問題最后都是在不斷地解決,如系統的了串口,LCD,AD采樣,Flash操作的調試等工作以及控制器所要具備的人機交互功能的程序設計且需調試通過。把以太網模塊加到工程中后,其物理層芯片的驅動程序需進一步調試,把TCP/IP協議加入模塊,參照成功的案例,完成系統的調試任務。同時,本文具有以下創新點:
(1)開發應用32位微處理ARMS3C44B0x作為控制器的內核,使控制器比用單片機作內核的處理器具有更全面的功能和更好的使用性能。
(2)在菜單的設計中,用一個結構體把一個菜單的屬性完整地封裝好,其屬性包括菜單名稱、坐標、參數標志、參數。
(3)解決了該網卡芯片使RTL8019AS正常工作的問題,在對芯片初始化之前需要預先分配好片內RAM中的空間即接收和發送緩存的大小,在把所有的設置參數在初始化的時候一起寫入RTL8019的寄存器完成初始化。
[參考文獻]
[1] 田澤.嵌入式系統開發與應用實驗教程[M].北京:北京航空航天大學出版社,2005.
[2] 賈志平,張瑞華.嵌入式原理與接口技術[M].北京:清華大學出版社,2005.
[3] 王田苗.嵌入式系統設計與實例開發[M].清華大學出版社,2003.
[4] 崔登志,戴學豐,劉樹東,等.用ARM控制CAMD無線Modem發送短信息[J].微計算機信息,2006,11-2:136-138.
[5] 徐偉,譚樹人,黃浩亮.基于AT91RM9200的圖象采集系統設計[J]. 微計算機信息,2006,11-2:120-122.
[6] 楊占華,揚燕.數據挖掘在智能搜索引擎中的應用[J].微計算機信息,2006(4)下:244-245.
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論