第2章TMS320C54x数字信号处理器 [1]_第1页
第2章TMS320C54x数字信号处理器 [1]_第2页
第2章TMS320C54x数字信号处理器 [1]_第3页
第2章TMS320C54x数字信号处理器 [1]_第4页
第2章TMS320C54x数字信号处理器 [1]_第5页
已阅读5页,还剩135页未读 继续免费阅读

下载本文档

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

文档简介

1、本章重点介绍TMS320C54x的硬件结构,了解DSP硬件结构是设计DSP的第一步。,第二章 TMS320C54X 硬件结构,第2章 TMS320C54x数字信号处理器硬件结构,2.1 TMS320C54x的特点和硬件组成框图 2.2 TMS320C54x的总线结构(重点) 2.5 中央处理单元(CPU) (重点) 2.4 TMS320C54x的存储器分配(重点) 2.5 TMS320C54x片内外设简介 2.6 TMS320VC5402引脚及说明,要求:会看硬件功能块的框图,掌握相应的处理机制, 知道有哪些片上外设,怎样使用。,2.1 DSP硬件,TMS320C54x组成框图:,TMS320

2、C54x DSP的总线组成框图1,54x结构的建立主要围绕着8条16位的总线展开的。这8条总线包括4条程序数据总线和4条地址总线。它们的作用是: 1. 程序总线(PB):传送由程序存储器取出的指令操作码及立即数; 2. 3条数据总线(CB、DB和EB):与不同的单元相连,如CPU、数据地址发生逻辑、程序地址发生逻辑、片内外围部件及数据存储器等,其中CB总线和DB总线传送从数据存储器读的数据,EB总线传送被写入存储器的数据;,2.2 TMS320C54x的总线结构(BUS),4条地址总线(PAB、CAB、DAB、EAB):传送执行指令所需地址。,C54X总线结构(续),图2-1 TMS320C5

3、4x DSP的内部硬件组成框图2,2.3中央处理单元(CPU),140位的算术逻辑单元(ALU);,22个40位的累加器(A和B);,3桶形移位器(定标移位器);,41717位乘法器; 540位加法器;,6. 各种CPU寄存器。,所有的54x器件的CPU都相同。54x的CPU包括:,7比较,选择和存储单元(CSSU); 8指数编码器;,54x可通过一个40位算术逻辑单元(ALU),执行二进制补码数学运算,ALU也可执行布尔运算。其运算结果通常被送入两个40位累加器(累加器A和B)。ALU的输入如下: 116位立即数; 2来自数据存储器的16位字; 3来自16位暂存寄存器T的16位字; 4来自数

4、据存储器的两个16位字; (在执行算术运算时,一个40位ALU也可同时作为两个16位ALU,执行两个16位操作) 5来自数据存储器的32位字;,6来自其中一个40位累加器的40位字。,算术逻辑单元(ALU),ALU功能框图:,(3) ALU输入数据的预处理,当16位数据存储器操作数通过数据总线DB或CB输入时,ALU将采用两种方式对操作数进行预处理。, 若数据存储器的16位操作数在低16位时,则 当SXM=0时,高24位 ( 3916位 ) 用0填充; 当SXM=1时,高24位 ( 3916位 ) 扩展为符号位。, 若数据存储器的16位操作数在高16位时,则 当SXM=0时,3932位和150

5、位用0填充; 当SXM=1时,3932位扩展为符号位,150位置0。,(4) ALU的输出 ALU的输出为40位运算结果,通常被送至累加器A或B。,1.当SXM=0,进行无符号数加载 LD *AR3+,A,Before instruction,After instruction,A,SXM,AR3,0,00 0000 FEDC,0,0300,0300,00 0000 0000,FEDC,FEDC,Data memory 0300h,举例,2.当SXM=1,进行有符号数加载 LD *AR3+,A,Before instruction,After instruction,A,SXM,AR3,1,F

6、F FFFF FEDC,1,0300,0300,00 0000 0000,FEDC,FEDC,Data memory 0300h,溢出处理,ALU的饱和逻辑可以对运算结果进行溢出处理。当发生溢出时,将运算结果调整为最大正数(正向溢出)或最小负数(负向溢出)。,当运算结果发生溢出时:, 若OVM=0,则对ALU的运算结果不作任何调整,直接送入累加器;, 若OVM=1,则对ALU的运行结果进行调整。,当正向溢出时,将32位最大正数00 7FFFFFFFH装入累加器; 当负向溢出时,将32位最小负数FF 80000000H装入累加器。,状态寄存器ST0中与目标累加器相关的溢出标志OVA或OVB被置1

