毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

基于DSP的DTMF通信系统 第9页

更新时间:2008-4-18:  来源:毕业论文

基于DSP的DTMF通信系统 第9页

第五章软件编程实现

5.1  系统软件编程环境

    本系统软件是在CCS2.2C5000集成开发环境下进行开发的。CCSCode Composer Studio,TI公司提供的DSP开发软件。CCS提供了配置,建立,调试,跟踪和分析程序的工具,它便于实时信号处理程序的编制和调试,它能够加速开发进程,提高工作效率。CCS包括CCS代码生成工具,CCS集成环境开发,DSPBIOS插件程序和API等几部分,且支持设计 ,编程和编译,调试,分析等开发周期的所有阶段。

5.1.1  代码生成工具

代码生成工具奠定了CCS所提供的开发环境的基础。

TMS320C54XX的开发工具包括:

C编译器(C complier):将C源程序代码自动编译为汇编语言源代码,C编译器与ANSI标准完全兼容,具有ANSI标准运行支持库,可将目标代码文件直接发放入ROM中使用。

编译器(assembler):将汇编语言源文件转换成为基于公用目标文件格(COFF)的机器语言目标文件。

连接器(linker):将目标文件连接起来产生一个可执行模块。

归档器(archiver):将一组文件归入一个归档文件。

运行支持库(run-time-support libraries)。

交叉引用列表器(cross-reference lister)。

绝对列表器(absolute lister)。

5.1.2  集成开发环境CCS

TI公司的DSP集成开发环境CCSCode Composer Studio)。CCS提供了环境配置、源文件编辑、程序调试、跟踪和分析等工具,CCS支持C源程序,汇编程序和C与汇编的混合程序设计。应用程序通过工程文件来创建,工程文件包括C源程序,汇编源程序,目标文件,库文件,连接命令文件和包含文件。编译,汇编和连接文件时可以分别指定它们的选项。在CCS中,可以编译单个文件,也可以扫描出工程文件的全部文件包含重属树,还可以利用传统的makefiles文件编译。CCS还提供GEL语言,它允许开发者向CCS菜单中添加自定义功能。 CCS一般工作在两种模式 ,即软件仿真器和硬件在线编程。本设计进行实时在线编制和调试应用程序。

5.1.3   硬件仿真和实时数据交换

TI DSP 提供了在系统仿真支持的功能,它使得CCS能够控制程序的执行,实时地监视程序运行,增强JTAG连接提供了在片仿真的支持,它是一种可与任意DSP系统相连接的连接。仿真器提供DSP侧的JTAG接口,使用JTAG仿真器可以实现实时的仿真,并在断点时将寄存器内容和存储器内容上传CCS开发环境中。以便进行系统调试,即决编程中的逻辑错误。

5.2  具体编程算法实现

系统的硬件必须有相应得程序相配合,才能被执行。因此对硬件的编程是系统的又一关键步骤。可以说硬件和软件在系统的实现中同等重要,在进行硬件设计时要考虑如何进行软件编程实现:而进行的软件编程又是围绕硬件进行的。该程序设计不同与在计算机上的程序的设计。主要表现在以下两个方面,一方面:编程操作的对象不同,系统机上的程序设计大多属于纯软件的,而DSP的程序设计属于对具体的硬件操作方面的程序设计;另一方面,系统机的编程是在操作系统得基础上的编程,因而实现起来相对简单,而DSP的程序设计是没有操作系统的,因此每一步操作都需要用户按步骤一步一步的实现,因而编程较难实现。    若图片无法显示请联系QQ752018766                    

5.2.1 主体程序设计

程序设计是针对围绕着系统整体实现的 。流程图如下:

5.2.2 初始化程序设计

若图片无法显示请联系QQ752018766
在初始化子程序中,首先定义了两个采样缓冲数组,其长度为一秒的采样值,

5-2  5402初始化流程图

数组长度50*128=6400个。为了能够高速的执行程序,实现高速的实时的处理,因此本系统采用在程序初始化时,将中断向量表程序和实时计算程序从外部程序存储器搬移到内部的DARAM中,而将显示等慢速操作程序仍放在外部程序存储器中执行。从而既充分的利用了内部的存储器资源,又实现了高速的实时处理。

此外在初始化程序中还进行了提高时钟频率,在程序外部存储器地址空间插入5

个软件等待周期,外部数据存储器操作时插入1个软件等待周期。对I/O操作时函数进行的 ,其中X[2*nx]为输入输出数据存储数组,nxFFT运算长度,scale=1 是表示进行归一化,scale=0 表示不进行归一化运算处理。因此在本系统中只需完成数据变换前的准备和数据变化后的处理。流程图如上所。

5.2.3 存储器AmLV400B的编程

DSP系统中对FLASH编程一般有两种方法:一是通过仿真器在DSP仿真环境下通过仿真口(JTAG)FLASH擦除/编程操作;另一种是直接通过主机口(HPI)FLASH进行操作。考虑工程的需要,我们通过主机口(HPOFLASH进行编程和擦除操作。基本思想是:将应用程序编译连接成目标文件后,利用HEX500将其转换成ASCIHe:格式,通过主机口将应用程序逐块装载到片内RAM某一区域;然后将FLASH读写控制程序和监控程序装载到片内的另一区域。最后运行片内监控程序通过FLASH读写控制程序逐字/字节将应用程序写入FLASH。在对FLASH擦除/编程以后,芯片有一个延迟时问把FLASH的状态反馈给状态位。Am29LV400B提供T6个状态位:DQ2, DQ3,DQ5, DQ6, DQ7以及RY/BY#,通过这些状态位可以判断擦除/编程操作过后的状态。我采用了DQ5DQ7作为本程序的状态检测位。DQ7为数据查询位,在FLASH的编程过程中,DQ7输出的是写人数据的反码;编程结束后.DQ7输出的是写人数据的原码,由此可以判断嵌入式编程算法是否完成。擦除过程中,DQ7输出“0 擦除结束或进人擦除暂停模式后,DQ7输出“I"o擦除过程中为了在DQ7 r获得

有效的状态信息,系统所提供的有效地址必须是正在被擦除的块中的地址。IlQ5为擦除/编程操作的超时标识位,用来指示FLASH擦除/编程操作是否超过规定的时限。如果操作超过规定的时限,DQ5将输出“I ..。此时必须对FLASH复位才可进行其他的操作。

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

基于DSP的DTMF通信系统 第9页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。