资源描述
学 号 09750214
DSP原理及应用
设计阐明书
基于PC机并口与DSPHPI接口通信设计
起止日期: 年 12 月 17 日 至 年 12 月 22 日
学生姓名
崔开
班级
09电气2班
成绩
指引教师(签字)
控制与机械工程学院
12月 22日
天津都市建设学院
课程设计任务书
— 年第 一 学期
控制与机械工程学院 学院 电气工程及其自动化 专业 09 电气2 班级
课程设计名称: DSP原理及应用
设计题目: 基于PC机并口与DSPHPI接口通信设计
完毕期限:自 年 12 月 17 日至 年 12 月 22 日共 1 周
设计根据、规定及重要内容(可另加附页):
一、课程设计目
通过本课程设计,锻炼学生查阅资料、方案比较、运用知识能力。使学生掌握C54系列DSP 芯片构造、原理和典型应用,并且可以熟悉DSP开发流程和基本设计办法,既巩固所学基本理论知识, 又为学生日后从事开发设计奠定基本。
二、课程设计内容及规定
主机接口HPI是一种高速、异步并行接口,本次设计要实现TMS320C54X通过HPI与PC机并行通信,完毕:
1、设计有关硬件电路。
2、通信软件设计。
3、书写设计阐明书
三、参照资料:
1、吴冬梅 张玉杰 北京大学出版社 DSP技术及应用
2、戴明桢 周建江 北京航天航空大学出版社 TMS320C54X DSP构造、原理及应用
3、王安民 陈明欣 清华大学出版社 TMS320C54X XDSP实用技术
4、苏涛.DSP实用技术 .西安:西安电子科技大学出版社
5、米根锁,王瑞峰.用DSP主机接口HPI实现DSP与PC机间通信[J].自动化与仪器仪表,,31(6):75-76.
指引教师(签字):
批准日期: 年 月 日
教研室主任(签字):
目 录
摘要 3
一、总体设计方案 3
二、硬件系统设计 4
三、软件系统设计 6
1、通信合同:…………………………………………………………………………………..6
2、程序执行:……………………………………………………………………………… 6
四、心得体会 7
五、参照文献 8
六、附录 9
附录1…………………………………………………………………………………………… 9
附录 2……………………………………………………………………………………………13
摘要:
以TMS32C542为例,简介了其系列DSP(digital signal process—ing)芯片HPI(host port interface)口各个构成某些及其功能,并以AT89C51单片机作为主解决机,阐述了与TMS320C542之间实现数据共享办法,成功地解决了主解决机通过HPI接口对DSP内部数据进行在线修改和实时监控问题。最后给出了如何用HPI口实现程序加载引导,以提高程序运营速度办法。
关 键 词:TMS320C54X;DSP;HPI口;
一、总体设计方案
DSP作为一种先进可编程解决器,近几年来应用极其广泛。其中,TMS32OC54X是TI公司推出定点系列数字信号解决芯片,它具备运算速度高、CPU构造优化、功耗低和智能化外设等特点,特别合用于实时嵌入式系统开发。它已成为数字产品设计中低成本、低功耗、高性能数字信号解决芯片首选,在便携式仪器、消费类电子、医疗设备等领域得到广泛应用。但咱们在学习中发现TMS320C54X系列芯片存在2个应用问题:① DSP应用系统一旦开发完毕投入使用后,再想对DSP内数据进行监控,或者在线修改很不以便,不论是接串口,还是接I/O 口都要占用DSP硬件资源,同步软件开销也非常大。② 在DSP 扩展程序/数据存储器时, FLASH 因其烧写以便而较为惯用,但此类器件数据存取速度慢,难以满足DSP系统高速运营规定。这也是限制TMS320C54X广泛应用一种因素。此外,TITMS320C54系列DSP芯片内部提供了原则8位HPI主机接口,用来与主设备或者主解决器接口,在通过HPI口和主机通信过程中,完全没有硬件和软件开销,而由DSP自身硬件协调冲突,从而不会打断DSP正常程序运营,且运用HPI口,还能成功地进行程序加载引导。
传感器采集到模仿信号通过滤波放大后,由模/ 数转换器转换成相应数字信号,再由DSP( TMS320C54x) 进行数字信号解决,将解决后数据通HPI(主机接口) 传送到单片机(C8051F020)中,单片机内嵌入TCP/ IP 合同,它重要负责数据远程通信,完毕网络数据拆包与主机接口数据打包。单片机通过并行接口与以太网控制器连接,以中断方式实现并行通信。以太网控制器接受到网络传播到数据后,通过MAC 比较、CRC 校验后,存到接受缓冲区;收满一帧后,以中断方式告知单片机。单片机对接受到数据进行判断,如果是UDP数据包,则检查IP 地址和端标语,如果对的则接受数据包,并解包,然后将数据某些发送至DSP。反之,如果接受到DSP 发送来数据,则将数据按照UDP 合同格式打包,然后送到以太网控制器中发送缓冲区,传播到网络上。
TMS320C54x系列DSP与PC机通信方式有两种:一种是运用DSP主机接口HPI与PC并行口连接,由软件来设定通信波特率和握手方式。另一种方式是通过专用异步通信芯片来实现,它可以实现DSP与PC机高速数据通信。本次设计重要采用第一种方式来实现。
图1硬件系统框图
二、硬件系统设计
通过TMS320C5416 DSP HPI 接口与C8051F020单片机连接可以实现CPU 间级连,使系统达到双CPU 解决速度。硬件连接如图2 所示。
图2 TMS320C54X与C8051F020连接
以TMS320VC54x(简称为54x)包括增强型HPI-8接口为例,它与外部主机或微解决器连接,其具备单独8根数据线HD0~HD7和10根控制线。控制信号时序逻辑。主机积极通过HPI口访问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位,可以决定第一字节是这个字高字节还是低字节。
通过HPI实现程序下载属于54x程序加载五种途径之一。在需要与主机连接应用设计中,采用HPI程序加载方式可以使电路设计简化,省去外部并行或串行ROM或FLASH程序存储器。
DSP 主机接口有两种工作方式,共用寻址方式(SAM) 和仅主机寻址方式( HOM) 。DSP 和单片机都可以访问片内存储器,当单片机与DSP 访问冲突时,单片机有优先权,DSP 则等待一种周期。
单片机先向DSP 写入控制字,设立工作模式,然后将访问地址写入HPIA ,再对HPID 进行读写,即可读出和写入指定存储单元。由HBIL 、HC2N TL1 、HCN TL0 区别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
mov 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 @DPTR ,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(片上系统) 作为该智能仪器网络接口核心器件,使得该接口具备广泛扩展功能。
TMS320C5416芯片简介
TMS320VC5416是TI 新一代16 位定点数字信号解决器,它微解决器采用修正增强型哈佛构造,操作速度可达160MIPS 。片内有CPU、8条总线、RAM、ROM及片内外设等硬件配备。以及高度专业化指令系统,使其具备集成度高、扩展性好、解决功能强、功耗低等长处,可以满足众多领域适时性解决规定等特点。
当前,TMS320C5416均有C语言和汇编语言开发工具,这使得开发DSP程序更加以便和高效。在某些状况下使用C语言会比较好,但是有时就需要用汇编语言,这时咱们就可以采用C语言和汇编语言混合编程办法来实现,以达到最佳地运用DSP芯片软硬件资源目。
在CVDD为核心CPU是电源同步,DVDD为输入/输出接口提供电源。 VSS既是提供输入/输出接口电源又是CPU电源。
图3 TMS320C5416芯片引脚图
三、软件系统设计
在硬件设计基本上,从HPI到PC并行端接口软件设计可以分为两某些:引导装载阶段和核心阶段。
通过实例,核心过程集中了数据传播几种状况重要涉及:
1、通信合同:
数据从程序存储区传播到PC;
数据从数据存储区传播到PC;
数据从PC传播到程序存储区;
数据从PC传播到数据存储区;
2、程序执行:
在一种应用中并不是上面几种传播状况都是必须,但其中通信合同是必要程序,由于主机和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:从给定地址开始执行程序。
开始
初始化
开中断
送点频号
检测三路副载频与否存在
检测CC脉冲与否存在
结束
图4主程序流程图
四、心得体会
这次课程设计,从开始接到论文规定到题目实现,再到论文文章完毕,我学到了诸多知识也有诸多感受,我开始了独立学习和实验,查看有关资料和书籍,让自己头脑中模糊概念逐渐清晰,使自己作品一步步完善起来,每一次改进都是我学习收获,每一次实验成功都会让我兴奋好一段时间。当看着自己程序,自己成天相伴系统可以健康运营,真是莫大幸福和欣慰。我相信其中酸甜苦辣最后都会化为甜美甘泉。
五、参照文献
[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核心技术及应用.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 special,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
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 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
.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,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
展开阅读全文