课题通过编程装载测试S3C2410的实时时钟功能,包括时钟滴答功能测试,通过LED显示当前时刻;时间警告功能测试,并通过超级终端显示结果
【关键词】:AM920T, 嵌入式, 微处理器
ABSTRACT
Embedded system hardware, including processor / microprocessor, memory and peripheral devices and I / O ports, such as graphics controller. Embedded systems is different from the general computer processing system, which does not have as large-capacity hard drive as the storage medium, and most of the use of EPROM, EEPROM or flash memory (Flash Memory) as storage medium. From the hardware side, a wide range of embedded processors are embedded system hardware, the core of the part. Embedded processor is currently available from kB address space to 16MB, can be achieved the fastest treatment 2000MIPS, from the 8-pin package to 144-pin range.
S3C2410 programmed loading tests of the real-time clock function, including functional testing the clock ticking through the LED displays the current time; time warning function test, and the result will be displayed through HyperTerminal
【Keywords】: AM920T, Embeddedl, Microprocessor
目 录
一、引言 1页
二、ARM9介绍 1页
(一)ARM9介绍 1页
(二)ARM的内核简介 2页
三、基于ARM920T的嵌入式实时时钟控制系统设计 3页
(一)实时时钟在嵌入式系统中的作用 3页
(二)S3C2410 的实时时钟单元 3页
(三) 设计实现 6页
(四)设计过程 6页
四、结束语 9页
五、参考文献 10页
一.引言
(一).选题依据:
20世纪90年代后期,嵌入式系统在工业控制、远程监控和数据采集等领域的应用日趋广泛,人们对嵌入式系统的存储容量也提出了较高的要求。因此研制适用于嵌入式系统的大容量、高速率、高可靠性的数据存储系统变得日益重要。
(二).ARM9简述
AM920T微处理器以单独的16K字节、路结合组(set-associative)指令以及数据高速缓存为核心。MaverickCrunch™协处理器更进一步增强了其性能。EP9312的MaverickCrunch引擎是一种先进的混合模式数学协处理器,可大大提高ARM内核的单/双精度整数及浮点处理能力。
具备EP9312的内置型IDE界面,此处理器可直接与硬盘,CD驱动器和DVD驱动器等多种硬件相连,极大地降低系统成本和主板所占空间。
MaverickKey™独特的硬件编程ID是解决网上内容和电子商务安全问题的一个可行方案。互联网安全已逐渐成为通过互联网传送书籍和音乐等数字媒体的重要议题,而传统的软件方法已无法满足安全性的要求。MaverickKey独特的ID为OEM厂商提供了一种利用特定硬件ID的可行办法,比如分配给SDMI (安全数字音乐计划)或其它数字版权管理机制的硬件ID。
EP9312内置一个高性能1/10/100 Mbps以太网媒体存取控制器,以及外部接口, 可连接各种外设,包括SPI和I2S音频、Raster/LCD、IDE存储外设、小键盘和触摸屏等。该器件还集成有三个USB 2.0全速(12 Mbps)主端口和三个UART。
ARM920T的32位微控制器结构带有一个5阶管线,可以极低的功耗提供优异的性能ARM内核工作电压为1.8 V,输入/输出为3.3 V。功耗通常小于0。5瓦。
EP9312适于多种应用,包括:数字媒体服务器和自动点唱机、远程信息控制系统、瘦客户机、机顶盒、POS终端、工业控制、生物测定安全系统以及GPS设备等。
二、AM920T介绍
(一)AM920T介绍
ARM 的全称是Advanced RISC Machine,这个公司不生产芯片也不销售芯片,它只是出售芯片技术授权。ARM 技术 IP 核的微处理器遍及汽车、消费电子、成像、工业控制、 海量存储、网络、安保和无线等各类产品市场。目前世界上前 5 大半导体公司全部使用了ARM 的技术授权,而前10 大半导体公司有9 家,前25 大半导体公司中有23 家采用了ARM的技术授权。它借助于拥有的强大技术优势,在世界范围内与许多业界领先的半导体厂商和芯片设计中心、实时操作系统软件开发商、应用软件公司、电子设计自动化(EDA)工具供应商和系统公司建立合作关系,其中包括世界顶级的厂商 Intel、NS 、TI、Apple 、Motorola、Mitsubishi、SUN、Lucent、Sanyo、Altera、Triscend、Agilent、Toshiba、Fujitsu、Sharp、ST、3COM、OKI、YAMAHA、Atmel、Rohm、Rockwell、Philips、Lucent、Samsung、Hyundai、Sony 和 Alcatel 等 56 家公司。由此可见 ARM 技术具有不可抗拒的魅力,1999年采用ARM IP 核的芯片出货量就达 1.8 亿片,占RISC 市场份额57.8%;2000 年采用ARMIP核的芯片出货量更是增长到 4 亿片,RISC 市场份额上升到 74.3%,同期 MIPS 芯片占11.3%,Power PC 芯片占3.4%。
到目前为止,ARM 微处理器及技术的应用几乎已经深入到各个领域:
1.工业控制领域:作为32 位的RISC 架构,基于ARM 核的微控制器芯片不但占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展,ARM 微控制器的低功耗、高性价比,向传统的 8 位/16 位微控制器提出了挑战。
2.无线通讯领域:目前已有超过85%的无线通讯设备采用了ARM 技术, ARM 以其高性能和低成本,在该领域的地位日益巩固。
3.网络应用:随着宽带技术的推广,采用ARM 技术的ADSL 芯片正逐步获得竞争优势。此外,ARM 在语音及视频处理上行了优化,并获得广泛支持,也对 DSP 的应用领域提出了挑战。
4.消费类电子产品:ARM 技术在目前流行的数字音频播放器、数字机顶盒和游戏机中得到广泛采用。
5.成像和安全产品:现在流行的数码相机和打印机中绝大部分采用ARM 技术。手机中的32 位 SIM 智能卡也采用了ARM 技术。
除此以外,ARM微处理器及技术还应用到许多不同的领域,并会在将来取得更加广
泛的应用。
ARM 微处理器采用RISC 架构,一般具有如下特点:
体积小、低功耗、低成本、高性能;
支持Thumb(16 位)/ARM(32 位)双指令集,能很好的兼容 8 位/16 位器件;
大量使用寄存器,指令执行速度更快;
大多数数据操作都在寄存器中完成;
寻址方式灵活简单,执行效率高;
指令长度固定。
(二)ARM的内核简介
ARM 内核结构芯片具有RISC 体系的一般特点:
具有大量寄存器
绝大多数操作都是在寄存器中进行,寄存器与内存打交道的唯一是通过
Load/Store 的体系结构在内存和寄存器之间传递数据
寻址方式简单
采用固定长度的指令
ARM 微处理器目前包括下面几个系列,以及其它厂商基于ARM 体系结构的处理器,
除了具有 ARM 体系结构的共同特点以外,每一个系列的ARM微处理器都有各自的特点和应用领域。
ARM7 系列
ARM9 系列
ARM9E 系列
ARM10E 系列
SecurCore 系列
Inter 的Xscale
Inter 的StrongARM
其中,ARM7、ARM9、ARM9E 和ARM10 为4 个通用处理器系列,每一个系列提供
一套相对独特的性能来满足不同应用领域的需求。SecurCore 系列专门为安全要求较高的应用而设计。
三. 基于ARM920T的嵌入式实时时钟控制系统设计
(一)实时时钟在嵌入式系统中的作用
在一个嵌入式系统中,实时时钟单元可以提供可靠的时钟,包括时分秒和年月日;即使在系统处于关机状态下,它也能正常工作(通常采用后备电池供电),它的外围也不需要太多的辅助电路,典型的就是只需要一个高精度的晶振。
(二)S3C2410 的实时时钟单元
如图 15-1 为S3C2410 的实时时钟框图。它具有以下特点:
(1)时钟数据采用BCD 编码;
(2)能够对闰年的年月日进行自动处理;
(3)具有告警功能,当系统处于关机状态时,能产生告警中断;
(4)无2000 年问题;
(5)具有的电源输入;
(6)提供毫秒级时钟中断,该中断可用作嵌入式操作系统的内核时钟。
(1)控制寄存器
(2)告警控制寄存器
(3)实时时钟计数器
(4)告警时间寄存器
(三) 设计实现
本实验测试 S3C2410 的实时时钟功能,主要为时钟滴答功能测试。
时钟滴答功能测试:
a.首先需设置TICK 的周期,在例程中设置的是1 秒,并打开TIME TICK 中断。
rTICNT=0x7F|0X80;
计算公式:T=(1+0x7f)/128 秒
b .注册中断服务例程
使用 install_isr_handler (HandleRTC, (void* )rtc_int_isr )将中断服务例程的地址填写到中断地址表中;
rtc_int_isr 函数为RTC TIMETICK 的处理例程,在该例程中我们首先要清除中断标志,接着可以刷新LED 的显示,在例程中我们使用了全局变量来实现LED 显示的更新.代码如下:
rR_ISPC=BIT_TICK;
* ((U8* )0x0200006)=0x3E;
* ((U8* )0x0200004)=seg7table[led_index&0xF];
led_index++;
c.输入当前时间,并通过串口显示时间的运行情况
设置当前时间,即向各个寄存器赋初值:
rRTCON=0x01;
rBCDYEAR=p_date->year;
rBCDMON=p_date->mon;
rBCDDAY=p_date->day;
rBCDDATE=p_date->week_day;
rBCDHOUR=p_date->hour;
rBCDMIN=p_date->min;
rBCDSEC=p_date->sec;
rRTCCON=0x00;
d.每隔1 秒读取一下时钟数据,并通过串口显示该数据
old_index=led_index;
Uart_Printf (“\r\\n”);
While (1){
/*每隔 1 秒更新一次数据*/
if (old_index!=led_index){
rtc_get_data (&m_data);
old_index=led_index;
/*实时时钟数据为BCD 码格式,以16 进制显示*/
Uart_Printf (“\r%02x: %02x: %02x”,m_date.hour,m_date.min,m_date.sec );
}
};
(四) 设计过程
1.硬件连接:
(1) 关闭系统电源;
(2)串口线:用一根串口线连接PC 机的 COM1 和2410RP 实验箱的RS232-0 接口; 并口线:仿真器通过并口线连到PC 机的并口;
JTAG 线:用一根JTAG 线(即20 针数据线),连接2410RP的JTAG 接 口和仿真器接口;
电源线:用两根标准电源线分别连接2410RP 和ARM-ICE 仿真器;
(3)将2410RP的拨码开关SW11、SW5 拨至右边。
(4)开启电源。
2.新建工程RTC.mcp,编辑并添加以下三类文件:
(1) .s 文件:2410init.s,2410slib.s;
(2) .h 文件:def. h,option.h,2410addr.h,2410lib.h,2410slib.h,mmu.h, 2410RTC.h ;
(3) .c (C)文件:2410lib.c,MAIN.C, mmu.c, 2410RTC.c;
文件说明:
2410init.s—初始化 cpu、内存等状态,完成后跳转到C 语言入口;
2410swis.s—软中断处理相关;
2410slib.s—库中内存管理等函数的调用;
def.h—宏定义;
option.h—定义时钟、地址、总线宽度等;
2410addr.h—寄存器地址状态定义;
2410lib.h , 2410lib.c—(C 语言)前者声明函数库变量,后者定义库中常用函数(如串口函数);
2410slib.h , 2410slib.s—(汇编语言) 前者声明函数库变量,后者定义库中常用函数(如内存管理等);
mmu.h , mmu.c—内存管理单元的声明和函数定义;
test.c , Main.c , *.c—定义系统运行方式(*.c 表示以工程名命名的 c 文件以及其他可能用到的c 文件);
3.修改工程设置如图15-2 15-3
4.编译RTC;
5.运行超级终端,选择正确的串口号,并将串口设置为:波特率(115200)、奇偶校
验(None )、数据位数(8)和停止位数(1),无流控,打开串口;
6.装载程序并运行,如果运行正确,在超级终端中将会显示如图 15-4 所示内容。
四,结束语
本文介绍的ARM920T的嵌入式实时时钟控制系统几乎已经深入到各个领域。它所具有的:体积小、低功耗、低成本、高性能;支持Thumb(16 位)/ARM(32 位)双指令集,能很好的兼容 8 位/16 位器件;大量使用寄存器,指令执行速度更快;大多数数据操作都在寄存器中完成;寻址方式灵活简单,执行效率高等特点使其会在将来取得更加广泛的应用。
通过本次论文不但是我的专业知识得到更深的巩固,而且,也使我提高了发现和解决问题的能力,对我今天的工作有着很大的帮助。本次设计有个缺憾就是没有做出实物,下次如果有机会的话一定要做出实物。
参考文献
[1] 林红等编著. 数字电路与逻辑设计.清华大学出版社,2004
[2] 李中奇,张冬波,罗文俊.嵌入式Linux系统中触摸屏控制的研究与实现[J].工业控制计算机2005
[3] 杨永生,王立红编著.汇编语言程序设计.清华大学出版社,2004
[4] 张晓明,超声波触摸屏PC机接口驱动程序设计[J].计算机应用.2004
[5] 冯博琴编著.微型计算机原理与接口技术.清华大学出版社,2004