您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 实时数字信号处理 片上总线与DMA
实时数字信号处理第5章片上总线与DMAADSP-BF561的总线体系内核到系统和L2存储器的端口•每个内核有3个端口连接到系统和L2存储器–16-bit内核MMR端口•16-bit外设访问总线(PAB)用该端口连接核外外设与内核A、B的系统MMR•允许两个内核同时对PAB访问请求–64-bit内核(L1存储器访问)P端口•提供了通过32-bit外部访问总线(EAB)到EBIU的接口•提供了通过64-bit内核L2总线到L2存储器的接口•流水线执行内核的存储器访问请求–32-bit内核D端口•DMA控制器通过这个端口读写L1存储器•有3个DMA控制器(DMA1、DMA2、IMDMA)通过该端口请求访问L1存储器,需要仲裁逻辑L2存储器连接到内核的总线•L2存储器有2个端口连接至下列2条内核总线(工作在CCLK)–64-bit内核L2总线•内核A或B对L2存储器的数据/指令的访问请求•L1/L2存储器系统内的IMDMA数据传输–32-bit系统L2总线•外设/外部存储器与L2存储器之间的DMA1和DMA2数据传输系统总线•系统功能由下列系统总线支持(工作在SCLK)–16-bit外设访问总线(PAB总线)–32-bit外部访问总线(内核A的EAB总线、内核B的EAB总线)–32-bitDMA内核总线(DCB1总线、DCB2总线、DCB3总线和DCB4总线)–32/16-bit(32-bitDAB1总线、16-bitDAB2总线)–32-bitDMA外部总线(DEB1总线、DEB2总线)其它总线•IMDMA有2条32-bitDCB总线–DCB3连接到内核A–DCB4连接到内核B•支持L1与L2之间的数据传输•工作在CCLK•外部端口总线(EPB总线)–提供了EBIU与外部存储器之间的连接•工作在SCLK内部时钟•CLKIN、PLL输出、CCLK、SCLK•工作在CCLK的内核总线–如MMR总线、I总线、D0总线、D1总线、DMA总线•工作在CCLK/2的内核总线–——内核L2总线与系统L2总线(SysL2总线)•所有系统总线与EBIU工作在SCLK–SCLK低于或等于CCLK,不超过133MHz•所有同步外设的时序均由SCLK产生–按可编程频率工作,降低功耗内核简图内核DMA端口DCB总线仲裁CxDMAPRIO中,x=A表示内核A,x=B表示内核BL2存储器接口总线仲裁L2存储器接口数据处理延时EBIU访问总线仲裁DMA概述•3个独立的DMA控制器–DMA1,DMA2和IMDMA•DMA1和DMA2每一个都有12个外设DMA通道和4个存储器DMA通道–连接到DMA1控制器上的外设支持多达32-bit数据传递–连接到DMA2控制器上的外设支持16-bit数据传递•IMDMA有4个存储器DMA通道–DMA控制器能够完成以下几种类型的数据传送•内部存储器(L1/L2)(IMDMA、MDMA1、MDMA2)之间•外部存储器(SDRAM,Flash存储器)和内部存储器(L1/L2)(MDMA1、MDMA2)之间•存储器和串行外设接口(SPI)、串口(SPORT)、UART、并行外设接口(PPI)之间默认的通道设置•通道号也就是默认的通道优先级号,0代表最高优先级–可通过外设映射寄存器(DMAx_PERIPHERAL_MAP或MDMA_yy_PERIPHERAL_MAP)改变默认值DMA传送分类•DMA传送–基于描述符的DMA传送•设置一套参数并保存在存储器中,用来发起DMA序列,这种传送允许链接多个DMA序列•DMA通道可以通过编程,以便当前DMA序列完成时自动设置和启动另一DMA传送–基于寄存器的DMA传送•直接编程DMA控制器进而发起DMA传送•结束后,控制寄存器可以用它们原始的设定值自动更新以实现连续传递DMA和存储器DMAMMR•DMA寄存器分为3类–参数寄存器•例如DMAx_y_CONFIG和DMAx_y_X_COUNT–字母‘x’表示的是DMA_1或DMA_2,字母‘y’表示一个特定的有DMA能力的外设–例如,对于默认通道映射下的DMA,DMA2_5_CONFIG表示用于UARTRX(连接DMA2的通道5)外设的DMA_CONFIG寄存器。•只有参数寄存器能够从描述符单元中直接加载–当前寄存器•例如DMAx_y_CURR_ADDR和DMAx_y_CURR_X_COUNT–控制/状态寄存器•例如DMAx_y_IRQ_STATUS和DMAx_y_PERIPHERAL_MAPDMAMMR的一般性名称•整理文稿p.11表5-7DMAMMR和描述符单元命名约定•整理文稿p.11表5-8存储器DMA寄存器的命名约定•整理文稿p.12表5-9寄存器•下一个描述符指针寄存器(DMAx_y_NEXT_DESC_PTR/MDMAx_yy_NEXT_DESC_PTR)•起始地址寄存器(DMAx_y_START_ADDR/MDMAx_yy_START_ADDR)•…重要寄存器•DMA配置寄存器(DMAx_y_CONFIG/MDMAx_yy_CONFIG)–位域[14:12]:FLOW[2:0](下一个操作),指定下一个DMA传送的类型。•0x0-停止–当前工作单元完成时发送一个中断信号,之后DMA通道自动停止–通道是暂停的,外设中断也会被DMA单元滤除,可通过向另一个DMAx_y_CONFIG寄存器中写入以指定下一个工作单元的方式来重启•0x1-自动缓冲模式–根据DMAxMMR设置,按照一个连续循环缓冲方式来运行–当工作单元一完成,参数寄存器就会被重新加载到当前寄存器中恢复运行•0x4-描述符阵列模式–从存储器中读取一个描述符,但不包括NDPH或NDPL单元–描述符不包含下一个描述符指针项,默认地使用CURR_DESC_PTR寄存器单步执行描述符,从而允许一组描述符像队列一样在存储器中一个接着一个•0x6-描述符列表(小模型)模式–从存储器中读取一个描述符,包括NDPL但不包括NDPH–下一个描述符指针域的高16位从NEXT_DESC_PTR的高16位获得,所有描述符限制在了存储器中一个特定的64K的页中•0x7-描述符列表(大模型)模式–从存储器中读取一个描述符,包括NDPH和NDPL–允许在存储器中分配描述符有最大的灵活性•DMA配置寄存器(DMAx_y_CONFIG/MDMAx_yy_CONFIG)–位域[11:8]:NDSIZE[3:0](可变描述符大小)•指定内存中将要加载的描述符单元的个数(0001-1001)•停止或自动缓冲模式这个域必须为0(0000)•如果NDSIZE和FLOW指定的一个描述符扩展到YMOD之外,将产生一个DMA错误–位[7]:DI_EN(数据中断使能)•指定是否允许一个工作单元完成时产生一个中断•置1时允许产生,清零时不允许产生–位[6]:DI_SEL(数据中断定时选择)•指定数据中断的时间–是完成了整个缓冲之后(若清0)还是完成内部循环的每一行之后(若置1),仅用于2DDMA•DMA配置寄存器(DMAx_y_CONFIG/MDMAx_yy_CONFIG)–位[5]:RESTART(DMA缓冲清除)•指定在下一个工作单元开始之前,FIFO里已接收到的数据是保存(RESTART=0)还是丢弃(RESTART=1)–当DMAEN位从0变到1时,会自动地被丢弃,典型情况是当通道第1次被使能时•如果工作单元构成了一个连续的数据流,那么接收到的FIFO数据应该被保留在工作单元之间•如果一个新的工作单元开始了一个新的数据流时,RESTART位应当被设置成1,以清除之前接收到的数据•RESTART位仅用于存储器写入DMA通道,仅影响通过写入DMAx_y_CONFIG寄存器来发起的第1个工作单元•DMA配置寄存器(DMAx_y_CONFIG/MDMAx_yy_CONFIG)–位[4]:DMA2D(DMA模式)•0:一维DMA模式,仅涉及X_COUNT和X_MODIFY•1:二维DMA,还涉及到Y_COUNT和Y_MODIFY–位域[3:2]:WDSIZE[1:0](传送字大小)•值00、01、10分别对应8-bit、16-bit、32-bit传送•DMA地址指针寄存器的增量大小(跨距)是传送单元大小的倍数–1:8-bit,2:16-bit,4:32-bit–位[1]:WNR(DMA方向)•0:存储器读,1:存储器写–位[0]:DMAEN(DMA通道使能)•指定是否要使能一个给定的DMA通道(0-禁止,1-使能)•通道禁止时DMA单元会忽视外设中断并将它直接传递给中断控制器•外设映射寄存器(DMAx_y_PERIPHERAL_MAP/MDMAx_yy_PERIPHERAL_MAP)–包含的位•1)映射这个通道到一个特定的外设•2)辨别这个通道是一外设DMA通道还是存储器DMA通道–通道和外设之间1:1的映射关系»如果多个通道映射到同一个外设,仅有一个通道会被连接»如果一个通道映射到了一个不存在的外设,会被禁止——DMA请求会被忽略,不会发出DMA应答,也不会有DMA请求从外设发送到中断控制器•DMA1_y_PERIPHERAL_MAP/MDMAx_yy_PERIPHERAL_MAP–位域[15:12]:PMAP[3:0](映射到此通道的外设),0x0-PPI0,0x1-PPI1。–位[6]:CTYPE(DMA通道类型)-RO,0-外设DMA,1-存储器DMA•DMA2_y_PERIPHERAL_MAP/MDMAx_yy_PERIPHERAL_MAP–位域[15:12]:PMAP[3:0](映射到此通道的外设),0x0-SPORT0RX,0x1-SPORT0TX,0x2-SPORT1RX,0x3-SPORT1TX,0x4-SPI,0x5-UARTRX,0x6-UARTTX–位[6]:CTYPE(DMA通道类型)-RO,0-外设DMA,1-存储器DMA外设映射关系
本文标题:实时数字信号处理 片上总线与DMA
链接地址:https://www.777doc.com/doc-3852808 .html