- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 第11章 S3C2440 ARM处理器 * * 11.1 S3C2440的体系结构 S3C2440使用了ARM920T的内核结构,其实现了如下左图所示的MMU、AMBA总线和哈佛结构的高速缓冲体系结构,这一结构具有独立的16KB指令高速缓存和16KB数据高速缓存。 S3C2440芯片内部集成了如上右图所示。 * * 11.2 S3C2440的外部引脚 S3C2440采用了如下图所示的289引脚的FBGA封装,引脚定义可以参考具体的芯片手册,这些引脚可以按照如表11.1所示(具体内容详见教材)的功能进行分组。 * * 11.3 S3C2440的硬件模块 11.3.1 存储器控制模块 11.3.2 NAND FLASH控制器 11.3.3 时钟和电源管理模块 11.3.4 输入输出端口 11.3.5 定时器和PWM模块 11.3.6 中断控制器模块 11.3.7 实时时钟(RTC)模块 11.3.8 UART模块 11.3.9 I2C总线接口模块 11.3.10 SPI总线接口模块 11.3.11 其他模块 * * 11.3.1存储器控制模块 S3C2440的存储器控制模块提供了为了访问外部存储器的控制信号,其提供了S3C2440访问外部存储器所需要的控制信号,分为8个Banks,最大寻址地址空间为1GB字,其具有以下特点,其内部结构如下图所示。 * * 11.3.2 NAND FLASH控制器 典型的S3C2440嵌入式系统和会在NAND FLASH中执行引导代码,而在SDRAM中执行主代码,S3C2440内置了一个命名为“SteppingStone”的SRAM缓冲器,在系统引导启动的时将会把NAND FLASH存储中开始4K字节的内容加载到其中并且执行,这些引导代码通常会把NAND FLASH的内容复制到SDRAM中执行,这个过程如下左图所示。 S3C2440的NAND FLASH控制器模块结构如上右图所示, * * 11.3.3时钟和电源管理模块 S3C2440的时钟和电源模块由时钟控制、电源控制和USB控制三部分组成,其通过使用时钟控制寄存器(CLKCON,0x4C00 000C)、时钟慢速控制寄存器(CLKSLOW,0x4C000 0010)等对其进行控制。 1. 时钟控制 S3C2440的时钟控制逻辑提供了两个锁相环(MPLL和UPLL),一个用于提供各个模块提供时钟信号,一个用于给USB控制模块提供48MHz的固定信号。 2. 电源控制 S3C2440的电源控制模块主要用于给芯片提供电源不同的电源管理方案以保证在性能和功耗中进行平衡,其提供了普通、慢速、空闲和睡眠四种模式,可以在对应的寄存器位的控制下进行切换。 3. USB控制 S3C2440的USB主机和设备接口都需要48MHz的时钟作为驱动,其通过锁相环(UPLL)来提供对应的信号。 4. 时钟源及其控制 S3C2440的主时钟源可以来自外部晶体或外部时钟(晶振),其时钟模块包括了一个可以连接到外部晶体的振荡器,通过模式控制引脚(OM2和OM3)可以在引导启动时候选择使用的时钟源 * * 11.3.4 输入输出端口 S3C2440提供了130多个多功能输入输出端口,其可以分为8组,说明如表11.6所示(详见教材),其中每个端口都按照用户的目标需求使用软件进行配置。 1. 端口A(GPA) 2. 端口B(GPB) 3. 端口C(GPC) 4. 端口D(GPD) 5. 端口E(GPE) 6. 端口F(GPF) 7. 端口G(GPG) 8. 端口H(GPH) 9. 端口J(GPJ) 10. 输入输出端口的其他寄存器 (上述1~10点内容详见教材) * * 11.3.5定时器和PWM模块 S3C2440内部有5个16位的定时器(Timer),其中定时器0~3具有脉宽调制(PWM)功能,且都具有对外的输出引脚(对应GPB0~GPB3的第三功能),而定时器4是一个无输出引脚的内部定时器。 1. 定时器和PWM模块的分频器和寄存器 (具体内容详见教材) 2. 自动重载和双缓冲 (具体内容详见教材) 3. 定时器操作 (具体内容详见教材) 4. 脉宽调制 (具体内容详见教材) * * 11.3.6中断控制器模块 S3C2440的中断控制器模块可以接受来自如DMA模块、UART模块、I2C总线接口模块等内部外设或者外部中断请求引脚(EINT0~INT24)给出的最多60个中断源的请求,当从内部外设和外部中断请求引脚收到多个中断请求时,S3C2440的中断控制器在仲裁步骤后会请求ARM处理器内核的外部中断请求(IRQ)或快速中断请求(FIQ),然后仲裁步骤由硬件
您可能关注的文档
- 嵌入式Linux C语言程序设计基础教程第6章 数组.pptx
- 嵌入式Linux C语言程序设计基础教程第7章 指针.pptx
- 嵌入式Linux C语言程序设计基础教程第8章 函数.ppt
- 嵌入式Linux C语言程序设计基础教程第9章 用户自定义数据类型.ppt
- 嵌入式Linux C语言程序设计基础教程第10章 嵌入式C语言的高级用法.ppt
- 嵌入式Linux C语言程序设计基础教程第11章 嵌入式linux内核常见数据结构.ppt
- 嵌入式Linux C语言开发第1章 嵌入式linuxC语言开发工具.ppt
- 嵌入式Linux C语言开发第3章 嵌入式Linux C高级用法.ppt
- 嵌入式Linux C语言开发第4章 嵌入式linux内核常见数据结构.ppt
- 嵌入式Linux C语言开发第5章 嵌入式Linux文件操作.ppt
文档评论(0)