DSP教程3.TMS320C55x的硬件结构(精)_第1页
DSP教程3.TMS320C55x的硬件结构(精)_第2页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1、嵌入式DSP软件开发第三章:TMS320C55x的硬件结构Your Futurr目标:本章旨在向学员介绍TMS320C55X的硬件结构:1)TMS320C55X的总体结构2)C55x的CPU结构3)CPU寄存器4)存储空间和I/O映射5)堆栈操作6)中断和复位操作aProgramming Your Future冯诺依曼和哈佛结构ABCpipelineD DE EF FG G H HE & G Accesssame address.叶2|DRi: R2Ew流水线白动保护机制Fl:取指令地址F2:取指令内容D1: 32/16 判断边界D2:取指译码R1:操作数地址R2:取操作数E:指令执行

2、W:写内容回存储氓元独立的乘加器在数字信号理论的学习中,我们知道在卷积、 数字滤波、FFT、矩阵等一类运算中,大量的 重复乘法和累加,两个变量先乘法再加法。在 数字信号运算过程中,在提高其速度的时候必 须提高乘加运算。怎样提高就是DSP设计的初 衷;在通用计算机中乘法使用软件实现的,会占用 过若干个机器周期; DSP有硬件乘法器,使用MAC指令(取数、乘 法、累加,存储)可以在但周期内完成。独立的DMA总线和控制器有一组或多组的独立的 DMA 总线。与 CPU 的 程度和数据总线并行工作,在不影响 CPU 工 作的情况下,DMA 速度已达到 800M byte/s oProgramming Y

3、our Future3.1 TMS320C55X 的总体结构C55x 主要山 3 部分组成:CPU、存储空间和片内外设。3.1.1 C55x CPU内部总线结构C55x CPUV 有丄 2 组内部独立总线,即A 程序地址总线(PAB) : 1 组,24 位A 程序数据总线(PB) : 1 组,32 位;数据读地址总线(BAB、CAB、DAB) : 3 组,24 位;数据读总线(BB、CB、DB) : 3 组,16 位;数据写地址总线(EAB、FAB) : 2 组,24 位;数据写总线(EB、FB) : 2 组,16 位。Programming Your Future3.L2C55X 的 CPU

4、 组成QC55x 的 CPU 包含 5 个功能单元:gw指令缓冲小元(1 甲元):包括 32*16 位指令缓冲队列和指令译码器。主要接收程序代码并负贵放入指令缓冲队列,山指令译码器來解释 指令,然后再把指令流传给其他的丄作单元來执行这些指令。程序流单元(PR.元):包括程序地址发生器和程序控制逻辑。此单 元产生所有程序空间地址,并送到 PAB 总线。地址一数据流也元(A 怔元):包括数据地址产生电路(DAGEN)、 附加的 16 位 ALU和 1 组寄存器。此单元产生读/写数据寄间地址,并送 到 BAB、CAB、DAB 总线。数据运算单元(D 肛元):包括 1 个 40 位的筒形移泣寄存器、2

5、 个乘加单 元、1 个 40 位的ALU 以及若干寄存器。D 单-元是 CPU 中最主要的部分, 是主要的数据处理部件。储器接厂 I 讥元(M 单元):是 CPU 和数据空间哎 I/O 空间之间传输所有数据的屮间媒介。Programming Your Future ppp_MK:-w _3.1.3 C55x 存储器配置4Your FuturrC55x 采用统一的存储空间和I/O空间,片内存储空间共有 352KB,外部存储空间共有 16MB。C55x 的 I/O 空间弓程序/地 址空间分开。I/O 空间的字地址为 16 位,能访问 64K 字地址。当 CPU 读写 I/O 空间时,在 16 位地

