DSP常考知识点及其答案.docx

上传人:b****1 文档编号:10403466 上传时间:2023-05-25 格式:DOCX 页数:15 大小:124.80KB
下载 相关 举报
DSP常考知识点及其答案.docx_第1页
第1页 / 共15页
DSP常考知识点及其答案.docx_第2页
第2页 / 共15页
DSP常考知识点及其答案.docx_第3页
第3页 / 共15页
DSP常考知识点及其答案.docx_第4页
第4页 / 共15页
DSP常考知识点及其答案.docx_第5页
第5页 / 共15页
DSP常考知识点及其答案.docx_第6页
第6页 / 共15页
DSP常考知识点及其答案.docx_第7页
第7页 / 共15页
DSP常考知识点及其答案.docx_第8页
第8页 / 共15页
DSP常考知识点及其答案.docx_第9页
第9页 / 共15页
DSP常考知识点及其答案.docx_第10页
第10页 / 共15页
DSP常考知识点及其答案.docx_第11页
第11页 / 共15页
DSP常考知识点及其答案.docx_第12页
第12页 / 共15页
DSP常考知识点及其答案.docx_第13页
第13页 / 共15页
DSP常考知识点及其答案.docx_第14页
第14页 / 共15页
DSP常考知识点及其答案.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

DSP常考知识点及其答案.docx

《DSP常考知识点及其答案.docx》由会员分享,可在线阅读,更多相关《DSP常考知识点及其答案.docx(15页珍藏版)》请在冰点文库上搜索。

DSP常考知识点及其答案.docx

DSP常考知识点及其答案

第一章绪论

1什么是DSP?

答:

DSP是数字信号处理器(DigitalSignalProcessor),是特别适合于实现各种数字信号处理运算的微处理器。

主要应用场合:

(1)数字信号处理运算,

(2)通信,(3)网络控制及传输设备,(4)语音处理,(5)电机和机器人控制,(6)激光打印机、扫描仪和复印机,(7)自动测试诊断设备及智能仪器仪表、虚拟仪器,(8)图像处理,(9)军事,(10)自动控制等。

2.DSP芯片的特点有哪些?

答:

(1)采用改进的哈佛结构;

(2)采用流水线技术;(4)配有专用的硬件乘法-累加器;(5)具有特殊的DSP指令;(6)快速的指令周期;(7)硬件配置强;(8).支持多处理器结构;(9)省电管理和低功耗。

3.DSP采用改进的哈佛总线结构,画出改进的哈佛总线结构示意图。

答:

改进的哈佛结构如下:

4.DSP中由哪些地址和数据总线组成多总线结构?

答:

存储器接口有三条地址总线:

(1)PAB(ProgramAddressBus(22))程序地址总线,用来传送来自程序空间的读写地址。

PAB是一个22位的总线。

(2)DRAB(Data-readAddressBus(32))数据读地址总线。

32位的DRAB用来传送来自数据空间的读地址。

(3)DWAB(Data-writeAddressBus(32))数据写地址总线。

32位的DWAB用来传送来自数据空间的写地址。

存储器接口还有三条数据总线:

(1)PRDB(Program-readDataBus(32))程序读数据总线,PRDB在读取程序空间时用来传送指令或数据。

(2)DRDB(Data-readDataBus(32))数据读数据总线。

32位的DRDB在读取数据空间时用来传送数据。

(3)DWDB(Data/Program-writeDataBus(32))数据/程序写数据总线。

32位的DWDB在对数据空间写数据时用来传送数据。

5.DSP芯片的选型一般是从哪几个方面进行考虑?

答:

并不存在最好的DSP,正确的DSP选择取决于具体的应用场合。

没有任何DSP能够满足所有的,或者大多数应用的需要。

对于一种应用来说是好的选择,对另外的应用则可能是很差的选择。

一般从数据格式、数据宽度、速度、存储器的安排、开发的难易程度、功耗和电源管理、器件的封装等方面考虑选择DSP。

6.简述TI公司的DSP三大平台和它们各自的应用场合。

答:

(1)最佳控制:

TMS320C2000DSP平台

TMS320C2000DSP平台将各种高级数字控制功能集成于一颗IC上。

强大的数据处理和

控制能力可大幅提高应用效率和降低功耗。

(2)最低功耗:

TMS320C5000DSP平台

TMS320C5000DSP专门针对消费类数字市场而设计。

(3)最佳处理能力:

TMS320C6000DSP平台

