第06课-TigerSHARC数字信号处理概述外围-DMA-DSP硬件设计参考PPT课件

上传人:夏** 文档编号:569709610 上传时间:2024-07-30 格式:PPT 页数:58 大小:545.50KB
返回 下载 相关 举报
第06课-TigerSHARC数字信号处理概述外围-DMA-DSP硬件设计参考PPT课件_第1页
第1页 / 共58页
第06课-TigerSHARC数字信号处理概述外围-DMA-DSP硬件设计参考PPT课件_第2页
第2页 / 共58页
第06课-TigerSHARC数字信号处理概述外围-DMA-DSP硬件设计参考PPT课件_第3页
第3页 / 共58页
第06课-TigerSHARC数字信号处理概述外围-DMA-DSP硬件设计参考PPT课件_第4页
第4页 / 共58页
第06课-TigerSHARC数字信号处理概述外围-DMA-DSP硬件设计参考PPT课件_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《第06课-TigerSHARC数字信号处理概述外围-DMA-DSP硬件设计参考PPT课件》由会员分享,可在线阅读,更多相关《第06课-TigerSHARC数字信号处理概述外围-DMA-DSP硬件设计参考PPT课件(58页珍藏版)》请在金锄头文库上搜索。

1、第六节 TigerSHARC外围DMA和TS101硬件设计参考2021/7/231上节回顾TigerSHARC 外口总线SDRAM协议多片DSP接口;Host接口;EEPROM接口;Link口;2021/7/232本节内容TigerSHARC IOP的最后一部分:DMA控制器;TS101硬件设计参考2021/7/233PART 1Direct Memory Access (DMA)2021/7/234DMA 控制器主要内容DMA介绍DMA特点DMA 通道优先级DMA 传输类型传输控制块 (TCB)DMA控制和状态寄存器链式DMA 和中断2021/7/235ADSP-TS101S Block D

2、iagramJTAGPORTSDRAMCONTROLLER6LINKPORTSLINKPORTCONTROLLERCONTROL/STATUS/BUFFERSL138L283L338L083INPUT FIFOOUTPUTBUFFEROUTPUT FIFOHOSTINTERFACEMULTI-PROCESSORINTERFACECLUSTERBUSARBITORData64EXTERNALPORT32CNTRLDMA ControllerIABPCBTBIR QADDRFE TCHINTEGERKALUINTEGERJALU3232M0 ADDRM1 ADDRM2 ADDRM0 DataM2

3、DataM1 Data323232128128128IO ADDR32Program SequencerData Address GenerationMemoryBlockM0MemoryBlockM1MemoryBlockM2InternalMemoryCoreIO ProcessorADDR32 x 3232 x 32DABMultiplier ALU XRegisterFile Shifter 6464646464646412812812812864DAB128128Multiplier ALU YRegisterFile Shifter 646464646464Comp Block X

4、Comp Block Y2021/7/236DMA 介绍没有DMA的系统CPURAMDMAControllerROMRAMPeriphHOSTDMA用于IO传输: 产生源地址; 产生目的地址; 控制总线数据操作;内部总线外部总线CPUROMRAMPeriphHOST使用 DMA的系统2021/7/237SDRAMSRAMI/OHostInterfaceTiger SHARCLink Port connectionUregsMemUregsMemTiger SHARCBoot PROMDMA 介绍TS101 DMA操作的源和目的;2021/7/238DMA 特点TS101的DMA 传输可以由本地

5、DSP、总线上其他DSP或者Host启动; 每个TS101内部共用14 DMA通道;DMA 操作可以被暂停和重新启动;DMA 操作之前必须要配置TCB块,加载TCB块时启动DMA工作;DMA 长度寄存器为16bit,当DMA传输时,计数值递减;当0时DMA结束;如果启动是长度设置为0,则本次DMA操作的长度为 0x10000 words.DMA 传输和内核传输可能会同时争抢内部总线,在一定时间内会造成总线暂停;由于内部总线带宽相对外部总线带宽非常高,因此冲突被降低到最小化。2021/7/239DMA 优先级2021/7/2310Channel 3Channel 2Channel 0Channe

