一种便捷的DSP自举模块设计 - 图文

更新时间:2024-03-18 15:01:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

西安工程大学本科毕业设计(论文)

摘 要

TMS320VC5416处理器因具有快速运算能力,使得它在消费类电子产品的研制中发挥着越来越大的作用,但由于TMS320VC5416处理器是RAM型器件,掉电后不能保存任何用户程序,所以在应用过程中一般对其经行自举设计。但是在现有的自举模块的实现非常繁琐,并且不利于产品的更新与升级。因此,本文提出一种便捷的DSP自举模块设计。

该模块利用C8051F340单片机实现TMS320VC5416的自举方案,既节省了资源又降低了设计成本,并且提高了系统的稳定性和集成度。本系统包括上位机和下位机,上位机完成用户文件的从.out到.dat的格式转换并通过USB通信将更新代码移植;下位机C8051F340的片内FLASH用作DSP的片外存储器,并通过SPI接口实现对DSP自举代码的更新。该模块能够实现一键自举功能。实验证明:本文设计的一种便捷DSP自举模块是合理可行的。

本文首先介绍了所要用到的一些基本原理及相关设计工具;其次是系统的硬件设计及软件设计部分;最后详细介绍了系统的调试结果与分析部分。

关键词:DSP,TMS320VC5416,C8051F340,自举,FLASH

西安工程大学本科毕业设计(论文)

ABSTRACT

The TMS320VC5416 processor has the fast computing ability, so it plays an important role in the research of consuming electronics products. The reason why the processor can not save any user’s program when it is power off is that it is RAM type devices. So we commonly use the boot-strapped method to solve it. But the existing boot-strapped method is complicated and difficult to update and upgrade,we present a simple boot-strapped DSP method in this paper.

In the paper we use the C8051F340 MCU to achieve the boot-strapped method, which has a low cost and gets the stability and high integration level. The system includes upper and lower machine: PC of the upper machine transforms user’s files from .out to .dat and USB communication will update the code automatically; lower machine C8051F340 chip Flash for DSP chip memory, and DSP through the SPI interface on the bootstrap code updates. This module can achieve the boot-strapped method in one key. Experimental results show that the design of this kind of convenient bootstrap DSP module is reasonable and feasible.

This paper firstly introduces the basic principle and designing tool, then the hardware and software design of the system. We do a detailed analysis of debugging results in the end of paper.

.

KEY WORDS:DSP, TMS320VC5416, C8051F340, boot, FLASH

西安工程大学本科毕业设计(论文)

目 录

前 言 .............................................................................................................................. 1 第1章

基本原理与系统方案 .................................................................................. 2

1.1 基本原理 ................................................................................................................ 2

1.1.1 自举的基本原理 .......................................................................................... 2 1.1.2 SPI通信的基本原理 ...................................................................................... 3 1.2 系统方案设计 ........................................................................................................ 4

1.2.1 系统功能 ...................................................................................................... 4 1.2.2 系统方案 ...................................................................................................... 4 1.2.2.1系统硬件构架 ......................................................................................... 5 1.2.2.2器件介绍 ................................................................................................. 6 1.2.2.3软件环境 ............................................................................................... 10 1.2.2.4系统测试 ............................................................................................... 12 1.3 论文章节安排 ...................................................................................................... 12 第2章

硬件设计 .................................................................................................... 13

2.1 系统硬件功能描述 .............................................................................................. 13 2.2 硬件总体设计 ...................................................................................................... 13 2.3 硬件详细设计 ...................................................................................................... 14

2.3.1单片机系统设计 ......................................................................................... 14 2.3.2 DSP系统设计 .............................................................................................. 17 2.3.3 DSP与单片机之间的互连设计 .................................................................. 20 2.4 系统硬件原理图设计 .......................................................................................... 20 2.5 系统硬件PCB图设计 .......................................................................................... 21

西安工程大学本科毕业设计(论文)

第3章 软件设计 .................................................................................................... 23

3.1 软件设计的功能 .................................................................................................. 23 3.2 软件总体设计 ...................................................................................................... 23 3.2.1上位机LABVIEW总体程序设计 ....................................................................... 23 3.2.2下位机C8051F340总体程序设计 .................................................................... 24 3.3软件详细设计 ....................................................................................................... 27 3.3.1上位机LABVIEW详细程序设计 ..................................................................... 27 3.3.2.1上位机前面板详细程序设计 ..................................................................... 27 3.3.2.2上位机后面板详细程序设计 ..................................................................... 28 3.3.2下位机C8051F340详细程序设计 .................................................................. 29 3.3.2.1主程序设计 .............................................................................................. 29 3.3.2.2初始化程序设计 ...................................................................................... 31 3.3.2.3通信程序设计 .......................................................................................... 32 3.3.2.4自举程序设计 .......................................................................................... 34 3.3.3 DSP测试程序设计 ...................................................................................... 36 3.4 系统软件代码 ...................................................................................................... 37 第4章

系统调试及分析 ........................................................................................ 38

4.1 调试内容 .............................................................................................................. 38

4.1.1 USB通信调试 .............................................................................................. 38 4.1.2 SPI通信调试 ................................................................................................ 38 4.1.3自举调试 ..................................................................................................... 39 4.2 调试方案 .............................................................................................................. 39

4.2.1 USB通信调试方案 .................................................................................. 40 4.2.2自举系统调试方案 ................................................................................. 40

西安工程大学本科毕业设计(论文)

4.2.3 SPI系统调试方案 .................................................................................... 42 4.3 调试结果 .............................................................................................................. 43

4.3.1 USB通信调试结果 ...................................................................................... 43 4.3.2自举系统调试结果 ..................................................................................... 45 4.3.3SPI通信系统调试结果 ................................................................................. 46 4.4结果分析 ............................................................................................................... 47 第5章

结论与展望 ................................................................................................ 50

5.1 结论 ...................................................................................................................... 50 5.2 展望 ...................................................................................................................... 50 参考文献 ...................................................................................................................... 52 致 谢 ............................................................................................................................ 54 附录Ⅰ DSP最小系统原理图 .................................................................................... 55 附录Ⅱ 单片机系统原理图 ........................................................................................ 56 附录Ⅲ 软件程序代码 ............................................................................................ 57

西安工程大学本科毕业设计(论文)

前 言

数字信号处理器(Digital Signal Processor, DSP),是20世纪80年代美国TI公司推出的划时代产品。近30年来DSP芯片的诞生及发展对数字信号处理、军事、通讯、声音图像处理、工业控制、仪器仪表、消费电子、医学等领域的技术发展起到十分重要的作用。

TMS320VC54×系列数字信号处理器由于运算速度快、成本低、体积小、可靠性高、接口灵活和可编程特性的特点,使得其在许多电子产品的研发与应用过程中,发挥着越来越重要的作用。采用DSP芯片来经行数字信号处理更是当前发展的必然趋势。对于一个DSP系统,当用户程序通过JTAG仿真调试完毕后,为使DSP目标系统成为可脱机运行的独立系统,这就要利用DSP自举功能了。但是DSP在自举前首先需要将CCS编译的.out文件经行一系列的转换,然后将转换后的文件导入外部的存储器经行移植,用户程序的更新非常不方便。因此本文提出了一种便捷的、具有用户程序自动更新功能的DSP自举模块,模块包括上位机部分和下位机部分,上位机能够实现文件的格式转换,并通过USB通信将更新代码自动移植;下位机C8051F340的片内Flash用作DSP的片外存储器,通过SPI接口对DSP进行代码更新。SPI是一种高速的、同步的、全双工的通信总线,并且占用芯片的管脚少,既节约了芯片的管脚,又为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。为了最后调试工作和功能验证的需要,在本文中采用一个DSP最小系统作为DSP目标板,用来检验SPI通信是否正常和自举是否成功。

