第6章总线系统

上传人:今*** 文档编号:107376593 上传时间:2019-10-19 格式:PPT 页数:22 大小:1.19MB
返回 下载 相关 举报
第6章总线系统_第1页
第1页 / 共22页
第6章总线系统_第2页
第2页 / 共22页
第6章总线系统_第3页
第3页 / 共22页
第6章总线系统_第4页
第4页 / 共22页
第6章总线系统_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《第6章总线系统》由会员分享,可在线阅读,更多相关《第6章总线系统(22页珍藏版)》请在金锄头文库上搜索。

1、1,第6章 总线系统,Cortex-M3处理器使用一个 3级流水线。流水线的3个级分别是:取指,解码和执行。 读取PC时,会返回当前指令地址+4的值。这个偏移量总是4,不管是执行16位指令还是32位指令,这就保证了在Thumb和Thumb2之间的一致性。,2,6.1流水线,3,6.2 系统框图,4,6.2 系统框图,CM3Core:Cortex-M3处理器的中央处理核心 嵌套向量中断控制器NVIC:NVIC是一个在CM3中内建的中断控制器。中断的具体路数由芯片厂商定义。NVIC是与CPU紧耦合的,它还包含了若干个系统控制寄存器。NVIC还采用了向量中断的机制。在中断发生时,它会自动取出对应的服

2、务例程入口地址,并且直接调用,无需软件判定中断源,缩短中断延时。 SysTick定时器:系统定时器是一个非常基本的倒计时定时器,用于在每隔一定的时间产生一个中断,即使是系统在睡眠模式下也能工作。它使得OS在各CM3器件之间的移植中不必修改系统定时器的代码,移植工作一下子容易多了。SysTick定时器也是实现在NVIC内部的。,5,6.2 系统框图,存储器保护单元:MPU是一个选配的单元,如果有,则它可以把存储器分成一些 regions,并分别予以保护。例如,它可以让某些 regions 在用户级下变成只读,从而阻止了一些用户程序破坏关键数据。 BusMatrix:BusMatrix是CM3内部

3、总线系统的核心。它是一个AHB互连的网络,通过它可以让数据在不同的总线之间并行传送(只要两个总线主机不试图访问同一块内存区域)。BusMatrix还提供了附加的数据传送管理设施,包括一个写缓冲以及一个按位操作的逻辑。 AHB to APB Bridge:是一个总线桥,用于把若干个APB设备连接到CM3处理器的私有外设总线上。这些 APB设备常见于调试组件。CM3还允许芯片厂商把附加的APB设备挂在这条APB总线上,并通过APB接入其外部私有外设总线。,6,6.2 系统框图,SW-DP/SWJ-DP:串行线调试端口(SW-DP)/串口线JTAG调试端口(SWJ-DP)都与AHB 访问端口(AHB

4、-AP)协同工作,以使外部调试器可以发起AHB上的数据传送,从而执行调试活动。SWJ-DP支持串行线协议和JTAG协议,而SW-DP只支持串行线协议。 AHB-AP: AHB访问端口通过少量的寄存器,提供了对CM3所有存储器的访问机能。该功能块由SW-DP/SWJ-DP通过一个通用调试接口(DAP)来控制。当外部调试器需要执行动作的时候,就要通过SW-DP/SWJ-DP来访问AHB-AP,再由AHB-AP产生所需的AHB数据传送。,7,6.2 系统框图,嵌入式跟踪宏单元ETM:一个选配件,ETM用于实现实时指令跟踪,ETM的控制寄存器是映射到主地址空间上的,因此调试器可以通过DAP来控制它。

5、数据观察点及跟踪单元DWT:通过DWT,可以设置数据观察点。当一个数据地址或数据的值匹配了观察点时,就说产生了一次匹配命中事件。匹配命中事件可以用于产生一个观察点事件,后者能激活调试器以产生数据跟踪信息,或者让ETM联动。 仪器化跟踪宏单元ITM:软件可以控制该模块直接把消息送给TPIU;还可以让DWT匹配命中事件通过ITM产生数据跟踪包,并把它输出到一个跟踪数据流中。,8,6.2 系统框图,跟踪端口的接口单元TPIU:TIPU用于和外部的跟踪硬件(如跟踪端口分析仪)交互。在 CM3 的内部,跟踪信息都被格式化成“高级跟踪总线(ATB)包”,TPIU 重新格式化这些数据,从而让外部设备能够捕捉