TMS320C6000DSP是处理能力最强,易于采用高级语言编程的DSP。

定点及浮点DSP市场定位在网络交换,图像处理,雷达信号处理等高端应用领域。

7.DSP芯片发展趋势应该朝着哪些方面发展?

答:

(1)系统级集成DSP是潮流

(2)DSP和微处理器的融合(3)DSP和FPGA的融合(4)可编程DSP是主导产品(5)追求更高的运算速度(6)定点DSP是主流

第二章CCS软件应用基础

1如何对CCS3.3的单处理器目标系统进行配置?

答:

(1)运行桌面上的CodeComposerStudioSetup应用程序,出现系统配置窗口。

(2)在配置前可以通过选择File->Removeall清除以前的设置。

(3)在AvailableFactoryBoards栏中选择需要调试的目标板或仿真器。

为了方便找到相应的硬件配置,可以在右上侧的过滤栏中根据需用的处理器所属系列(Family)、处理器平台类型(Platform)、字节模式(Endian)等进行过滤。

确定相应的配置后直接拖到左侧的SystemConfiguration栏中,或者选中需要的目标配置文件后单击下面的Add按钮添加,如果AvailableFactoryBoards栏中不存在用户需要的标准配置,可以自己创建配置文件进行

配置。

(4)选择SystemConfiguration栏中的系统硬件,单击右键并选择属性,可以查看和编辑相关属性,根据需要可以针对不同的选型作适当的调整。

(5)选择系统平台下的CPU,单击右键并选择属性,可以查看和编辑CPU的属性文件。

主要包括的GEL文件、主/从设置、启动模式(实时或停止模式)等。

