第12章DMA消息收发单元mpc83xx的datasheet中文手册.docx

上传人:b****2 文档编号:16958164 上传时间:2023-07-20 格式:DOCX 页数:38 大小:310.71KB
下载 相关 举报
第12章DMA消息收发单元mpc83xx的datasheet中文手册.docx_第1页
第1页 / 共38页
第12章DMA消息收发单元mpc83xx的datasheet中文手册.docx_第2页
第2页 / 共38页
第12章DMA消息收发单元mpc83xx的datasheet中文手册.docx_第3页
第3页 / 共38页
第12章DMA消息收发单元mpc83xx的datasheet中文手册.docx_第4页
第4页 / 共38页
第12章DMA消息收发单元mpc83xx的datasheet中文手册.docx_第5页
第5页 / 共38页
第12章DMA消息收发单元mpc83xx的datasheet中文手册.docx_第6页
第6页 / 共38页
第12章DMA消息收发单元mpc83xx的datasheet中文手册.docx_第7页
第7页 / 共38页
第12章DMA消息收发单元mpc83xx的datasheet中文手册.docx_第8页
第8页 / 共38页
第12章DMA消息收发单元mpc83xx的datasheet中文手册.docx_第9页
第9页 / 共38页
第12章DMA消息收发单元mpc83xx的datasheet中文手册.docx_第10页
第10页 / 共38页
第12章DMA消息收发单元mpc83xx的datasheet中文手册.docx_第11页
第11页 / 共38页
第12章DMA消息收发单元mpc83xx的datasheet中文手册.docx_第12页
第12页 / 共38页
第12章DMA消息收发单元mpc83xx的datasheet中文手册.docx_第13页
第13页 / 共38页
第12章DMA消息收发单元mpc83xx的datasheet中文手册.docx_第14页
第14页 / 共38页
第12章DMA消息收发单元mpc83xx的datasheet中文手册.docx_第15页
第15页 / 共38页
第12章DMA消息收发单元mpc83xx的datasheet中文手册.docx_第16页
第16页 / 共38页
第12章DMA消息收发单元mpc83xx的datasheet中文手册.docx_第17页
第17页 / 共38页
第12章DMA消息收发单元mpc83xx的datasheet中文手册.docx_第18页
第18页 / 共38页
第12章DMA消息收发单元mpc83xx的datasheet中文手册.docx_第19页
第19页 / 共38页
第12章DMA消息收发单元mpc83xx的datasheet中文手册.docx_第20页
第20页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

第12章DMA消息收发单元mpc83xx的datasheet中文手册.docx

《第12章DMA消息收发单元mpc83xx的datasheet中文手册.docx》由会员分享,可在线阅读,更多相关《第12章DMA消息收发单元mpc83xx的datasheet中文手册.docx(38页珍藏版)》请在冰点文库上搜索。

第12章DMA消息收发单元mpc83xx的datasheet中文手册.docx

第12章DMA消息收发单元mpc83xx的datasheet中文手册

第十二章DMA/消息收发单元

12.1概述

DMA/消息收发单元支持不同总线上两个的处理器之间的通信,例如本地处理器和PCI总线上的处理器。

该单元在运行时使用通用(generic)消息和门铃寄存器。

图12-1是DMA/消息收发单元的结构图。

图12-1DMA/消息收发单元结构图

该部件还提供了DMA控制器,用于传输数据块,不受本地处理器或PCI主设备的约束。

DMA模块拥有四个高速DMA通道,这四个通道共享I/O定序器(ISOI/OSequencer)中的缓存空间,方便数据的收集和发送。

12.2特性

DMA/消息收发单元包括下列特性:

●用于处理器间通信的消息和门铃寄存器

●DMA控制器

⏹四个DMA通道

⏹跨多个通道的并发执行,可编程带宽控制

⏹非对齐传输能力

⏹数据链和直通模式

⏹在完成段、链和错误时产生中断

⏹每个通道都具有可选的外部控制信号(REQ/ACK/DONE)

12.3外部信号说明

本节介绍DMA信号

12.3.1详细信号说明

