DSP控制器原理与应用教程-DSP2-F28335的结构原理_第1页
DSP控制器原理与应用教程-DSP2-F28335的结构原理_第2页
DSP控制器原理与应用教程-DSP2-F28335的结构原理_第3页
DSP控制器原理与应用教程-DSP2-F28335的结构原理_第4页
DSP控制器原理与应用教程-DSP2-F28335的结构原理_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

《DSP控制器原理与应用教程》

基于TMS320F28335&CCS5全国教育科学“十一五”规划课题研究成果

主编李全利马骏杰张思艳

高等教育出版社2016.11第二章F28335的结构原理(一)、F28335的内部结构(二)、F28335的CPU(三)、F28335的存储器配置(四)、F28335的时钟及其控制(一)、F28335的内部结构一、F28335的基本组成二、F28335的总线结构2024/6/214一、F28335的基本组成2024/6/2152、CPU

ALU,R-M-W:atomic乘法器AR及ARAUFPU及控制器一、F28335的基本组成(续)1、存储器Flash,256KW(8*32KW)SARAM,34KWBootROM,8KWOPT存储器,1KW3、系统控制时钟管理Watchdog定时器*3个PIE(仅用45)DMA及JTAG4、片上外设ePWM/eCAP/eQEPADC(12位*16路)eCAN(2)I2C(1)SCI(3)SPI(1)McBSP(2)GPIO(88)二、F28335的总线结构程序读总线:22位地址数据读总线数据/程序写总线PABPRDBDRABDRDBDPWDBDWAB2024/6/217

(二)、F28335的CPU一、F28335的乘法器二、F28335的ALU三、F28335的ARAU四、F28335的CPU寄存器2024/6/2183、单16位乘法经T(16位)×另一个16位数

积,P或ACC一、F28335的乘法器2、双16位乘法-DMAC经XT(32)×另一个32位数积,ACC(高位字积):P(低位字积)1、32位乘法经XT(32)×另一个32位数积,P(高32位或低32位)2024/6/2191、ALU输入输出二、F28335的ALU2、ACCAH:AH.MSB,AH.LSBAL:AL.MSB,AL.LSB3、Shift(桶型)输入ALU前的移位对P输出的移位对ACC输出的移位对寄存器内容移位

2024/6/2110三、F28335的ARAU1、DP-直接寻址DP中为页号6位页内偏移量2、XARx-寄存器间址ARAU11四、F28335的CPU寄存器121、被乘数寄存器--XT

XT,被乘数(32位)T,被乘数(16位)或移位位数TL,存16位有符号整数,可符号自动扩展例:ASR

AX,T;T中低4位是移位位数ASRL

ACC,T;T中低5位是移位位数132、乘积寄存器--P乘法的结果存放16位或32位数据;P的输出要经移位器,移位值由PM(ST0中)决定:PM值移位模式PM值移位模式000左移1位100右移3位001不移101右移4位010右移1位110右移5位011右移2位111右移6位143、累加器--ACC

传送,算数,逻辑,比较,乘法运算结果分拆为:16位和8位15与累加器相关的状态位:符号扩展模式位SXM;溢出模式位OVM;测试/控制标志位TC;进位位C;零标志位Z;负标志位N;溢出标志位V;溢出计数器位(6个位)--OVC/OVCU。这些状态位在ST0寄存器中。

164、堆栈指针--SP

16位,寻址低64K字数据空间。生长方向:低地址高地址;总指向下一个空位;复位后,SP指向0400H;32位数入栈:低对低,高对高(小端模式);32位数读写,约定偶地址访问:

例:SP为0083H,32位数读从0082H开始。SP溢出时:

例:上溢,加到FFFFH后复位为0000H,重加。下溢,减少SP低于0000H后,会从FFFFH继续减。175、数据页指针--DP每页64个字186、辅助寄存器--XAR0~XAR78个:操作数地址指针;32位通用寄存器;16位通用寄存器(AR0~AR7),可作循环控制。(注意:高16位可能受影响)