本论文共分为五章。第一章是设计中的一些基本原理和相关硬件、相关软件的介绍。第二章是系统硬件设计的介绍,包括了硬件的功能描述和硬件的总体设计和详细设计。第三章是系统软件的设计部分,在这章里将会对系统软件的功能、总体设计和各个部分的具体设计实现作详细的介绍。第四章是系统的调试与分析部分,这章主要对调试的过程作了详尽的描述,并对调试过程中产生的问题进行了分析。第五章是系统设计的结论与展望,在这一章中,结论部分是对系统的设计结果作了简单的总结,展望则是根据系统中存在的不足提出了一些相应的改进的方法。

1

西安工程大学本科毕业设计(论文)

第1章 基本原理与系统方案

本章主要是对DSP串行自举及SPI通信的具体实现方案进行分析,对设计中采用的解决方案和所涉及到的相关器件和软件进行了简单的介绍。

1.1 基本原理

1.1.1 自举的基本原理

所谓“自举”是指DSP系统在满足一定工作条件下,DSP芯片内的程序引导装载器(Bootloader) ,在DSP系统上电后,将自动的把存储在DSP芯片外部非掉电易失存储器内的用户程序代码搬移到DSP芯片中高速的片内RAM或系统中的扩展存储器内,搬移成功后自动执行代码,完成DSP系统上电后的自启动[1]。

TMS320VC5416的数据手册上提供了5种自举引导方式,分别是HPI自举、并行自举、串行EEPROM自举、标准串行自举、I/O自举[2]。DSP系统在上电复位后,首先检查MP/MC引脚,若该引脚为低电平,说明DSP被设置为微计算机模式,即程序从片内ROM的0FF80H起开始执行;若该引脚为高电平,说明DSP被设置为微处理器工作方式,即用户程序从外部程序存储器0FF80H地址开始执行。因为TMS320VC5416的片内4KROM中掩膜了TI公司设计的自举引导程序,故在使用DSP的自举引导功能时,必须使其MP/MC引脚为低电平,即设置为微计算机工作方式。在DSP执行自举引导程序搬移之前,首先对其进行初始化,主要内容包括:

1、关闭所有可屏蔽的中断;

2、 将片内DARM映射成程序/数据存储空间; 3、 将程序/数据存储空间设置为7个等待状态; 4、将I/O存储空间设置为7个等待状态。

当初始化完成后,根据设定的外部条件,判断条件是否有先后顺序,选择不同的自举引导方式。

2

西安工程大学本科毕业设计(论文)

1.1.2 SPI通信的基本原理

SPI接口是Motorola 首先提出的一种高速,全双工,同步通信总线,采用主从工作模式(Master Slave)工作;支持多slave模式应用,一般仅支持单Master。SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有基于SPI的设备共有的,它们是SDI(数据输入),SDO(数据输出),SCK(时钟),CS(片选)[3]。具体如图1-1所示:

Master

BLCKXSClKSlave

BDXBDRBFSXMOSIMOSO/SS 图1-1 SPI通信原理

(1)MOSI– 主设备数据输出,从设备数据输入(主发从收)。 (2)MOSO– 主设备数据输入,从设备数据输出(主收从发)。 (3)SCLK– 时钟信号,由主设备产生(时钟线)。 (4)/SS – 从设备使能信号,由主设备控制。 在通信过程中,主模式为(MASTER/SLAVE=1): 1、SPI在SCLK引脚为整个串行通信网络提供时钟。

2、 数据从MOSI引脚输出,并锁存MISO引脚上输入的数据。 从模式为 (MASTER/SLAVE=0):

1、SCLK引脚为串行移位时钟的输入,该时钟由网络主控制器提供。 2、MISO引脚为数据输出引脚,MOSI引脚为数据输入引脚[4]。 SPI总线的优点:

(1)总线速度:时钟速度很快,范围可从几兆赫兹到几十兆赫兹,目前应用中的数据速率可达几Mbps的水平,且没有系统开销。目前应用中的数据速率可

3

西安工程大学本科毕业设计(论文)

达几Mbps的水平。

(2)可实现全双工通信 [5]: SPI芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。

1.2 系统方案设计

1.2.1 系统功能

在本文中需要能够实现功能如下:

1、上位机能够自动完成DSP用户程序的格式转换并能够将转换后的新代码 通过USB通信自动移植;

2、下位机C8051F340单片机能够实现与上位机的USB通信,片内的FLASH 作为DSP外部存储器;

3、DSP处理器TMS320VC5416和C8051F340单片机之间实现SPI方式通信; 4、DSP最小系统能够实现掉电后自动加载程序,实现脱机运行。 1.2.2 系统方案

为实现以上的系统功能而提出以下的系统方案,本系统主要由上位机部分和下位机部分组成,本文主要实现框图如图1-2的虚线框部分。其中上位机用来完成用户程序代码的格式转换并通过USB通信将转换后的代码自动移植到下位机C8051F340单片机的FLASH中;下位机包括硬件部分和软件部分,用来完成与上位机的USB通信、与DSP目标板的SPI通信,此外下位机本身的FLASH作为DSP的外部存储器。下面将对系统的硬件构架和软件开发环境作已简单介绍。

4

西安工程大学本科毕业设计(论文)

自举模块 测试模块

PCC8051F340Flash LabVIEW 应用程序TMS320VC5416RS单片机应用程序驱动程序APIUSB 主机USBSPIMCBSP0SPIUSB 设备

图1-2 系统结构框图

1.2.2.1系统硬件构架

在系统硬件设计上主要分为三大部分:

1、单片机应用系统的总体设计; 2、DSP最小系统的总体设计; 3、自举模块与测试模块的互联设计。 单片机应用系统的总体设计如图1-3所示:

确定单片机应用系统的性能指标单片机及其外围器件的选择单片机应用系统总体设计单片机硬件设计及制作单片机软件设计及代码硬件测试软件代码编译连接与仿真软硬件联合在线方针调试单片机应用系统整体测试与验证

图1-3 单片机应用系统的总体设计

5

西安工程大学本科毕业设计(论文)

其中DSP最小系统的总体设计框图如图1-4所示:

确定DSP应用系统的性能指标DSP及其外围器件的选择DSP应用系统总体设计DSP硬件设计及制作DSP软件设计及代码硬件测试软件代码编译连接与仿真软硬件联合在线方针调试DSP应用系统整体测试与验证

图1-4 DSP应用系统的总体设计

最小系统的设计是整个硬件设计的前提,本文是从最小系统开始,逐步向应用系统扩展,最终完成以单片机的外围扩展功能为核心的整个系统的设计。此外,在硬件设计中还连接一个将程序载入主芯片的JTAG下载端口。在再设计过程中将单片机的引脚用插针引出,以便于今后的扩展与使用。

