最新更新最新专题

您的位置:首页 > ppt下载 > PPT课件 > 课件PPT > 嵌入式系统原理与设计王志英高等教育ppt

嵌入式系统原理与设计王志英高等教育ppt下载

素材大小:
3.86 MB
素材授权:
免费下载
素材格式:
.ppt
素材上传:
chenrong
上传时间:
2018-09-19
素材编号:
211994
素材类别:
课件PPT

素材预览

嵌入式系统原理与设计王志英高等教育ppt

这是嵌入式系统原理与设计王志英高等教育ppt,包括了时钟与电源管理概述,时钟与电源管理用到的S3C2410A引脚信号,时钟与电源管理结构框图等内容,欢迎点击下载。

嵌入式系统原理与设计王志英高等教育ppt是由红软PPT免费下载网推荐的一款课件PPT类型的PowerPoint.

 第6章    时钟与电源管理、              DMA与总线优先权Kd8红软基地

本章重点:
⑴ S3C2410A时钟与电源管理概述;时钟发生器;电源管理;时钟与电源管理特殊功能寄存器。其中包含了时钟与电源管理用到的引脚信号、电源用到的引脚。
⑵ S3C2410A DMA概述,包括存储器到外设DMA传输举例等;DMA操作,包括选择硬件DMA请求或软件DMA请求,硬件DMA请求源的选择、有限状态机、外部DMA请求/响应协议和DMA传输举例等;DMA特殊功能寄存器;总线优先权。
6.1  时钟与电源管理概述
 6.1.1 时钟与电源管理概述
S3C2410A片内集成了时钟与电源管理模块,该模块由三部分组成:时钟控制、USB控制和电源控制。
时钟与电源管理有以下特点。
   时钟与电源管理模块内有两个锁相环(Phase Locked Loop,PLL),一个称为主锁相环MPLL,产生三种时钟信号,FCLK用于ARM920T;HCLK用于AHB总线设备和ARM920T;PCLK用于APB总线设备。另一个称为USB锁相环UPLL,产生的时钟信号UCLK(48MHz)用于USB。
FCLK在S3C2410A内核供电电源为2.0V时,最高频率为266MHz;内核供电电源为1.8V时,最高频率为200MHz。
电源管理有4种模式,分别是NORMAL、SLOW、IDLE和Power_OFF。
NORMAL模式:在这种模式下,只允许用户通过软件控制片内外设的时钟信号接通或切断。例如,UART2如果不使用,可以通过软件切断它的时钟信号,以减少功耗。
SLOW模式:SLOW模式不使用主锁相环,SLOW模式使用外部频率较低的时钟(XTIpll或EXTCLK)经过分频后直接作为FCLK。在这种模式下,功耗仅仅取决于外部时钟的频率。
IDLE模式:在这种模式下,只切断了到ARM920T的时钟FCLK,到所有片内外设或控制器的时钟信号仍然接通。计算功耗时应减去ARM920T的功耗。任何到CPU的中断请求,能够将CPU从IDLE模式中唤醒。
Power_OFF模式:在这种模式下,除了唤醒逻辑外,S3C2410A片内电源被切断。为了能够激活Power_OFF模式,S3C2410A要求有两个单独的电源供电,一个给唤醒逻辑,另一个给包含CPU在内的内部逻辑供电,并且这1路电源应该能够被控制,使得它的电源能够被接通或切断。从Power_OFF模式中被唤醒,使用外部中断请求EINT[15:0]或RTC报警中断。
6.1.2 功耗管理概述
基于CMOS电路芯片的功耗,由静态功耗与动态功耗组成。静态功耗非常小,可以忽略不计。门电路电容充放电的动态功耗是电路功耗的主要部分。动态功耗通常与加在芯片上的电源电压的平方成正比;与加在芯片上的时钟信号的频率成正比。
动态频率调节(Dynamic Frequency Scaling)是指,由频率调度程序负责在运行过程中针对不同的运算需求,动态调节系统时钟的频率,以达到降低功耗的目的。
动态频率调节需要有相应的调度程序,负责收集系统当前运行速度、负荷,预测系统未来的需求,以及计算调度花费的功耗与调度后节省的功耗。
S3C2410A时钟与电源管理模块中的MPLL,在外接时钟源频率已经固定的情况下(如12MHz),通过软件设置特殊功能寄存器MPLLCON中主、预、后分频控制为不同的值,可以使锁相环在程序运行过程中,输出的时钟频率发生改变。比如从266MHz变成150MHz,或从150MHz变成200MHz,实现动态频率调节。
用于USB的时钟频率,即UPLL的输出,通常使用48MHz,不改变。
虽然S3C2410A在内核电源为2.0V时,MPLL产生的时钟频率最高为266MHz,但是对于某些应用场合,如果事先能够确定它的工作频率,比如100MHz已经满足系统要求,那么在初始化阶段,通过设定锁相环对应的参数,可以使其启动后就工作在较低的频率。
S3C2410A为了支持软件对功耗的管理,在NORMAL模式,还可以通过对时钟控制寄存器CLKCON设置不同的值,把不使用的外设或控制器所连接的时钟信号切断,以节省功耗。
在IDLE模式,S3C2410A可以停止到ARM920T的时钟。在Power_OFF模式,可以切断除唤醒逻辑外的ARM920T和全部片内外设的电源,降低系统的功耗。
S3C2410A中,FCLK是主时钟,可以由软件调节时钟分频比,产生不同频率的HCLK和PCLK,以适应不同的应用方案,减少功耗。
6.1.3 时钟与电源管理用到的S3C2410A引脚信号
表6-1列出了部分S3C2410A的引脚信号及它们的含义,它们是时钟与电源管理所用到的。另外,将Reset相关引脚信号也一并放在这里介绍。
6.2  时钟发生器
6.2.1 时钟与电源管理结构框图
  时钟与电源管理结构框图见图6.1。