6、l 1Channel 0Channel 3Channel 2Channel 0Channel 3Channel 2Channel 1Channel 1DMA 1 selectedDMA 0 selectedDMA 优先级DMA 共有14个通道,优先级排列如下:2 Auto DMA channels (13 - 12)4 Receive Link 3-0 channels(11 - 8)4 Transmit Link 3-0 channels(7 - 4)4 External Port 3-0 channels(3 - 0)目前情况下,外总线DMA通道的优先级为:30轮询:The DMA pri

7、ority bit separates rotation into two priority sets - high (with bit set) and low.2021/7/2311DMA 传输类型TS101允许的DMA传输类型:内存 外存内存 其他 TigerSHARCs的内存和寄存器内存 主机内存 Link Port 内存 Boot Prom/FLASH外存 外设(Flyby transfer)外存 Link Port I/O外部主设备 =内存(via Auto DMA)外部主设备 = Link Port I/O (via Auto DMA)Link Port 输入= Link Por

8、t 输出外部设备可以通过4个边沿触发的DMAR信号申请DMA;2021/7/2312DMA 传输类型DMA传输类型可以分成如下几种:内存 外口 (Cluster Bus)这类DMA可以进行双向传输,需要设置两个DMA控制块 (TCB).发送TCB、接收TCB;Auto DMA 寄存器 内存.只需要设置一个接收 TCB.数据输入端是固定地址的两个寄存器;外设只向一个地址连续写入数据,TS101内部根据TCB设置将寄存器数据写入对应的内存地址;内存或者外存 Link ports.只设置发送TCB;Link ports 内存或者外存 .只设置接收TCB;每个Link口分配有两个DMA通道;Link

9、port Link port.只设置接收TCB;Flyby 传输2-D(2维)DMA传输;DMA chaining(链式DMA传输)2021/7/2313Host InterfaceSDRAMSRAMI/OTiger SHARCMemTiger SHARCTiger SHARCTiger SHARCDMA 传输类型- 外口内存 外口 (Cluster Bus)MemMemMem2021/7/2314SDRAMSRAMI/OHost InterfaceLink兼兼容设备容设备Link Port connectionsTiger SHARCTiger SHARCLink兼兼容设备容设备Memory

10、MemoryDMA 传输类型- Link Port内存或者外存 Link ports2021/7/2315SDRAMSRAMExternalbus masterHost InterfaceTiger SHARCTiger SHARCTiger SHARCTiger SHARCMemoryDMA 传输类型- Auto DMAAutoDMA transfers 从外总线到内存 2021/7/2316Flyby transfers 从外存到外部IO设备;SDRAMSRAMI/OHost InterfaceTiger SHARCLink Port connectionsTiger SHARCTiger

11、 SHARCTiger SHARCDMADMA 传输类型- Fly-by2021/7/2317链式DMA and 2-Dimensional链式DMA操作使得一个DMA操作结束后,自动启动下一个DMA操作;链式DMA操作由:链表组成,相连的两个DMA链可以是同一个DMA通道也可以是不同的DMA通道。2021/7/23182维DMADMA控制器可以按照2维存储器的方式进行访问,而且每个DMA通道都可以配置成2维DMA;2维DMA需要设置X方向的起始地址、长度和步进,以及Y方向的起始地址、长度和步进。2维DMA通用用于矩阵数据的访问,例如:作矩阵转置处理;对图象数据作处理;2021/7/2319D

12、MA控制块TCBTCB:Transmit Control Block:是一个用来控制一个DMA通道工作的寄存器组;每个DMA通道对应1个或2个TCB。TCB的寄存器为带地址映射的寄存器;通过对这些寄存器的编程设置,完成对DMA的操作;每个TCB是连续地址的4个寄存器;访问方式必须是QuadWord访问;外口DMA的TCB:2个DCSx = 源地址TCB registersDCDx = 目的地址TCB registersx = (e.g., 0, 1, 2 or 3)Example:DCS0 = xr3:0; / external port 0 DMA sourceDCD0 = xr7:4; /

