1、学 号 09750214 DSP原理及应用 设计阐明书 基于PC机并口与DSPHPI接口通信设计 起止日期: 年 12 月 17 日 至 年 12 月 22 日 学生姓名 崔开 班级 09电气2班 成绩 指引教师(签字) 控制与机械工程学院 12月 22日 天津都市建设学院 课程设计任务书 — 年第 一 学期 控制与机械工程学院 学院 电气工程及其自动化 专业 09 电气2 班级 课程设计名称: DSP原理及应用
2、 设计题目: 基于PC机并口与DSPHPI接口通信设计 完毕期限:自 年 12 月 17 日至 年 12 月 22 日共 1 周 设计根据、规定及重要内容(可另加附页): 一、课程设计目 通过本课程设计,锻炼学生查阅资料、方案比较、运用知识能力。使学生掌握C54系列DSP 芯片构造、原理和典型应用,并且可以熟悉DSP开发流程和基本设计办法,既巩固所学基本理论知识, 又为学生日后从事开发设计奠定基本。 二、课程设计内容及规定 主机接口HPI是一种高速、异步并行接口,本次设计要实现TMS320C54X通过HPI与PC机并行通信,完毕: 1、设
3、计有关硬件电路。 2、通信软件设计。 3、书写设计阐明书 三、参照资料: 1、吴冬梅 张玉杰 北京大学出版社 DSP技术及应用 2、戴明桢 周建江 北京航天航空大学出版社 TMS320C54X DSP构造、原理及应用 3、王安民 陈明欣 清华大学出版社 TMS320C54X XDSP实用技术 4、苏涛.DSP实用技术 .西安:西安电子科技大学出版社 5、米根锁,王瑞峰.用DSP主机接口HPI实现DSP与PC机间通信[J].自动化与仪器仪表,,31(6):75-76. 指引教师(签字): 批准日期: 年 月
4、 日 教研室主任(签字): 目 录 摘要 3 一、总体设计方案 3 二、硬件系统设计 4 三、软件系统设计 6 1、通信合同:…………………………………………………………………………………..6 2、程序执行:……………………………………………………………………………… 6 四、心得体会 7 五、参照文献 8 六、附录 9 附录1…………………………………………………………………………………………… 9 附录 2……………………………………………………………………………………………13
5、 摘要: 以TMS32C542为例,简介了其系列DSP(digital signal process—ing)芯片HPI(host port interface)口各个构成某些及其功能,并以AT89C51单片机作为主解决机,阐述了与TMS320C542之间实现数据共享办法,成功地解决了主解决机通过HPI接口对DSP内部数据进行在线修改和实时监控问题。最后给出了如何用HPI口实现程序加载引导,以提高程序运营速度办法。 关 键 词:TMS320C54X;DSP;HPI口; 一、总体设计方案 DSP作为一种先进可编程解决器,近几年来应用
6、极其广泛。其中,TMS32OC54X是TI公司推出定点系列数字信号解决芯片,它具备运算速度高、CPU构造优化、功耗低和智能化外设等特点,特别合用于实时嵌入式系统开发。它已成为数字产品设计中低成本、低功耗、高性能数字信号解决芯片首选,在便携式仪器、消费类电子、医疗设备等领域得到广泛应用。但咱们在学习中发现TMS320C54X系列芯片存在2个应用问题:① DSP应用系统一旦开发完毕投入使用后,再想对DSP内数据进行监控,或者在线修改很不以便,不论是接串口,还是接I/O 口都要占用DSP硬件资源,同步软件开销也非常大。② 在DSP 扩展程序/数据存储器时, FLASH 因其烧写以便而较为惯用,但此类
7、器件数据存取速度慢,难以满足DSP系统高速运营规定。这也是限制TMS320C54X广泛应用一种因素。此外,TITMS320C54系列DSP芯片内部提供了原则8位HPI主机接口,用来与主设备或者主解决器接口,在通过HPI口和主机通信过程中,完全没有硬件和软件开销,而由DSP自身硬件协调冲突,从而不会打断DSP正常程序运营,且运用HPI口,还能成功地进行程序加载引导。 传感器采集到模仿信号通过滤波放大后,由模/ 数转换器转换成相应数字信号,再由DSP( TMS320C54x) 进行数字信号解决,将解决后数据通HPI(主机接口) 传送到单片机(C8051F020)中,单片机内嵌入TCP/ IP 合
8、同,它重要负责数据远程通信,完毕网络数据拆包与主机接口数据打包。单片机通过并行接口与以太网控制器连接,以中断方式实现并行通信。以太网控制器接受到网络传播到数据后,通过MAC 比较、CRC 校验后,存到接受缓冲区;收满一帧后,以中断方式告知单片机。单片机对接受到数据进行判断,如果是UDP数据包,则检查IP 地址和端标语,如果对的则接受数据包,并解包,然后将数据某些发送至DSP。反之,如果接受到DSP 发送来数据,则将数据按照UDP 合同格式打包,然后送到以太网控制器中发送缓冲区,传播到网络上。 TMS320C54x系列DSP与PC机通信方式有两种:一种是运用DSP主机接口HPI与PC并行口连接
9、由软件来设定通信波特率和握手方式。另一种方式是通过专用异步通信芯片来实现,它可以实现DSP与PC机高速数据通信。本次设计重要采用第一种方式来实现。 图1硬件系统框图 二、硬件系统设计 通过TMS320C5416 DSP HPI 接口与C8051F020单片机连接可以实现CPU 间级连,使系统达到双CPU 解决速度。硬件连接如图2 所示。 图2 TMS320C54X与C8051F020连接 以TMS320VC54x(简称为54x)包括增强型HPI-8接口为例,它与外部主机或微解决器连接,其具备单独8根数据线HD0~HD7和10根控制线。控制信号时序逻辑。主机积极通过HPI
10、口访问DSP,除了对主机发中断(通过置HPIC寄存器HINT位,可以使HINT线有效)或清除主机发来中断(通过清HPIC寄存器DSPINT标志)需要DSP干涉外,54xCPU几乎不用进行其她操作,片内DMA通道会自动辅助完毕RAM区和HPI数据寄存器数据传播。主机由HCNTL0/1线来拟定选取HPI某个控制寄存器。通过对这4个寄存器访问,就可以在所设安全机制容许范畴下读/写DSP所有或某些片内RAM。由于DSP最小存储单位是字(16位),因而对于HPI-8,每个传递必要要有2个传递周期才干完毕。HBLL信号用于区别传递字节是当前字第一字节还是第二字节。通过设立HPIC寄存器BOB位,可以决定第
11、一字节是这个字高字节还是低字节。 通过HPI实现程序下载属于54x程序加载五种途径之一。在需要与主机连接应用设计中,采用HPI程序加载方式可以使电路设计简化,省去外部并行或串行ROM或FLASH程序存储器。 DSP 主机接口有两种工作方式,共用寻址方式(SAM) 和仅主机寻址方式( HOM) 。DSP 和单片机都可以访问片内存储器,当单片机与DSP 访问冲突时,单片机有优先权,DSP 则等待一种周期。 单片机先向DSP 写入控制字,设立工作模式,然后将访问地址写入HPIA ,再对HPID 进行读写,即可读出和写入指定存储单元。由HBIL 、HC2N TL1 、HCN TL0 区别
12、16 位数据高、低字节。将单片机低三位地址线A2 、A1 、A0 分别接到HBIL 、HCN TL1 、HCN TL0 上。 单片机向DSP 存储器写数据某些代码如下: ;单片机向HPIC 写控制字0000H0000000 mov DPTR ,# 4000H mov A ,# 00H movx @DPTR ,A ;第一字节,HCNTL1/ 0 = 00 ,HBIL = 0 mov DPTR ,# 4004H mov A ,# 00H movx @DPTR ,A ;第二字节,HCNTL1/ 0 = 00 ,HBIL = 1 ;向HPIA 寄存器写要访问地址1000H mo
13、v DPTR ,# 4002H mov A ,# 10H movx @DPTR ,A ;第一字节,HCNTL1/ 0 = 10 ,HBIL = 0 mov DPTR ,# 4006H mov A ,# 00H movx @DPTR ,A ;第二字节,HCNTL1/ 0 = 10 ,HBIL = 1 ;向HPID 寄存器写数据1234H mov DPTR ,# 4001H mov A ,# 12H movx @DPTR ,A ;第一字节,HCNTL1/ 0 = 01 ,HBIL = 0 mov DPTR ,# 4005H mov A ,# 34H movx @DPT
14、R ,A ;第二字节,HCNTL1/ 0 = 01 ,HBIL = 1 C8051F020 单片机和DSP 芯片上有丰富片上资源。C8051F020 芯片上有可编程增益放大器ADC ,可供扩展;可程控更新DAC ;64 kB 在系统可编程FLASH 存储器;外部存储器接口,SPI、SMBus 和UART 串行接口等,以便扩展键盘、LCD 液晶显示屏等外围设备。TMS320C54x DSP 提供了McBSPs (多通道缓冲串口) ,容许与其她54x 设备、编解码器等进行直接接口;涉及6 通道DMA控制器,用于执行独立数据传播。因而选取这样SOC(片上系统) 作为该智能仪器网络接口核心器件,使
15、得该接口具备广泛扩展功能。 TMS320C5416芯片简介 TMS320VC5416是TI 新一代16 位定点数字信号解决器,它微解决器采用修正增强型哈佛构造,操作速度可达160MIPS 。片内有CPU、8条总线、RAM、ROM及片内外设等硬件配备。以及高度专业化指令系统,使其具备集成度高、扩展性好、解决功能强、功耗低等长处,可以满足众多领域适时性解决规定等特点。 当前,TMS320C5416均有C语言和汇编语言开发工具,这使得开发DSP程序更加以便和高效。在某些状况下使用C语言会比较好,但是有时就需要用汇编语言,这时咱们就可以采用C语言和汇编语言混合编程办法来实现,以达到最佳地运用DS
16、P芯片软硬件资源目。 在CVDD为核心CPU是电源同步,DVDD为输入/输出接口提供电源。 VSS既是提供输入/输出接口电源又是CPU电源。 图3 TMS320C5416芯片引脚图 三、软件系统设计 在硬件设计基本上,从HPI到PC并行端接口软件设计可以分为两某些:引导装载阶段和核心阶段。 通过实例,核心过程集中了数据传播几种状况重要涉及: 1、通信合同: 数据从程序存储区传播到PC; 数据从数据存储区传播到PC; 数据从PC传播到程序存储区; 数据从PC传播到数据存储区; 2、程序执行: 在一种应用中并不是上面几种传播状况都是必须,但其中通信合同是必要程
17、序,由于主机和DSP芯片之间只有依托该合同才干互换信息,如执行程序命令、起始地址、传播数据数量等。 下面是用TMS320C54x汇编语言实现上述核心软件某些。程序重要由主程序、DPM、DDM、DLD、DLP、DMPREG、HOSTACK和EXECUTE等模块构成,各种模块作用如下。 (1)DPM:数据从程序存储区传播到PC。 (2)DDM:数据从数据存储区传播到PC。 (3)DLD:数据从PC传播到程序存储区。 (4)DLP:数据从PC传播到数据存储区 (5) DMPREG:保存环境到RAM中系统堆栈。 (6) HOSTACK:主机已经确认任务结束。 (7) EXECUTE:从
18、给定地址开始执行程序。 开始 初始化 开中断 送点频号 检测三路副载频与否存在 检测CC脉冲与否存在 结束 图4主程序流程图 四、心得体会 这次课程设计,从开始接到论文规定到题目实现,再到论文文章完毕,我学到了诸多知识也有诸多感受,我开始了独立学习和实验,查看有关资料和书籍,让自己头脑中模糊概念逐渐清晰,使自己作品一步步完善起来,每一次改进都是我学习收获,每一次实验成功都会让我兴奋好一段时间。当看着自己程序,自己成天相伴系统可以健康运营,真是莫大幸福和欣慰。我相信其中酸甜苦辣最后都会化为甜美甘泉。
19、 五、参照文献 [1]TMS320C54x DSKplus User's Guide. Texas Instrument.,October. 1996 [2]戴明桢 周建江.TMS320C54x DSP构造、原理及应用[M].北京:北京航空航天大学出版社,.67-72. [3]王士元.C高档实用程序设计[M].北京:清华大学出版社,1996 [4]王旭,何友,黄永峰..IP电话网关语音压缩数据解决.电子技术应用,(6):1-5 [5]沈漫源,顾江敏,徐佩霞..新一代定点DSP在网络电话系统中应用.电讯技术,(2):1-5 [6]罗华,袁祝新..VoIP核心技术
20、及应用.MODEN COMPUTER (10):1-3 [7]陈启祥,张明武..IP电话系统构造分析与设计.计算机工程,27(6):1-3 [8]施寒潇,朱巧明,吕强..基于Internet语音交互系统设计和实现.电子工程师,28(3):1-3 六、附录 附录1 .def tmp,buttptr,scratch,command,starded,length,dump .def main,start,hack,lddm,ldld,ldlp,ldpm,exec .def spe
21、cial,trapx .bss buttptr .bss tmpl .bss tmpl .bss scratch.1 .bss usp.1 .bss blank.3 .bss STACK.12 .bss TMPSTK.12 .bss PC.1 Command .usect”COMMS”,512.1 Statadd .set command+1 Length .set command+2 Dump .set command+3 HOSTACK .macro Hack Ldm hpic,a And #08h,a Bc hack,anep Ret .endm
22、 DPM .MACRO LD statadd,0,a Mvdm length,ar,7 Stm #dump,ar5 Nop Nop loop:reada *ar5+ add #1.0.a banz loop,*ar7 stm #0ah,hprc Call hack Ret .endm DLP .macro Ld startaadd,0,a Mvdm length,ar7 Stm #dump,ar5 Nop Nop Loop:writa *ar5+ Add #1,0,a Banz loop,*ar7- Stm #0ah,hpic Call
23、 hack .endm DMPREG .macro Trapx Ssbx intm Pshtn bl Ldm sp,b Stm #STACK+12,SP PSHM ST0 PSHM ST1 Pshm tim Pshm ar5 Pshm ar6 Pshm ar7 Pshm ag Pshmah Pshm al Stlm b,sp Nop Nop Popm bl Ld #0,dp Popm al Stl A,PC Ldm ifc,a Or #0204h,0.a Stlm a,ifr Ld #command,dp Stm #0ah,hpic .
24、endm EXECUTE .macro Popm al Ld startadd,0,a Nop Pshm al Ld #0,dp Ldm sp,a Stl a,usp Stm #STACK+3,sp Stm #0ffffh,ifr Popm al Popm ah Popm ag Popm ar7 Popm ar6 Popm ar5 Popm tim Popm st1 Popm st2 Nop Nop .endm HPINT .bss trap .space 2*16 Start ssbx intm Ld #0,dp Stm #0fffh,
25、ift Stm #0200h,imr St #0000h,72h St #2a00h,71h Rsbx sxm Stm #TMPSTK+12,SP Ld #1020H,0,A STM A,PMST Stm #0swwar Call hack Stm #0ah,hpic Ld #command,dp Redo Asbx intm Rsbx xf Idm ifr,a Main Idm ifr,a Or #0204h,0,a Stlm a,ifr Mvdm command,ar6 Nop Nop Nop Lddm banz ldpm.*ar5- DDM Ldpm banz ldld,*ar5- DPM Ldld banz ldlp,*ar5- DLD Ldlp banz exec,*ar5- DLP Exec banz special,*ar5- EXECUTE HOSTACK Trap DMPREG 附录 2