6、到它们。 FPB:FPB提供flash地址重载和断点功能。Flash地址重载是指:当CPU访问某条指令时,若该地址在FPB中“挂了号”,则将把该地址重映射到另一个地址,后者亦在编程FPB时指出。结果,实际上是从映射过的地址处取指。此外,匹配的地址还能用来触发断点事件。Flash地址重载功能对于测试工作太有用了。例如,通过使用FPB来改变程序流程,就可以给那些不能在普通情形下使用的设备添加诊断程序代码。,9,6.2 系统框图,ROM表:它只是一个简单的查找表。提供了存储器的“注册”信息,这些信息指出,在这块CM3芯片中包括了哪些系统设备和调试组件,以及它们的位置。当调试系统定位各调试组件时,它需

7、要找出相关寄存器在存储器中的地址,这些信息由此表给出。,10,6.2 系统框图,CM3 处理器的总线接口是基于 AHB-Lite 和 APB 协议的。 I-Code总线: I-Code 总线是一条基于 AHB-Lite 总线协议的 32 位总线,负责在 0x0000_0000 0x1FFF_FFFF 之间的取指操作。取指以字的长度执行,即使是对于 16 位指令也如此。因此 CPU 内核可以一次取出两条 16 位 Thumb 指令。,11,6.3 总线接口,D-Code总线 : D-Code 总线也是一条基于 AHB-Lite 总线协议的 32 位总线,负责在 0x0000_0000 0x1FF

8、F_FFFF 之间的数据访问操作。处理器的总线接口会把非对齐的数据传送都转换成对齐的数据传送。连接到 D-Code 总线上的任何设备都只需支持 AHB-Lite 的对齐访问,不需要支持非对齐访问。,12,6.3 总线接口,系统总线 : 一条基于 AHB-Lite 总线协议的 32 位总线,负责在 0x2000_0000 0xDFFF_FFFF 和 0xE010_0000 0xFFFF_FFFF 之间的所有数据传送,取指和数据访问都算上。和 D-Code 总线一样,所有的数据传送都是对齐的。,13,6.3 总线接口,外部私有外设总线: 基于 APB 总线协议的 32 位总线。此总线来负责 0xE

9、004_0000 0xE00F_FFFF 之间的私有外设访问。鉴于此 APB 存储空间的一部分已经被 TPIU、ETM 以及 ROM 表用掉了,就只留下了 0xE004_2000-E00F_F000 这个区间用于配接私有外设。,14,6.3 总线接口,调试访问端口总线 : 调试访问端口总线接口是一条基于“增强型 APB 规格”的 32 位总线,它专用于挂接调试接口,例如 SWJ-DP 和 SW-DP。,15,6.3 总线接口,其它接口:这些接口的信号都不大可能会引出到引脚上,而只用于连接 SoC 不同的部分。,16,6.3 总线接口,外部 PPB 接口是基于高级外设总线(APB)协议构造的。用

10、于非共享的系统设备,例如调试组件。 为了支持 CoreSight 设备,该接口又包含了称为 “PADDR31”的信号,给出传送的发源地。若该信号为 0,则表示是运行在 CM3 内部的软件产生了传送操作;若为 1,则表示是调试硬件产生了传送操作。 该总线是专用的,不服务于普通的外设。,17,6.4 外部私有外设总线(PPB),外部 PPB 不支持非对齐访问(因为该总线的宽度是 32 位并且是基于 APB 的,当你在为该存储区域设计外设时,必须确保所有的寄存器地址都是按字对齐的)。 在编写这些设备的驱动程序时,最好让所有的访问都使用字的长度。PPB 访问永远是小端的。,18,6.4 外部私有外设总

11、线(PPB),19,6.5 连接方式模型,由于代码存储区既可以由指令指令总线(I-Code)访问(当从此区取指时),也可以被数据总线(D-Code)访问(当在此区访问数据时),需要在中间插入一个总线开关,称为“总线矩阵”;或者使用一个AHB总线复用器。 如果使用了总线矩阵,则闪存和附加的 SRAM(如果有的话)可以被 I-Code和D-Code访问。总线矩阵可以在ARM的AMBA开发包ADK(ADK,AMBA组件和示例系统的集合,使用VHDL/Verilog编写)中提供。,20,6.5 连接方式模型,通常的 CM3 单片机都使用系统总线来连接 SRAM。而且主 SRAM 确实应该使用系统总线来连接。只有这样才能落到 SRAM 存储器的地址区,从而得以利用 CM3 的位带操作能力。 有些脚数比较多的单片机会带外部总线接口(EMI)。这种情况下,需要一个外部存储器控制器,因为AHB不接受直接把片外存储器挂在它上面,通常外部存储器控制器也连接到系统总线上。 其它的AHB设备则可以简单地连接到系统总线上,而不需要额外的总线矩阵。,21,6.5 连接方式模型,基于CM3的单片机对复位电路有特定的要求,它有若干个可以使用的复位信号,往往只用到了1至2个。,22,6.6 复位信号,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号