13、 external port 0 DMA destinationLink Ports和AutoDMA 只有1个TCBDCx = 源TCB registersx = 413;Example:DC9 = xr3:0; / link 1 rx DMA2021/7/2320TCB DI DMA起始地址寄存器(可能是源地址,也可能是目的地址)DX - X (1维)16bit地址步进量和16bit的传输长度(单位是Word);DY - Y (2维) 16bit地址步进量和16bit的传输长度(单位是Word);DP 链指针和DMA控制寄存器TCB内的每个寄存器都不能独立访问,必须4字访问;DMA控制块TC

14、BTCB 寄存器组共寄存器组共128bit,共四个独立的寄存器;,共四个独立的寄存器;31 0DI RegisterDX RegisterDY RegisterDP Register127 962021/7/232131 0ADDRESS POINTERDMA控制块TCB_DIDI 寄存器: 32-bit 地址寄存器 可以是内存地址;外存地址;Link口缓冲寄存器地址2021/7/2322DMA控制块TCB_DXDX 寄存器a) 16-bit 步进 (低16bit) and 16-bit 长度 (高位)或者b) 16-bit 步进 (低16bit) and 16-bit 一次X维的传输长度co

15、untX Count X Modify31 16 15 0Y Count Y Modify31 16 15 0DY 寄存器寄存器:只有在只有在2维维DMA的模式下才使用;是的模式下才使用;是Y方向的步进和长方向的步进和长度;度;当计数器值递减至当计数器值递减至0时,时,DMA传输接收;传输接收;-Count 表示 32-bit words的数量;-16bit宽,最大支持64KWord的DMA长度;2021/7/2323DMA Control Chaining Pointer31 22 21 0DMA - TCBDP 寄存器: - 两个部分a) bits 23 31:专用于DMA控制;b) Bi

16、ts 0 - 22 :专用于链式DMA控制,链表地址;2021/7/2324DP寄存器1Bits 0 - 14 :CHPT下一个TCB的首地址的Bit162,Bit1、0为0(四字对齐)Bits 15 - 16 :MS链式TCB表的存储位置,内部存储空间(block0、1、2)的片选,只能在内存;Bits 17 21:CHTG该链的DMA通道;Bits 22 :CHEN链式DMA使能; 2021/7/2325DP寄存器2Bits 23:DRQDMA申请使能 (DMAR3:0)Bits 24:INT中断使能:0= 不使能, 1 = 使能Bits 25 - 26 :LENDMA单位长度01 = n

17、ormal, 10 = double word11 = quad wordBits 27:2DDMA二维DMA使能Bits 28:PRDMA申请总线优先级0 = normal1 = highBits 29 - 31 :TYDMA设备类型000 DMA disabled001 I/O link ports010 Internal memory011 Reserved100 External memory101 External I/O device110 Boot EPROM111 Reserved2021/7/2326DMA - TCB 寄存器的使用TCB寄存器有三种加载方式:DSP程序将4字

18、对齐的内存或寄存器中的数据协议TCB寄存器组;链式加载TCB:DMA控制器根据每一个TCB中DP寄存器中的Bit014的地址,自动加载下一个链的TCB。外部设备直接写TCB寄存器。一旦向TCB加载正确的参数后,DMA自动开始运行。注意:向TCB的TY域写入000时,会清除该通道的所有状态寄存器位;向一个已经激活的TCB再次写入时,会造成硬件错误中断;2021/7/2327DMA操作的寄存器设置要求操作要求外口接收、发送TCB中的长度、数量和DMAR使能设置必须匹配;Boot EPROM DMA LEN = 1 (normal),Link口DMA LEN = 3 (quad)Link发送 TY