7、。,1.当OVM=0,对溢出不进行处理,仅通过 OVM=1反映溢出 LD A, 4,B,Before instruction,After instruction,A,B,OVB,00 0000 FFFF,00 7FFF 8000,07 FFF8 0000,0,1,00 7FFF 8000,0,0,举例,OVM,2.当OVM=1,对溢出进行处理。 LD A, 4,B,Before instruction,After instruction,A,B,OVB,00 0000 FFFF,00 7FFF 8000,00 7FFF FFFF,0,1,00 7FFF 8000,1,1,OVM,进位位C,AL

8、U有一个与运算结果有关的进位位C,位于ST0的11位。进位位C受大多数ALU操作指令的影响,包括算术操作、循环操作和移位操作。,进位位C的功能:, 用来指明是否有进位发生; 用来支持扩展精度的算术运算; 可作为分支、调用、返回和条件操作的执行 条件。,注意: 进位位C不受装载累加器操作、逻辑操作、 非算术运算和控制指令的影响; 可通过寄存器操作指令RSBX和SSBX对 其进行置位和复位。,双16位算术运算,若要将ST1中的C16置位,则ALU进行双16位算术运算,即在一个机器周期内完成两个16位数的算术运算,进行两次16位加法或两次16位减法运算。,5其他控制位,除SXM、OVM、C、C16、

9、OVA、OVB外,ALU还有两个控制位。 TC测试/控制标志,位于ST0的12位; ZA/ZB累加器结果为0标志位。,累加器A和B(ACCA,ACCB),用于存储ALU或乘法器加法器块的输出;它们也可作为输入数据输出到ALU,或作为乘法器加法器的输入。 AG、AH、AL、BG、BH、BL都是存储器映像寄存器,可以被访问 A与B的不同是A的高位可以作为乘法器的一个输入,累加器,累加器A和B,1. 累加器结构,保护位:AG、BG 3932,作为算术计算时的数据位余量,以防止迭代运算中的溢出。,高阶位:AH、BH 3116;,低阶位:AL、 BL 150。,累加器A和B,2.带移位的累加器存储操作,

10、使用STH、STL、STLM、SACCD等指令或并行存储指令,可以把累加器中的内容保存到数据存储器中。, 使用STH、SACCD和并行存储指令存储累加器内容,先将累加器内容移位,再将高16位存入存储器。,右移存储:AG(BG)右移AH(BH),AH(BH)存入存储器;,左移存儲:AL(BL)左移AH(BH),AH(BH)存入存储器。, 使用STL指令存储累加器内容,先将累加器内容移位,再将低16位存入存储器。,右移存储,AH(BH)右移AL(BL),AL(BL)存入存储器;,左移存储,用0左移AL(BL),AL(BL)存入存储器。,注意: 移位操作是在存储累加器内容的过程中 同时完成的; 移位

11、操作是在移位寄存器中完成的,累 加器的内容保持不变。,【例1】累加器A=FF 0123 4567H,执行带移位的STH和STL指令后,求暂存器T和A的内容。,STH A, 8, T ; A的内容左移8位,AH存入T,0 1,2 3,4 5,6 7,0 0,2 3 4 5,T = 2345H, A=FF 0123 4567H,STH A,-8, T ; A的内容右移8位,AH存入T,4 5,2 3,0 1,F F,F F,F F 0 1,T = FF01H, A=FF 0123 4567H,STL A,8, T ; A的内容左移8位,AL存入T,0 1,2 3,4 5,6 7,0 0,6 7 0

12、 0,T = 6700H, A=FF 0123 4567H,STL A,-8, T ; A的内容右移8位,AL存入T,4 5,2 3,0 1,F F,F F,2 3 4 5,T = 2345H, A=FF 0123 4567H,40位的桶形移位器能将输入的数据进行向左或者向右的031位的移动(向左31位,向右16位)。,桶形移位器,输入,DB(16位) DB和CB(32位) A(40位) B(40位),输出,ALU的一个输入端 EB总线,功能:,1、在执行ALU操作前预定好一个数据存储器操作 或累加器内容 2、对累加器内容算术或逻辑移位 3、对累加器归一化 4、在将累加器的值存入数据存储器前定

13、标,桶形移位寄存器:,1、指令中的一个4位或5位立即数为移位数,范围为-1615: ADD A,-4,B; 累加器A的内容右移四位后加到B中,桶形移位寄存器的移位作用:,3、T寄存器中的低6位,可以指定-16至31位范围的移位数 SUB *AR2, TS, A ;,2、用ASM的值代表范围-16至15的移位,可用LD加载。 ADD A,ASM,B; 累加器移位ASM所指定的位数后加到B中,桶形移位寄存器的位数是一个有符号数,其正值对应左移,负值 对应右移。指令中移位位数可为:,3乘法器/加法器单元 C54x CPU有一个1717位的硬件乘法器,与40位的专用加法器相连,可以在单周期内完成一次乘

