苏大arm cortex-m4kinetis光盘sd fsl k60分章阅读ch17中文_第1页
苏大arm cortex-m4kinetis光盘sd fsl k60分章阅读ch17中文_第2页
苏大arm cortex-m4kinetis光盘sd fsl k60分章阅读ch17中文_第3页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 17 章 交叉开关(AXBS)17.1 简介注意:模块的特定的实现细节见配置章节。本章内容包括交叉开关布局、配置和编程信息。交叉开关使用交叉开关结构连接总线主机和总线从机。此结构允许所有总线主机同时不同的总线从机,当同一个从机时多个主机之间有一个仲裁机制。多种总线仲裁方法及属性均基于从机进行编程。17.1.1 特性交叉开关包含如下特性:对称交叉总线开关的实现允许同时从多个主机到多个从机的从机仲裁属性基于从机进行配置32 位宽并支持 1 字节、2 字节、4 字节和 16 字节突发传输总线主机工作在 1 对 1 时钟频率下支持低电压停止模式17.2器/寄存器定义每个交叉开关的从机端口包含若干配

2、置寄存器。读和写传输需要两个总线时钟周期。只有在管理员模式下,寄存器才被进行 32 位的读写操作。或写入。另外,这些寄存器只能若在交叉开关中一个未定义的地址,则会返回一个总线错误。从机寄存器中有一位,当其置 1 时,则保护寄存器不被写入。寄存器还是可 读的,但是试图写入的操作是无效的并会返回一个总线错误到初始化写入的主机。例如,内核将会接收到一个总线错误中断。注意:这部分说明的是关于 8 个主机和从机端口的寄存器。若机或从机未被使用,则当写入到相应寄存器时会发生不可预期的中一个主。参见配置获得精确的关于主机/从机分配的配置内容。AXBS器绝对地址 (十六进 制)寄存器名位 宽(位)权限复位值章

3、节/页4000_4000从机优先级寄存器(AXBS_PRS0)32读/写7654_3210h17.2.1/3694000_4010控制寄存器(AXBS_CRS0)32读/写0000_0000h17.2.2/3724000_4100从机优先级寄存器(AXBS_PRS1)32读/写7654_3210h17.2.1/36917.2.1 从机优先级寄存器(Priority Registers Slave,AXBS_PRSn)优先级寄存器(PRSn)设置基于从机端口的每个主机端口的优先级。优先级寄存器只能进行 32 位的。在 CRSnRO置位之后,PRSn 寄存器只读;试图向 CRSnRO位执行写操作对

4、 PRSn 没有影响并产生一个总线错误给初始化写的主机。另外,不存在两个主机端口在编程时使用同样的优先级。试图分配两个或更多主机使用同样的优先级将导致一个总线错误响应并且不会更新 PRSn 的值。注意:PRSn 位域中可能的值取决于设备上主机的数量。参见于主机支持数量的部分。若设备包含少于 5 个主机,则值 000-011 有效,写其他值会产生错误。若设备包含 n 个主机且 n=5,则值 0 到 n-1 有效,写其他值会产生错误。配置中关4000_4110控制寄存器 (AXBS_CRS1)32读/写0000_0000h17.2.2/3724000_4200从机优先级寄存器 (AXBS_PRS2

5、)32读/写7654_3210h17.2.1/3694000_4210控制寄存器(AXBS_CRS2)32读/写0000_0000h17.2.2/3724000 4300从机优先级寄存器(AXBS PRS3)32读/写7654 3210h17.2.1/3694000_4310控制寄存器(AXBS_CRS3)32读/写0000_0000h17.2.2/3724000_4400从机优先级寄存器(AXBS_PRS4)32读/写7654_3210h17.2.1/3694000_4410控制寄存器(AXBS_CRS4)32读/写0000_0000h17.2.2/3724000_4500从机优先级寄存器(

6、AXBS_PRS5)32读/写7654_3210h17.2.1/3694000_4510控制寄存器(AXBS_CRS5)32读/写0000_0000h17.2.2/3724000 4600从机优先级寄存器(AXBS PRS6)32读/写7654 3210h17.2.1/3694000_4610控制寄存器(AXBS_CRS6)32读/写0000_0000h17.2.2/3724000_4700从机优先级寄存器(AXBS_PRS7)32读/写7654_3210h17.2.1/3694000_4710控制寄存器(AXBS_CRS7)32读/写0000_0000h17.2.2/3724000_4800