19、= 2 (int memory)或 4 (ext memory)Link接收 TY = 1 (link)或 2 (int memory)或4 (ext memory)Auto DMA TY = 2 (int memory)Link和Auto DMA中必须设置DMA Request项;地址、步进量、长度的设置一定要和LEN设置相对应;2021/7/2328DMA 寄存器设置要求 2要求:外DMA的TY设置:2021/7/2329状态和控制寄存器DMA的状态和控制寄存器:DSTATDCNTDCNTST(DCNT的设置寄存器)DCNTCL (DCNT的清除寄存器)2021/7/2330状态寄存器DS

20、TAT - 64-bit寄存器,表示所有DMA通道的状态;DSTAT:不能采用NormalWord访问,必须 Long 或者 Quad Word 访问;DMA状态寄存器的bit定义:Bits 0 - 2Name: CH0Description000 通道不使能;001正在传输010传输结束011Reserved100TCB初始化错误101非法的TCB设置110Reserved111DMA地址错误其他13个DMA通道的定义相同:2021/7/2331控制寄存器 1 DMA 控制寄存器:DCNT 32bit控制寄存器,每通道1bit;DCNTST用于设置32bit的控制寄存器;DCNTCL用于清零

21、的32bit控制器;在DCNTST中设置一位,可以暂停传输;对DCNTCL中设置一位,可以清楚对暂停的限制;2021/7/2332控制寄存器2 控制寄存器ResPA13PA12ResResPA11PA10PA9PA8ResResPA7PA6PA5PA4PA3PA2PA1PA031-18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0Pause bit for channel #0 = Continue transferring data1 = Pause channel # data transfer after current word transfe

22、r (if started)2021/7/2333链式DMA链式DMA允许多个DMA联系进行传输;每个DMA可以使用 不同属性底块;TCB中采CNEN位来使能链式DMA;TCB中DP寄存器的CHPT位,指向存放下一个DMA链的TCB参数的首地址;DMA控制器从该地址,自动加载下一个DMA的参数到TCB。TCB 1Chain PointerTCB 2Chain Pointer2021/7/2334链式DMASingle TCB TransferSingle TCB TransferDual TCB transferDual TCB TransferDual TCB transferSingle

23、TCB Transfer*Single TCB transferDual TCB Transfer* Special setup via core required Only one block transfer of this type can occur without setting up DMA process again2021/7/2335链式DMA插入DMA插入:在正在进行链式DMA过程中,插入一个DMA链;基本过程如下:通过 DCNT寄存器暂停当前DMA;将当前TCB中的原来的CHPT设置到要插入的DMA链的TCB中;DSP内核改写当前DMA的TCB,更新其中的CHPT(指向新

24、的DMA链);通过DCNT寄存器恢复当前DMA传输;当前DMA继续传输,结束后启动新的DMA;2021/7/2336原来的DMA链 (or loop)TCB1 A:新插入的DMA链;TCB 1Chain PointerTCB 2Chain PointerTCB 1Chain PointerTCB 2Chain PointerTCB 1AChain Pointer链式DMA插入DMA链的插入过程示意图2021/7/2337DMA 中断每个DMA通道分配有独立的中断向量;使能DMA中断,需要在DCTL寄存器和IMASK寄存器中设置;中断使能后,DMA通道在Count0,并且完成当前传输时,发送中断

25、;此时的Count0必须是由于DMA通道实际传输造成Count值递减所制;内核设置Count为0时(即刚启动了一个64K长的DMA传输),不产生中断;TS101内核锁存DMA通道的中断于ILAT寄存器中;TCB中设置了INT有效,就会在该次传输后产生中断;可以设置链式DMA在中间链的TCB中INT无效,只有最后一个TCB中INT有效,则只在链式DMA结束后才产生一次中断;2021/7/2338PART IITS101 的硬件设计参考2021/7/2339TS101硬件设计参考主要内容复位时钟电源加载JTAG调试总线连接Link口设计2021/7/2340复位电路TS101的复位输入信号:/Re