表12-1包含DMA接口信号的详细说明。

表12-1DMA接口信号——详细信号说明

信号

I/O

说明

/DREQ[0:

3]

I

DMA请求信号,每个通道一个。

DMA请求信号指示DMA传输的开始或继续。

/DREQn的下降沿引起DMAMRn[CS]置位,从而激活DMA通道。

状态含义

有效——如果DMAMRn[EMSEN]为1,则/DREQn有效启动或恢复一个DMA传输。

无效——/DREQn无效不起作用。

时序

有效——可以异步有效。

无效——应一直保持有效,直到/DACKn有效或到外设的请求事务出现为止。

/DACK[0:

3]

O

DMA应答信号,每个通道一个。

DMA应答信号反映DMAMRn[CS]的值。

状态含义

有效——正在进行DMA传输。

无效——DMA传输停止或完成。

时序

有效——在内部控制逻辑启动或恢复DMA传输时异步有效。

无效——在内部控制逻辑停止或完成DMA传输时异步无效。

注意,在/DACKn无效后,在总线流水上可能还存在未完成的写事务。

/DDONE[0:

3]

O

DMA完成信号,每个通道一个。

DMA完成信号指示DMA传输已经完成。

状态含义

有效——DMA传输完毕。

无效——DMA传输正在进行或停止。

时序

有效——在内部控制逻辑完成DMA传输时异步有效。

注意,在/DDONEn有效后,在总线流水上可能还存在未完成的写事务。

无效——在内部控制逻辑开始DMA传输时异步无效。

12.4内存映射/寄存器定义

表12-2列出了内存映射模块的地址和访问方式。

表12-2模块的内存映射

偏移

寄存器

访问

复位

节/页

0x0_8030

OMISR-外向(outbound)消息中断状态寄存器

特殊

0x0000_0000

12.5.1/12-4

0x0_8034

OMIMR-发送消息中断屏蔽寄存器

R/W

0x0000_0000

12.5.2/12-4

0x0_8050

IMR0-内向(inbound)消息寄存器0

R/W

0x0000_0000

12.5.3/12-4

0x0_8054

IMR1-接收消息寄存器1

R/W

0x0000_0000

12.5.3/12-4

0x0_8058

OMR0-发送消息寄存器0

R/W

0x0000_0000

12.5.4/12-4

0x0_805C

OMR1-发送消息寄存器1

R/W

0x0000_0000

12.5.4/12-4

0x0_8060

ODR-发送门铃寄存器

R/W

0x0000_0000

12.5.5/12-4

0x0_8068

IDR-接收门铃寄存器

R/W

0x0000_0000

12.5.5/12-4

0x0_8080

IMISR-接收消息中断状态寄存器

R/W

0x0000_0000

12.5.6/12-4

0x0_8084

IMIMR-接收消息中断屏蔽寄存器

R/W

0x0000_0000

12.5.7/12-4

0x0_8100

DMAMR0-DMA0模式寄存器

R/W

0x0000_0000

12.5.8.1/12-4

0x0_8104

DMASR0-DMA0状态寄存器

R/W

0x0000_0000

12.5.8.2/12-4

0x0_8108

DMACDAR0-DMA0当前描述符地址寄存器

R/W

0x0000_0000

12.5.8.3/12-4

0x0_8110

DMASAR0-DMA0源地址寄存器

R/W

0x0000_0000

12.5.8.4/12-4

0x0_8118

DMADAR0-DMA0目的地址寄存器

R/W

0x0000_0000

12.5.8.5/12-4

0x0_8120

DMABCR0-DMA0字节计数寄存器

R/W

0x0000_0000

12.5.8.6/12-4

0x0_8124

DMANDAR0-DMA0下一个描述符地址寄存器

R/W

0x0000_0000

12.5.8.7/12-4

0x0_8180

DMAMR1-DMA1模式寄存器

R/W

0x0000_0000

12.5.8.1/12-4

0x0_8184

DMASR1-DMA1状态寄存器

R/W

0x0000_0000

12.5.8.2/12-4

0x0_8188

DMACDAR1-DMA1当前描述符地址寄存器

R/W