最后,按照从局部到整体的思想经行系统调试,即先对系统中各个模块进行调试,包括硬件调试和软件调试;再级联系统中相近模块进行联机调试,主要是软件之间的级联,最后进行整体调试,主要是验证系统的整体设计要求。 1.2.2.2器件介绍

1、DSP器件介绍

当前业界中应用得最广泛的是TI的TMS320系列DSP,其中TMS320VC5416是TI公司于近年推出的性价比极高的数字信号处理器DSP[6]。如图1-5:

6

西安工程大学本科毕业设计(论文)

图1-5 TMS320VC5416的内部结构

其主要特点如下:

(1)144引脚,操作速率达160MIPS;

(2)内置可编程等待状态发生器,三个多通道缓冲串行口(MCBSP),锁相环(PLL)时钟产生器,一个16位定时器以及6通道直接存取(DMA)控制器,一个8位∕16位并行与外部处理器通信的HPI口;

(3)40位算术逻辑单元(ALU),包括一个40位桶形移位器和两个40位累加器;

(4)一个17×17乘法器和一个40位专用加法器,允许16位带∕不带符号的乘法;

(5)先进的多总线结构,一条程序存储器总线和三条16位数据存储器总线; (6)8个辅助寄存器及一个软件栈,允许使用业界最先进的定点DSP C语言编译器;

(7)单周期正规化及指数化译码;

(9)低功耗,工作电源为3.3V(I∕O)和1.6V(CORE),特别适合电池供电设备。

TMS320VC5416的管脚图如图1-6所示:

7

西安工程大学本科毕业设计(论文)

图1-6 TMS320VC5416管脚

2、单片机器件介绍

C8051F330[7]是Silicon Laboratories公司生产的完全集成的混合信号片上系统型单片机,是真正能独立工作的片上系统。如图1-7:

图1-7 C8051F330的内部结构

其主要特点如下:

(1)采用与8051兼容的高速、流水线结构的微控制器内核,速度可达48MIPS;

8

西安工程大学本科毕业设计(论文)

全速、非侵入式的片内在线系统调试接口;

(2)带模拟多路器的真正10位200 ksps的单端/差分ADC; (3)精确校准的12MHz内部振荡器和4倍时钟乘法器;

(4)64KB可在系统编程的FLASH存储器,FLASH存储器还具有在系统重新编程能力,可用于非易失性数据存储,并允许现场更新8051固件;4352字节片内RAM;

(5)具有5个捕捉/比较模块和看门狗定时器功能的可编程计数器/定时器阵列(PCA);4个通用的16位定时器;片内上电复位、VDD监视器和温度传感器;片内电压比较器;

(6)硬件实现的SMBus/ I2C、增强型UART和增强型SPI串行接口; (7)40个可容许5V输入的I/O端口;

(8)可在工业温度范围(-45℃到+85℃)内用2.7V-5.25V的电压工作。

(9)片内Silicon Labs二线(C2)开发接口允许使用安装在最终应用系统上的产品MCU进行非侵入式(不占用片内资源)、全速、在系统调试。调试逻辑支持观察和修改存储器和寄存器,支持断点、单步、运行和停机命令。在使用C2进行调试时,所有的模拟和数字外设都可全功能运行。两个C2接口引脚可以与用户功能共享,以使在系统调试功能不占用封装引脚。

端口I/O和/RST引脚都容许5V的输入信号电压,采用48脚DIP封装其管脚图如下图1-8所示:

图1-8 C8051F340管脚图

9

西安工程大学本科毕业设计(论文)

1.2.2.3软件环境

1、Code Composer Studio 3.3

CCS(Code Composer Studio)是TI公司推出的用于开发DSP芯片的集成开发

环境,它采用Windows风格界面,集编辑、编译、链接、软件仿真、硬件调试以及实时跟踪等功能于一体,能完成DSP系统开发过程的各个环节,极大地方便了DSP芯片的开发与设计,是目前使用最为广泛的DSP开发软件之一。 CCS有两种工作模式,即:软件仿真器模式和硬件在线编程模式;前者可以脱离DSP芯片,在PC机上模拟DSP的指令集和工作机制,主要用于前期算法实现和调试;后者可以实时运行在DSP芯片上,与硬件开发板相结合在线编程和调试应用程序。 CCS运行时的主窗口如图1-9所示:

CCS的功能十分强大,它集成了代码的编辑、编译、链接和调试等诸多功能,而且支持C/C++和汇编的混合编程,使用方便快捷[8]。

图1-9 CCS运行时的主窗口

2、电路设计软件PROTEL DXP介绍

Protel DXP是Altium公司于2002年8月推出的一套基于Windows2000/XP环境下的桌面EDA开发工具。Protel DXP不但兼容了以前所有版本的Protel软件,而且集成了更多的工具,从而在电路原理图设计、PCB布局布线、电路仿真测试和FPGA/CPLD设计等方面较以前的版本有了极大的加强[9]。

Protel DXP作为一款功能强大的电路设计软件,它具有以下基本特点:

10

西安工程大学本科毕业设计(论文)

(1)Protel DXP包含电路原理设计、电路原理图仿真测试、印刷电路板设计、自动布线器和FPGA/CPLD设计,覆盖了以PCB为核心的整个物理设计[10]。因此,Protel DXP是真正意义上的EDA软件,它的智能化、自动化较以前的版本有了极大的提高。

(2)Protel DXP提供了进行层次原理图设计的环境,支持“自上而下”和“自下而上”的层次设计思想,从而使得多名电路设计人员进行并行开发成为可能。 (3)Protel DXP提供丰富的元件原理图库和PCB封装库,并且库的管理和编辑功能更加完善,操作更加简便。电路设计人员通过Protel DXP提供的编辑工具,可方便地实现库中没有包含的元件原理图以及PCB封装地设计制作[11]。 (4)Protel DXP提供了元件集成库的SPICE仿真模型和信号完整性分析,这使得设计人员调用元件时能够同时调用元件的原理图符号和PCB封装符号。 (5)Protel DXP提供了丰富的设计检查功能。它的设计检查功能主要包括电路原理图设计中的ERC和PCB设计中的DRC,它们能够使电路设计人员快速地查证错误,最大限度地减少设计差错。

(6)Protel DXP提供了全新的FPGA/CPLD设计功能,并且支持VHDL设计和混合设计模式[12] 。

3、单片机开发软件Keil C51简介

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。与汇编相比,C语言在功能上、结构性、可读性、可维护性上都有明显的优势,易学易用。用过汇编语言后再使用C来开发,体会更加深刻。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点是 Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。基于Keil C51的所有这些优点,在本文中选用其作为软件设计环境。

4、软件ConfigAndConfig2Instal简介

交叉开关是一个多路选择器,它用于为器件内部的硬件外设分配I/O端口。例如,它可以决定UART的RXD和TXD连到哪一个端口引脚[13]。 交叉开关负责SMBus、SPI、UART、定时器捕捉模块、外部PCA输入、比较器输出、定时器外部输入、/SYSCLK以及A/D转换启动输入的引脚分配[14]。

11

西安工程大学本科毕业设计(论文)