26、set;复位模式:上电复位;复位逻辑很特殊,一般参用CPLD编程输出;自动加载程序;普通复位;外部输入普通复位模式的Reset信号;自动加载程序;内核复位;设置SQCTL寄存器的SQRST位;只复位内核部分,不复位IOP,不自动加载;2021/7/23412021/7/2342时钟电路TS101的时钟输入:SCLK、LCLK;要求两个输入为同源同相时钟;对时钟的Jitter有严格要求:100ps;时钟驱动要注意:一个驱动芯片不要输入两种时钟;驱动与器件之间采用点对点连接;所有设备的连线要尽量等长;2021/7/23432021/7/2344电源电路的设计电源输入:IO电源:3.3V数字电源;内

27、核电源:1.2V数字电源;锁相环电源:1.2V模拟电源;电源上电顺序:要求1.2V比3.3V先上电;去耦电容:两种电源都要有较多的去耦电容,0.1uf和10uf两种;2021/7/2345模拟电源的滤波: 用1.2V数字电源通过滤波电路产生;2021/7/2346功耗分析功耗分成两部分:内核功耗:1.2VIdd;IO功耗:3.3VIdd_io;Idd最大值1.546A;Idd典型值:1.513A;64bit总线时,典型电流:0.137A3.3V;典型功耗:1.5131.2 0.1373.3 =2.26W2021/7/2347加载电路的设计加载方式:(由BMS信号控制)EPROM Boot(BM

28、S0);复位后,DSP自动读取EPROM中数据,加载到DSP内存中;DMA 通道0,默认启动256字的接收DMA;加载有协议控制,256字是加载头,后面的是真正的程序数据,根据握手协议读入DSP内存的特点地址中;Host Boot (BMS1) ;复位后,DSP的AutoDMA自动启动接收256字的DMA;Host可以写AutoDMA加载DSP的程序;Host也可以通过直接写DSP的内存地址将DSP的数据写入DSP的相应地址中;2021/7/2348Link Boot (BMS1)TS101可以通过Link被其他带有Link口的设备加载;TS101的4个Link口都具有加载能力;上电复位后,T

29、S101的4个Link口都默认启动了256字的接收DMA;可以构成Link网络加载;No Boot (BMS1,BM1)DSP上电复位后从外部存储器读取程序指令,并开始允许;2021/7/2349JTAG调试接口JTAG接口:一种国际标准的芯片调试接口;可以用于访问DSP的所有内部资源、控制DSP的程序运行等;是调试DSP程序的一种基本手段;ADI的开发系统通过JTAG口与DSP连接,可以在VDSP界面下调试DSP程序;JTAG口可以采用菊花链的形式,通知调试多个DSP设备;2021/7/23502021/7/23512021/7/2352总线连接数据总线的连接32bit和64bit的问题;高

30、低32bit分别对应了WRH和WRL信号;地址总线的连接32bit数据总线:地址总线使用A0;64bit数据总线:地址总线不使用TS101的A0,将TS101的A1连接存储(或外设)的A0;SDRAM空间使用A15A0(或者A31A16)的地址,其中最高两位连接SDRAM的Bank0、1;Bug:Page1K时,A15不能用于Bank1;2021/7/2353总线连接 所有关键的控制信号线都加上拉电阻;不使用的控制信号也要上拉;多DSP总线连接的时候,必须有唯一一个ID号为0;其他所有DSP的ID号不能重复;单DSP系统,DSP的ID0;2021/7/2354Link口设计几个要点:Link信号线要尽量等长;阻抗匹配;两个相连接的Link口的时钟信号要交叉连接;Link驱动的方向控制;2021/7/23552021/7/2356下课 2021/7/2357个人观点供参考,欢迎讨论

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

最新文档


当前位置:首页 > 资格认证/考试 > 自考

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