1 / 67

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

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

chesna
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.4 S3C44B0/ S3C2410时钟电源管理 • S3C44B0的电源管理有五种模式:正常模式,低速模式,空闲模式,停止模式和LCD的SL空闲模式。 • S3C2410的电源管理模块有四种活动模式:正常模式,低速模式,休眠模式和断电模式。

  5. 9.4.1 S3C44B0/ S3C2410时钟管理 • 1.时钟结构: • S3C44B0的时钟发生器模块

  6. S3C2410的时钟发生器模块 • 见教材《ARM嵌入式系统结构与编程》第241页9-20

  7. 2.时钟源的选择: • 控制模式引脚(OM3和OM2)与S3C44B0/S3C2410时钟源选择的结合关系如表9-18所示。OM[3:2]状态通过查阅OM3和OM2引脚在nRESET上升沿时的值内部锁存的。

  8. 3.PLL(锁相环) • 内置时钟发生器的S3C44B0 PLL/ S3C2410MPLL是一个以频率与相位输入信号的基准的同步输出信号的电路。

  9. 4.上电复位: • 晶振开始振荡数毫秒后,当S3C44B0OSC(S3C2410: XTlpll)时钟稳定后nRESET得到释放,PLL开始根据默认的PLL配置进行运作。 • PLL在上电复位后变得不稳定,所以Fin代替Fpllo(S3C2410: Mpll)在S/W(S3C2410: 软件)更新PLLCON的配置前直接反馈到Fout。 • 用户在复位后想使用PLLCON寄存器的默认值,也需要通过S/W(S3C2410: 软件)写入相同的值给PLLCON寄存器。

  10. 上电复位时钟锁定

  11. 在正常模式下的操作,如果用户希望通过写PMS值的方法改变频率,PLL锁定时间会自动写入。在锁定时间里,时钟不支持内部模块。

  12. 9.4.2 S3C44B0/ S3C2410电源管理 • S3C44B0/ S3C2410电源管理模块通过控制系统时钟,实现减少系统的电源功耗。 • S3C44B0的方法与PLL,时钟控制逻辑,外设时钟控制以及唤醒信号相关。

  13. S3C44B0 电源管理状态机

  14. S3C2410 电源管理状态机

  15. 9.4.3 S3C44B0/ S3C2410时钟与电源管理专用寄存器 • 锁时计数寄存器LOCKTIME 、PLL配置寄存器 、时钟控制寄存器(CLKCON) 、低速时钟控制寄存器(CLKSLOW) 详细描述信息见教材《ARM嵌入式系统结构与编程》第246-250页

  16. 9.5 S3C44B0/ S3C2410通用 I/O端口 • S3C44B0有71个多功能输入/输出引脚。有如下7个端口: • 两个9位输入/输出端口(端口E 和F) • 两个8位输入/输出端口(端口D 和G) • 一个16位输入/输出端口(端口C) • 一个10位输入/输出端口(端口A) • 一个11位输入/输出端口(端口B)

  17. S3C2410有117个多功能输入/输出引脚。有如下8个端口:S3C2410有117个多功能输入/输出引脚。有如下8个端口: • 端口A(GPA):23位输出端口 • 端口B(GPB):11位输入/输出端口 • 端口C(GPC):16位输入/输出端口 • 端口D(GPD):16位输入/输出端口 • 端口E(GPE):16位输入/输出端口 • 端口F(GPF):8位输入/输出端口 • 端口G(GPG):16位输入/输出端口 • 端口H(GPH):11位输入/输出端口

  18. 9.5.1端口控制描述 • 1.端口配置寄存器 • 在S3C44B0和S3C2410中,大多数引脚是复合式的。所以,需要决定每个引脚所选择的功能。端口控制寄存器决定每个引脚的功能。 • 在S3C44B0中,如果PG0-PG7用于在掉电模式下的唤醒信号,这些端口需要配置成中断模式。 • 在S3C2410中,如果GPF0-GPF7和GPG0-GPG7用于断电模式下的唤醒信号,这些端口必须配置能中断模式。

  19. 2.端口数据寄存器 • 如果这些端口被配置成输出端口,数据可以从相应的位被写入。如果端口被配置成输入端口,数据可以从相应的位读出。

  20. 3.端口上拉寄存器 • 端口上拉寄存器控制每个端口组的上拉电阻使能/禁止。当相应的位置0,引脚的上拉电阻被使能。为1时,上拉电阻被禁止。

  21. 4.外部中断控制寄存器 • S3C44B0 的8个外部中断与S3C2410的24个外部中断通过多种信号方法被请求。

  22. 9.5.2 端口控制寄存器 • 1.S3C44B0端口寄存器 • (1)端口A寄存器(PCONA,PDATA)

  23. 端口C控制寄存器(PCONC,PDATC,PUPC)

  24. 专用上拉电阻控制寄存器(SPUCR) • 在停止/SL空闲模式,数据总线(D[31:0]或者D[15:0])在高阻态。但是,因为IO引脚的特性,数据总线上拉电阻被启用,以减少在停止/SL空闲模式上的电源消耗。D[31:16]引脚上拉电阻可以被PUPC寄存器控制。D[15:0]引脚上拉电阻可以通过SPUCR寄存器进行控制。 • 在停止模式,存储器控制信号可以被选为高阻态或原状态,以防止通过设置SPUCR寄存器的HZ@STOP域而导致存储器故障。

  25. 外部中断控制寄存器(EXTINT)

  26. 外部中断挂起寄存器(EXINTPND) • 外部中断请求(4,5,6,7)是‘或’关系,提供一个中断信号给中断控制器。 • ENIT4,ENIT5,ENIT6和ENIT7在中断控制器中共享相同的中断请求线(EINT4/5/6/7)。

  27. 2. S3C2410端口寄存器 • 端口B寄存器(GPBCON, GPBDAT, GPBUP)

  28. S3C44B0和S3C2410其它端口寄存器详细信息见教材《ARM嵌入式系统结构与编程》第九章的9.5.2节的说明S3C44B0和S3C2410其它端口寄存器详细信息见教材《ARM嵌入式系统结构与编程》第九章的9.5.2节的说明

  29. 9.5.3 通用I/O接口设计实例 • LED与蜂鸣器接口电路 • S3C44B0的端口A的第0、1、2、3管脚分别与LED相连,端口E的第0管脚用来控制蜂鸣器。

  30. 控制编程实现 • 根据LED的硬件电路图,实现LED的循环闪烁:{LED1亮 延时,LED4灭}-> {LED2亮 延时,LED1灭}->{ LED3亮 延时,LED2灭}->{ LED4亮 延时,LED3灭}->{ 蜂鸣器开 延时,蜂鸣器关},如此无限循环,实现LED霓虹灯式的循环闪烁 。

  31. 9.6 S3C44B0/S3C2410中断机制 • 中断是CPU在程序运行过程中,被内部或外部的事件所打断,转去执行一段预先安排好的中断服务程序,中断服务程序执行完毕后,又返回原来的断点,继续执行原来的程序。 • S3C44B0/S3C2410内部集成了中断控制器,能够管理多个中断源。

  32. 9.6.1 S3C44B0中断控制器 • 1.中断源 • S3C44B0中断控制器可以管理30个中断源

  33. 2.中断优先级产生模块

  34. S3C44B0向量中断与非向量中断 • 非向量中断方式 • 中断源产生中断后,从0x18 处取指执行 • 向量中断方式 • 中断源产生中断后,跳转到0x18 处,但由处理器识别中断后自动填充总线,并忽略0x18 处指令,执行总线上新的指令 0x18 中断服务入口 0x18 中断服务入口

  35. 启动 --- 中断响应 26个中断源 IRQs 中断 向量中断 INTCON V= 0 非向量中断 INTCON V= 1 地址映射中断控制器 读取I_ISPR寄存器 计算偏移(R8) EINT0/1/2 ……PowerDown EINT0/1/2 ……PowerDown 中断服务入口地址表

  36. 9.6.2 S3C2410中断控制器 • S3C2410提供56个中断源,如表9-50所示。当中断源提出中断服务请求后,中断控制器经过仲裁之后再请求ARM920T核的FIQ或IRQ中断。

More Related