6.2.2 时钟源的选择
系统启动时,在nRESET上升沿,连接到S3C2410A模式控制引脚OM[3:2]的状态,被自动锁存到机器内部。由OM[3:2]的状态,决定S3C2410A使用的时钟源,详见表6-2。
图6.2给出了OM[3:2]=00和11时,S3C2410A片外时钟源的连接方法。图中,晶振频率范围为10~20MHz,常用12MHz的;电容可用15~22pF的。
参见图6.1,虽然在启动后MPLL就接通(ON状态),但是MPLL的输出Mpll,在软件写一个合法的设置值到MPLL控制寄存器MPLLCON以前,不会作为系统时钟。在合法的值设置以前,从外部晶振或EXTCLK来的时钟源将被直接地用作系统的时钟。即使用户不需要改变MPLLCON寄存器中的缺省值,用户也应该写相同的值到MPLLCON寄存器。
另外,当OM[1:0]=11时,OM[3:2]被用作确定测试模式。
6.2.3 锁相环
图6.1中有2个锁相环,MPLL和UPLL。它们的输入信号,见表6-2,可以选择晶振或EXTCLK,频率常为12MHz。MPLL输出信号Mpll的频率是可以改变的,方法是通过在寄存器MPLLCON中设置MDIV、PDIV和SDIV为不同的值而实现的。在内核电源电压为2.0V时,MPLL输出信号Mpll的频率最高为266MHz。UPLL输出信号Upll的频率也可以调整,方法是通过在UPLL控制寄存器UPLLCON中设置MDIV、PDIV和SDIV为不同的值而实现的。
MPLLCON、UPLLCON寄存器的值,在程序运行中可以随时修改,用于实现动态调整时钟频率的目的。通常UPLL输出时钟频率要求为48MHz,一般不改变。
图6.1中MPLL和UPLL旁边的P[5:0]、M[7:0]和S[1:0]与PDIV(预分频控制)、MDIV(主分频控制)和SDIV(后分频控制)分别对应。
如果已知主锁相环MPLL输入Fin的频率以及MDIV、PDIV和SDIV的值,输出Mpll的频率计算见式6-1。
Mpll=(m×Fin) / (p×2S)            (式6-1)
式中m=MDIV+8,p=PDIV+2,s=SDIV。
Upll频率的计算方法与Mpll相同。
【例6.1】对MPLL,已知Fin=12MHz,MDIV=161,PDIV=3,SDIV=1,计算Mpll频率;对UPLL,已知Fin=12MHz,MDIV=120,PDIV=2,SDIV=3,计算Upll频率。
Mpll = ((161+8)×12) / (5×21) = 202.80 (MHz)
Upll = ((120+8)×12) / (4×23) = 48.00 (MHz)
对于特殊功能寄存器MPLLCON和UPLLCON中的MDIV、PDIV和SDIV,三星公司给出了一组推荐值,使得输出频率可以选择45.00MHz,50.70MHz,56.25MHz,……202.80MHz、266.00MHz,以至最高达270.00MHz。表6-3是从这组推荐值中选出的几个数据,供参考。 
在实际对MPLL设置MDIV、PDIV和SDIV参数时,还要求满足以下关系:
  FCLK频率 >= 3倍晶振频率或3倍EXTCLK频率