6、址前补 0 来扩展成 24 位地址(地址总线为 24 位)。表 3-1 C55x 片内存储器配置ROM (KB)32326464646432RAM(KB)326464128128256320 xxn itHHProqfMnmngVov FutureDMA r?aTH?规J-*|-47WMCP:TIM皿HM13?ProgrammiiB Your3 1TMS3 1TMSvmn丄irIIIIProgramming Your Future3.1.4C55X 外设配置表 3-2C55X 片内外设配置3.1.4C55X 外设配置民Yowf Futurr说明:模/数转换器(ADC):用采集电压和而板旋钮的输

7、入值,转换为数字戢。町编和数j锁和环时钟发个器:VC5509的时蚀频率可达200MHz.最小机器周期为Sns。 指令高速缓存(I-Cache) : 1个可配置的24KB存储器,叮垠小化对外部存储区的访问。外部存储器接口(EMIF):可以实现与各种存储器件如界步SRAM.斤步EPROM.同 步DARAM和同步突发SRAM的无缝连接。直接存储器访问控制器(DMA):在无CPU参与的情况匚 允许数据在内部存储器.夕卜 部存储器和增强主机口(EIIPI)之间传输。多通道串行缓冲口(MeBSP):全双工串口。增强熨主机接I(EHPI) : 16位并行接口,用提供主处理器对DSP上内部存储器的访 问。2个