注意:高16位不能单独访问。197、程序计数器--PC22位,指向当前操作指令(到达D2阶段)地址到达D2阶段的指令不会被中断(要执行完)F1:InstructionAddressF2:InstructionContentD1:DecodeInstructionD2:ResolveOperandAddrR1:OperandAddressR2:GetOperandE:CPUdoing“real”workW:storecontenttomemory208、返回程序计数器--RPC22位,存放长调用的返回地址。

用指令LCR完成长调用时,RPC中的原来的内容被压入堆栈,返回地址会装载到RPC中;用指令LRETR实现返回时,RPC中的内容会被传送到PC中,先前压入堆栈的内容会被弹出到RPC中。LCR和LRETR比另一对指令LC和LRET速度快。219、中断控制寄存器--IFR、IER、DBGIER3个寄存器的相应位定义是对应的:IFR相应位=1时,有对应的中断请求;IER相应位=1时,对应的中断使能;DBGIER用于实时仿真模式(以支持时间紧急中断)。

2210、状态寄存器--ST0、ST1符号扩展模式SXM;(ACC中16位操作,1-扩展)溢出模式OVM;(ACC,1-溢出饱和处理)测试/控制标志TC;(TBIT或NORM指令)进位C;(进位,借位)零标志Z;负标志N;溢出标志V;乘积移位模式PM;溢出计数器(6位)--OVC/OVCU。(OVM为1时,不受影响)ST0:加减结果在ACC中正溢:7FFFFFFFH-80000000H负溢:80000000H-7FFFFFFFH指令操作使用或影响的控制位或标志位运行模式、寻址模式及中断控制位23ST1:全局中断屏蔽位-INTM;(0-使能,1-中断屏蔽)调试使能屏蔽位DBGM;(1-时间敏感代码内屏蔽调试)寻址模式设置位PAGE0;(0-C28x,1-C27x)中断向量映射位VMAP;(0-低端,1-高端,默认)堆栈指针定位位SPA;(0-未操作,1-已偶定位操作)循环指令状态位LOOP;(0-循环结束,1-循环进行)仿真及保护寄存器允许位-EALLOW;(1-仿真及保护寄存器允许)空闲状态位--IDLESTAT;(0-常态,1-低功耗状态)寻址模式位AMODE;(0-C28x,C27x,1-C2xLP)目标兼容模式位OBJMODE;(0-C27x,1-C28x,要修改)M0和M1映射模式位--M0M1MAP;(0-TI测试,1-用户)XF状态位XF;(0-XF引脚的状态,汇编指令)辅助寄存器指针ARP;(000-确定当前辅助寄存器)2024/6/2124(三)、F28335的存储器配置一、内部存储器二、外部扩展接口XINTF2024/6/212500400H--1K00800H--2K01000H--4K02000H--8K注意:要查看TI文档未按比例标示熟悉几个范围片内存储器+外部XINTF扩展概览2024/6/2126一、内部存储器1、SARAM–34KW

M0,1KW–M0向量表通常不用M1,1KW–常作为堆栈L0-L3,4*4KW双映射,安全区L4-L7,4*4KW可DMA访问2024/6/21272、Flash–256KW

分成10个区段:H扇区,32KW,0x300000~0x307FFF;G区段,32KW,0x308000~0x30EFFF;----------------A扇区,32KW,0x338000~0x33EFFF。2024/6/2128分成10个区段:OTP,1KW,0x380400~0x3807FF.3、OTP–

2KW,通常不用2024/6/21294、bootROM–8KW

数学函数表-0x3FF000正弦函数/余弦函数归一化倒数归一化平方根表归一化反正切函数表舍入取整与饱和限值表上电引导程序区

-0x3FFC00InitBootSelectBootMode,判GPIO87、86、85、84Bootloader,SCI、SPI、并口装载;跳Flash、SARAM、OTPExitBoot向量表(32个向量)

复位向量存储在:0x3FFFC0、0x3FFFC1其他CPU向量2024/6/21305、外设帧