14、法累加运算。乘法器的输出经小数/整数乘法(FRCT)输入控制后加到加法器的一个输入端,加法器的另一个输入端来自累加器A或B。 加法器还包括零检测器、舍入器(二进制补码)及溢出/饱和逻辑电路。,乘法器/加法器,乘法器/加法器单元:,乘法器的输入:,XM,T寄存器 DB总线 A的3216位,YM,DB总线 CB总线 PB总线 A的3216位,乘法器输出,Adder的XA,Adder(40),(17*17),YA,A或B或0,硬件乘法器可以在一个单指令周期中完成17*17bit的二进制补码运算。 例: MPY a1,B ;将a1这个存储器单元中的数与 ;B中的数相乘并将结果放B中 结合DSP的特殊的

15、汇编指令(如MAC),54x可以在一个指令周期内完成乘/累加运算。 例: LD x2,T MAC a2,B ;(a2)*(x2)+BB,比较、选择和存储单元(CSSU)是专门为Viterbi算法设计的加法/比较/选择(ACS)操作的硬件单元。 指数编码器用于支持单周期指令EXP的专用硬件。,功能:求累加器中数据的指数值。,比较、选择和存储单元CSSU),指数编码器,CPU状态和控制寄存器,TMS320C54X包括3个16位的寄存器作为状态和控制寄存器, ST0,ST1,PMST. 均为存储器映像寄存器,可以方便的访问。 ST0,ST1包含各种工作条件和工作方式的状态 PMST包含存储器的设置状

16、态和控制信息,ST0: 反映处理器的寻址要求和计算机的中间运行状态。,ST1:主要反映处理器的寻址要求、计算初始状态的 设置、I/O及中断的控制等。,状态寄存器ST0的结构:,状态寄存器ST1的结构:,处理器模式状态寄存器(PMST)结构如下:,1513 12 11 10 9 80,1,15 14 13 12 11 10 9 8 7 6 5 40,157 6 5 4 3 2 1 0,ST0 (Status 0),ST1 (Status 1),PMST (Processor mode Status),2.3 TMS320C54x的存储器分配,2.3.1 存储器空间 2.3.2 程序存储器 2.3

17、.3 数据存储器 2.3.4 I/O存储器,返回首页,组成框图:,2.3 C54x的存储空间结构,C54x共有192K字的映射存储器空间,分成3个相互独立可选择的存储空间:, 64K字(16位)的程序存储空间; 64K字(16位)的数据存储空间; 64K字(16位)的I/O空间。,程序存储空间:用来存放要执行的指令和指令执行中所需要的系数表(数学用表); 数据存储空间:用来存放执行指令所需要的数据; I/O存储空间:用来提供与外部存储器映射的接口,可以作为外部数据存储空间使用。,所有C54x芯片都含有片内RAM和ROM。,片内RAM,SARAM,DARAM, 单寻址RAM, 双寻址RAM,DA

18、RAM:由存储器内的一些分块组成。 每个DARAM块在单周期内能被访问2次。,SARAM:由存储器分块组成。 每个SARAM块在单周期内只能被访问1次。,2.3.1 存储器空间,片内存储器的优点:, 不需要插入等待状态; 与外部存储器相比,成本低; 比外部存储器功耗小。,片内物理存储器必须被映射到映射存储器上才能被访问!,【例】 程序存储器:4K字ROM,起始地址为C00h,取名为ROM。 数据存储器:32字RAM,起始地址为60h,取名为SCR。 512字RAM,起始地址为80h,取名为CHIP。,MEMORY PAGE 0: ROM: origin=C00h, length=1000h P

19、AGE 1: SCR: origin=60h, length=20h CHIP: origin=80h, length=200h ,页面名称,区间名称,起始地址,区间长度,我的程序需要多少存储空间?,这些存储空间分配合适吗?,Let go,C54x片内存储器资源配置,我们拥有的资源。,还有。,外部存储器主要分为两类。, ROM RAM,包括EPROM、E2PROM和FLASH等。,分为静态RAM(SRAM)和动态RAM(DRAM),ROM主要用于存储用户的程序和系统常数表,一般映射在程序存储空间。,RAM常选择速度较高的快速RAM,既可以用作程序空间的存储器,也可以用作数据空间的存储器。,TM

20、S320VC5402存储器配置结构,内容: 程序空间用来存放要执行的指令和常系数表格。 程序空间配置 通过设置MP/MC、OVLY和XPC来实现 程序空间扩展,1程序存储空间,影响程序空间后48k,影响程序空间前16k,影响程序空间扩展空间,1程序存储空间的配置,程序存储空间可通过PMST寄存器的MP/MC和OVLY控制位来设置内部存储器的映射地址。,当MP/ MC=0时,称为微计算机模式。 4000HEFFFH程序存储空间定义为外部存储器; F000HFEFFH程序存储空间定义为内部ROM; FF00HFFFFH程序存储空间定义为内部存储器。,当MP/ MC=1时,称为微处理器模式。 400

