HB嵌入式ARM系统设计作业_第1页
HB嵌入式ARM系统设计作业_第2页
HB嵌入式ARM系统设计作业_第3页
HB嵌入式ARM系统设计作业_第4页
HB嵌入式ARM系统设计作业_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、 大作业成绩课程名称 现代电子系统设计 班级 通信01班 姓名 贺斌 学号 41103030119 (说明:除有关原理图、仿真图和程序代码外其他答案部分必须为A4纸手写;严禁抄袭,抄袭者和被抄袭者均不计成绩;时间1周。) 一、 DSP部分(8小题,共计50分)1 说明DSP具有哪些主要特点,DSP的型号如何确定?(4分)答:(1)DSP具有如下主要特点:DSP普遍采用数据总线和程序总线分离的改进型哈佛结构即一条程序总线和多条数据总线;DSP一般都采用多总线结构,可同时进行取指令和多个数据存取操作;DSP采用多级流水线技术,可以多指令并行执行;DSP采用结构特殊的专用硬件乘法-累加器,适合数字信

2、号处理; DSP内部有多个处理单元,特别适用于大量乘加操作的矩阵运算、滤波、FFT、Viterbi译码等; DSP一般都具有特殊功能的指令,专用于数字信号的处理;由于采用哈佛结构、流水线操作、专用的硬件乘法器、特殊的指令以及集成电路的优化设计,所以DSP具有极短的指令周期,运算速度快;具有较高的运算精度,字长长达16、24、32位,还有的累加器达到40位。片上外设硬件配置丰富,具有较强的接口功能;许多DSP芯片都支持多处理器的结构;DSP一般都具有节电管理和低功耗结构,适用于便携式数字终端设备。 (2)DSP型号的确定:DSP应用领域很广,但没有一款能满足所有的应用需要,需要根据系统的特点、性

3、能要求、成本、功耗以及技术开发周期等因素进行综合考虑,一般主要考虑以下几个方面的因素:1系统特点、2算法格式、3系统精度、4处理速度、5功耗、6性能价格比、7支持多处理器、8系统开发的难易程度。2 DSP应用系统的典型开发过程是怎样的?(4分)答:一般开发过程如附件图D2-1:3 讨论一个能独立运行和调试的TMS320VC5416最小系统应具备怎样的硬件条件?(4分)答:一个能独立运行和调试的TMS320VC5416最小系统应具备以下的基本硬件条件:能为DSP提供I/O口与内核正常供电的供电电路;能为DSP提供稳定与精确时钟的时钟电路;DSP在线调试需要的JTAG仿真调试接口电路复位电路,可以

4、软件复位,但一般都有硬件上电复位和手动复位相结合的电路; DSP扩展必要的存储器(如EEPROM/Flash ROM等)电路;外加的辅助电路有:工作模式选择电路、外部中断输入引脚与未用输入引脚的上拉保护电路及指示LED的电路等。4 当TMS320C54x的CPU接收到可屏蔽的硬件中断时,满足哪些条件中断才能被响应?(3分)答:出现多个中断时,此中断的优先级最高;INTM=0 允许全局中断; 当INTM=0时,IMR中某位为1,则开放相应的中断。5 TMS320C54X指令系统的寻址方式各有哪些?各寻址方式举一例说明(6分)答:各寻址方式如下图:6 请说明实现TMS320VC5416处理器串行E

5、EPROM自举的硬件设计要求,以及如何利用CCS环境2次编程实现DSP串行EEPROM自举。(6分)答:(1)要实现TMS320VC5416处理器的串行EEPROM自举,DSP系统的硬件设计必须满足一定的要求:A、需要将EEPROM的SPI接口与DSP的MCBSP2互联,同时,为避免DSP错误的进入其他自举方式,需将DSP的MCBSP2接口的BDX2引脚与其外部中断3引脚相连,从而保证DSP系统加电后,DSP片上Bootloader进入串行EEPROM自举方式,再者, DSP外部中断2输入引脚最好接上拉电阻以防止噪声或干扰的影响,具体的硬件原理图如图D4-2所示:D4-2B、SPI接口EEPR