0x0000_0000

12.5.8.3/12-4

0x0_8190

DMASAR1-DMA1源地址寄存器

R/W

0x0000_0000

12.5.8.4/12-4

0x0_8198

DMADAR1-DMA1目的地址寄存器

R/W

0x0000_0000

12.5.8.5/12-4

0x0_81A0

DMABCR1-DMA1字节计数寄存器

R/W

0x0000_0000

12.5.8.6/12-4

0x0_81A4

DMANDAR1-DMA1下一个描述符地址寄存器

R/W

0x0000_0000

12.5.8.7/12-4

0x0_8200

DMAMR2-DMA2模式寄存器

R/W

0x0000_0000

12.5.8.1/12-4

0x0_8204

DMASR2-DMA2状态寄存器

R/W

0x0000_0000

12.5.8.2/12-4

0x0_8208

DMACDAR2-DMA2当前描述符地址寄存器

R/W

0x0000_0000

12.5.8.3/12-4

0x0_8210

DMASAR2-DMA2源地址寄存器

R/W

0x0000_0000

12.5.8.4/12-4

0x0_8218

DMADAR2-DMA2目的地址寄存器

R/W

0x0000_0000

12.5.8.5/12-4

0x0_8220

DMABCR2-DMA2字节计数寄存器

R/W

0x0000_0000

12.5.8.6/12-4

0x0_8224

DMANDAR2-DMA2下一个描述符地址寄存器

R/W

0x0000_0000

12.5.8.7/12-4

0x0_8280

DMAMR3-DMA3模式寄存器

R/W

0x0000_0000

12.5.8.1/12-4

0x0_8284

DMASR3-DMA3状态寄存器

R/W

0x0000_0000

12.5.8.2/12-4

0x0_8288

DMACDAR3-DMA3当前描述符地址寄存器

R/W

0x0000_0000

12.5.8.3/12-4

0x0_8290

DMASAR3-DMA3源地址寄存器

R/W

0x0000_0000

12.5.8.4/12-4

0x0_8298

DMADAR3-DMA3目的地址寄存器

R/W

0x0000_0000

12.5.8.5/12-4

0x0_82A0

DMABCR3-DMA3字节计数寄存器

R/W

0x0000_0000

12.5.8.6/12-4

0x0_82A4

DMANDAR3-DMA31下一个描述符地址寄存器

R/W

0x0000_0000

12.5.8.7/12-4

0x0_82A8

DMAGSR-DMA通用状态寄存器

R

0x0000_0000

12.5.1.8/12-4

0x0_82B0-

0x0_82FF

保留

12.5寄存器说明

下面几节介绍DMA/消息收发单元的配置、控制和状态寄存器。

注意,所有注释为PCI总线可访问的消息收发单元寄存器也可以从PCI总线访问。

但只有一个/INTA信号,所以建议用使用/INTA信号的PCI总线使用消息收发单元的发送部分。

注意

本节介绍的寄存器使用小端格式字节序。

运行在本地处理器上的使用大端格式模式的软件必须交换数据的字节。

从PCI总线访问这些寄存器时不进行字节交换。

12.5.1发送消息中断状态寄存器(OMISROutboundMessageInterruptstatusRegister)

OMISR包括门铃和发送消息寄存器的中断状态。

PCI设备将1写入合适的状态位应答发送消息中断:

OMISR[OM1I]或OMISR[OM0I]。

置位其中的某一位清除中断和对应的状态位。

本地处理器写入两个发送消息寄存器中的某一个激活发送消息中断:

OMR0或OMR1。

可以从CSB或PCI总线访问OMISR,但通常只从PCI总线访问该寄存器。

图12-2显示了OMISR的字段。

图12-2发送消息中断状态寄存器(OMISR)

表12-3说明了OMISR寄存器。

表12-3OMISR字段说明

名字

说明

31-4

保留

3

ODI

发送门铃中断。

该只读位指示ODR位的状态。

由OMIMR[ODIM]屏蔽。

0无发送门铃中断。

1有发送门铃中断。

2

保留

1

OM1I

发送消息1中断。