21、0HFFFFH程序存储空间定义为外部存储器 。, MP/MC控制位用来决定程序存储空间是否使用内部存储器。,1程序存储空间的配置,当OVLY= 0时,程序存储空间不使用内部RAM。 0000H3FFFH全部定义为外部程序存储空间,此时内部RAM只作为数据存储器使用。,当OVLY= 1时,程序存储空间使用内部RAM。内部RAM同时被映射到程序存储空间和数据存储空间。 0000H007FH保留,程序无法占用; 0080H3FFFH定义为内部DARAM。, OVLY控制位用来决定程序存储空间是否使用内部RAM。,微计算机模式:,OVLY=1,0000H007FH 保留,0080H3FFFH 内部DA

22、RAM,0000HEFFFH 外部存储器,4000HEFFFH 外部存储器,F000HFEFFH 内部ROM,FF00HFF7FH 保留,FF80HFFFFH 中断矢量表,FF00HFF7FH 保留,F000HFEFFH 内部ROM,OVLY=0,FF80HFFFFH 中断矢量表,常用方案,存储器配置举例,1VC5416 的存储空间 TMS320VC5416 的地址空间是采用独立空间编址的。即程序空间,数据空间,IO 空间都由逻辑上的0 x0000 单元起始至0 xffff。VC5416 基本的程序空间,数据空间,IO 空间都是64K;外扩时分别由PS,DS,IS 线选通。详细的存储器分配请参

23、考TI 的技术手册 VC5416 的Datasheet(TI 文件号:Sprs095I.pdf ) 下图显示了MP 和MC 模式下的程序和数据空间映射(图1.5.1),图 1.5.1 c5416 MP 和MC 模式下的程序和数据空间映射,2程序存储空间的分页扩展,C54x系列芯片程序空间采用分页扩展的方法,多数芯片只有16条外部地址线,可扩展64k字的外部存储空间,称为第0页程序存储器,而有的芯片可扩展的范围较大。,如:C5409和C5416有23条外部程序地址总线可扩展到8M。 C5402有20条外部程序地址总线,其程序空间只能扩展到1M。,2程序存储空间的分页扩展,分页扩展技术的特点: 有

24、20或23条外部程序地址线,可寻址1M或8M存储空间; 有1个额外的存储器映像寄存器程序计数器扩展寄存器XPC; 有6条寻址扩展程序空间的指令,用于寻址扩展程序空间。,C5402共有20条外部程序地址总线,可寻址程序存储空间为1M。整个程序存储空间分成16页,每页共计64K字。,2程序存储空间的分页扩展,当OVLY=0时,内部RAM不允许映射到程序空间,页与页之间没有重叠,扩展后的程序空间分成16页,每页64K。,2程序存储空间的分页扩展,当OVLY=1时,片内RAM允许映射到程序空间,程序存储器的每一页都由两部分组成:32K字的公共块和32K字的专用块。,公共块可由所有页共享,不需要使用XP

25、C; 专用块只能按指定的页号寻址。,当MP/MC=0时,片内ROM只能允许安排在第0页的程序空间,不能映射到其它页。,第2章 TMS320C54x的硬件结构,2程序存储空间的分页扩展,公共块:由所有页共享 专用块:按指定的页号寻址,TMS320VC5402扩展程序存储空间结构图, ,扩展程序存储器的页号由XPC寄存器设定,XPC映射到数据存储器的001EH单元。硬件复位时,XPC被置0。,为了便于软件进行页切换,设置了6条影响XPC的专用指令: FBD长跳转指令; FBACCD长跳转到累加器A或B所 指定的位置; FCALAD长调用累加器A或B所指 定的位置; FCALLD长调用指令; FRE

26、TD长返回; FRETED带中断使能的长返回指令。,扩展程序空间举例,评估板使用AM29LV800 芯片作为外部ROM 使用。外部ROM 一般用来固化程序,上电后,可以利用5416 芯片的Bootloader 功能从ROM 中加载程序到存储器中使用。 此外,AM29LV800芯片还可以在线编程,保存使用中需要保留的数据。,C54x的地址总线有1623条,芯片的型号不同其配置的地址总线也不同。 C5402芯片共有20根地址线,最多可以扩展1M字外部程序存储空间,其中高4位地址线(A19A16)是受XPC寄存器控制。 扩展程序存储器时,除了考虑地址空间分配外,关键是存储器读写控制和片选控制与DSP