6、OM器件须满足如下几个条件:其一,EEPROM的一帧数据必须为32bit,且每帧格式分别为8bit指令、16bit地址、8bit数据,如附件图D6-1所示:其二,EEPROM须支持SPI通信协议的0(0,0)工作模式;其三,由于DSP片上Bootloader只能寻址EEPROM的64KB数据,所以EEPROM的容量不要大于64KB。(2)利用CCS环境2次编程实现DSP串行EEPROM自举的主要步骤如下:第1步,在CCS环境下编写用户DSP系统应用程序,仿真调试完毕后,生成.out程序代码文件,这是CCS环境下的第1次编程;第2步,将CCS环境下生成的.out文件通过程序代码中间过渡转换(如图

7、D6-2点画线框所示)最终生成.dat文件,这一步骤是由多个.exe批处理文件在DOS环境下完成;第3步,再次在CCS环境下编程,将第2步生成的.dat文件中的用户程序代码通过DSP的MCBSP2接口移植到EEPROM中。上述三步过程完成以后,系统可实现在没有仿真器与软件仿真环境的条件下,加电后独立运行。7.请查阅相关资料,设计以TI公司TPS73HD301芯片为基础TMS320VC5416处理器双电源供电电路,并画出其电路原理图。(8分)答:以TI公司TPS73HD301芯片为基础的TMS320VC5416处理器双电源供电电路,其电路原理图如附件图D7-1所示:8请先利用MATLAB软件设计

8、一个FIR带通滤波器,然后在CCS软件中建立名为FIR.pjt的工程项目,接着以在MATLAB软件中设计的FIR带通滤波器参数为基础,编写TMS320VC5416处理器FIR带通滤波器C语言实现程序,并以本章介绍的DSP软件仿真实例为参考,尝试利用CCS软件完成对该FIR带通滤波器工程项目的DSP软件仿真,请给出MATLAB与C语言的主要程序代码以及仿真运行结果图。(15分)答:1:首先利用MATLAB软件设计一个FIR带通滤波器,并进行仿真: (1)首先确定所要设计的FIR带通滤波器参数设置如下:滤波器通带带宽为10Hz,其中上下两个通带截止频率分别为10Hz和 20Hz,其中采样频率为10

9、0Hz,采用FIR窗函数设计法,选择Kaiser窗(最优化窗),阶数指定为40阶。 (2)利用MATLAB 2012b APPS中的Filter Design & Analysis Tool工具输入第(1)步中确定的FIR带通滤波器参数,参数设置如附件图D8-12所示: (3)按照图D8-12所示输入参数,并单击工具条中“Filter Coefficients”按钮,可以得到如图D8-13所示滤波器系数: (4)按照图D8-13所得滤波器系数,编写MATLAB 2012b仿真程序,具体代码如附件代码图D8-141;D8-142: (5)在(4)代码中,输入信号x(n)由5Hz、15Hz

10、、25Hz三个频点的正弦波信号合成,其中,15Hz为有用信号,而5Hz和25Hz信号为噪声,则将此合成波信号经过滤波器滤波后的输出信号y(n)时域图及有用信号滤波前后的时域图如附件图D8-151所示。图D8-152为滤波器输入信号与输出信号的幅度谱图。2:利用CCS软件完成对设计的FIR带通滤波器进行DSP软件仿真:(1)双击CCS软件(v3.3版本)“Setup CCStudio v3.3”图标桌面快捷方式 (如果无法打开,请进入兼容模式WIN XP SP3运行),并完成DSP软件仿真的相关设置。DSP软件仿真的相关配置如附件图D8-21所示。(2)双击CCS软件(v3.3版本)“CCStu

11、dio v3.3”图标桌面快捷方式(如果无法打开,请进入兼容模式WIN XP SP3运行),并建立FIR软件工程项目。建好后的软件工程项目名为FIR,如附件图D8-22所示,包括三个文件,分别是:MAIN.c文件、VECTORS.ASM文件、C5416.cmd文件。其中MAIN.c是主程序文件,完成DSP初始化和输入信号的FIR滤波运算;VECTORS.ASM为中断矢量文件,C5416.cmd为链接命令文件。(3)完成FIR软件工程项目三个程序文件:MAIN.c、VECTORS.ASM、C5416.cmd的代码编写分别如附件图D8-2311、D8-2312、D8-2313;D8-2321、D8

12、-2322、D8-2323;D8-2331、D8-2332;(4) 编译并装载FIR.out文件,运行程序,图像化显示运行结果。FIR带通滤波器输入信号完整时域波形图如附件图D8-241所示;FIR带通滤波器输入信号099点的时域波形图如附件图D8-242所示;FIR带通滤波器输出信号时域完整的波形图如附件图D8-243所示;FIR带通滤波器输出信号099点时域波形图如图D8-244所示;FIR带通滤波器输入信号幅频特性波形图如图D8-245所示;FIR带通滤波器输出信号幅频特性波形图如图D8-246所示;二、ARM部分(6小题,共计50分)1 嵌入式应用系统开发过程包括那些?其中操作系统的移