7、主机通用控制寄存器(AXBS_MGPCR0)32读/写0000_0000h17.2.3/3744000_4900主机通用控制寄存器(AXBS_MGPCR1)32读/写0000_0000h17.2.3/3744000 4A00主机通用控制寄存器(AXBS MGPCR2)32读/写0000 0000h17.2.3/3744000_4B00主机通用控制寄存器(AXBS_MGPCR3)32读/写0000_0000h17.2.3/3744000_4C00主机通用控制寄存器(AXBS_MGPCR4)32读/写0000_0000h17.2.3/3744000_4D00主机通用控制寄存器(AXBS_MGPCR

8、5)32读/写0000_0000h17.2.3/3744000_4E00主机通用控制寄存器(AXBS_MGPCR6)32读/写0000_0000h17.2.3/3744000_4F00主机通用控制寄存器(AXBS_MGPCR7)32读/写0000_0000h17.2.3/374AXBS_PRSn 位域描述位域描述31保留保留位,只读,值为 0。3028M7主机 7 优先级。为对应此从机端口的的主机端口设定仲裁优先级。当从机端口时,主机拥有级别 1(最高)优先级。当从机端口时,主机拥有级别 2 优先级。当从机端口时,主机拥有级别 3 优先级。当从机端口时,主机拥有级别 4 优先级。当从机端口时,

9、主机拥有级别 5 优先级。当从机端口时,主机拥有级别 6 优先级。当从机端口时,主机拥有级别 7 优先级。当从机端口时,主机拥有级别 8(最低)优先级。27保留保留位,只读,值为 0。2624M6主机 6 优先级。为对应此从机端口的的主机端口设定仲裁优先级。当从机端口时,主机拥有级别 1(最高)优先级。当从机端口时,主机拥有级别 2 优先级。当从机端口时,主机拥有级别 3 优先级。当从机端口时,主机拥有级别 4 优先级。当从机端口时,主机拥有级别 5 优先级。当从机端口时,主机拥有级别 6 优先级。当从机端口时,主机拥有级别 7 优先级。当从机端口时,主机拥有级别 8(最低)优先级。23保留保

10、留位,只读,值为 0。2220M5主机 5 优先级。为对应此从机端口的的主机端口设定仲裁优先级。当从机端口时,主机拥有级别 1(最高)优先级。当从机端口时,主机拥有级别 2 优先级。当从机端口时,主机拥有级别 3 优先级。当从机端口时,主机拥有级别 4 优先级。当从机端口时,主机拥有级别 5 优先级。当从机端口时,主机拥有级别 6 优先级。当从机端口时,主机拥有级别 7 优先级。当从机端口时,主机拥有级别 8(最低)优先级。19保留保留位,只读,值为 0。1816M4主机 4 优先级。为对应此从机端口的的主机端口设定仲裁优先级。当从机端口时,主机拥有级别 1(最高)优先级。当从机端口时,主机拥

11、有级别 2 优先级。当从机端口时,主机拥有级别 3 优先级。当从机端口时,主机拥有级别 4 优先级。当从机端口时,主机拥有级别 5 优先级。当从机端口时,主机拥有级别 6 优先级。当从机端口时,主机拥有级别 7 优先级。当从机端口时,主机拥有级别 8(最低)优先级。15保留保留位,只读,值为 0。1412M3主机 3 优先级。为对应此从机端口的的主机端口设定仲裁优先级。当从机端口时,主机拥有级别 1(最高)优先级。当从机端口时,主机拥有级别 2 优先级。当从机端口时,主机拥有级别 3 优先级。当从机端口时,主机拥有级别 4 优先级。当从机端口时,主机拥有级别 5 优先级。当从机端口时,主机拥有

12、级别 6 优先级。110 当从机端口时,主机拥有级别 7 优先级。111 当从机端口时,主机拥有级别 8(最低)优先级。17.2.2 控制寄存器(AXBS_CRSn)控制寄存器控制每个从机端口的一些特性,只能通过32 位操作。在CRSnRO位置 1 之后,CRSn 寄存器只读;试图向 CRSn 中写操作将无效并产生一个错误响应。11保留保留位,只读,值为 0。108M2主机 2 优先级。为对应此从机端口的的主机端口设定仲裁优先级。当从机端口时,主机拥有级别 1(最高)优先级。当从机端口时,主机拥有级别 2 优先级。当从机端口时,主机拥有级别 3 优先级。当从机端口时,主机拥有级别 4 优先级。