5、LabVIEW简介

LabVIEW(Laboratory Virtual Instrument Engineering Workbench,实验室虚拟仪器开发平台)是美国NI(National Instrument Company)公司推出的一种基于G语言的虚拟软件开发工具,虚拟仪器是有用户定义,这种“软件即仪器”的思想增强了虚拟仪器的灵活性和可扩展性[15]。LabVIEW编程主要是用简单、直观、易懂的框图来代替传统的程序代码,并且其编程过程和思维过程很相似。如今LabVIEW已应用到航空、电子、通信、工业、医学等领域。 1.2.2.4系统测试

本次毕业设计的主要任务是完成DSP处理器TMS320VC5416便捷的标准串行自举。系统调试的主要内容有以下几点:

1、上位机格式转换模块的软件调试; 2、上位机与下位机USB通信的测试; 3、SPI通信系统的软硬件调试。

1.3 论文章节安排

本论文共分为五章:第一章是绪论,介绍了设计中的一些基本原理和相关软件的介绍。第二章是系统硬件设计的介绍,包括了硬件的功能描述和硬件的总体设计和详细设计。第三章是系统软件的设计,在这章里将会对系统软件的功能、总体设计和各个部分的具体设计实现作详细的介绍。第四章是系统的调试与分析,这章主要对调试的过程作了详尽的描述,并对调试过程中产生的问题进行了分析。第五章是系统设计的结论与展望,在这一章中,结论对系统的设计结果作了简单的总结,展望则根据系统中存在的不足提出了一些相应的改进的方法。

12

西安工程大学本科毕业设计(论文)

第2章 硬件设计

在设计过程中,将系统功能分为硬件和软件两部分来分别实现。本章主要对测试系统硬件的功能、测试系统硬件总体设计、测试系统硬件详细设计进行介绍。其中测试系统硬件的详细设计包括对TMS320VC5416最小系统和C8051F340单片机系统及其外设扩展方案的硬件设计进行详细介绍。

2.1 系统硬件功能描述

该系统主要由上位机和下位机构成。由于上位机完全由软件来实现,故硬件部分只有下位机部分,下位机设计是本次硬件设计的核心,也是系统实现的基础。实现过程如图2-1。其中虚线框部分为本文的重要部分。

USB通信 SPI通信

PC C8051F340单片机 TMS320VC5416最小系统 图2-1系统硬件总体功能流程图

系统硬件设计实现的功能为:

1、搭建能使C8051F340单片机系统独立工作的最小系统电路; 2、提供与上位机通信的USB通信接口; 3、提供与DSP自举时与DSP通信的SPI接口。

2.2 硬件总体设计

依据系统的功能要求,系统的总体设计流程图如图2-2所示,本文主要解决自举模块部分。

硬件设计包括单片机C8051F340部分和DSP处理器TMS320VC5416部分。其中C8051F340单片机部分包括供电电路、时钟电路、复位电路、JTAG电路。

13

西安工程大学本科毕业设计(论文)

TMS320VC5416部分包括:供电电路、复位电路、工作模式选择电路、时钟电路、JTAG电路[16]。DSP处理器TMS320VC5416部分和C8051F340单片机部分采用SPI通信方式互联。在DSP与单片机互连设计中介绍了如何用这两个最小系统搭建需要实现的自举电路。

测试模块 自举模块

工作模式选择 供电电路 复位电路 JTAG接口电路 TMS320VC5416最小系统 自举接口 C8051F340 单片机 供电电路 复位电路 JTAG接口电路 时钟电路 DSP扩展电路 图2-2 系统的整体设计的流程图

2.3 硬件详细设计

这一部分主要介绍硬件电路中各自包含的模块的具体电路、电路中元器件的选择以及其工作条件等。 2.3.1单片机系统设计

C8051F340单片机系统是本次硬件设计的核心,它即作为自举的的控制部分,同时C8051F340单片机的FLASH又作为DSP的外部存储器,在本设计中有极为重要的地位。C8051F340单片机系统部分包括供电电路、复位电路、JTAG电路、DSP扩展电路、液晶显示电路等。下面依次对其进行介绍:

1、供电电路

该系统采用5V的USB供电电源,给整个系统提供正常工作的电压。,温度

14

西安工程大学本科毕业设计(论文)

范围:-40°C - +85°C。设计中用红色LED1作为显示电源的开关。其原理图如图2-3所示:

图2-3 单片机供电电路原理图

2、复位电路

本系统设计复位键一个,单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。其原理图如图2-4所示:

图2-4 单片机复位电路原理图

3、JTAG接口电路

15

原理图如图2-6所示:

需要和仿真器上的接口一致。其原理图如图2-5所示:

用于连接最小系统板和仿真器,实现仿真器对DSP的访问,JTAG接口的连接

举的验证试验,在DSP目标板与单片机系统接入过程中,采用直插式连接。其

示电路,用来接入液晶显示屏直观的显示自举结果。其原理图如图2-7所示:

4、DSP5416扩展电路

5、液晶显示电路

图2-5 单片机JTAG接口电路原理图

电路中设计一个 5×2针JTAG接口,JTAG(Joint Test Action Group)接口

图2-6 DSP5416扩展电路原理图

西安工程大学本科毕业设计(论文)

在本系统中为了便于自举结果的直观显示,在设计的时候加入了一个液晶显

在设计中设计一个DSP5416扩展电路,用来接入DSP目标板,完成DSP自

16

示:

2.3.2 DSP系统设计

钟电路、JTAG电路

源供电电路的设计中,采用5V的USB电源对系统提供5V直流电压,通过两个

由于这两种电源都不容易直接得到,而很容易得到5V的USB电源。因此在电

电压转换芯片分别产生3.3V,1.6V电压供给系统工作[17]。其原理图如图2-8所

1、电源供电电路

图2-7 液晶显示电路原理图

西安工程大学本科毕业设计(论文)

TMS320VC5416部分包括:供电电路、复位电路、工作模式选择电路、时

通过分析,本系统可以采用3.3V和1.6V两种电源供电。在实际操作过程中

图2-8 电源供电原理图

17

西安工程大学本科毕业设计(论文)

2、时钟电路

本次设计中系统时钟采用信号质量好稳定性高的有源晶振,输出时钟直接与TMS320VC5416的CLKIN引脚相连,连接图如图2-9所示:

图2-9 时钟电路原理图

3、复位电路

由于在实际应用过程和调试过程中需要对系统随时复位,以使程序可以重新加载与运行。因此在设计过程中设计了复位电路模块,复位电路模块采用非常方便的按键复位电路。电路中S1平时为断开状态,当按键闭合时,电容C放电,使电容C上的电压降为0,即实现手动复位。其原理图如图2-10所示:

图2-10 系统复位电路

4、工作模式选择电路

DSP的处理器有两种工作模式:微处理器模式和微型计算机模式,若MP/MC引脚为低电平,则DSP被设置为微计算机模式,即程序从片内ROM的0FF80H起开始执行;若MP/MC引脚为高电平,则DSP被设置为微处理器工作方式,即用户程序从外部程序存储器0FF80H地址开始执行。TMS320VC5416内部有

18

西安工程大学本科毕业设计(论文)