当置位时,指示有一个发送消息1中断。

向该位置写入1清除该位。

0无发送消息1中断。

1有发送消息1中断。

0

OM0I

发送消息0中断。

当置位时,指示有一个发送消息0中断。

向该位置写入1清除该位。

0无发送消息0中断。

1有发送消息0中断。

12.5.2发送消息中断屏蔽寄存器(OMIMROutboundMessageInterruptMaskRegister)

OMIMR包括本地处理器产生的门铃和消息寄存器事件的中断屏蔽。

可以从CSB或PCI总线读取OMIMR,但只从PCI总线清除该寄存器。

图12-3显示了OMIMR的字段。

图12-3发送消息中断屏蔽寄存器(OMIMR)

表12-4说明了OMIMR寄存器。

表12-4OMIMR字段说明

名字

说明

31-4

保留

3

ODIM

发送门铃中断屏蔽。

0允许发送门铃中断。

1屏蔽发送门铃中断。

2

保留

1

OM1IM

发送消息1中断屏蔽。

0允许发送消息1中断。

1屏蔽发送消息1中断。

0

OM0IM

发送消息0中断屏蔽。

0允许发送消息0中断。

1屏蔽发送消息0中断。

12.5.3接收消息寄存器(IMR0-IMR1InboundMessageRegister)

可以从主机或代理模式中的PCI总线或CSB读取接收消息寄存器。

只能从PCI总线写入该寄存器。

图12-4显示了IMR0和IMR1的字段。

图12-4接收消息寄存器(IMR0,IMR1)

表12-5说明了IMRn寄存器。

表12-5IMR0和IMR1字段说明

名字

说明

31-0

IMSGn

接收消息n。

包括要在本地处理器和外部主设备之间传递的通用数据。

12.5.4发送消息寄存器(OMR0-OMR1OutboundMessageRegister)

可以从主控或代理模式中的PCI总线或CSB读取发送消息寄存器。

只能从CSB写入该寄存器。

图12-5发送消息寄存器(OMR0-OMR1)

表12-6说明了OMRn寄存器。

表12-6OMR0和OMR1字段说明

名字

说明

31-0

OMSGn

发送消息n。

包括要在本地处理器和外部主设备之间传递的通用数据。

12.5.5门铃寄存器(DoorbellRegister)

下面几节介绍发送和接收门铃寄存器。

12.5.5.1发送门铃寄存器(ODROutboundDoorbellRegister)

ODR对主机或代理模式中的PCI总线或CSB都是可访问的。

图12-6显示了ODRn的字段。

图12-6发送门铃寄存器(ODR)

表12-7说明了ODRn寄存器。

表12-7ODR字段说明

名字

说明

31-29

保留

28-0

ODRn

发送门铃n。

从CSB写入1置位。

从PCI总线写入1清除。

写入0不起作用。

