DSP课程设计报告书基于TMS320VC5402与单片机的数据处理系统设计.doc
湖 北 民 族 学 院 科 技 学 院信息工程系DSP课程设计报告书题目: TMS320VC5402与单片机接口的设计 专 业: 电气工程 班 级: 学 号: 学生姓名: 指导教师: 2010年 6月 25日信息工程系课程设计任务书学 号学生姓名专业(班级)设计题目基于TMS320VC5402与单片机的数据处理系统设计设计技术参数HPI口可用8 bit数据线传输16 bit的数据电源电压3.8V设计要求(1)绘制系统框图(VISIO),采用C5402+51单片机方案;(2)包括电源设计、复位电路设计、时钟电路设计、存储器设计、人机交互接口电路设计、JTAG接口设计等,用Protel软件绘制原理图和PCB图;(3)实现DSP与PC通信、DSP与51单片机通信;(4)给出程序流程图,编写部分程序。工作量字数:4434图片:7张工作计划14周先完成电源设计,15周完成时钟电路及复位电路,16周完成程序设计参考资料1 孟菊,王金海,赵雷新,张丽丽.基于ARM和DSP的嵌入式智能仪器系统设计J.微计算机信息,2006,22(6-2):198-200.2 侯丽华.基于电力载波的电能质量监测系统J.微计算机信息,2006,22(12-1):120-122.3 王彬,王冰峰.ARM与DSP的通信接口研究和设计要点J.工业控制计算机,2007,20(2):23-24.4 戴明桢,周建江.TMS320C54X DSP结构、原理及应用M.北京:北京航空航天大学出版社,2001.指导教师签字2010年 6月25日 学生姓名: 学号: 专业(班级):电气11班课程设计题目: TMS320VC5402与单片机的数据处理系统设计 指导教师评语: 成绩: 指导教师: 年 月 日基于TMS320VC5402与单片机的数据处理系统设计摘要:通过分析了TMS320VC5402的特点以及DSP设计原则,实现了TMS320VC5402与C51单片机的串行通讯方法。利用单片机作为DSP的主机实现快速HPI接口的数据交换和DPS系统程序的主接线口引导的设计过程。关键词:DSP,单片机,HPI主机接口Abstract: This paper presents a method applied in serial communication between a TMS320VC5402 DSP and a C51 single-chip Microprocessor. The hardware circuit and software programming are discussed in detail.Key words: serial-communication; DSP; single-chip microprocessor目录引言51、最小应用系统构成71. 1 电源71. 2 时钟电路81. 3 复位电路82 、TMS320VC5402的主机接口(HPI)102.1 HPI结构102. 2 单片机与DSP 的数据交换112. 3 单片机实现外部接口电路113 、 系统的软件设计123. 1 HPI 引导程序设计123.2 89C51的部分程序设计133.3 系统实现功能主程序144、结束语155、参考文献16引言TMS320VC5402 ( 以下简称VC5402) 是 TMS 家族的定点数字信号处理芯片 ,是为实现低功耗、高性能而设计的 ,它主要应用于传真、个人通信、语音编码等无线通信系统中。它的主要优点有:1.优化的 CPU 结构 ,内部有一个40 位的算术逻辑单元(ALU),两个40 位的累加器一个40 位的桶形移位寄存器 ,一个17×17的并行乘法器和一个专用40 位加法器,一条程序总线 ,三条数据总线和四条地址总线。此外 ,还采用六级流水线深度进行数据传输和指令运算。 2.运算速度高。指令周期为 10/12. 5/15/20/25ns ,运算数度达到100MHz.3.高效的指令集,可快速的执行特殊算法。4.低功耗方式 ,采用3. 3V 和 1. 8V 双电源供电,有三种功耗方式.5片内外设有可编程等待状态发生器、可编程边界切换开关、含有锁相环的时钟发生器,可编程定时器.6.有两个多通道缓冲串口McBSP 、一个数据交换主机接口HPI 接口。 方便系统设计,我们把习惯把系统进行模块化 ,本文设计一种基于单片机的最小系统 ,开放所有的硬件端口 ,在系统设计时作为基本模块使用 ,从而实现不同的应用功能。1、最小应用系统构成在进行DSP 系统设计时,我们把硬件系统分为硬件应用系统和硬件仿真系统。应用系统和仿真系统的最根本区别是系统能否独立运行。应用系统采用外部存储器保存系统运行需要的程序,在启动时能够把程序引导到内部存储器中,使系统能够独立运行。而仿真系统只是能够通过JTAG仿真接口连接计算机进行程序下载,使DSP 在仿真条件下运行,这种系统不能单独使用,但对程序仿真,以及设计的初始阶段都大量使用。不管是DSP 应用系统或是仿真系统同样都必须包含电源、时钟和复位电路,除此之外最小仿真系统还包括有JTAG仿真接口、仿真器,最小应用系统包括有扩展程序存储器、BOOTLOADER 引导方式。系统框图如图1 所示。 图1 系统结构框图1. 1 电源VC5402 采用双电源供电,以获得更好的电源性能,工作电压为3. 3V 和1. 8V。其中,1. 8V 主要为该器件内部逻辑提供电压,包括CPU 和其他所有的外设逻辑。与3. 3V 供电相比,1. 8V 供电可以大大降低功耗。外部接口引脚仍然采用3. 3V 电压,便于直接与外部低压器件连接,应该注意电压的转换,在本设计中跟外部5V 电压的TTL 的器件正常连接,而无需额外的电平转换电路。单片机89c51 采用的是5V 电源供电,不影响其于VC5402 的连接以及数据交换。VC5402 由于有两个电源,需考虑内部电源的上电次序,在理想的情况下,DSP 芯片上的电源同时加电,但基本上很难实现这点,因此应先对外部接口加上3. 3V 的电源,然后加1. 8V 的内核电源1 。为了能够让电源设计方便TI 公司也生产为方便DSP 设计的电源芯片。TI 公司生产的TPS73xx 系列芯片是满足DSP 而设计的,电源输出电压稳定,输出电压可调等特性。如TPS73HD301、TPS73HD325、TPS73HD318 以及TPS73HD318 等。电源设计如图2 所示。图2电源设计1. 2 时钟电路时钟是一个系统的核心,时钟信号的好坏直接决定了系统的稳定性,VC5402 提供了内部和外部两种方式的时钟发生模式。芯片的主频为100MHz ,如果直接用外频输入,使得外部频率高,电路复杂,实现较困难。使用内部PLL ,外部时钟频率只需要1020MHz ,设计电路简单,只需在时钟引脚X1 和X2PCLKIN 连接一个无源晶振,如图3 所示。图3 时钟电路对于晶振的大小没有特别要求,DSP 有一组引脚CLKMD1CLKMD3 可以用来调整工作频率的高低。倍频系数如表1。表1 倍频系数CLKMD1 CLKMD2 CLKMD3 CLKMD(复位值) 时钟模式 0 0 0 E007H PLL ×15 0 0 1 9007H PLL ×100 1 0 4007H PLL ×51 0 0 1007H PLL ×21 1 0 F007H PLL ×1 1 1 1 0000H 1P2 (PLL 禁止) 1 0 1 F000H 1P4 (PLL 禁止)0 1 1 预留1. 3 复位电路复位电路对微处理器的系统设计是必须的,复位电路也非常简单,需要上电复位、手动复位以及自动复位三部分。系统中单片机和DSP 都需要连接复位电路,复位就是让微处理器上电后保持2 个CLOCKOUT 时间周期以上的低电平,使系统内部的寄存器初始化。自动复位电路在电源部分给予提供,图4 简单提供上电复位和手动复位的实现。图4 手动复位电路2 、TMS320VC5402的主机接口(HPI)2.1 HPI结构HPI(主机接口)在TMS320VC5402芯片上,内部有数据寄存器(HPID),控制寄存器(HPIC)及地址寄存器(HPIA)。HPI口可用8 bit数据线传输16 bit的数据,并可通过设置控制寄存器的相关位来控制高8位和低8位传输。HPI有两种工作方式:一种是主机独占模式 (HOM); 另一种是主机和TMS320VC5402共享模式(SAM)。其中SAM是通用方式,二者都可寻址HPI存储器(DARAM)。当二者产生冲突时,主机具有较高的优先权,而在TMS320VC5402插人一个等周期。通过HPI传输的数据率是每5个CLKOUT时钟周期传输1字节。HMS320VC5402芯片中HPI8的内部结构逻辑如图5所示。图5 HPI8的内部结构逻辑HPI通信主要是通过对HPIA、HPIC和HPID3个寄存器赋值来实现的。简单地说,HOST通过外部引脚HCNTL0和HCNTLl选中不同的寄存器后,就将当前8位数据发送到该寄存器中了。由于HPIC是16位寄存器,而HPI口总是传送8位数据宽度,所以用HOST向HPIC写数据时,需要发送两个一样的8位数据。对TMS320VC5402来说,仅低8位有意义。当地址寄存器HPIA选择后,直接向它写数据就可以了,但是要注意MSB和LSB的顺序。另外,HPIA具有自动增长的特性,即在每写入一个数据前和每读一个数据后HPIA都会自动加1。这样,如果使用了该功能,只需设定一次HPIA即可实现连续数据块的写入和读出,只是在实现时,数据应首先从主机发到HPID中,然后再根据HPIA指定的地址把HPID中的数据再写到片内RAM的地址中。2. 2 单片机与DSP 的数据交换主机接口HPI 是DSP 的一种新型接口,VC5402 提供了一个增强型的主机接口。主机接口是一个8bits的并行端口,主机通过它可以直接读写DSP 内部的一段RAM,这段公用RAM是一段2K字的双口RAM,主机可以随时访问,DSP 访问这段RAM时和其它RAM一样,当同时访问同一地址时,主机优先。HPI 能够快速的实现数据交换,共有两种工作模式,当HPI 工作在SAM(共享模式) 时,单片机和DSP 同时访问HPIRAM;HOM为主机单独访问模式,此时只有单片机能访问HPI RAM。当时钟为100MHz 时,SAM 模式最高可提供160MbPS 的主机访问速率,HOM模式最高可提供400MbPs 的主机访问速率3 。单片机与HPI 接口的连接简单,把单片机的P0跟VC5402 的HD0 相连接,单片机的P2 (06) 分别跟VC5402 的HCS 与HDS2、HRPW、HCNTL0、HCNTL1、HBIL 、HRDY、RS 相连接以及单片机的INT1 与VC5402的INT2 相连接,如图6所示图6单片机与DSP连接电路2. 3 单片机实现外部接口电路对于一个完善的系统,必须要有人机操作的界面,容易实现人机的交互。单片机是一个微控制器,有大量的开放端口,能够简单实现外接键盘和LED 显示。3 、 系统的软件设计该系统的软件设计主要包括两部分即系统功能实现的主程序以及系统的引导程序。3. 1 HPI 引导程序设计由于HPI 口只能访问2K的内部RAM,对于DSP 小系统而言,主要程序若是严格按照汇编格式编写程序,这2K的程序空间也是足够的。当系统的程序小于2K时,实现程序引导非常方便,HPI RAM有2K字, 完全可以容纳应用程序。89C51内部有8K的程序存储器空间,由于89C51中的存储器的数据格式是8 位的ROM而VC5402 内部ROM为十六位的数据格式,单片机的数据经过8 位的主机接口的两次分别传送给一个内部地址的高低8 位,因此2K的HPI RAM需要单片机4K的内部ROM,89C51 有足够的ROM来满足系统的需求。将设计好的程序写入89C51 的存储器中,首先将编写好的程序进行分段,分成四部分:程序引导部分、程序数据转移部分、系统工作的主程序部分以及单片机实现数据交换及接口部分程序;然后进行编译,生成. obj 文件的;再通过链接器生成. out 文件,该文件为仿真应用文件,单片机不能识别不能直接下载; 最后将. out 文件生成. HEX文件,通过编程器写到89C51中。具体实现步骤如图6 所示,上电复位时,首先复位后主机将VC5402 进入微控制器状态,DSP 检测INT2 (与INT 相连)是否有中断的到来(即IFR 的相应位置位) ,判断有无HPI 引导;然后初始化主机接口寄存器HPIA、HPIC及HPID ,规定传输格式和数据内容;再向VC5402 的HPI RAM空间写程序,其中程序包括DSP 的启动程序和工作的主程序;最后VC5402 进入特定模式,转移主程序,让HPIRAM 为数据交换用,引导程序结束。图6 主机接口程序图3.2 89C51的部分程序设计AT89C51的部分汇编源程序所完成的功能包括初始化串口、初始化HPI接口、从串口接收命令字(包括16,bit地址和8,bit数据)、通过HPI接口读取DSP的相应内部存储器,并发送到串口、以及等待接收下一次的命令等,其具体汇编程序代码如下:ORG 0000HAJMP MAINORG 0003H;INTO中断子程序RETIORG 0030HMAIN:;设置串口MOV SCON ,#50HMOV TMOD, #20HMOV TH1, #0FDHMOV TL1;初始化BOB,清HINTMOV A, #08hMOV DPTR, #0000hMOVX DPTR, AMOV DPTR, #0400hMOVX DPTR, ASetAddress:;从串口读高地址位CLR T1JNB RI, $MOV A, SBUFCLR RI;写HPIA低地址MOV DPTR, #0600hMOVX DPTR, A;从串口读低地址位JNB RI, $MOV A, SBUFCLR RI;写HPIA低地址MOV DPTR, #0600hMOVX DPTR, A;从串口读数据长度JNB RI, $MOV A, SBUFCLR RIMOV RI,A;读DSP内部存储区并发送到串口ReadHPI:;读高字节并发送MOV DPTR.#1100HMOVX A,DPTRMOV SBUF,AJNB TI$CLR TI;读低字节并发送MOV DPTR, #1500hMOVX ACPTRMOV SBUF, AJNB TI, $CLR TIDJNZ RI , ReadHPT;再次取地址AJMP SetAddressEnd3.3 系统实现功能主程序当主机接口将引导程序从单片机中全部转移到HPI RAM时,系统开始工作。但此时进入特定模式,把程序1000H单元开始的HPI RAM空间转移到另外的内部程序存储器中,清空HPI RAM空间作为数据交换时使用。此时进行主程序进行工作,主程序主要包括数据交换和数据处理。4、结束语DSP与单片机之间有许多连接方式, (例如利用双口RAM或者通过串口),但是它们都要占用DSP的处理时间,这在要求苛刻的场合可能会影响到系统的实时性。而HPI接口则通过DSP片内的DMA控制器来访问片内存储器,它不需要DSP的干预。可以说,HPI接口是DSP的一个"后门",单片机通过这个"后门"可以访问到DSP的片内存储器。只有当HPI接口和DSP同时对同一地址进行访问时,由于HPI具有访问优先权,这时DSP的执行大会被延迟一个周期,而这种情况对系统实时性的影响是非常小的.5、参考文献1 孟菊,王金海,赵雷新,张丽丽.基于ARM和DSP的嵌入式智能仪器系统设计J.微计算机信息,2006,22(6-2):198-200.2 侯丽华.基于电力载波的电能质量监测系统J.微计算机信息,2006,22(12-1):120-122.3 王彬,王冰峰.ARM与DSP的通信接口研究和设计要点J.工业控制计算机,2007,20(2):23-24.4 戴明桢,周建江.TMS320C54X DSP结构、原理及应用M.北京:北京航空航天大学出版社,2001.5 TMS320VC5402 and TMS320UC5402 BootloaderZ.Texax Instruments,2002,2.6 S3C2410 User ManualZ.Sam sung Electronics.