基于Xscale的嵌入式计算器的研究与设计

2015-12-27 06:27甘文凯罗航彭丁虎李祥蔡亦舒
计算机与网络 2015年10期
关键词:蜂鸣器数码管计算器

甘文凯,罗航,彭丁虎,李祥,蔡亦舒

(江汉大学计算机科学与技术学院,湖北武汉 430063)

基于Xscale的嵌入式计算器的研究与设计

甘文凯,罗航,彭丁虎,李祥,蔡亦舒

(江汉大学计算机科学与技术学院,湖北武汉 430063)

本文设计最终目标是在PXA270RP嵌入式系统开发平台的键盘上可以进行加减乘除的简单计算,在LED终端上可以显示运算过程,在数码管上可以显示按下数字键对应的值,在LED点阵上对非数字键进行相应的显示。实现的方式是在VM虚拟机和Fedora系统为软件的基础上对相关研究硬件编写驱动程序及测试程序,以完成计算机器的功能运算。

嵌入式系统;字符设备驱动程序;计算器;Linux系统

1 引言

从20世纪60年代嵌入式系统的出现和兴起,经过几十年的应用和发展,嵌入式系统的应用领域一步步扩大,涉足人们日常生活的各个角落,而且,人们对嵌入式应用的要求越来越高,对于嵌入式系统的开发复杂度要求也越来越复杂。因此,进行嵌入式的研究和开发是很有必要的。作为英特尔公司出产的一款高端处理器,PXA270属于PXA27x系列,拥有Xscale架构它能广泛应用于掌上电脑、智能手机、网络存储设备、骨干网路由器中。

2 功能描述

本文实验环境采用的是VM9下的Fedora7系统,开发语言为C语言。对PXA270RP的硬件设备的操作主要是:数码管、LED点阵、蜂鸣器、数字键盘和LCD终端。计算器工作原理如下:

第1步:从数字键盘输入相应的操作。对任何按键,蜂鸣器都会响应。

第2步:对按键进行判断。当数字键被按下时,数码管及LCD都会显示其值;当按下运算符键时,LED点阵会有相应的动画显示。当Enter键被按下时,调用相应运算算法来进行运算并在LCD终端上显示结果。

第3步:初始化并等待下一次运算的进行。

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口输出,就这样依次循环。

4 测试程序设计

测试程序是建立在驱动程序已经写好的基础上对驱动程序的应用,将驱动程序控制的设备进行控制,实现一个简单的计算器的功能。

5 结束语

本文在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

猜你喜欢
蜂鸣器数码管计算器
电动自行车产品车速提示音检测现状和整改技术研究(2)
掌控板制作简易钢琴
Arduino编程
[计算器不是万能的]
MC9S08FL16单片机数码管静态显示分析
单片机控制的四位数码管动态显示编程
单片机驱动蜂鸣器的程序设计
丰田凯美瑞240V车间隙警告蜂鸣器异常鸣响
一个损坏的计算器
一个损坏的计算器