甘文凱,羅航,彭丁虎,李祥,蔡亦舒
(江漢大學計算機科學與技術學院,湖北武漢 430063)
基于Xscale的嵌入式計算器的研究與設計
甘文凱,羅航,彭丁虎,李祥,蔡亦舒
(江漢大學計算機科學與技術學院,湖北武漢 430063)
本文設計最終目標是在PXA270RP嵌入式系統開發平臺的鍵盤上可以進行加減乘除的簡單計算,在LED終端上可以顯示運算過程,在數碼管上可以顯示按下數字鍵對應的值,在LED點陣上對非數字鍵進行相應的顯示。實現的方式是在VM虛擬機和Fedora系統為軟件的基礎上對相關研究硬件編寫驅動程序及測試程序,以完成計算機器的功能運算。
嵌入式系統;字符設備驅動程序;計算器;Linux系統
從20世紀60年代嵌入式系統的出現和興起,經過幾十年的應用和發展,嵌入式系統的應用領域一步步擴大,涉足人們日常生活的各個角落,而且,人們對嵌入式應用的要求越來越高,對于嵌入式系統的開發復雜度要求也越來越復雜。因此,進行嵌入式的研究和開發是很有必要的。作為英特爾公司出產的一款高端處理器,PXA270屬于PXA27x系列,擁有Xscale架構它能廣泛應用于掌上電腦、智能手機、網絡存儲設備、骨干網路由器中。
本文實驗環境采用的是VM9下的Fedora7系統,開發語言為C語言。對PXA270RP的硬件設備的操作主要是:數碼管、LED點陣、蜂鳴器、數字鍵盤和LCD終端。計算器工作原理如下:
第1步:從數字鍵盤輸入相應的操作。對任何按鍵,蜂鳴器都會響應。
第2步:對按鍵進行判斷。當數字鍵被按下時,數碼管及LCD都會顯示其值;當按下運算符鍵時,LED點陣會有相應的動畫顯示。當Enter鍵被按下時,調用相應運算算法來進行運算并在LCD終端上顯示結果。
第3步:初始化并等待下一次運算的進行。
PXA270的中斷控制器來控制中斷的產生和動作這個層次。處理器設備是初級的中斷源,而外部產生中斷信號的設備被叫做次級中斷源。通常,一定數量的次級中斷源一般被映射成一個初級中斷源。例如,擁有32個次級中斷源DMA控制器是一個初級中斷源。每一個中斷源可以產生一個IRQ或FIQ。決定產生一個IRQ或一個FIQ的設置被稱為中斷的級別。可以通過編輯中斷控制器,來單獨的屏蔽不同的中斷源(被屏蔽的中斷源將不會長生中斷信號)。軟件可以讀中斷控制器中的寄存器,它可以標志了所產生的IRQ或者FIQ。
PXA270RP機箱鍵盤采用的是4x6矩陣鍵盤,通過對鍵盤的6行4列進行掃描來判斷是那個鍵被按下。首先是對第0列進行掃描,然后對0~5行進行掃描,若沒有捕捉到鍵盤按下,則繼續對剩下的列進行掃描,一次循環掃描,若掃描到符合條件的信號就退出掃描。鍵盤中斷信號從I/O/GCK2引腳發出,COLD1檢測到有中斷產生,若有中斷產生,將MST_IRQSELTCLR_L的第五位置1,CPLD將引腳GPIO0由0置1,同時根據寄存器的哪一位配置GPIO引腳GP0向CPU發送中斷信號并執行相應的中斷程序。
八段數碼管分為共陰極和共陽極,發光二極管是由P形半導體和n形半導體以及他們之間的過渡層組成的,兩側加正向電壓時,在過渡層注入少量載流子流向多數載流子,會將多余的能量裝換成光能量,但是兩側加反向電壓時少量載流子很難注入到多數載流子中,故不能發光。采用共陽極時,將陽極接高電壓,陰極接高電壓則對應的二極管不亮,接低電壓則發光;若采用共陰極則陰極全部接地,陽極與驅動電路的輸出端,輸出高電壓則燈亮,反之則不亮。控制數碼管工作的移位寄存器74HC164的功能是串行輸入、并行輸出,它有一個數據輸入端口、8個輸出端口以及一個時鐘信號端口。串行的數據從2個輸入端Dsa、Dsb中的其中一個輸入,二者必須連接在一起或者其中一個接高電平。cp是時鐘信號輸入口,當信號從低電平跳到高電平時,數據向右移動,將Dsa、Dsb相“與”的結果送入Q0口,當再次電平有低跳到高的時候,Q0的數據移位到Q1,然后下一個數據繼續從Q0口輸出,就這樣依次循環。
測試程序是建立在驅動程序已經寫好的基礎上對驅動程序的應用,將驅動程序控制的設備進行控制,實現一個簡單的計算器的功能。


本文在PXA270RP嵌入式系統開發實驗平臺下對數碼管、LED點陣、蜂鳴器、數字鍵盤和LCD終端進行了驅動程序和測試程序的研究與設計,實現了對數字進行運算,并將結果輸出到LCD終端上,在按鍵的時候都能都運行蜂鳴器發出響聲,按下運算符鍵以及enter鍵能在LED點陣上顯示動畫的類似運算符字樣的動畫效果,在按下數字鍵時能在數碼管上顯示相應的數字。這對加深基于XSCALE的嵌入系統開發的學習有很大的促進作用。
參閱文獻
[1]李朱峰.嵌入式系統開發與實踐.北京:北京航空航天大學出版社.2010.
[2]陳賾.ARM9嵌入式技術及Linux高級實踐教程.北京:北京航空航天大學出版社.2005.
[3]韋東山.嵌入式Linux應用開發.北京:人民郵電出版社. 2012.
[4]趙悅.嵌入式系統概論.中央民族大學出版社.2011.
[5]石秀民.嵌入式系統原理與應用——基于XScal與Linux.北京:北京航空航天大學出版社.2007.
Research and Design of Embedded Calculator Based on Xscale
GAN Wen-kai,LUO Hang,PENG Ding-hu,LI Xiang,CAI Yi-shu
(School of Computer Science and Technology,Jianghan University,Wuhan Hubei 430063,China)
In this paper,the ultimate design goal is to implement simple calculations for addition,subtraction,multiplication and division via the keyboard of the PXA270RP embedded system development platform.The operation process can be displayed on LED terminal,the corresponding value when a number key is pressed displayed on digital tube,and the non-number keys displayed on the LED dot matrix.These are realized by writing drivers and test programs for related hardware based on virtual machine(VM)and Fedora software system to complete the functional operation of the calculator.
embedded system;character device driver;calculator;Linux system
TP334
A
1008-1739(2015)10-54-3
定稿日期:2015-04-26