DSP作业.docx
《DSP作业.docx》由会员分享,可在线阅读,更多相关《DSP作业.docx(10页珍藏版)》请在冰豆网上搜索。
DSP作业
1、简述DSP应用系统的一般设计过程;
答:
DSP应用系统的一般设计过程为:
(1)、根据需求写出任务说明书;
(2)根据任务说明书确定技术指标;
(3)、选择DSP芯片及外围芯片;
(4)、总体设计,确定软硬件分工;
(5)、编写软硬件说明书,进行软硬件设计,再进行硬件调试和系统集成;
(6)、系统测试、样机完成、中试、产品测试与生产。
2、简述C2000DSPCPU的组成;
答:
C2000DSPCPU主要由输入定标单元、中央算术逻辑单元、乘积单元、辅助寄存器算术单元和一些状态、配置寄存器组成。
3、简述TMS320F24XDSP控制器主要特性;
答:
TMS320F24XDSP控制器主要特性是:
(1)、在X24X系列DSP控制器的CPU内包含32位中央算术逻辑单元、32位累加器、16位*16位并行硬件乘法器,并带有32位的结果寄存器、3个定标移位器和8个辅助寄存器。
(2)、一般来说,典型的DSP控制器具有片上544字DARAM、16千字的程序ROM或FlashEEPROM,最大可寻址空间为224千字,带有软件等待状态产生器的外部存储器接口,可实现与各种类型外部存储器接口。
根据器件型号的不同,存储空间的大小也各不同。
(3)、4级流水线,8级硬件堆栈,6个外部中断。
(4)、源代码与C1x、C2x、C2xx、C5x系列DSP芯片兼容,具有单周期乘加、单指令重复、存储器块移动指令,支持位反转寻址和索引寻址。
(5)、采用静态CMOS工艺技术,4种低功耗操作模式可进一步节电。
(6)、单指令周期小于50ns,绝大多数指令可在单周期内完成。
(7)、片上集成事件管理器、ADC、28个可编程复用I/O引脚、锁相环时钟发生器,具有实时中断的看门狗电路、串行通信接口、串行外设接口等功能外设;片设外设的配置与具体的器件信号相关。
(8)、多种封装形式。
4、说明C2000DSP的总线结构及特点;
答:
C2000DSP的总线结构及特点是:
C2000DSP片内采用并行总线结构,数据的读写可发生在不同的总线上。
因此,CPU能够在一个机器周期内对数据存储器同时进行读写访问。
C2000DSP核包括6组独立的16位内部程序和数据总线,分别为:
程序地址总线(PAB),数据读地址总线(DRAB),数据写地址总线(DWAB),程序读总线(PRDB),数据读总线(DRDB),数据写总线(DWEB)。
另外,为了实现对大量外设的支持,C2000DSP的内核中具有独立的外设总线,该外设总线通过系统模块实现了内部数据总线的接口,使得挂在该总线上的片内外设的内部寄存器可映射到片内数据存储空间。
因此,任何访问内部数据存储空间的指令都可以对外设寄存器进行操作。
5、辅助寄存器有哪些?
其作用是什么?
答:
辅助寄存器有8个,即AR0~AR7。
其提供了强大而灵活的间接寻址能力。
利用辅助寄存器中的16位地址,可访问64K字的数据空间中的任一单元。
除可用于数据存储器的地址外,还有其他用途:
(1)利用辅助寄存器进行条件转移;
(2)利用辅助寄存器进行暂存单元;
(3)利用辅助寄存器进行软件计数。
6、简述TMS320LF2407DSP的存储器结构及特点;
答:
TMS320LF2407DSP的存储器采用改进的哈佛结构,可以通过3组并行地址总线(程序地址总线(PAB)、数据读地址总线(DRAB)、数据写地址总线(DWAB))访问3个空间(程序存储器、数据存储器、I/O空间)。
总线的工作是独立的,所以CPU可同时访问程序和数据空间。
在一个给定的机器周期内,CALU可执行3次连续的并行存储操作。
7、请用TMS320LF2407DSP、RAM(两片62256,32KB)扩展32KW程序与数据共用存储器(地址8000-FFFFH),设计硬件电路。
解:
根据题意,设计的电路如下:
8、举例详细说明ADC模块的工作原理(例如:
某通道输入为2.5V,说明ADC模块是如何将其转换为数字量,结果放在何处)
答:
模数转换模块ADC,该模块对16路模拟输入信号进行采样/保持和A/D转换,通道的转换顺序可编程选择。
ADC模块有两个独立的排序器(SEQ1和SEQ2),这两个排序器可被级连成一个16个状态的排序器(SEQ)。
在这两种工作方式下,模拟输入引脚的输入经过排序器排序,由多路选择器来选择出要转换的通道,送入A/D转换部分进行转换,转换结果保存到与该通道相应的结果寄存器(FIFO)中。
例如,在ADC模块的模拟输入引脚输入2.5V的模拟量。
首先,该模拟量经过模拟转换通道的排序器(SEQ1和SEQ2)进行排序;然后,由多路选择器来选择出要转换的通道,并通过软件(SOCSEQn)或事件管理器启动A/D转换;最后,将转换结果RESULT=2.5/5*1024存入与该通道相应的结果寄存器(FIFO)中。
9、详述用事件管理器模块产生10KHZ,占空比为50%的方波的工作原理;
答:
由于方波为对称波形,可选用连续增/减计数模式来产生对称的PWM输出波形,具体操作如下:
设置和装载ACTRx寄存器;
如果用到死区,则设置和装载DBTCONx寄存器;
根据所需的PWM波形的周期,设置和装载T1PR或T1PR;
初始化CMPRX寄存器;
设置和装载COMCONx寄存器,来启动比较操作;
设置和装载T1CON或T3CON寄存器,以确定计数模式和时钟源并启动PWM输出操作;
将相应于PWM脉冲的在线计算宽度(占空比)的值加载到TxCMPR寄存器中。
为了得到对称的PWM信号需将通用定时器1设置为连续增/减计数模式,通用定时器1的周期寄存器装入方波周期的值。
COMCONA寄存器中的相应位用来设置比较操作使能,再将选中的输出引脚置成PWM输出,并且使能这些输出。
用软件对ACTRA寄存器进行正确的配置后,与比较单元相关的一个PWM输出引脚上将产生1路正常的PWM信号,另一个输出引脚可在PWM周期的开始和末尾处保持低电平(关闭)或高电平(开启),其原理是运用二分频原理得到50%的PWM波形。
10、说明SPI串行外设接口的工作原理;
答:
SPI是一个高速同步串行输入/输出端口,传送速率可编程,SPI模块支持125种不同的波特率,SPI波特率取决于CLKOUT和SPIBRR的值。
SPI最大波特率为CLKOUT频率的四分之一。
SPI有两种工作模式:
主模式和从模式,操作模式由SPICTL.2(MASTER/SLAVE位)决定。
主控制器控制SPICLK信号,通过发出SPICLK信号启动数据发送,从控制器则通过检测SPICLK信号接收数据。
一个主控制器可以连接多个从控制器,但是一次只允许一个从控制器给主控制器发送数据。
有五个控制位用于初始化串行外设接口的中断:
SPI中断使能位:
SPIINTENA(SPICTL.0);
SPI中断标志位:
SPIINTFLAG(SPISTS.6);
SPI超限中断使能位:
OVERRUNINTENA(SPICTL.4);
SPI接收器超限中断标志位:
RECEIVEROVERRUNFLAG(SPISTS.7)
SPI中断优先级选择位:
SPIPRIORITY(SPIPRI.6)。
SPI有四种时钟模式,由CLOCKPOLARITY和CLOCKPHASE位控制。
CLOCKPOLARITY位选择时钟的有效沿是上升沿还是下降沿,CLOCKPHASE位选择是否有半个时钟周期的延时。
(1)下降沿,无延时:
SPI在时钟下降沿发送数据,在时钟的上升沿接收数据;
(2)下降沿,有延时:
SPI在时钟下降沿前半个周期发送数据,在时钟的下降沿接收数据;
(3)上升沿,无延时:
SPI在时钟上升沿发送数据,在时钟的下降沿接收数据;
(4)上升沿,有延时:
SPI在时钟上升沿前半个周期发送数据,在时钟的上升沿接收数据。
11、说明看门狗定时器WD的作用及工作原理;
答:
看门狗定时器WD的作用:
用来监控系统软件和硬件的操作,防止软件进入死循环或跑飞。
看门狗定时器WD的工作原理:
WD可以按照用户设定的时间间隔产生中断,当软件的执行进入一个不正确的循环或者CPU的运行出现异常时,看门狗计数器就产生数据溢出,实现系统复位,使系统进入预定义状态,从而提高CPU的可靠性。
12、直接寻址方式中,数据存储单元的地址是如何形成的?
答:
直接寻址方式中,通过把指令字中的低7位与9位数据存储器页指针(DP)中的内容链接起来,从而形成了16位的数据存储单元地址。
13、间接寻址方式中,数据存储单元的地址是如何形成的?
答:
间接寻址方式中,通过片上的8个16位辅助寄存器来产生相应数据存储单元的地址。
14、编程将数据存储器300H-30AH单元内容求和。
解:
START:
MACAR1#30AH
CLRCC
LOOP:
BANZ@AR1,#30AH,NEXT
NEXT1
NEXT:
MACAR2#300H
INCAR3
MACAR3#300H
ADDAAR3
BCJDLOOP
NEXT1END
15、试用汇编语言编写一简单查表程序;
解:
PSHDPSW
LARAR0#0
LARDPTR#J_S2
J_P0SUBBARO
CLRCA
MARA@A+DPRT
CJNEA2EH,J2_NOTEQL
SUBBDPRT
MARA2CH
SUBB#47
SUBBDPTR
SUBBDPTR
SUBBDPTR
CLARA
J2_RETPOPDPSW
RET
J_X2DB1223453014
DB321025211110
DB607968529463
16、什么是COFF格式?
它有什么特点?
答:
COFF是公共目标文件格式。
COFF目标文件格式非常有利于模块化编程,使管理代码段和系统存储器更加方便和灵活,使程序具有更强的可读性和可移植性。
段是目标文件中的最小单元,是最终在TMS320C/F2xx存储器映象中占据一段连续空间的代码或数据。
目标文件中的每一个段都是相互独立的。
通常COFF目标文件包含3个默认段:
(1)、text段:
包括可执行代码;
(2)、data段:
包括已初始化的数据;(3)、bss段:
为没有初始化的数据保留空间。
17、连接命令文件包括哪些内容?
答:
连接命令文件CMD包括配置目标系统的存储空间分配,为各段指定地址。
18、采用CCS集成开发环境进行软件开发调试的步骤是什么?
答:
采用CCS集成开发环境进行软件开发调试的步骤是:
(1)、用户使用汇编语言、C语言或混合语言来编写目标程序,然后分别把它们转换成为TMS320x24x系列DSP控制器的汇编语言并送到汇编器进行编译,生成目标文件。
(2)、将目标文件送入链接器,得到可执行目标文件。
(3)、将可执行文件调入调试器(包括软件仿真、软件开发系统、评估模块、系统仿真器等)进行调试,检查运行结果是否正确。
如果正确,则进入下一步;如果不正确,则返回第一步。
(4)、进行代码转换,将代码写入E2PROM,并脱离仿真器运行程序,检查结果是否正确。
如果不正确,则返回第三步;否则,进入下一步。
(5)、软件测试,如果测试结果合格,软件调试完毕;如果不合格,返回第一步。
19、自选以一感兴趣的DSP应用课题,设计系统的硬件框图与电路原理图,主要软件框图、部分关键源程序等。
解:
针对传统数据采集系统采集与数据处理分离,即硬件电路采集数据而计算机处理数据的模式,本课题开发了一个简单的基于DSP的流量数据采集与处理系统,该系统大大减轻了计算机的负担、节省了计算机的资源,更适合于工业应用。
(1)、硬件框图
(2)、电路原理图
(3)、主要软件框图
(4)、部分关键源程序
voidmain(void)
{
//初始化PLL,看门狗,时钟等
InitSysCtrl0;
//GPIO设置,McBSP工作在串口模式
InitGpio();
//禁止并清除所有CPU中断
DINT:
IER=Ox0000;
.IFR=Ox0000:
//初始化pie寄存器
InitPieCtrl():
//初始化外设中断向量表
InitPieVectTable();
//接收区清空
for(ch--O;ch{
for(idx=O;idx{
ADC_Data[ch][idx]印;
}
)
//分配中断向量
EALLOW;
PieVectTable.TXAINT=&SCITXINTA_ISR;
PieVectTable.RXAINT=&SCIRXINTA_ISR;
PieVectTable.SPIRXlNTA=&SPIRXINTA_ISR;
EDIS;
//使能PIE中的SPI中断
PieCtrl.PIEIER6.bit.INTxl=l;//仅接收中断使能
//使能PIE中的SCIA中断
PieCtrl.PIEIER9.bit.INTxl=l:
PieCtrl.PIEIER9.bit.INTx2=1:
//使能CPU中断
IERl=M_INT6;
IERI=M_INT9:
//使能全局中断和高优先级适时调试功能
EINT;//使能全局中断INTM
ERTM;//使能全局适时调试中断DBGM
//Mcbsp初始化
InitMcbsp_FiFoO;
InitMcbsp();
//SCIA初始化
InitSci();
while
(1)
{
采集及打包发送
}