6.2.4 时钟控制逻辑
⒈ 时钟控制逻辑的功能
时钟控制逻辑确定被使用的时钟源。例如,是使用MPLL的时钟Mpll呢,还是直接使用外部时钟XTIpll或EXTCLK。另外,当MPLL被设置一个新的频率值时,时钟控制逻辑依据锁定时间计数寄存器LOCKTIME中设定的锁定时间参数,自动插入锁定时间。在锁定时间,FCLK不输出时钟脉冲,维持低电平,直到锁定时间结束,以新的频率输出的信号稳定后,才输出FCLK。
在NORMAL模式,通过改变MPLLCON寄存器中的MDIV、PDIV和SDIV(简称PMS)参数值,使时钟FCLK变慢,依据LOCKTIME寄存器中M_LTIME锁定时间参数,自动插入锁定时间的图例见图6.3(P198)。
在加电Reset和从Power_OFF模式中唤醒时,时钟控制逻辑也使用锁定时间参数,自动插入锁定时间。
⒉ 加电Reset
参见图6.1,加电Reset后,由于MPLL、UPLL还不稳定,在软件将一个新的设置值写到MPLLCON寄存器以前,Fin被送到时钟控制逻辑,代替Mpll,直接作为FCLK。因此即使用户在加电Reset后,不需要改变保留在MPLLCON、UPLLCON寄存器中的缺省值,也应该通过软件写相同的值到MPLLCON、UPLLCON寄存器,之后经过自动插入锁定时间,MPLL的输出Mpll(而不是Fin)经过时钟控制逻辑输出作为FCLK。FCLK的频率与加电Reset后通过软件写到MPLLCON寄存器的设置值相对应。同样,UPLL的输出频率也与加电Reset后通过软件写到UPLLCON寄存器的设置值相对应。
⒊ 在NORMAL模式改变MPLLCON、UPLLCON中的设置值
S3C2410A允许在NORMAL模式,由运行的程序,改变MPLLCON、UPLLCON寄存器中MDIV、PDIV和SDIV的设置值。改变之后,经过锁定时间,输出时钟的频率被改变。新的频率值与新写入MPLLCON、UPLLCON中的MDIV、PDIV和SDIV参数值对应,见图6.3。
⒋ USB时钟控制
USB主接口和设备接口需要48MHz的时钟。S3C2410A中UPLL能够产生48MHz的时钟。在UPLLCON寄存器中相应的参数被设置后,UPLL产生的48MHz的时钟作为UCLK,具体见表6-4。
⒌ 分频比
FCLK也称为主时钟,通过在时钟分频控制寄存器CLKDIVN中对HDIVN1、HDIVN和PDIVN设置不同的值,可以改变FCLK、HCLK、PCLK之间频率的比值,具体见表6-5。
6.3  电源管理
6.3.1 电源管理模式的转换
S3C2410A有4种电源管理模式,分别是NORMAL、SLOW、IDLE和Power_OFF。不允许在这4种模式中自由转换,合法的转换见图6.4。
图6.4
对于4种电源管理模式中的每一种,连接S3C2410A中各模块的时钟或电源的状态,见表6-6(P200)。
6.3.2  4种电源管理模式
⒈ NORMAL模式
在NORMAL模式,全部片内外设,以及包含电源管理模块在内的基本模块,如ARM920T、总线控制器、存储器控制器、中断控制器、DMA和外部总线控制器等,全部可以操作,这时功耗最大。这种模式允许用户通过软件,控制连接每一个片内外设的时钟接通或切断,以减少功耗。在时钟控制寄存器CLKCON中可以设置不同的值,能够切断或接通某一个或某几个片内外设的时钟。
⒉ IDLE模式
如果将时钟控制寄存器CLKCON[2]设置为1,S3C2410A经过一定的延时,进入IDLE模式。
在IDLE模式,到ARM920T的时钟FCLK被停止。但是到总线控制器、存储器控制器、中断控制器和电源管理模块的时钟仍接通;到片内外设的时钟仍接通。在IDLE模式,计算功耗时应减去ARM920T的功耗。当EINT[23:0]或RTC报警中断或其他中断激活时,退出IDLE模式。
⒊ SLOW模式
SLOW模式是一种非锁相环模式。
在SLOW模式,由于使用了比较慢的时钟,能够减少S3C2410A的功耗。在SLOW模式,MPLL应该被切断,计算功耗时应减去MPLL的功耗。虽然UPLL也可以被切断,但是USB使用的UCLK要求为48MHz的时钟,通常并不切断UPLL。只有在SLOW模式,才允许切断或接通MPLL或UPLL。
⒋ Power_OFF模式
⑴ Power_OFF模式 
⑵ Power_OFF模式S3C2410A部分引脚状态
在Power_OFF模式,S3C2410A的GPIO、功能输出和功能输入引脚状态见表6-8。
⑶ Power_OFF模式对电源的控制
在Power_OFF模式,仅仅VDDi和VDDiarm电源能被切断,切断是由S3C2410A输出引脚PWREN控制的。如果PWREN信号为高电平,由外部电压调节器提供VDDi和VDDiarm;如果PWREN信号为低电平,切断VDDi和VDDiarm,见图6.6。
⑷ 用于唤醒的EINT[15:0]
⑸ 电池失效信号(nBATT_FLT)
⑹ ADC Power Down
6.3.3  S3C2410A电源引脚
S3C2410A电源引脚连接的电源电压和电源的用途见表6-9(P204)。
6.4  时钟与电源管理特殊功能寄存器
⒈ 6个特殊功能寄存器的名称、地址及Reset值
    6个特殊功能寄存器的名称、地址及Reset值,见表6-10。