PF0-0x000800器件仿真寄存器Flash寄存器CSM寄存器XINTF寄存器CPU定时器寄存器PIE寄存器PIE中断向量表PF1-0x006000ECAN_A寄存器ECAN_AMBOX寄存器PF2-0x007000系统控制寄存器SPI_A寄存器SCI_A寄存器外部中断寄存器GPIOMUX寄存器GPIODAT寄存器ADC寄存器EV_A寄存器EV_B寄存器SPI_B寄存器SCI_B寄存器MCBSP_A寄存器2024/6/2131二、F28335外部扩展接口XINTF允许其访问不同速率的外部存储设备

外部接口被映射到3个固定的存储区域;每个存储区域都可以独立地设置等待状态数、选通信号建立时间和保持时间;可以选择是否通过外部信号XREADY来扩展其等待状态。2024/6/2132(四)、F28335的时钟及其控制一、F28335时钟的产生二、F28335系统时钟的分配三、F28335的低功耗模式四、F28335的看门狗电路2024/6/2133一、F28335时钟的产生PLLCRCLKIN=(OSCCLK*10)/2=30MHz*10/2=150MHz通常,DIV=1010OSCCLK=30M2024/6/2134PLL控制寄存器—PLLCR(7021H)

0000,CLKIN=OSCCLK/2,PLL旁路0001,CLKIN=(OSCCLK*1.0)/20010,CLKIN=(OSCCLK*2.0)/20011,CLKIN=(OSCCLK*3.0)/20100,CLKIN=(OSCCLK*4.0)/20101,CLKIN=(OSCCLK*5.0)/20110,CLKIN=(OSCCLK*6.0)/20111,CLKIN=(OSCCLK*7.0)/21000,CLKIN=(OSCCLK*8.0)/21001,CLKIN=(OSCCLK*9.0)/21010,CLKIN=(OSCCLK*10.0)/2DIV设置:其他值无效!2024/6/2135二、F28335系统时钟的分配PCLKCR

HISPCPLOSPCPCLKINCPU除1/2/4-HSPCLK-LSPCLK2024/6/21361、外设时钟控制寄存器-PCLKCR0,PCLKCR1,PCLKCR2

相应位=0,停止;相应位=1,使能。2024/6/21373、低速外设时钟预定标器—LOSPCP

2、高速外设时钟预定标器—HISPCP

低速时钟=SYSCLKOUT/2*LSPCLK高速时钟=SYSCLKOUT/2*HSPCLK4、系统控制与状态寄存器—SCSR

三、F28335的低功耗模式(空转)(暂停)(待机)低功耗模式控制寄存器0—LPMCR0

IDLE指令进入!LPM设置:00IDLE模式(空转,系统时钟不关闭,外设可独立关断);01STANDBY模式(待机,系统时钟关闭,振荡器工作);10或11-HALT模式(暂停,振荡器也关闭了)。QUALSTDBY设置(退出SADBY模式要求的外部唤醒信号宽度):0000002*OSCCLKs;0000013*OSCCLKs;

……

11111165*OSCCLKs。四、F28335的看门狗电路WDPSWDCHKD6D7

1011禁止上电时,看门狗默认为使能状态。对于30MHz的晶频率,计数溢出时间大约是4.37ms。为避免看门狗使系统过早复位,应该在系统初始化时先对看门狗寄存器进行配置。01、WD控制寄存器—WDCR

D7WDFLAG,WD复位状态标识,写1清0;

D6WDDIS。0使能,1禁止;D5-D3--101;D2-D0--预定标器(1~64)。2、WD计数寄存器—WDCNTR

3、WD复位寄存器—WDKEY

WDCNTR—看门狗计数器当前值。

WDKEY—先写0x55,再写0xAA可使WDCNTR淸0。4、系统控制和状态寄存器—SCSR

D2—WDINTS。WDINT信号当前状态;

D1—WDENINT。1,WDINT信号使能;0,WDRST使能D0—WDOVERRIDE,为1,允许修改WDDIS,为0,不允许修改。WDCR中

地址 寄存器 描述0x007010 Reserved保留(连续10个单元)

0x007019 Reserved保留0x00

温馨提示

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

评论

0/150

提交评论