版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、DSP课程设计 利用DSP实现自适应滤波 自动化0806 林星河 王晓晶 2.1系统功能介绍一个实际的应用系统中,总存在各种干扰。数字滤波器在语音信号处理、信号频谱估计、信号去噪、无线通信中的数字变频以及图像信号等各种信号处理中都有广泛的应用,数字滤波器也是使用最为广泛的信号处理算法之一。在本设计中,使用MATLAB模拟产生合成信号,然后利用CCS进行滤波。设定模拟信号的采样频率为48000Hz,。设计一个FIR低通滤波器,其参数为:滤波器名称: FIR低通滤波器采样频率: Fs=48000Hz通带截止频率: 15000Hz阻带截止频率: 16000Hz通带最大衰减: 0.1dB阻带最少衰减:
2、 80dB滤波器系数: 由MATLAB根据前述参数求得。2.2 总体设计方案流程图 图1 总体设计方案 主要内容和步骤3.1 滤波器原理对于一个FIR滤波器系统,它的冲击响应总是又限长的,其系统函数可记为: 其中是FIR的滤波器的阶数,为延时结,为端口信号函数。最基本的FIR滤波器可用下式表示: 其中输入采样序列,是滤波器系数,是滤波器的阶数表示滤波器的输出序列,也可以用卷积来表示输出序列与、的关系,如下: 3.2 操作步骤(1)打开FDATOOL,根据滤波要求设置滤波器类型、通带截止频率、指定阶数、采样频率等。指定完设计参数后单击按钮Design Filter,生成滤波器系数。(2)把生成的
3、滤波器系数传到目标DSP。选择菜单Targets->Export to Code Composer Studio(tm)IDE,打开Export to C Header File对话框,选择C header file,指定变量名(滤波器阶数和系数向量),输出数据类型可选浮点型或32 b,16 b整型等,根据自己安装选择目标板板号和处理器号,单击OK,保存该头文件,需指定文件名(filtercoeffh)和路径(保存在c:timyprojectsfir工程中)。(3)修改CCS汇编程序,删掉数据前的所有文字,在开头加上.data,第二行加coeff .word,在每行的前面加上.word,
4、比且把每行的最后的逗号去掉。(4)编译汇编程序,如果有错误,按错误进行修改;没错误,则往下执行。(5)加载初始化DATA数据。运行程序,查看输入输出波形,修改相应参数进行调试第4章 详细设计在本实验中使用MATLAB模拟产生信号,观察滤波前的时域波形和频域波形。MATLAB仿真后,使用得到的滤波器参数,进行DSP编程,在DSP中实现带通滤波,并使用CCS的频谱分析功能,查看DSP的滤波效果。MATLAB程序流程图如图4.1所示图4.1 MATLAB程序流程图CCS汇编程序流程图如图4.2所示图4.2 CCS汇编程序流程图第5章 实验过程5.1 汇编语言实验步骤与内容Error! No book
5、mark name given.MATLAB辅助DSP 实现FIR ,其总体过程为在DSP 中编写处理程序,在MATLAB中利用滤波器设计、分析工具( FDATOOL) ,根据指定的滤波器性能快速设计一个FIR ,然后把滤波器系数以头文件形式导入CCS 中,头文件中MATLAB 辅助DSP 实现FIR 数字滤波器含滤波器阶数和系数数组,在MATLAB中调试、运行DSP 程序并显示、分析处理后的数据。使用该方法,便于采用汇编语言来实现程序。头文件名不变,当MATLAB中设计的滤波器系数改变时,相应头文件中系数也改变,方便了程序调试、仿真。(1)在MATLAB中先编写程序,查看待滤波和已滤波的信号
6、的时域和频域波形,如图5.1和图5.2所示。 图5.1 待滤波信号的时域图 图5.2 待滤波信号的频域图利用FDA TOOL 设计FIR 滤波器的参数,操作步骤如图5.3所示。图5.3 FIR滤波器的参数打开Export,把Numerator改为B,如图5.4所示。图5.4 Export设置已滤波的信号的时域和频域波形,如图5.5和图5.6所示。图5.5 已滤波信号时域波形图 图5.6 已滤波信号频域波形图MATLAB滤波器设计工具在完成FIR设计后,如图5.7所示,在Export as中选择16bit符号整数输出,然后单击OK按钮。生成fir.h C语言头文件。将系数稍作修改,调整后拷贝到程
7、序的系数初始化空间即可。图5.7 MATLAB输出数值转换图(2)在CCS中编写汇编语言程序,进行调试,实现带通滤波的功能。在CCS IDE 中建立LHM.pjt工程,用汇编语言编写处理主程序fir.asm。另外根据板上的存储器配置方式,编写存储器配置文件fir.cmd文件,将MATLAB生成的LHM.h和input1.dat文件拷贝到LHM.pjt工程文件夹下,进行编译、链接,生成可执行文件LHM.out。 (3)加载初始化data数据,图5.8所示。图5.8 data初始化图运行程序,查看输入输出波形,修改相应参数进行调试。5.2 实验过程中出现的错误及解决的办法(1)在MATLAB程序设
8、计中,采样频率设置的过小,截止频率大于采样频率的一半,运行的时候图形出现错误。(2)FIR.m中的采样频率要和开始设置时的采样频率一致,否则结果会出现偏差。(3)在CCS中未定义标号,程序运行错误。(4)在.h文件中未把coeff顶格写,编译时出现错误。(5)未将fir.h和input.dat文件考入工程文件中。(6)间接寻址过程中,程序中丢失。 (7) 在View的Graph中单击Time/frequency出现graph property dialog框,未修改抽样点数。显示的图形出现差异5.3 CCS程序运行后的各种输出结果在View的Graph中单击Time/frequency出现gr
9、aph property dialog框。将显示类型,图形名称,起始地址,抽样点数,数据类型等分别进行设置,输出各种波形。输出滤波前的信号时域波形。首先,设置如图5.9所示,输出滤波前的信号时域波形。图5.9 Graph property dialog设置框图单击OK后生成如下图5.10波形。图5.10滤波前信号波形图图5.10为滤波前的信号,波形很杂乱,从时域上很难看出信号的周期性。修改相应设置,输出如图5.11所示滤波前信号频谱。图5.11滤波前信号频谱波形图经过滤波后,时域波形频谱波形如图5.12和5.13所示。图5.12 滤波后信号时域波形图图5.13 滤波后信号频谱图由上述的所有截图
10、可知,输入参数中,通带截止频率和阻带截止频率是比较重要的两个参数,不宜过小,过小滤掉的高频成分太多,很难还原出远波形的形状,也不宜过大,过大滤波效果欠佳。在本课程设计中,通带截止频率选用4000Hz,阻带截止频率选用4500Hz,因此,显示图形时的,时域显示的抽样点数为1024,频域显示的带宽为0.5Hz。对比滤波前后信号的时域图5.10和5.12、频谱波形图5.11和5.13可以知道,滤波前的时域信号的波形图的波形很杂乱,很难看出信号的周期性,滤波后周期性也相对的明显起来了;滤波前信号分布在整个频带上,滤波后阻带范围内的基本被滤掉,这些都可以从上述截图看出。附件:源程序清单用线性缓冲区实现F
11、IR滤波器程序清单: .title “FIR1.ASM” .mmregs .def start x .usect “x”,8 PA0 .set 0 PA1 .set 1 .data COEF: .word 1*32768/10 .word 2*32768/10 .word -4*32768/10 .word 3*32768/10 .word -4*32768/10 .word 2*32768/10 .word 1*32768/10 .textstart: SSBX FRCT STM #x+7,AR2 STM #6,AR0 LD #x+1,DP PORTR PA1,x+1FIR1: RPTZ A
12、,#6 MACD *AR2-,COEF,A STH A,*AR2 PORTW *AR2+,PA0 BD FIR1 PORTR PA1,*AR2+0 .end 用循环缓冲区实现FIR滤波器程序清单: .title “FIR2.ASM” .mmregs .def start .bss y,1xn .usect “xn”,7b0 .usect “b0”,7PA0 .set 0PA1 .set 1 .datatable: .word 1*32768/10 .word 2*32768/10 .word 3*32768/10 .word 4*32768/10 .word 5*32768/10 .word
13、6*32768/10 .word 7*32768/10 .text start: SSBX FRCT STM #b0,AR1 RPT #6 MVPD table,*AR1+ STM #xn+6,AR2 STM #b0+6,AR3 STM #7,BK STM #-1,AR0 LD #xn,DP PORTR PA1,xnFIR2: RPTZ A,#6 MAC *AR2+0%,*AR3+0%,A STH A,y PORTW y,PA0 BD FIR2 PORTR PA1,*AR2+0% .end 汇编程序清单lhm.h文件内容: .datacoeff .word -85, -64, -61, -36
14、, 8, 62, 110, 136, 131 .word 96, 42, -11, -44, -44, -11, 39, 85, 106 .word 88, 37, -29, -83, -101, -73, -7, 70, 124 .word 131, 82, -5, -96, -151, -144, -72, 37, 140 .word 191, 162,61, -76, -191, -231, -174, -35, 132 .word 256, 278, 180, -7, -208, -337, -330, -176, 72 .word 316, 445, 392, 156, -178,
15、-475, -599, -470, -108 .word 361, 745, 857, 594, -6, -748, -1336, -1456, -893 .word 386, 2192, 4154, 5816, 6768, 6768, 5816, 4154, 2192 .word 386, -893, -1456, -1336, -748, -6, 594, 857, 745 .word 361, -108, -470, -599, -475, -178, 156, 392, 445 .word 316, 72, -176, -330, -337, -208, -7, 180, 278 .w
16、ord 256, 132, -35, -174, -231, -191, -76, 61, 162 .word 191, 140, 37, -72, -144, -151, -96, -5, 82 .word 131, 124, 70, -7, -73, -101, -83, -29, 37 .word 88, 106, 85, 39, -11, -44, -44, -11, 42 .word 96, 131, 136, 110, 62, 8, -36, -61, -64 .word -85Fir.asm内容:.title"fir.asm".mmregs.global_c_
17、int00ORDER .set154D_LEN.set1024; The Length of Input Dataxn.usect"xn",(ORDER-1)a0.usect"a0",(ORDER-1)input.usect"input",D_LENoutput.usect"output",D_LEN.copy "HM.h" Get coefs from "coef.h".text.asgAR0, FIR_INDEX.asgAR2, FIR_DATA.asgAR3, FIR_
18、COEF.asgAR5, DATA_IN.asgAR6, DATA_OUT_c_int00:SSBX FRCT STM #a0,FIR_COEF; Copy a0(coefs) to FIR_COEF(AR3) RPT #ORDER-1 MVPD #coeff,*FIR_COEF+ STM#1, FIR_INDEX STM#xn, FIR_DATA; Copy xn(data) to FIR_DATA(AR2) RPTZA,#ORDER-1 STLA, *FIR_DATA+STM #(xn+ORDER-1), FIR_DATASTM #(a0+ORDER-1), FIR_COEFSTM#inp
19、ut, DATA_IN; Get data from "input"STM#output, DATA_OUT; Write data to "output"STM#D_LEN-1, BRCRPTBDnext-1STM#ORDER, BKLD*DATA_IN+, AFIR:STLA, *FIR_DATA+%RPTZA, (ORDER-1)MAC*FIR_DATA+0%, *FIR_COEF+0%, A; FIRSSTHA, *DATA_OUT+nextFIR_END:B FIR_END.endFIR.m的程序如下:fs=40000; %/采样HzN=102
20、4 %数据个数T=1/fs; %采样周期n=0:N-1;df=n*(fs/N)%待滤波信号波形xin=randn(1,1024)figure(1)plot(xin)%待滤波信号频谱xinff=abs(fft(xin);figure(2)plot(df,xinff)%滤波后信号波形y_filter_out=filter(B,1,xin)% Y = FILTER(B,A,X)figure(3)plot(y_filter_out)%滤波后信号频谱yff=fft(y_filter_out);figure(4)plot(df,yff)xin=xin/max(xin);%归一化xto_ccs=round(
21、32767*xin)%取整fid=fopen('input1.dat','w');%打开文件fprintf(fid,'1651 1 0 0 0n');%输出文件头fprintf(fid,'%dn',xto_ccs);%输出fclose(fid);DSP课程设计实 验 报 告利用DSP实现自适应滤波目 录一、设计任务书2二、设计内容2三、设计方案、算法原理说明4四、程序设计、调试与结果分析5 五、设计(安装)与调试的体会17 六、参考文献18一、 设计任务书自适应滤波不仅能够选择信号,而且能够控制信号的特性。自适应滤波器具有跟踪信号
22、和噪声变化的能力,它的系数能够被一种自适应算法所修改。利用DSP可以实时地对信号进行自适应滤波。DSP利用直接存储器访问方式DMA采集数据时不打扰CPU,因此CPU可以对信号进行实时地滤波。本设计要求利用DSP的DMA方式进行信号采集和信号输出,同时对外部输入的信号进行数字滤波。1设计要求及目标基本部分:(1)对DMA进行初始化;(2)对A/D、D/A进行初始化;(3)编写DMA通道传输程序,实现数据实时采集和实时地输出;(4) 设计子自适应滤波算法,或调用DSPLIB中的自适应函数,实现对信号的自适应滤波。发挥部分:(1)滤波后信号实时输出的同时,将数据存放在数据文件中;(2)利用自适应滤波
23、实现语音信号回波对消。2设计思路 首先利用DSP的DMA方式对外部信号进行实时采集,外部模拟信号先进行A/D转换,利用MCBSP的接收寄存器接收数据。编写自适应滤波算法程序,或调用DSPLIB中的lms滤波函数,对信号进行自适应滤波。滤波后信号存放数据区满发出中断,请求信号输出。利用DMA方式将传输输出数据,经D/A转换后输出。3要求完成的任务(1) 编写C语言程序,并在CCS集成开发环境下调试通过;(2) 利用信号发生器产生输入信号,经DSP运算后正确地在示波器上显示;(3) 按要求撰写设计报告。二、 设计内容按照实验要求,本实验与老师上课讲过是FIR滤波器实验有很多共同点。我们从上课做过的
24、实验的FIR_DMA.pjt出发,使其完成自适应滤波的功能。1DMA部分:本实验利用DMA直接传输数据,利用DMA完成数据传输而不影响CPU,因此数据传输速度快。C5402有6个可独立编程的DMA通道:DMA0DMA5,允许6个不同的DMA操作。每个DMA通道受各自的5个16位寄存器控制:l 源地址寄存器DMSRC和目的地址寄存器DMDST :指明了数据传输读取和写入的位置l 单元计数寄存器DMCTR :规定DMA传送数据的个数(DMCTR值减1)l 同步事件和帧计数寄存器DMSEFC:规定DMA传送数据的同步事件类型和传送一块数据所含帧信号的个数。l 传输模式控制寄存器DMMCR:规定了DM
25、A通道的传输模式。2.自适应算法部分:DSPLIB库是一个为C语言程序员开发TMS320C54x而建立的经过优化的DSP函数库。包含50多采用汇编语言编写的常用信号处理程序,可以由C语言调用。调用DSPLIB库函数时,在工程中要添加库文件54xdsp.lib,在C源程序中要包含dsplib.h头文件。我们应用通过DSPLIB中的自适应函数dlms实现滤波,下面是dlms函数的相关描述。short oflag = dlms (DATA *x, DATA *h, DATA *r, DATA *d, DATA *des, DATA step, ushort nh, ushort nx)Argumen
26、ts xnx Pointer to input vector of size nxhnh Pointer to filter coefficient vector of size nhh is stored in reversed order: h(n1), . h(0) where hn is at the lowest memory address. Memory alignment: h is a circular buffer and must start in a k-bit boundary (that is, the k LSBs of the starting address
27、must be zeros) where k =log2(nh)rnx Pointer to output data vector of size nx. r can be equal to xdbuffernh Pointer to location containing the address of the delay bufferMemory alignment: the delay buffer is a circular buffer and muststart in a k-bit boundary (that is, the k LSBs of the starting addr
28、essmust be zeros) where k = log2(nh)desnx Pointer to expected output arraystep Scale factor to control learning curve rate = 2*munh Number of filter coefficients. Filter order = nh1. nh >=3nx Length of input and output data vectorsoflag Overflow flag If oflag = 1 a 32-bit overflow has occurred If
29、 oflag =0 a 32-bit overflow has not occurred其中x指向输入向量,r指向输出向量,h为滤波向量,d指向延迟缓冲区,des指向期望输出向量,step为归一化因素,nh为滤波系数个数,nx为输出向量长度。oflag=1表示有溢出;oflag=0表示无溢出。三、 设计方案、算法原理说明在许多DSP的应用场合,由于无法预先知道信号和噪声的特性或者它们是随时间变化的,仅仅用FIR和IIR两种具有固定滤波系数的滤波器无法实现最优滤波。在这种情况下,必须设计自适应滤波器,以跟踪信号和噪声的变化。自适应滤波器的特性变化是由自适应算法通过调整滤波器系数来实现的。一般而言
30、,自适应滤波器由两部分组成,一是滤波器结构,二是调整滤波器系数的自适应算法。图1示出了自适应滤波器的一般结构。自适应滤波器的结构采用FIR或IIR结构均可,由于IIR滤波器存在稳定性问题,因此一般采用FIR滤波器作为自适应滤波器的结构。由于FIR 滤波器横向结构的算法具有容易实现、计算量少等优点,在对线性相位要求不严格、收敛速度不是很快的场合,多采用FIR作为自适应滤波器结构。图二为FIR横向滤波器结构。上图中,x(n)为输入信号,y(n)为输出信号,d(n)为参考信号或期望信号,e(n)则是d(n)和y(n)的误差信号。自适应滤波器的滤波器系数受误差信号e(n)控制,根据e(n)的值和自适应
31、算法自动调整。自适应滤波器除包括一个按照某种结构设计的滤波器外,还有一套自适应的算法。自适应算法是根据某种判断来设计滤波器的。该算法包括最小均方算法LMS、最小高阶均方算法LMF、最小平方算法OLS、递推最小算法RLS 等等。由Widrow 和Hoff 提出来的最小均方误差(LMS)算法,因具有计算量小、易于实现、不依赖模型、性能稳健等优点而被广泛采用. 本次实验采用的就是这种最小均方误差(LMS)算法。基本的LMS 算法如下:e(n)=d(n)-XT(n)h(n)h(n+1) = h(n)+2u*e(n)*X(n)其中,h(n)和h(n+1)分别是迭代前后的系数值,n和n+1表示前后两个时刻
32、,k=0N-1,N为滤波器的阶数,为步长因子或收敛因子,e(n)为误差信号,x(n)是输入信号。步长决定了自适应滤波器的收敛性能。衡量自适应滤波算法优劣的3个重要指标是初始收敛速度、时变系统跟踪能力和稳态失调。自适应步长是表征迭代快慢的物理量,越大,自适应时间越短,自适应过程越快,但引起的失调也越大,当大于1 /max时,系统发散;越小,系统越稳定,失调越小,但自适应过程也相应加长。欲使其收敛,则自适应步长的取值范围为:0<<1 /max。四、 程序设计、调试与结果分析1.程序程序流程图:主程序dlms.c: /*/* Include Files */*/#include <
33、type.h>#include <board.h>#include <codec.h>#include <firlab.h>#include <string.h>/*/* Function Prototypes */*/void delay(s16 period);extern void DMAC2ISR();/*/* Global Variables */*/HANDLE hHandset;unsigned int dmsefc, dmmcr, dmctr, src_addr, dst_addr;unsigned int dmpre, d
34、msrcp, dmdstp, dmidx0, dmidx1, dmfri0, dmfri1, dmgsa, dmgda, dmgcr, dmgfr;/* Create specific data section for buffer (symbol, section_name) */#pragma DATA_SECTION(inp_buffer,"audio_buffer");int inp_buffer0x200;/* Create specific data section for buffer (symbol, section_name) */#pragma DATA
35、_SECTION(out_buffer,"outt_buffer");int out_buffer0x200;/* Create specific data section for coeffiecients */#pragma DATA_SECTION(coeffs,"coefficients");int coeffs16=0;/* Create specific data section for delay buffer */#pragma DATA_SECTION(delaybuff,"delayb");int delaybuf
36、f16=0; /* declare and initialize two variables for DMAC ISRs */int frame=0; int flag=0;int temp; int currbuff = 0;/* delayptr holds the address of the start of the delay buffer */ int *delayptr1 = &(delaybuff0); interrupt void DMAC2ISR();/*/* MAIN */*/void main() s16 cnt=2;/* These are the items
37、 that BIOS will set when we use it */ BSCR = 0x8806; XPC = 0; PMST = 0xA0; brd_set_cpu_freq(100); TIMER_HALT(0); brd_set_wait_states(7, 7, 9); TIMER_RESET(0); IMR=0;/禁止所有中断/* - */if(brd_init_bios() return; while(cnt-)brd_led_toggle(BRD_LED0);/切换LED指示灯0的显示状态delay(1000);brd_led_toggle(BRD_LED1);/切换LED
38、指示灯1的显示状态delay(1000);brd_led_toggle(BRD_LED2);/切换LED指示灯2的显示状态delay(1000); /* Open Handset Codec */ hHandset = codec_open(HANDSET_CODEC); /* Acquire handle to codec */* Set codec parameters */ codec_dac_mode(hHandset, CODEC_DAC_15BIT); /* DAC in 15-bit mode */ codec_adc_mode(hHandset, CODEC_ADC_15BIT
39、); /* ADC in 15-bit mode */ codec_ain_gain(hHandset, CODEC_AIN_6dB); /* 6dB gain on analog input to ADC */ codec_aout_gain(hHandset, CODEC_AOUT_MINUS_6dB); /* -6dB gain on analog output from DAC */ codec_sample_rate(hHandset,SR_16000); /* 16KHz sampling rate */* Clear IFR */ INTR_CLR_FLAG(DMAC2);/*
40、Reset all DMA channels */ dma_reset_all();/* Initialize DMA channel 2 */ dmsefc = (DSYNC_REVT1 <<12);/与McBSP1接收事件同步 dmmcr = (AUTOINIT_ENABLE << 15) | (DINM_ENABLE << 14) | (IMOD_HALFBLOCK <<13) | (CTMOD_DEC <<12) | (INDEXMODE_NOMOD << 8) | (SPACE_DATA << 6)
41、| (INDEXMODE_INC << 2) | (SPACE_DATA);/设置传输控制模式寄存器DMMCR/15bit AUTOINIT_ENABLE=1 使能自动初始化/14bit DINM_ENABLE=1 根据IMOD位产生中断/13bit IMOD_HALFBLOCK=1 帧和块结束时都产生中断/12bit CTMOD_DEC=0 减量计数模式(多帧模式)/10-8bit INDEXMODE_NOMOD=000 源地址模式No modify /7-6bit SPACE_DATA=01 源地址空间为数据空间/4-2bit INDEXMODE_INC=01 目的地址模式,
42、传输之后加1/1-0bit SPACE_DATA=01 目的地址空间为数据空间 dmctr = 0xFF;/单元记数 src_addr = DRR1_ADDR(HANDSET_CODEC);/设置源地址 dst_addr = (unsigned int) &inp_buffer;/设置目的地址 dma_init(DMA_CH2, dmsefc, dmmcr, dmctr, SPACE_DATA, src_addr, SPACE_DATA, dst_addr);/* Set number of frames for channel 2 */ DMA_FRAMECOUNT(DMA_CH2,
43、 1); /* Set up global autoinit registers for DMA CH2 Input */ dmgsa = src_addr; dmgda = dst_addr; dmgcr = 0xFF; dmgfr = 1; /* Set up global priority and enable control register for Ch2 */ dmpre = (HIGH_PRIORITY << 10) | (INTSEL_01 << 6); dmsrcp = SPACE_DATA; dmdstp = SPACE_DATA; dmidx0 =
44、 0; dmidx1 = 0; dmfri0 = 0; dmfri1 = 0; dma_global_init(dmpre, dmsrcp, dmdstp, dmidx0, dmidx1, dmfri0, dmfri1, dmgsa, dmgda, dmgcr, dmgfr);/* Enable channel 2 */ DMA_ENABLE(DMA_CH2); /* prime the serial port to begin input buffer stream */ temp = *(volatile u16*)DRR1_ADDR(HANDSET_CODEC); /* Enable D
45、MAC2 interrupt */ INTR_ENABLE(DMAC2); /* Enable Global Interrupts */ INTR_GLOBAL_ENABLE;/* Endless loop waiting for DMAC2 interrupt */ for(;);/*/* delay() */*/void delay(s16 period) int i, j; for(i=0; i<period; i+) for(j=0; j<period; j+); 中断程序dmac2isr.C:#include <codec.h>#include <fir
46、lab.h>extern void delay(s16 period);externunsigned int channel; /*IN: DMA channel number */externunsigned int dmsefc; /*IN: Value to set sync & fr reg */externunsigned int dmmcr; /*IN: Value to set mode control reg */externunsigned int dmctr; /*IN: Value to set element count reg */externunsigned int src_page; /*IN: Value to set source page reg */externunsigned int src_addr; /*IN: Value to set source addr reg */externunsigned int dst_page; /*IN: Value to set dest page reg */externunsigned int dst_addr; /*IN: Value to set dest
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 华师大版初中科学2.1压强
- 小学二年级100以内进退位加减法800道题
- 信息论与编码课件(全部课程内容)
- 医院节能环保与资源利用管理制度
- 人教部编版四年级语文上册第6课《夜间飞行的秘密》精美课件
- 【寒假阅读提升】四年级下册语文试题-文言文阅读(三)-人教部编版(含答案解析)
- 2024年客运从业资格证继续教育手机
- 2024年汕尾从业资格证客运考试题库
- 2024年雅安道路客运输从业资格证考试
- 2024年银川客运资格用什么练题好
- 《2024版CSCO胰腺癌诊疗指南》更新要点
- 《ModelBase智能驾驶建模仿真与应用》全套教学课件
- 诊断学《心脏检查》(视触叩诊听诊)课件
- 2024东方电气招聘452人历年高频考题难、易错点模拟试题(共500题)附带答案详解
- 《文化研究导论》全套教学课件
- 民宿经济效益和社会效益分析报告
- ISO∕IEC 23894-2023 信息技术 -人工智能 - 风险管理指南(雷泽佳译-2024)
- 山东省菏泽市单县五年级上册期中语文试卷(含解析)
- 2024发展对象培训班考试试题与答案
- 创新联合体协议书模板
- 《精细化管理》课件
评论
0/150
提交评论