




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
TMS320F281x 课后作业参考答案 修订20140114.doc 第 1 页 共 20 页 教材: TMS320F281x DSP 原理及应用技术 韩丰田 编著 清华大学出版社 课后作业参考答案 By 马钧华 Dated 2013-1-8 修订 上次修订:2014-1-9 注:第九、十、十一章的内容,学生不要求完成。 目录目录 目录 1 P14 第一章 绪论 习题与思考题 . 1 P.45 第二章 系统控制及中断 习题与思考题 3 P.69 第三章 存储器及外部接口 习题与思考题 5 P.97 第四章 串行通信接口 习题与思考题 7 P124 第五章 串行外设接口 习题与思考题 . 9 P175 第六章 增强型CAN控制器 习题与思考题 11 P224 第七章 事件管理器 习题与思考题 . 11 P247 第八章 AD转换模块 习题与思考题 . 13 P265 第九章 DSP系统硬件设计基础 习题与思考题 . 15 P300 第十章 TMS320C28x的软件设计 习题与思考题 17 P322 第十一章 无刷直流电机控制 习题与思考题 . 19 P14 第一章第一章 绪论绪论 习题与思考题习题与思考题 1 什么是可编程 DSP 芯片?它有什么特点? 答:程序是需要固化在存储芯片中的。由于体积的限制,嵌入式应用为主的 DSP 芯片,一 般不配置如电脑中的硬盘。 可编程 DSP 芯片, 指该 DSP 芯片内部带有可重复编程的存储器。 在使用中常常将“编程”更加形象地称为“固化” 、 “烧写” 。TI 的 C2000 系列,在片内带有 Flash 存储器,用户可以将代码通过 CCS 的工具插件,将代码编程(或称烧写、固化)到 Flash 存储器中。这样,程序可以直接从片内的 Flash 存储器启动运行,单个芯片就是一个 可最终独立运行的系统了。可以不再将存储器接口,也就是常规的地址线、数据线和控制线 的 3 总线接口,引出到芯片外部。当然,有其他的扩展需求除外。TI 的其他 2 个重要系列 C5000 和 C6000,芯片内部是不带用户可编程存储器的,需要在片外提供。 2 什么是定点 DSP 芯片和浮点 DSP 芯片?各有什么特点? 答:指硬件上的差别。看带不带浮点运算的硬件模块。定点数据处理能力是 DSP 的基本处 理能力。C28x 内核的芯片,本身是定点 DSP 系列,在 F2833x 开始才加入了浮点运算模块。 虽然在 C 编程环境下,只要安装了浮点的算术运算库,都可以处理浮点数据。但定点 DSP TMS320F281x 课后作业参考答案 修订20140114.doc 第 2 页 共 20 页 因为没有浮点硬件的支持, 是需要用更多的软件代码借助定点的算术运算单元来完成浮点的 运算,效率就很低,表现为完成浮点运算需要数倍数十倍数百倍的定点数运算的时间。TI 还利用 IQmath 库,来实现虚拟的浮点运算,即在限制了一个浮点数的范围后,即限制了他 的最大值、分辨精度后,将它移位成一个整数,再利用定点运算来实现虚拟浮点运算。运 算效率是高的,但要限制实际浮点数的范围,有越界或损失精度的风险。实际使用起来还是 不够方便的。 3 简述 TMS320C2000、TMS320C5000、TMS320C6000 的特点和应用领域 答:C2000 带片内 Flash 存储器,适合工业控制;C5000 是低功耗,适合消费数字化产品; C6000 则是以高性能为目标,追求更高的指令速度即更高的 MIPS,当然也放弃了 C2000 的 片内 Flash 和 C5000 的低功耗,C6000 有定点和浮点子系列。 4 简述 TMS320F281x 系列 DSP 芯片的特点以及 F2812 和 F2810 的主要区别。 答:F281x 系列是 C28x 内核的第一代芯片,以电机及相关控制为应用对象来设计。具备了 以 PWM 控制为特征的事件管理器 EVA 和 EVB,带有 16 通道和同步转换功能的 12 位 AD 转换模块,带有 3 种常用的串行通讯接口即 SCI、SPI、CAN。而其中的 F2812 带有完整的 外部存储器接口, 而 F2810 (F2811) 则省去了这个接口, 引脚数从 176 下降为 128 (指 LQFP 封装) 。 5 TMS320F281x 系列 DSP 芯片有哪些外部接口? 答:具有接口性质的外设有:事件管理器 EVA、EVB;A/D 转换;外部存储器接口(数据、 地址和控制总线) ;串行通信接口 SCI;串行外设接口 SPI、控制器局域网 CAN。还有多通 道缓冲串口 McBSP。 6 简述 TMS320F280x、TMS320F281x、TMS320F2833x DSP 芯片各有什么特点。 答:芯片出现的时间次序是:F281xF280xF2833x; 在 F281x 之后出现,低端的是 F280x(100MHz) ,而高端的是 F2833x(浮点) 。 F280x:不带存储器接口(外部扩展接口 XINTF) ,主频降为 100MHz,减小了存储器容量。 F2833x:增加了浮点运算,提供了 DMA,增大了存储器容量。 这其中,281x 之后,一是去掉了 McBSP 接口,二是对事件管理器模块的配置有了很大 的变化,并在后续的芯片(2802x、2803x、2806x)中保持了这种变化。由原来统一管理的 事件管理器模块,分拆成了:增强型 PWM、高分辨率 PWM、32 位的捕获、增强的 QEP 通 道(电路) 。 7 简述 DSP 控制系统的典型构成和特点。 答:仅就 C2000 在电机及其相关控制做出说明,可以参考教材 P.14 上的图 1.8。 电力电子技术实现的运动控制系统的特点: 通过 PWM 脉宽调制技术来表现输出的; 系统的关键变量有电压、电流、位置(速度、加速度) ; 整个机器需要协调运作,各个运动单体需要有通讯通道连接起来; 再来看看 F281x 的外设配置: 事件管理器中的 PWM 电路,与 IGBT 功率模块配合进行功率控制; 事件管理器中的 Qep 和捕获电路,可以直接连接编码器,检测运动体的位置,微分运 算可得速度,再微分可得加速度; TMS320F281x 课后作业参考答案 修订20140114.doc 第 3 页 共 20 页 AD 检测通道, 可以将电流和电压传感器的模拟量转换成数字量, 在 DSP 内部进行运算 处理; SCI 接口,可以与上位计算机连接; CAN 接口,可以将多个传动控制器和主控装置组网; SPI 接口,可以扩展 DSP 没有的模块和功能,如 DA、按键显示接口等。 C2000 系列的 DSP,硬件上与被控对象可以很好地对接;32 位的计算内核和强大的指令 执行速度,配以模块化的软件模块,为运动控制系统提供了很好的控制平台。 P.45 第二章第二章 系统控制及中断系统控制及中断 习题与思考题习题与思考题 1简述在高速 DSP 芯片内部配置 PLL 模块的优点。 答:PLL 是锁相环。PLL 模块可以将内核时钟与输入时钟成一定的倍数关系。高速 DSP 芯 片,如 281x 芯片,内核的时钟频率达 150MHz。如果直接由片外振荡源提供 150MHz 的频 率,因为片外布线较长,分布电容和电感的存在容易造成各种问题。设置 PLL 模块后,281x 的片外晶振频率可降低到 30MHz,容易布线。同时,利用 PLL 控制寄存器的灵活设置,可 以配置内核频率是输入频率的 0.55 倍,分成 10 级,提高了系统时钟的灵活性和可靠性。 2若 CPU 的时钟频率为 150MHz,试计算高速外设时钟和低速外设的频率设定范围。 答:CPU 时钟,又称为内核时钟 SYSCLKOUT。而驱动外设是外设时钟,分高速外设时钟 HSPCLK 与低速外设时钟 LSPCLK,外设时钟是从内核时钟分频获得。 外设时钟频率 = 150MHz/(分频系数 x2) = 150MHz 150MHz/14 = 150MHz 10.7MHz 高速和低速外设时钟各自可独立设定。复位开机时,缺省为: 高速外设时钟 = 150MHz/2 = 75MHz 低速外设时钟 = 150MHz/4 = 37.5MHz 3简述看门狗模块的工作原理。假定时钟 OSCCLK 的频率为 30MHz,试根据时钟分频系 数取值,计算看门狗定时器的计数溢出周期。 答:看门狗是一个定时器模块。当它计数溢出时,会产生看门狗复位信号复位 DSP。使用 时,要求正常运行的程序,在一定的时间间隔范围内清零看门狗定时器,让它不产生溢出复 位。 当程序出现意外错误时, 看门狗定时器就会因为不能获得及时清零而产生计时溢出复位 DSP。这样系统就有了自我纠正异常错误的能力。看门狗定时器按 OSCCLK 即 PLL 模块之 前的输入时钟来工作的。 看门狗定时器的时钟 WDCCLK = OSCCLK/512/(1 64), 分频系数 132 是可配置的; 看门狗定时器是 8 位宽度的,82=256; 最大溢出周期 = 256 / (30MHz/512/64) = 280ms,分频系数按=64 配置 最小溢出周期 = 256 / (30MHz/512/1 ) = 4.4ms, 分频系数按=1 配置 4试将 CPU 定时器与你熟悉的一种单片机片内定时器或定时器接口芯片(如 8254)进行 比较,简述二者的差异。 答:8051 的片内定时器最大是 16bit 的(也可配置成 8 位的) ,它只能加计数,并在 0xffff 之后加 1 上溢, 产生中断。 所以, 当需要获得一个定时周期值时, 是先给它装载一个初值 (= 溢出值 0xffff 需要的定时周期值) ,溢出后要重装这个初值。C28x 内核的 CPU 定时器则 是 32bit 的, 减计数, 下溢中断, 需要的周期值有对应的周期寄存器, 中断后自动重装。 C28x TMS320F281x 课后作业参考答案 修订20140114.doc 第 4 页 共 20 页 的 32 位定时器,极大地提高了定时器的定时精度和定时长度。 5假设 CPU 的时钟频率为 150MHz,试根据周期寄存器和分频寄存器的取值范围,计算 CPU 定时器可实现的定时周期最大值。 答:CPU 定时器有一个 16 位的预定标计数器,对 CPU 的内核时钟进行预分频;而 CPU 定 时器本身是 32 位的,这样,可实现的定时周期最大值: CPUTimer_Tmax = 216 * 232 / 150MHz = 1876 4998 4473 7.07 us = 1876499 s = 21.7 天 可见具备了足够长的定时周期。 6试分析改变 PLLCR 寄存器的值时,对定时器的中断周期有什么影响。 答:C28x 的内核时钟是受 PLLCR(锁相环寄存器)的值的影响的。而后续的定时器和各外 设中,只有看门定时器是直接取用 OSCCLK 而不受 PLLCR 的影响,其余的都受影响。 PLLCR 的有效数值范围是 1 10,数值越大内核时钟频率越高、周期越短。这样,定时器 的周期会严格按 PLLCR 的数值成反比变化。 如 PLLCR=10 时, 定时器有 1 毫秒周期的中断, 那 PLLCR=1 时,就是 10 毫秒周期中断了。 7F281x 芯片的很多引脚是复用的,结合芯片封装尺寸、引脚利用效率、功能配置等方面, 讨论这些复用引脚有哪些优缺点。 答:F281x 集成了众多的外设,每个外设或多或少都会有与片外的输入输出联系,即需要配 置引脚。在每个应用中,实际使用的外设又会有不同,将不用的外设的引脚用于基本的简单 输入输出引脚功能,即 GPIO 功能,就比较合理。这样,有些引脚就需要复用了。F281x 的 引脚复用规则是: 将一种外设的功能与简单的输入输出功能复用在一起。 这样提高了引脚的 利用效率,进而减小了芯片的封装尺寸,这是优点。缺点,就是使用中需要配置引脚。这也 不能算是缺点! 8简述 CPU 级中断和外设中断的响应流程,二者的主要区别体现在哪些方面? 答:CPU 的内核一般是要有稳定的架构,可以覆盖整个芯片系列。内核,包括了 CPU 中断, 也要求相对稳定、通用。而外设的配置可根据芯片的应用对象的不同增减。在 C28x 的系列 中,是使用外设中断扩展 PIE 来灵活配置外设的中断。中断是由外设发起,经过外设中断处 置后再进入 CPU 中断流程。 中断的各个级别上,都有中断标志 IF 和中断许可 IE 的信息; 外设模块内部有标志和许可; PIE 中有标志 PIEIFR 和许可 PIEIER; CPU 有标志 IFR 和许可 IER; 还有一个总许可 INTM; “许可”=“使能” C28x, 使能 了 PIE 后 ,以 INT1INT12 为标志的 CPU 中断不再具有实质意义 指不再提供 INT112 对应的中断向量和中断服务程序了。INTx.y(x=112,y=18)接管了 INT112,并提 供中断向量和中断服务程序。 具体流程参见 P36 图 2.12。 9参考 2.4.5 节的例程,假设改为由 CPU 定时器 1 产生中断,试编写中断初始化和中断服 务程序。 答:C28x 有 3 个 CPU 定时器,但只有 CPUTimer0 是开放给用户使用的。CPUTimer0 使用 TMS320F281x 课后作业参考答案 修订20140114.doc 第 5 页 共 20 页 了 PIE 的中断流程的。一般选用 CPUTimer0 来作为定时使用。 如果强制使用 CPUTimer1,将启用 INT13: #if(0) /这是使用 CPUTimer0 的程序段 EALLOW; PieVectTable.TINT0 = EDIS; /*设置 CPU*/ ConfigCpuTimer( StartCpuTimer0(); /*开中断*/ IER |= M_INT1; PieCtrl.PIEIER1.bit.INTx7=1; / 下面的 INT13,不需要 PIEIER 的使能! #else /这是使用 CPUTimer1 的程序段,请注意差别! EALLOW; PieVectTable.XINT13 = EDIS; /*设置 CPU*/ ConfigCpuTimer( StartCpuTimer1(); /*开中断*/ IER |= M_INT13; #endif P.69 第三章第三章 存储器及外部接口存储器及外部接口 习题与思考题习题与思考题 1如何通过软件判断内部 RAM 单元或外部 RAM 芯片是否工作正常?对于 FLASH 或 EPROM 等存储器芯片如何诊断? 答:存储单元的诊断,都是通过写入与读出的比对来判断。 判断 RAM 单元的工作是否正常,不论内部 RAM 单元或外部 RAM 单元,一般先写入 一个值,再读出来与写入值校验。在 TI 的集成开发环境下,也可以使用 View Memory, 指定一个需要检查的 RAM 地址,键入数值,看看是否成功,即可初步判断 RAM 的正常与 否。当然,更高级的读写速度检验,需要专门的设备。 独立芯片的 FLASH 和 EPROM,需要在专门的编程器上来操作。有擦除(Flash 是电擦 除的,EPROM 是紫外线照射清除的) 、空检查、写入、校验等操作。DSP 片内的 Flash,用 Ti 的 CCS 中的 Flash 插件,就可以完成对 Flash 的操作和检查诊断。 2外部扩展接口(XINTF)适合扩展哪些外设芯片? 答:XINTF 是一种并行接口,有地址、数据和控制三大总线,适合扩展大容量的存储器。 TMS320F281x 课后作业参考答案 修订20140114.doc 第 6 页 共 20 页 XINTF 也可以扩展并行接口的其他芯片。只是现在支持串行接口扩展的功能芯片有许多选 择,引脚数少芯片尺寸小,如 SPI 和 I2C 接口的 AD、DA、USB、网卡等,所以,XINTF 更多地用于存储器的扩展。 3F2812 提供了 3 个供外设使用的片选信号,如果扩展的外设芯片超过 3 个,如何产生这 些芯片的片选信号? 答:F2812 的 3 个片选信号: /XZCS0AND1:指向了一个 8KWZONE0+8KWZONE1 的寻址空间,适合扩展 I/O,使 用 A0A13 地址线 /XZCS2:指向一个 512KW 的寻址空间,使用 A0A18 地址线 /XZCS6AND7:指向一个 512KWZONE6 + 16KWZONE7 的寻址空间,使用 A0A18 地 址线 可以简单地将这三个片选信号指向 3 个芯片,也可以各个 ZONE 的地址范围,结合高位地 址线分出 5 个独立的 ZONE 片选。 因为每个选片信号代表很大的寻址空间, 完全可以使用高位的地址线来译码出更多的次片选 信号,只是每个片选信号代表较小的寻找空间范围! 4对于例 3.2,分析空间 2 的一个读写周期包含的 XTIMCLK 时钟周期数;如果 CPU 时钟 频率为 150MHz,则完成一个完整的读周期需要多长的时间? 答:对照 P.66 上的例 3.2,可知读周期的 3 个阶段的 XTIMCLK 周期数为: 建立(lead) = 3; 有效(active) = 7; 保持(trail)=3; 空间 2 的时钟周期加倍,即 XTIMCLK 的周期 = 2/150MHz 则完成一个完整的读周期需要的时间 Tread=(3 + 7+1 + 3)*2/150MHz = 32/150MHz = 0.213uS 5对于图 3.10,设要求通道 A、B、C、D 的输出电压分别为-4V、0V、2V 和 4V,试编程 实现 4 路 DAC 的输出同步刷新。 答: #define VoutDAC_A (-4-(-5)*214/10 #define VoutDAC_B (5)*214/10 #define VoutDAC_C (2-(-5)*214/10 #define VoutDAC_D (4-(-5)*214/10 #define DAC_CLR GpioDataRegs.GPADAT.bit.GPIOA0 = 0 #define DAC_noCLR GpioDataRegs.GPADAT.bit.GPIOA0 = 1 #define DAC_LDAC GpioDataRegs.GPADAT.bit.GPIOA1 = 0 #define DAC_noLDAC GpioDataRegs.GPADAT.bit.GPIOA1 = 1 Uint16 *ADD_DAC_A = (Uint16 *) 0x80000; Uint16 *ADD_DAC_B = (Uint16 *) 0x80001; Uint16 *ADD_DAC_C = (Uint16 *) 0x80002; Uint16 *ADD_DAC_D = (Uint16 *) 0x80003; /备注,事实上该芯片只使用了 A0-A1 参与通道译码,仅需要 4 个地址,而该 ZONE2 的地 TMS320F281x 课后作业参考答案 修订20140114.doc 第 7 页 共 20 页 址范围是 512KW, 所以可以有 512K/4=128K 组重复的地址。 上面给出的是地址最小的一组。 main(void) EALLOW; GpioMuxRegs.GPAMUX.bit.GPIOA0 = 0; /GPIO GpioMuxRegs.GPAMUX.bit.GPIOA1 = 0; /GPIO GpioMuxRegs.GPADIR.bit.GPIOA0 = 1; /Outptu GpioMuxRegs.GPADIR.bit.GPIOA1 = 1; /Outptu EDIS; DAC_CLR; /复位 DAC 的输出 Delay(); DAC_noCLR; /退出 DAC 的输出复位 DAC_noLDAC; /关闭 DAC 的刷新 *ADD_DAC_A = VoutDAC_A; /输出到 DAC_A 锁存 *ADD_DAC_B = VoutDAC_B; /输出到 DAC_B 锁存 *ADD_DAC_C = VoutDAC_C; /输出到 DAC_C 锁存 *ADD_DAC_D = VoutDAC_D; /输出到 DAC_D 锁存 DAC_LDAC; /在/LDAC 引脚上输出一个低电平脉冲,同步刷新 4 路 DAC 的输出 delay(); DAC_noLDAC; for(;) / P.97 第四章第四章 串行通信接口串行通信接口 习题与思考题习题与思考题 1与 RS-232 串行通讯接口相比,采用 RS-485/422 串行接口有何优点? 答:差别在信号电平上。RS-232C 是非平衡线路,每个信号用一根线传输,接收端检测信号 线与地线之间的电压差。RS-485/422 是平衡线路,每个信号双线传输,即差分传输,接收 端检测差分信号的电压差。理论和实践证明,差分信号的传输方式,具有抗干扰能力强,可 以采用更高的波特率和长距离传输。 2根据异步串行通讯的特点,讨论为什么异步串行通讯接口不宜选取很高的比特率。 答:异步串行通讯,各自约定波特率。在每个数据帧开始位同步,按约定的波特率分出每位 的时间(即断位)进行采样。而同步串行通信,有一方提供时钟信号,波特率是“显式”提 供的(异步通讯,是约定波特率,各自实现) 。同步通讯,不易因为波特率的定时精度的问 题,造成断位(位时间)的误差,影响信号的解析。 其实,以太网、USB、SATA 等也是串行通讯,它们可以达到很高的波特率。但它们是 同步串行的,编码中包含同步信息,没有因为波特率定时误差造成积累的问题。所以,编码 TMS320F281x 课后作业参考答案 修订20140114.doc 第 8 页 共 20 页 规则、信号电平等都会影响传输的可靠性。 3串行通讯接口(如 RS-232)与并行接口(如 XINTF)相比,各有何特点? 答:RS-232 是一种简单而普及率很高的串行接口。最简单的连接就 3 根线(Rxd、TxD、地 线) ,可以全双工传输。一般使用的波特率在 960057600bps。而 DSP 的 XINTF 是 16 位数 据宽度、19 位地址寻址的并口接口,具有速度快、容量大的特点。XINFT 只适合板子内部 的高速芯片的扩展。 4设低速外设时钟 LSPCLK 的频率为 37.5MHz,试根据波特率选择寄存器的取值计算 SCI 的波特率设置范围。 答: SCI_Baud = LSPCLK / (BSR + 1)x8) BSR 的取值范围= 1 (116-1)=165535 SCI_Baud_Max = 37.5MHz/(1+1)x8) = 2.34375MBps SCI_Baud_Min = 37.5MHz/( (216-1)+1)x8 ) = 71.5 Bps 那么,如果提高 LSPCLK 的频率是否可以继续提高 SCI 的可能的最高波特率呢?如,提高 LSPCLK 到 150MHz,计算的波特率就可以提升 4 倍。但这要看 SCI 模块的数据手册了,是 否有其他的限制,而不是单纯按公式来计算。事实上,SCI 的实用的波特率不会超过 1Mbps 的。 因为 SCI 的波特率是需要通讯双方约定后各自实现,国际上规定了采用的波特率数据: 选用波特率要从上述数据中选择,而不是自己去取一个任意数。 由于波特率发生器的实际值会偏离上述规定值 (因为整数计算的分辨率和四舍五入的原 因) ,出现误差。一个 SCI 数据帧有 11 位(起始位+8 位数据位+地址位+奇偶校验位) ,如接 收和发送方之间有 5%的波特率定时误差,在第 10 位就会积累到 50%的位窗口误差,就会 TMS320F281x 课后作业参考答案 修订20140114.doc 第 9 页 共 20 页 出现断位和判读的错误。 5 试 比 较SCI模块的两种多处理器通讯协议。 与双机通讯相比, 实现多机通讯 (如采用RS-422 接口)需要在硬件设计和软件实现方面进行哪些扩展? 答:F281x 的 SCI 模块,提供了 2 种多处理通讯协议。当出现多处理器时,接收方需要对无 关的报文加以忽略。这里约定,发送方是先发送带有接收方地址的一个报文,随后再发送几 个数据报文。接收方无条件接收地址报文,而有条件接收数据报文(如只接收地址符合的数 据报文) 。 空闲线多处理器模式: 规定在经历了 11 个位时间的空闲线后的第一个报文是地址报文; 地址位多处理器模式:规定报文中带有专门的位,=1 是地址报文,=0 是数据报文 使用中,对多处理器需要约定他们的地址,也称节点地址。 当使用 RS-232 和 RS-422 接口协议时,只能有一个主机,其他是从机;当使用 RS-485 接口协议时,可以有多个主机。当然,还需要有其他协议来规范主机以防出现冲突。RS-485 是半双工的。 6如图 4.14 所示,编写实现两个 DSP 间串行通讯。要求选择 RS-232 接口、全双工模式、 8 位数据长度、波特率位 9600b/s、数据接收采用中断方式。 答:略。参见实验相关程序。 P124 第五章第五章 串行外设接口串行外设接口 习题与思考题习题与思考题 1 假定 DSP 的低速外设时钟频率为 37.5MHz,试从传输距离、通讯速率、应用 场合等方 面讨论 SCI 接口与 SPI 接口各有何特点。 答:SPI 是串行外设接口,是用于外设的扩展。它是一种主从方式的同步串行接口,其“同 步”体现在由主机方提供时钟。它适合同一线路板或近距离的板子与板子间的近距离通讯, 通讯速率可以做的很高。 SCI 是设备间的通讯,异步的,约定波特率各自实现。SCI 经过电平转换成 RS232 或 RS485 电平后,可以适用长距离传输(RS232=15 米,RS485=1K 米 )。SCI 的通讯速率小于 SPI。 2 与外部接口(XINTF)相比,采用 SPI 接口扩展外设有何特点? 答:SPI 与 XINTF 是完全不同的接口类型。SPI 是串行的接口! SPI 的特点:串行,同步,主从方式,收发同时进行,主方提供时钟,1-16bit 的数据报 文可选,4 种时钟模式。适用于板上的芯片扩展。 XINTF 是并行接口,由数据线、地址线和控制线组成,适合存储器等大容量芯片的扩 展。 3 假定 SPI 工作于主模式,LSPCLK=75MHz,试确定 SPI 允许的比特率范围。 答:SPICLK = LSPCLK / (SPIBBR+1), 其中 127SPIBBR3 SPICLK_Max = 75MHz/4 = 18.75MHz SPICLK_Min = 75MHz/128 = 0.586MHz 4 针对图 5.10 的接口电路,编程实现每秒采集温度值一次,要求采用 CPU 定时器 0 来产 TMS320F281x 课后作业参考答案 修订20140114.doc 第 10 页 共 20 页 生 1Hz 的定时中断。 答:这里只写出读取的函数。在 CPU0 的 1Hz 定时中断中调用。 GPIOF3(SPISTE)用于 ADT7301 的选通;需要配置成普通输出引脚。 SPI 需要配置成 16bit 方式。ADT7301 的允许的时钟频率可达 20MHz,据此配置波特率。 void ADT7301 (void) GpioDataRegs.GPFDAT.bit.GPIOF3 = 0; /选通 ADT7301 SpiaRegs.SPITXBUF = SpiaRegs.SPITXBUF; /虚拟输出,意在读入 while(SpiaRegs.SPISTS.bit.INT_FLAG != 1) /等待 ADT7301_Value = SpiaRegs.SPIRXBUF; GpioDataRegs.GPFDAT.bit.GPIOF3 = 1; /放弃选通 ADT7301 5 通过软件定时更新 DAC 输出可以产生任意波形、幅值和频率的信号,该方法也称作直 接数字合成(DDS) ,试比较 DDS 方法与采用振荡器产生波形的方法(如文氏电桥正弦 波振荡器)的优缺点。 答:DDS 的优势是明显的: 可输出任意波形,频率、波形和赋值可精确的数字控制。当然成本较高。对于特别高频 的信号,超出了 DDS 的能力的话,就会影响 DDS 生成波形的精确性。 其实,有专门的 DDS 芯片,不必通过 DSP+DA 芯片来实现 DDS 的功能。 而振荡器产生波形,改变频率就需要调节电容、电感和电阻的参数值。在数字化时代, 劣势明显! 6 试针对图 5.13 的接口电路,编程产生频率为 20Hz、幅度为 2V 的正弦波和三角波形; 讨论如何通过软件改变周期波形的频率和赋值。 答:图 5.13 提供了 DSP 与 MAX5253 的 SPI 接口。 程序的设计思想: 将 20Hz 的周期 50ms 分成 100 份(或更多)即 0.5ms, 配置 CPU 定时器 0 按 0.5ms 周期中 断。在中断服务程序中,对中断次数计算,并用做时间横坐标,计算出正弦波和三角波形的 数值,分别在 VoutA 和 VoutB 中输出。 具体程序略。 7 试根据 MAX5253 芯片的时序要求, 分析与 SPI 接口时应如何配置 SPICLK 的时钟模式。 答:比较图 5.14 与图 5.5,可以发现,上升沿有延时的时钟模式适合 MAX5253 芯片的时序 要求。 8 试针对某一数字信号处理或数字控制系统,简述 D/A 转换器的功能。 答:现代的数字控制系统,执行量已经是数字输出了,如控制电机运行的是 PWM 形式的输 出。当然,D/A 转换器的用途还是有的,如电机调速的变频电源,为了方便地用模拟指针表 头指示电机运行的速度和电流等,常常有模拟量输出通道,可直接外接表头来指示。 TMS320F281x 课后作业参考答案 修订20140114.doc 第 11 页 共 20 页 P175 第六章第六章 增强型增强型 CAN 控制器控制器 习题与思考题习题与思考题 1 与串行通讯接口(SCI)相比,采用 CAN 总线通信接口有何特点? 答:CAN 是一种现场总线协议,是一种高级的通讯协议。它包含了 7 层通讯模型中的物理 层和数据链路层。多主方式、非破坏性总线仲裁、错误探测和管理等。其协议的复杂程度远 高于 SCI。 2 比较并简述 eCAN 和 SCI 分别是如何实现多机通讯的。 答:eCAN 是一种多主协议,有完备的多主机的竞争处理机制。采用 CSMA/ CA = Carrier Sense Multiple Access with Collision Avoidance 的机制,让优先级高的站点继续发送数据,优 先级低的站点自动取消发送尝试。采用 11 位/29 位 ID 来标记优先级、地址、属性等等。 SCI 则是简单的协议,是单主机协议,主机利用空闲线或地址位方式告知发送的是地址 还是数据,让从机判断地址是否相符决定是否忽略后续的数据。 3 简述 CAN 总线通信协议是如何保证数据通信的可靠性的。 答:CAN 总线是一种最早为汽车应用而开发的。硬件上,采用专用的收发器,限制波形的 上升下降斜率,适应电磁兼容环境要求高的场合。通讯协议中,采用 CRC 冗余检验和故障 处理,在发生仲裁丢失和错误时自动重发。包含数据链路层,即保证数据正确地从一个节点 传输到另外的节点,传输故障会被侦测到并自动重发,直到被接收方确认接收为止。 4 结合 6.5 节的例程简述 eCAN 模块的初始化流程。 答:略。 5 结合表 6.35表 6.37,简述如何设置 eCAN 模块的通信波特率。 答:CAN 的位时间分成 4 个时间段,可以独立设定。CAN 模块直接常用 CPU 的系统时钟, 而不是 LSPCLK 或 KSPCLK。 CAN 波特率也是预先约定的, 在各自片内实现。 波特率可选 50kbps、 100kbps、 125kbps、 250kbps、500kbps 和 1Mbps。这点与 SCI 类似,与 SPI 不同。编码上,还约定连续若干相 同位后要插入反向位,这样可以起到修正收发双方的波特率误差的目的。 6 假定 eCAN 模块:(1)工作于自测试模式; (2)邮箱 0 用于发送数据,邮箱 1 用于接收数 据; (3)采用中断方式就收数据。试编程实现上述要求。 答:略。 P224 第七章第七章 事件管理器事件管理器 习题与思考题习题与思考题 1 与 2.2 节介绍的 CPU 通用定时器相比,事件管理器中的通用定时器有何特点? 答:事件管理器中的通用定时器的特点是: 16 位;CPU 定时器是 32 位 计数方式:连续増、连续增减和定向增减;CPU 定时器只能连续减 有比较寄存器包围,可以有比较 PWM 输出;CPU 定时器没有此功能 可以接收来自引脚上的脉冲输入,进行计数;CPU 定时器只对内部时钟计数(计时) TMS320F281x 课后作业参考答案 修订20140114.doc 第 12 页 共 20 页 2 对于例 7.2,当高速外设时钟为 75MHz 时,试计算定时器 1 的定时周期。 答:P196 上的例 7.2,在 T1 的初始化程序中可见: EvaRegs.T1PR = 0x0200; EvaRegs.T1CON = 0x1742; 可以分解出: TMODE1-TMODE0 = 10 连续増计数模式 TPS2-TPS0 = 7 时钟预分频 1/128 TCLKS1-TCLKS0 = 0 时钟源 HSPCLK 因此可以计算出 T1 的定时周期: T1 = 75MHz/128/0x0200 = 75MHz / 128 / 512 = 1.1444KHz = 873.8 us 3 设置 PWM 输出引脚的方式为高电平有效和低电平有效时,对占空比的设定有什么区 别? 答:PWM 输出是比较寄存器的数值与动态变化的定时器计数值比较的结果。使用高电平有 效的输出方式,引脚上的占空比与比较寄存器的值成反比关系;而使用低电平的输出方式, 引脚上的占空比与比较寄存器的值成正比例关系。参见 P193 图 7.7。 其实,PWM 输出引脚还要连接后续的功放电路,而功放电路可以是低电平驱动的,这 就又出现一次反转关系。 = 4 与线性功率放大器相比,PWM 功率放大器有何优点?适用于哪些场合? 答:PWM 功率放大器是现代运动控制中最常用的功率放大方式。它其实是一种高频的通断 控制(2KHz20KHz) ,通过调节占空比,利用负载中的电感电容的滤波作用,达到调节平 均值的目的。相比于线性功率放大器,PWM 放大器具有高效率的特点。导通时压降小。关 断时电流约为零,虽然引入了开关损坏,但总体损耗远小于线性功率放大器。线性功率放大 器是利用放大器本身的压降来控制负载上的电压。 PWM 的缺点也是其高频的通断,引入了高频谐波,不适合对此敏感的应用场合,如音 箱设备的功率放大。 5 与应用通用定时器产生的 PWM 波形相比,应用全比较单元和 PWM 电路产生的 6 路 PWM 输出有何特点? 答:事件管理器的 PWM 比较输出,有简单比较输出,它是一路 PWM;还有全比较器输出, 它是 3 对互补即 6 路 PWM。一路 PWM 适合做 DAC 转换器,或一路单管 PWM 功率放大。 而互补的 PWM,可以插入死区,适应电压源变流器的上下桥臂结构。 全比较器的互补输出, 非常适应目前常用的运动控制功率放大电路的拓扑结构。 6 假设例 7.3 中的高速外设时钟频率为 75MHz,试分析各路 PWM 信号的频率和占空比。 答:P212 例 7.3,T1 和 T2 的简单比较器各输出 1 路 PWM,T1 的全比较器输出 3 对 6 路 PWM。例子中的参数配置有: 已知: T1PR = 0xFFFF; T1CON = 0x1042; T1 连续増、无分频 可计算出 T1CMPR = 0x3C00; TMS320F281x 课后作业参考答案 修订20140114.doc 第 13 页 共 20 页 T1PIN = 1; 低电平有效 CMPR1 = 0x0C00; CMPR2 = 0x3C00; CMPR3 = 0xFC00; ACTRA = 0x0666=0000 0110 0110 0110b; “10”- PWM1/3/5 高电平有效; “01”- PWM2/4/6 高电平有效 可计算出: T1PWM 和 T1 全比较器的频率 = 75MHz/(0xFFFF+1) = 75MHz/65536 = 1.144KHz 高电平占空比 = 0x3C00/(0xFFFF+1) = 15360/65536=23.4% 低电平占空比 = 1-23.4% = 76.6% 全比较器 PWM 的占空比按类似计算,略。 已知: T2PR = 0x0FFF; T2CON = 0x1042; T2 连续増、无分频 T2CMPR = 0x03C0; T2PIN = 2; 高电平有效 可计算出: T2PWM 的频率 = 75MHz/(0x0FFF+1) = 75MHz/4096 = 18.31KHz 高电平占空比 = (0x0FFF-0x03C0)/(0x0FFF+1) = 3135 / 4096 = 76.5% 低电平占空比 = 1-76.5%=23.5% 7 假设采样频率为 100Hz,试根据例 7.4 编程实现电动机的转角和转速测量与实时刷新。 答:P220 上提供了 Qep 和 T4 的配置。 程序设计思想: 采样频率=100Hz,拟用 CPU 定时器 0 提供 10ms 的周期中断 设计 CPUTomer0 的中断服务程序,读取 T4CNT 的数值,就是转角位置; 900 线/转的编码器,Qep 电路 4 倍频后,为 3600 脉冲/转。 因为 T4 是 16bit 的,计数 范围在 065535,不足 20 转(18.20 转)就会溢出。建议设立一个 32 位的变量,记录溢出 的次数。分上溢出和下溢出即正转溢出和反转溢出,对溢出次数记录进行+1 或 -1。 可 以使能 T4 的溢出中断,来处理溢出事件。 具体程序略。 P247 第八章第八章 AD 转换模块转换模块 习题与思考题习题与思考题 1 试将 F281x 系列中的 ADC 模块与你熟悉的一种 ADC 芯片(如 ADC0809、ADC574 等) 进行比较,简述 DSP 芯片中集成的 ADC 模块有什么优点。 答:与 ADC0809 比较: F281x ADC0809 通道数 16 8 位数 12 8 采样保持 2 0 转换时间 最快 12.5MSPS 100us=10KSPS TMS320F281x 课后作业参考答案 修订20140114.doc 第 14 页 共 20 页 排序功能 有 无 片内的 ADC 模块,优点是明显的。不需要扩展,直接可用;AD 的启动转换和中断可 以与 DSP 的其他资源可以实现关联和同步。 2 如果片内 ADC 模块的精度无法满足系统要求,举例说明如何扩展 ADC 芯片。提示:可 以通过 SPI 接口或外部扩展接口(XINTF)扩展串行或并行接口的 ADC 芯片。 答:现在 F281x 提供的 AD 模块的名义精度是 12 位的。实际的可用精度会低于这个指标。 可以使用补偿手段加以矫正,以提高实际的可用精度。Ti 给出了相关的应用手册。 在需要更高精度的 AD 转换时,还可以外扩 ADC 芯片。推荐 SPI 接口的 ADC 芯片。 SPI 是一种标准化的串行接口,不限制厂家和处理器的型号。SPI 的 ADC 扩展,如同其他的 SPI 扩展,DSP 为主器件。SPI 接口扩展 ADC 芯片,DSP 需要双向通讯。 3 试针对某一数字信号处理系统或数字控制系统,简述 A/D 转换器的功能。 答:C2000 的主要应用对象是运动控制,电机是主要的运动执行元件。电机运行中的主要的 控制量就是电流、电压等,它们是以模拟量的形式存在,需要 A/D 转换器转换成数字量后 在 DSP 内部进行加工。这也是 C28x 配置高速 AD 模块的理由。 4 试比较双积分型和逐次逼近型 A/D 转换器的优缺点。如果待采样的模拟信号频率为 1KHz,两种类型的 A/D 转换器都可以选用吗? 答:略。 5 设高速外设时钟为 75MHz,试根据图 8.9 分析 ADC 时钟频率和采样脉冲宽度的设定范 围。 答:计算公式: ADCCLK = HSPCLK / ADCLKPS / CPS 最大 ADCCLK 受硬件限制,手册已经规定为 25MHz 最小 ADCCLK = 75MHz / 16 / 2 = 2.6875MHz 采样脉冲宽度是对 ADCCLK 的分频而来,参数 ACQ_PS3=116 3 或 4+ACQ_PS3 个 ADCCLK 时钟周期。 6 试根据例 8.5 的要求,采用 8.3.4 节介绍的中断情形 2,编程实现对电动机三相电压和三 相电流的采样与 A/D 转换。 答:P233 例 8.5。启动-停止模式下应用排序器进行 A/D 转换。 程序设计思路: 定时器按连续增减计数模式; T1 的周期寄存器设置成 25us,因为是连续增减计数模式,周期翻倍,即 PWM 的周期 =50us。 开放 T1 的下溢中断 T1UFINT(INT2.5)和周期中断 T1PINT(INT2.3) ,在这两个中断 服务程序中都设置软件启动 AD 转换(注意:EVA 启动 AD 转换的选项中,没有同时用下 溢和周期中断启动 ADC 排序的选项,所以,使用软件启动 ADC) ; 在 T1UFINT 中启动 ADC 排序前还要软件复位排序器,以保证下溢中断转换 I1 I2 I3; 开放 ADCINT(INT1.5)的中断,中断模式 2(INT_MOD_SEQ1=1) ,即每隔一个排序 TMS320F281x 课后作业参考答案 修订20140114.doc 第 15 页 共 20 页 结束产生 ADC 中断; 使用一个排序器 SEQ1,启动-停止模式,MAXCONV=2; 输入通道选择:前三个指向 I1 I2 I3,后三个指向 V1 V2 V3 在 AD 中断读取 6 个转换结果; 具体程序,略。 P265 第九章第九章 DSP 系统硬件设计基础系统硬件设计基础 习题与思考题习题与思考题 1 简述 DSP 应用系统的一般设计流程。 答:略。 2 在设计 DSP 应用系统时,如何合理选择 DSP 芯片? 答:选用熟悉的芯片。不计成本时,可选用功能强大的芯片,简化软件算法。批量产品时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 塔里木大学《汉唐研究》2023-2024学年第二学期期末试卷
- 上海科学技术职业学院《血液学检验技术》2023-2024学年第一学期期末试卷
- 彩钢顶翻新施工方案
- 2025至2031年中国木材横切用锯片行业投资前景及策略咨询研究报告
- 天津天狮学院《医学的法律边界》2023-2024学年第二学期期末试卷
- 2025年私人住宅租赁合同标准范本
- 混凝土回收改造施工方案
- 2025办公室租赁合同(商业大厦)
- 排水井清掏施工方案
- 2025年餐饮加盟合同模板
- T-GLYH 007-2023 公路沥青路面厂拌热再生技术规范
- 甲醛溶液-化学品安全技术说明书中文MSDS(完整版)
- 保险公司投保规划方案模板
- 赣州医保异地就医备案流程
- 快消品配送工作方案
- 保障体系及小组的管理文件
- 三角纤维软骨复合体损伤学习课件
- 中央性前置胎盘护理查房课件
- 2024年中国邮政招聘笔试参考题库含答案解析
- 压型钢板和檩条计算例题
- 医疗机构临床基因扩增检验实验室管理办法
评论
0/150
提交评论