(6)单击Save衣(luit按钮保存配置并退出配置程序,下次选用相同的平台开发时不需要重新配置。

(7)退出配置程序后弹出CodeComposerStudioIDE启动的判断按钮,选择Yes即可运行CCS。

如果配置的是硬件平台,在运行CCSIDE之前,应该检查硬件系统的莽接状况和目标系统的供电情况。

2简单程序的开发步骤有哪些?

答:

(1)如果已经在C:

\CCStudio_v3.1目录下安装了CCS开发环境,则在C:

\CCStudio_v3.1\MyProjects目录下创建开发文件夹sinewave。

(2)C:

\CCStudio_v3.1\tutorial\dsk2812\sinewave目录下的.c,.cmd以及.h文件复制到创建的目录,然后运行CCS。

(3)依据工程的创建方法,创建新的工程(参考2.4.1小节)

(4)选择Project->AddFilestoProiect,添加.C、cmd以及rt_2800m1.lib文件。

(5)双击项目管理窗口下的sine.c一文件浏览程序源代码,单击RebuildAll编译程序。

(6)编译、链接通过后,CCS下面的状态输出窗口将显示相应的状态。

(7)选择File-LoadProgram装载应用程序。

(8)运行程序。

3DSP探针的作用有哪些?

答:

探针主要用来从PC机的数据文件中读取数据,提供给算法或其他程序使用,从而有利于DSP的算法开发或参考数据的生成。

可以使用探针完成下列任务:

(1)从主机的数据文件中读取数据,然后传送到目标处理器的存储缓冲,以便算法程序使用主机的数据;

(2)从目标处理器的存储缓冲中读取数据并存放到PC机的指定文件中,以便进一步分析;

(3)刷新带有数据的图形窗口。

第三章C/C++程序编写基础

1.TMS320X28xx采用C/C++编程时,采用位定义和寄存器文件结构方法有什么好处?

答:

(1)TI公司为用户提供写好的文件结构体和位区定义,可以在其网站下载。

C281xC/C++HeaderFilesandPeripheralExamples(SPRC097)

C280x,C2801xC/C++HeaderFilesandPeripheralExamples(SPRCl91

C2804xC/C++HeaderFilesandPeripheralExamples(SPRC324)

(2)使用位区方便编写代码,可读性强,易升级。

(3)位区定义可以充分利用CodeComposerStudio编辑器的自动代码输入功能,方便用户输入代码。

当使用寄存器文件结构和位区时,很多变量名很长,难于记忆而且输入非常困难。

当输入代码时,CodeComposerStudio编辑器提供可能的结构体或位区列表,这样用户可以很容易地使用输入编辑程序代码。

CPU定时器的TCR寄存器自动输入。

(4)方便CodeComposerStudio的Watch窗口观察变量。

用户可以在CodeComposerStudio的Watch窗口增加扩展寄存器文件结构体,直接观察相应的位区定义的参数值,

2.什么是定点数据,什么是浮点数据?

TMS320X28xx是定点还是浮点处理器?

它是如何实现浮点数据处理的?

答:

小数点固定的数据称为定点数据,小数点浮动的数据称为发浮点数据,TMS320X28xx是定点处理器,它通过TMS320X28xxIqmath库实现浮点处理。

第6章TMS320F2812的时钟和看门狗

1.如果要使系统时钟为输入时钟的5倍频,同时使能所有的外设时钟,将高速外设的时钟设置为系统时钟的1/10,低速外设的时钟设置为系统时钟的1/12,应该如何设置相关的寄存器?

答:

PLLCR=0x000A;PCLKCR=0xFFFF,HISPCP=0x0005,LOSPCP=0x0006

第7章可编程数字量通用I/O

1.八个帖片LED由GPIOA0-GPIOA7驱动,画出电路图,编写C语言源程序,实现如下功能:

(1)使八个二极管全亮。

(2)使八个二极管一半亮(GPIOA0-GPIOA3所接二极管亮),一半暗(GPIOA4-GPIOA7所接二极管暗)。

答:

电路图如下:

(1)使八个二极管全亮,程序如下:

#include"DSP28_Device.h"

voidIOinit()

{

EALLOW;对保护空间的访问使能

GpioMuxRegs.GPAMUX.all=0xFF00;将GPIOA0~GPIOA7配置为一般I/O端口,

GpioMuxRegs.GPADIR.all=0x00FF;将GPIOA0~GPIOA7配置为输出

EDIS;禁止对保护空间的访问

}

voidmain(void)

{

InitSysCtrl();//系统初始化子程序,在DSP28_sysctrl.c中

DINT;//关闭总中断

IER=0x0000;//关闭外设中断

IFR=0x0000;//清中断标志

IOinit();//I/O初始化子程序

while

(1)

{

GpioDataRegs.GPADAT.all=0xFF00;将GPIOA0~GPIOA7输出为全0

}

}

(2)使八个二极管一半亮(GPIOA0-GPIOA3所接二极管亮),一半暗(GPIOA4-GPIOA7所接二极管暗)

,程序如下:

#include"DSP28_Device.h"

voidIOinit()

{

EALLOW;对保护空间的访问使能

GpioMuxRegs.GPAMUX.all=0xFF00;将GPIOA0~GPIOA8配置为一般I/O端口,

GpioMuxRegs.GPADIR.all=0x00FF;将GPIOA0~GPIOA8配置为输出

EDIS;禁止对保护空间的访问

}

voidmain(void)

{

InitSysCtrl();//系统初始化子程序,在DSP28_sysctrl.c中

DINT;//关闭总中断

IER=0x0000;//关闭外设中断

IFR=0x0000;//清中断标志

IOinit();//I/O初始化子程序

while

(1)

{

GpioDataRegs.GPADAT.all=0xFFF0;

}

}

第八章

1.F28x器件有大量的外设模块,由此会产生大量的中断,F28x是如何管理这些中断的?

用图示说明。

答:

F28x器件有大量的外设模块,每一个外设模块都可以产生一个或多个对应于外设模块事件的外设模块级中断。

由于CPU没有能力在CPU级处理所有的外设中断请求,因此需要外设中断扩展(PIE)控制器去集中和仲裁不同来源的中断请求。

PIE向量表用来存储各个中断服务程序的入口地址。

所有复用和非复用在内的每个中断都有一个向量。

F28x器件的PIE中断管理原理图如下:

2.若要禁止所有的外设中断,IER的值设置为多少?

答:

IER=0x0000。

3.若要清除所有的中断标志,IFR的值设置为多少?

答:

IFR=0x0000。

4画出PIE外设中断扩展模块结构图,并简单说明它的功能。

答:

PIE外设中断扩展模块结构图如下图:

功能同第1题。

5用CPU定时器0实现100ms的定时,晶振频率30MHz,锁相环PLL是5倍频,编写ConfigCpuTimer(structCPUTIMFR_VARS*Timer,floatFreq,floatPeriod)函数,并写出ConfigCpuTimer()函数的实际参数值。

答:

voidConfigCpuTimer(structCPUTIMFR_VARS*Timer,floatFreq,floatPeriod)

{

Uint32temp;

//初始化周期

Timer->CPUFreqInMHz=Freq;

Timer->PeriodInUSec=Period;

temp=(long)(Freq*Period);

Timer->RegsAddr->PRD.all=temp;

//设置预定标参数(SYSCLKOUT):

Timer->RegsAddr->TPR.all=0;

Timer->RegsAddr->TPRH.all=0;

//初始化定时器控制寄存器

Timer->RegsAddr->TCR.bit.TSS=1;//1=Stoptimer,0=Start/RestartTimer

Timer->RegsAddr->TCR.bit.TRB=1;//1=reloadtimer

Timer->RegsAddr->TCR.bit.SOFT=1;

Timer->RegsAddr->TCR.bit.FREE=1;//TimerFreeRun

Timer->RegsAddr->TCR.bit.TIE=1;//0=Disable/1=EnableTimerInterrupt

//复位中断计数

Timer->InterruptCount=0;

}

实际参数值ConfigCpuTimer(&CpuTimer0,150,100000);

第九章事件管理器及其应用

1.利用GP定时器1在GPIOF8引脚上产生0.2s的方波,用一个贴片LED闪烁来表示。

系统时钟150MHz,高速外设时钟25MHz,定时器1预分频因子W为128分频,试编写相关程序。

答:

系统时钟150MHz,通过高速外设时钟预定标器(HISPCP)得到25MHz的高速外设时钟,再通过定时器1预分频因子的128分频,得到定时周期为5.12us。

定时周期=0.2s/2=0.1s;

0.1/(5.12×10-6)=0x4C4B

周期寄存器T1PR=0x4C4B-1=0x4C4A。

程序如下:

#include"DSP28_Device.h"

interruptvoideva_timer1_isr(void);

voidEVA_Timer1()

{

EvaRegs.GPTCONA.all=0;//初始化EVATimer1

EvaRegs.T1PR=0x4C4A;//定时周期为5.12us*(T1PR+1)=0.1s

EvaRegs.EVAIMRA.bit.T1PINT=1;//使能定时器1的周期中断

EvaRegs.EVAIFRA.bit.T1PINT=1;//写1清除定时器1的周期中断标志

EvaRegs.T1CNT=0x0000;

EvaRegs.T1CON.all=0x1740;//连续增计数,128分频,打开定时器

}

voidmain(void)

{

InitSysCtrl();//初始化系统控制寄存器,时钟频率150M

EALLOW;

SysCtrlRegs.HISPCP.all=0x0003;//高速时钟的工作频率=25M

EDIS;

DINT;//关闭总中断,清除中断标志

IER=0x0000;//关闭外围中断

IFR=0x0000;//清中断标志

InitPieCtrl();//初始化PIE控制寄存器

InitPieVectTable();

EVA_Timer1();

EALLOW;

GpioMuxRegs.GPFMUX.bit.MCLKXA_GPIOF8=0;//把GPIOF8设置为一般I/O口,输出

GpioMuxRegs.GPFDIR.bit.GPIOF8=1;

PieVectTable.T1PINT=&eva_timer1_isr;//中断服务程序入口地址放入中断向量表

EDIS;

//依次使能各级中断:

外设中相应中断位->PIE控制器->CPU

PieCtrlRegs.PIEIER2.all=M_INT4;//GP定时器1使能位于PIE第2组第4个,将其使能

IER|=M_INT2;//PIE第2组对应于CPU的可屏蔽中断2(INT2),将其使能

EINT;//开总中断

for(;;){;}

}

interruptvoideva_timer1_isr(void)

{

GpioDataRegs.GPFDAT.bit.GPIOF8=GpioDataRegs.GPFDAT.bit.GPIOF8^1;//产生方波

EvaRegs.EVAIMRA.bit.T1PINT=1//使能定时器1的周期中断

EvaRegs.EVAIFRA.bit.T1PINT=1//写1清除定时器1的周期中断标志

PieCtrlRegs.PIEACK.all=PIEACK_GROUP2;//清零PIEACK中的第2组中断对应位

}

第十三章A/D转换单元

1已知XCLKIN=30MHz,要使ADC模块的时钟ADCCLK为3.125MHz,应该对哪些寄存器中的哪些段进行设置,设置的数值分别为多少?

(P348表13.8)

答:

应该对PCLKCR中的ADCENCLK、PLLCR中的DIV、HISPCP中的HSPCLK、ADCTRL3中的ADCCLKPS、ADCTRL1中的CPS进行设置。

设置的数值分别是:

PCLKCR中的ADCENCLK设置为1(或PCLKCR=0x0008),

PLLCR中的DIV设置为1010(PLLCR=0x000A),

HISPCP中的HSPCLK设置为011(HISPCP=0x0003),

ADCTRL3中的ADCCLKPS设置为0010,

ADCTRL1中的CPS设置为1。

2假设用SEQ1完成5个通道的自动连续转换。

ADCINA2和ADCINA1转换两次;ADCINA6转换一次,请编程序配置ADC。

答:

//配置ADC

AdcRegs.ADCMAXCONV.all=0x0004;//设置SEQ1的2个转化通道

AdcRegs.ADCCHSELSEQ1.bit.CONV00=0x2;//设置SEQ1的ADCINA2作为第一转换通道

AdcRegs.ADCCHSELSEQ1.bit.CONV01=0x1;//设置SEQ1的ADCINA1作为第二转换通道

AdcRegs.ADCCHSELSEQ1.bit.CONV02=0x2;//设置SEQ1的ADCINA2作为第三转换通道

AdcRegs.ADCCHSELSEQ1.bit.CONV03=0x1;//设置SEQ1的ADCINA1作为第四转换通道

AdcRegs.ADCCHSELSEQ2.bit.CONV04=0x6;//设置SEQ1的ADCINA6作为第五转换通道

AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1=1;//使能EVASOC去启动SEQ1

AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1=1;//使能SEQ1中断(每次EOS)

3.假设用SEQ1完成6个通道的自动连续转换。

ADCINA3和ADCINA5转换两次;ADCINA6、ADCINA7转换一次,问MAXCONV1的值为多少?

CHESELQn寄存器应该填入什么值?

答:

MAXCONV1的值为6;

CHESELQ1=0x5353;

CHESELQ2=0xXX76;

CHESELQ3=0xXXXX;

CHESELQ4=0xXXXX;

4.如果需要进行8个通道的转换,则MAXCONVn应设为多少?

若是双排序器模式使用SEQ1或者级连模式使用SEQ,排序器指针应该如何设置?

转换结果存放在哪些结果寄存器中?

若是双排序器模式使用SEQ2,排序器指针又应该如何设置?

转换结果存放在哪些结果寄存器中?

答:

若是双排序器模式使用SEQ1或者级连模式使用SEQ,MAXCONV1的值为7;排序器指针从CONV00到CONV07依次设置。

转换结果依次存放在结果寄存器00到07中。

若是双排序器模式使用SEQ2,MAXCONV2的值为7;排序器指针从CONV08到CONV15依次设置。

转换结果依次存放在结果寄存器08到15中。

 

1.试编一段程序实现代码安全保护,要求对所编写的程序加上详细的注释。

volatileint*CSM=0x000AEF;//CSM寄存器文件

asm(“EALLOW”);//CSMSCR寄存器受ALLOW保护的

*CSM=0x8000;//设置FORCESEC位为1

asm(”EDIS”);

2.TMS320X281x处理器有哪些外设功能?

答:

1)事件管理器:

在281xDSP上有EVA和EVB两个事件管理器;

2)A/D转换模块;3)SPI外设接口;4)SCI通信接口;5)CAN总线通信模块;