锁相环PLL电路,我们可以利用PLL的锁定特性对时钟频率进行锁定,为芯片提供高稳定频率的时钟信号。TMS320VC5416的锁相环有两种形式:软件可编程PLL和硬件配置的PLL。所谓硬件配置的PLL,就是通过设定DSP的三个引脚(CLKMD1.CLKMD2.CLKMD3)的状态来选择时钟方式。上电复位时,DSP根据这三个引脚的电平,判定PLL的工作状态,并启动PLL工作。具体的配置方式如表2-1所示[18]:

为了能方便选择选择DSP处理器的工作模式和配置PLL,设计工作模式选择电路。如图2-11所示:

图2-11 工作模式选择电路 表2-1 时钟方式的配置方法

CLKMD1 CLKMD2 CLKMD3

0 0 0 1 1 1 1 0

0 0 1 0 1 1 0 1

0 1 0 0 0 1 1 1

CLKMD 复位值 0000h 9007h 4007h 1007h F007h 0000h F007h —

时钟模式 1/2(禁用PLL) PLL×10 PLL×5 PLL×2 PLL×1 1/2(禁用PLL) 1/4(禁用PLL)

保留

5、LED灯显示模块

LED(Light Emitting Diode),发光二极管,是一种固态的半导体器件,

19

西安工程大学本科毕业设计(论文)

它可以直接把电转化为光。LED的心脏是一个半导体的晶片。DSP系统设计中加入LED 灯的作用是在自举过程用TMS320VC5416的XF引脚控制LED灯的闪烁来显示自举的成功与否。 2.3.3 DSP与单片机之间的互连设计

DSP标准串行自举(standard serial boot)的硬件电路比较简单,只需将DSP的McBSP0(DSP片上第2个多通道带缓冲串行接口)接口与单片机C8051F340的P1^0.P1^1.P1^2.P0^7、P1^3互联,如图2-12所示,在本次毕设的过程中发现DSP的BIO(控制分支转移输入信号,用来检测外设的工作状态)引脚务必要上拉,如果不上拉,就不能进入要实现的standard serial boot模式[19]。DSP外部中断2输入引脚INT2最好接上拉电阻以防止噪声或干扰的影响,因为当DSP系统进入自举过程时,DSP会按照某种特定顺序依次自动检测DSP系统所采用的自举方式,此时,DSP会先检测INT2引脚是否有HPI自举信号,而后再检测INT2引脚是否有串行EEPROM自举信号,如果此时干扰或噪声使得INT2突然有效,则DSP自动进入HPI自举工作模式,但DSP系统又没有HPI自举设计,从而会最终导致自举失败。 TMS320VC5416 (主机) C8051F340(从机)

BLCKR0BFSR0P1.2P1.1P1.0P0.7P1.3

DSPBDR0XFRSMCU图2-12 DSP与单片机SPI端口连接图

2.4 系统硬件原理图设计

20

西安工程大学本科毕业设计(论文)

原理图设计是整个设计的基础,它决定了后面工作的进展。因此正确设计原理图显得非常重要,为避免出错,在设计原理图的时候,主要应该注意以下几个问题:

1、在画原理图之前,首先根据用到的元器件查看PROTEL的元器件库是否有,如没有,要先把这些元器件的原理图符号先画好。画器件原理图符号的时候不必把所有的管脚都画出来,只需把用到的引脚画出来即可。这样可以节约时间,也可以能让原理图看起来更加简洁。

2、在设计系统原理图时,最好把系统分成几个小模块,分开设计。例如把DSP最小系统分成时钟电路、JTAG电路、EEPROM电路、电源双路供电电路、工作模式选择电路等等。分模块设计的最大好处就是简单明了,有错误一目了然。

3、原理图画完之后要仔细检查,确认没有错误之后才能生成PCB图,在检查过程中可以用软件自带的电气规则进行合理的配置检测。

系统硬件原理图分为两个主要部分:DSP最小系统部分和单片机系统部分,其中DSP最小系统部分硬件原理图见附录I,单片机系统原理图详见附录Ⅱ。

2.5 系统硬件PCB图设计

整个系统是在TMS320VC5416最小系统和C8051F340系统之上逐步展开,用直插式实现的DSP自举系统与单片机系统的互联,因此,在设计的过程中,需设计单片机系统的PCB原理图和TMS320VC5416最小系统的PCB原理图。单片机系统的PCB原理图如图2-13:

图2-13 单片机系统的PCB原理图

21

西安工程大学本科毕业设计(论文)

TMS320VC5416最小系统的PCB原理图如图2-14: 2114421222221121122122111121123123510121212434321122122216789103214116221112122530421124681012142135791113121212212107105103101999795939189878583817977757312108106104102100989694929088868482807876741212110911072712111111217069113114216867211511666651171186463119120216261121122211260591231241341122585712512625655127128212545312913015251213113215049133134484713513646451371384443139140424114114214039214314412121212121238372468101214161820222426283032343613579111315171921232527293133352112 图2-14 TMS320VC5416最小系统的PCB原理图

22

西安工程大学本科毕业设计(论文)

第3章 软件设计

前面介绍了系统的硬件部分,本章是对系统软件部分的具体实现方案进行详细介绍。

3.1 软件设计的功能

系统软件的功能设计可以分为两大部分:上位机LabVIEW程序设计和下位机C8051F340程序设计。 1、上位机LabVIEW程序功能

(1)能够显示文件的输入路径和格式转换信息; (2)自动实现用户代码文件的格式转换;

(3)能够通过USB通信自动将格式转换完毕的代码数据下载到作为DSP外部存储器的C8051F340片内Flash中。

2、下位机C8051F340程序功能

(1)能够通过USB通信从上位机将代码移植到片内Flash中;

(2)能够利用SPI接口将代码更新给DSP(本文中的TMS320VC5416最小系统,即DSP目标板)。

3.2 软件总体设计

软件设计是本次设计整个系统设计中非常重要的环节,软件设计的功能决定这系统功能的实现,软件设计的效果也关系这系统功能的能否实现。本文的软件总体设计分为两部分:上位机LabVIEW程序设计和下位机C8051F340程序设计。

3.2.1上位机LabVIEW总体程序设计

目前,现有的自举代码软件设计特别繁琐,在CCS编程环境中,编译后得

到的文件是一种COFF格式.out格式,并不能直接用于DSP自举,需要取除文

23

西安工程大学本科毕业设计(论文)

件中的非程序代码的冗余数据。为了得到DSP自举所需要的文件格式,一般需要按如图3-1虚线框所示,使用软件进行多步转换。

程序代码中间过渡转换Hex500.exe.out文件.hex文件Hextodat.exe程序代码EEPROM移植完成.dat文件用户程序CCS第一次编程

图3-1 CCS二次编程软件设计流程

[20]

本次上位机程序基于LabVIEW编译环境。LabVIEW将广泛的数据采集、分析与显示功能集中在了同一个环境中,让开发人员可以在自己的平台上无缝地集成一套完整的应用方案,利用LabVIEW软件开发PC机端USB应用程序不仅可以获得具有良好人机交互的GUI界面,而且将极大的加快开发进程。在本设计上位机的设计分为前面板设计和后面板设计,在前面板设计中用来实现通过设置路径将文件信息传递给框图进行处理,同时显示具体的执行信息,另外USB通信情况也可以通过面板上的指示灯显示。