13、植是必要的吗?为什么?(8分)答:嵌入式应用系统的开发过程如附件图A1-1;有必要,因为当今,嵌入式应用越来越广,单片机的种类,品牌,型号繁多,当嵌入式操作系统移植后,只需要做一些修改就可以使其运行在不同的硬件平台上,为使更好的分配系统资源的功能,更快的开发新产品,很有必要针对特定的硬件平台和实际应用移植操作系统。2 电子系统设计实现过程的一般流程是什么?每个步骤包含那些内容?(8分)答:一:系统硬件的设计与实现按照需要确定模拟还是数字电路还是模数混合来实现系统功能;确定项目是纯硬件完成还是软硬结合来完成系统功能;选择合适的集成电路、微处理器、总线、分立元件、机电元件;存储器、输入输出方式、I

14、/O口、传感器、变送器、执行结构的接口设计。二:系统软件的设计与实现硬件驱动程序设计、功能模块设计、软件抗干扰设计;三:系统的调试与运行硬件系统的功能仿真;软件系统的功能仿真;软硬件的在线联合调试;系统运行调试。四:系统的综合测试系统的功能测试,分为硬件测试和软件测试; (1)硬件测试:功能实现,技术指标达标。 (2)软件测试:操作的方便性、容错性,模块功能,运行速度。系统参数及技术指标测试;系统的容错性测试;系统的可靠性测试;系统的电气安全性测试;系统的EMC测试;系统的机械特性测试。3电子系统的可靠性设计的主要措施有那些?(6分) 答:主要措施有冗余设计、电磁兼容性设计、元器件降额设计;电

15、磁兼容性设计主要顾及不对周围环境产生影响和周围电子设备不对本系统造成影响,另外在印刷电路板时,注意减少寄生耦合,连线尽量短,各级电路应尽量自成回路及就近接地,对电磁场敏感的元器件应加以屏蔽保护。4设计一个以STM32F103RC为主控芯片的最小应用系统的硬件电路。要求具有16位LED流水灯功能和两路UART串口功能。画出相关电路原理图。(12分) 答:相关的电路原理图为:电源电路如附件图A4-1;复位电路如附件图A4-2;晶振电路如附件图A4-3;2路UART串口电路如附件图A4-5; 16位LED流水灯的电路图A4-6;5. 请说明利用MDK 4.12软件进行ARM应用程序开发的主要步骤及过

16、程要点。(10分) 答:主要步骤有: 创建一个你需要的项目的工程并设置芯片为STM32F103VC如附件图A5-11和A5-12; 进行各种参数的配置如附件图A5-21; 新建几个工程文件,并添加如附件图A5-31、A5-32、A5-33、A5-34 程序代码写好后,编译进行软件仿真如附件图A5-41 要点是芯片选择对,参数配置正确,仿真方式选择正确,代码编写完整。6. 在电子系统设计过程中,经常会用到 单片机、ARM、DSP、PLD等技术和器件,请根据你的了解,说明他们各有什么特点、分别适合的应用场合。(6分)答:单片机是集成了CPU、ROM、RAM、I/O的微型计算机,较高版本的单片机运行

17、速度快,结构集成,接口丰富,价格相对便宜,适合不同要求层次的型号都有,适合用于工业控制,对实时性要求高的条件;ARM处理器耗电少、性能强、体积小、成本低,有大量寄存器,寻址灵活,执行效率高适用于手机的处理器,手持式电子终端;DSP又叫数字信号处理器,运行速度快,适合处理大数据信号,适用于需要处理大量数据的领域,如信号的编码和解码;PLD又叫可编程逻辑器件,是一种通用的集成电路,逻辑功能由用户进行编程实现,具有灵活性高,设计成本低,质量稳定,可在线检验,一般应用于产品的原型设计和数量中等的产品生产。附件:文中所需图如下所示:图D2-1图D6-1图D6-2图D7-1图D8-12图D8-13按照图D

18、8-13所得滤波器系数,编写MATLAB 2012b仿真程序,具体代码如下:t=0:1/100:10;x1=cos(5*2*pi*t);x2=cos(15*2*pi*t);x3=cos(25*2*pi*t);x=x1+x2+x3;subplot(311);plot(t,x);xlabel('时间');ylabel('滤波器输入信号x(n)');y=1:1001;b=-0.0000000000000000011555388734213979;-0.001174675179022212;0.0015512677517067622;0.0084465416338726

19、507;0.010637793600508627;-0.0000000000000000094460181337378104;-0.016151634909017169;-0.019595865479244932;-0.0055736384373409088;0.006684426887997994;-0.0000000000000000053925840191434303;-0.0095722022903081787;0.011493294907118123;0.058872863213419002;0.072076405256160783;-0.0000000000000000214982

20、79592076442 ;-0.11628982750303804;-0.15900503912552286;-0.057319272533400453;0.11586957144846613;0.20112287740565682;0.11586957144846613;-0.057319272533400453;-0.15900503912552286;-0.11628982750303804;-0.000000000000000021498279592076442 ;0.072076405256160783;0.058872863213419002;0.01149329490711812