27、的外部地址总线、数据总线及控制总线的时序配合。,了解一下哦,扩展程序空间举例,程序存储器有三种工作方式:,程序存储器的扩展,1.程序存储器的工作方式, 读操作,程序存储器只能进行读操作。, 维持操作, 编程操作,当编程电源加规定的电压,片选和读允许端加要求的电平,通过编程器可将数据固化到存储器中,完成编程操作。,程序存储器的扩展,2.扩展程序存储器, 注意事项, 根据应用系统的容量选择存储芯片容量; 根据CPU工作频率,选取满足最大读取时间、电源容差、工作温度等性能的芯片; 选择逻辑控制芯片,以满足程序扩展、数据扩展和I/O扩展的兼容; 与5V存储器扩展时,要考虑电平转换。,2.扩展程序存储器

28、, FLASH存储器,FLASH存储器与EPROM相比,具有更高的性能价格比,而且体积小、功耗低、可电擦写、使用方便,并且3.3V的FLASH可以直接与DSP芯片连接。,AT29LV1024是1M位的FLASH存储器。,地址线: A0A15;,控制线:,数据线:I/O0I/O15;,2.扩展程序存储器, 存储器扩展,扩展连接图:,16,16,原理:,进行读操作;,地址和数据线呈高阻。,若只扩展一片程序存储器,可将CPU存储器选通信号MSTRB与存储器输出使能OE连接。,当PS=0,MSTRB=0时,可对存储器进行读操作。,3内部ROM,C5402共有4K字的内部ROM。,F000HF7FFH:

29、用户专用程序,由TI公司固化; F800HFFFFH:TI公司定义。,3内部ROM,TI公司定义的内容:, 引导程序。,从串行口、外部存储器、I/O口、主机接口进行自动加载引导程序。, 256字律扩展表。 256字A律扩展表。 256字正弦函数值查找表。 保留 中断向量表。,F800H FBFFH FC00HFCFFH FD00HFDFFH FE00HFEFFH FF00HFF7FH FF80HFFFFH,2.3.3 数据存储空间,1数据存储空间的配置 受DROM影响 2 数据存储器中的内容 存储器映像寄存器MMR,用来存放执行指令所使用的数据,包括需要处理的数据或数据处理的中间结果。,2.3

30、.3 数据存储空间,1数据存储空间的配置,C54x的数据存储空间由内部和外部存储器构成,共有64K字,采用内部和外部存储器统一编址。,DROM=0: 0000H3FFFH内部RAM; 4000HFFFFH外部存储器; DROM=1: 0000H3FFFH内部RAM; 4000HEFFFH外部存储器; F000HFEFFH片内ROM; FF00HFFFFH保留。,1数据存储空间的配置,当CPU发生的数据地址处于内部存储器的范围内时,直接对内部数据存储器寻址。 当CPU发生的数据地址不在内部存储器的范围内时,CPU自动对外部数据存储器寻址。,C54x片内数据存储器容量,C5402数据存储空间结构,

31、0000H0050H 存储器映像寄存器,0060H007FH 暂存器SPRAM,0080H3FFFH 内部DARAM,4000HEFFFH 外部存储器,DROM=1 使用内部ROM,F000HFEFFH 内部ROM,FF00HFFFFH 保留,DROM=0 不使用内部ROM,F000HFEFFH 外部存储器,3.已知ST0=2c00h, ST1=0320h,分析ALU的当前工作方式(是否有符号扩展等),及当前输出记过状态(是否溢出等)? 4.如果中断矢量表位于片内存储器空间,片内的ROM要映射到数据空间,片内的RAM只作为数据空间,那么该如何设置有关寄存器?,课堂练习,数据空间前1K的配置:,

32、存储器映像的CPU寄存器,特殊功能寄存器,0000001FH:,特殊功能寄存器,存储器映像的外设寄存器,0020005FH:,外设寄存器,暂存寄存器SPRAM,0060007FH:,暂存寄存器,008003FFH:,7个DARAM数据块。,2存储器映像寄存器,在C54x的数据存储空间中,前80H个单元(数据页0)包含有的CPU寄存器、片内外设寄存器和暂存器。这些寄存器全部映射到数据存储空间,称作存储器映像寄存器MMR。,存储器映像寄存器MMR: CPU寄存器特殊功能寄存器; 片内外设寄存器; 暂存器SPRAM。,2存储器映像寄存器,特殊功能寄存器 功能:主要用于程序的运算处理和寻址方式的选 择

33、和设定。地址范围:0000H001FH。,C5402的CPU寄存器共有27个,CPU访问这些寄存器时,不需要插入等待时间。,外设寄存器 功能:用来控制片内外设电路的状态和存放数据。 地址范围:0020H005FH。,包括串行口通信控制寄存器组、定时器定时控制寄存器组、时钟周期设定寄存器组等。,由于CPU对片内外设寄存器的访问时通过片内外设总线进行,因此对它们的读/写操作至少需要2个时钟周期。,特殊功能寄存器,2存储器映像寄存器,片内外设寄存器存在于一个专用的外设总线结构中,它可以发送数据至外设总线或者从外设中接收数据。设置或清除寄存器的控制位可以激活、屏蔽或者重新配置外设状态。 不同型号的芯片