⒉ 锁定时间计数寄存器
    锁定时间计数寄存器LOCKTIME,分别保存用于UPLL和用于MPLL的锁定时间计数值,具体含义见表6-11。
⒊ MPLL及UPLL控制寄存器
   MPLL及UPLL控制寄存器,即MPLLCON/UPLLCON,具体含义见表6-12。
⒋ 时钟控制寄存器
   时钟控制寄存器根据设置的不同值,允许/禁止PCLK或HCLK时钟信号连接到某一确定的模块;控制进入Power_OFF或IDLE模式与否。
   时钟控制寄存器CLKCON含义见表6-13。
⒌ SLOW时钟控制寄存器
   SLOW时钟控制寄存器CLKSLOW,具体含义见表6-14。
⒍ 时钟分频控制寄存器
   时钟分频控制寄存器CLKDIVN,具体含义见表6-15。
6.5  DMA概述
6.5.1  DMA概述
   参见第2章图2.1 S3C2410A组成框图,S3C2410A支持一个4通道的DMA控制器,DMA控制器位于AHB与APB之间。每个通道能够处理如下4种情况:
· 传输数据的源和目的设备都连接在AHB;
· 传输数据的源设备连接在AHB,而目的设备连接在APB;
· 传输数据的源设备连接在APB,而目的设备连接在AHB;
· 传输数据的源和目的设备都连接在APB。
本章将连接在AHB、APB上的控制器,简称为设备。
连接在AHB上和APB上的设备见图2.1。
图2.1中并不是所有连接在AHB和APB上的设备都可以使用DMA方式,具体哪些可用或不可用,在后续各设备对应章节中会讲到。
DMA主要优点是传输数据不需要CPU介入。
DMA操作能够以3种方式启动:软件、片内外设请求或S3C2410A片外DMA请求引脚信号。
6.5.2 存储器到外设DMA传输举例
⒈ DMA传输举例
   例如存储器(内存)某缓冲区的数据,要读出传输到某外设(接口),与DMA传输相关事项有:
 · DMA传输前要确定使用的DMA通道、初始参数设置,如果DMA传输结束需要进入中断处理,则需要考虑中断处理程序在存储器的定位;
