DSP课程设计报告-基于TMS320VC5402的DSP最小应用系统的设计.doc_第1页
DSP课程设计报告-基于TMS320VC5402的DSP最小应用系统的设计.doc_第2页
免费预览已结束,剩余15页可下载查看

下载本文档

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

文档简介

dsp课程设计报告书题目: 基于tms320vc5402的dsp最小系统设计专 业: 电气工程及其自动化 班 级: 电气f1102 学 号: 201123910507 学生姓名: 指导教师: 课程设计题目: 基于tms320vc5402的dsp最小系统设计 指导教师评语: 成绩: 指导教师: 张世杰 年 月 日基于tms320vc5402的dsp最小系统设计李迎春 王玉峰 王达伟(北华航天工业学院电子工程系,河北廊坊065000)摘 要:tms320vc5402是由ti公司生产的性价比极高的定点dsp芯片。主要研究了基于tms320vc5402的最小系统板的软硬件设计。针对电源电路、复位电路、时钟电路、jtag接口电路、dsp芯片电路提出可行的设计方案。同时,给出了一个点亮led灯的完整汇编源代码。关键词:dsp;tms320vc5402;最小系统;硬件设计;软件设计基金项目:河北省教育厅青年基金项目(2010206);北华航天工业学院教研项目(jy-2010-003-y)收稿日期:2011-12-04作者简介:李迎春(1976-),女,讲师,博士,湖北荆门人,主要从事dsp和图像处理的教学和科研工作。目录引 言- 4 -1tms320vc5402简介- 4 -2系统硬件设计- 5 -2. 1电平转换- 5 -2. 2电源控制电路- 5 -2. 3复位电路- 6 -2. 4时钟电路- 6 -2. 5译码电路- 7 -2. 6输入接口电路- 7 -2. 7输出接口电路- 7 -2. 8存储器扩展电路- 8 -2. 9jtag仿真接口电路- 8 -3系统软件设计- 9 -3. 1引导程序- 9 -3. 2用户程序- 11 -参考文献 -15-4总结- 16 -引 言在仪器仪表迅速发展的同时,计算机和网络技术也在迅速发展,pc机已经从高速增长进入到平稳发展时期,单纯由pc机带领电子产业蒸蒸日上的时代己经成为历史,嵌入式系统的出现和广泛应用,使计算机和网络进入了后pc时代。基于嵌入式智能仪表远程监控系统作为网络重要发展方向之一,是工业数据通讯与控制网络技术、互联网技术等多种技术共同发展的结果。该项技术的发展与成熟将会给人们的生产生活带来深远的影响。本文采用 c5000系列 tms320vc5402 dsp(数字信号处理 )芯片 ,能满足通信、语音、图像以及其他电子领域高速、低成本、小体积、低功耗的要求。dsp系统的设计主要包含硬件电路和软件程序两部分。1tms320vc5402简介tms320vc5402(以下简称 5402)是美国 ti公司的性价比极高的 16 bit定点 dsp芯片 ,操作速度可以达到 100mips,其内部资源配置为用户构造系统提供了很大便利。其主要特点如下:a) 多总线结构 ,片内 3套 16 bit数据总线 cb、db、eb和 1套程序总线 pb以及对应的 4套地址总线cba、dba、eba、pba (4套总线可以同时操作 )。b) 40 bitalu (算术逻辑单元 ) ,包含 1个 40 bit桶形移位器和 2个 40 bit累加器; 1个 17 17 bit乘法器和一个 40 bit专用加法器; 2个地址产生器 , 8个辅助寄存器 ,一个比较 /选择 /存储 (cssu)单元。c) 片内 4 k 16 bitrom,16 k 16 bitdaram。d)程序空间扩展到 1mb ,数据和 i/o空间各64 kb,20条地址线 ,16条数据线。e) 6级流水线完成一条指令:预取指、取指、译码、访问、读数、执行。f) 片上 jtag仿真接口。2系统硬件设计整个系统的硬件电路主要包含电源控制电路、时钟电路、复位电路、译码电路、输入接口电路、输出接口电路、存储器扩展电路和 jtag仿真接口电路 8部分。另外 ,由于 dsp的低电压工作状况 ,必须要考虑到电平转换。系统总体结构框图如图 1所示。图 1系统结构框图2. 1电平转换5402采用低压工作 ,其内核电压为 1. 8 v, i/o引脚电压为 3. 3 v,而大多数常用的电子元器件的工作电压一般为 5 v,如本系统中用到的 a/d 转换器adc0809和 d/a转换器 dac0832,以及扩展的存储器芯片 eprom 27c512等 ,都是采用 5 v ttl电平供电 ,因此必须在电路中增加电平转换模块。ti公司的 74lvc245是 8路电平转换芯片 ,其工作电压为 3. 3 v,可耐 5 v输入 ,输出为 3. 3 v。在本系统采用了 3片 ,分别用在 adc0809和 dac0832的数据线、eprom的数据线、几个控制信号上 ,这些数据线和控制信号线都通过 74lvc245连接到 5402上 ,实现 5 v到 3. 3 v和 3. 3 v到 5 v的电平转换。2. 2电源控制电路系统电源设计。tms320vc5402芯片采用双电源供电,dsp的核内电压和i/o接口电压分别为1.8v和3.3v, 本系统需要三种电源,电压为5v、3.3v和1.8v。其中,rtl8019as网卡芯片和模数转换电路均采用5v电源供电。dsp的双电源解决方案采用tps73hd318实现,输入的电源电压为5v,输出电压分别为3.3v和1.8v,每路电源的最大输出电流为750ma。 图2 电源控制电路2. 3复位电路系统上电时可自动复位 ,但为了防止系统受到外界干扰或电源波动时出现死机现象 ,还专门加了外部reset,主要使用了两个施密特触发器 74ls14。图 3 复位电路图2. 4时钟电路系统中采用外部时钟 ,根据使用的晶振不同,采用的晶体振荡起振电容也不同 ,这里采用 10 mhz晶振 ,起振电容选用 22 pf。系统中让 dsp工作在 20 mhz的频率 ,因此根据 5402的主时钟配置规则 ,只要将5402的 clkmd1、clkmd2、clkmd3这 3个引脚分别选择为高电平、低电平、低电平即可。图 4 时钟电路图2. 5译码电路5402对外部接口的控制信号有限 ,又要同时完成对 a/d、d/a、eprom的控制 ,最有效的办法是加入译码电路。本系统采用通用的 328译码器 74ls138,使用5402的高位地址线 a13、a14、a15作为译码输入 , is和 iostrb作为译码使能端输入 ,译码地址见表 1。2. 6输入接口电路输入接口电路主要完成数据采样及其 a/d转换 ,包含分频和 a/d转换电路。分频电路主要用做 adc0809的转换时钟。5402本身也产生时钟输出 ,可以借助于它的时钟输出作为输入模拟信号的输入时钟。将输入模拟信号的转换速率定为 640 khz,而 5402的时钟输出为 20 mhz(当然可以使用更高的时钟 ) ,采用 32分频即可 ,可以用两个同步二 -十进制计数器 74f160来实现。a/d转换电路采用 adc0809。这里只对一路数据采样 ,使用通道 0,数据转换速率为 640 khz。通过5402的高位地址 a13、a14、a15和 is、iostrb译码 ,cs2控制 adc0809芯片的输出使能信号 enable,cs3控制转换启动信号 start,地址使能信号 ale与转换启动信号接在一起。adc0809采用中断方式读取转换后的数字量 ,即将 adc0809的 eoc引脚连接到 5402的外部中断引脚 int0上 ,这样 ,一旦数据转换完毕 ,将会触发 5402的外部中断 0,在中断服务程序中完成数据从 adc0809到 5402的传输。它的输入时钟由分频电路的输出时钟来提供。2. 7输出接口电路输出接口电路完成 d/a转换以及模拟信号输出。d/a转换电路主要采用 dac0832芯片。由于只有一路数据需要转换 ,故让它工作在单缓冲方式 ,即输入锁存器处于受控 (通过译码输出 cs1控制 wr1,片选信号引脚 cs接地使其始终有效 ) ,而 dac0832寄存器处于直通状态 (直接将 wr2与 xefr接地使其始终有效 )。在这种工作方式下 , 数据只要一经写入dac0832芯片 ,就立即进行 d/a转换 ,省去了一条输出指令。模拟输出采用双极性模拟电压输出 ,加了两级运算放大电路,当数字量 n 从 00hffh变化时 ,对应的模拟电压 out的输出范围是 - 5 v5 v。2. 8存储器扩展电路5 402片内提供了 16k 16bit的 ram和 4k 16 bit的 rom,片内 rom不可用。本系统程序容量比较小 ,一般不超过 16 kb,考虑充分利用芯片的内部资源 ,采用引导装载的方式,以降低系统的设计难度和设计成本 ,缩短产品研制周期。这里使用一片通用的 64k 8 bit的 eprom 27c512。当程序编制好后转换成二进制文件 ,通过通用编程器烧到 27c512中即可。存储器扩展电路如图 5所示。 图 5存储器扩展电路2. 9jtag仿真接口电路由于 5402提供了片上的 jtag接口 ,方便了仿真调试。只需将 5402的 tms、tdi、tdo、trst、tckemu0、emu1共 7个引脚接出 ,做成一个标准的 14针插座 ,就可以供仿真器调试目标板。jtag仿真接口电路如图 6所示。图 6jtag仿真接口电路3系统软件设计系统软件主要包含引导程序和核心程序代码即用户程序代码两个方面。3. 1引导程序tms320vc5402的引导程序 bootloader用于在芯片通电复位时将存储于外部的用户代码传输到内部或外部程序存储器中 ,用户代码可存储在外部速度较慢的非易失性存储器内 ,使 5402能外扩普通低速的eprom。经引导后 ,用户代码可装载到高速的片内ram或片外 ram中执行 ,以充分发挥 5402指令高速运行的特点。由本系统的硬件结构可知 ,易采用 8 位并行eprom引导方式。把引导表的起始地址 4000h放在数据空间的最高位地址 fffeh和 ffffh中 ,这样根据流程图可知 ,将会从数据空间 ffffh和 ffffeh读取引导表起始地址的低 8 位和高 8 位 ,发现是08aah,于是便进入了数据空间的 8位并行引导模式 ,将 eprom中的程序装载到片内 ram中 ,装载完毕后便开始执行用户程序。5402的并行引导流程见图 7。图 7tms320vc5402并行引导方式流程为使 5402能有效地把外扩 eprom中的程序引导到芯片内 ram,需要编制一个引导表。引导表定位于数据空间的 4000hffffh段。引导表的内容包括:引导方式的标识;程序存放的目标首地址;程序执行的入口地址;用户程序代码;用户程序块长度。根据 8位并行 eprom引导方式的特点 ,编制如下的命令文件程序。1) 链接命令程序文件 (minisys_lj. cmd)minisys. obj/输入汇编后的文件名- ominisys. out/设定输出文件名- m minisys. map/内部存储器分配memory:page 0: rom: origin =0x0080, length =0x3780vect:origin =0x3f80, length =0x0080/程序引导后首地址和块长度page 1: ram: origin = 0x3800, length = 0x0780/定义数据块首地址和块长度sections:. text: rom page0/将 text段定义的程序放入程序页. bss: ram page1/将 bss段定义的数据块放在数据页 中断向量. vectors: vect page0 /2) 二进制转换命令程序 (minisys_h. cmd)minisys. out/输入链接后的文件名- ominisys. hex/设定输出文件名- i/转换为 intel格式的二进制文件- memwidth 8/定义 8位 eprom- romwidth 8/输出文件是字节- boot/所有块 /区 (sections)都引导- bootorg 0x4000/外扩 eprom存放代码的首地址- e0x0100/定义引导后程序的入口地址3. 2用户程序用户程序首先要进行如下初始化设置:a) 将芯片的 mp/mc脚接地 ,使 5402工作在微计算机方式。b) 设置寄存器 pmst中 ovly =1,使片内 ram0080h3fffh既映射在程序区 ,又映射在数据区。c) 设置寄存器 pmst中 drom =0,使 f000hffffh映射在外部数据区。d) 程序和数据空间设置成 7个等待状态。用户程序的整体软件流程如图 5所示 ,图 6为整个系统的信号流程图。图 8dsp整体软件程序流程图 9信号流程;this function generates the sine wave of angle using the taylor series expansion;sin(theta)=x(1-x2/2*3(1-x2/4*5(1-x2/6*7(1-x2/8*9);cos(theta)=1-x2/2*3(1-x2/4*5(1-x2/6*7(1-x2/8*9);sin(2*theta)=2*sin(theta)*cos(theta) .title sin.asm .mmregs .def _c_int00 .ref sinx,d_xs,d_sinx,cosx,d_xc,d_cosxsin_x: .usect sin_x,360stack: .usect stack,10k_theta .set 286pa0 .set 0_c_int00 .text stm #stack+10,sp stm k_theta,ar0 stm 0,ar1 stm #sin_x,ar6 stm #90,brc rptb loop1-1 ldm ar1,a ld #d_xs,dp stl a,d_xs stl a,d_xc call sinx call cosx ld #d_sinx,dp ld d_sinx,16,a mpya d_cosx sth b,1,*ar6+ mar *ar1+0loop1: stm #sin_x+89,ar7 stm #88,brc rptb loop2-1 ld *ar7-,a stl a,*ar6+loop2: stm #179,brc stm #sin_x,ar7 rptb loop3-1 ld *ar7+,a neg a stl a,*ar6+loop3: stm #sin_x,ar6 stm #1,ar0 stm #360,bkloop4: portw *ar6+0%,pa0 b loop4sinx: .def d_xs,d_sinx .datatable_s .word 01c7h .word 030bh .word 0666h .word 1556hd_coef_s .usect coef_s,4d_xs .usect sin_vars,1d_squr_xs .usect sin_vars,1d_temp_s .usect sin_vars,1d_sinx .usect sin_vars,1c_l_s .usect sin_vars,1 .text ssbx frct stm #d_coef_s,ar5 rpt #3 mvpd #table_s,*ar5+ stm #d_coef_s,ar3 stm #d_xs,ar2 stm #c_l_s,ar4 st #7fffh,c_l_s squr *ar2+,a st a,*ar2 |ld *ar4,b masr *ar2+,*ar3+,b,a mpya a sth a,*ar2 masr *ar2-,*ar3+,b,a mpya *ar2+ st b,*ar2 |ld *ar4,b masr *ar2-,*ar3+,b,a mpya *ar2+ st b,*ar2 |ld *ar4,b masr *ar2-,*ar3+,b,a mpya d_xs sth b,d_sinx retcosx: .def d_xc,d_cosxd_coef_c .usect coef_c,4 .datatable_c .word 0249h .word 0444h .word 0aabh .word 4000hd_xc .usect cos_vars,1d_squr_xc .usect cos_vars,1d_temp_c .usect cos_vars,1d_cosx .usect cos_vars,1c_l_c .usect cos_vars,1 .text ssbx frct stm #d_coef_c,ar5 rpt #3 mvpd #table_c,*ar5+ stm #d_coef_c,ar3 stm #d_xc,ar2 stm #c_l_c,ar4 st #7fffh,c_l_c squr *ar2+,a st a,*ar2 |ld *ar4,b mpya *ar2+ mar *ar2+ retd add *ar4,16,b sth b,*ar2 ret .endmemory page 0: eprom: org=0e000h, len=1000h vecs: org=0ff80h, len=0080h page 1: spram: org=0060h, len=0020h daram1: org=0080h, len=0010h daram2: org=0090h, len=0010h daram3: org=0200h, len=0200hsections .text :eprom page 0 .data :eprom page 0 stack :spram page 1 sin_vars :daram1 page 1 coef_s :daram1 p

温馨提示

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

评论

0/150

提交评论