13、当从机端口时,主机拥有级别 5 优先级。当从机端口时,主机拥有级别 6 优先级。当从机端口时,主机拥有级别 7 优先级。当从机端口时,主机拥有级别 8(最低)优先级。7保留保留位,只读,值为 0。64M1主机 1 优先级。为对应此从机端口的的主机端口设定仲裁优先级。当从机端口时,主机拥有级别 1(最高)优先级。当从机端口时,主机拥有级别 2 优先级。当从机端口时,主机拥有级别 3 优先级。当从机端口时,主机拥有级别 4 优先级。当从机端口时,主机拥有级别 5 优先级。当从机端口时,主机拥有级别 6 优先级。当从机端口时,主机拥有级别 7 优先级。当从机端口时,主机拥有级别 8(最低)优先级。3

14、保留保留位,只读,值为 0。20M0主机 0 优先级。为对应此从机端口的的主机端口设定仲裁优先级。当从机端口时,主机拥有级别 1(最高)优先级。当从机端口时,主机拥有级别 2 优先级。当从机端口时,主机拥有级别 3 优先级。当从机端口时,主机拥有级别 4 优先级。当从机端口时,主机拥有级别 5 优先级。当从机端口时,主机拥有级别 6 优先级。当从机端口时,主机拥有级别 7 优先级。当从机端口时,主机拥有级别 8(最低)优先级。AXBS_CRSn 各段说明17.2.3 主机通用控制寄存器(AXBS_MGPCRn)MGPCR 只控制主机的未定义长度的突发是否能够被更高优先级的主机请求打断。MGPC

15、R是否被允许连续完成或它们只能在管理员模式下通过 32位操作进行。位域说明31RO只读强制从机端口的 CSRn 和 PRSn 寄存器只读。在置位之后,只有硬件复位可以将此位清 0。 0 从机端口寄存器可写1 从机端口只读不可写。试图写的操作将无效并产生一个错误响应。30HLP停止低优先级为低功耗模式请求设置初始化仲裁优先级。当它控制从机端口时,设置此位将不会为低功耗模式请求获得最高的优先级。从机端口的低功耗模式请求有最高仲裁优先级从机端口的低功耗模式请求有最低初始化仲裁优先级2910保留保留位,只读,值为 0。98ARB仲裁模式选择从机端口的仲裁策略固定优先级轮循优先级保留保留76保留保留位,

16、只读,值为 0。54PCTL停止控制决定从机端口的停止控制。若从机端口未全部使用,低功耗停止功能导致全面节能;但是,若当任何主机试图 未使用的从机端口,就需要强制额外的延迟时钟,因为它并不是在任何的主机上都停止。当没有主机请求时,仲裁停止与 PARK 位段定义的主机对应的从机端口当没有主机请求时,仲裁停止与控制从机端口的最近的主机对应的从机端口当没有主机请求时,从机端口不会停止,仲裁驱动所有输出为恒定的安全状态保留3保留保留位,只读,值为 0。20PARK停止当 PCTL 位被清 0,没有主机发出请求时,决定哪个主机端口上的从机端口停止。注意:只选择当前设备上的主机端口。否则,将产生未定义。主

17、机端口 M0 停止主机端口 M1 停止主机端口 M2 停止主机端口 M3 停止主机端口 M4 停止主机端口 M5 停止保留保留AXBS_MGPCRn 位域说明功能说明通用操作当主机交叉开关时,被立刻被处理。若的目标从机端口有效,则若从机端口立刻有效。交叉开关问有可能出现单个时钟或 0 等待状态。的目标从机端口正忙或被另一个主机停止,请求主机需要等待直到目标从机端口可以处理主机的请求。处理请求的延时取决于每个主机的优先级和对应外设的时间。由于交叉开关作为主机设备的从机,主机设备不知道它是否拥有目标从机端口。当主机没有从机端口的控制权时,它就进入等待状态。只有一个其他从机端口结束后,一个主机才获得

18、目标从机端口的控制权,而不考虑它对新从机端口的优先权。当出现以下情况时,会一个更高优先级主机有:对需要很长的响应时间的从机端口有拥有最高请求权限对于不同的从机端口可以挂起死锁发生:位域说明313保留保留位,只读,值为 0。20AULB对未定义长度突发进行仲裁当主机出现未定义长度的突发时,决定交叉开关是否和什么时候仲裁主机端口上的从机端口。在未定义长度的突发时,不允许仲裁在未定义长度的突发时,在任何时候都允许仲裁在未定义长度的突发4 节拍后,仲裁允许在未定义长度的突发8 节拍后,仲裁允许在未定义长度的突发16 节拍后,仲裁允许保留保留保留一个较低优先权的主机也可以像更高优先级主机的挂起一样对同一