· 确定由外设提出DMA请求,还是由软件提出DMA请求(本例中由外设提出);
· CPU运行其他程序,外设随机提出DMA请求,DMA控制器控制读存储器数据,送外设(接口);
· 全部数据传输完成,DMA发中断请求,中断服务程序进行处理(例如用新数据填写内存缓冲区、设置新的DMA初始参数以及清除相应的中断登记位等);也可以通过查询DMA状态,确定数据传输是否完成。
⒉ DMA初始参数设置与状态寄存器
   假定使用DMA通道0,那么以下所有参数都要送到通道0的特殊功能寄存器。可以读出通道0的状态寄存器,判断通道0处于就绪/忙状态、判断传输计数当前值。
⑴ 源地址
   由于是从存储器某缓冲区读出数据,送某外设(接口),所以存储器缓冲区的起始地址作为源地址,要送到DMA通道0的初始源(地址)寄存器DISRC0。DMA自动将DISRC0的值送到通道0的当前源(地址)寄存器DCSRC0,参见表6-17。
⑵ 目的地址
    本例中,目的地址指的是某外设(接口)的端口地址,是从内存读出数据送往的目的地址,是目的区的一个起始地址,这个地址要送到DMA通道0的初始目的(地址)寄存器DIDST0。DMA自动将DIDST0的值送到通道0的当前目的(地址)寄存器DCDST0,参见表6-19。
⑶ 传输计数
   由存储器缓冲区数据个数(字节数),通过计算得到一个传输计数值,这个值也称传输节拍数,送到通道0的控制寄存器DCON0的TC域,称为初始传输计数值。DMA自动将TC域的值送到通道0的状态寄存器DSTAT0的CURR_TC域,称为传输计数当前值,参见表6-21、表6-22。 
⑷ 初始源、初始目的控制寄存器
    初始源控制寄存器,通过设置不同的参数值,控制源(设备)连接到AHB还是APB。本例中存储器控制器连接在AHB,应该将DISRCC0[1]设置为0。
    在初始源控制寄存器中还可以选择当前源地址是增量还是固定不变。
⑸ DMA控制寄存器
   每个通道有1个DMA控制寄存器,通道0的为DCON0。通过程序可以分别选择:请求/握手(Demand/Handshake)模式;使用AHB/APB时钟同步;传输计数当前值CURR_TC为0时产生中断与否;Unit/Burst模式;Single/Whole服务模式;DMA请求源对应的设备;软/硬件DMA请求;自动重装与否;数据尺寸(data size),并可设置初始传输计数TC值。
⑹ 屏蔽触发寄存器
   每个通道有1个屏蔽触发寄存器,通道0的是DMASKTRIG0,可以用于停止DMA操作、设置通道0 ON/OFF、触发软件DMA请求。
⑺ 状态寄存器
   每个通道有1个状态寄存器,通道0的是DSTAT0,保存就绪/忙(Ready/Busy)状态,保存传输计数当前值CURR_TC。CURR_TC在每个原子操作结束时减1。
6.5.3  DMA用到的S3C2410A引脚信号
    S3C2410A芯片引脚信号nXDREQ[1:0]为输入信号,可以分别外接2路DMA请求信号;芯片引脚信号nXDACK[1:0]为输出信号,输出对nXDREQ[1:0]产生的DMA响应信号。