6)看门狗;7)通用目的数字量I/O;8)PLL时钟模块;9)多通道缓冲串口;

10)外部中断接口;11)存储器及其接口;12)内部集成电路(I2C)。

3.模/数转换模块ADC排序器有哪些?

模数转换器的自动排序是什么意思?

答:

模/数转换模块ADC排序器由2个独立的8状态排序器SEQ1和SEQ2构成,这2个排序器还可以级联构成1个16状态的排序器SEQ。

模数转换模块能够将一系列转换自动排序,即在每一次模数转换接收到启动请求时,可以自动完成多路的转换

4.实验及其后面的思考题要看。

5.假设GPIOF0~GPIOF15已配置为数字I/O端口,问可以通过对哪些寄存器进行操作实现对GPIOF0~GPIOF15的读写操作?

答:

如果GPIOF0~GPIOF15已配置为数字I/O端口,则可以直接利用GPADAT寄存器对I/O操作(读/写),也以利用数字I/O置位(GPASET寄存器)、数字I/O清零(GPACLEAR寄存器)及数字I/O电平转换(GPATOGGLE寄存器)。

6.将C源程序转换成可执行文件需要经过哪些步骤?

答:

创建C源文件;创建工程文件;创建连接器命令文件;编译整个工程文件;链接;生成可执行文件。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2