3.2.2下位机C8051F340总体程序设计

C8051F340作为下位机通过USB从上位机将代码移植到单片机C8051F340

片内Flash中,之后通过SPI接口将代码更新给DSP。下位机程序中主要完成数据接收、数据处理、和数据传输。

1、单片机部分软件总体设计,如图3-2所示:

在自举时,在端口配置、时钟配置、中断配置等初始化操作完成后,就等待DSP触发中断,当DSP中断被触发后,就进行DSP程序代码的自动传输。在SPI通信的过程中还需要设置DSP与单片机的握手函数。

24

西安工程大学本科毕业设计(论文)

开始时钟初始化C8051F330初始化中断初始化SPI通信端口初始化定时器初始化自举程序图3-2单片机部分软件总体设计

2、DSP部分软件总体设计如图3-3所示:

DSP软件设计时首先需要进行DSP初始化,DSP初始化包括:时钟初始化、中断初始化、工作模式选择初始化、存储器空间初始化等。DSP部分的子程序包括SPI通信子程序。

开始时钟初始化DSP初始化中断初始化SPI通信子程序存储器空间初始化模式选择初始化

图3-3 DSP部分软件总体设计

在完成以上两个部分的总体设计后,经行软件实现流程图的整体设计,在本文中软件的整体实现先从C8051F340上电开始,依次完成看门狗的处理、USB总线的处理、C8051F340单片机的初始化、DSP初始化等准备工作,随后根据INT0的具体请求经行处理是否自举等,软件部分具体实现流行如图3-4:

25

西安工程大学本科毕业设计(论文)

C8051F340上电程序开始 禁止看门狗初始化USB总线时钟C8051F340初始化使能API中断SPI端口初始化复位DSP NOINT0中断触发?YES从FLASH提取一组数据数据ASCⅡ转换数据写入DSPNONO数据发送完成?YES数据是否写完?YES

结束

图:3-4下位机C8051F340程序流程图

26

西安工程大学本科毕业设计(论文)

3.3软件详细设计

软件设计是本次设计整个系统设计中非常重要的环节,软件设计的功能决定这系统功能的实现,软件设计的效果也关系这系统功能的能否实现。本文的软件总体设计分为两部分:上位机LabVIEW程序设计和下位机C8051F340程序设计。 3.3.1上位机LabVIEW详细程序设计

上位机的程序设计包括前面板的程序设计和后面板的程序设计,下面将依次对其经行介绍。

3.3.2.1上位机前面板详细程序设计

LabVIEW开发的程序一般由一个或多个VI组成,所有VI都可分为前面板和框图两部分。前面板是VI的交互界面,用户输入数据通过前面板传递给框图,计算和分析结果也在前面板上以不同方式显示出来。图3-5是本系统的前面板设计。该前面板中,通过设置路径将文件信息传递给框图进行处理,同时显示具体的执行信息。USB的连接状况也可以通过面板上的指示灯显示。

图3-5上位机LabVIEW前面板设计图

27

西安工程大学本科毕业设计(论文)

3.3.2.2上位机后面板详细程序设计

借助USBXpress提供的USB主机API,即USBXpress安装目录下的SiU- SBXp.dll,可以简便的实现在PC机上通过LabVIEW软件编写的GUI程序与作为USB器件的C8051F 340单片机的USB通信。USBXpress提供了10个USB主机API函数,通过LabVIEW中的CLF(调用库函数节点)调用USBXpress提供的USB主机API函数,便可访问USB底层硬件。图3-6为本文LabVIEW上位机程序调用API的设计图。

图3-6 上位机LabVIEW调用USB主机API设计图

LabVIEW程序在通过成功调用SI_Open()函数打开USB器件,通过“file path control.vi”函数获取待转换文件的具体路径之后,跳入主循环。主循环主要在顺序结构中完成文格式的转换和向USB写数据:首先通过“Exec.vi”函数调用Hex500.exe软件(与自举文件位于同一个目录)将.out代码文件转换为.hex格式;之后调用相关软件再将.hex格式转换为.dat格式;最终在文件转换完毕之后将代码提取并转换为数组,并在循环中调用SI_Open()函数以每次512字节的速度将数据写入USB器件。详细程序设计如图3-7所示。

28

西安工程大学本科毕业设计(论文)

图3-7上位机LabVIEW主函数设计图

3.3.2下位机C8051F340详细程序设计

本小节将从通信协议的制定、DSP部分程序设计和单片机部分程序设计三方面详细介绍毕业设计中的软件设计。 3.3.2.1主程序设计

主程序的下位机软件设计的基础,在下位机软件设计中主程序有着非常重要的地位。在本次主程序设计部分主要包括禁止看门狗、USB初始化、初始化单片机C8051F340、调用执行自举程序和FLASH擦写。程序执行流程如图3-8:

29

西安工程大学本科毕业设计(论文)

开始禁止看门狗初始化USB总线初始化单片机C8051F430使能API中断执行自举程序(bootloader)Boot-FLAG=0NOYESBoot-FLAG是否为1

B 图3-8 主函数流程图

在主函数设计中,各部分具体程序代码及相关解释如下: 1、 禁止看门狗部分

为了使程序顺利执行,在程序开始部分禁止看门狗,禁止看么狗相对简单,代码如下:

PCA0MD &= ~0x40;

2、USB初始化部分

USB初始化部分主要是调用一些库函数对USB总线的处理,在处理过程中

30

西安工程大学本科毕业设计(论文)

调用AN169-USB通信库函数USB_Clock_Start();完成初始化USB总线时钟,调用AN169-USB通信库函数USB_Init()完成USB总线使能,调用AN169-USB通信库函数USB_Int_Enable();完成API中断使能。具体代码如下: USB_Clock_Start();

USB_Init(USB_VID,USB_PID,USB_MfrStr,USB_ProductStr,USB_SerialStr,

USB_MaxPower,USB_PwAttributes,USB_bcdDevice);

USB_Int_Enable(); 3、初始化单片机C8051F340部分

单片机C8051F340初始化包括对端口0和端口1的配置和端口I/O交叉开关的配置,具体程序代码如下:

Port_Init{

P0MDOUT = 0x0D; P1MDOUT = 0x0F; P0SKIP = 0x8F; P1SKIP = 0x0F; XBR1 = 0x40; }

4、自举程序

自举程序是用来实现自举功能,在编写过程中,编写了自举子程序bootloader();用来实现自举功能,自举子程序bootloader();的具体实现过程将在后面自举程序详细设计中介绍。 3.3.2.2初始化程序设计

初始化时程序正常运行的前提,也是程序执行过程的第一步。在该模块中

初始化部分包括对单片机C8051F340的初始化、USB总线的初始化和对SPI端口的初始化。

1、单片机C8051F340的初始化

单片机C8051F340的初始化是为整个模块的运行做准备,以至自举过程的正

31

西安工程大学本科毕业设计(论文)

常顺利执行。单片机的初始化包括初始化时钟以及端口的配置等,其中对端口0和端口1的配置和端口I/O交叉开关的配置通过调用Port_Init()子函数来完成。具体的初始化代码如下:()

CLKSEL |= 0x02; RSTSRC |= 0x02;

