《DSP技术及应用第2版》陈金鹰补充习题参考答案.docx
《《DSP技术及应用第2版》陈金鹰补充习题参考答案.docx》由会员分享,可在线阅读,更多相关《《DSP技术及应用第2版》陈金鹰补充习题参考答案.docx(26页珍藏版)》请在冰豆网上搜索。
《DSP技术及应用第2版》陈金鹰补充习题参考答案
答案:
习题一
一、判断下列各题是否正确。
⑴DSP仅是DigitalSignalProcessing的缩写形式。
(X)
答:
DSP是DigitalSignalProcessing和DigitalSignalProcessor的缩写形式。
⑵数字系统除开电路引入的延时外,处理信号是实时的。
(X)
答:
模拟系统除开电路引入的延时外,处理是实时的。
⑶由于存储器仅16位,C54x芯片最多只能进行两个16位算术逻辑运算。
(X)
答:
C54x芯片可进行40位算术逻辑运算。
⑷C54x芯片有两个程序地址产生逻辑,以便为流水线提供多个地址。
(X)
答:
C54x芯片只有一个程序地址产生逻辑。
⑸由于是多总线结构,C54x芯片可同时从外部存储器取多个操作数。
(X)
答:
C54x芯片对外只有一组总线,故在同一时刻只能从外部存储器取1个操作数。
⑹C54x芯片从EXP指数编码器获得的指数直接存放到A累加器。
(X)
答:
C54x芯片从EXP指数编码器获得的指数直接存放到T寄存器。
⑺将数据存储器中的数据装入SWWSR中时应使用ST存储指令。
(X)
答:
将数据存储器中的数据装入SWWSR中时应使用STM存储指令。
⑻C54x芯片进行乘法运算时,第16位根据第15位是0或1来确定。
(X)
答:
C54x芯片进行乘法运算时,第16位根据是无符号数还是有符号数来确定。
⑼进行Viterbi算法运算时,(M1+D1)>(M2+D2)时,则TC=0。
(V)
⑽一个周期内取3操作数时要用到C、D、P总线。
(V)
二、填空:
⑴C54x片内存储器类型分为DARAM、SARAM、ROM。
⑵程序存储器中FF00h处存放的是机内自检程序。
⑶用户可以在同一个周期内从同一块DARAM取出两个操作数。
⑷利用C54x的单根XF输出引脚可方便地获得方波信号输出。
⑸CLKOUT等于CLKIN的条件是PLLNDIV、PLLDIV、PLLMUL分别为1、0、15。
⑹HPI存储器在数据存储空间的起始地址为1000h。
⑺如要将C54x的FSX引脚设置成输入,则应使TXM位为0。
⑻向外部存储器写1个数据要花费2个机器周期。
⑼C54x在协调不同速度的外部存储器时要使用软件等待状态发生器(SWWSR)。
⑽置ST1的INTM为1时,关闭所有的可屏蔽中断。
三、计算题:
(1)PMST=F1FF,则串口0发送中断的中断向量地址为F1D4H。
XINT0的中断号为21=15H,即0001 0101,左移两位后为0101 0100
1111 0001 1
0101 0100
1111 0001 1101 0100=F1D4H
(2)将Q15格式数据ED23转换成十进制数后,其十进制数为-0.147369384765625。
ED23=1110110100100011→求反加1→-0001001011011101=-4829
-4829/32768=-0.147369384765625
-0.147369384765625×32768=-4829
-4829+65536=60707=ED23H
(3)设有长度为51的循环缓冲器,则该循环缓冲器BK基地址的最低6位必须为0。
2N=26=64>51 故N=6
(4)若B=0000FF0222H,则执行EXPB后,T中的值为0008H。
B=(0000 0000 0000 0000 1111 1111 0000 0010 0010 0010)B
16位冗余符号位,故16-8=8=8H T=008H
习题二
一、判断下列各题是否正确。
⑴数字系统升级时必需更新硬件和软件。
(X)
答:
数字系统升级时通常只需更新软件。
⑵由于有电路延时,模拟系统处理信号通常是非实时的。
(X)
答:
模拟系统除开电路引入的延时外,处理信号是实时的。
⑶由于存储器只有16位,C54x芯片只能进行16×8位并行乘法运算。
(X)
答:
C54x芯片可进行17×17位并行乘法运算。
⑷C54x芯片有一个数据地址产生逻辑,从而避免了取数据时的地址冲突。
(X)
答:
C54x芯片有两个数据地址产生逻辑。
⑸C54x芯片从外部存储器取得的操作数可经C总线传输给A累加器。
(X)
答:
C54x芯片从外部存储器取得的操作数只能经D总线传输给A累加器。
⑹C54x芯片从EXP指数编码器获得的尾数直接存放到T寄存器。
(X)
答:
C54x芯片从EXP指数编码器获得的指数直接存放到T寄存器。
⑺进行Viterbi算法运算时,(M1+D1)<(M2+D2)时,则TC=1。
(V)
⑻增强的哈佛结构使DSP可在程序空间存放数据。
(V)
⑼将数据存储器中的数据装入TCR中时应使用ST存储指令。
(X)
答:
将数据存储器中的数据装入TCR中时应使用STM存储指令。
⑽C54x芯片进行乘法运算时,第16位根据FRCT位是0或1来确定。
(X)
答:
C54x芯片进行乘法运算时,第16位根据是无符号数还是有符号数来确定。
二、填空:
⑴C54x中的PMST中的内容决定OVLY位和DROM位的值。
⑵程序存储器中FF80h处存放的是中断向量表。
⑶在同一个周期内从同一块DARAM取双操作数用的是前半个周期和后半个周期。
⑷确定定时器的计数初值要用到PRD和TCR。
⑸复位时CLKMD寄存器的复位值由CLKMD1、CLKMD2、CLKMD3三根输入引脚决定。
⑹HPI存储器的HPIA事后增1,则此时HPI正在进行读数据操作。
⑺如要将C54x的CLKX引脚设置成输入,则应使MCM位为0。
⑻向外部I/O设备读/写1个数据要花费2个机器周期。
⑼C54x在执行到最后一个等待状态时,
信号将变成低电平。
⑽处理器复位时IPTR的各位被分别设置为1。
三、计算题:
(1)PMST=F2FF,则串口0接收中断的中断向量地址为FD20H。
RINT0的中断号为20=14H,即0001 0100,左移两位后为0101 0000
1111 0010 1
0101 0000
1111 0010 1101 0000=F2D0H
(2)将Q15格式数据CF45转换成十进制数后,其十进制数为-0.380706787109375。
CF45=1100111101000101→求反加1→-0011000010111011=-12475
-12475/32768=-0.380706787109375
-0.380706787109375×32768=-12475
-12475+65536=53061=CF45
(3)设有长度为84的循环缓冲器,则该循环缓冲器BK基地址的最低7位必须为0。
2N=27=128>84 故N=7
(4)T=FFFCH,B=F0 ECDA 1234H,执行NORMB,A后,A为0F0ECDA123H。
T=FFFCH=1111 1111 1111 1100B=-(0000 0000 0000 0011+1)补=-4H
B=(1111 0000 11101100110110100001 0010 0011 0100)B
右移4位→(00001111 000011101100110110100001 0010 0011 0100)B
A=0F 0ECDA123H
习题三
一、判断下列各题是否正确。
⑴C54x芯片的CPU拥有40位的ALU。
(V)
⑵C54x芯片的CPU拥有40位的桶形移位寄存器。
(X)
答:
有移位-16~30位的桶形移位寄存器
⑶左移A累加器时,低位添0。
(V)
⑷在进行舍入处理时,总是将目的累加器的低16位清0。
(X)
答:
如果带后缀R,就进行舍入处理,即加215至结果,并将目的累加器低16位清0。
⑸当累加器数值超过32位时,指数必然为负值。
(V)
⑹RAM只能安排为数据存储空间。
(X)
答:
RAM总是安排到数据存储空间,但也可以构成程序存储空间。
⑺复位中断向量将程序的执行地址映像到程序空间的FF80h。
(V)
⑻数据存储器只能驻留在片内。
(X)
答:
数据存储器可以驻留在片内或者片外。
⑼双操作数寻址时,若操作数驻留在不同块内,只需1个周期。
(V)
⑽复位后,定时器控制寄存器的停止状态位TSS=1。
(X)
答:
复位后,定时器控制寄存器的停止状态位TSS=0。
二、填空:
⑴在DSP上电后,系统的晶体振荡器需100ms~200ms的稳定期。
⑵HPI的两种工作方式为共用寻址方式(SAM)和仅主机寻址方式(HOM)。
⑶C54x标准串口SP有2个数据缓冲寄存器。
⑷标准串行口的最高工作频率是CLKOUT的1/4。
⑸区别片外数据存储器与程序存储器的关键是
和
引脚。
⑹存储器读一读一写操作时,写操作要用2个周期。
⑺外部存储器存取时间应小于60%的机器周期。
⑻SWWSR将外部总线周期延长多达7个机器周期。
⑼如果
=0,则处理器从片内ROM开始执行程序。
⑽利用外部中断信号
、
、
可结束IDLE3状态。
三、计算题:
(1)PMST=80FF,则SINT6的中断向量地址为80D8H。
SINT6的中断号为22=16H,即0001 0110,左移两位后为0101 1000
1000 0000 1
0101 1000
1000 0000 1101 1000=80D8H
(2)把-0.31转换成Q15格式后的值为D852H。
-0.31×32768=-10158.08≈-10158
-10158+65536=55378=D852H
(3)设有长度为40的循环缓冲器,则该循环缓冲器基地址的最低6位必须为0。
2N=26=64>40 故N=6
(4)若A=0000000177H,则执行EXPA后,T中的值为0016H。
A=(0000 0000 0000 0000 0000 0000 0000 0001 0111 0111)B
30位冗余符号位,故30-8=22=16H T=0016H
习题四
一、判断下列各题是否正确。
⑴C54x芯片的CPU拥有40位累加器。
(V)
⑵在将16位的数据输入ALU时,若ST0的SXM=0则符号位扩展。
(X)
答:
若状态寄存器ST1的SXM=0,则高位添0,若SXM=1,则符号位扩展。
⑶A和B的功能不完全相同。
(V)
⑷当FRCT=0时,乘法结果会自动右移1位。
(X)
答:
状态寄存器ST1中的FRCT=1时,乘法结果左移1位,以消除多余的符号位。
⑸执行EXP指令时通过将冗余符号位减8来消去多余符号位。
(V)
⑹ROM只能安排为程序存储空间。
(X)
答:
ROM一般构成程序存储空间,也可以部分地安排到数据存储空间。
⑺当PAGEN发出的地址处在片外地址范围,处理器能自动地对外部寻址。
(V)
⑻片内DARAM可以作为程序存储空间。
(X)
答:
片内DARAM都是数据存储空间。
⑼双操作数寻址时,若操作数驻留在同一块内,需花费2个周期。
(V)
⑽定时器控制寄存器TCR中的PSC在CLKIN作用下,作减1计数。
(X)
答:
PSC在CLKOUT作用下,作减1计数。
二、填空:
⑴C54x与主机交换信息时共需18根引脚才能完成控制与通信。
⑵HPI工作在HOM方式,主机可以按160Mbps速度寻址一个字节。
⑶C54x标准串口SP有2个移位寄存器。
⑷通过对SPC的设置,标准串行口的FSX和CLKX可作为输入引脚。
⑸区别数据总线上的信号是读入CPU还是写出外部的关键是
引脚。
⑹存储器写一写一读操作时,写操作要用2个周期。
⑺与C54x-40芯片接口的外部器件的存取时间小于15ns时可不插入等待。
⑻SWWSR将数据存储器分为两个2个32K字空间进行等待周期的设置。
⑼如果
=1,则处理器从片外ROM开始执行程序。
⑽当CLKOUT频率为40MHz时,中断脉冲宽度大于10ns才能唤醒中断。
三、计算题:
(1)PMST=80FF,则SINT7的中断向量地址为80DCH。
SINT6的中断号为22=17H,即0001 0111,左移两位后为0101 1100
1000 0000 1
0101 1100
1000 0000 1101 1100=80DCH
(2)把-0.123转换成Q15格式后的值为F042H。
-0.123×32768=-4030.464≈-4030
-4030+65536=61506=F042H
(3)设长度为70的循环缓冲器,则该循环缓冲器BK基地址的最低7位必须为0。
2N=27=128>70 故N=7
(4)T=FFFDH,A=00 0000 0BBBH,执行NORMA,B后,B为0000000177H。
T=FFFDH=1111 1111 1111 1101B=-(0000 0000 0000 0010+1)补=-0003H
A=(0000 0000 0000 0000 0000 0000 0000 1011 1011 1011)B
右移3位→(00000000000 0000 0000 0000 0000 0000 1011 10111011)B
=(0000 0000 0000 0000 0000 0000 0000 0001 0111 0111 011)B
=00 0000 0177H
习题五
一、判断下列各题是否正确。
⑴C54x有两个(1个)程序地址产生逻辑用来产生程序地址。
(X)
⑵C54x可在一个周期内同是对两
(1)个不同的片外程序存储器寻址。
(X)
⑶送到ALU输入端X的数据必须是40位(不)数据。
(X)
⑷A累加器中的数据右移时最高位总是添0(正数添0,负数添1)。
(X)
⑸当系统复位时,PRD中重新加载到TIM。
(V)
⑹归一化的作用是方便乘法(指数)运算。
(X)
⑺完成一次MAC运算需要两
(一)个周期,一个周期完成乘,另一个完成加。
(X)
⑻程序运行中若只取一个操作数,该操作数可来自D或C总线。
(只能D)(X)
⑼尽管采用(增强的)哈佛结构,仍可进行部分程序/数据空间的交叉。
(X)
⑽定标指对送入累加器中的数据进行16(0~15)位左移。
(X)
二、填空:
⑴OVM=1,ALU负向溢出时32位最大负数为FF80000000h。
第二节1。
⑵A=FFFFF0FFFF,则执行EXPA后,T=11d=000BH。
4×5-1-8=11
⑶C54x有2个受软件控制的专用引脚XF和
。
第五节一部分
⑷C541的3个时钟配置引脚为000,选择方案1,工作频率为外时钟的3倍。
第五节三部分表2-8
⑸执行STM2147H,CLKMD后,40×16×CLKIN(640)个外部周期后PLL锁定。
CLKMD=0010000101000111b表2-910-3位:
00101000b=40d第五节三部分
⑹主机经PHI向DARAM传输一个数据,HD线要工作3次。
1送控制字,2送地址、3送数据第五节五部分
⑺DXR中的数据复制到XSR后,XRDY位立即由0转变为1。
第六节2。
⑻数据寻址比程序存储器取指具有较高的优先权。
第七节一部分2。
⑼执行STM#3C9BH,SWWSR数据空间高32k插入6个等待状态。
SWWSR=0011110010011011第七节二部分3。
⑽复位信号变为低电平后5个周期,数据总线无效。
图2-33
三、计算题:
(1)AR1=1060H表示FFT运算后数据的基地址,AR0=0008H,利用指令PORTW*AR1+0B,PA输出FFT运算后数据,则输出X(4)时应寻址的地址为0001000001100010B。
第三章第一节5
AR1=60H=01100000b→AR1=1060HAR0=08H=00001000b→AR0=0008H寻址0010b
AR1+AR0=1060H+0002H=1062H
(2)IPTR=101000111B,则RINT0的中断向量地址为A3D0H。
第二章第九节四部分
表2-25RINT0=20=14H=00010100b左移两位=01010000与IPTR=101000111B相加得:
1010001110000000+=01010000=1010001111010000b=A3D0H
(3)把-0.4转换成Q15格式后的值为CCCDH。
第五章第一节9-0.4×32768=13107.2=-13107+65536=52429=CCCDH
(4)执行LD#FFF8h,T和LD#0A0Ah,B和NORMB,A指令后,A中的值为000000000AH。
第五章第二节例5-19(T=FFF9h,B=0A0Ah)
执行LD#FFF8h,TT=FFF8h执行LD#0A0Ah,BB=0000000A0Ah执行NORMB,A后,对B按T=FFF8h(-8)移位赋给AA=000000000000000000000000000000000000101000001010A=000000000AH
习题六
一、判断下列各题是否正确。
⑴C54x有一个(2个)数据地址产生逻辑用来产生数据地址。
(X)
⑵C54x可在一个周期内同是对两
(1)个不同的片外数据存储器寻址。
(X)
⑶送到ALU输入端Y的数据必须是40位(不)数据。
(X)
⑷B累加器中的数据左移时,如果数据为负数,则最低位添1(总是添0)。
(X)
⑸当系统复位时,自动地将TDDR加载到PSC。
(V)
⑹归一化的作用是方便小数(指数)运算。
(X)
⑺舍入处理指将目的累加器的最低位清0。
(加215至结果)。
(X)
⑻如要将数据写入程序空间,应通过P总线寻址程序存储器目的地址。
(只能E)(X)
⑼存储器分块后,可以在同一个周期内从同一块SARAM(DARAM)取出两个操作数。
(X)
⑽定标指对送入累加器中的数据进行0~15位右(左)移。
(X)
二、填空:
⑴OVM=1,ALU正向溢出时32位最大正数为007FFFFFFFh。
第二节1。
⑵A=00FFF0FFFF,则执行EXPA后,T=-1d=FFFFH。
4×2-1-8=-1
⑶标准串行口的输出引脚CLKX和FSX,可通过设置后变为位输入引脚。
第六节一部分2
⑷C545A的3个时钟配置引脚为000,复位后工作频率为外时钟0.5倍。
第五节三部分表2-11
⑸执行STM215FH,CLKMD后,43×16×CLKIN=(688)个外部周期后PLL锁定。
CLKMD=0010000101011111b表2-910-3位:
00101011b=43d第五节三部分
⑹主机经PHI向DSP传输一个数据,HCNTL0、HCNTL1线要工作3次。
1HCNTL0、HCNTL1=00送控制字,2HCNTL0、HCNTL1=10送地址、3HCNTL0、HCNTL1=11送数据第五节五部分
⑺RSR的数据复制到DRR后,RRDY位立即由0转变为1。
第六节2。
⑻外部存储器存取时间应小于60%的机器周期。
第七节二部分1。
⑼执行STM#3C93H,SWWSR程序空间高32k插入2个等待状态。
第七节二部分3。
SWWSR=0011110010010011
⑽复位信号变为高电平后3个周期,FF80H出现在地址总线上。
图2-33
第八节一部分2
三、计算题:
(1)将数组x[5]中的各单元设置为0,可采用指令RPTZA,#4。
第三章第二节4
(2)IPTR=111000110B,则XINT0的中断向量地址为E354H。
第二章第九节四部分
表2-25XINT0=21=15H=00010101b左移两位=01010100与IPTR=111000110B相加得:
111000110+=01010100=1110001101010100b=E354H
(3)把0.7转换成Q15格式后的值为599AH。
第五章第一节90.7×32768=22937.622938=599AH
(4)执行LD#FFF4h,T和LD#0A0Ah,B和NORMB,A指令后,A中的值为0000000000H。
第五章第二节例5-19(T=FFF9h,B=0A0Ah)
执行LD#FFF4h,TT=FFF4h执行LD#0A0Ah,BB=0000000A0Ah执行NORMB,A后,对B按T=FFF4h(-12)移位赋给AA=0000000000000000000000000000000000000000101000001010A=0000000000H
习题七
习题八
一、判断下列各题是否正确。
⑴FRCT用来消除多余的符号位。
(V)
⑵E总线上的数据可以传输到桶形移位器中。
(X)
答:
(桶形移位器中的数据可以传输到E总线上)
⑶累加器中的指数值为操作数的符号位减8。
(X)
答:
(累加器的指数值=冗余符号位-8)
⑷ST0和ST1中包含有存储器的设置状态及其它控制信息。
(X)
答:
(PMST中包含存储器的设置状态及其它控制信息)
⑸数据存储器不能存放程序,只能放数据。
(X)
答:
(若OVLY=1,则片内RAM安排为程序和数据空间)。
⑹由于有了多内部总线,故不会产生流水线冲突。
(X)
答:
(如果两次取数或程序都要用到相同的总线,还是会产生流水线冲突)
⑺由于采用了多总线结构,片外存储器数据可以并行传输。
(X)
答:
(片外存储器本身不能并行,只有一条外部总线)
⑻存储器映象CPU寄存器是DSP因有硬件,与软件设置无关。
(X)
答:
(存储器映象CPU寄存器由汇编命令.mmregs设置)
⑼XF产生的方波输出频率不能由程序进行改变。
(X)
答:
(通过增加NOP可调整频率)
⑽定时器的定时时间可通过设