19、从机端口进行请求在主机获得目标从机端口的控制权后,主机保持对从机端口的控制,直到通过运行一个IDLE 周期或在下一次控制。时离开当前从机端口而放弃对从机端口的若另一个更高优先级主机产生请求到此从机端口,主机也可失去对从机端口的控制。但是,若主机运行一个固定长度的突发传输时,它将保持对从机端口的控制,直到传输结束。基于 MGPCRAULB位,主机在进行未定义长度增值的突发传输时保持对从机端口的控制或放弃总线交给更高优先级的主机。交叉开关终止所有主机 IDLE 发送,不允许终止来自从机的总线。另外,当没有主机请求到一个从机端口,即使一个默认的主机可能被允许此从机端叉开关驱动 IDLE 发送到从机总

20、线。当一个从机总线被交叉开关处于 IDLE 状态,它能由主机端口通过指示CRSnPARK停止从机端口。这样做是为了保存初始仲裁延时时钟,否则可以看出主机是否拥有仲裁以获得从机端口的控制。从机端口也可以通过 CRS进入低电压停止模式来降低功耗。17.3.2 寄存器一致性TL由于寄存器的内容对交叉开关的操作有实时的影响,所以理解到寄存器修改在寄存器被写时就会起作用是非常重要的。寄存器的值不和从机端口相关的主机一致,而只和从机一致。此规则的例外是 MGPCRxAULB位。这些位的更新只当主机端口的主机运行 IDLE 时钟周期而被识别,尽管写这些位的从机总线周期已经成功地终止了。若 MGPCRxAUL

21、B位在两个突发之间被写入,新的 AULB 编码直到主机端口的主机开始一个 IDLE 才会起作用。17.3.3 仲裁交叉开关支持两种仲裁机制:固定优先级比较算法和轮循公平算法。每个从机端口的仲裁机制是独立编程的。17.3.3.1 未定义长度突发期间的仲裁未定义长度突发期间的仲裁点由当前主机的MGPCRAULB位域设置。当通过 AULB 位定义了突发列单个的连续固定长度的突发长度,未定义长度突发就被看作是单个或一系。图 17-28 说明了这个例子。在图 17-28 中,主机运行未定义长度突发,MGPCRAULB位指示仲裁发生在突发的第四个节拍之后。主机运行两个连续的节拍,然后在相同的从机端口处像上

22、一次的一样开始一个 12 节拍的未定义长度的突发到新地址。交叉开关直到第四次全局在那个仲裁点,所有保持的或第二次突发的第二个节拍才允许一个仲裁点。为仲裁开放,直到主机丢失对从机端口的控制。假定主机在第二次突发的第 5 个节拍后丢失对从机端口的控制。在主机重新获得从机端口的控制权之后,直到主机运行突发的四个或四个之上节拍才可以获得仲裁点。在继续突发的第四个节拍,或从主机来看得第二次突发的第 9 个节拍之后,突发的所有节拍会再一次开放仲裁直到主机丢失对从机端口的控制权。假定主机在第三次继续突发的第 5 个节拍或从主机来看得第二次突发的第10 个节拍后,主机丢失对从机端口的控制。在主机重新获得对从机

23、端口的控制后,主机可以在没有仲裁的情况下完成最后两个节拍。不受 AULB 位的影响。所有固定长度突发说明:固定长度突发被锁定在仲裁之外,直到固定长度突发的最后一个节拍。17.3.3.2 固定优先级操作当运行在固定优先级模式下,每个主机被在 PRSn 优先级寄存器中赋予唯一的优先级。若两个主机请求一个从机端口,则在选择优先级寄存器中拥有最高优先级的主机获得对从机端口的控制。当一个主机产生一个请求到从机端口,除非从机端口是在停止状态,否则从机端口检测新请求主机的优先级是否高于当前控制从机端口的主机。从机端口在每个时钟边沿进行一次仲裁判断以保证合适的主机(如果有)拥有对从机端口的控制。表 17-29 描述基于请求主机端口的可能情景。表 17-29. AXBS 如何从机端口控制给主机情景AXBS从机端口控制给主机两个条件同时满足:当前主机没有进行数据传输新请求主机的优先级比当前主机的要高在下一个时钟边沿图 17-28 未定义长度突发举例两个条件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论