《F28335学习教程(南航.ppt》由会员分享,可在线阅读,更多相关《F28335学习教程(南航.ppt(112页珍藏版)》请在金锄头文库上搜索。
1、DSPDSP技术应用技术应用DSPDSP技术应用技术应用南京航空航天大学南京航空航天大学 自动化学院自动化学院DSPDSP技术应用技术应用有关本课程学习的几点建议有关本课程学习的几点建议 本课程是一门实践性、应用性很强的学科本课程是一门实践性、应用性很强的学科仅仅听懂还不够仅仅听懂还不够, ,重在培养动手能力重在培养动手能力硬件硬件/ /软件同样重要、不可偏废软件同样重要、不可偏废 硬件是系统的基础硬件是系统的基础, ,软件是系统的灵魂软件是系统的灵魂本课程的前期基础课程是本课程的前期基础课程是数字电路、微机原理、单片机原理及应用、数数字电路、微机原理、单片机原理及应用、数字信号处理字信号处理
2、这方面知识掌握得不够好的请自己补上这方面知识掌握得不够好的请自己补上预习、听课、复习、作业、实验环环都重要预习、听课、复习、作业、实验环环都重要用科学的方法学习用科学的方法学习DSPDSP技术应用技术应用TMS320F28335TMS320F28335概述概述1. DSP介介绍绍2. T TM MS S3 32 20 0F F2 28 83 33 35 5结结构构3. T TM MS S3 32 20 0F F2 28 83 33 35 5中中断断系系统统4 4. .T TM MS S3 32 20 0F F2 28 83 33 35 5内内存存映映射射/ /B BO OO OT TR RO
3、OM M5 5. .F F2 28 83 33 35 5时时钟钟与与控控制制系系统统6 6. .F F2 28 83 33 35 5 I I/ /O O口口7 7. .F F2 28 83 33 35 5的的串串行行通通信信接接口口( (S SC CI I) )DSPDSP技术应用技术应用1.DSP介介绍绍 (1)DSP芯芯片片的的分分类类 D DS SP P芯芯片片主主要要可可以以按按照照下下列列两两种种方方式式进进行行分分类类。uu按按数数据据格格式式分分 定定点点D DS SP P芯芯片片 浮浮点点D DS SP P芯芯片片 uu按按用用途途分分 通通用用型型D DS SP P芯芯片片
4、专专用用型型D DS SP P芯芯片片 DSPDSP技术应用技术应用(2)DSP芯芯片片的的应应用用 (1) (1) 信号处理信号处理如数字滤波、自适应滤波、快速傅立叶变如数字滤波、自适应滤波、快速傅立叶变换、相关运算、谱分析、卷积、模式匹配、加窗、波形产换、相关运算、谱分析、卷积、模式匹配、加窗、波形产生等;生等;(2) (2) 通信通信如调制解调器、自适应均衡、数据加密、数据如调制解调器、自适应均衡、数据加密、数据压缩、回波抵消、多路复用、传真、扩频通信、纠错编码、压缩、回波抵消、多路复用、传真、扩频通信、纠错编码、可视电话等;可视电话等;(3) (3) 语音语音如语音编码、语音合成、语音
5、识别、语音增强、如语音编码、语音合成、语音识别、语音增强、说话人辨认、说话人确认、语音邮件、语音存储等;说话人辨认、说话人确认、语音邮件、语音存储等;(4) (4) 图形图形/ /图像图像如二维和三维图形处理、图像压缩与传如二维和三维图形处理、图像压缩与传输、图像增强、动画、机器人视觉等;输、图像增强、动画、机器人视觉等;DSPDSP技术应用技术应用DSP芯芯片片的的应应用用(5) ) 军事军事如保密通信、雷达处理、声纳处理、如保密通信、雷达处理、声纳处理、导航、导弹制导等;导航、导弹制导等;(6) (6) 仪器仪表仪器仪表如频谱分析、函数发生、锁相环、如频谱分析、函数发生、锁相环、地震处理等
6、;地震处理等;(7) (7) 自动控制自动控制如引擎控制、声控、自动驾驶、如引擎控制、声控、自动驾驶、机器人控制、磁盘控制等;机器人控制、磁盘控制等;(8) (8) 医疗医疗如助听、超声设备、诊断工具、病人如助听、超声设备、诊断工具、病人监护等;监护等;(9) (9) 家用电器家用电器如高保真音响、音乐合成、音调如高保真音响、音乐合成、音调控制、玩具与游戏、数字电话控制、玩具与游戏、数字电话/ /视等。视等。DSPDSP技术应用技术应用DSPDSP的应用正在日益发展的应用正在日益发展PDA巡航导弹巡航导弹DSPDSP技术应用技术应用移动通信系统移动通信系统80%80%的手机采用了的手机采用了T
7、ITI的的DSP CoreDSP CoreDSPDSP技术应用技术应用还可以举出很多例子还可以举出很多例子v医院用的医院用的B超、超、CT、核磁共振、核磁共振v卫星遥感遥测卫星遥感遥测v天气预报、地震预报、地震探矿天气预报、地震预报、地震探矿v风洞试验风洞试验v数字化士兵、数字化战争数字化士兵、数字化战争v.vDSPDSP的应用领域取决于设计者的想象空间的应用领域取决于设计者的想象空间DSPDSP技术应用技术应用C2000 DSPTI C55x DSP 核心核心: 世界上最低功耗性能比世界上最低功耗性能比 mW/MIPS的的DSPs 以达到以达到0.05mW/MIPs的最低的最低 功耗性能比而
8、具有最长的电池功耗性能比而具有最长的电池 寿命寿命。 最佳的代码密度最佳的代码密度 兼容兼容C54x DSP软件软件 工作频率将达到工作频率将达到1.1GHz 最好的最好的DSP编译器编译器, 便于便于 使用使用 兼容兼容C62x DSP软件软件 可扩展性能达到可扩展性能达到400MIPs 最佳的最佳的C/C+ 控制代控制代码码效率效率 兼容兼容C24x DSP软软件件C5000 DSPC6000 DSPTI C28x DSP 核心核心: 世界上第一颗针对控制进行世界上第一颗针对控制进行优化的优化的DSPTI C64x DSP 核心核心:世界上具有最高性能的世界上具有最高性能的DSPsMoto
9、rControl DSPPersonal DSPBroadbandInfrastruc-ture DSPTI公司主推的三大公司主推的三大DSP系列系列DSPDSP技术应用技术应用C2000系列系列DSP子系列子系列C2xxC2xx子系列:子系列:1616位定点位定点DSPDSP、20MIPS20MIPS代表器件:代表器件:TMS320F206PZTMS320F206PZC24xC24x子系列:子系列:1616位定点位定点DSPDSP、20MIPS20MIPS代表器件:代表器件:TMS320F240TMS320F240LF240xALF240xA子系列:子系列:1616位定点位定点DSPDSP、
10、40MIPS40MIPS代表器件:代表器件:TMS320LF2407ATMS320LF2407AF28xF28x子系列:子系列:3232位定点位定点DSPDSP、150MIPS150MIPS代表器件:代表器件:TMS320F2812TMS320F2812、TMS320F2810TMS320F2810F283xF283x子系列:子系列:3232位浮点位浮点DSPDSP、150MIPS150MIPS代表器件:代表器件:TMS320F28335TMS320F28335DSPDSP技术应用技术应用Up To 40 MIPSControl Performance High-Precision Contr
11、ol C242F241LC2404ALF2401ALC2402AMulti-Function, Appliance & Consumer Control F240F243LC2406ALF2402ALF2403ALF2406ALF2407AF2810128-LQFPF2812176-LQFPF2812179-u*BGA150 MIPS! Software CompatibleHigh-endDerivativesApplicationspecificversionsScaledDownversionsC2000系列系列DSPRoadmapF28335176-PGFDSPDSP技术应用技术应用2
12、. TMS320F28335结构结构DSPDSP技术应用技术应用TMS320F28335 Block Diagram32x32 bit32x32 bitMultiplierMultiplierSectoredSectoredFlashFlashA(18-0)A(18-0)D(15-0)D(15-0)Program BusProgram BusData BusData BusRAMRAMBootBootROMROM222232-bit32-bitAuxiliaryAuxiliaryRegistersRegisters3 332 bit 32 bit Timers Timers RealtimeR
13、ealtimeJTAGJTAGCPUCPURegister BusRegister BusR-M-WR-M-WAtomicAtomicALUALUPIE PIE Interrupt Interrupt ManagerManager323232323232E Ev ve en nt tMMa an na ag ge er r A AE Ev ve en nt tMMa an na ag ge er r B B1 12 2- -b bi it t A AD DC CWWa at tc ch hd do og gMMc cB BS SP PC CA AN N2 2. .0 0B BS SC CI I
14、- -A AS SC CI I- -B B/ /C CS SP PI IGGP PI IOOI I2 2C CDSPDSP技术应用技术应用TMS320F28335 DSP具有具有150MHz的高速处理能的高速处理能力,具备力,具备32位浮点处理单元,位浮点处理单元,6个个DMA通道支持通道支持ADC、McBSP和和EMIF,有多达,有多达18路的路的PWM输出,输出,其中有其中有6 路为路为TI特有的更高精度的特有的更高精度的PWM输出输出(HRPWM),12位位16通道通道ADC。与前代。与前代DSC相比,相比,平均性能提升平均性能提升50%,并与定点,并与定点C28x控制器软件兼控制器软件
15、兼容。容。得益于得益于F28335浮点运算单元浮点运算单元,从,从 而简化而简化软件开发,缩短开发周期。降低开发成本。软件开发,缩短开发周期。降低开发成本。DSPDSP技术应用技术应用u采用高性能的静态采用高性能的静态CMOS技术技术u主频达主频达150MHZ(6.67ns)u低功耗设计,低功耗设计,1.9V内核电压,内核电压,3.3V I/O电压电压uFlash编程电压为编程电压为3.3Vu支持支持JTAG边界扫描接口边界扫描接口u高性能高性能32位位CPUu16*16位和位和32*32位的乘法累加操作位的乘法累加操作u16*16位的双乘法累加器位的双乘法累加器u哈佛总线结构哈佛总线结构DS
16、PDSP技术应用技术应用u快速中断响应和处理能力快速中断响应和处理能力u统一寻址模式统一寻址模式u4M的程序的程序/数据寻址空间数据寻址空间u高效的代码转换功能高效的代码转换功能u片上存储器片上存储器u最多达最多达256K X 16位的位的Flash存储器存储器u最多达最多达128K X 16位的位的ROMu1K X 16位的位的OTP ROMu34K X 16位的单周期访问位的单周期访问RAM(SARAM)DSPDSP技术应用技术应用u引导(引导(BOOT)ROM(8K X 16)u带有软件启动模式带有软件启动模式u数学运算表数学运算表u16位或位或32位外部存储器扩展接口位外部存储器扩展接
17、口u多达多达2M的寻址空间的寻址空间u时钟和系统控制时钟和系统控制u支持动态改变锁相环的倍频系数支持动态改变锁相环的倍频系数u片上震荡器片上震荡器u看门狗定时模块看门狗定时模块DSPDSP技术应用技术应用uGPI00-GPI063能被设置位能被设置位8个外部中断个外部中断u外设中断扩展模块(外设中断扩展模块(PIE)支持)支持58个外设中断个外设中断u三个三个32位位CPU定时器定时器128位保护密码位保护密码u保护保护Flash/OTP/ROMu防止系统固件被盗取防止系统固件被盗取u增强的电机控制外设增强的电机控制外设u多达多达18通道的通道的PWM输出输出DSPDSP技术应用技术应用u多达
18、多达6通道的通道的HRPWM输出输出u6个捕捉单元,捕捉外部事件个捕捉单元,捕捉外部事件u2个正交脉冲编码电路个正交脉冲编码电路u8个个32位位/6个个16位定时器位定时器u串口通信外设串口通信外设u1个串行外设接口模块(个串行外设接口模块(SPI)u3个个UTAR接口模块(接口模块(SCI)u2个增强型的个增强型的eCAN2.0B接口模块接口模块DSPDSP技术应用技术应用u2个多通道缓冲串口(个多通道缓冲串口(MBSP)u1个个12C总线接口总线接口u12位模数转换模块位模数转换模块u80ns转换时间转换时间u2X8通道复用输入接口通道复用输入接口u两个采样保持电路两个采样保持电路u单单/
19、连续通道转换连续通道转换u高达高达88个可配置通用目的个可配置通用目的I/O引脚引脚u先进的仿真调试功能先进的仿真调试功能DSPDSP技术应用技术应用u硬件支持适时仿真功能硬件支持适时仿真功能u低功耗模式和省电模式低功耗模式和省电模式u支持支持IDLE,STANDBY,HALT模式模式u禁止外设独立时钟禁止外设独立时钟u179引脚引脚BGA封装或封装或176引脚引脚LQFP封装封装DSPDSP技术应用技术应用DSPDSP技术应用技术应用SEED-DEC28335capcapAD/pwmAD/pwm扩扩展展接接口口cpucpu串串口口cpldcpldRTCRTC时钟时钟usbusb电源接口电源接
20、口DADA接口接口CanCan口口SRAMSRAMDSPDSP技术应用技术应用TMS320F28335150MHZTMS320F28335150MHZDSP 总线总线SRAM(最大最大1M x 16位位)USB2.0USB2.0接口4通道D/AD/A输出扩展总线(数据、地址、SPI、McBSP)片上存储器:FLASH:256K x 16SRAM:34K x 18Boot ROM:8K x 16OTP ROM:1K x 16片上外设EPWM输出:12通道HRPWM:6通道ECAP/APWM:6通道QEP:2通道A/D:16通道SCI:3通道McBSP/SPI:2通道SPI:1通道Ecan:2通道
21、IIC:1通道DMA:6通道GPIO(复用):88PWM脉冲输出GAP/QEP输入A/D模拟输入RS232/RS485CAN总线RTC+EEPROM原理框图原理框图DSPDSP技术应用技术应用为什么选择SEED-DEC28335采用采用业界首款浮点数字信号控制器业界首款浮点数字信号控制器,整体性能提升,整体性能提升50%高集成度,降低系统成本高集成度,降低系统成本与其他采用浮点芯片板卡相比(与其他采用浮点芯片板卡相比(DEC33、DEC6713),集成度更高),集成度更高丰富接口:丰富接口:ePWM、AD、DA、CAN、USB2.0、RS232/422/485TI第一次在数字信号控制器中增加浮
22、点处理单元第一次在数字信号控制器中增加浮点处理单元性能比现有控制芯片提升性能比现有控制芯片提升50%,满足越来越高的算法需求,满足越来越高的算法需求简化软件开发,加快上手速度简化软件开发,加快上手速度无需再将程序转换为定点,节省开发时间无需再将程序转换为定点,节省开发时间提供完善的用户手册和源程序,缩短新芯片的学习时间提供完善的用户手册和源程序,缩短新芯片的学习时间DSPDSP技术应用技术应用CPU:TMS320F28335u处理器性能处理器性能300 MFLOPS at 150MHzSingle-cycle 32-bit MAC6-channel DMA support for EMIF,
23、ADC, McBSPu存储器存储器512KB flash and 68KB RAMConfigurable 16- or 32-bit EMIFu控制外设控制外设PWM outputs interfaces for three 3-phase motors6 High-resolution PWM outputsHighest-speed on-chip ADC通讯接口通讯接口Each McBSP configurable as SPICAN 2.0b with 32 mailboxesI2C at 400 Kbpsu开发套件开发套件SEED-DEC28335+SEED-XDSusb2.0Co
24、de Composer Studio IDE V3.3Software librariesuTMS320F28335uReal-TimeuJTAGu32-bitTimers (3)uC28xTM 32-bit DSCu32x32-bitMultiplieruR M WuAtomicuALU uMemory Bus Code securityu32-bituFloating-Point UnituPeripheral BusDSPDSP技术应用技术应用uF2812 主要指标主要指标1.150 MHz2.EMIF3.McBSP4.176-pin PackageuF2808 主要指标主要指标1.Ne
25、w 12-bit ADC2.ePWMs, eCAP, eQEP3.I2C4.Dual CANu新新 F28335 主要指标主要指标1.300 MFLOPS2.DMA3.512KB Flash4.68 KB RAM5.32-bit EMIFuTMS320F2812DSPDSP技术应用技术应用SEED-DEC28335结构和配置结构和配置板上芯片总结板上芯片总结1.1.DSPDSP:TMS320F28335TMS320F283352.2.电源:电源:TPS75733KTTTPS75733KTT,TPS54310TPS543103.3.看门狗:看门狗: TPS3823-33TPS3823-334.4
26、.SRAMSRAM:CY7C1021CV33CY7C1021CV3310ZC10ZC5.5.DACDAC:AD5725AD57256.6.CANCAN驱动:驱动:VP230VP2307.7.两路两路RS232/422/485RS232/422/485串口:串口:MAX32321MAX323218.8.USB2.0USB2.0:CY7C68001CY7C680019.9.RTC+EEPROMRTC+EEPROM:X1226X122610.10.CPLDCPLD: xinlinxinlin xc9572xl xc9572xlDSPDSP技术应用技术应用F2833x性能提升50%u367 MHzu2
27、36 MHzu207 MHz 同样150Mhz主频,F28335比F2812性能至少提升50%!DSPDSP技术应用技术应用DSPDSP技术应用技术应用片上外设片上外设12通道通道 EPWM脉冲输出脉冲输出其中其中6通道支持通道支持HRPWM6路路 ECAP/APWM输入,输入,2路路QEP电机控制电机控制16通道通道 12位位A/D模拟量输入模拟量输入片内片内2X8通道、通道、12-位分辨率、位分辨率、80ns转换时间、转换时间、0-3V量程量程2路路 异步串口异步串口1路为:路为:RS232、1路为:路为:RS232/422/485可配置可配置1路路 CANF28335的的2个个CAN口中
28、的一路,口中的一路,CAN总线收发芯片总线收发芯片SN65HVD230DSPDSP技术应用技术应用其他外设其他外设SRAM最大支持最大支持1MB1路路 USB2.0480M4通道通道 12位位D/A模拟量输出模拟量输出10v量程、量程、10us建立时间建立时间RTC实时时钟实时时钟+EEPROM通过通过1路路IIC总线接口,连接到总线接口,连接到X1226扩展总线扩展总线分为存储总线和控制总线分为存储总线和控制总线DSPDSP技术应用技术应用SEED-DEC28335特色及应用特色及应用例程例程uadc_dmauDACuCANueqep_freqcalGpiouMcbspueqep_freqc
29、aluRtcusci_loopbackSpiuUsbuFlash_puI2CDSPDSP技术应用技术应用SEED-DEC28335特色及应用特色及应用文档文档uTMS320x28x, 28xxx Serial Peripheral Interface (SPI) Reference Guide (Rev. D)uTMS320x28xx, 28xxx Enhanced Capture (ECAP) Module Reference Guide (Rev. A)uTMS320x28xx, 28xxx Enhanced Controller Area Network (eCAN) Reference
30、 Guide (Rev. E)uTMS320x28xx, 28xxx Enhanced Pulse Width Modulator (ePWM) Module (Rev. C)uTMS320x28xx, 28xxx Enhanced Quadrature Encoder Pulse (eQEP) Module RG (Rev. A)uTMS320x28xx, 28xxx Inter-Integrated Circuit (I2C) Reference Guide (Rev. A)uTMS320x28xx, 28xxx Serial Communications Interface (SCI)
31、Reference Guide (Rev. B)uTMS320x280x High-Resolution Pulse Width Modulator (HRPWM) Reference Guide (Rev. A)uTMS320x2833x Analog-to-Digital Converter (ADC) Reference GuideuTMS320x2833x Boot ROMuTMS320x2833x Direct Memory Access (DMA) Reference GuideuTMS320x2833x External Interface (XINTF) Reference G
32、uideuTMS320x2833x Multichannel Buffered Serial Port (McBSP) Users GuideuTMS320x2833x System Control and Interrupts Reference GuideDSPDSP技术应用技术应用SEED-DEC28335特色及应用特色及应用u多种嵌入式多种嵌入式DSP应用应用u电机控制、仪器、仪表电机控制、仪器、仪表u电力系统电力系统RTU、FTUu工业现场应用工业现场应用u马达控制马达控制DSPDSP技术应用技术应用SEED-DEC28335竞争对手竞争对手u闻亭数字(闻亭数字(http:/)有一款
33、有一款F28335的板卡,的板卡,TDS28335SDT *256K bit SRAM *16 路12-bit ADC,16 路PWM 输出、同步、异步通信接口 *RS-232 、422、485接口 *扩展地址、数据、控制总线,SPI、SCI 扩展接口、eCAN (带收发驱动)总线结构 * 4 路的 DAC7724U 转换时间最小10微秒,12Bit精度,输出电压10V与与DEC28335比较,没有比较,没有RTC,不是工业级设计,不是工业级设计,多了音频,多了音频接口接口DSPDSP技术应用技术应用TMS320F28335 CPU Coreuu32-bit 32-bit 浮点浮点浮点浮点DS
34、P DSP uu32 x 32 bit MAC32 x 32 bit MACuu2 2次单周期次单周期次单周期次单周期16 x 16 MAC (DMAC)16 x 16 MAC (DMAC)uu快速中断响应机制快速中断响应机制快速中断响应机制快速中断响应机制uu单周期读、写、修改指令单周期读、写、修改指令单周期读、写、修改指令单周期读、写、修改指令uu8 8级流水线,完全避免硬件流水级流水线,完全避免硬件流水级流水线,完全避免硬件流水级流水线,完全避免硬件流水 线冲突线冲突线冲突线冲突uu向上代码兼容性向上代码兼容性向上代码兼容性向上代码兼容性Data BusData Bus32-bit32-
35、bitAuxiliaryAuxiliaryRegistersRegisters3 332 bit 32 bit Timers Timers RealtimeRealtimeJTAGJTAGCPUCPURegister BusRegister BusR-M-WR-M-WAtomicAtomicALUALUProgram BusProgram BusPIE PIE Interrupt Interrupt ManagerManager32x32 bit32x32 bitMultiplierMultiplierDSPDSP技术应用技术应用TMS320F28335 Internal Bus Struct
36、ureData-write Address Bus (32)Data-write Address Bus (32)Program Address Bus (22)Program Address Bus (22)ExecutionExecutionR-M-WR-M-WAtomicAtomicALUALUReal-TimeReal-TimeEmulationEmulation& &TestTestEngineEngineProgram-read Data Bus (32)Program-read Data Bus (32)JTAG JTAG ProgramProgramDecoderDecoder
37、PCPCXAR0XAR0totoXAR7XAR7SPSPDPDPXXARAUARAUMPY32x32MPY32x32XTXTP PACCACCALUALURegistersRegistersDebugDebugRegister Bus / Result BusRegister Bus / Result BusData/Program-write Data Bus (32)Data/Program-write Data Bus (32)Data-read Address Bus (32)Data-read Address Bus (32)Data-read Data Bus (32)Data-r
38、ead Data Bus (32)MemoryMemoryData Data (4G * 16) (4G * 16) ProgramProgram(4M* 16) (4M* 16) StandardStandardPeripheralsPeripheralsExternalExternalInterfacesInterfacesDSPDSP技术应用技术应用XT (32) or T/TLXT (32) or T/TLMULTIPLIER MULTIPLIER 32 x 32 or 32 x 32 or Dual 16 x 16Dual 16 x 16P (32) or PH/PLP (32) o
39、r PH/PL AH (16)AH (16)TMS320F28335 Multiplier and ALU / ShiftersData BusData BusData BusData BusProgram BusProgram BusALU (32)ALU (32)32323232323232323232AL (16)AL (16)32323232 16/3216/328/168/16Shift R/L (0-16)Shift R/L (0-16)ACC (32)ACC (32)AH.MSB AH.LSBAH.MSB AH.LSB AL.MSB AL.LSBAL.MSB AL.LSB3232
40、Shift R/L (0-16)Shift R/L (0-16)3232Shift R/L (0-16)Shift R/L (0-16)323216168/16/328/16/32来至于寄存器来至于寄存器操作码操作码数据存储区数据存储区操作数操作数2乘法器结果乘法器结果操作数操作数1DSPDSP技术应用技术应用TMS320F28335 Pointer, DP and MemoryuDP(16bit)u访问65536个数据页u4M以上的数据存储区DP不能访问XAR0XAR0XAR1XAR1XAR2XAR2XAR3XAR3XAR4XAR4XAR5XAR5XAR6XAR6XAR7XAR7ARAUAR
41、AUMUXMUXData MemoryData MemoryMUXMUXDP (16)DP (16)Data BusData BusProgram BusProgram Bus6 LSB6 LSBfrom IRfrom IR22223232XAR15-0=AR7-0XAR31-16DSPDSP技术应用技术应用F F1 1 F F2 2 D D1 1 D D2 2 R R1 1 R R2 2 E ETMS320F28335 Pipeline流水线自动保护机制流水线自动保护机制流水线自动保护机制流水线自动保护机制8-stage pipelineF F1 1 F F2 2 D D1 1 D D2 2
42、 R R1 1 R R2 2 E EF F1 1 F F2 2 D D1 1 D D2 2 R R1 1 R R2 2 E EF F1 1 F F2 2 D D1 1 D D2 2 R R1 1 R R2 2 E EF F1 1 F F2 2 D D1 1 D D2 2 R R1 1 R R2 2 E EF F1 1 F F2 2 D D1 1 D D2 2 R R1 1 R R2 2 E EF F1 1 F F2 2 D D1 1 D D2 2 R R1 1 R R2 2 X XF F1 1 F F2 2 D D1 1 D D2 2 R R1 1 R R2 2 X XA AB BC CD D
43、E EF FGGWWWWWWWWWWWWWWWWE & G AccessE & G Accesssame address same address R R1 1 R R2 2 E E WWD D2 2 R R1 1 R R2 2 E WE WF1: F1: 取指令地址取指令地址取指令地址取指令地址F2: F2: 取指令内容取指令内容取指令内容取指令内容D1: 32/16D1: 32/16判断边界判断边界判断边界判断边界D2: D2: 取指译码取指译码取指译码取指译码R1: R1: 操作数地址操作数地址操作数地址操作数地址R2: R2: 取操作数取操作数取操作数取操作数E: E: 指令执行指令执
44、行指令执行指令执行W: W: 写内容回存储单元写内容回存储单元写内容回存储单元写内容回存储单元HHDSPDSP技术应用技术应用Code Security Moduleu保护知识产权u用户自定义密码128bitl映射到存储空间:0x00 0AE0 0x00 0AE7l寄存器受到EALLOW保护u128-bits = 2128 = 3.4 x 1038 u1次/2cycle 猜测所有的密码需要1.4*10E23 年LO SARAM (4K)LO SARAM (4K)L1 SARAM (4K)L1 SARAM (4K)OTP (1K)OTP (1K)FLASH (128K)FLASH (128K)r
45、eserved0x00 80000x00 80000x00 90000x00 90000x00 A0000x00 A0000x3D 78000x3D 78000x3D 80000x3D 8000128-Bit Password128-Bit Passwordreserved0x3D 7C000x3D 7C000x3F 7FF8 - 0x3F 7FFF0x3F 7FF8 - 0x3F 7FFFCSM PasswordCSM PasswordLocations (PWL)Locations (PWL)DSPDSP技术应用技术应用TMS320F28335 Fast Interrupt Respons
46、e Manager支持支持支持支持9696个独立的中断个独立的中断个独立的中断个独立的中断直接访问专用直接访问专用直接访问专用直接访问专用RAMRAM(向(向(向(向量表)量表)量表)量表)自动标志更新自动标志更新自动标志更新自动标志更新自动现场保护自动现场保护自动现场保护自动现场保护软件激发软件激发软件激发软件激发(INTR/TRAPINTR/TRAP)可屏蔽中断可屏蔽中断可屏蔽中断可屏蔽中断- -顺序执行顺序执行顺序执行顺序执行非屏蔽中断非屏蔽中断非屏蔽中断非屏蔽中断/ /软立即执行软立即执行软立即执行软立即执行28x CPU Interrupt logic28x CPU Interrup
47、t logic28x28xCPUCPUINTMINTMIFRIFRIERIER96 96 P Pe er ri ip ph he er ra al l I In nt te er rr ru up pt ts s 1 12 2x x8 8 = = 9 96 612 interrupts12 interruptsINT1 to INT1 to INT12INT12PIEPIERegisterRegisterMapMapPIE module PIE module For 96 For 96 interruptsinterruptsT TST0ST0AHAHALALPHPHPLPLAR1 (L)AR
48、1 (L)AR0 (L)AR0 (L)DPDPST1ST1DBSTATDBSTATIERIERPC(msw)PC(msw)PC(lsw)PC(lsw)Auto Context SaveAuto Context SaveDSPDSP技术应用技术应用C28x / C24x ModesC2xLP ModeC2xLP Mode 1 1 1 1C28x Mode C28x Mode 1 1 0 0C27X (default)C27X (default) 0 0 0 0ReservedReserved 0 0 1 1 OBJMODE AMODEOBJMODE AMODEMode BitsMode Bits
49、Compiler Compiler OptionOptionMode TypeMode TypeC24x source-compatible mode: C24x source-compatible mode: 允许运行允许运行允许运行允许运行C24C24的代码的代码的代码的代码( (重新编译过的)重新编译过的)重新编译过的)重新编译过的) 使用使用使用使用C28C28代码产生工具代码产生工具代码产生工具代码产生工具C28x mode: C28x mode: 可以使用可以使用可以使用可以使用C28C28的所有特征编译手段的所有特征编译手段的所有特征编译手段的所有特征编译手段如果用户从外存引导就
50、必须是如果用户从外存引导就必须是如果用户从外存引导就必须是如果用户从外存引导就必须是2828模式或者模式或者模式或者模式或者C2xLPC2xLP-v28-v28-v28 -m20-v28 -m20-v27-v27DSPDSP技术应用技术应用Reset BootloaderResetResetOBJMODE=0 AMODE=0OBJMODE=0 AMODE=0ENPIE=0 VMAP=1ENPIE=0 VMAP=1Boot determined by Boot determined by state of GPIO pinsstate of GPIO pinsReset vector fetch
51、ed Reset vector fetched from boot ROMfrom boot ROM0x3F FFC00x3F FFC0XMPNMC=0XMPNMC=0(microcomputer mode)(microcomputer mode) ExecutionExecutionEntry PointEntry PointH0 SARAMH0 SARAMBootloader setsBootloader setsOBJMODE = 1OBJMODE = 1AMODE = 0AMODE = 0DSPDSP技术应用技术应用3. TMS320F28335 InterruptDSPDSP技术应用
52、技术应用TMS320F28335 中断源中断源TMS320F28335TMS320F28335CORECOREu2个不可屏蔽中断l/RSlNMIu14个可屏蔽中断 (INT1 INT14)INT1INT1INT2INT2INT3INT3INT4INT4INT5INT5INT6INT6INT7INT7INT8INT8INT9INT9INT10INT10INT11INT11INT12INT12INT13INT13INT14INT14RSRSNMINMIDSPDSP技术应用技术应用TMS320F28335 复位中断复位中断Watchdog TimerWatchdog TimerRS pin acti
53、veRS pin activeTo RS pinTo RS pinRSRSC28x CoreC28x CoreDSPDSP技术应用技术应用Reset Boot LoaderResetResetOBJMODE=0 AMODE=0OBJMODE=0 AMODE=0ENPIE=0 VMAP=1ENPIE=0 VMAP=1M0M1MAP=1M0M1MAP=1Boot determined by Boot determined by state of GPIO pinsstate of GPIO pinsReset vector fetched Reset vector fetched from boo
54、t ROMfrom boot ROM0x3F FFC00x3F FFC0XMPNMC=1XMPNMC=1(microprocessor mode)(microprocessor mode)Reset vector fetched Reset vector fetched from XINTF zone 7from XINTF zone 70x3F FFC00x3F FFC0XMPNMC=0XMPNMC=0(microcomputer mode)(microcomputer mode) ExecutionExecutionBootloadingBootloadingEntry PointEntr
55、y Point Routines Routines FLASH FLASH SPI SPIH0 SARAMH0 SARAM SCI-A SCI-A OTP OTPParallel loadParallel loadNotes:Notes:F2810 XMPNMC tied low internal to deviceF2810 XMPNMC tied low internal to deviceXMPNMC refers to input signalXMPNMC refers to input signalMP/MC is status bit in XINTFCNF2 registerMP
56、/MC is status bit in XINTFCNF2 registerXMPNMC only sampled at resetXMPNMC only sampled at resetDSPDSP技术应用技术应用Bootloader 模式模式 GPIO pins GPIO pinsF4 F12 F3 F2F4 F12 F3 F2 1 x x x flash 0x3F 7FF6, 1 x x x flash 0x3F 7FF6,用户必须已经编写了分支指令重定位程序执行用户必须已经编写了分支指令重定位程序执行用户必须已经编写了分支指令重定位程序执行用户必须已经编写了分支指令重定位程序执行 *
57、 * 0 0 1 0 0 0 1 0 H0 SARAMH0 SARAM 0x3F 8000* 0x3F 8000* 0 0 0 1 0 0 0 1 OTPOTP 0x3D 7800* 0x3D 7800* 0 1 x x 0 1 x x 从外部从外部从外部从外部EEPROMEEPROM调用调用调用调用SPL_BootSPL_Boot 0 0 1 1 0 0 1 1 从从从从SCI-ASCI-A调用调用调用调用SCI-BootSCI-Boot 0 0 0 0 0 0 0 0 从从从从GPIO BGPIO B口调用口调用口调用口调用Parallel_BootParallel_Boot* Boot
58、ROM software configures the device for TMS320F28335 mode before jump* Boot ROM software configures the device for TMS320F28335 mode before jumpDSPDSP技术应用技术应用Reset 引导过程引导过程H0 SARAM (8K)H0 SARAM (8K)FLASH (128K)FLASH (128K)OTP (2K)OTP (2K)0x3F 7FF60x3F 7FF60x3D 78000x3D 78000x3D 80000x3D 80000x3F 8000
59、0x3F 80000x3F F0000x3F F0000x3F FFC00x3F FFC0Boot ROM (4K)Boot ROM (4K)BROM vector (32)BROM vector (32)0x3F FC000x3F FC00Boot CodeBoot Code RESETRESETExecution Entry Execution Entry Point DeterminedPoint DeterminedBy GPIO PinsBy GPIO PinsBootloadingBootloadingRoutines Routines (SPI, SCI-A,(SPI, SCI-
60、A,Parallel Load)Parallel Load)0x3F FC000x3F FC00DSPDSP技术应用技术应用TMS320F28335 中断源中断源EV and Non-EVEV and Non-EVPeripheralsPeripherals(EV, ADC, SPI,(EV, ADC, SPI,SCI, McBSP, CAN)SCI, McBSP, CAN)内部中断源内部中断源内部中断源内部中断源外部中断源外部中断源外部中断源外部中断源XINT1XINT1XINT2XINT2PDPINTxPDPINTxRSRSXNMI_XINT13XNMI_XINT13NMINMIC28x
61、COREC28x COREINT1INT1INT13INT13INT2INT2INT3INT3INT12INT12INT14INT14RSRS PIE PIE (Peripheral(PeripheralInterruptInterruptExpansion)Expansion)TINT2TINT2TINT1TINT1TINT0TINT0DSPDSP技术应用技术应用uuIFRIFR中断标志寄存器中断标志寄存器中断标志寄存器中断标志寄存器可屏蔽中断处理过程可屏蔽中断处理过程1 10 01 1( (IFRIFR) )“Latch”“Latch”INT1INT1INT2INT2INT14INT14C
62、oreCoreInterruptInterruptC28xC28xCoreCore( (INTMINTM) )“Global Switch”“Global Switch”( (IERIER) )“Switch”“Switch”uu中断使能寄存器(中断使能寄存器(中断使能寄存器(中断使能寄存器(INTMINTM以及以及以及以及IERIER被使能了才能响应)被使能了才能响应)被使能了才能响应)被使能了才能响应)DSPDSP技术应用技术应用中断标志寄存器中断标志寄存器 (IFR)RTOSINTRTOSINTDLOGINTDLOGINTINT14INT14INT13INT13INT12INT12INT
63、11INT11INT10INT10INT9INT98 89 9101011111212131314141515INT8INT8INT7INT7INT6INT6INT5INT5INT4INT4INT3INT3INT2INT2INT1INT10 01 12 23 34 45 56 67 7中断确定中断确定中断确定中断确定 : :IFR IFR BitBit = 1 = 1中断未确定中断未确定中断未确定中断未确定 : : IFRIFR Bit Bit = 0 = 0uuDINT/EINTDINT/EINT,禁止中断,禁止中断uu写写IFRIFR时产生中断,中断具有优先级时产生中断,中断具有优先级uu
64、CPUCPU识别中断之后识别中断之后IFRIFR由由CPUCPU复位复位uu复位状态为复位状态为0 0 /* Manual setting/clearing IFR */* Manual setting/clearing IFR */extern cregister volatile unsigned int IFR;extern cregister volatile unsigned int IFR; IFR |= 0x0008; IFR |= 0x0008;/set INT4 in IFR/set INT4 in IFR IFR &= 0xFFF7; IFR &= 0xFFF7;/clea
65、r INT4 in IFR/clear INT4 in IFRDSPDSP技术应用技术应用中断使能寄存器中断使能寄存器 (IER)RTOSINTRTOSINTDLOGINTDLOGINTINT14INT14INT13INT13INT12INT12INT11INT11INT10INT10INT9INT98 89 9101011111212131314141515INT8INT8INT7INT7INT6INT6INT5INT5INT4INT4INT3INT3INT2INT2INT1INT10 01 12 23 34 45 56 67 7使能使能使能使能: Set IER : Set IER Bit
66、Bit = 1 = 1禁止禁止禁止禁止: Clear IER: Clear IER Bit Bit = 0 = 0uuDINT/EINTDINT/EINT,禁止中断,禁止中断uu复位清零复位清零/* Interrupt Enable Register */* Interrupt Enable Register */extern extern cregistercregister volatile unsigned volatile unsigned intint IER; IER; IER |= 0x0008; IER |= 0x0008;/enable INT4 in IER/enable
67、INT4 in IER IER &= 0xFFF7; IER &= 0xFFF7;/disable INT4 in IER/disable INT4 in IERDSPDSP技术应用技术应用中断全局使能中断全局使能uINTM用来做全局的使能/禁止中断:l使能:INTM = 0l禁止:INTM = 1 (reset value)uINTM只能被汇编语言修改:INTMINTMST1ST1 Bit 0 Bit 0/* Global Interrupts */* Global Interrupts */ asm(“ CLRC INTM”); /enable global interrupts asm(
68、“ CLRC INTM”); /enable global interrupts asm(“ SETC INTM”); /disable global interrupts asm(“ SETC INTM”); /disable global interruptsDSPDSP技术应用技术应用Peripheral Interrupt Expansion - PIEP Pe er ri ip ph he er ra al l I In nt te er rr ru up pt ts s 1 12 2x x8 8 = = 9 96 6IFRIFRIERIERINTMINTM28x28xCoreCor
69、e28x Core Interrupt logic28x Core Interrupt logicPIE module for 96 InterruptsPIE module for 96 InterruptsINT1.x interrupt groupINT1.x interrupt groupINT2.x interrupt groupINT2.x interrupt groupINT3.x interrupt groupINT3.x interrupt groupINT4.x interrupt groupINT4.x interrupt groupINT5.x interrupt gr
70、oupINT5.x interrupt groupINT6.x interrupt groupINT6.x interrupt groupINT7.x interrupt groupINT7.x interrupt groupINT8.x interrupt groupINT8.x interrupt groupINT9.x interrupt groupINT9.x interrupt groupINT10.x interrupt groupINT10.x interrupt groupINT11.x interrupt groupINT11.x interrupt groupINT12.x
71、 interrupt groupINT12.x interrupt groupINT1 INT 12INT1 INT 1212 Interrupts12 Interrupts9696 INT1.1INT1.1INT1.2INT1.2INT1.8INT1.8101 INT1INT1PIEIFR1PIEIFR1PIEIER1PIEIER1Interrupt Group 1Interrupt Group 1INT13 INT13 (TINT1 / XINT13)INT14 INT14 (TINT2)NMINMIDSPDSP技术应用技术应用PIE 寄存器寄存器INTx.2INTx.2INTx.3INT
72、x.3INTx.4INTx.4INTx.5INTx.5INTx.6INTx.6INTx.7INTx.7INTx.8INTx.8INTx.1INTx.10 01 12 23 34 45 56 67 715 - 815 - 8reservedPIEIFRx register (x = 1 to 12)PIEIFRx register (x = 1 to 12)INTx.2INTx.2INTx.3INTx.3INTx.4INTx.4INTx.5INTx.5INTx.6INTx.6INTx.7INTx.7INTx.8INTx.8INTx.1INTx.10 01 12 23 34 45 56 67 71
73、5 - 815 - 8reservedPIEIERx register (x = 1 to 12)PIEIERx register (x = 1 to 12)reservedPIEACKxPIEACKxPIE Interrupt Acknowledge Register (PIEACK)PIE Interrupt Acknowledge Register (PIEACK)1 12 24 43 35 56 67 78 89 90 01010111115 - 1215 - 12ENPIEENPIEPIEVECTPIEVECTPIECTRL registerPIECTRL register0 015
74、 - 115 - 1#include “DSP28_Device.h” PieCtrlRegs.PIEIFR1.bit.INTx4 = 1; /manually set IFR for XINT1 in PIE group 1 PieCtrlRegs.PIEIER3.bit.INTx5 = 1; /enable CAPINT1 in PIE group 3 PieCtrlRegs.PIEACK.all = 0x0004; /acknowledge the PIE group 3 PieCtrlRegs.PIECTRL.bit.ENPIE = 1; /enable the PIEDSPDSP技术
75、应用技术应用PrioPrioVectorVectorOffsetOffset复位时默认中断向量表复位时默认中断向量表MemoryMemory0 0BROM VectorsBROM Vectors64 W64 W0x3F FFC00x3F FFC00x3F FFFF0x3F FFFFPIE VectorsPIE Vectors256 W256 W0x00 0D000x00 0D00 4 4 2 2 3 3DlogIntDlogIntRtosIntRtosIntEmuIntEmuIntNMINMI02020404060608080A0A0C0C0E0E101012121414161618181A1
76、A1C1C1E1E202022222424262628-3E28-3E - - - -IllegalIllegalUser 1-12User 1-12 5 5 6 6 7 7 8 8 9 91010111112121313141415151616171718181919Int 1Int 1Int 2Int 2Int 3Int 3Int 4Int 4Int 5Int 5Int 6Int 6Int 7Int 7Int 8Int 8Int 9Int 9Int 10Int 10Int 11Int 11Int 12Int 12Int 13Int 13Int 14Int 14 1 1ResetReset0
77、000Default Vector TableDefault Vector TableRemapped whenRemapped whenENPIE = 1ENPIE = 1PIE vector generated by config ToolPIE vector generated by config ToolUsed to initialize PIE vectorsUsed to initialize PIE vectorsDSPDSP技术应用技术应用PIE Vector Mapping (ENPIE = 1)CPU vectors are remapped to 0x00 0D00 i
78、n Data spacePIE vector space - 0x00 0D00 256 Word memory in Data space INT13 0x00 0D1A XINT1 Interrupt VectorINT13 0x00 0D1A XINT1 Interrupt VectorINT14 0x00 0D1C Timer2 RTOS VectorINT14 0x00 0D1C Timer2 RTOS VectorDatalog 0x00 0D1D Data logging vectorDatalog 0x00 0D1D Data logging vector USER11 0x0
79、0 0D3E User defined TRAP USER11 0x00 0D3E User defined TRAP INT1.1 0x00 0D40 PIEINT1.1 interrupt vectorINT1.1 0x00 0D40 PIEINT1.1 interrupt vector INT12.1 0x00 0DF0 PIEINT12.1 interrupt vectorINT12.1 0x00 0DF0 PIEINT12.1 interrupt vectorINT1.8 0x00 0D4E PIEINT1.8 interrupt vectorINT1.8 0x00 0D4E PIE
80、INT1.8 interrupt vectorINT12.8 0x00 0DFE PIEINT12.8 interrupt vectorINT12.8 0x00 0DFE PIEINT12.8 interrupt vector PIE vector address PIE vector DescriptionPIE vector address PIE vector DescriptionNot used 0x00 0D00 Reset Vector Never Fetched HereNot used 0x00 0D00 Reset Vector Never Fetched Here Vec
81、tor nameVector nameINT1 0x00 0D02 INT1 0x00 0D02 INT1 re-mapped belowINT1 re-mapped below re-mapped below re-mapped below INT12 0x00 0D18 INT12 re-mapped belowINT12 0x00 0D18 INT12 re-mapped below RESET and INT1-INT12 vector locations are Re-mappedDSPDSP技术应用技术应用TMS320F28335 PIE Interrupt Assignment
82、TableINTx.8INTx.8INTx.7INTx.7INTx.6INTx.6INTx.5INTx.5INTx.4INTx.4INTx.3INTx.3INTx.2INTx.2INTx.1INTx.1INT1INT1WAKEINTWAKEINTTINT0TINT0ADCINTADCINTXINT2XINT2XINT1XINT1PDPINTBPDPINTBPDPINTAPDPINTAINT2INT2T1OFINTT1OFINTT1UFINTT1UFINTT1CINTT1CINTT1PINTT1PINTCMP3INTCMP3INTCMP2INTCMP2INTCMP1INTCMP1INTINT3I
83、NT3CAPINT3CAPINT3CAPINT2CAPINT2CAPINT1CAPINT1T2OFINTT2OFINTT2UFINTT2UFINTT2CINTT2CINTT2PINTT2PINTINT4INT4T3OFINTT3OFINTT3UFINTT3UFINTT3CINTT3CINTT3PINTT3PINTCMP6INTCMP6INTCMP5INTCMP5INTCMP4INTCMP4INTINT5INT5CAPINT6CAPINT6CAPINT5CAPINT5CAPINT4CAPINT4T4OFINTT4OFINTT4UFINTT4UFINTT4CINTT4CINTT4PINTT4PIN
84、TINT6INT6MXINTMXINTMRINTMRINTSPITXINTASPITXINTA SPIRXINTASPIRXINTAINT7INT7INT8INT8INT9INT9SCITXINTBSCITXINTB SCIRXINTBSCIRXINTB SCITXINTASCITXINTA SCIRXINTASCIRXINTAINT10INT10INT11INT11INT12INT12ECAN0INTECAN0INTECAN1INTECAN1INTDSPDSP技术应用技术应用Device Vector Mapping - Summary_c_int00:_c_int00: . . . . .
85、 .CALL main()CALL main()main()main() initialization(); initialization(); . . . . . . Initialization ( )Initialization ( ) EALLOW EALLOW Load PIE Vectors Load PIE Vectors Enable the PIEIER Enable the PIEIER Enable PIECTRL Enable PIECTRL Enable Core IER Enable Core IER Enable INTM Enable INTM EDIS EDI
86、S PIE Vector TablePIE Vector Table256 Word RAM256 Word RAM0x00 0D00 0DFF0x00 0D00 0DFFRESETRESETReset Vector = Boot-ROM Code Reset Vector = Boot-ROM Code Flash Entry Point = LB _c_int00Flash Entry Point = LB _c_int00User Code Start User Code Start MPNMC = 0 (on-chip ROM memory)MPNMC = 0 (on-chip ROM
87、 memory)Reset Vector = _c_int00 Reset Vector = _c_int00 User Code Start User Code Start MPNMC = 1 (external memory XINTF)MPNMC = 1 (external memory XINTF)DSPDSP技术应用技术应用中断响应过程中断响应过程CPU CPU 动作动作动作动作描述描述描述描述T TST0ST0AHAHALALPHPHPLPLAR1AR1AR0AR0DPDPST1ST1DBSTATDBSTATIERIERPC(msw)PC(msw)PC(lsw)PC(lsw)寄存器
88、寄存器寄存器寄存器PUSH PUSH 堆栈堆栈堆栈堆栈14 14 个寄存器被自动保存(个寄存器被自动保存(个寄存器被自动保存(个寄存器被自动保存(. .) 0 0 IFR (bit)IFR (bit)请请请请IFRIFR位位位位 0 0 IER (bit)IER (bit)清清清清IERIER位位位位 1 1 INTM/DBGMINTM/DBGM禁止全局中断禁止全局中断禁止全局中断禁止全局中断/Debug /Debug 事件事件事件事件 VectorVector PC PC 加载中断向量表给加载中断向量表给加载中断向量表给加载中断向量表给PCPC指针指针指针指针 Clear other sta
89、tus bitsClear other status bits清清清清 LOOP, EALLOW, IDLESTATLOOP, EALLOW, IDLESTATDSPDSP技术应用技术应用4. TMS320F28335内内存映射存映射/BOOTROMDSPDSP技术应用技术应用TMS320F28335 内存映射内存映射DSPDSP技术应用技术应用TMS320F28335 初始化引导汇编程序初始化引导汇编程序Init BootRESET初始化器件:OBJMODE = 1AMODE = 0M0M1MAP = 1DP = 0OVM = 0SPM = 0SP = 0x00 0400 Dummy Rea
90、d CSM passwordsCall BootModeSelectExitBootDSPDSP技术应用技术应用Flash 的启动顺序的启动顺序H0 SARAM (8K)H0 SARAM (8K)0x3F 7FF60x3F 7FF60x3D 80000x3D 80000x3F 80000x3F 80000x3F F0000x3F F0000x3F FFC00x3F FFC0Boot ROM (4K)Boot ROM (4K)BROM vector (32)BROM vector (32)0x3F FC000x3F FC00Boot CodeBoot CodeRESETRESET0x3F FC0
91、00x3F FC00SCAN GPIOFLASH (128K)FLASH (128K)Passwords (8)_c_int00_c_int00LBLBC start routine“rts2800_ml.lib”“user” code sections_c_int00_c_int00Boot.asmBoot.asmmain ( )main ( ) return; return; 2 23 34 45 51 1DSPDSP技术应用技术应用16 or 32 16 or 32 dispatcheddispatched16166464Aligned Aligned 64-bit 64-bit fet
92、chfetch2-level deep 2-level deep fetch bufferfetch buffer6464C28x Core C28x Core decoder unitdecoder unit加速加速 Flash 执行速度流水线执行速度流水线Flash Pipeline EnableFlash Pipeline Enable0 = disable (default)0 = disable (default)1 = enable1 = enableENPIPEENPIPEreserved15150 01 1FOPT 0x00 0A80 FOPT 0x00 0A80 DSPDSP
93、技术应用技术应用CCS编程插件编程插件DSPDSP技术应用技术应用Code Security Module (CSM)u受CSM保护的存储区:L0、L1、OTP、Flashu在受保护区域里面运行的程序才能读写限制区的数据u任何其他的数据读写都被拒绝:JTAG 调试, ROM 引导, 运行在片外或者片内非保护区的程序LO SARAM (4K)LO SARAM (4K)L1 SARAM (4K)L1 SARAM (4K)OTP (1K)OTP (1K)FLASH (128K)FLASH (128K)reserved0x00 80000x00 80000x00 90000x00 90000x3D 7
94、8000x3D 78000x3D 80000x3D 8000reserved0x00 A0000x00 A000 0x3D 7C00 0x3D 7C00DSPDSP技术应用技术应用CSM RegistersAddress Name Reset ValueAddress Name Reset ValueDescriptionDescription0x00 0AE0 KEY0 0xFFFF0x00 0AE0 KEY0 0xFFFF128128位位位位KEYKEY寄存器的低位字寄存器的低位字寄存器的低位字寄存器的低位字0x00 0AE1 KEY1 0xFFFF0x00 0AE1 KEY1 0xFFF
95、F128128位位位位KEYKEY寄存器的第二个字寄存器的第二个字寄存器的第二个字寄存器的第二个字0x00 0AE2 KEY2 0xFFFF0x00 0AE2 KEY2 0xFFFF。0x00 0AE3 KEY3 0xFFFF0x00 0AE3 KEY3 0xFFFF。0x00 0AE4 KEY4 0xFFFF0x00 0AE4 KEY4 0xFFFF。0x00 0AE5 KEY5 0xFFFF0x00 0AE5 KEY5 0xFFFF。0x00 0AE6 KEY6 0xFFFF0x00 0AE6 KEY6 0xFFFF。0x00 0AE7 KEY7 0xFFFF0x00 0AE7 KEY7
96、0xFFFF 128 128位位位位KEYKEY寄存器的高位字寄存器的高位字寄存器的高位字寄存器的高位字0x00 0AEF CSMSCR 0xFFFF0x00 0AEF CSMSCR 0xFFFFCSM CSM 状态与控制寄存器状态与控制寄存器状态与控制寄存器状态与控制寄存器Key RegistersKey Registers(EALLOW protectedEALLOW protected)Address Name Reset ValueAddress Name Reset ValueDescriptionDescription0x3F 7FF8 PWL0 user defined0x3F
97、7FF8 PWL0 user defined 128 128位密码的低位字位密码的低位字位密码的低位字位密码的低位字0x3F 7FF9 PWL1 user defined0x3F 7FF9 PWL1 user defined。0x3F 7FFA PWL2 user defined 0x3F 7FFA PWL2 user defined 。0x3F 7FFB PWL3 user defined 0x3F 7FFB PWL3 user defined 。0x3F 7FFC PWL4 user defined0x3F 7FFC PWL4 user defined。0x3F 7FFD PWL5 use
98、r defined0x3F 7FFD PWL5 user defined。0x3F 7FFE PWL6 user defined 0x3F 7FFE PWL6 user defined 。0x3F 7FFF PWL7 user defined0x3F 7FFF PWL7 user defined128128位密码的高位字位密码的高位字位密码的高位字位密码的高位字PWL in memory reserved for passwords onlyPWL in memory reserved for passwords onlyDSPDSP技术应用技术应用CSM的安全解锁的安全解锁u上电或者复位的时
99、候CSM被锁的uCSM的解锁:l对FLASH的每个密码执行一次哑读操作(8次)l往8个KEY寄存器写入正确的密码u新的Flash器件 (PWL 都是 0xFFFF):l对PWL进行一次读写,使得器件工作在非锁定模式volatile int *CSM=0x000AE0;volatile int *PWL=0x3F7FF8;volatile int tmp;Int I;/哑读密码位置8次For (i=0;i10的空闲周期=10;10的空闲周期地址帧跟随10bit或更多位空闲周期后第一个数据帧 SPSTAddr空闲周期10DSPDSP技术应用技术应用地址位唤醒方式地址位唤醒方式u所有帧都包含一个额外
100、的地址位,判决地址/数据u当地址位被检测到的时候唤醒u只要在SCITXBUF写入地址前置位TXWAKE=1,自动设置帧内数据/地址的设定Last DataSTSTDataSCIRXD/SCITXDBlock of Frames SPSPLast DataSTAddr SP空闲周期无特别限制块中首个帧是地址位地址位=1第一个数据帧0100 SPSTAddr1SP在停止位前无额外的空闲位DSPDSP技术应用技术应用SCI-A 寄存器寄存器AddressRegisterName0x007050SCICCRSCI-A 通信控制寄存器通信控制寄存器0x007051SCICTL1SCI-A 控制寄存器控制
101、寄存器10x007052SCIHBAUDSCI-A 波特率寄存器,高位波特率寄存器,高位0x007053SCILBAUDSCI-A 波特率寄存器,低位波特率寄存器,低位0x007054SCICTL2SCI-A 控制寄存器控制寄存器20x007055SCIRXSTSCI-A 接受状态寄存器接受状态寄存器0x007056SCIRXEMUSCI-A 接受仿真数据寄存器接受仿真数据寄存器0x007057SCIRXBUFSCI-A 接受数据寄存器接受数据寄存器0x007059SCITXBUFSCI-A 发送数据寄存器发送数据寄存器0x00705ASCIFFTXSCI-A FIFO 发送寄存器发送寄存器0
102、x00705BSCIFFRXSCI-A FIFO 接受寄存器接受寄存器0x00705CSCIFFCTSCI-A FIFO 控制寄存器控制寄存器0x00705FSCIPRISCI-A 极性控制极性控制 寄存器寄存器DSPDSP技术应用技术应用SCI-A 通信控制寄存器通信控制寄存器 SCICCR0x007050ADDR/IDLEMODESTOPBITSEVEN/ODDPARITYPARITYENABLELOOP BACKENABLESCICHAR2SCICHAR1SCICHAR00 = 1 Stop bit1 = 2 Stop bits0 = Odd1 = Even0 = Disabled1 =
103、 Enabled0 = Disabled1 = Enabled0 = Idle-line mode1 = Addr-bit mode76543210# of data bits = (binary + 1)e.g. 110b gives 7 data bitsSCI-B Communications Control Register (SCICCR) 0x007750DSPDSP技术应用技术应用SCI-A 控制寄存器控制寄存器 1SCICTL1 0x007051TXWAKEreservedRX ERRINT ENASWRESETreservedSLEEPTXENARXENA0 = Receiv
104、e Error Interrupt disabled1 = Receive Error Interrupt enabledWrite 0 = Reset SCIWrite 1 = release from ResetTransmitter wakeup method select1 = wakeup mode depends on SCICCR.30 = no wakeup mode 765432100 = sleep mode disabled1 = sleep mode enabled0 = transmitter disabled1 = transmitter enabled0 = re
105、ceiver disabled1 = receiver enabledDSPDSP技术应用技术应用SCI-A 波特率寄存器波特率寄存器BAUD15(MSB)BAUD14Baud-Select MSbyte Register (SCIHBAUD) 0x00705276543210BAUD13BAUD12BAUD11BAUD10BAUD9BAUD8BAUD6Baud-Select LSbyte Register (SCILBAUD) 0x00705376543210BAUD5BAUD4BAUD3BAUD2BAUD1BAUD7BAUD0(LSB)SCI baud rate =LSPCLK(BRR +
106、 1) x 8LSPCLK16,BRR = 1 to 65535,BRR = 0SCI-B Baud-Select MSbyte Register (SCIHBAUD) 0x007752SCI-B Baud-Select LSbyte Register (SCILBAUD) 0x007753DSPDSP技术应用技术应用TXRDYTX EMPTYRX/BKINT ENASCI-A 控制寄存器控制寄存器 2SCICTL2 0x0070540TXINT ENA1765 - 2reservedSCI TX READY 0 = SCITXBUF is full 1 = SCITXBUF is empty
107、SCI TX EMPTY0 = TXBUF or shift register are loaded with data1 = Transmit buffer and shift register both emptyreserved15 - 8SCI-B Control Register 2(SCICTL2) 0x007754SCI TX INT ENA 0 = Disable TXRDY interrupt 1 = Enable TXRDY interruptSCI RX/BK INT ENA 0 = Disable RXRDY/BRKDT interrupt 1 = Enable RXR
108、DY/BRKDT interruptDSPDSP技术应用技术应用SCI-A 接收状态寄存器接收状态寄存器SCIRXST 0x007055SCI-B Receiver Status Register (SCIRXST) 0x007755OERXERRORRXRDYBRKDTFEPERXWAKEreserved0 = No error flags set1 = Error flag(s) set0 = no new character in SCIRXBUF1 = new character in SCIRXBUF1 = Break condition occurred0 = no break c
109、ondition 765432101 = Framing Error detected1 = Overrun Error detected1 = Parity Error detected1 = Receiver wakeup condition detectedDSPDSP技术应用技术应用SCI-A FIFO 发送寄存器发送寄存器SCIFFTX 0x00705A0TXFFIL2SCIFFENATXFFST0TXFFST3TXFFIENA123456789101112131415TXFFIL0TXFFIL1TXFFIL4TXFFIL3TXFFST1TXFFINTCLRTXFFST2TXFFIN
110、TTXFFST4TXFIFORESETSCIRSTTX FIFO Status (read-only)00000TX FIFO empty00001TX FIFO has 1 word00010TX FIFO has 2 words00011TX FIFO has 3 words10000TX FIFO has 16 words.TX FIFO Interrupt LevelInterrupt when TXFFST4-0and TXFFIL4-0 matchSCI FIFOEnhancements0 = disable1 = enableTX FIFO Reset0 = reset (poi
111、nter to 0)1 = enable operationTX FIFOInterrupt(on match)Enable0 = disable1 = enableTX FIFOInterruptFlag (read-only)0 = not occurred1 = occurredTX FIFOInterruptFlag Clear0 = no effect1 = clearSCI Reset0 = reset1 = enable operationDSPDSP技术应用技术应用SCI-A FIFO 接收寄存器接收寄存器SCIFFRX 0x00705B0RXFFIL2RXFF-OVF CLR
112、RXFFST0RXFFST3RXFFIEN123456789101112131415RXFFIL0RXFFIL1RXFFIL4 RXFFIL3RXFFST1RXFFINTCLRRXFFST2RXFFINTRXFFST4RXFIFORESETRXFF-OVFRX FIFO Status (read-only)00000RX FIFO empty00001RX FIFO has 1 word00010RX FIFO has 2 words00011RX FIFO has 3 words10000RX FIFO has 16 words.RX FIFO Interrupt LevelInterrup
113、t when RXFFST4-0and RXFFIL4-0 matchRX FIFO Reset0 = reset (pointer to 0)1 = enable operationRX FIFOInterrupt(on match)Enable0 = disable1 = enableRX FIFOInterruptFlag (read-only)0 = not occurred1 = occurredRX FIFOInterruptFlag Clear0 = no effect1 = clearRX FIFOOverflowFlag (read-only)0 = no overflow1
114、 = overflowRX FIFOOverflowFlag Clear0 = no effect1 = clearDSPDSP技术应用技术应用SCI-A FIFO 控制寄存器控制寄存器SCIFFCT 0x00705C0ABDCLR123456789101112131415CDCABDFFTXDLYTime delay between every transfer from FIFOto transmit shift register in number of SCI baud clock cycles( 0 to 255 )CDC calibrate A0 = disabled auto-baud alignment1 = enables auto-baud alignmentAuto BauddetectionFlag (read-only)0 = not complete1 = completeAuto BauddetectionFlag Clear0 = no effect1 = clearreserved