6.6  DMA操作
6.6.1 硬件DMA请求与软件DMA请求
   S3C2410A可以使用片外DMA请求引脚信号nXDREQ[1:0]、片内外设和软件方式启动DMA操作,前2种称为硬件DMA请求,后1种称为软件DMA请求。
⒈ 选择硬件DMA请求或软件DMA请求
   DMA控制寄存器DCONn中的SWHW_SEL域控制选择硬件DMA请求还是软件DMA请求。当DCONn[23]=0时为软件请求模式,通过设置DMA屏蔽触发寄存器DMASKTRIGn的SW_TRIG位,能够触发DMA请求;当DCONn[23]=1时为硬件请求模式,需要通过DCONn[26:24]选择DMA请求源,由这个请求源提出DMA请求。
⒉ 硬件DMA请求源的选择
   DMA控制器的每个通道,如果在DMA控制寄存器中选择了使用硬件请求模式(DCONn[23]=1),那么可以从5个请求源中选出1个作为请求源,具体见表6-16。
   如果选择了软件请求模式,表6-16中的硬件请求源没有意义。
6.6.2 用于DMA操作的有限状态机
   DMA使用3个状态的有限状态机(Finite State Machine,FSM)实现它的操作,3个状态分别描述如下:
State-1:作为初始状态,DMA等待DMA请求。如果出现DMA请求,进入State-2。在State-1中,DMA ACK和INT REQ为0(无效)。
State-2:在这个状态,DMA ACK变为1(有效),并且把DMA控制寄存器的DCONn[19:0]的初始传输计数值装入到DMA状态寄存器DSTATn的传输计数当前值CURR_TC域。DMA ACK保持1(有效),直到它被清除为止。
State-3:在这个状态,处理DMA原子操作(最基本的操作、不可分开的操作)的子有限状态机(sub-FSM)被启动。子有限状态机从源地址读数据,然后写数据到目的地址。在这个操作中,数据尺寸(size)和传输个数(Unit/Burst)被考虑。这个操作一直重复,在全部服务(Whole Service)模式,直到CURR_TC计数器变为0;在单个服务(Single Service)模式,只执行一次。当子有限状态机结束每个原子操作时,主有限状态机(即有限状态机)的CURR_TC进行减法计数。当CURR_TC变为0并且寄存器DCONn[29]中断设置位被设置成1时,主有限状态机发出INT REQ(有效)信号。如果遇到以下条件中的一个,DMA ACK被清除(无效):
· 在全部服务模式,CURR_TC变成0;
· 在单个服务模式,原子操作结束。
   在单个服务模式,主有限状态机的这3个状态被执行,然后停止,等待下一个DMA请求。如果出现DMA请求,重复上述3个状态。因此,对每个原子操作,DMA ACK先有效,然后无效。在全部服务模式,主有限状态机在State-3等待,直到CURR_TC变为0。因此,DMA ACK在全部传输期间有效,而当CURR_TC=0时无效。
    然而,仅仅在CURR_TC变为0时INT REQ有效,与当前服务是单个服务模式或全部服务模式无关。
6.6.3 外部DMA请求/响应协议
有3种外部DMA请求/响应协议类型,分别是:
· 单个服务请求(Single Service Demand)模式;
· 单个服务握手(Single Service Handshake)模式;
· 全部服务握手(Whole Service Handshake)模式。
⒈ 基本DMA定时
   DMA服务意味着在DMA操作中,执行一对读和写周期,并且读和写周期被看作1个不可分开的DMA操作。图6.7表示S3C2410A在DMA操作中的基本定时关系。
⒉ 请求(Demand)/握手(Handshake)模式
   请求和握手模式与XnXDREQ和XnXDACK之间的协议有关。
   ⑴ 请求模式
   在请求模式,当XnXDREQ有效时,经过2个同步时钟,XnXDACK有效。从XnXDACK有效开始,最少经过3个时钟,传输一次数据(如果处于Unit传输模式,则读一次、写一次)。
请求模式只要XnXDREQ有效,能够传输多次。
请求模式信号关系见图6.8。
⑵ 握手模式
   在握手模式,一次数据传输后,DMA控制器只有在XnXDREQ撤消(高电平)后,经过2个时钟,XnXDACK才无效(高电平)。仅仅在XnXDREQ再次有效(低电平),才开始下一次传输。传输后如果XnXDREQ一直有效,则XnXDACK一直为低电平,直到XnXDREQ撤消。
