1、毕业论文【摘要】 嵌入式系统的硬件部分,包括处理器/微处理器、存储器及外设器件和 I/O 端口、图形控制器等。嵌入式系统有 别于一般的计算机处理系统,它不具备像硬盘那样大容量的存储介质,而大多使用 EPROM、EEPROM 或闪存(Flash Memory )作为存储介质。 从硬件方面来讲,各式各样的嵌入式 处理器是嵌入式系统硬件中的最核心的部分。目前嵌入式处理器的寻址空间可以从 64kB 到 16MB,处理速度最快可以达到 2000MIPS,封装从 8 个引脚到 144 个引脚不等。课题通过编程装载测试 S3C2410 的实时时钟功能,包括时钟滴答功能测试,通过LED 显示当前 时刻;时间
2、警告功能测试,并通过超 级终端显示结果【关键词】:AM920T, 嵌入式, 微处理器ABSTRACTEmbedded 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-capaci
3、ty 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 64kB address spac
4、e 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 w
5、ill be displayed through HyperTerminal【Keywords】 : AM920T, Embeddedl, Microprocessor毕业论文目 录一、引言 1 页二、ARM9 介绍 1 页(一)ARM9 介绍 1 页(二)ARM 的内核简介 2 页三、基于 ARM920T的嵌入式实时时钟控制系统设计 3 页(一)实时时钟在嵌入式系统中的作用 3 页(二)S3C2410 的实时时钟单元 3 页(三 ) 设计实现 6 页(四)设计过程 6 页四、结束语 9 页五、参考文献 10 页六、致谢 11 页毕业论文- 1 -一引言(一).选题依据:20世纪 90年代后期
6、,嵌入式系统在工业控制、远程监控和数据采集等领域的应用日趋广泛,人们对嵌入式系统的存储容量也提出了较高的要求。因此研制适用于嵌入式系统的大容量、高速率、高可靠性的数据存储系统变得日益重要。(二).ARM9 简述AM920T微处理器以单独的 16K字节、64 路结合组(set-associative)指令以及数据高速缓存为核心。MaverickCrunch协处理器更进一步增强了其性能。EP9312 的MaverickCrunch引擎是一种先进的混合模式数学协处理器,可大大提高 ARM内核的单/双精度整数及浮点处理能力。具备 EP9312的内置型 IDE界面,此处理器可直接与硬盘,CD 驱动器和
7、DVD驱动器等多种硬件相连,极大地降低系统成本和主板所占空间。MaverickKey独特的硬件编程 ID是解决网上内容和电子商务安全问题的一个可行方案。互联网安全已逐渐成为通过互联网传送书籍和音乐等数字媒体的重要议题,而传统的软件方法已无法满足安全性的要求。MaverickKey 独特的 ID为 OEM厂商提供了一种利用特定硬件 ID的可行办法,比如分配给 SDMI (安全数字音乐计划)或其它数字版权管理机制的硬件 ID。EP9312内置一个高性能 1/10/100 Mbps以太网媒体存取控制器,以及外部接口, 可连接各种外设,包括 SPI和 I2S音频、Raster/LCD、IDE 存储外设
8、、小键盘和触摸屏等。该器件还集成有三个 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
9、技术 IP 核的微处理器遍及汽车、消费电子、成像、工业控制、 海量存储、网络、安保和无线等各类产品市场。目前世界上前 5 大半导体公司全部使用了 ARM 的技术授权,而前 10 大半导体公司有 9 家,前 25 大半导体公司中有 23 家采用了 ARM的技术授权。它借助于拥有的强大技术优势,在世界范围内与许多业界领先的半导体厂商和芯片设计中心、实时操作系统软件开发商、应用软件公司、电子设计自动化(EDA)工具供应商和系统公司建立合作关系,其中包括世界顶级的厂商 Intel、NS 、TI、Apple 、Motorola、Mitsubishi、SUN、Lucent、Sanyo、Altera 、Tr
10、iscend、Agilent、Tosh- 2 -iba、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%。 到目前为
11、止,ARM 微处理器及技术的应用几乎已经深入到各个领域: 1工业控制领域:作为 32 位的 RISC 架构,基于 ARM 核的微控制器芯片不但占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展,ARM 微控制器的低功耗、高性价比,向传统的 8 位/16 位微控制器提出了挑战。 2无线通讯领域:目前已有超过 85%的无线通讯设备采用了 ARM 技术, ARM 以其高性能和低成本,在该领域的地位日益巩固。 3网络应用:随着宽带技术的推广,采用 ARM 技术的 ADSL 芯片正逐步获得竞争优势。此外,ARM 在语音及视频处理上行了优化,并获得广泛支持,也对 DSP 的应用领
12、域提出了挑战。 4消费类电子产品:ARM 技术在目前流行的数字音频播放器、数字机顶盒和游戏机中得到广泛采用。 5成像和安全产品:现在流行的数码相机和打印机中绝大部分采用 ARM 技术。手机中的 32 位 SIM 智能卡也采用了 ARM 技术。 除此以外,ARM 微处理器及技术还应用到许多不同的领域,并会在将来取得更加广 泛的应用。 ARM 微处理器采用 RISC 架构,一般具有如下特点: 体积小、低功耗、低成本、高性能; 支持 Thumb(16 位)/ARM(32 位)双指令集,能很好的兼容 8 位/16 位器件; 大量使用寄存器,指令执行速度更快; 大多数数据操作都在寄存器中完成; 寻址方式
13、灵活简单,执行效率高; 指令长度固定。(二)ARM 的内核简介ARM 内核结构芯片具有 RISC 体系的一般特点: 具有大量寄存器 绝大多数操作都是在寄存器中进行,寄存器与内存打交道的唯一是通过 Load/Store 的体系结构在内存和寄存器之间传递数据 寻址方式简单 采用固定长度的指令 ARM 微处理器目前包括下面几个系列,以及其它厂商基于 ARM 体系结构的处理器,- 3 -除了具有 ARM 体系结构的共同特点以外,每一个系列的 ARM微处理器都有各自的特点和应用领域。 ARM7 系列 ARM9 系列 ARM9E 系列 ARM10E 系列 SecurCore 系列 Inter 的 Xsca
14、le Inter 的 StrongARM 其中,ARM7、ARM9、ARM9E 和 ARM10 为 4 个通用处理器系列,每一个系列提供 一套相对独特的性能来满足不同应用领域的需求。SecurCore 系列专门为安全要求较高的应用而设计。三. 基于 ARM920T的嵌入式实时时钟控制系统设计(一)实时时钟在嵌入式系统中的作用在一个嵌入式系统中,实时时钟单元可以提供可靠的时钟,包括时分秒和年月日;即使在系统处于关机状态下,它也能正常工作(通常采用后备电池供电) ,它的外围也不需要太多的辅助电路,典型的就是只需要一个高精度的晶振。(二)S3C2410 的实时时钟单元- 4 -如图 15-1 为 S
15、3C2410 的实时时钟框图。它具有以下特点:(1)时钟数据采用 BCD 编码; (2)能够对闰年的年月日进行自动处理; (3)具有告警功能,当系统处于关机状态时,能产生告警中断; (4)无 2000 年问题; (5)具有独立的电源输入; (6)提供毫秒级时钟中断,该中断可用作嵌入式操作系统的内核时钟。(1)控制寄存器(2)告警控制寄存器- 5 -(3)实时时钟计数器(4)告警时间寄存器- 6 -(三) 设计实现 本实验测试 S3C2410 的实时时钟功能,主要为时钟滴答功能测试。 时钟滴答功能测试: a首先需设置 TICK 的周期,在例程中设置的是 1 秒,并打开 TIME TICK 中断。
16、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)=seg7tablel
17、ed_index led_index+; c输入当前时间,并通过串口显示时间的运行情况 设置当前时间,即向各个寄存器赋初值: rRTCON=0x01; rBCDYEAR=p_date-year; - 7 -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_Pri
18、ntf (“rn” ); While (1) /*每隔 1 秒更新一次数据*/ if (old_index!=led_index) rtc_get_data ( old_index=led_index; /*实时时钟数据为 BCD 码格式,以 16 进制显示*/ Uart_Printf (“r%02x: %02x: %02x”,m_date.hour,m_date.min,m_date.sec ); ;(四) 设计过程硬件连接: (1) 关闭系统电源; (2)串口线:用一根串口线连接 PC 机的 COM1 和 2410RP 实验箱的 RS232-0 接口; 并口线:仿真器通过并口线连到 PC
19、机的并口; 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
20、.c,MAIN.C, mmu.c, 2410RTC.c; - 8 -文件说明: 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-34编译 RTC; 5运行超级终端,选择正确的串口号,并将串口设置为:波特率(115200) 、奇偶校