html5-img
1 / 51

大连理工大学软件学院 邱铁 办公楼 409 Tel : 87571521 E_mail: qiutie@dlut

ARM 嵌入式系统结构与编程. 大连理工大学软件学院 邱铁 办公楼 409 Tel : 87571521 E_mail: qiutie@dlut.edu.cn 参考教材: 《ARM 嵌入式系统结构与编程 》 清华大学出版社 2009 年 3 月出版.

thyra
Download Presentation

大连理工大学软件学院 邱铁 办公楼 409 Tel : 87571521 E_mail: qiutie@dlut

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ARM嵌入式系统结构与编程 • 大连理工大学软件学院 邱铁 办公楼409 Tel:87571521 E_mail: qiutie@dlut.edu.cn 参考教材:《ARM嵌入式系统结构与编程》 清华大学出版社2009年3月出版

  2. S3C44B0是基于ARM7TDMI架构的,S3C2410是基于ARM920T架构的。当前,这两款芯片在嵌入式开发领域广泛应用。本章主要介绍S3C44B0和S3C2410的硬件资源和整体架构,对其存储控制器、NAND Flash控制原理、时钟电源管理、通用I/O接口和中断控制器作了详细介绍,并通过一定的实例来加深读者对关键技术的理解。 第9章S3C44B0/S3C2410硬件结构与关键技术分析

  3. 内容提要 • 9.1 处理器简介 • 9.2 S3C44B0/ S3C2410存储控制器 • 9.3 S3C2410 NAND Flash控制器 • 9.4 S3C44B0/ S3C2410时钟电源管理 • 9.5 S3C44B0/ S3C2410通用 I/O端口 • 9.6 S3C44B0/S3C2410中断机制

  4. 9.1 处理器简介 • S3C44B0 和 S3C2410为手持设备和普通应用提供了低成本、低功耗、高性能微控制器的解决方案。 • 为了降低整个系统的成本,S3C44B0 和S3C2410分别提供了很多内置功能部件,大大缩短了工程应用的开发周期。

  5. 9.1.1 S3C44B0微控制器 • 带8KB Cache的ARM7TDMI核。 • 内置系统存储控制器(片选逻辑,支持ROM、SRAM、Flash、FP/EDO/SDRAM)。 • LCD控制器(支持256色的STN,集成1个DMA控制器)。 • 2个通用DMA控制器(ZDMA)/2个外围DMA控制器(BDMA)。 • 2个带硬件握手的UART控制器(符合550标准)/1个SIO。 • 1个支持多主设备的I2C控制器。 • 1个IIS总线控制器。

  6. 5个PWM定时器和1个内部定时器。 • 看门狗定时器Watch Dog。 • 71个通用可编程的I/O口和8个外部中断源。 • 具有8通道输入的10位ADC。 • 具有日历功能的实时时钟RTC。 • 功率控制模式:Nomal、Slow、Idle和Stop。 • 带锁相环PLL的片内时钟发生器。

  7. S3C44B0内部结构下页图所示(教材《ARM嵌入式系统结构与编程》217页图9-1),它采用了ARM7TDMI 内核,0.25um 工艺的CMOS 标准宏单元和存储编译器以及一种新的总线结构SAMBAII(三星ARM CPU 嵌入式微处理器总线结构)。 • ARM7TDMI 体系结构的特点是它集成了Thumb 代码压缩器,片上的ICE断点调试支持和一个32 位的硬件乘法器。

  8. 9.1.2 S3C2410微控制器 • 与S3C44B0相比,基于ARM920T核架构的微控制器S3C2410具有更强大的功能,如图9-2 (教材《ARM嵌入式系统结构与编程》218页)所示,其主要特点如下: • 独立的16KB指令Cache和16KB数据Cache。 • 系统存储控制器(片选逻辑,支持ROM、SRAM、Flash、FP/EDO/SDRAM)。 • LCD控制器(支持STN,TFT液晶显示屏,集成1个DMA控制器)。 • 内置系统存储控制器(片选逻辑,支持ROM、SRAM、Flash、FP/EDO/SDRAM)。 • NAND Flash控制器 。

  9. 4个通道的DMA,支持存储器与IO之间的数据直接传输。4个通道的DMA,支持存储器与IO之间的数据直接传输。 • 3个带硬件握手的UART控制器。 • 1个支持多主设备的I2C控制器。 • 1个IIS总线控制器。 • 2个SPI接口 • 2个USB主机接口,1个USB设备接口。 • SD卡接口和MMC接口。 • 4个具有PWM功能的16位定时/计数器和1个16位内部定时器,支持外部的时钟源。

  10. 看门狗定时器Watch Dog。 • 117个通用可能编的I/O口和24个外部中断源。 • 具有8通道输入的10位ADC。 • 具有日历功能的实时时钟RTC。 • 功率控制模式:Nomal、Slow、Idle和Stop。 • 带锁相环PLL的片内时钟发生器。

  11. 9.2 S3C44B0/ S3C2410存储控制器 • 存储器是嵌入式系统的重要组成部分,在嵌入式开发中,扩展存储器是重要的一步。S3C44B0和S3C2410的存储器控制器提供访问外部存储器所需要的存储器控制信号,便于扩展外部存储器。

  12. 9.2.1 S3C44B0存储控制与地址空间 • 存储格式小/大端选择

  13. 地址空间分布

  14. S3C44B0的Bank6/7地址分布

  15. 9.2.2 S3C2410存储控制与地址空间 • 地址空间分布

  16. S3C2410的Bank6/7地址分布

  17. 9.2.3 S3C44B0/ S3C2410存储位宽控制 • S3C44B0/S3C2410存储器数据宽度选择

  18. 9.2.4 S3C44B0/ S3C2410存储器接口时序分析 • 1.管脚时序分析 • (1)S3C2410 nWAIT引脚操作:

  19. (2)S3C2410 nXBREQ/nXBACK 引脚操作:

  20. (3)S3C2410nGCS引脚时序如图9-7所示

  21. (4)S3C2410 • SDRAM引脚时序 • 见教材《ARM嵌入式系统结构与编程》224页图9-8

  22. 2.S3C44B0/S3C2410存储器接口

  23. ROM接口 • 4片8位ROM存储器接口

  24. 16位ROM存储器接口

  25. SDRAM接口 • 单片16位 SDRAM存储器接口

  26. 2片16位 SDRAM 存储器接口

  27. 9.2.5 S3C44B0/ S3C2410存储控制寄存器 • 总线宽度和等待控制寄存器(BWSCON) • 详细信息见教材《ARM嵌入式系统结构与编程》227页表9-6

  28. 2.总线控制寄存器 • (1)(BANKCONn:nGCS0-nGCS5): • 总线控制寄存器BANKCON0~ BANKCON5位信息如表9-7所示。详细信息见教材227页表9-7

  29. BANK控制寄存器(BANKCONn :nGCS6-nGCS7): • 总线控制寄存器BANKCON6、BANKCON7位信息如表9-8所示。 • 详细信息见教材《ARM嵌入式系统结构与编程》229页表9-8

  30. 3.刷新控制寄存器(REFRESH) • 刷新控制寄存器REFRESH位信息如表9-9所示。 • 详细信息见教材《ARM嵌入式系统结构与编程》230页表9-9

  31. 4.BANKSIZE 寄存器(BANKSIZE) • BANKSIZE 寄存器位信息如表9-10所示。 • 详细信息见教材《ARM嵌入式系统结构与编程》231页表9-10

  32. 9.2.6 SDRAM接口电路设计 • SDRAM的行地址线和列地址线是分时复用的,也就是地址线要分两次送出,先送行地址线,再送列地址线。 • HY57V561620是现代公司生产的容量为32MB(4M x 16bit x 4Bank)的SDRAM

  33. HY57V561620内部原理

  34. S3C2410与HY57V561620的接口电路如图9-12所示 .详细信息见教材《ARM嵌入式系统结构与编程》233页表9-12

  35. 9.2.7 S3C44B0存储器初始化实例 • 使用一条STM指令完成13个控制寄存器的初始化。 • LDR R0, =SMRDATA • LDMIA R0, {R1-R13} • LDR R0, =0x01C80000 ; BWSCON 寄存器地址 • STMIA R0, {R1-R13} • SMRDATA DATA • DCD 0x22221210 ; BWSCON • DCD 0x00000600 ; GCS0 • DCD 0x00000700 ; GCS1 • DCD 0x00000700 ; GCS2 • DCD 0x00000700 ; GCS3

  36. DCD 0x00000700 ; GCS4 • DCD 0x00000700 ; GCS5 • DCD 0x0001002A ; GCS6, EDO DRAM(Trcd=3, Tcas=2, Tcp=1, CAN=10bit) • DCD 0x0001002A ; GCS7, EDO DRAM • DCD 0x00960000 + 953 ; Refresh(REFEN=1, TREFMD=0, Trp=3, Trc=5, Tchr=3) • DCD 0x0 ; Bank Size, 32MB/32MB • DCD 0x20 ; MRSR 6(CL=2) • DCD 0x20 ; MRSR 7(CL=2)

  37. 9.3 S3C2410 NAND Flash控制器 • NAND Flash结构强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口进行升级。 • NAND Flash则是高数据存储密度的理想解决方案。 

  38. 9.3.1 S3C2410 NAND Flash控制器原理 • S3C2410 的启动代码可以在NOR Flash中运行。 • 为了支持NAND Flash 启动方式,S3C2410内置了一个SRAM缓冲区,叫做“SteeppingStone”。 • 当系统启动时,Steppingstone 内的代码会被执行。通常,启动代码会从NAND Flash 拷贝到SDRAM。

  39. NAND flash控制模块

  40. NAND Flash实现机制

  41. S3C2410在用NAND启动时,要对NAND Flash进行配置。 • 首先OM[1:0] = 00b来 使能NAND Flash控制器的自启动模式,NAND Flash的存储器页大小应为 521字节,设置NCON对NAND Flash内存地址步进选择。

  42. 9.3.2专用功能寄存器 • NAND Flash配置寄存器(NFCONF) 、命令设置寄存器(NFCMD) 、数据寄存器(NFDATA) 、操作状态寄存器(NFSTAT) 、 ECC寄存器(NFECC) 的功能描述见教材《ARM嵌入式系统结构与编程》235页-237页

  43. 9.3.3典型NAND flash芯片 • K9F5608是Samsung半导体生产的NAND flash芯片

  44. NAND Flash接口电路

  45. K9F5608编程时序

  46. 第9章S3C44B0/S3C2410硬件结构与关键技术分析 上半部分完

More Related