34、具有不同的片内外设寄存器。,C549片内外设寄存器,2.3.4 I/O空间,C54x除了程序和数据存储空间外,还提供了一个具有64K字的I/O空间。 主要用于对片外设备的访问。可以使用输入指令PORTR和输出指令PORTW对I/O空间寻址。,C54x的地址总线有1623条,芯片的型号不同其配置的地址总线也不同。 C5402芯片共有20根地址线,最多可以扩展1M字外部程序存储空间,其中高4位地址线(A19A16)是受XPC寄存器控制。 扩展程序存储器时,除了考虑地址空间分配外,关键是存储器读写控制和片选控制与DSP的外部地址总线、数据总线及控制总线的时序配合。,程序存储器的扩展,了解一下哦,程序

35、存储器有三种工作方式:,程序存储器的扩展,1.程序存储器的工作方式, 读操作,程序存储器只能进行读操作。, 维持操作, 编程操作,当编程电源加规定的电压,片选和读允许端加要求的电平,通过编程器可将数据固化到存储器中,完成编程操作。,程序存储器的扩展,2.扩展程序存储器, 注意事项, 根据应用系统的容量选择存储芯片容量; 根据CPU工作频率,选取满足最大读取时间、电源容差、工作温度等性能的芯片; 选择逻辑控制芯片,以满足程序扩展、数据扩展和I/O扩展的兼容; 与5V存储器扩展时,要考虑电平转换。,2.扩展程序存储器, FLASH存储器,FLASH存储器与EPROM相比,具有更高的性能价格比,而且

36、体积小、功耗低、可电擦写、使用方便,并且3.3V的FLASH可以直接与DSP芯片连接。,AT29LV1024是1M位的FLASH存储器。,地址线: A0A15;,控制线:,数据线:I/O0I/O15;,2.扩展程序存储器, 存储器扩展,扩展连接图:,16,16,原理:,进行读操作;,地址和数据线呈高阻。,若只扩展一片程序存储器,可将CPU存储器选通信号MSTRB与存储器输出使能OE连接。,当PS=0,MSTRB=0时,可对存储器进行读操作。,1. 数据存储器ICSI64LV16,ICSI64LV16是一种高速数据存储器,其容量64K字16。,地址线:A15A0;,控制线:,数据线:I/O15I

37、/O0;,CE片选信号;,OE读选通信号;,WE写选通信号;,UB高字节选通信号;,LB低字节选通信号。,1. 数据存储器ICSI64LV16,结构图:,数据存储器的扩展,2. 存储器扩展连接,第2章 TMS320C54x的硬件结构,3 I/O空间,C54x除了程序和数据存储空间外,还提供了一个具有64K字的I/O空间。 主要用于对片外设备的访问。可以使用输入指令PORTR和输出指令PORTW对I/O空间寻址。,在对I/O空间访问时,除了使用数据总线和地址总线外,还要用到IOTRB、IS和I/W控制线。,IOTRB和IS :用于选通I/O空间;,I/W:用于控制访问方向。,I/O的扩展应用,在

38、实际应用中,许多DSP系统需要输入和输出接口。键盘和显示器作为常用的输入输出设备,在便携式仪器、手机等产品中得到了广泛地应用。使用液晶模块和非编码键盘可以很方便地作为I/O设备与DSP芯片连接。,1.显示器连接与驱动,复位端,低电平有效;,(1)液晶模块TCM-A0902的引脚,片选信号,低电平有效;,RD:读信号端,高电平有效;,写信号端,低电平有效;,A0:寄存器选择端;,当A0=0时,选择命令寄存器;,当A0=1时,选择数据寄存器。,DB7DB0:数据线。,3 I/O的扩展应用,1.显示器连接与驱动,(2)连接图,命令端口地址:,COMMP=CFFFH,数据端口地址:,DATAP=EFF

39、FH,o,LD *AR3+,A 当SXM=0,进行无符号数加载,Before instruction,After instruction,A,SXM,AR3,0,00 0000 FEDC,0,0300,0300,00 0000 0000,FEDC,FEDC,Data memory 0300h,LD *AR3+,A 当SXM=0,进行有符号数加载,Before instruction,After instruction,A,SXM,AR3,1,FF FFFF FEDC,1,0300,0300,00 0000 0000,FEDC,FEDC,Data memory 0300h,课堂练习,LD A,

40、4,B 1. 当OVM=0,对溢出不进行处理,仅通过 OVB=1反映溢出,Before instruction,After instruction,A,B,OVB,00 0000 FFFF,00 7FFF 8000,07 FFF8 0000,0,1,00 7FFF 8000,0,0,OVM,LD A, 4,B,Before instruction,After instruction,A,B,OVB,00 0000 FFFF,00 7FFF 8000,00 7FFF FFFF,0,1,00 7FFF 8000,1,1,OVM,2.当OVM=1,对溢出进行处理。,课堂练习,3.已知ST0=2c00

