《DSP技术及应用-第3版》习题及答案_第1页
《DSP技术及应用-第3版》习题及答案_第2页
《DSP技术及应用-第3版》习题及答案_第3页
《DSP技术及应用-第3版》习题及答案_第4页
《DSP技术及应用-第3版》习题及答案_第5页
已阅读5页,还剩183页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE2习题目录一、练习题 1习题一 1习题二 3习题三 5习题四 7习题五 9习题六 11习题七 13习题八 15习题九 17习题十 19习题十一 21习题十二 23习题十三 25习题十四 29习题十五 33习题十六 37习题十七 41习题十八 46习题十九 51习题二十 56二、练习题答案 61习题一答案 61习题二答案 63习题三答案 65习题四答案 67习题五答案 69习题六答案 71习题七答案 73习题八答案 76习题九答案 78习题十答案 80习题十一答案 82习题十二答案 84习题十三答案 86习题十四答案 91习题十五答案 96习题十六答案 101习题十七答案 106习题十八答案 113习题十九答案 120习题二十答案 127PAGE184一、练习题习题一一、判断下列各题是否正确:⑴DSP仅是DigitalSignalProcessing的缩写形式。 ( )⑵数字系统除开电路引入的延时外,处理信号是实时的。 ( )⑶由于存储器仅16位,C54x芯片最多只能进行两个16位算术逻辑运算。( )⑷C54x芯片有两个程序地址产生逻辑,以便为流水线提供多个地址。 ( )⑸由于是多总线结构,C54x芯片可同时从外部存储器取多个操作数。 ( )⑹C54x芯片从EXP指数编码器获得的指数直接存放到A累加器。 ( )⑺将数据存储器中的数据装入SWWSR中时应使用ST存储指令。 ( )⑻C54x芯片进行乘法运算时,第16位根据第15位是0或1来确定。 ( )⑼进行Viterbi算法运算时,(M1+D1)>(M2+D2)时,则TC=0。 ( )⑽一个周期内取3操作数时要用到C、D、P总线。 ( )二、填空:⑴C54x片内存储器类型分为、SARAM、ROM。⑵程序存储器中 处存放的是机内自检程序。⑶用户可以在同一个周期内从同一块 取出两个操作数。⑷利用C54x的单根输出引脚可方便地获得方波信号输出。⑸CLKOUT等于CLKIN的条件是PLLNDIV、PLLDIV、分别为1、0、15。⑹HPI存储器在数据存储空间的起始地址为。⑺如要将C54x的FSX引脚设置成输入,则应使位为0。⑻向外部存储器写1个数据要花费 个机器周期。⑼C54x在协调不同速度的外部存储器时要使用。⑽置ST1的为1时,关闭所有的可屏蔽中断。三、计算题:(1)PMST=F1FF,则串口0发送中断的中断向量地址为。(2)将Q15格式数据ED23转换成十进制数后,其十进制数为。(3)设有长度为51的循环缓冲器,则该缓冲器BK基地址的最低位必须为0。(4)若B=0000FF0222H,则执行EXPB后,T中的值为。习题二一、判断下列各题是否正确:⑴数字系统升级时必需更新硬件和软件。 ( )⑵由于有电路延时,模拟系统处理信号通常是非实时的。 ( )⑶由于存储器只有16位,C54x芯片只能进行16×8位并行乘法运算。 ( )⑷C54x芯片有一个数据地址产生逻辑,从而避免了取数据时的地址冲突。( )⑸C54x芯片从外部存储器取得的操作数可经C总线传输给A累加器。 ( )⑹C54x芯片从EXP指数编码器获得的尾数直接存放到T寄存器。 ( )⑺进行Viterbi算法运算时,(M1+D1)<(M2+D2)时,则TC=1。 ( )⑻增强的哈佛结构使DSP可在程序空间存放数据。 ( )⑼将数据存储器中的数据装入TCR中时应使用ST存储指令。 ( )⑽C54x芯片进行乘法运算时,第16位根据FRCT位是0或1来确定。 ( )二、填空:⑴C54x中的 中的内容决定OVLY位和DROM位的值。⑵程序存储器中 处存放的是中断向量表。⑶在同一个周期内从同一块DARAM取双操作数用的是前半个周期和 周期。⑷确定定时器的计数初值要用到PRD和 。⑸复位时寄存器的复位值由CLKMD1、CLKMD2、CLKMD3三根输入引脚决定。⑹HPI存储器的HPIA事后增1,则此时HPI正在进行数据操作。⑺如要将C54x的CLKX引脚设置成输入,则应使位为0。⑻向外部I/O设备读/写1个数据要花费个机器周期。⑼C54x在执行到最后等待状态时,信号将变成低电平。⑽处理器复位时IPTR的各位被分别设置为。三、计算题:(1)PMST=F2FF,则串口0接收中断的中断向量地址为。(2)将Q15格式数据CF45转换成十进制数后,其十进制数为。(3)设有长度为84的循环缓冲器,则该循环缓冲器BK基地址的最低位必须为0。(4)T=FFFCH,B=F0ECDA1234H,执行NORMB,A后,A为。习题三一、判断下列各题是否正确:⑴C54x芯片的CPU拥有40位的ALU。 ( )⑵C54x芯片的CPU拥有40位的桶形移位寄存器。 ( )⑶左移A累加器时,低位添0。 ( )⑷在进行舍入处理时,总是将目的累加器的低16位清0。 ( )⑸当累加器数值超过32位时,指数必然为负值。 ( )⑹RAM只能安排为数据存储空间。 ( )⑺复位中断向量将程序的执行地址映像到程序空间的FF80h。 ( )⑻数据存储器只能驻留在片内。 ( )⑼双操作数寻址时,若操作数驻留在不同块内,只需1个周期。 ( )⑽复位后,定时器控制寄存器的停止状态位TSS=1。 ( )二、填空:⑴在DSP上电后,系统的晶体振荡器需100ms~ms的稳定期。⑵HPI的两种工作方式为寻址方式(SAM)和仅主机寻址方式(HOM)。⑶C54x标准串口SP有个数据缓冲寄存器。⑷标准串行口的最高工作频率是CLKOUT的。⑸区别片外数据存储器与程序存储器的关键是和引脚。⑹存储器读一读一写操作时,写操作要用个周期。⑺外部存储器存取时间应小于的机器周期。⑻SWWSR将外部总线周期延长多达个机器周期。⑼如果=,则处理器从片内ROM开始执行程序。⑽利用外部中断信号、、可结束IDLE3状态。三、计算题:(1)PMST=80FF,则SINT6的中断向量地址为。(2)把-0.31转换成Q15格式后的值为。(3)设有长度为40的循环缓冲器,则该循环缓冲器基地址的最低位必须为0。(4)若A=0000000177H,则执行EXPA后,T中的值为。习题四一、判断下列各题是否正确:⑴C54x芯片的CPU拥有40位累加器。 ( )⑵在将16位的数据输入ALU时,若ST0的SXM=0则符号位扩展。 ( )⑶A和B的功能不完全相同。 ( )⑷当FRCT=0时,乘法结果会自动右移1位。 ( )⑸执行EXP指令时通过将冗余符号位减8来消去多余符号位。 ( )⑹ROM只能安排为程序存储空间。 ( )⑺当PAGEN发出的地址处在片外地址范围,处理器能自动地对外部寻址。( )⑻片内DARAM可以作为程序存储空间。 ( )⑼双操作数寻址时,若操作数驻留在同一块内,需花费2个周期。 ( )⑽定时器控制寄存器TCR中的PSC在CLKIN作用下,作减1计数。 ( )二、填空:⑴C54x与主机交换信息时共需根引脚才能完成控制与通信。⑵HPI工作在方式,主机可以按160Mbps速度寻址一个字节。⑶C54x标准串口SP有个移位寄存器。⑷通过对SPC的设置,标准串行口的FSX和可作为输入引脚。⑸区别数据总线上的信号是读入CPU还是写出外部的关键是引脚。⑹存储器写一写一读操作时,写操作要用个周期。⑺与C54x-40芯片接口的外部器件的存取时间小于ns时可不插入等待。⑻SWWSR将数据存储器分为两个2个K字空间进行等待周期的设置。⑼如果=,则处理器从片外ROM开始执行程序。⑽当CLKOUT频率为40MHz时,中断脉冲宽度大于ns才能唤醒中断。三、计算题:(1)PMST=80FF,则SINT7的中断向量地址为。(2)把-0.123转换成Q15格式后的值为。(3)设长度为70的循环缓冲器,则该循环缓冲器BK基地址的最低位必须为0。(4)T=FFFDH,A=0000000BBBH,执行NORMA,B后,B为。习题五一、判断下列各题是否正确:⑴C54x有两个程序地址产生逻辑用来产生程序地址。 ( )⑵C54x可在一个周期内同是对两个不同的片外程序存储器寻址。 ( )⑶送到ALU输入端X的数据必须是40位数据。 ( )⑷A累加器中的数据右移时最高位总是添0。 ( )⑸当系统复位时,PRD中重新加载到TIM。 ( )⑹归一化的作用是方便乘法运算。 ( )⑺完成一次MAC运算需要两个周期,一个周期完成乘,另一个完成加。( )⑻程序运行中若只取一个操作数,该操作数可来自D或C总线。 ( )⑼尽管采用哈佛结构,仍可进行部分程序/数据空间的交叉。 ( )⑽定标指对送入累加器中的数据进行16位左移。 ( )二、填空:⑴OVM=1,ALU负向溢出时32位最大负数为。⑵A=FFFFF0FFFF,则执行EXPA后,T=。⑶C54x有2个受软件控制的专用引脚和。⑷C541的3个时钟配置引脚为000,选择方案1,工作频率为外时钟的倍。⑸执行STM2147H,CLKMD后,个外部周期后PLL锁定。⑹主机经PHI向DARAM传输一个数据,HD线要工作次。⑺DXR中的数据复制到XSR后,XRDY位立即由0转变为。⑻数据寻址比程序存储器取指具有的优先权。⑼执行STM#3C9BH,SWWSR数据空间高32k插入个等待状态。⑽复位信号变为低电平后个周期,数据总线无效。三、计算题:(1)AR1=1060H表示FFT运算后数据的基地址,AR0=0008H,利用指令PORTW*AR1+0B,PA输出FFT运算后数据,则输出X(4)时应寻址的地址为。(2)IPTR=101000111B,则RINT0的中断向量地址为。(3)把-0.4转换成Q15格式后的值为。(4)执行LD#FFF8h,T和LD#0A0Ah,B和NORMB,A指令后,A中的值为。习题六一、判断下列各题是否正确:⑴C54x有一个数据地址产生逻辑用来产生数据地址。 ( )⑵C54x可在一个周期内同是对两个不同的片外数据存储器寻址。 ( )⑶送到ALU输入端Y的数据必须是40位数据。 ( )⑷B累加器中的数据左移时,如果数据为负数,则最低位添1。 ( )⑸当系统复位时,自动地将TDDR加载到PSC。 ( )⑹归一化的作用是方便小数运算。 ( )⑺舍入处理指将目的累加器的最低位清0。 ( )⑻如要将数据写入程序空间,应通过P总线寻址程序存储器目的地址。 ( )⑼存储器分块后,可以在同一个周期内从同一块SARAM取出两个操作数。( )⑽定标指对送入累加器中的数据进行0~16位右移。 ( )二、填空:⑴OVM=1,ALU正向溢出时32位最大正数为。⑵A=00FFF0FFFF,则执行EXPA后,T=。⑶标准串行口的输出引脚CLKX和,可通过设置后变为位输入引脚。⑷C545A的3个时钟配置引脚为000,复位后工作频率为外时钟倍。⑸执行STM215FH,CLKMD后,个外部周期后PLL锁定。⑹主机经PHI向DSP传输一个数据,HCNTL0、HCNTL1线要工作次。⑺RSR的数据复制到DRR后,RRDY位立即由转变为1。⑻外部存储器存取时间应小于的机器周期。⑼执行STM#3C93H,SWWSR程序空间高32k插入个等待状态。⑽复位信号变为高电平后个周期,FF80H出现在地址总线上。三、计算题:(1)将数组x[5]中的各单元设置为0,可采用指令RPTZA,#。(2)IPTR=111000110B,则XINT0的中断向量地址为。(3)把0.7转换成Q15格式后的值为。(4)执行LD#FFF4h,T和LD#0A0Ah,B和NORMB,A指令后,A中的值为。习题七一、判断下列各题是否正确:⑴C54x有两个程序地址产生逻辑用来产生程序地址。 ( )⑵C54x可在一个周期内同是对两个不同的片外程序存储器寻址。 ( )⑶送到ALU输入端X的数据必须是40位数据。 ( )⑷A累加器中的数据右移时最高位总是添0。 ( )⑸当系统复位时,PRD中的数据重新加载到TIM。 ( )⑹归一化的作用是方便乘法运算。 ( )⑺完成一次MAC运算需要两个周期,一个周期完成乘,另一个完成加。 ( )⑻程序运行中若只取一个操作数,该操作数可来自D或C总线。 ( )⑼尽管采用哈佛结构,仍可进行部分程序/数据空间的交叉。 ( )⑽定标指对送入累加器中的数据进行16位左移。 ( )二、填空:⑴OVM=1,ALU负向溢出时32位最大负数为。⑵A=FFFFF0FFFF,则执行EXPA后,T=。⑶C54x有2个受软件控制的专用引脚和。⑷C541的3个时钟配置引脚为000,选择方案1,工作频率为外时钟的倍。⑸执行STM2147H,CLKMD后,个外部周期后PLL锁定。⑹主机经PHI向DARAM传输一个数据,HD线要工作次。⑺DXR中的数据复制到XSR后,XRDY位立即由0转变为。⑻数据寻址比程序存储器取指具有的优先权。⑼执行STM#3C9BH,SWWSR数据空间高32k插入个等待状态。⑽复位信号变为低电平后个周期,数据总线无效。三、计算题:(1)AR1=1060H表示FFT运算后数据的基地址,AR0=0008H,利用指令PORTW*AR1+0B,PA输出FFT运算后数据,则输出X(4)时应寻址的地址为。(2)IPTR=101000111B,则RINT0的中断向量地址为。(3)把-0.4转换成Q15格式后的值为。(4)执行LD#FFF8h,T和LD#0A0Ah,B和NORMB,A指令后,A中的值为。习题八一、判断下列各题是否正确:⑴FRCT用来消除多余的符号位。 ( )⑵E总线上的数据可以传输到桶形移位器中。 ( )⑶累加器中的指数值为操作数的符号位减8。 ( )⑷ST0和ST1中包含有存储器的设置状态及其它控制信息。 ( )⑸数据存储器不能存放程序,只能放数据。 ( )⑹由于有了多内部总线,故不会产生流水线冲突。 ( )⑺由于采用了多总线结构,片外存储器数据可以并行传输。 ( )⑻存储器映象CPU寄存器是DSP固有硬件,与软件设置无关。 ( )⑼XF产生的方波输出频率不能由程序进行改变。 ( )⑽定时器的定时时间可通过设置PSC确定,与TDDR无关。 ( )二、填空:⑴PSC是一个计数器。⑵HPI存储器在数据存储空间的地址为。⑶要将CLKX配置成输入,应使配置为0。⑷执行存储器写一写一读操作时,每个写操作要花个时钟周期。⑸C54x-40外部存储器为2K×16位,ta=50ns,则SWWSR应插入个等待周期。⑹复位信号为高电平后个机器周期,存储器选通信号变成低电平。⑺中断分类包括可屏蔽中断和中断。⑻执行LD#8011h,B指令后,BH的值为。⑼当CPL=1,执行LD@md,B时,dma域加上形成16位地址。⑽执行LDMPRD,A指令后,0页数据存储器的第8单元中的值为中的值。三、计算题:(1)执行STM#314Fh,CLKMD指令,乘系数为。(2)IPTR=001000100B,则XINT0的中断向量地址为。(3)把0.2转换成Q15格式后的值为。(4)执行LD#0E666h,A和EXPA指令后,T中的值为。习题九一、判断下列各题是否正确:⑴线性缓冲区要求定位在SARAM。 ()⑵ALU的X输入端的数据可来源于数据总线CB。 ()⑶当一个16位数据加到ALU的输入端时,若SXM=1,则高位添0。 ()⑷只要复位C16状态位,就可让ALU在单个周期内进行两次16位加法。()⑸乘法器工作在小数相乘方式时,FRCT=0。 ()⑹对结果进行舍入处理,指将目的累加器的低16位清0。 ()⑺RAM可以构成程序存储空间。 ()⑻设置多内部总线是为了并行处理和流水线工作。 ()⑼增强的哈佛结构中,程序/数据存储器空间是分开的。 ()⑽用户初次设计DSP系统时,加电后PMST中的。 ()二、填空:⑴当处理器复位时,复位中断向量映象到程序空间的。⑵在双操作数寻址时,如果操作数驻留在同一块内,则要个周期。⑶让XF引脚输出高电平的指令为。⑷当TCR中的控制位为0时启动定时器。⑸CLKOUT=CLKIN×。⑹在DSP上电后,系统的晶体振荡器需100ms~的稳定期。⑺C54x的HPI存储器是一个2K×位字的DARAM。⑻C54x的标准串行口的最高工作频率是CLKOUT的。⑼外部存储器存取时间应小于的机器周期,否则需插入等待状态。⑽当CLKOUT为40MHz时,中断唤醒IDLE3的条件是中断脉冲宽度大于ns。三、计算题:(1)已知IPTR=000100010B,则TINT的中断向量地址为。(2)已知循环缓冲区的长度为18,则循环缓冲区的起始地址的低端有位为0。(3)在不进行现场保护的情况下,C54x最多能进行层嵌套。(4)已知B=F770000F11H,T=FFF7H执行指令NORMB后,B=()。习题十一、判断下列各题是否正确:⑴线性缓冲区要求定位在0页空间。 ()⑵ALU的X输入端的数据可来源于T寄存器中的数据。 ()⑶当一个16位数据加到ALU的输入端时,若SXM=0,则符号位扩展。 ()⑷只要复位C16状态位,就可让ALU在单个周期内进行两次16位减法。()⑸当FRCT=0时,乘法结果左移1位,以消除多余的符号位。 ()⑹对结果进行舍入处理,指加215至结果。 ()⑺ROM可以部分地安排到数据存储空间。 ()⑻用两个辅助寄存器算术运算单元是为了双字寻址取双操作数。 ()⑼哈佛结构中,程序/数据总线是分开的。 ()⑽DSP厂商在ROM中写入用户程序后,加电后PMST中的。 ()二、填空:⑴当处理器刚加电时,复位中断向量映象到程序空间的。⑵双操作数寻址时,若操作数驻留在不同块内,则只需个周期就可以了。⑶让XF引脚输出低电平的指令为。⑷当TCR中的控制位为1时关定时器。⑸PLL中的锁定定时器锁定延时时间的设定可以从0~。⑹在DSP上电后,系统的晶体振荡器需~200ms的稳定期。⑺C54x的HPI存储器在数据存储空间的地址为1000h~。⑻C54x的TDM最多可以有TDM信道可用。⑼软件等待状态寄存器将外部总线周期延长多达个机器周期。⑽CLKIN为40MHz,中断唤醒IDLE3的条件是PLL减法计数时间大于μs。三、计算题:(1)IPTR=001000010B,则TINT的中断向量地址为。(2)循环缓冲区的长度为17,则循环缓冲区起始地址的低端有位为0。(3)在无辅助寄存器的情况下,C54x最多能进行层嵌套。(4)A=F770000FFFH,T=FFF7H,执行指令NORMA后,A=。习题十一一、判断下列各题是否正确:⑴当处理器复位时,复位中断向量映象到数据空间的FF80h?()⑵片内DARAM可以安排为程序空间?()⑶在双操作数寻址时,要2个周期?()⑷来自HPI的数据,可放在DSP内部的任意数据空间?()⑸DSP工作应先取程序,故程序存储器取指比数据寻址有较高的优先权。()⑹结束IDLE3,采用中断方式或复位方式,其脉冲宽度是相同的。 ()⑺MP/位决定数据存储器的使用。 ()⑻ARR的值可落入发送缓冲区,AXR的值不能落入接收缓冲区。()⑼外部存储器存取时间应小于CLKOUT便可直接与DSP外部总线相接。 ()⑽C、D总线的功能不完全一样。 ()二、填空:⑴执行MVKDSAMPLE,*AR3指令时,使、引脚变为低电平有效。⑵存储器映象寄存器寻址是页寻址,不影响当前DP或SP值。⑶将程序存储器地址加载到程序计数器的途径有种。⑷未经特别处理,DSP重复程序最多只能进行层嵌套。⑸解决流水线冲突的常用办法是周期。⑹条件执行指令XC,如果条件满足,最多可执行下面条单字指令。⑺C54x共有指令条。⑻C54x汇编器共有条汇编命令。⑼汇编语言源程序要素:、、。⑽已初始化段是由、和命令建立。三、计算题:(1)已知IPTR=011H,则的中断转移到从单元开始执行。(2)已知循环缓冲区的长度为21,则循环缓冲区的起始地址的低端有位为0。(3)将所有外部存储器和I/O插入3个等待周期,则:STM,SWWSR。(4)已知A=B=F07FFFFF11,T=0010H,执行指令NORMA,B后,T=。习题十二一、判断下列各题是否正确:⑴有的程序存储器空间可扩大到8192K字空间,数据存储器也一样。 ()⑵C54系列所有芯片内部都有DARAM和SARAM数据存储器。 ()⑶HPI地址寄存器和数据锁存器可由外设直接访问,以便存放数据。 ()⑷只要SWWSR中内容不为0,CPU就会在CLKOUT的下降沿检测外部READY信号。()⑸标准串行口的最高工作频率是CLKOUT的1/4。 ()⑹加电后,在PLL锁定之前,C54x立即用CLKOUT作为时钟。 ()⑺FIR设计所用到的循环缓冲区要求定位在DARAM。 ()⑻ABU利用D总线,读/写C54x内部存储器。 ()⑼执行MPY*AR7,*AR3,A程序正常。 ()⑽A、B累加器的功能不完全一样。 ()二、填空:⑴执行MVPD92h,*AR5寻址片外存储器时,R/引脚电平的变化为。⑵已知AR1=000Ch,AR0=000Bh,执行*AR1+0B后,AR1=。⑶当用一个16位的字来表示Q15格式时,Q15表示在小数点后有位小数。⑷C54芯片顺序执行一段有9条单周期指令的程序,其需要个周期。⑸流水线冲突原因有、、3类。⑹延迟分支转移指令最多可节省个周期。⑺C54x是TMS320系列中的的指令系统分助记符形式和形式两种。⑻C54x汇编器的汇编命令,根据功能可以分成类。⑼.lst文件是由汇编器生成,.map由生成。⑽一个没有重定位入口的文件称为文件,其所有地址都是绝对地址。三、计算题:(1)已知IPTR=010H,则NMI的中断转移到从单元开始执行。(2)已知循环缓冲区的长度为20,则循环缓冲区的起始地址的低端有位为0。(3)将所有外部存储器和I/O插入2个等待周期,则:STM,SWWSR。(4)已知A=B=F07FFFFF11H,T=0010H执行指令NORMA,B后,A=。习题十三得得分一、判断下列各题是否正确。(30分)⑴TI公司的DSP可归纳为C2000和C5000两大系列。 ( )⑵设计一个DSP系统包括总体设计、硬件及软件模块设计等步骤。 ( )⑶C54x芯片有2个程序地址产生逻辑用于产生程序地址。 ( )⑷C54x芯片有两组外部数据总线,可同时从外部获取两个数据。 ( )⑸C54x芯片有一个32位的A累加器。 ( )⑹数据存储器页指针位于处理器工作方式状态寄存器中的高9位。 ( )⑺C54x芯片在管理存储器时采用的是冯.诺依曼结构。 ( )⑻C54x芯片的存储器映像寄存器位于程序空间的0页。 ( )⑼执行指令SSBXXF时,DSP的引脚XF输出低电平。 ( )⑽定时器中PSC的数据来源于TDDR。 ( )得得分二、填空:(30分)⑴C54x中用来定义PLL时钟模块中的时钟配置的寄存器是。⑵DSP上电后,系统的晶体振荡器一般需要的的稳定期。⑶主机接口与主机通信时需要根数据线和控制线。⑷C54X串行口有SP、BSP、和类型。⑸选择片外EPROM需要使C54x引脚中的和连线同时为低电平。⑹当外部设备向DSP发出中断请求时,中断脉冲宽度至少为。⑺当1个中断出现时,IFR中的相应中断标志位应置为。⑻当CPL为时,采用DP与偏移量相结合形成16位的数据存储器地址。⑼执行RPT指令时要用到寄存器(重复计数器)。⑽定义未初始化段时应使用命令。得得分三、计算题:(20)(1)PMST=31FAH,则串口0接收中断的中断向量地址为。(2)将Q15格式数据CF13H转换成十进制数后,其十进制数为。(3)设AR1=EEEEH,AR0=0011H,执行*AR1+0B后,AR1中的值应为。(4)若A=002E113333H,则执行EXPA后,T中的值为。得得分四、应用题(20分)编写完成转置运算的DSP汇编语言程序,以16个输入字为一个码片单位,进行转置运算后,输出由这16个输入字各列组成的新的16个字。方法是从这16个输入字中,每次依次从第一个字到最后一个字取出一个相同的位,构字一个新的16位字。这样16位的输入字共可组成16个输出字。(1)编写汇编语言程序"turbocode";求16个字转置后输出新的16字 ;定义存储器映象寄存器.def_c_int00 ;定义标号_c_int00temp,1 ;定义中间运算的临时变量单元xn .usect"indata",16 ;定义16个单元的输入数据段yn .usect"outdata",16 ;定义16个转置编码后输出单元.data ;定义数据段table: 0x2FFF,0,0xFFFF,0,0xFFFF,0,0xFFFF,0;16个待编码数据.word0xFFFF,0,0xFFFF,0,0xFFFF,0,0xFFFF,0.word0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;清空16个输出单元.text ;定义代码段_c_int00: STM#xn,AR1 ;AR1指向16个待编码数据起点#31 ;重复32次下条指令MVPDtable,*AR1+ ;将程序空间的32个数据传到数据空间#xn,AR3 ;AR3指向输入xn的起始地址STM#yn,AR4 ;AR4指向输出yn的起始地址STM#15,AR2 ;将循环次15赋给AR2,控制对16位操作STM#15,AR1 ;将循环次15赋给AR1,控制对16字操作RSBXSXM ;禁止符号位扩展LD#temp,DP ;设置数据存储器页指针的起始位置loop: LD*AR3,1, ;装载输入数据xn到A,装载时左移1位STLA,*AR3+ ;存放AL回xn原单元,原数据左移了一位LDA,-16,A ;A的高字移到低字,取得输入字的最高位AND#1,;获取A的最低1位,其他位清零STLA,temp ;将A的最低1位暂存到temp*AR4,1,A ;装载输出数据yn到A,并左移1位ORtemp,A ;将过去获取的位与本次获取的位相连接STLA,*AR4 ;将获取的各位输出数据存入输出单元ynBANZloop,*AR2- ;未完成16个字的某位提取时,转到下字MAR*AR4+ ;调整输出地址指针,指向下个输出单元STM#15,AR2 ;提取输入字下一位前,复位循环次数初值STM#xn,AR3 ;提取输入字下一位前,复位输入地址初值BANZloop,*AR1- ;16个输入字未逐位转置完,循环处理 ;完成转置16个输入字后,结束程序(2)编写存储器分配的指令文件程序exam-oexam.out{EPROM: org=0080h, len=0080h PAGE1:SPRAM: org=0060h, len=0010h DARAM: org=0080h, =0040h}SECTIONS{ .text: >PAGE0 .data: >EPROMPAGE0.bss: >SPRAM align(16){} >DARAMPAGE1outdata: align(16)>DARAMPAGE1}(3)执行本程序后,输出的16个字中的前4个字的内容是什么?习题十四得得分一、判断下列各题是否正确。(30分)⑴TI公司的DSP可归纳为C5000和C6000两大系列。 ( )⑵设计一个DSP系统包括硬件及软件模块设计、系统综合联调等步骤。( )⑶C54x芯片有1个数据地址产生逻辑用于产生各种数据地址。 ( )⑷C54x芯片有两组外部总线,可同时从外部获取1个数据和1条指令。( )⑸C54x芯片有两个32位的A、B累加器。 ( )⑹辅助寄存器指针位于状态寄存器1中的低5位。 ( )⑺C54x芯片在管理存储器时采用的是哈佛结构。 ( )⑻C54x芯片的外围电路寄存器位于I/O空间的0页。 ( )⑼执行指令XC2,BIO时,如果条件为真,则执行后面2条双字指令。( )⑽定时器中TIM的数据来源于PRD。 ( )得得分二、填空:(30分)⑴C54x中的工作时钟频率为乘系数与的乘积。⑵上电后对DSP进行复位时,需要在引脚上加低电平脉冲。⑶主机接口所使用的数据存储器地址范围为。⑷C54X串行口对外引脚中,可用作为输入的双向引脚是和。⑸选择片外SRAM需要使C54x引脚中的和连线同时为低电平。⑹当用复位方法唤醒IDLE3时,复位引脚低电平持续时间应大于。⑺当INTM=0,且IMR中的某一位为时,就开放相应的中断。⑻当CPL为时,采用SP与偏移量相结合形成16位的数据存储器地址。⑼执行RPTB指令时要用到、和寄存器。⑽定义未初始化自定义段时应使用命令。得得分三、计算题:(20)(1)PMST=64FFH,则串口1接收中断的中断向量地址为。(2)将Q15格式数据DEF7H转换成十进制数后,其十进制数为。(3)设AR1=ABCFH,AR0=0022H,执行*AR1+0B后,AR1中的值应为。(4)T=FFF8H,A=1012345678H,执行NORMA,B后B为。得得分四、应用题(20分)编写完成转置运算的DSP汇编语言程序,以16个输入字为一个码片单位,进行转置运算后,输出由这16个输入字各列组成的新的16个字。方法是从这16个输入字中,每次依次从第一个字到最后一个字取出一个相同的位,构字一个新的16位字。这样16位的输入字共可组成16个输出字。(1)编写汇编语言程序.title"turbocode";求16个字转置后输出新的16字 ;定义存储器映象寄存器c_int00 ;定义标号_c_int00.bsstemp,1 ;定义中间运算的临时变量单元xn "indata",16 ;定义16个单元的输入数据段yn .usect"outdata",16 ;定义16个转置编码后输出单元.data ;定义数据段 .word0x2FFF,0,0xFFFF,0,0xFFFF,0,0xFFFF,0;16个待编码数据.word0xFFFF,0,0xFFFF,0,0xFFFF,0,0xFFFF,0.word0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;清空16个输出单元.text ;定义代码段_c_int00: STM#xn,AR1 ;AR1指向16个待编码数据起点RPT;重复32次下条指令MVPDtable,*AR1+;将程序空间的32个数据传到数据空间STM#xn,AR3 ;AR3指向输入xn的起始地址#yn,AR4 ;AR4指向输出yn的起始地址STM#15,AR2 ;将循环次15赋给AR2,控制对16位操作STM#15,AR1 ;将循环次15赋给AR1,控制对16字操作SXM ;禁止符号位扩展LD#temp,DP ;设置数据存储器页指针的起始位置loop: LD*AR3,,A ;装载输入数据xn到A,装载时左移1位STLA,*AR3+ ;存放AL回xn原单元,原数据左移了一位LDA,-16,A ;A的高字移到低字,取得输入字的最高位AND#1,A ;获取A的最低1位,其他位清零STLA,temp ;将A的最低1位暂存到tempLD*AR4,1,A ;装载输出数据yn到A,并左移1位ORtemp,A ;将过去获取的位与本次获取的位相连接A,*AR4 ;将获取的各位输出数据存入输出单元ynBANZloop,*AR2- ;未完成16个字的某位提取时,转到下字MAR*AR4+ ;调整输出地址指针,指向下个输出单元STM#15,AR2 ;提取输入字下一位前,复位循环次数初值STM#xn,AR3 ;提取输入字下一位前,复位输入地址初值BANZ,*AR1- ;16个输入字未逐位转置完,循环处理.end ;完成转置16个输入字后,结束程序(2)编写存储器分配的指令文件程序exam.obj-oexam.MEMORY{ PAGE0: org=0080h, len=0080hSPRAM: org=0060h, len=0010h DARAM: =0080h, len=0040h}{ .text: >EPROMPAGE0 .data: >EPROMPAGE0.bss: >PAGE1indata: align{} >DARAMPAGE1: align(16){} >DARAMPAGE1}(3)执行本程序后,输出的16个字中的最后4个字中的内容是什么?习题十五得得分一、判断下列各题是否正确(30分)⑴MFLOPS表示每秒执行百万次浮点操作 ( )⑵C54x指令长度可达到3个字。 ( )⑶C54x有2个DAGEN,他们功能相同,因此可以建起相同的地址总线。( )⑷ALU有40位,因此两个输入端的数据也应是40位的数据。 ( )⑸对存储器空间进行分配时,C54x采用的是哈佛结构。 ( )⑹寻址存储器映像CPU寄存器,只有在特殊情况下才需要插入等待周期。( )⑺C54x芯片的PLL只能在初始化时通过硬件配置。 ( )⑻C54x的HPI存储器是一个2K×16位字的SARAM。 ( )⑼ABU利用D总线,让串行口直接读/写C54x内部存储器。 ( )⑽TI公司的C64x系列DSP芯片工作速度可达到8899MIPS以上。 ( )得得分⑴C54x进行标准串口数据的自发自收时,应设置 位为1。⑵主机向C54x的HPI发中断时要填写主机中HPIC寄存器的位。⑶设计一个长度为4的发送缓冲区时,BKX中的值应为 。⑷对存储器进行读一读一写操作时,写数据占用 CLKOUT周期。⑸16位D/A变换器转换时间=130ns时,SWWSR的14~12位应为 。⑹处理器复位时,置ST1的INTM为 。⑺外部中断的时间基本上在 个机器周期之间。⑻直接寻址时,采用DP或SP形成16位的实际地址取决于ST1的位的值。⑼延迟指令的表示方法是在无延迟指令后面加上符号 。⑽流水线冲突的原因包括共用总线或共用存储器和引起的冲突。得得分(1)PMST=01DFH,则BRINT1中断的中断向量地址为。(2)将Q15格式数据A01FH转换成十进制数后,其十进制数为。(3)设AR1=ABCCH,AR0=0026H,执行*AR1+0B后,AR1中的值应为 。(4)若B=001C233421H,则执行EXPB后,T中的值为。四、应用题(20分)编写完成脉宽调制(PWM)的DSP汇编语言程序。根据16位的输入信号的数值,控制输出脉冲的宽度。若输入信号xn为0H,则输出信号yn的脉冲宽度为0,若输入信号xn为1H,则输出脉冲的宽度为1个持续单位,当输入信号xn为8H,则输出信号yn的脉冲的宽度为8个持续单位。由于脉冲宽度的不同,接收端通过积分电路获得的信号幅度不同,从而实现对PWM信号的解调制。如图所示为对8个输入信号按PWM调制后的输出。(1)编写PWM汇编语言程序 "PWMcode" ;将16个数据按数值先进PWM调制 ;定义存储器映像寄存器.def _c_int00 ;定义文本段起始标号_c_int00.bss yn, 1 ;定义调制后输出信号yn变量所在单元xn: "xn", 8 ;定义输入信号xn为所在8个数据单元.data ;定义数据段table: .word 0x01,0x02,0x03,0x04 ;设定程序空间存放的.word 0x05,0x06,0x07,0x08 ;8个待编码输入数据 ;定义文本代码段_c_int00:STM , AR1 ;AR1指向数据空间8个待编码数据起点RPT #7 ;重复7+1次下条指令table, *AR1+ ;将程序空间的8个数据传到数据空间LD #xn, DP ;设置数据存储器页指针 #xn, AR2 ;装载输入数据空间xn起始地址到AR2STM #yn, AR3 ;装载输出数据空间yn起始地址到AR3LD #7FFFH, A ;装载输出数据0x7FFFH到A累加器STH A, *AR3 ;用A累加器高16位将输出yn复位为0loop1:LD *AR2+, B ;装载输入数据xn到B累加器 loop1, BEQ ;如输入为0,不作展宽处理,输新数据STL A, *AR3 ;否则进行PWM处理,输出高电平到ynloop2: SUB #1, B ;延迟一个周期输出高电平,xn的值减1BC , BNEQ ;若B为0停止展宽,否则继续扩展高电平STM #0, *AR3 ;输出yn复位为0,结束对一个xn数据的PWM loop1 ;取下一个xn数据进行新的脉宽调制.end ;结束程序(2)编写存储器分配的指令文件程序ex2015.obj-oex2015.-mex2015.map{ PAGE0:EPROM: =0080h,len=0080h SPRAM: rg =0060h,len=0010h DARAM: org =0080h, =0020h}SECTIONS{ .text :> PAGE0 :>EPROM PAGE0.bss :>SPRAM PAGE1xn :>DARAM (8){} PAGE1}(3)执行本程序过程中,A累加器中的内容、DP中的内容始终是什么?习题十六得得分一、判断下列各题是否正确(30分)⑴常用FFT时间来衡量DSP芯片运算能力。 ( )⑵有的C54x指令需要花费7个周期才能完成。 ( )⑶程序地址总线是寻址程序存储器,其上的数据不能作为乘法器的输入。( )⑷ST1的OVM=1时,则ALU输出到A、B累加器中的值为7FFFFFFFFFh。( )⑸通过片选引脚的控制,C54x能够寻址的最大地址范围为128K字。 ( )⑹对外围电路寄存器寻址,只需要1个机器周期。 ( )⑺C54x芯片的PLL只能在初始化时通过软件配置。 ( )⑻HPIA寄存器指向2K字空间,地址为1000h~17FFh。 ( )⑼在CPU控制下,ABU自动完成串口与固定缓冲内存区中的数据交换。( )⑽TI公司的C64x系列DSP芯片可每秒执行约90亿条指令。 ( )得得分二、填空(30分)⑴C54x进行标准串口帧同步脉冲的自发自收时,应设置 位为1。⑵C54x向主机发中断时要填写1到C54x中的HPIC寄存器的 位。⑶设计一个长度为7的接收缓冲区时,BKR中的值应为 。⑷进行并行I/O读一写一读操作时,写I/O占用 个CLKOUT周期。⑸数据存储器SRAM存取时间ta=14ns时,SWWSR的11~6位应为。⑹处理器复位时,置数据总线为、控制线为无效状态。⑺外部中断触发方式分为电平触发和触发两种。⑻间接寻址时,对于双操作数寻址,可选的辅助寄存器为 。⑼使用有延迟指令的程序可比使用无延迟指令的程序节省个周期。⑽造成流水线冲突原因有种情况。得得分(1)PMST=10CCH,则BXINT1中断的中断向量地址为 。(2)将Q15格式数据E012H转换成十进制数后,其十进制数为。(3)设AR1=10AAH,AR0=003CH,执行*AR1+0B后,AR1中的值应为 。(4)T=FFF7H,B=0054321234H,执行NORMB,A后A为 。得得分四、应用题(20分)编写完成脉宽调制(PWM)的DSP汇编语言程序。根据16位的输入信号的数值,控制输出脉冲的宽度。若输入信号xn为0H,则输出信号yn的脉冲宽度为0,若输入信号xn为1H,则输出脉冲的宽度为1个持续单位,当输入信号xn为8H,则输出信号yn的脉冲的宽度为8个持续单位。由于脉冲宽度的不同,接收端通过积分电路获得的信号幅度不同,从而实现对PWM信号的解调制。如图所示为对8个输入信号按PWM调制后的输出。(1)编写PWM汇编语言程序.title "PWMcode" ;将16个数据按数值先进PWM调制.mmregs ;定义存储器映像寄存器 _c_int00 ;定义文本段起始标号_c_int00 yn, 1 ;定义调制后输出信号yn变量所在单元xn: .usect "xn", 8 ;定义输入信号xn为所在8个数据单元 ;定义数据段table: .word 0x01,0x02,0x03,0x04 ;设定程序空间存放的 0x05,0x06,0x07,0x08 ;8个待编码输入数据.text ;定义文本代码段_c_int00:STM#xn, AR1 ;AR1指向数据空间8个待编码数据起点RPT ;重复7+1次下条指令MVPD table, ;将程序空间的8个数据传到数据空间LD #xn, DP ;设置数据存储器页指针STM #xn, AR2 ;装载输入数据空间xn起始地址到AR2 #yn,AR3 ;装载输出数据空间yn起始地址到AR3LD #7FFFH, A ;装载输出数据0x7FFFH到A累加器STH A, *AR3 ;用A累加器高16位将输出yn复位为0loop1: *AR2+, B ;装载输入数据xn到B累加器BC loop1, BEQ ;如输入为0,不作展宽处理,输新数据STL A, *AR3 ;否则进行PWM处理,输出高电平到yn SUB #1, B ;延迟一个周期输出高电平,xn的值减1BC loop2, BNEQ ;若B为0停止展宽,否则继续扩展高电平STM #0, *AR3 ;输出yn复位为0,结束对一个xn数据的PWMB ;取下一个xn数据进行新的脉宽调制.end ;结束程序(2)编写存储器分配的指令文件程序ex2015. -oex2015.out-mex2015.mapMEMORY{ EPROM:org =0080h,len =0080h PAGE1:SPRAM:org =0060h, =0010h DARAM: =0080h,len =0020h} { .text :>EPROMPAGE0 .data :> PAGE0 :>SPRAMPAGE1xn :>DARAMalign( ){}PAGE1}(3)执行本程序后,数据存储器0x0080~0x0088单元中的内容是什么?习题十七一、判断下列各题是否正确。(30分)⑴DSP有两种含义,在通常的表示中并不对两种描述进行区分。 ( )⑵模拟处理系统升级往往需要改变软件系统。 ( )⑶数字系统除开电路引入的延时外,处理是实时的。 ( )⑷系统所要求的精度决定DSP系统的采样频率。 ( )⑸做乘法时,C总线上的数据可以直接输入到T寄存器。 ( )⑹双字指令取指时可同时产生两个程序地址。 ( )⑺40位ALU的输出可直接写入E总线指定的存储器单元。 ( )⑻在改善的哈佛结构中,程序存储器不能存放数据。 ( )⑼C54x系列所有芯片都有机内自检程序。 ( )⑽多个文件链接后,名字相同的段是紧邻的,文件名在前的段放在前面。( )得得分二、完成下列各题空格中的内容。(30分)⑴停止C54x的定时器工作,应设置 位为1。⑵用来定义C54x的PLL时钟模块中的时钟配置的寄存器是 。⑶在工作方式,主机接口的传输速度,与C54x的时钟速率有关。⑷主机接口的引脚用于指示HD0~HD7所传输的内容是在第1/第2字节。⑸若C54x的CLKOUT为40MHz,则标准串行口的最高工作频率为MHz。⑹若BKX=9,发送缓冲区可开始于任何一个的倍数的地址。⑺所有程序/数据和I/O空间操作都插入3个等待周期,SWWSR的值应为。⑻复位信号变为高电平后个周期,外部数据线上的数据才有效。⑼寻址方式中,指令中包含有执行指令所需要的操作数。⑽以DP为基准的直接寻址把存储器分成页。得分三、将下列各题的计算结果放入得分(1)PMST=375BH,则BMINT0中断的中断向量地址为。(2)设AR1=2334H,AR0=007AH,执行*AR1+0B后,AR1中的值应为。(3)将Q15格式数据BCDEH转换成十进制数后,其十进制数为。(4)若A=000002AABBH,则执行EXPA后,T中的值为。四、应用程序编写与回答(20分)(1)编写通过标准串行接口0完成8个数据1,2,3,5,9,7,5,3发送并接收的程序SPxr.asm。其中在DXR0单元发送的数据直接复制到DRR0中作为接收数据。(2)编写复位与标准串行接口0的发送、接收中断程序SPxr_vct.asm。(3)编写存储器分配的命令文件程序SPxr.cmd。其中,程序的起始地址从EPROM的0x0080地址开始存放,发送和接收数据从SPRAM的0x0060地址开始存放,堆栈数据从DARAM的0x0080地址开始存放。(4)回答当8个数据接收完后,A累加器、DP中的内容是多少?答:(1)编写SPxr.asm汇编语言程序 .title “SPxr.asm” ;标准串行接口0发送/接收程序SPrx.asm ;定义存储器映象寄存器 _c_int00 ;定义文本段起始地址标号_c_int00 .bss 8 ;定义待发送的8个数据spx存放单元 .bss sprin, 8 ;定义接收数据的存入地址变量单元STACK “STACK”,20H ;自定义20H个单元的堆栈段STACK .data ;定义待发送数据段table: .word 0x01,0x02,0x03,0x05;设定8个待发送数据.word 0x09,0x07,0x05,0x03 ;定义代码段_c_int00:STM #STACK+20H,SP ;设置堆栈指针SP(0x0018)=0x00A4HSTM #spx, AR1 ;AR1(0x0011)=0x0080指向4个待发送数据起点RPT #7 ;重复8次下条指令MVPD table, *AR1+;程序空间的4数据传到数据空间(0x0011)=0x0084LD #sprin, DP ;取sprin所在0页为页指针DP=0,在0页直接寻址STM #spx, AR2 ;装待发数据spx起始地址到AR2(0x0012)=0x0080STM #sprin, AR3 ;装载接收数据sprin地址到AR3(0x0013)=0x0060 #7, AR4 ;将循环发送次8传给AR4(0x0014)=0x0007STM #00F8H, ;串口控制寄存器初始化SPC0(0x0022)=0x00F8: ;TXM=1,MCM=1FSX,CLKX设置成输出, ;FSM=1串行口工作在字符组方式,RRST=XRST=1STM #0030H, IMR ;使能中断,IMR(0x0000)=0x0030:RSBX INTM ;使能全局中断INTM=0,进入工作状态。bxint0: LD *AR2+, A ;装载待发送数据到累加器ASTLM A, DXR0 ;将A的低字写到DXR0(0x0021)进行发送MVKD @DXR0, @DRR0;直接寻址将发数据传给接收寄存器DRR0(0x0020)brint0: MVKD DRR0, *AR3+;从DRR接收一个数据写到接收数据存入地址sprin BANZ bxint0, *AR4-;检查循环发送的8个数据是否应结束RETE ;串行口发送/接收中断返回end: end ;循环等待.end ;结束程序(2)编写复位与标准串行接口0的中断程序SPxr_vct.asm。.mmregs.ref _c_int00.global .sect “.int_table”vector:rs _c_int00NOPNOPbrint0 B __retNOPNOPbxint0 B__retNOPNOP__ret rete(3)编写存储器分配的命令文件程序SPxr.cmdSPxr.obj-o SPxr. -m SPxr.mapMEMORY{ PAGE0: : org= , len=0200hPAGE1:SPRAM: org= ,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论