




已阅读5页,还剩60页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章TMS320X2812的结构 资源及性能 本章内容 2 1DSP的性能指标DSP芯片引脚及其功能2 2DSP片内硬件资源片内FLASH和OTP存储器2 3时钟与系统控制32位CPU定时器2 4通用输入 输出GPIO2 5外设中断扩展PIE2 6中央处理器单元 2 1TMS320F2812的性能指标 F2812的主要特点 采用高性能的静态CMOS技术 时钟频率可达150MHz 6 67ns 核心电压 1 8V I O口电压和Flash编程电压 3 3V 32位CPU 可实现16 16位和32 32位乘法操作 哈佛总线结构 寻址程序空间可达4MB 寻址数据空间可达4GB 采用PLL来控制系统各模块所需频率 3个32位的CPU定时器和适合电机等控制的事件管理模块EVA和EVB 很强的外围通信功能 包括同步串行口SPI 通用异步串行口SCI 增强的eCAN和多通道缓存串行口MCBSP 16个通道 12位精度的A D转换器 56个多路通用输入 输出 GPIO 引脚等等 2 1TMS320F2812的性能指标 F2810和F2812的硬件特征 1 F2810和F2812的硬件特征 2 TMS320F281x芯片引脚及其功能 了解引脚信号名称 功能 特性 状态 图1TMS320F2812的顶视图 F2812 176引脚封装底视图 F281x的引脚1 GPIO GeneralPurposeInput Outputpin 56个 既可作为一般的数字I O口 又可作为外设功能引脚 如PWM eCAN等2 外部存储器接口XINTF 45个3 电源和地 38个4 A D转换相关 23个5 JTAG接口有关 7个 所有数字输入引脚的电平均与TTL兼容 输出引脚均为3 3VCMOS电平 输入不能承受5V电压上拉电流 下拉电流均为100 A 20 A 所有引脚的输出缓冲器驱动能力 有输出功能的 典型值是4mA 2 2DSP片内硬件资源 TMS320F281x主要由C28x核的CPU C28xCPU 系统时钟控制模块 系统控制部分 事件和外设管理模块 EVA EVB和外设中断控制等 片内存储模块 FLASH ROM RAM等 CPU定时器模块 CPU定时器 12位A D转换模块 12bitADC 扩展接口模块 扩展接口 以及内部总线等构成 图2F281x片内外设连接框图 外部扩展总线和内部总线 扩展接口 A18 A0和D15 D0是表示2812外部扩存储器的能力 2812外扩的存储空间最大是219 16bit 512K F281x的内部存储器空间被分成了2块 一块是程序空间 一块是数据空间 对它们的访问通过地址总线和数据总线进行 281x的存储器接口具有3条地址总线和3条数据总线 PAB ProgramAddressBus 32位程序地址总线 用于传送程序空间的读写地址 DRAB Data ReadAddressBus 32位数据读地址总线 用于传送数据空间的读地址 DWAB Data WriteAddressBus 32位数据写地址总线 用于传送数据空间写地址 PRDW Program ReadDataBus 32位程序读数据总线 用于传送读取程序空间时的指令或者数据 DRDB Data ReadDataBus 32位数据读数据总线 用来读取数据空间的数据 DWDB Data Program WriteDataBus 32位数据 程序写数据总线 向数据空间 程序空间写相应的数据 128K 16位FLASH18K 16位RAM 分成M0 M1 4k L0 L1 1k 和H0 8k 5块1K 16位OTPROM4K 16位BootROMBootROM出厂时固化了BootLoader软件 根据引导信号确定上电引导装载方式 可从Flash引导装载程序 也可从外部存储器引导程序包括一些标准的数学运算表 数学函数库 等 F2812内存 TMS320F2812存储空间的映射 SP复位时指向M1块的起始地址 FLASH存储器由4个8K 16位的扇区和6个16K 16位的扇区组成 用户可对其中任何一个扇区进行擦除 编程和校验 18K 16位RAM 分成M0 M1 4k L0 L1 1k 和H0 8k 5块 外部存储器XINTF 提供5个扩展地址空间 Zone0 1 2 6 7 每个空间设置一个片选 低电平有效 XINTF外部引脚有16位数据总线访问数据 19位地址总线访问程序 XINTF访问时序分成三个阶段1 起始阶段2 激活阶段3 收尾阶段 DSP片内FLASH和OTP存储器 片内Flash存储器的特点可映射到程序空间或数据空间程序可分成多段 代码安全保护 CSM 低功耗模式流水线模式可提高线性代码执行效率OTP存放工程和制造信息 余下空间 用户可以用来存放自己的代码或数据 CSM 代码安全模块可以防止未被授权的人看到内存储器里的内容 同时防止收安全保护的代码被修改和复制 FLASH RAM OTP Flash和OTP存储器功耗模式睡眠 sleep 模式或复位模式 功耗最低备用 standby 模式 在该状态或睡眠模式下进行CPU读或取操作 将自动使DSP工作模式变为活跃模式活跃 active 模式或读模式 功耗最高 CPU对Flash OTP的操作 形式32位取指令16或32位数据空间读取16位程序空间读 片内Flash和OTP存储器的配置寄存器 Flash和OTP存储器的工作状态通过配置寄存器进行设置 注意 执行Flash寄存器配置任务的代码不能放在Flash或OTP存储器中执行 而应放在其他的RAM存储器空间中 而且当Flash或OTP存储器中正在运行程序时 也不要对Flash或OTP寄存器进行操作 程序结束后才可以进行操作 在Flash OTP中运行的代码可以读Flash寄存器中的内容 但不要将内容写进去 要避免时序上的混乱 锁相环PLL 振荡器OSC 时钟 看门狗WD 给DSP做 身体检查 维持其正常工作的 2 3F281x的时钟及系统控制 1 振荡器OSC和PLL模块 P38 F2812内的振荡器和PLL模块 PLL配置模式 F2812内部各种时钟信号产生情况 SYSOUTCLK组 CPU定时器和eCAN总线OSCCLK 看门狗电路低速组 SCI SPI McBSP高速组 EVA EVB ADC 片上外设按输入时钟划分 PCLKCR 外设时钟控制寄存器SYSCR 系统控制寄存器PLLCR PLL控制寄存器HISPCP 高速片上外设分频器LOSPCP 低速片上外设分频器 与PLL 时钟配置相关的寄存器 P36 P39 高速外设时钟寄存器 HISPCP 如果HISPCP不等于0 HSPCLK SYSCLKOUT HISPCP 2 如果HISPCP等于0 HSPCLK SYSCLKOUT 低速外设时钟寄存器 LOSPCP 如果LOSPCP不等于0 LSPCLK SYSCLKOUT LOSPCP 2 如果LOSPCP等于0 LSPCLK SYSCLKOUT DIV 000 旁路方式DIV 0001B 1010B 对应表中n 1 10DIV 1011B 1111B 保留 PLL控制寄存器 PLLCR 用来监视DSP程序的运行情况 当系统进入不可预知的状态而造成 死机 时 WD将产生一个复位操作 从而使DSP进入一个已知的起始位置重新运行 看门狗 CPU定时器 1 什么是定时器 计时工具 F2812内部有3个32位的CPU定时器 Time0 Time1 Time2 系统保留 2 CPU定时器内部结构 P43 定时器的工作示意图 TIMCLK值如何确定 1 给PRDH PRD赋值2 装载TIMH TIM3 每隔一个TIMCLK计数器的值减少1 一直减到0完成一个周期的计数 1 给TDDRH TDDR赋值2 装载PSCH PSC3 每隔一个SYSCLKOUTPSCH PSC值减少1 直到为0 就会输出一个TIMCLK 计数器每走一步所需要的时间 CPU一个周期所计量的时间为 其中 X为系统时钟SYSCLKOUT的值 MHz 3 定时器寄存器 书本P44 P45 2 4通用输入 输出I O口 GPIO P45 GPIO 通用输入输出 56个 GPIO引脚是多功能复用的 即可作为数字I O口 也可作为特殊功能接口 如SCI SPI GPIO分A B D E F G六组 通过GPxMux GPxDIR GPxQUAL寄存器进行控制 如果GPIO配置为数字I O 则可通过GPxDAT GPxSET GPxCLEAR GPxTOGGLE寄存器对其引脚进行操作 GPxDAT GPIOx数据寄存器GPxSET GPIOx置位寄存器GPxCLEAR GPIOx清楚寄存器GPxTOGGLE GPIOx取反寄存器 GPxMux GPIOx功能控制选择寄存器GPxDIR GPIOx方向控制寄存器GPxQUAL GPIOx输入限定寄存器 控制 数字 x A B D E F G GPxMux GPIOx功能选择控制寄存器 每各I O口都有一个对应的功能选择寄存器位 控制该口位特殊功能口或通用数字I O口 如 GpioMuxRegs GPAMUX bit PWM1 GPIOA0 0 设置GPIOA0口为数字I O口GpioMuxRegs GPAMUX bit PWM1 GPIOA0 1 设置GPIOA0口为特殊功能口 PWM1输出口 GPxDIR GPIOx方向控制寄存器 每各I O口都有一个对应的方向控制寄存器位 控制该口输入输出方向 如 GpioMuxRegs GPADIR bit GPIOA0 0 设置GPIOA0口为数字输入口GpioMuxRegs GPADIR bit GPIOA0 1 设置GPIOA0口为数字输出口 GPxQUAL GPIOx输入限制寄存器 控制GPIO引脚输入信号的采样周期 目的是消除输入信号的噪声 如 GpioMuxRegs GPAQUAL BIT QUALPRD 5 设置GPIOA组全部引脚输入信号采用周期为5 GPxDAT GPIOx数据寄存器 每各I O口都有一个对应的数据寄存器位 控制该口状态 如 GpioDataRegs GPADAT bit GPIOA0 0 设置GPIOA0口为低电平GpioDataRegs GPADAT bit GPIOA0 1 设置GPIOA0口为高电平 GPxSET GPIOx置位寄存器 每各I O口都有一个对应的置位寄存器位 控制该口状态 GpioDataRegs GPASET bit GPIOA0 0 没影响GpioDataRegs GPASET bit GPIOA0 1 将A0引脚置位高电平 GPxCLEAR GPIOx清除寄存器 每各I O口都有一个对应的清除寄存器位 将该口清楚位低电平 GpioDataRegs GPACLEAR bit GPIOA0 0 没影响GpioDataRegs GPACLEAR bit GPIOA0 1 将A0引脚置位低电平 GPxTOGGLE GPIOx取反寄存器 每各I O口都有一个对应的取反 寄存器位 将该口电平取反 GpioDataRegs GPATOGGLE bit GPIOA0 0 没影响GpioDataRegs GPATOGGLE bit GPIOA0 1 将A0引脚置电平取反 2 5F281x外设中断扩展模块 P55 1 什么是中断 中断 Interrupt 是硬件和软件驱动事件 它使得CPU暂停当前的主程序 并转而去执行一个中断服务程序 PIE可以支持96个不同的中断 这些中断分成了12个组 每个组有8个中断 而且每个组都被反馈到CPU内核的12条中断线中的某一条上 INT1 INT12 我们平时用到的所有的外设中断都被归入了这96个中断中 被分布在不同的组里 使用多路复用的原理 PIE目前只使用了96个中断中的45个 其他的等待将来的功能扩展 P62 F2812的中断是3级中断机制 分别是外设级 PIE级以及CPU级 对于某一个具体的外设中断请求 任意一级的不许可 CPU最终都不会执行该外设中断 就像一个文件需要三级领导批示一样 任意一级领导的不同意 都不能被送至上一级领导 更不可能得到最终的批准 中断机制的原理也是如此 F2812的中断工作过程 1 外设级中断 假如在程序的执行过程中 某一个外设产生了一个中断事件 那么在这个外设的某个寄存器中与该中断事件相关的中断标志位 IF InterruptFlag 被置为1 此时 如果该中断相应的中断使能位 IE InterruptFlag 已经被置位 也就是为1 外设就会向PIE控制器发出一个中断请求 相反的 如果虽然中断事件产生了 相应的中断标志位也被置1了 但是该中断没有被使能 相应的使能位为0 那么外设就不会向PIE发出中断请求 但是 相应的中断标志位会一直保持置位状态 直到用程序清楚它为止 当然 在中断标志位保持在1的时候 一旦该中断被使能了 那么外设立马会向PIE发出中断申请 2 PIE级中断 当外设把中断请求提交给PIE模块 PIE控制器中的每组都有一个中断标志寄存器PIEIFRx和中断使能寄存器PIEIERx 因为PIE模块是多路复用的 那么每一组同一时间应该只能是一个中断被响应 PIE是怎么做到的呢 PIE除了每组具有PIEIERx PIEIFRx寄存器之外 还有一个PIEACK寄存器 它的低12位分别对应着12个组 即INT1 INT12 高位保留 假如T1的周期中断被响应了 则PIEACK寄存器的第2位 对应于INT2 就会被置位 并且一直保持直到手动清除这个标志位 当CPU在响应T1PNT的时候 PIEACK的第2位一直是1 这时候如果PIE的第2组内发生其他的外设中断 则暂时不会把PIE响应送给CPU 必须等到PIEACK的第2位被复位之后 如果该中断请求还存在 那么立马由PIE控制块将中断请求送至CPU 所以 每个外设中断被响应之后 一定要对PIEACK的相关位进行手动服务 否则同组内的其他中断都不会被响应 3 CPU级 CPU也有中断标志寄存器IFR和使能寄存器IER 当某一个外设中断请求通过PIE发送到CPU时 与INTx相关的中断标志位就会被置位 CPU接到了中断的请求 就得暂停正在执行的程序 转而去响应中断程序 但是此时 它必须得做一些准备工作 以便于执行完中断程序之后回过头来还能找到原来的地方和原来的状态 如果CPU中断响应开始了 CPU会将相应的IER和IFR位进行清除 就是不能响应其他中断了 CPU向其他中断发出了通知 正在忙 没空来处理你们的请求了 得等到处理完手上的中断之后才能再来处理其他请求 TI例程中与中断相关的几个文件 DSP28 PieCtrl h 这个文件定义了和PIE相关的寄存器的数据结构 我们对应于相关寄存器的定义会发现 两者是一样的 DSP28 PieVect h 这个头文件定义了PIE的中断向量 DSP28 PieCtrl c文件里只有1个函数 InitPieCtrl 其作用是对PIE模块进行初始化的 例如在程序开始的时候使能某些外设中断 DSP28 PieVect c文件是对PIE中断向量表进行初始化的 执行完这个程序之后 各个中断函数都有了明确的入口地址了 这样CPU执行起来就方便了 DSP28 DefaultIsr c文件 2812所有的与外设相关的中断函数都在这里定义 如T1周期中断T1PINT 我们自己在写的时候 只要将具体的函数内容写进去就可以了 与PIE中断扩展模块相关的寄存器 P63 P66 PIECTRL PIE控制寄存器PIEACK PIE应答寄存器PIEIFRx x 1 12 PIE中断标志寄存器PIEIERx x 1 12 PIE中断使能寄存器IFR CPU中断标志寄存器IER CPU中断使能寄存器DBGIER CPU中断仿真使能寄存器 2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 解一元二次方程的方法与步骤:高中数学教学教案
- 小区绿地及公共空间使用与维护合同
- 早餐培训知识课件
- 城市水务设施建设与维护协议
- 2025年瑞典语等级考试A2试卷:2025春季学期专项训练
- 2025年山东省公务员录用考试审计专业试题解析手册
- 2.1 两条直线的位置关系(1)教学课件 北师大版(2024)七年级数学下册
- 青岛2中高一数学试卷
- 七年级在线数学试卷
- 南阳高一数学试卷
- 高压电缆头制作培训教材
- 2025至2030中国航空发动机行业发展动态及投资趋势研究报告
- 国旗法课件教学课件
- 食管内镜支架植入护理配合
- 老年人防诈骗课件
- 《煤矿重大事故隐患判定标准》
- 2025巴中市国企招聘考试题目及答案
- GB/T 45411.1-2025光学和光子学瞄准望远镜规范第1部分:普通性能仪器
- 外销出口流程培训
- 房屋建筑工程竣工验收技术资料统一用表(2024 版)
- 《企业研发费用税前加计扣除政策解读与应用课件》
评论
0/150
提交评论