41、h, ST1=0320h,分析ALU的当前工作方式(是否有符号扩展等),及当前输出记过状态(是否溢出等)? 4.如果中断矢量表位于片内存储器空间,片内的ROM要映射到数据空间,片内的RAM只作为数据空间,那么该如何设置有关寄存器? 5.上电复位后,第一条程序指令所在的地址是?,课堂练习,2.4 C54x的片内外设电路,C54x器件除了提供哈佛结构的总线、功能强大的CPU以及大容量的存储空间外,还提供了必要的片内外部设备。 不同型号的C54x芯片,所配置的片内外设有所不同,这些片内外设主要包括:, 通用I/O引脚 定时器 时钟发生器 主机接口HPI, 串行通信接口 软件可编程等待 状态发生器 可

42、编程分区转换逻辑,1通用I/O引脚,C54x芯片为用户提供了两个通用的I/O引脚。,XF:用于程序向外设传输标志信息。 通过此引脚的置位或复位,可以控制外设 的工作。,2定时器,C54x的定时器是一个带有4位预分频器的16位可软件编程减法计数器。 这个减法计数器每来1个时钟周期自动减1,当计数器减到0时产生定时中断。 通过编程设置特定的状态可使定时器停止、恢复运行、复位或禁止。,2定时器,C54x的定时器主要包括3个存储器映像寄存器:,定时设定寄存器TIM 定时周期寄存器PRD 定时控制寄存器TCR, 定时设定寄存器TIM 它是一个16位减法计数器,映射到数据存储空间的0024H单元。复位或定

43、时器中断(TINT)时,TIM内装入PRD寄存器的值(定时时间),并进行自动减1操作。, 定时周期寄存器PRD 16位的存储器映像寄存器,位于数据存储空间的0025H单元,用来存放定时时间常数。每次复位或TINT中断时,将定时时间装入TIM寄存器。,2定时器, 定时控制寄存器TCR 16位的存储器映像寄存器,位于数据存储空间的0026H单元,用来存储定时器的控制位和状态位,包括定时器分频系数TDDR、预标定计数器PSC、控制位TRB和TSS等。,定时中断的周期: CLKOUT(TDDR1)(PRD1),时钟周期,分频系数,时钟周期,计算定时器初值,例如: 定时周期=1ms,设时钟周期CLKOU

44、T=1/80M=12.5ns,求TDDR和PDR 解:设定TDDR=9 定时周期=CLKOUT*(TDDR+1)*(PRD+1)=12.5*(9+1)*(PRD+1)=1ms 得:PRD=7999=1F3Fh,4主机接口HPI,主机接口HPI是C54x芯片具有的一种8位或16位的并行接口部件,主要用于DSP与其他总线或主处理机进行通信。 HPI接口通过HPI控制寄存器(HPIC)、地址寄存器(HPIA)、数据锁存器(HPID)和HPI内存块实现与主机通信。,4主机接口HPI, 接口所需要的外部硬件少; HPI单元允许芯片直接利用一个或两个数据选通信号; 有一个独立或复用的地址总线; 一个独立或

45、复用的数据总线与微控制单元MCU连接; 主机和DSP可独立地对HPI接口操作; 主机和DSP握手可通过中断方式来完成; 主机可以通过HPI直接访问CPU的存储空间,包括存 储器映像寄存器。 主机还可以通过HPI接口装载DSP的应用程序、接收 DSP运行结果或诊断DSP运行状态。,主要特点:,5串行通信接口,C54x内部具有功能很强的高速、全双工串行通信接口,可以和其他串行器件直接接口。 四种串行口: 标准同步串行口SP 缓冲同步串行口BSP 时分多路串行口TDM 多路缓冲串行口 McBSP,5串行通信接口,(1)标准同步串行口SP SP是一个高速、全双工、双缓冲的串行口,提供了与编码器、A/D

46、转换器等串行设备之间的通信,可实现数据的同步发送和接收,能完成8位字节或16位字的串行通信。 每个串行口都含有发送数据寄存器DXR、发送移位寄存器XSR、接收数据寄存器DRR和接收移位寄存器RSR,并能以1/4机器周期频率工作。 在进行数据的接收和发送时,串行口能产生可屏蔽的收、发中断(RINT和XINT),通过软件来管理数据的接收和发送。整个过程由串行口控制寄存器SPC控制。,5串行通信接口,(2)缓冲同步串行口BSP BSP是一种增强型同步串行口,它是在同步串行口的基础上增加了一个自动缓冲单元ABU。 ABU的功能:利用专用总线,控制串行口直接与C54x的内部存储器进行数据交换。 工作方式