握手模式信号关系见图6.9。
⒊ 单个服务(Single Service)/全部服务(Whole Service)模式
在单个服务模式,每次原子传输(Unit模式传输1次,Burst模式4个突发读,之后4个突发写)后,DMA停止,等待下一个DMA请求。
在全部服务模式,1个DMA请求出现,进行原子传输,重复原子传输,直到当前传输计数值CURR_TC达到0为止。在这种模式下,只要有1个DMA请求,就可以传输全部数据。
在全部服务模式,当每次原子传输后,DMA将释放总线,然后自动重新获得总线,从而避免了独占总线使其他总线主设备无法获得总线带来的问题。重新获得总线并不要求重新激活DMA请求。
6.6.4  Unit/Burst传输、数据尺寸与自动重装
⒈ Unit/Burst传输
Unit传输的含义是1次传输由1个读周期和1个写周期组成。
Burst传输的含义是1次传输由4个连续的读周期和4个连续的写周期组成。
在Unit或Burst传输期间,DMA稳固地保持总线,其他总线主设备不能得到总线。
⒉ 数据尺寸(data size)
   数据尺寸的含义是每个读(写)周期,DMA传输的数据宽度。只能选择使用字节/半字/字3种宽度中的一种。通过对DMA控制寄存器DCONn[21:20]位进行不同的设置,可以指定不同的数据尺寸。
⒊ 自动重装
DMA控制寄存器DCONn[22]为自动重装选择位,当这1位设置为0时,允许自动重装。
当传输全部结束,在DMA状态寄存器中的传输计数当前值CURR_TC变为0时,如果允许自动重装,则在下一个DMA请求出现时,进行自动重装,将初始源(地址)寄存器的值、初始目的(地址)寄存器的值和初始传输计数TC的值,分别送到DMA当前源(地址)寄存器、当前目的(地址)寄存器和传输计数当前值CURR_TC域中。
6.6.5 外部DMA请求/响应协议传输举例
⒈ 单个服务、请求模式、Unit传输
   在单个服务模式,每次Unit传输,需要检查XnXDREQ是有效的。在请求模式,只要XnXDREQ有效,操作将继续,读和写操作被看作不可分开的一对操作被执行,具体见图6.11。
  ⒉ 单个服务、握手模式、Unit传输
   单个服务、握手模式、Unit传输见图6.12。
  ⒊ 全部服务、握手模式、Unit传输
   全部服务、握手模式、Unit传输见图6.13。
6.7  DMA特殊功能寄存器
   DMA控制器共有36个特殊功能寄存器,每个DMA通道有9个寄存器。其中6个控制DMA传输,另外3个监控DMA控制器的状态。 
⒈ DMA初始源(地址)寄存器
   4个通道的DMA初始源(地址)寄存器的名称分别为DISRC0、DISRC1、DISRC2和DISRC3;对应地址分别为0x4B000000、0x4B000040、0x4B000080和0x4B0000C0;可读写;Reset后初值全部为0;分别存放各通道要传输的源数据的基本地址(起始地址),具体见表6-17。
⒉ DMA初始源控制寄存器
   4个通道的DMA初始源控制寄存器的名称分别为DISRCC0、DISRCC1、DISRCC2和DISRCC3;对应地址分别为0x4B000004、0x4B000044、0x4B000084和0x4B0000C4;可读写;Reset后初值全部为0;分别存放各通道源(设备)连接的总线、传输后地址增加与否等信息,具体见表6-18。
⒊ DMA初始目的(地址)寄存器
   4个通道的DMA初始目的(地址)寄存器的名称分别为DIDST0、DIDST1、DIDST2和DIDST3;对应地址分别为0x4B000008、0x4B000048、0x4B000088和0x4B0000C8;可读写;Reset后初值全部为0;分别存放各通道要传输的目的基本地址(起始地址),具体见表6-19。