Port_Init{

P0MDOUT = 0x0D; P1MDOUT = 0x0F; P0SKIP = 0x8F; P1SKIP = 0x0F; XBR1 = 0x40; }

2、USB总线的初始化

USB总线的初始化是为上位机与下位机的通信提供保障,使得上位机转换后的程序代码能够正常存储到下位机单片机C8051F340的FLASH中,通过调用AN169-USB通信库函数USB_Clock_Start()完成初始化USB总线时钟;调用AN169-USB通信库函数USB_Init()完成USB总线使能;调用AN169-USB通信库函数USB_Int_Enable()完成API中断使能。 3、SPI端口的初始化

SPI端口的初始化是为了实现该模块与测试模块的通信,通过通信来实现自举结果的测试。初始化过程比较简单,初始化用以下程序代码完成:

RS=1; BFSR0=0; BCLKR0=0; 3.3.2.3通信程序设计

通信时该模块的一个主要部分,在该模块中有关下位机利用API实现USB

32

西安工程大学本科毕业设计(论文)

通信的具体流程图如图3-9所示:

C8051F340上电复位程序开始C8051F340初始化调用用户上层程序N是否进行USB通信Y初始化USB总线时钟使能USB总线使能API中断向USB主机写数据块或读取USB主机数据块USB通信是否完成Y挂起USB中断N关闭USB接口程序结束

图3-9 下位机利用API实现USB通信流程图

流程图中的部分代码及注释如下: 1、 初始化USB总线时钟

初始化USB总线时钟通过调用AN169-USB通信库函数USB_Clock_Start()完成,程序代码如下: USB_Clock_Start(); 2、 使能API中断

使能API中断通过调用AN169-USB通信库函数USB_Int_Enable()完成,具体代码如下:

USB_Int_Enable(); 3、 使能USB总线

33

西安工程大学本科毕业设计(论文)

使能USB总线通过调用AN169-USB通信库函数USB_Init()完成,具体代码如下:

USB_Init();

4、 向USB主机写数据块或向USB主机读数据块程序

通过调用Block_Write()子函数完成向USB主机写数据块,调用Block_Read()子函数完成读取USB主机数据块,代码如下:

Block_Write(); Block_Read(); 5、 挂起USB中断

挂起USB中断通过调用AN169-USB通信库函数USB_Suspend()完成,具体代码如下:

USB_Suspend(); 6、 关闭USB接口

关闭USB接口通过调用AN169-USB通信库函数USB_Disable()完成,具体代码如下:

USB_Disable(); 3.3.2.4自举程序设计

对于TMS320C54x DSP芯片来说,一般都在芯片内设置有自启动(BOOT)程序。BOOT程序的主要作用是在开机时将用户程序从外部装入到程序存储器ROM中,即TMS320VC5416片内4KROM掩膜设计的程序中包含自举程序。在我们设计的自举程序bootloader()主要完成SPI端口的初始化、复位DSP,在自举程序开始后完成从FLASH中提取数据、数据的ASCII转换和将数据写入DSP中。自举程序流程如图3-10:

34

西安工程大学本科毕业设计(论文)

开始SPI端口初始化复位DSP自举开始,从FLASH中提取一组数据数据ASCII码转换数据写入DSPNINT0中断触发结束Y 图3-10自举函数流程图

在自举程序bootloader()中各部分主要代码和相关解释如下: 1、SPI端口的初始化程序代码

RS=1; BFSR0=0;

BCLKR0=0;

2、 复位DSP程序代码

在复位DSP部分首先完成DSP的复位,然后等待DSP的XF引脚触发INT0中断。

RS=0; Delayms(1000); INT0_FLAG=1; RS=1; do

{ }

while(INT0_FLAG);

3、发送数据程序代码

for(i=0;i<16;i++) {

35

西安工程大学本科毕业设计(论文)

BDR0= (w & (0x8000 >> i)) > 0;

BCLKR0=1;

BFSR0=0;

delayus(20); BCLKR0=0;

delayus(20);

}

4、数据ASCII转换部分编写一个子函数ASCII_Transform()用于将loader_ARRA

中存放的直接从FLASH文件中读取的ASCII字符数据转换为相应16进制数,转换过程中每四个ASCII字符转换为一个16bit字。 3.3.3 DSP测试程序设计

在SPI通信过程中将DSP系统设置为主机,所以DSP运行SPI主机程序。此程序设计中先对DSP进行初始化,包括DSP的MCBSP0的初始化,接下来便是SPI通信的主程序,在通信的过程中,从机(单片机)先给主机(DSP)发数据,在发数据之前,主机做好接受的准备,在DSP接收数据完成后,将接受的数据又发给从机,从机进行对比,如果发的数据与接受的数据相同就说明通信正常[21]。

具体分析如下:

1、DSP初始化包括:运行频率初始化,软件等待状态寄存器初始化,软件等待状态控制寄存器初始化,分区转换逻辑寄存器初始化,关闭所有中断。在实现过程中首先切换到DIV模式,再设置CPU运行频率为6M,接着设置软件等待状态寄存器等待I/O、外部数据空间、外部程序空间7个机器周期等,其初始化代码及注释如下:

asm(\while(*CLKMD & 0x01 ); asm(\

Delay(2000);

36

西安工程大学本科毕业设计(论文)

asm(\*(SWCR) = 0x01; asm(\ STM #00a0h, PMST\asm(\ STM #8006h, BSCR \

2、LCD测试程序,用来显示特定字符,本次测试显示设计题目、学校班级、测试人姓名。

LCD_initial_operator( ); LCD_write_chars(\一种便捷的DSP \ LCD_write_chars(\自举模块设计\ LCD_write_chars(\西工程通信0902班\ LCD_write_chars(\测试人:周睿\3、 设置定时器及开启中断程序

在设置定时器及开启中断程序中完成关闭定时器、开时间中断和开中断等。

asm(\ STM #0010h,TCR \

asm(\ STM #0186ah,PRD \ asm(\ STM #0C2fh,TCR \ asm(\ STM #0008h,IFR \

asm(\ ORM #0008h,*(IMR) \ asm(\ RSBX INTM \

4、定时器0中断服务程序 interrupt void timer0()

{

ms++; }

3.4 系统软件代码

本系统设计中上位机采用LabVIEW编程,下位机程序主要有主程序、自举程序、LCD测试程序以及一些其余的程序详见附录Ⅲ。

37

西安工程大学本科毕业设计(论文)

第4章 系统调试及分析

在完成硬件和软件的设计之后,本章主要讲述的是系统如何调试,并对调试的结果进行了详细的记录和分析。

4.1 调试内容

在调试之前明确自己的目和内容非常重要,有了明确的目的才会帮助理清调试的思路。 4.1.1 USB通信调试

调试的目的:使上位机LabVIEW和下位机C8051F340通过USB进行正常通信,通过不断地修改程序使两者之间的通信效果达到理想的效果。 调试的内容:

1、调试下位机C8051F340的基本功能 2、调试上位机LabVIEW的基本功能;

3、调试上位机LabVIEW和下位机C8051F340的USB通信功能。 4.1.2 SPI通信调试

调试的目的:使单片机C8051F340与目标板DSPTMS320VC5416通过SPI口进行通信,通过不断地改换器件、修改程序使两者之间的通信效果达到想要的效果。 调试的内容:

1、调试单片机C8051F340系统的基本功能; 2、调试DSP最小系统基本功能; 3、调试DSP与单片机的SPI通信功能。

38

西安工程大学本科毕业设计(论文)

4.1.3自举调试 调试的目的:

1、在自举过程中调试的目的就是验证硬件的器件选择和参数配置以及软件程序的设计在满足系统要求能否实现要进行的自举[24]。 2.、验证自举模块的自举是否成功。 调试的内容:

1、调试上位机LabVIEW与下位机C8051F340的USB通信是否成功; 2、调试单片机C8051F340系统的基本功能; 3、调试DSP最小系统基本功能;

4、单片机C8051F340系统与DSP TMS320VC5416目标板的SPI通信是否成功。

4.2 调试方案

系统调试包括硬件部分的调试和软件部分的调试,调试的流程如图4-1所示,在本系统中,硬件是整个系统运行的前提和基础,软件是整个系统的保障。只有硬件正常工作了,软件程序才有可能正常下载、运行。因此,首先对硬件进行调试,在保证硬件电路没有任何问题的情况下才能进行软件调试,在调试过程中不断发现问题、解决问题,直到一切正常为止。

硬件调试修改有错是否软件调试有错有错是否系统完成

图4-1 调试流程图

39

西安工程大学本科毕业设计(论文)

4.2.1 USB通信调试方案

本次设计中上位机采用LabVIEW编程,上位机与下位机之间采用USB通信,而对于USB通信的测试也比较简单,在测试过中LabVIEW的前面板上的三个灯分别表示有没有检测到USB器件、能否成功打开USB器件和DSP自举代码是否完成,当第一个灯没有被点亮时说明没有检测到USB器件,当第一个灯被点亮时说明成功获取USB器件;当第二个灯没有被点亮时说明打开USB器件失败,当第二个灯被点亮时说明成功打开USB器件;当第三个灯未被点亮时说DSP自举代码下载更新失败或未完成,当第三个灯被点亮时说明DSP自举下载更新成功并且完成。上位机LabVIEW前面板在未经行USB通信时如图4-2:

如图4-2上位机LabVIEW未经行USB通信时前面板

4.2.2自举系统调试方案

自举系统的调试总体过程包括三部分,自举系统调试的过程如图4-3所示:

40

西安工程大学本科毕业设计(论文)

硬件调试软件调试系统完成TMS320VC5416系统调试C8051F330系统调试自举程序调试自举成功LED灯正常闪烁,液晶显示屏出现程序中指定的字符 图4-3 自举系统调试的过程

1、硬件调试:硬件调试使整个调试部分的第一步,硬件调试的效果直接关系到软件调试的成败,元器件的焊接是硬件调试的一部分,在元件焊接完成后,先不要上电,要先观察元件是否都正确地焊接在电路板上,相邻引脚之间是否短路,并且确认没有虚焊的现象。该过程是系统上电前的检查工作,需要对每个器件逐个引脚进行检查,一方面是检查有没有引脚虚焊或与其他信号线短路,另一方面是对器件引脚功能的再检查,查看设计是否正确。整板测试可以按照先电源和地,再逐个器件引脚的顺序测试。

本文的自举方式为16位标准串行自举,是利用C8051F340单片机对TMS320VC5416实现自举。因为C8051F340单片机体积小、价钱便宜、片上外设资源丰富。C8051F340单片机的硬件设计方案如图4-4所示:

4-4 C8051F340单片机的硬件设计图

41

西安工程大学本科毕业设计(论文)

自举模块使用的DSP核心芯片是TI公司生产的RAM型16位定点TMS320VC5416芯片,其硬件设计如图4-5所示:

图4-5 TMS320VC5416系统硬件设计图

2、软件调试:当系统供电正常之后,就可以测试系统的软件功能,在软件功能测试时,先在仿真器环境下测试程序,如果程序在仿真器环境下运行成功,便说明软件设计没有问题,就可以实现系统的脱机运行。

3、系统完成:软硬件共同调试的结果决定着调试的成功与否。 4.2.3 SPI系统调试方案

TMS320VC5416处理器是RAM型器件,DSP掉电后不能保存任何用户程序信息,TMS320VC5416扩展系统包括SPI通信部分。在调试的过程中也是按照先测试硬件部分、软件部分、最后整个扩展方案完成。TMS320VC5416扩展系统的调试过程如下图4-6所示:

42

西安工程大学本科毕业设计(论文)

硬件调试软件调试系统完成SPI通信程序 图4-6 TMS320VC5416扩展系统的调试过程

SPI通信的硬件调试比较简单,整个硬件系统是在DSP和单片机最小系统的基础上通过PCB板将需要的引脚对应相连,焊接好之后用万用表测量电源电压,确保系统工作电压正常,然后检查相邻引脚之间是否短路,线路连接过程中有无掉线情况。软件调试中,从机先向主机发数据,主机做好接受数据的准备,主机再将接收到的数据从新发给从机,从机进行发收数据的对比,如果发收数据相同,则说明软件功能正常。

4.3 调试结果

4.3.1 USB通信调试结果

如图4-7所示上位机前面板,左边USB检测灯被点亮,说明USB运行正常,并被成功打开;右边USB检测灯被点亮,说明文件格式转换成功,详细转换信息和内容显示在前面板上;USB传输完毕后,系统大灯被点亮,提示自举代码更新完成。

43

西安工程大学本科毕业设计(论文)

图4-7 前面板详细信息实验数据

图4-8说明USB准备就绪,上位机成功打开了USB设备。各探针的具体含义如下:

探针[1]表示检测到与上位机相连的USB设备为1个;

探针[2]为USB设备被成功打开后所返回的句柄,该句柄将用于后面的API调用。

图4-8 打开USB设备实验结果

图4-9为USB移植部分实验数据。代码文件已被成功转换为.dat格式,为了方便移植,将代码文件转换为字节数组。各探针的具体含义如下:

44

西安工程大学本科毕业设计(论文)

探针[3]为该次循环所转换数组的大小为512字节; 探针[4]为该次循环所转换数组的详细信息;

探针[5]为上位机成功调用SI_Write函数后所返回的句柄,该句柄与调用SI_Open函数所返回的句柄相同。

图4-9 代码移植实验数据

4.3.2自举系统调试结果

将目标板TMS320VC5416和开发板C8051F340的排针相连接,将液晶显示屏的排针与开发板相连接,将TMS320VC5416和C8051F340的仿真器分别连接好,给系统上电,TMS320VC5416的红色的LED灯亮,说明TMS320VC5416电压正常,电路可以正常运行。C8051F340单片机的红色LED灯常亮,说明C8051F340单片机也可以正常工作。接下来打开Keil软件,对设计好的340自举程序进行编译,编译无错后,设置好硬件环境便可以进入程序在线调试状态,全速运行C8051F340自举程序,观察到跟DSP的XF引脚相连的LED信号灯正常的闪烁,液晶显示屏上显示出与设计相同的内容,结果完全符合前面的假设。至此,自举系统的功能测试完毕。调试结果如图4-10所示:

45

本文来源:https://www.bwwdw.com/article/bf28.html

Top