21、3;-0.0095722022903081787;-0.0000000000000000053925840191434303;0.006684426887997994;-0.0055736384373409088;图D8-141-0.019595865479244932;-0.016151634909017169;-0.0000000000000000094460181337378104;0.010637793600508627;0.0084465416338726507;0.0015512677517067622;-0.001174675179022212;-0.00000000000000

22、00011555388734213979;for n=1:1:41 %计算前41点输出 tempt=0; for i=1:1:n tempt=tempt+b(i)*x(n+1-i); end y(n)= tempt;endfor n=42:1:1001 %计算421001点输出 tempt=0; for i=1:1:41 tempt=tempt+b(i)*x(n+1-i); end y(n)= tempt;endsubplot(312);plot(t,y);xlabel('时间');ylabel('滤波器输出信号y(n)');subplot(313);plot(

23、t,y,'r-',t,x2);xlabel('时间');ylabel('滤波前后信号对比');legend('滤波后信号','滤波前信号');axis(0 2 -1 1);figure(2)fs=100;X = abs(fft(x);Y = abs(fft(y);n1 = (1:length(t)*fs/length(t);n2 = (1:length(t)*fs/length(t);subplot(211);plot(n1,X);grid;xlabel('频率(Hz)');title('滤

24、波器输入信号幅度谱');subplot(212);plot(n2,Y);grid;xlabel('频率(Hz)');title('滤波器输出信号幅度谱');图D8-142图D8-151图D8-152图D8-21图D8-22MAIN.c的程序代码如下:#include <stdlib.h>#include <stdio.h>#include <math.h>#define CLKMD (unsigned int *)0x58#define pi 3.1415927#define N 64 double fir_input

25、_data1001;/滤波器输入数据double fir_output_data1001;/滤波器输出数据void FIR( );/FIR滤波函数double b41=-0.0000000000000000011555388734213979,-0.001174675179022212,0.0015512677517067622,0.0084465416338726507,0.010637793600508627,-0.0000000000000000094460181337378104,-0.016151634909017169,-0.019595865479244932,-0.005573

26、6384373409088,0.006684426887997994,-0.0000000000000000053925840191434303,-0.0095722022903081787,0.011493294907118123,0.058872863213419002,0.072076405256160783,-0.000000000000000021498279592076442 ,-0.11628982750303804,-0.15900503912552286,-0.057319272533400453,0.11586957144846613,0.20112287740565682

27、,0.11586957144846613,-0.057319272533400453,-0.15900503912552286,-0.11628982750303804,-0.000000000000000021498279592076442,0.072076405256160783,0.058872863213419002,0.011493294907118123,-0.0095722022903081787,-0.0000000000000000053925840191434303,0.006684426887997994,图D8-2311-0.0055736384373409088,-0

28、.019595865479244932,-0.016151634909017169,-0.0000000000000000094460181337378104,0.010637793600508627,0.0084465416338726507,0.0015512677517067622,-0.001174675179022212,-0.0000000000000000011555388734213979;/FIR滤波器参数,与MATLAB仿真程序中的FIR滤波器参数一致void main() int i;/DSP处理器寄存器初始化 asm(" stm #0000h,CLKMD &q

29、uot;); while(*CLKMD & 0x01 ); asm(" stm #50c7h,CLKMD "); /设置CPU运行频率101M asm(" stm #7e08h, SWWSR ");/* set wait-state control reg for: 7 for I/O,7 for ext data,2 for ext program */ asm(" stm #00e0h, PMST "); /MP/MC = 1, IPTR = 001, ovly=1 ,drom=0 asm(" stm #0800

30、h, BSCR "); /* set external-banks switch control for: no bank switching;PS-DS=1 BH=0,EXIO=0 */生成FIR滤波器输入数据for(i=6;i<1001;i+)fir_input_datai = cos(10*pi*0.01*i)+cos(30*pi*0.01*i)+cos(50*pi*0.01*i);/调用FIR滤波函数,对输入数据fir_input_data进行FIR滤波运算,计算结果存储/于输出数据fir_output_data中 FIR(fir_input_data);while(1

31、);/FIR滤波函数void FIR(double *x)int n, i;for (n=0; n<41; n+)fir_output_datan=0;for (i=0; i<n; i+)图D8-2312VECTORS.ASM文件程序代码如下: .ref _c_int00 .sect ".vectors"rs: BD _c_int00 nop nopnmi: rete nop nop nopsint17: rete nop nopsint18: rete nop nopsint19: rete nop nopsint20: rete nop nopsint21: rete nop nopsint22: rete nopfir_output_datan += bi*xn-i;for (n=41; n<1001; n+)fir_output_datan=0;for (i=0; i<41; i+)fir_output_datan += bi*xn-i; 图D8-2313图D8-2321nopsint23: rete nop nopsint24: r

温馨提示

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

评论

0/150

提交评论