⒋ DMA初始目的控制寄存器
   4个通道的DMA初始目的控制寄存器的名称分别为DIDSTC0、DIDSTC1、DIDSTC2和DIDSTC3;对应地址分别为0x4B00000C、0x4B00004C、0x4B00008C和0x4B0000CC;可读写;Reset后初值全部为0;分别存放各通道目的(设备)连接的总线、传输后地址增加与否等信息,具体见表6-20。
⒌ DMA控制寄存器
   4个通道的DMA控制寄存器的名称分别为DCON0、DCON1、DCON2和DCON3;对应地址分别为0x4B000010、0x4B000050、0x4B000090和0x4B0000D0;可读写;Reset后初值全部为0;分别存放各通道的控制信息,具体见表6-21。
⒍ DMA状态寄存器
   4个通道的DMA状态寄存器的名称分别为DSTAT0、DSTAT1、DSTAT2和DSTAT3;对应地址分别为0x4B000014、0x4B000054、0x4B000094和0x4B0000D4;只读;Reset后初值全部为0;分别存放各通道就绪/忙状态和传输计数当前值,具体见表6-22。
⒎ DMA当前源(地址)寄存器
   4个通道的DMA当前源(地址)寄存器的名称分别为DCSRC0、DCSRC1、DCSRC2和DCSRC3;对应地址分别为0x4B000018、0x4B000058、0x4B000098和0x4B0000D8;只读;Reset后初值全部为0;分别存放各通道当前源地址,具体见表6-23。
⒏ DMA当前目的(地址)寄存器
   4个通道的DMA当前目的(地址)寄存器的名称分别为DCDST0、DCDST1、DCDST2和DCDST3;对应地址分别为0x4B00001C、0x4B00005C、0x4B00009C和0x4B0000DC;只读;Reset后初值全部为0;分别存放各通道当前目的地址,具体见表6-24。
⒐ DMA屏蔽触发寄存器
   4个通道的DMA屏蔽触发寄存器的名称分别为DMASKTRIG0、DMASKTRIG1、DMASKTRIG2和DMASKTRIG3;对应地址分别为0x4B000020、0x4B000060、0x4B0000A0和0x4B0000E0;可读写;Reset后初值全部为0;分别控制各通道停止、通道ON/OFF以及用于软件请求模式的DMA请求触发器,具体见表6-25。
6.8  总线优先权
   S3C2410A片内总线仲裁逻辑确定总线主设备(bus master)的优先权,仲裁逻辑支持轮转优先权和固定优先权相结合的优先权模式。其中DMA0、DMA1、DMA2和DMA3处于轮转优先权模式,其余运行在固定优先权模式。
总线主设备的含义是指那些能够提出总线请求、并且能够占用总线的设备,包括ARM920T内核等。
   S3C2410A总线主设备共有7个,其中DMA0~DMA3看做一个。在Reset后,除了DMA0~DMA3处于轮转优先权模式,其余处于固定优先权。SDRAM刷新控制器优先权最高,ARM920T优先权最低。7个总线主设备的优先权如下所示:
⑴ SDRAM刷新控制器
⑵ LCD_DMA
⑶ DMA0、DMA1、DMA2和DMA3
⑷ USB host DMA
⑸ 外部总线主设备
⑹ TIC(Test Interface Controller,测试接口控制器)
⑺ ARM920T
⑻ 保留
END

多用电表的原理及使用ppt:这是多用电表的原理及使用ppt,包括了回顾:将电流表改装成电压表和大量程的电流表,理论探究:能否将电流表改装成直接测量电阻的仪表呢?欧姆表,多用电表示意图等内容,欢迎点击下载。

western原理ppt:这是western原理ppt,包括了原理,分类,主要试剂,操作步骤,常见问题等内容,欢迎点击下载。

说课化工原理ppt:这是说课化工原理ppt,包括了课程介绍,教学内容,教学手段和方法,教学条件,课程特色,存在问题与建设思路等内容,欢迎点击下载。

PPT分类Classification

Copyright:2009-2024 红软网 rsdown.cn 联系邮箱:rsdown@163.com

湘ICP备2024053236号-1