DSP课后思考题

发布时间 : 星期日 文章DSP课后思考题更新完毕开始阅读

ConfigCpuTimer(&CpuTimer0,150,1000000); CpuTimer0Regs.TCR.bit.TSS=0; PieCtrl.PIEIER1.bit.INTx7=1; IER|= M_INT1; EINT; #else EALLOW;

PieVectTable.XINT13=&ISRTimer1; EDIS;

ConfigCpuTimer(&CpuTimer1,100,100000); CpuTimer1Regs.TCR.bit.TSS=0; IER|= M_INT13; #endif

第三章

1.如何通过软件判断内部RAM单元或者外部RAM芯片是否正常工作?对于Flash或EPROM等存储芯片应该如何诊断?

答:通过写入与读出值的比对来诊断内部PAM单元或外部RAM单元是否正常工作。判断RAM单元的工作是否正常,不论内部RAM单元或外部RAM单元,一般先写入一个值,再读出来与写入值校验。比如对同一个地址写入0~0xFF,然后读出数据,看两者是否相同,再从地址0开始写入有规律的数据,如全0或全1,还有0与1间隔如0x55,0xAA,,然后读出看与原数据是否相同。独立芯片的Flash和EPROM,需要在专门的编程器上来操作。有擦除、空检查、写入、校验等操作。

2.外部扩展接口(XINTF)适合扩展哪些外设芯片?

答:XINTF适合扩展并行的外设芯片,如ADC、DAC、RAM、USB、FIFO等接口。

3.F2812提供了3个供外设使用的片选信号,如果扩展的外设芯片超过3个如何产生这些外设芯片的片选信号?

答:提供的三个片选信号代表了很大的寻址空间,所以当外设芯片超过3个时,可以用高位

的地址线来译码出更多的次片选信号,通过次片选信号来跟外设匹配。同时还可以通过XREADY信号来与外设的访问速度和时序匹配。

4.对于例3.2,分析空间2的一个读周期包含的XTIMCLK时钟周期数;如果CPU时钟频率为150MHz,则完成一个完整的读周期需要多长的时间?

答:根据例程可知,XRDLEAD位值为3,XRDACTIVE位值为7,XRDTRAIL位值为3,同时X2TIMING位值为1,说明XTIMCLK=SYSCLKOUT/2,因为SYSCLKOUT为150MHz,所以一个完整的读周期需要时间为:(3+7+3+1)/150MHz=0.213μs。

5.对于图3.10,设要求通道A、B、C、D的输出电压分别为-4V、0V、2V、4V,试编程实现四路ADC的输出同步刷新。 答:程序如下:

Uint16 *ADD_DAC_A = (Uint16 *) 0x80000; Uint16 *ADD_DAC_B = (Uint16 *) 0x80001; Uint16 *ADD_DAC_C = (Uint16 *) 0x80002; Uint16 *ADD_DAC_D = (Uint16 *) 0x80003; main(void) {

InitSysCtrl(); DINT; IER = 0x0000; IFR = 0x0000; EALLOW;

GpioMuxRegs.GPAMUX.bit.GPIOA1=0; GpioMuxRegs.GPAMUX.bit.GPIOA2=0; GpioMuxRegs.GPADIR.bit.GPIOA1=1; GpioMuxRegs.GPADIR.bit.GPIOA2=1; EDIS;

GpioDataRegs.GPADAT.bit.GPIOA1=0; Delay();

GpioDataRegs.GPADAT.bit.GPIOA1=1;

GpioDataRegs.GPADAT.bit.GPIOA2=1; *ADD_DAC_A =(-4-(-5))*2^14/10; *ADD_DAC_B =5*2^14/10; *ADD_DAC_C =(2-(-5))*2^14/10; *ADD_DAC_D =(4-(-5))*2^14/10; GpioDataRegs.GPADAT.bit.GPIOA2=0; Delay();

GpioDataRegs.GPADAT.bit.GPIOA2=1; for(;;){} }

第七章

1.与2.2节介绍的CPU定时器相比,事件管理器的通用定时器有何特点?

答:事件管理器的EVA和EVB各有2个通用定时器。 其特点为:16位;包含计数器、比较寄存器(双缓冲)、周期寄存器;可连续增计数、连续增/减计数、定向增/减计数;可产生对称和非对称PWM波;中断事件有下溢、上溢、比较匹配和周期匹配。 CPU定时器:32位,连续减计数,只在减计数到0时使中断标志置位。

2.对于例7.2,当高速外设时钟设为75MHz时,试计算定时器1的定时周期。

答:由T1CON.all=0x1742可知其模式为连续增计数模式,分频系数为128,;根据周期寄存器值0x0200可知,周期为2*16*16+1,所以定时周期为(2*16*16+1)*128/75MHz=875.5μs。

3.设置PWM输出引脚的输出方式为高有效和低有效时,对占空比的设定有什么区别? 答:PWM输出引脚的波形是比较寄存器中的值与计数寄存器中值相比较的结果,使用高电平有效输出,引脚的占空比与比较寄存器中的值成反比关系,即设置的值越大,输出占空比越小,使用低电平有效输出,引脚的占空比与比较寄存器中的值成正比关系。对于同一个设定值,高有效和低有效的占空比之和恰好为1。

4.与线性功率放大器相比,PWM功率放大器有何优点?适用于哪些场合?

答:优点:通过调节占空比,利用负载的滤波作用,其功率损耗比较低、放大器的输出是一

串宽度可调的矩形脉冲; 适用场合:数字音频、各种LED模块、直流伺服系统、 扬声器等。

5.与通用定时器产生的PWM波形相比,应用全比较单元和PWM电路产生的6路PWM输出有何特点?

答:通过通用定时器产生的PWM波形是一路独立的PWM波,是通过简单比较产生的。全比较单元和PWM电路产生的6路PWM波形是三对互补输出的PWM波形。一路PWM适合启用DAC转换器和PWM功率放大器,而6路PWM波形适合目前常用的运动控制功率放大电路的拓扑结构,且可以插入死区。

6.假设例7.3中的告诉外设时钟频率为75MHz,试分析各路PWM信号的频率和占空比。 答:由T1CON可知,输出为无分频系数、连续增计数模式,由T1PR可知,周期为FFFF,比较值为3C00,由T1PIN可知,T1PWM为低电平有效。

综上分析可得占空比为:(15360/65535+1)=23.4%,频率为:75MHz/65536=1.144KHz;同理T2PWM占空比为:960/(4096+1)=76.6%,频率为:75MHz/4097=18.31KHz。

对于3对PWM信号来说,分析相同,由ACTRA可得,死区为0,所以PWM1/3/5高电平有效,占空比分别为:1(-3072/65536)=95.3%,1(-15360/65535+1)=76.6%,1(-64512/65536)=1.6%%,频率为:75MHz/65536=1.144KHz;

PWM2/4/6的占空比分别为4.7%,23.4%,98.4%,频率为75MHz/4097=18.31KHz。

7.假定采样频率为100Hz,试根据例7.4编程实现电动机的转角和转速测量与实时刷新。 答:

#include “DSP281x_Device.h” Uint32 count_out=0; Uint16 Count_angle;

interrupt void cpu_timer0_isr(void); Void main(void) {

InitSysCtrl(); DINT; InitPieCtrl(); IER = 0x0000;

联系合同范文客服:xxxxx#qq.com(#替换为@)