(从CSB写入该寄存器的某一位引起中断(/INTA)产生。

12.5.5.2接收门铃寄存器(IDRInboundDoorbellRegister)

IDR对主机或代理模式中的PCI总线或CSB都是可访问的。

图12-7显示了IDRn的字段。

图12-7发送门铃寄存器(IDR)

表12-8说明了IDRn寄存器。

表12-8IDR字段说明

名字

说明

31

IMC

接收机器检查。

从PCI总线写入1置位。

从CSB写入1清除。

写入0不起作用。

(从PCI总线写入该寄存器的某一位引起到本地处理器的机器检查中断。

30-0

IDRn

接收门铃n。

从PCI总线写入1置位。

从CSB写入1清除。

写入0不起作用。

(从PCI总线写入该寄存器的某一位引起到本地处理器的机器检查中断。

12.5.6接收消息中断状态寄存器(IMISRInboundMessageInterruptstatusRegister)

IMISR包括门铃和接收消息寄存器事件的中断状态。

将1写入IM1I清除该位。

事件由PCI主设备产生。

应只从CSB访问IMISR,且只能为代理模式。

从主机模式或从PCI总线访问产生未定义的结果。

图12-8显示了IMISR的字段。

图12-8接收消息中断状态寄存器(IMISR)

表12-9说明了IMISR寄存器。

表12-9IMISR字段说明

名字

说明

31-5

保留

4

MCI

机器检查中断。

指示是否出现了置位IDR[31]所产生的机器检查中断的情况。

将1写入IDR[31]清除该中断。

0无机器检查中断。

1有机器检查中断。

4

IDI

接收门铃中断。

指示是否出现了接收门铃中断。

0无接收门铃中断。

1有接收门铃中断。

2

保留

1

IM1I

接收消息1中断。

指示是否出现了接收消息1中断。

向该位置写入1清除该位。

0无接收消息1中断。

1有接收消息1中断。

0

IM0I

发送消息0中断。

指示是否出现了接收消息0中断。

向该位置写入1清除该位。

0无接收消息0中断。

1有接收消息0中断。

12.5.7接收消息中断屏蔽寄存器(IMIMRInboundMessageInterruptMaskRegister)

该寄存器包括PCI主设备产生的门铃和消息寄存器事件的中断屏蔽。

应只从CSB访问IMIMR,且只能为代理模式。

从主机模式或从PCI总线访问产生未定义的结果。

图12-9显示了IMIMR的字段。

图12-9接收消息中断屏蔽寄存器(IMIMR)

表12-10说明了IMIMR寄存器。

表12-10IMIMR字段说明

名字

说明

31-5

保留

4

MCIM

机器检查中断屏蔽。

0允许从IDR产生机器检查中断。

1屏蔽机器检查中断。

清除IMISR[MCI]。

4

IDIM

接收门铃中断屏蔽。

0允许接收门铃中断。

1屏蔽接收门铃中断。

清除IMISR[IDI]。

2

保留

1

IM1IM

接收消息1中断屏蔽。

0允许接收消息1中断。

1屏蔽接收消息1中断。

清除IMISR[IM1I]。

0

IM0IM

发送消息0中断屏蔽。

0允许接收消息0中断。

1屏蔽接收消息0中断。

清除IMISR[IM0I]。

12.5.8DMA寄存器

每个DMA通道都有一组七个32位的寄存器(模式、状态、当前描述符地址、下一个当前描述符地址、源地址、目的地址和字节计数)支持事务。

下面几节介绍DMA支持寄存器的格式。

12.5.8.1DMA模式寄存器(DMAMRnDMAModeRegister)

本节介绍DMA模式寄存器。

DMA模式寄存器允许软件启动DMA传输,并控制各种DMA传输特性。

图12-10显示了DMAMRn的字段。

图12-10DMA模式寄存器(DMAMRn)

表12-11说明了DMAMRn寄存器。

表12-11DMAMRn字段说明

名字

说明

31-28

保留

27-24

DRCNT

DMA请求计数。

该字段指定当EMSEN为1时每个DMA请求有效所传输的cache行的数量。

如果EMSEM为0,则不使用该字段。

01011个cache行

01102个cache行

01114个cache行

10008个cache行

111016个cache行

101032个cache行

其他保留

23-21

BWC

带宽控制。

仅在多个通道并发执行传输时使用。

该字段确定在给定的通道被准许访问IOS接口之后、将接口释放给下一个通道之前,允许该给定通道传输多少个cache行。

这样就允许用户定义DMA通道的优先级。

BWC的值如下所列:

0001个cache行

0012个cache行

0104个cache行

0118个cache行

10016个cache行

其他保留

20

DMSEN

直通模式监听允许。

该位控制直通模式DMA事务的监听。

0禁止监听。

1允许监听。

19

IRQS

中断导向。

该位确定DMA中断的目的地。

0所有DMA中断都发送给片上中断控制器。

1所有DMA中断都通过/INTA发送给PCI总线。

18

EMSEN

外部主设备启动允许。

当DMA传输完成时清除该位,所以必须为每一次传输重新置位该位。

0由软件置位CS位启动通道。

1由硬件将/DREQ置为有效启动通道。

17-16

DAHTS

目的地址保持传输长度。

当DAHE为1时,该字段指示每个事务所使用的传输长度。

字节计数寄存器必须为该长度的整数倍,且目的地址寄存器必须按该长度对齐。

001个字节

012个字节

104个字节

118个字节

15-14

SAHTS

源地址保持传输长度。

当SAHE为1时,该字段指示每个事务所使用的传输长度。

字节计数寄存器必须为该长度的整数倍,且源地址寄存器必须按该长度对齐。

001个字节

012个字节

104个字节

118个字节

13

DAHE

目的地址保持允许。

该位允许DMA控制器保持每个传输的目的地址不变。

传输使用的长度由DAHTS指示。

注意,对于该特性,硬件仅支持对齐传输。

0不保持目的地址不变。

1保持目的地址不变。

注意:

DMA不支持同一传输中源和目的的同时地址保持。

12

SAHE

源地址保持允许。

该位允许DMA控制器保持每个传输的源地址不变。

传输使用的长度由SAHTS指示。

注意,对于该特性,硬件仅支持对齐传输。

0不保持源地址不变。

1保持源地址不变。

注意:

DMA不支持同一传输中源和目的的同时地址保持。

11-10

PRC

PCI读命令。

该字段指示使用的PCI读命令的类型。

001个PCI读

012个PCI读行

104个PCI读多行

118保留

9-8

保留

7

EOTIE

传输结束中断允许。

该位确定在完成DMA传输时是否产生中断。

将传输结束定义为直通模式传输结束,或在链模式中,链的最后一段传输结束。

0不产生EOT中断。

1产生EOT中断。

6-4

保留

3

TEM

传输错误屏蔽。

该位确定出现传输错误事件的DMA的响应。

0当出现传输错误时(DMASRn[TE]置位),DMA停止。

1不论是否出现传输错误(TE未置位),DMA都将完成传输。

2

CTM

通道传输模式。

0链模式。

1直通模式。

1

CC

通道继续。

该位仅用于链模式。

置位该位指示应重复当前描述符段。

一旦开始重复,DMA就清除CC,所以它只引起一次重复。

1正常链。

2不从DMANDAR装入DMACDAR,重复当前描述符段。

0

CS

通道启动。

当通道不忙时(DMASRn[CB]位为0),如果该位发生从0到1的跳变,则启动DMA处理。

如果通道忙且出现了从0到1的跳变,则DMA通道从上次停止状态重新启动。

当通道忙时(CB位为1),如果发生从1到0的跳变,则停止DMA处理。

如果通道不忙且出现了从1到0的跳变,则什么也不会发生。

在传输结束时,DMA清除该位。

12.5.8.2DMA状态寄存器(DMASRnDMAStatusRegister)

本节介绍DMA状态寄存器。

状态寄存器报告DMA传输期间和之后的各种DMA状态。

将1写入特定的、置位了的位清除该位。

图12-11显示了DMASRn的字段。

图12-11DMA状态寄存器(DMASRn)

表12-12说明了DMASRn寄存器。

表12-12DMASRn字段说明

名字

说明

31-8

保留

7

TE

传输错误。

在DMA传输期间出现错误时置位该位,并清除DMAMRn[TEM]位。

6-3

保留

2

CB

通道忙。

该位指示通道是否忙。

下列任何一种情况都清除该位:

DMA传输

(1)错误,

(2)停止,(3)完成。

0当前未进行DMA传输。

1当前正进行DMA传输。

1

EOSI

段结束中断。

在传输了一个数据段之后,如果当前描述符地址寄存器中的DMACDARn[EOSIE]置位,则置位该位,并产生一个中断。

0

EOCDI

链/直通结束。

当完成了最后一个DMA传输时,不论是在链模式中还是在直通模式中,如果DMAMR[EOTIE]置位,则置位该位,并产生一个中断。

12.5.8.3DMA当前描述符地址寄存器(DMACDARnDMACurrentDescriptorAddressRegister)

DMACDARn包括正在传输的当前段描述符的地址。

在链模式中,软件必须初始化该寄存器,使其指向链中的第一个描述符。

在处理完第一个描述符之后,DMA控制器将下一个描述符地址寄存器的内容移动到DMACDAR中,将后面的描述符装入到DM

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2