第2章DSP控制器总体结构_第1页
第2章DSP控制器总体结构_第2页
第2章DSP控制器总体结构_第3页
第2章DSP控制器总体结构_第4页
第2章DSP控制器总体结构_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

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

文档简介

1 第2章TMS320F281xDSP控制器总体结构 本章内容 2 1DSP的引脚及其功能2 2DSP的片内硬件资源2 3存储器扩展外部接口2 4DSP片内Flash和OTP存储器2 5代码安全模块 2 2 6时钟与低功耗模式2 7看门狗定时器2 832位CPU定时器2 9通用输入 输出2 10片内外设寄存器2 11外设中断扩展 3 2 1DSP的引脚及其功能 下图分别为TMS320F2812的176引脚PGFLQFP Low ProfileQuadFlatpack 封装图和TMS320F2810的128引脚PBKLQFP封装图 4 F2812DSP的引脚 5 F2810DSP的引脚 6 引脚说明 见教材表格 XINTF ExternalInterface 信号 地址 19位 数据 16位 及存储器控制信号引脚 JTAG仿真测试及其他 振荡器 复位 引脚 A D转换器引脚 电源引脚 GPIOA GPIOD或 EVA 引脚 GPIO56个引脚 GPIOB GPIOD或 EVB事件管理器B 引脚 通信模块 SPI SCI CAN McBSP 或GPIOF GPIOG引脚 外部中断或GPIOE引脚 通用数字I OGPIOF或XF输出引脚 7 XINTF信号 地址 数据及存储器控制信号引脚XA 18 XA 0 19根外部地址线 XD 15 XD 0 16根外部数据线 微处理器 微计算机模式选择 外部保持请求 外部保持应答 XINTF的Zone0和Zone1选择 XINTF的Zone2选择 XINTF的Zone6和Zone7选择 写使能 读使能 读 写选通 XREADY 准备好信号 8 TI还推出了F2808 F2806 F2801等型号 其内部结构与F2812类似 但引脚数 时钟频率 内部资源有所降低 以降低成本 F28xDSP的硬件资源 9 F281xDSP的功能框图 2 2DSP的片内硬件资源 10 2812DSP控制器的结构 CPU片内存储器片内外设 片内接口电路 11 TMS320F2812 TMS320F2810MostPowerful MostIntegratedDualFunctionDigitalSignalController 12 F281xDSP的功能框图 13 QuarterofaMegabyteofon chipFlashMemory 128 bitsecurityprotectssoftwareinvestment FastprogramexecutionoutofbothRAMandFlashmemory100 120MIPSwithFlashAccelerationTechnology150MIPSoutofRAMfortime criticalcode Externalmemoryinterface XINTF supportssystemswithlargermemorymodels upto1MWaddressreach Upto128Kx16Flash 8x4Kand6x16KSectors InterruptManagement McBSP On ChipFlashMemory 14 2812DSP的存储器映射 15 2810DSP的存储器映射 16 存储器地址空间 281xDSP具有1M存储空间 包括数据 程序 I O空间 片内存储器 SARAM M0 000000 0003FFH 1KWSARAM M1 000400 0007FFH 1KW片内外设 PF0 000800 000CFFH 2KW中断矢量PIEVector RAM D00 DFFH 256W片内外设 PF1 2 006000 007FFFH 8KWSARAM L0 008000 008FFFH 4KW 安全SARAM L1 009000 009FFFH 4KW 安全OTP 3D7800 3D7BFFH 1KW 安全Flash 3D8000 3F7FFFH 128KW 安全SARAM H0 3F8000 3FBFFFH 8KWBootROM 3FF000 3FFFFFH 4KW 17 外部存储器及I O扩展XINTFZone0 1 Zone2 Zone6 7 1M 32K 通过数据线XD0 XD15 地址线XA0 XA18及控制信号线扩展 不论是2812还是2810 低64K 的存储器地址范围映射到24x的数据空间 高64K 的存储器地址范围映射到24x的程序空间 24x兼容的代码只能在 高64K 存储器中执行 因此只有最顶部的32K 0 x3F0000 0 x3F7FFF 的Flash ROM和H0SARAM可以用来运行24x兼容的代码 18 典型的DSP应用系统多采用最小系统 即系统由一个F2810DSP芯片加上相应的电源 时钟 复位 JTAG电路及应用电路构成 这种系统也称为单片系统方案 SingleChipSolution 在程序调试过程中 可以先将程序放入到H0SARAM L0SRAM和L1SARAM中运行仿真调试 对于程序长度小于16K时比较方便 调试完成后 再将程序放入Flash存储器中运行 2 3存储器扩展外部接口 对于较复杂的DSP应用系统 程序可能较长或需要扩展一些外部存储器或外部接口如D A转换芯片 LCD驱动等 这时需要采用外部接口 XINTF 外部存储器或接口访问速度等可能差别较大 XINTF提供了时序延长或加等待机制来确保通过软件配置实现对这些存储器或外设的正确接口 19 2812DSP外部接口分区XINTF 20 时钟XTIMCLK和SYSCLKOUT的关系示意图 21 XINTF对外访问时序被分成三个阶段 即起始 Lead 阶段 激活 Active 阶段和收尾 Trail 阶段 XINTF对不同的地址区域进行访问时 可以通过对应各区的XTIMING寄存器对访问时序加等待状态进行延时 等待状态可配置为若干个XTIMCLK的周期数 对访问时序进行配置依赖于F2812的工作频率SYSCLKOUT和XINTF的定时时钟XTIMCLK 22 XINTF时序寄存器XTIMINGx x 0 1 2 6 7 XINTF时序寄存器XTIMINGx用来配置建立 保持和等待时间 XINTF配置寄存器XINTCNF2 XINTF的Bank寄存器XBANK XINTF寄存器初始化程序 23 XINTF的寄存器 24 Flash存储器的特点 Flash和OTP的功耗模式 Flash和OTP的性能 Flash流水线模式 Flash和OTP寄存器 2 4DSP片内Flash和OTP存储器 25 多个分区 有代码安全保护 有低功耗模式 可根据CPU频率调整的等待状态 可提高性能的流水线模式 Flash存储器的特点 26 Flash和OTP的功耗模式 SleepMode StandbyMode ActiveMode 27 Flash和OTP的性能 32位取指令 16位或32位数据空间读操作 16位程序空间读操作 Flash存储器随机存取 Flash存储器页面存取 OTP操作 28 Flash和OTP配置寄存器 29 代码安全模块CSM CodeSecurityModule 可以防止未被授权的人看到片内存储器的内容 防止对受保护的代码进行复制和反向工程 代码安全模块的功能CSM对其他片内资源的影响代码安全功能的使用 2 5代码安全模块CSM 30 受CSM影响的片内资源 31 CSM的状态和控制寄存器CSMCR D15 FORCESEC位 写1可以清除KEY寄存器 并使DSP安全 D0 SECURE 只读位 反映了DSP目前的状态 1DSP安全 CSM锁定 0DSP不安全 CSM被解锁 32 密码匹配流程PMF 33 解除DSP对L0和L1的安全保护的C语言程序 inti5 i volatileint PWL PWL指针PWL 34 重新保护的C代码 volatileint PWL 0 x0AE0 CSM寄存器文件 设置FORCESEC位asm EALLOW CSMSCR寄存器受EALLOW保护 PWL 0 x8000 asm EDIS 35 不同外设的时钟和复位电路 系统时钟SYSCLKOUT即输入时钟CLKIN 2 6时钟与低功耗模式 1 时钟 36 外设时钟控制寄存器PCLKCR D15 D13 D9 D7 4Reserved位 D14ECANENCLK 若设为1 则使能CAN外设中的系统时钟SYSCLKOUT 否则禁止 D12MCBSPENCLK 若设为1 则使能McBSP外设中的低速时钟LSPCLK D11SCIBENCLK 若设为1 则使能SCI B外设中的低速时钟LSPCLK D10SCIAENCLK 若设为1 则使能SCI A外设中的低速时钟LSPCLK D8SPIBENCLK 若设为1 则使能SPI外设中的低速时钟LSPCLK D3ADCENCLK 若设为1 则使能ADC外设中的高速时钟HSPCLK D2Reserved位 D1EVBENCLK 若设为1 则使能EVB外设中的高速时钟HSPCLK D0EVAENCLK 若设为1 则使能EVA外设中的高速时钟HSPCLK 37 系统控制与外设状态寄存器SCSR D15 3 ReservedD2 WDINTS 看门狗WD中断状态位 D1 WDENINT 看门狗WD中断使能位 如果设为1 则WD复位WDRST输出信号禁止 看门狗WD中断使能 D0 WDOVERRIDE WD保护位 该位是 个只能清除的位 复位后 1 通过向该位写1对其清0 为0保护WD 防止WD被软件禁止 38 低速外设时钟定标寄存器LOSPCP 若HSPCP不为0 则HSPCLK SYSCLKOUT 2 HISPCP2 0 复位时 默认值001 HSPCLK SYSCLKOUT 2若HSPCP 0 则HSPCLK SYSCLKOUT 高速外设时钟定标寄存器HISPCP 若LOSPCP不为0 则LSPCLK SYSCLKOUT 2 LOSPCP2 0 复位时 默认值010 LSPCLK SYSCLKOUT 4若HSPCP 0 则LSPCLK SYSCLKOUT 39 时钟电路 振荡器OSC和锁相环PLL模块 2 振荡器和锁相环 40 若DIV 0 复位值 则CLKIN OSCCLK 2 若DIV 0001 1010 则CLKIN OSCCLK DIV 2 锁相环倍频寄存器PLLCR 41 voidInitSysCtrl void 系统初始化子程序 EALLOW defineEALLOWasm EALLOW 宏定义SysCtrlRegs PLLCR 0 x000A 初始化锁相环 OSCCLK 30MHz DIV 0 x0A CLKIN 30MHz 10 2 150MHzasm NOP asm NOP for i 0 i 3000 i 延时 等待锁相环稳定SysCtrlRegs HISPCP all 0 x0000 HSPCLK SYSCLKOUT 150MHzSysCtrlRegs LOSPCP all 0 x0002 LSPCLK SYSCLKOUT 4 37 5MHzSysCtrlRegs PCLKCR bit EVAENCLK 1 使能EVASysCtrlRegs PCLKCR bit EVBENCLK 1 使能EVBSysCtrlRegs PCLKCR bit SCIENCLKA 1 使能SCI A SysCtrlRegs PCLKCR bit SCIENCLKB 1 不用的外设不使能 以降低功耗SysCtrlRegs PCLKCR bit ADCENCLK 1 使能ADCEDIS defineEDISasm EDIS 宏定义 时钟模块和锁相环初始化C语言编程 42 除正常 Normal 工作模式外 F281x有3种低功耗模式 IDLE 空闲 模式HALT 停止 模式STANDBY 备用 模式 低功耗模式控制寄存器0 LPMCR0 低功耗模式控制寄存器1 LPMCR1 3 低功耗模式 43 F281x低功耗模式 44 281xDSP内置了一个看门狗定时器 WDT 用来监视DSP的运行状况 当系统进入不可预知的状态而造成 死机 时 WD将产生一个复位操作 从而使DSP进入一个已知的起始位置重新运转 8位WD计数寄存器 WDCNTRWD复位钥匙寄存器 WDKEYWD定时器控制寄存器 WDCR 2 7看门狗定时器 45 看门狗 Watchdog 模块 OSCCLK XCLKIN 46 8位WD计数寄存器 WDCNTR WD复位钥匙寄存器 WDKEY WDKEY 如果先写入0 x55 在写入0 xAA就会使WDCNTR清零 写入任何其他数值则马上使DSP复位 读操作返回的是WDCR寄存器的值 47 WD定时器控制寄存器 WDCR 位7WDFLAG 看门狗复位状态标志位 如果为1 表示看门狗复位 为0 表示是外部复位或上电复位 该位写1清除 否则状态一直保持 位6WDDIS 向该位写1 禁止看门狗模块 写0 使能看门狗模块 复位值为0 看门狗模块使能 只有在SCSR寄存器中的WDOVERRIDE位设为1后才能修改该位 位5 3WDCHK 任何时候写该寄存器 用户都必须向这些位写入101 写入任何其他数值都会引起复位 如果看门狗使能 位2 0WDPS 这些位用来配置看门狗时钟WDCLK 48 位2 0WDPS 这些位用来配置看门狗时钟WDCLK 000WDCLK OSCCLK 512 1001WDCLK OSCCLK 512 1010WDCLK OSCCLK 512 2011WDCLK OSCCLK 512 4100WDCLK OSCCLK 512 8101WDCLK OSCCLK 512 16110WDCLK OSCCLK 512 32111WDCLK OSCCLK 512 64 OSCCLK为振荡器频率 49 禁止看门狗定时器C语言程序 EALLOW defineEALLOWasm EALLOW 宏定义SysCtrlRegs WDCR 0 x0068 屏蔽看门狗EDIS defineEDISasm EDIS 宏定义InitSysCtrl 系统初始化子程序 使用看门狗定时器的C语言程序段 EALLOW 宏定义 defineEALLOWasm EALLOW 解除保护SysCtrlRegs WDKEY 0 x55 SysCtrlRegs WDKEY 0 xAA 周期性写入0 x55 0 xAA 使WDCNTR清零EDIS 宏定义 defineEDISasm EDIS 设置保护 50 CPU定时器 F281x与240 x相比 增加了三个32位CPU定时器0 1 2 CPU定时器1和2保留给实时操作系统 RTOS 只有CPU定时器0留给用户使用 2 832位CPU定时器 51 CPU定时器中断信号和输出信号 52 1 数字并行I O端口概述2812DSP有56个通用双向的数字I O GPIO GeneralPurposeI O 引脚 其中大多数都是基本功能和通用I O复用引脚 2 9通用输入 输出 通用I O复用寄存器可以设置281x的部分引脚功能 这些因脚可以通过GPxMUX寄存器分别设置成外设I O端口或通用数字I O端口 其中x代表不同的端口 A B D E F和G 53 2 通用I O的多路选择 引脚的功能可以通过如下的16位控制寄存器设置 I O复用控制寄存器也称为多路选择寄存器 GPxMUX x A B D E F G 用来选择I O端口作为基本片内外设功能或通用I O功能 1 基本片内外设功能 0 通用I O功能 方向控制寄存器 GPxDIR 用来选择通用I O的数据方向 1 输出方式 0 输入方式 输入限制 即输入尖脉冲滤波 控制寄存器GPyQUAL y A B D E I O复用控制寄存器 54 如果配置为通用数字I O端口模式 则寄存器GPxSET可以设置各个I O信号 置1 寄存器GPxCLEAR可以清除各个I O信号 清0 寄存器GPxTOGGLE可以翻转各个I O信号 数据寄存器GPxDAT可以读写各个I O信号 55 GPIO工作模式框图 56 通过输入限定的方法消除噪声 输入尖脉冲滤波时钟周期数 57 3 数字I O端口寄存器每个通用I O引脚受复用控制 MUX 方向 数据 设置 清除和翻转寄存器的控制 I O复用控制寄存器 GPxMUX x A B D E F G 用来选择I O端口作为基本片内外设功能或通用I O功能即多路选择 1 基本片内外设功能 方向控制寄存器 GPxDIR 用来选择一般I O的数据方向 1 输出方式 0 输入方式数据寄存器GPxDAT用来读写数据 输入限制控制寄存器GPyQUAL y A B D E 58 GPxSET寄存器每个I O口有一个设置寄存器 只能写 如果引脚配置成输出 则向寄存器中写1可以使输出为1 写0没有影响 GPxCLEAR寄存器每个I O口有一个清0寄存器 只能写 如果引脚配置成输出 则向寄存器中写1可以使输出清0 写0没有影响 GPxTOGGLE寄存器每个I O口有一个翻转寄存器 只能写 如果引脚配置成输出 则向寄存器中写1 可以使输出发生翻转 即原来为1则变为0 原来为0则变为1 写0没有影响 59 GPIO初始化C语言程序实例 include DSP281x Device h 包含片内外设寄存器头文件voidInitGPIO void GPIO初始化子程序 asm EALLOW 解除写保护GpioMuxRegs GPAMUX all 0 x077F EVA CAP1 3 PWM1 6 T1PWMGpioMuxRegs GPADIR all 0 x01880 方向 GPIOA12 11 7为输出 GpioMuxRegs GPGMUX bit SCITXDB GPIO4 1 TXDBGpioMuxRegs GPGMUX bit SCIRXDB GPIO5 1 RXDBasm EDIS 恢复写保护 60 2 10片内外设寄存器 外设寄存器空间 DSP控制器片内外设的功能是通过片内外设寄存器实现的 这些寄存器被安排在3个数据存储器地址空间 分别是 1 外设帧0 PeripheralFrame0 PF0 这些外设寄存器直接映射到CPU存储器总线 支持16位和32位访问 2 外设帧1 PF1 这些外设寄存器映射到32位外设总线 支持16位和32位访问 所有32位操作对齐到偶数地址边界 3 外设帧2 PF2 这些外设寄存器映射到16位外设总线 只允许16位访问 32位操作被忽略 61 外设帧0寄存器 62 外设帧1寄存器 63 外设帧2寄存器 64 2 受EALLOW保护的寄存器 281x中有许多外设控制寄存器受EALLOW保护 即CPU不能写 CPU状态寄存器ST1的EALLOW位 ST1 6 指明了寄存器的保护状态 受EALLOW保护的寄存器有 DSP仿真寄存器 Flash寄存器 CSM寄存器 PIE向量表 系统控制寄存器 GPIOMUX寄存器 特定的eCAN寄存器 65 2 11外设中断扩展PIE 外设中断扩展模块PIE PeripheralInterruptExpansion 将高达96个中断源每8个一组 共12个中断信号送入CPU INT1 INT12 1 PIE控制器 F281xCPU支持一个不可屏蔽中断和16个可屏蔽中断 INT1 INT14 CPU实时操作系统中断RTOSINT CPU数据进出中断DLOGINT 281x有许多外设 每个外设都可以产生一个或多个中断请求 需要一种集中外设所有中断的控制器PIE来裁定从不同中断源来的中断请求 66 MultiplexingofInterruptsUsingthePIEBlock采用PIE模块的外设中断信号多路传送 67 1 外设级一旦外设产生中断事件 对应中断标志寄存器中的中断标志位就置1 如果对应的中断使能位设为1 则外设的中断请求信号INTx y x 1 12 y 1 8 可以送到PIE控制器 2 PIE级PIE部分的每一个中断都有一个中断标志位PIEIFRx y和一个中断使能位PIEIERx y 对每个CPU中断组INT1 INT12都有一个应答位PIEACKx 3 CPU级一旦中断请求送入CPU后 CPU级的中断标志寄存器IFR中的中断标志位就置1 如果此时CPU中断使能寄存器IER或仿真中断使能寄存器DBGIER中的相应位为1 且全局中断屏蔽位INTM ST1 0 为0 则CPU就进入中断服务程序 响应中断 中断响应可以分成下面三个层次 68 典型的PIE CPU中断响应过程 69 DSP内核中断 INT1 INT12 每个外设中断连接到内核中断 支持软件中断与硬件中断软件中断是由指令INTR TRAP NMI请求的中断 硬件中断由硬件引起 外部中断 由外部中断引脚引起 与内部中断 由片内外设动作事件引起 可屏蔽中断 都是硬件中断 可以用指令屏蔽或允许 与不可屏蔽中断 包括所有软件中断和硬件复位中断RS 70 2 中断矢量表映射 在C28X系列DSP中 中断矢量表可以映射到5个不同的区间 M1SARAM M0SARAM BROM XINTFZone7块 PIE矢量块 但在F2812 F2810中 只有PIE矢量表可以使用 复位后PIE矢量表是空的 初始化程序应将矢量表从Flash中复制到PIE矢量表中来 然后使能PIE矢量表 即令ENPIE 1 此后中断矢量从PIE矢量表中取地址 PIE中断矢量表见教材 71 PIE中断矢量表映射 72 3 中断源 中断源 73 片内外设中断与外部引脚中断XINT1和XINT2全部连接到了PIE中 共组成了12个中断组 74 4 PIE配置和控制寄存器 PIECRLPIE控制寄存器PIEACKPIE应答寄存器PIEIERx x 1 12 INTx组使能寄存器PIEIFRx x 1 12 INTx组标志寄存器 75 PIE控制寄存器PIECRL D15 1 PIEVECT 表示从矢量表中取出的矢量地址 D0 ENPIE 使能矢量获取 为1时 使能 PIE应答寄存器PIEACK D11 0 PIEACK 写入1到对应的中断位可以清除该位 清除后当该组的中断申请到来时 允许PIE向CPU申请中断 76 PIE中断标志寄存器PIEIFRx x 1 12 D7 0 INTx 8 INTx 1 表示中断是否激活 类似CPU中断标志位 当一个中断激活时 相应位置1 77 D7 0 INTx 8 INTx 1 表示中断使能 类似CPU中断使能位 为1时 使能 PIE中断使能寄存器PIEIERx x 1 12 78 D15 RTOSINT D14 DLOGINTflag D14 1有中断申请 向该位写1 可清除中断请求 D13 D0 为INT14 INT1中断申请标志 CPU中断标志寄存器IFR InterruptFlagRegister 地址0006H 79 CPU中断使能寄存器IER InterruptEnableRegister 地址0004H D15 RTOSINT D14 DLOGINTmask D14 1 使能中断 D14 0 屏蔽中断请求 D13 D0 为INT14 INT1中断屏蔽位即使能位 80 CPU中断仿真使能寄存器DBGIER DebugER 地址0004H DBGIER的16个位代表的中断与IER一样 仿真中断使能寄存器DBGIER只有在CPU处于实时仿真模式中暂停时才有效 81 5 外部中断控制寄存器 F2812支持3个外部可屏蔽中断XINT1 XINT2和XINT13 XINT13与不可屏蔽中断XNMI公用一个引脚 外部中断1控制寄存器XINT1CR

温馨提示

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

评论

0/150

提交评论