DSP程序下载软件设计论文

时间:2022-07-15 05:14:03

DSP程序下载软件设计论文

1硬件设计

1.1DSP芯片

本文所选用的DSP芯片为TMS320C6713,其时钟频率高达300MHz,是浮点运算能力最强的一款32位高速浮点型DSP芯片。HPI-16是HPI接口的升级增强版,是该芯片的主机口,最重要的特征是DSP的整个片内空间可以被主机访问。HPI接口与主机的数据通信主要通过HPI控制器(HPIC)、地址寄存器(HPIA)、数据寄存器(HPID)和HPI内存块来实现。

1.2USB芯片

本文所采用的USB芯片是CYPRESS公司的EZ-USBFX2系列芯片CY7C68013,特点是主机上就存储这其芯片固件,这样容易使代码直接通过网络升级。它的休眠模式比较特殊,具有低功耗的效果,减少资源的损耗,有利于更好的保护器件,避免长时间通电遭到损坏。2.3硬件电路连接本设计采用CY7C68013-128PVC与TMS320C6713的HPI模块接口相连接,工作模式设置为GPIF模式。

2软件设计

2.1USB固件程序设计

固件程序的开发环境选择KEILC51。固件函数库提供了许多函数,该函数都与USB协议相关,可以在不熟悉USB协议的情况下,利用固件框架进行所需功能的程序编写。寄存器初始化、电源管理、重枚举等功能已经设计完整,可以直接使用。整个执行过程是一个相对简单的循环过程。第一步,优先初始化内部变量;然后,调用TD_Init()函数进行寄存器的初始化工作;TD_Init()函数执行结束之后,使USB接口处于位配置状态,并开中断,检测端口0是否接受到一个SETUP包,否则端口0执行延时重枚举操作。初始化函数TD_Tint()函数负责完成初始化芯片的寄存器,设置适当的参数,通常在固件运行时开始调用。

该函数首先CPUCS寄存器进行初始化操作,设置48MHZ的时钟频率;然后分别配置端点2作为IN输入bulk状态、端点6使其工作于OUT传输状态,而端点4、8暂时没有使用,所以设置为无效状态;之后调用GpifIint()函数,以初始化GPIF的相关寄存器,进入工作模式。调度函数TD_Poll()函数在固件代码中循环执行,以负责完成用户指定的功能。该函数首先判断检测传输是否完成、CY7C68013的GPIF的接口是否处于空闲、端点2缓冲区是否为空闲状态,当这些条件均成立时,将马上启动GPIF写传输。另外,在USB高速传输状态时,GPIF能够一次读取4096字节的数据,适合处理庞大的数据;而在USB全速传输时,GPIF一次只能读取64字节数据,处理速度比较慢,适宜处理数据量比较小的情况。TD_Suspend()函数,从固件框架中可以看出,该函数只有在USB处于空闲状态是,才执行。在例程当中,只有简单的一句returnTRUE代码,开发者可以根据实际需要,添加相应的代码以完成相关的功能,还可以配置设备的工作状态,一般设置为低功耗状态,以减少对电源的消耗,其最终结果返回真值,反馈给用户。TD_Resume()函数,当执行完TD_Suspend()函数之后,若返回的是真值,程序会进入挂起状态,然后开始执行TD_Resume()函数,该函数也只有returnTRUE一句代码,当外部需要执行唤醒中断或者USB总线需要执行数据传输等操作,就会对处理器进行重新启动,开始下一个循环。

2.2应用程序设计

使用LabWindows/CVI支持的VISA的库函数和堪比VC++的控制件库能够轻松设计出美观且符合用户要求的应用程序界面。用LabWindows/CVI设计的应用程序界面,。按钮是界面设计中常用到的控件,该应用程序主要由打开设备、复位和程序下载三部分组成。

3总结

本文设计了USB接口与DSP系统的结合使用,设计出一套基于USB接口的DSP程序下载软件,提供了一种新的数据传输解决方案。总体上,整个软件基本能完成打开设备、复位和代码下载的功能。

作者:蓝雷波 毕艺飞 莫锦河 单位:中国海洋大学信息科学与工程学院

上一篇:线测试设备软件设计论文 下一篇:大学生专业学习室内设计论文