47、:非缓冲模式和自动缓冲模式。 非缓冲模式:即标准模式,与SP相同。 自动缓冲模式:在ABU的控制下,串行口直接与C54x的内部存储器进行16位数据块传输。当传输的数据长度是数据块长度的一半或整个长度时,产生中断。,这两种工作模式都提供了包括可编程控制的串口时钟、帧同步信号、可选择时钟和帧同步信号的正负极性等增强功能,能以每帧8位、10位、12位和16位传输数据,最大操作频率为CLKOUT。,5串行通信接口,(3)时分多路串行口TDM TDM是一个允许数据时分多路的同步串行接口。既能工作在同步方式,也能工作在TDM方式。 TDM可以与外部多个应用接口实现方便灵活的数据交换,最多可与8个外部器件接

48、口通信,这种接口在多处理器应用中得到了广泛的使用。 工作方式:非TDM模式和TDM模式。 非TDM模式:称为标准方式,与SP相同。 TDM模式:是将与多个不同器件的通讯按时间依次划分成若干个时间段 (信道),TDM周期地按时间顺序与不同的信道设备进行串行通信。,第2章 TMS320C54x的硬件结构,5串行通信接口,(4)多路缓冲串行口McBSP McBSP是一个高速、全双工、多通道缓冲串行接口,可直接与其他C54x、编码器以及系统中的其他串口器件通信。 McBSP提供了全双工通信、连续数据流的双缓冲数据寄存器、接收和发送独立的帧和时钟信号,可以直接与T1/E1帧接口。 McBSP在外部通道选

49、择电路的控制下,采用分时的方式实现多通道串行通信,与以前的串行口相比,具有很大的灵活性。,BIO,XF用作异步通讯握手信号 MCBSP作为通用IO口进行数据传输,2.5 C54x的系统控制,C54x芯片的系统控制: 程序计数器PC 硬件堆栈 PC相关的硬件 外部复位信号 中断 状态寄存器 循环计数器,2.5 C54x的系统控制,2.5.1程序地址的产生,C54x的程序存储器用来存放应用程序的代码、系数表和立即数。 CPU取指操作时: 首先,由程序地址生成器(PAGEN)产生地址; 然后,将地址加载到程序地址总线PAB; 最后,PAB寻址存放程序存储器中的指令、系数表和立即数。,2.7.1程序地

50、址的产生,PAGEN的组成: 程序计数器PC 重复计数器RC 块重复计数器BRC 块重复起始地址寄存器RSA 块重复结束地址寄存器REA,1程序存储器地址生成器PAGEN,存储器 映像寄存器,1AH,1BH,1CH,PAGEN的组成框图,2.5.1程序地址的产生,2程序计数器PC,程序计数器是一个16位计数器,用来保存某个内部或外部程序存储器的地址。,对PC加载的方法:, 当进行复位操作时,将地址FF80H加载PC; 当程序是顺序执行时,则PC被增量加载,即PC=PC+1; 当分支转移发生时,用紧跟在分支转移指后面的16位立即数加载PC; 当执行块重复指令时,若PC+1等于块重复结束地址REA

51、+1,则将块重复起始地址RSA加载PC;,2020年7月10日,DSP原理及应用,121,2.7 C54x的系统控制,2.7.3 系统的复位,复位期间,处理器将进行如下操作:, 状态寄存器ST0=1800H;, 将ST1中的INTM位置1,关闭所有可屏蔽中断;,2020年7月10日,DSP原理及应用,122,2.7.3 系统的复位,复位期间,处理器将进行如下操作:,2020年7月10日,DSP原理及应用,123,复位期间,处理器将进行如下操作:, 将下列状态位置为初始值:,注意:, 复位期间,不对其余的状态位和堆栈指针SP初始化;,ARP=0 ASM=0 AVIS=0 BRAF=0 C=1 C

52、16=0 CLKOFF=0 CMPT=0 CPL=0 DP=0 DROM=0 FRCT=0 HM=0 INTM=1 OVA=0 OVB=0 OVLY=0 OVM=0 SXM=1 TC=1 XF=1,2020年7月10日,DSP原理及应用,124,2.7.4 中断操作,中断系统是为计算机系统提供实时操作、多任务和多进程操作的关键部件。,中断信号 :, 由外设向CPU传送数据的硬件设备产生 由外设向CPU提取数据的硬件设备产生 由定时器产生,2020年7月10日,DSP原理及应用,125,2.7.4 中断操作,当CPU响应中断时,将暂时停止当前程序的执行,而去执行中断服务程序。,中断系统:,软件中断,硬件中断, 由程序指令产生的中断。 如:INTR、TRAP或RESET。, 由外围设备信号产生的中断。,硬件中断,受外部中断口信号触发的外部硬件中断,受片内外设电路信号触发的内部硬件中断,2020年7月10日,DSP原理及应用,126,2.7.4 中断操作,不

温馨提示

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

评论

0/150

提交评论