8、16位的通用定时/计数器,8个可配置的通用I/O引脚(GPIO) o实时时钟(Real Tinw Clock, RI C):捉供一个时间参考,并能产生基于时间的报警来 屮断DSP。4rogfMnmr VouFuture模数转换器(ADC)时钟发生器存储器直接访问控制器(DMA)外部存储器接U(EMIF)主机接口(HPD描令缓存内部集成电路(hC)模块 多通道缓冲串行接口(MeBSP)多媒体卡/SD卡控制器 电源管理/节电(IDLE)配世 实时时钟(RTC 通用定时器看门狗定时器通用界步接收器/转换器(UARTb)I通用串行总线(USB)模块APLL16KB2/42/4APLLDPLLD&

9、; APLLD&A PLLDPLLDPLL1116KB24KBProgramming Your Future看门狗圧时器(WEdidog Tinier):可以任软件陷入循环乂没冇受控退出的帖况人 防I上系统死锁。Programming Your Future3.2 C55x的CPU结构总线P 數期的地址总线EAB,FAB(埒11 l24tTT图3 2 Q55寬I* 1CPII幺也Ji门冬IProgramming Your Future321 存储器接口单元(M 单元)4Yowf FuturrM单元是一个内部数据流、 指令流接口, 管理 所有來自CPU、数据空间或I/O空间的数据和指令,

10、 负责CPU和数据空间以及CPU和I/O空间的数据传输。4ProqfMnmngVou Future读数抑;的数据总线BB.CB.DB(毎加16位)地址S?xBAB,CAB,DAB毋组24位)j jM *读程jj!的地址总线PAJ(虹组24位外部数撫外部程序,八1、zyi B.PB(irnioA)Programming Your Future322 指令缓冲单元(I 单元)41833 I 单元结构框图图 3-4 P 单元结构框图产生程序空间地址.并加载地址到PAB:Programming Your Future32.3 程序流单元(F 单元)M 中元数*5读数据总线CB.DB用序汝地址总线 PA

11、B程序地址产生逻辑:产生24位的程序空间取指的地址:也町以I讥尤的立即数或尤的寄”器值作为地址A 恥兀甩序控制逻勒*:接收*7%帝元的立即数.并测试來门A我八或D单尤的结来从而执彳j如卜动作:占测试条井执行指令的条件是否成工,把测 试结果送桂序地址废生器:2当中斷被请求或使能时,初始化中断服务 程用:3控制单指令匝圮或块指令逼如 彎理并行执行的指令。数据 9 数据总线Programming Your Future控制指令流顺序。Programming Your FutureDAGEN产生所有读弓数据空间的地址:效魅读数期总线 CB D8T (Htf I根据p单尤指示.对间接J址方式时选择使用删

12、維惟寻址还是循环寻址。数期汝地址线ADAB A 单尤数斯地址. 产生器单.兀:(DAGEN).附临ALU可搐攵來口I单尤的立即数或与存储器、I/O空间、A軍咒寄存器、D单元寄存器和P单尤 命存器进行双向通信。町完成如卜动作:加法、减法、比较、布尔逻辑.符号移位、逻辑移位和绝対值计算:测试.设宜.涓空.求补A唯尤寄”器位 般卿器位域:改变或转移寄存器值.循环移位寄存器值.故胁i蚊快皿线E6 FB(毎细K位如从移位器向-个A单尤寄器送持宦(1*1:图 S5 A 单元结构框图Programming Your Future接收來mrJc的釜即数与存储器、i/o坯间D单元寄存器.卩 单元寄存器.A单尤寄

13、荷器进行双向通倍;移位结果送至D实现40位累加器值址人左移31位或址人右移32位:实现16位寄存器.心储器或I/O空间数据加人人移31位或垃人右移总线BB.CB.DBI 单元序位竺画他位:实现16位立即数竝大左移15位:捉双或旷味位域.执仃位计数:.对寄存器值进行循环移位; 在累加器的值存入数抑;空间ZM对它们进彳醐乂整/饱和处理。A单元M 肌元in驹个NTJovSHcWitt可从I单元接收立即数.或与存储器、I/O空间、D单元寄存器、P单 熄已寄存签、A单兀寄器进行*乂向通信,还町接收移位器的结果:加法、减法.I陵丁取整.饱和.布尔逻辑以及绝对值运舁金执行 条双16位灯术指令时.同时进行两个

14、知术操作:测试、设置、淸除以及求D单元寄存器的补码 对寄存器的值辺行移动。町支持乘法和加/减法在小个机器周期内,每个MAOJ以进 行一次17X17位小数或格数乘法运那和一次帯有町选的32或40位 饱和处理的40位加/减法运穽。MAC的结果送累加器:EBTRTFHirR? n8/164xt HP1Timer |Mc8SP |McBSP McBSP |PLL Dock |SAY Waitstate IProgram/Oita BusesA(229* AU)17 a6muxeRND&AVSMtr AccumuUtooi OtACCA83 ACC 8 AddrvssinglrwlCXPCncx

15、xtarProgramming Your Future3.2.6 地址总线与数据总线表 3 3 地址总线和数据总线的功能PAB24读程序的地址总线.每次从程序空间读时,传输24位地址PB32读程序的数据总线,从程序存储器传这4字节的程序代码给CPUCAB、DAB每组24这两纟tl读数据的地址总线,都传输24付地址。DAB在数据空间或I/O空间每读 一次时传送一个地址CAB在两次读操作里送第二个地址CBv DB每组 2这网纟fl谀数期的地址总线,郁传输lb的数值给CPUo UB从数据今冋或I/O空间读数据,CB在读长类型数据或渎两次数据时送第二个值BAB24读数据的地址总线,读系数时传输24位地

16、址。许多间接了址模式來渎系数的 指令,都要使用BAB总线来杳询系数值BB16渎数据的数据总线,从内存传送个16位数据伉到CPUo BB不和外存连接。BB传送的数据,IlBAB完成寻址某些专门的指令,在一个周期里用间接寻址 方式, 使用BB、CB和DB來提供3个16位的操作数。经山BB获取的操作数, 必须存放在 组存储器里,区别J CB和DB可以访问的存储器组EAB、FAB毎组244数据的地址总线.每组传输24位地址。EAB在向数据空间或I/O空间弓时传 送地址。FAB在収数据写时,传送第二个地址EB. FB每组169数据的数拥总线.每组从CPU读16位数据。EB把数据送到数据空间或I/O空何。

17、EB在写长类空数据或双数据写时传送第二个值Programming Your Future3.2.7 指令流水线C55x 的指令流水线分为两个阶段。(1)取指阶段:从存储器収来 32 位指令包,将其存入指令缓 冲队列(IBQ) oPF2等待存储器的响应F从存储器提取一个指令包,放入IBQ4Yowf futurr4Yowf futurr时间Programming Your FuturePD对IBQ电的指令作预解码(确认指令的开始和结束:确认并行指令)Programming Your Future327 指令流水线4Your Futuvr(2)执行阶段:对指令进行译码,并完成数据访问和计算。时间D从

18、指令缓冲队列里读6字节解码-个指令对或条单井令将指令调度给适当的CPU功能单元渎与地址产生冇关的STx_55位.AD读/修改与地址产生有关的寄存器: 使用A讥元的ALU作操作。AC1对存储器读.将地址送到适半的CPU地址总线AC2给存储器个周期的时间.來响应读请求Programming Your Future3.2.7 指令流水线R步从存储器利MMR寻址的寄存器读数据执行在A单元预取指的D单元指令时,读A单元的寄存器.在R阶段读, 而不足在X阶段或计篦条件指令的条件。X读/修改不是由MMR寻址的寄存器读/修改也个寄存器里的位设置条件计算XCCPART指令的条件,除非该指令是条件写存储器计算RP

19、TCC指令的条件WA 写数拯到MMRJ址的寄存器或【/O空间(外设寄心器)写数据到心储器。从CPU的角度看,该写操作在本流水阶段结束W+写数据到存储器。从存储器的角度看,该写操作在本流水阶段结束。4Your FutuvrProgramming Your Hutu re3.3 CPU 寄存器ProQfMnmng农 34 寄存器总表AC0AC3累加器0340AR(TAR7辅助寄存器0716BK03,BK47,BKC循环缓冲区大小寄存器16BRC0.BRC1块循环计数器0和116BRS1保存奇存益16BSA01/BSA23/BSA45/BSA67/BSAC循环缓冲区起始地址寄存器16CDP系数数据指

20、针(XCDP的低位部分)16CDPHXCDP的商位部分7CFCT控制流关系寄存器8CSR计算单循环寄存器16DBIEROZDBIER1调试中断便能由“器0和116DP数据页寄存器(XDP的低位部分)16DPHXDP的高位部分7IEROJER1中断便能寄存潔0和116Programming Your FutureIFR0JFR1中斯标志寄存器。和116IVPDJVPH中断向量指针16PC程序计数盟24PDP外设数期灰寄存器9REAOREAl块循环结束地址寄存器0和124RETA返阿地址寄存器24RPTC单循环计数器16RSAO?RSA1块筒环起始地址奇心器0和1w/ri z r16ST0_55F

21、3_55耳人念w n益03縮IM盎存16T0T31 111J 1F nit/KWt/ HU.H16TRNOTRN1扩展辅助寄存器07扩展系数数据指针 扩展数据加寄心器16XAR0XAR723XCDP23XDPMAVvlVvlJ 1 J WC7liFI扌广恥系统企桂扌斤俗23XSSP23ProQfMnmngVov*Fv!urcProgramming Your Future3.3.1 累加器C55x 的 CPU 包括 4 个 40 位的累加器:AC0AC3。4 个累 加器是等价的,任何一条使用一个累加器的指令,都可以通 过编程来使用。放高 8 位为 8 个保护位。图 3 7 累加器Programm

22、ing Your Future332 变换寄存器(TRN0/TRN1)4Your Futurr用在比较一选择一极值指令里。1比较两个累加器的高段字和低段字后,执行选择两个 16 位 极值的指令,以史新 TRN0 和 TRN1。比较累加器的高段 字后更新 TRN0,比较累计器的低段字后更新 TRNlo2在比较完两个累加器的全部 40 位后,执行选择一个 40 位极 值的指SCOSCOAC1AC1GAC1HAC1LAC2AC2GAC2HAC2L343231-1615-0AC3AC3GAC3H AC3L4Your futurrProgramming Your Future令,以更新被选中的变换寄存器

23、。Programming Your Future3.3.3 T 寄存器(TOT3)QVow futureCPU 包括 4 个 16 位通用 T 寄存器:TOT3。用途足:存放乘法、乘加以及乘减运算里的一个乘数。存放 D 单元里加法、减法和装入运算的移位数。用交换指令交换辅助寄存器(AR0AR7)和 T 寄存器的内 容时,跟踪多个指针值。在 0 单元 ALU 里做双 16 位运算时,存放 Viterbi 蝶形的变换 尺度。Programming Your Future3.3.4 用作数据地址空间和 I/O 空间的寄存器4Vow future表3 5丿IJ作数抑;地址空间和I/O空间的奇存器指向数

24、据空间中的一个数据,用间 接寻址模式访问指向数据空间中的个数据,用间 接了址模式访问指定个循环缓冲区起始地址.加 给一个折针指定循坏缓冲区大小指定用DP玄接寻址方式访问的起 始地址确 N 访问I/O空fl U的外设数据页指向数据堆栈的一个数据指向系统堆栈的个数据3.3.4 用作数据地址空间和 I/O 空间的寄存器4XAR0XAR7和AROAR7SCDP和CDPProgramming Your Future1辅助寄存骼(XAROXAR7/AR0AR7):每个辅助寄存器的 高 7 位用于指定要访问数据空间的数据页,低 16 位(如 ARO) 的用途是:7 位数据页内的 16 位偏移!fl:o存放位

25、地址。通川寄存器或计数器。农 3 6 辅助寄存器的访问属性XARn扩展辅助寄存器n只能用专用指令访问.XARn没何 映射到寄存器ARn辅助寄存器n可用专用指令访问,也可以作为存 储器映射寄存器ARnH扩展辅助寄存器n的高7段不能单独访问,必须通过访问XARn来访问ARnHProgramming Your Future3.3.4 用作数据地址空间和 I/O 空间的寄存器4RnoGwnfFtogYour Future2系数数据指针(XCDP/CDP) : CPU4以连接这个寄存器 形成 个扩展系数数据指针(XCDP),高 7 位(CDPH)用 于指定要访问数据空间的数据页,低字(CDP)丿IJ来作

26、为 16 位偏移量与 7 位数据页形成一个 23 位地址。表 3-7 XCDP 的访问属性XCDP扩展的系数指针只能用专用指令访问,不是映射到 存储器的寄存器CDP系数指针可用专用指令访问,映射寄存器访问也可作存储器CDPHXCDP的阳段部分町用用指令访问,映射寄器访问也可作存储器3.3.4 用作数据地址空间和 I/O 空间的寄存器4YowFutuvr 3循环缓冲区首地址寄存器Programming Your Future(BAS01QAS23,BAS45,BAS67,BASC) :町以门宙地定义循 环的首地址。每个循环缓冲区首地址寄存器与一个或两个特殊的指针 相关联,如下衣,当 ST2_55

27、 寄存器配置了这些指针时,缓冲 区首地址需墓加上指针值。表 3-8 循环缓冲区廿地址寄存器的关联指针BSA01ARO或ARIAROHBSA23AR2或AR3AR2HBSA45AR4或AR5AR4HBSA67AR6或AR7AR6HBSACCDPCDPHProgramming Your Future3.3.4 用作数据地址空间和 I/O 空间的寄存器4YowFutuvr 4循环缓冲区人小寄存器(BK03、BK47. BKC) : 3 个 16 位 的循环缓冲区大小寄存器指定循环缓冲区大小(最大为 65535) o 每个循环缓冲区大小寄存器号 1 个或 4 个特殊的指针 相关联。表 3 9 循环缓冲

28、区人小寄存器的关联指针BK03ARO、ARK AR2或AR3AROH为ARO或ARI. AR2H为AR2或AR3BK47AR4.AR5、AR6或AR7AR4 H为AR4或AR5.或AR7AR6H为AR6BKCCDPCDPHProgramming Your Future3.3.4 用作数据地址空间和 I/O 空间的寄存器45数据页寄存器(XDP/DP):在基丁 DP 的直接寻址方式屮,gw XDP指定 23位地址, 其中 DPH指定要访问数据空间的 7位数 据页, 低字(DP)用来代表一个 16 位偏移地址。6外设数据页寄存器(PDP):对于 PDP 直接寻址方式,9 位 的外设数据页寄存器(P

29、DI),在 64K 字 I/O 空间里,选择一 个 128 字的数据页,POP 在-个 16 位的寄存器里占冇 9 位,CPU 忽略 159 位。22-16XSPXSSP SPH SSP图 3-8 XSP 和 XSSPProgramming Your Future3.3.4 用作数据地址空间和 I/O 空间的寄存器4Yowf Futurr表 3 1U 堆栈描针的访问屈性XSP扩展数据堆栈指针只能用专用指令访问,不是映射到 存储器的寄存器SP数拯堆栈折针可用专用指令访问,是存储器映射 寄存器XSSP旷展系统堆栈指针只能用专用指令访问,不是映射到 存储器的寄存狷SSP系统堆栈折针可用专用指令访问.

30、是存储器映射 寄存器SPHXSP和XSSP的烏段部 分可用专用指令访问.是存储器映射 寄存器7堆栈指针 (XSP/SP. XSSP/SSP)154Programming Your Future3.3.5 程序流寄存器(PC、RETA、CFCT)QYour Futurr衣 3 11 程序流寄存器PC24位的程序计数器。存放I单尤里解码的16字节代码的地址CPU执行小断或调川/程序时,X 询的PCfft(返回地址) 起來,然窝把新的地址装入PC.l liCPViCPV从川断服务程序或f程序返回时, 返回地址匝新装入PC。RETA返回地址寄存器。如果所选择的堆栈配朮使用快速返回,则在 执行子程序时,

31、RETA就作为返冋地址的怦存器。RETA和CFCT起,高效执行多层嵌套的子程庁町用&门的32位装 入和存储指令,成功的读写RETA和CFCT。CFCT控制流关系奇存爲。CPU保存有激活的循环记求(循环的询后 关系)。如果选择的堆栈配宙使用快速返回,则在执行子程序 时,CFCT就作为8位循环关系的暂存器。RETA和CFCT起, 侖效执行筋层嵌套的/程序。可用Q门的32位装入和存储指令. 成功的读写RETA和CFCT。Programming Your Future3.3.5 程序流寄存器(PC、RETA、CFCT)QYour Futurr说明:CPU 由内部位按照一定规则来存放循环的前后关

32、系, 即子程序里循环的状态(激活和未激活)。当 CPU 执行中断或 调用子程序时,循环关系位就存放在 CFCT 里;当 CPU 从屮 断或调川子程序返冋时,循坏关系位就从 CFCT 恢复。Programming Your Future3.3.5 程序流寄存器(PC、RETA、CFCT)4ProQfMnmngVou*Futirv表 312 CFCT 各位的含义7该位表示一个单循环是否激活:0未滋活,1激活6该位表示-个条件单循环足否激活:0未激活,1激活54保留30这4个位衣示可能的两层块循环(外层0科内层1)的状态。根 据用户选择的块循环描令的类型,个已被激活的循坏.可以 使内部的.也可以是外部的。块循环代码0层循环1层循环0未激活未激活2激活,外部未激活3激活,内部未激活7激活,外部激活.外部8激活,外部激活,内部9激活,内部激活,内部其他:保留Programming Your Future3.3.6 中断管理寄存器4Vow FututrProgramming Your Future衣 3 13 中断管理寄存器IVPDIVPHIFRO. IFRI1ER0. 1ER1DBIERO.DBIER1指向DSP中断向址指向主机中断向童可屏蔽中断标志使能或禁止可屏蔽中断配置选择可屏蔽中断为时间重要

温馨提示

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

评论

0/150

提交评论