- 前言
- 实验须知
- 概述
- 实验一 TMS320LF2407 DSP 实验开发系统及CC软件应用
- 实验二 常用指令操作实验
- 实验三 追灯式电路控制
- 实验四 按键计数器
- 实验五 键盘和 LED 发光二极管显示电路
- 实验六 模/数转换器 ADC 应用
- 实验七 串行外围接口 SPI 的应用
- 实验八 串行通信接口模块(SCI)
- 实验九 TMS320LF2407 与图形液晶显示模块接口及应用
- 实验十 I2C 串行日历时钟与 TMS320LF2407 的接口应用
- 附录一 DSP 器件仿真开发技术基础
- 附录二 TMS320LF2407 DSP 实验开发系统
- 附录三 TMS320LF2407 DSP 器件简介
- 附录四 XDS510 仿真开发系统的基本操作技术
- 附录五 程序开发平台 Code Composer
- 参考文献
概述
一.数字信号处理的理论
数字信号处理在理论上所涉及的范围极其广泛。在数学领域中,微积分、概率统计、随机过程、高等代数、数值分析、近世代数、复变函数等等都是它的基本工具,网络理论、信号与系统等均是它的理论基础。在学科发展上,数字信号处理又和最优控制、通信理论、故障诊断等紧紧相连,近年来又成为人工智能、模式识别、神经网络等新兴学科的理论基础之一,其算法的实现(无论是硬件和软件)又和计算机学科及微电子技术密不可分。因此可以说,数字信号处理是把经典的理论系统(如数学、系统)作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础。
信号处理的理论和算法是密不可分的。把一个好的信号处理理论用于工程实际,须要辅以相应的算法以达到高速、高效及简单易行的目的。例如,FFT算法的提出使DFT理论得以推广,Levinson算法的提出使Toeplitz矩阵的求解变得很容易,从而使参数模型谱估计技术得到广泛应用。
数字信号处理中所涉及的信号包括确定性信号、平稳随机信号、时变信号、一维及多维信号、单通道及多通道信号。所涉及到的系统也包括一维系统、二维系统、多通道系统,对每一类特定的信号与系统,所涉及理论的各个方面又有不同的内容。伴随着通信技术、电子技术及计算机的飞速发展,数字信号处理的理论也在不断地丰富和完善,各种新算法、新理论正在不断地被提出,可以预计不久的将来,数字信号处理的理论将获得更快地发展。
二.数字信号处理的实现
信号处理的实现可分为“软件实现”与“硬件实现”两种,但这种区分方法是不严密的,因为,无论用什么语言编写的信号处理的程序都需要基本的硬件支持才能运行。同样,除个别特殊的DSP芯片外,任何硬件的信号处理装置也必须配有相应的软件才能工作。因此,信号处理的硬件和软件实际上是密不可分的。
由于以PC机为代表的个人计算机已成为最通用的学习和科研工具,因此人们习惯把在通用机上执行信号处理的程序视为“软件实现”,而把使用一些通用或专用IC芯片构成的能完成某种信号处理功能的方式称为“硬件实现”。因此,信号处理的硬件实现指的是:根据自己实际任务的需要,选用最合适的IC芯片,设计并完成一个“最佳”的信号处理系统,再配上适合该芯片语言及任务要求的软件,从而达到信号处理的目的。
对于一个DSP系统,其核心任务是实现对输入信号的数字处理,即使用数字计算的方法实现一个信号处理系统。因此,数字信号处理系统的核心器件必然是具有计算功能的器件。在现代电子技术中,可以完成计算任务的器件有单片机和DSP器件。此外,近年来开始出现了专用于数字信号处理的SOC器件。
从数字信号处理的角度看,也可以把PC机看成是一个重要的处理器件。实际上,目前广泛使用的多媒体技术和网络技术就是PC机作为数字信号处理应用的最好例子。
1. PC机系统
PC机系统作为数字信号处理的最大优势就是系统资源丰富,其中包括硬件和软件资源,可以使用各种编程技术和应用软件。例如使用PC机进行语音处理就相当方便,不须要开发任何硬件系统,只须利用PC机的多媒体设备、驱动软件,就可进行系统开发。所以,自IEEE DSP Comm.于1979年推出第一个信号处理软件包以来,有相当多的应用系统都是以PC机为基本系统开发完成的。使用PC机完成DPS系统的缺点是系统体积大,同时由于系统采用的是微处理器和PIC总线,再考虑操作系统引起的延迟,使系统信号处理速度受到了一定的限制。
2. 单片机
总的来说,用单片机可以实现各种数字信号处理系统,实际上,任何单片机组成的系统,都可以看作是一个数字信号处理系统。但如果系统复杂、时实性要求强,则单片机就显得能力不足了。因此,在比较简单的系统中可以使用单片机作为数字信号处理器,而要进行复杂计算时(例如实现DVD解码),就必须使用DSP器件。
3. DSP器件
DSP芯片是一种具有特殊结构的微处理器。为了达到快速进行数字信号处理的目的,DSP芯片一般都具有程序和数据分开的总线结构、流水线操作功能、单周期完成乘法的硬件乘法器以及配有适合于数字信号处理的指令集等。因而,要实现复杂数学计算、或需要进行高速数学处理的数字信号处理系统(例如语音识别、图像实时处理、多媒体处理等),就只能使用DSP器件才能完成系统功能。例如目前迅速发展的软件无线电技术、移动通信技术和多媒体技术,就是DSP器件数字信号处理能力的最好证明。
目前市场上的DSP芯片以美国德州仪器公司(TI)的TMS320LF240X系列为主,该公司的DSP芯片形成一个功能、门类较为齐全的大“家族”,已形成一个具有较大潜力的产业与市场。
4. 利用特殊用途的DSP芯片
现在国际上已推出专门用于FFT、FIR滤波、卷积、相关等专用芯片,其软件算法已在芯片内部用硬件电路实现,使用者给出输入数据,可在输出端直接得到结果。
5. DSP的VLSI实现
使用PC机、单片机和DSP器件实现数字信号处理系统的一个共同问题是没有脱离串行计算的范围,因此,在使用这些技术实现数字信号处理系统时,都不可避免地遇到对复杂系统的处理速度限制。这主要就是因为系统的形成是通过软件对硬件的控制来完成的,而串行系统的软件执行速度无法与并行系统相比拟。
为了克服软件执行的串行计算缺陷,近年来出现了使用硬件实现数字信号处理的技术。所谓使用硬件电路实现数字信号处理系统,就是通过数字逻辑电路直接形成数字信号处理系统,而不是通过使用以CPU为核心的器件实现数字信号处理系统。这种技术就是目前正以极高速度发展的VLSI数字信号处理技术。DSP的VLIS实现赋予了数字信号处理技术更快的速度。不过,由于DSP系统的复杂性,DSP的VLSI实现方案目前还无法实现与DSP器件相匹敌的系统。
随着计算机技术和微电子技术的发展,SOC(片上系统)已经成为电子技术应用的重要发展方向,这就带动了VLSI技术以实现DSP系统的迅速发展。
三.数字信号处理的应用
数字信号处理一经问世,便吸引了很多学科的研究者,并把它应用于自己的研究领域。可以说,数字信号处理是应用最快、成效最为显著的新学科之一。在语音、雷达、声纳、地震、图像、通信系统、系统控制、生物医学工程、机械振动、遥感遥测、地质勘探、航空航天、电力系统、故障检测、自动化仪器等众多领域都获得了极其广泛的应用,它有效地推动了众多工程技术领域的技术改造和学科发展。毫不夸张地说,只要使用计算机(通用机、专用机、单片机、或一个简单的CPU)与数据打交道,就必然要应用数字信号处理技术。因此,这一新兴学科有着极其美好的发展前景。
四.实验环境说明
本实验指导书中所需实验环境以及软硬件工具包括:
• 实验必备的硬件配置
• 软件使用工具
1.实验必备的硬件配置
1.1 PC个人电脑
用于联机调试程序,本指导书中所有实验均在PC机上完成。
1.2 直流稳压电源
为实验开发系统提供所需电源。
1.3 示波器
用来观测各种高低频或数字信号波形。
1.4 XDS(硬件仿真器)
XDS仿真器是开发DSP器件的必备工具,硬件特点:支持TMS320LF240X系列任意型号DSP器件;具备JTAG/MPSD两种标准的仿真接口;3.3V/5V兼容仿真接口电平;不占用目标系统任何资源,全空间仿真;支持多片DSP器件并行调试。软件特点:全面支持Code Composer Studio;支持DSP/BIOS及RTDX;软/硬断点,实时单步/断点;方便地装载/卸载程序和数据;方便地检查/修改所有寄存器;实时监控运行状态及多个变量;多种图形方式显示数据。
1.5 TMS320LF2407实验箱
本实验室根据DSP微控制器TMS320LF2407芯片的外部扩展能力,设计制作了开发功能强大的实验箱,为TMS320LF2407芯片的开发应用提供了方便。图1为实验板元器件布局示意图,该实验板充分利用了TMS320LF2407芯片的所有资源,提供了丰富的DSP外围电路,硬件采用模块化设计,结构简单,各模块之间可灵活组合,操作方便、直观,用途广泛。现将部件用途、外部接口功能、跳针设置、部分插座引脚说明如下:
图1实验板元器件布局示意图
(1) K0~ K4键盘:由五只按键(K0 ~ K4)组成,最左边为RESET-KEY(系统复位键),在实验时可方便地进行手动复位;为了使硬件设计简单化,将K1~ K4 4个按键一端直接接“地”,另一端分别链接TMS320LF2407芯片的IOPF3~IOPF6引脚,应用TMS320LF2407芯片基本的I/O口功能,查询IOPF3~IOPF6引脚(作为输入线)的值。当有按键被按下时,所链接的对应引脚为低电平“0”输入。
(2) U10――74HC273(锁存器):存储TMS320LF2407芯片输出端口信号并驱动相应引脚发光二极管。
(3) SW-DIP8――8位DIP拨码开关:拨动开关处于“NO”时,可以任意接通74HC273上相应管脚,以便驱动相链接的8只LED发光二极管。
(4) LED0~LED7――电平指示:由8只发光二极管和8只限流电阻组成,作为实验时的开关量输出显示。若发光二极管亮,表示发光二极管接收的信号为高电平“1”;若发光二极管不亮,表示发光二极管接收的信号为低电平“0”。实验时可根据每只发光二极管的亮、灭情况来判断输出的开关量是否与程序要求相符。
(5) U5――TMS320LF2407 DSP芯片:具有低成本、低功耗、高性能的处理能力,是电机数字化控制的升级产品。(详细说明参见附录三)
(6) RP1――排电阻:仿真器插头上拉电阻等。
(7) XL1――COH-050(晶体振荡器):提供实验中各种芯片的时钟信号。
(8) R63――可调电阻:用于调节A/D转换低电平参考输入的大小。
(9) AMP1、AMP2-MCP604(运算放大器):用于放大、隔离TMS320LF2407与输入的模拟信号。
(10) R8――可调电阻:用于调节提升电压的大小。
(11) R49――可调电阻:用于调节A/D转换高电平参考输入的大小。
(12) U4――CY7C1021(RAM):随机存储器RAM,保存数据。
(13) P5――MG- 12232液晶显示器:该液晶显示器分为E1、E2两边,每边又分为第0~3页,每页占8行、62列,每列对应D0 D7引脚送出一个8位数据。一般而言,显示一个汉字的点阵为16行×16列;显示一个字母或数字的点阵为16行×8列。
(14) U1――MAX232(RS-232驱动芯片、电平转换芯片):提供DSP与PC机之间RS232异步通信接口的驱动。RS-232电平与TTL电平转换。
(15) U2――MAX485(RS-485驱动芯片):提供DSP与PC机之间RS-485异步通信接口的驱动。RS-485信号与TTL电平转换。
(16) D4――电源指示:灯亮表示+5V工作电源接通。
(17) U7――TPS77633 (DSP电源芯片):由于TMS320LF2407为3.3V供电,采用该芯片将5V电压降为3.3V电压,供DSP芯片使用。
(18) U12――MCP2551(CAN驱动器芯片):驱动CAN总线
(19) U11――PCF8583(I2C总线接口/日历时钟)芯片:保存日历时钟,掉电可保存数据。
(20) U3――24LC256 (I2C总线接口/串行EEPROM)芯片:可以作为串行EEPROM使用。
(21) U9――MAX5121(单通道SPI串行数模转换)芯片:可输出单极性和双极性的电压。
表1 外部接口功能表
符号
实际含义
功能介绍
P1
CAN
CAN通讯接口
P2
RS-232
RS-232串行通讯接口
P3
ACIN1
6路交流采样输入
P4
CDIN2
10路直流采样输入
P5
LCD
液晶显示接口
P6
RS-485
RS-485通讯接口
P7
D/AOUT
1路或2路模拟量输出
P8
PWM_CAP
6路脉宽调制(PWM)输出,3路捕获单元(CAP)输入
P9
I/OOUT
8路开关量输出
P10
POWER
+5V直流电源输入口
J2
JTAG
仿真器接口
SW1
SW_DIP8
DIP拨码开关
跳针引脚定义如图2所示。
表2 跳针设置
符号
实际含义
引脚定义
默认设置
功能介绍
1
2
3
JP1
PDS
PS
PDS
DS
连1和2
程序区和数据区选择
JP2
MCP
VCC
MP/MC
GND
连1和2
JP3
BOOT
VCC
BOOT
GND
连1和2
JP5
VCCP
+5V
VCCP
GND
连1和2
JP6
RXD
RXD232
RXD
RXD485
连1和2
RS-232通讯
JP7
TXD
TXD232
TXD
TXD485
连1和2
RS-232通讯
JP8
OSCS
AGND
OS
DOUT1
连3和2
D/A双极性输出
JP9
VREFLCS
REF
VREFL
REFL
连1和2
A/D低电平参考选择
表3插座引脚详细说明
功能介绍
各引脚定义(未标注的引脚表示未用)
P1 CAN通讯接口
2 CANL 3 GND 7 CANH
P2 RS-232串行通讯接口
2 T2OO 3 T2IO 5 GND
P3 6路交流采样输入接
1 ADIN0 2 ADIN1 3 ADIN2
5 ADIN8 6 ADIN9 7 ADIN10
其余引脚为AGND
P4 10路直流采样输入接口
1 ADCIN03 2 ADCIN04 3 ADCIN05
4 ADCIN06 5 ADCIN07 6 ADCIN11
7 ADCIN12 8 ADCIN13 9 ADCIN14
10 ADCIN15 其余引脚为AGND
P6 RS-485通讯接口
1 BB 2 GND 3 AA
P7 2路模拟量输出接口
1 DOUT1 2 GND 3 DOUT2
P8 6路PWM输出和3路CAP输入接口
1 PWM1 2 PWM2 3 PWM3
4 PWM4 5 PWM5 6 PWM6
8 CAP1 9 CAP2 10 CAP3
其余引脚为GND
P9 8路开关量输出接口
1 IOOUT0 2 IOOUT1 3 IOOUT2
4 IOOUT3 5 IOOUT4 6 IOOUT5
7 IOOUT6 8 IOOUT7 9、10 GND
P10 +5V直流电源输入口
1、2 +5V 3、4 GND
2.软件使用工具
2.1 Code Composer Studio
Code Composer Studio 是TI公司为以TMS320LF240X系列DSP器件为目标系统所配备的功能强大的软件集成开发环境。
2.2调试环境代码编译器CC
调试环境代码编译器CC是一个独立的软件,但是可以集成在Code Composer Studio环境中运行,实现C代码或汇编代码的执行和调试。
2.3 硬件仿真器(XDS)Driver软件
由于Windows操作系统本身不支持硬件仿真器,故在使用硬件仿真器前必须安装仿真器驱动程序,并可通过CC的Setup选项对它进行设置。
五.调试环境
DSP目标系统软件既可由高级语言编写,也可由汇编语言编写。高级语言编写的软件最好是由C语言编写,这不仅是由于C语言自身的优点,而且是由于TI公司提供了最佳的ANSI C语言编译软件。该编译软件可将用C语言编写的信号处理软件转变成TMS320LF240X系列的汇编语言。无论是直接用汇编语言编写的信号处理软件还是由C语言经编译后转变成的汇编语言软件,都要再经过TMS320LF240X系列的编译器转变成机器码,以生成目标文件,将该目标文件及各子程序经链接后生成可在TMS320LF240X系列DSP芯片上运行的可执行文件,该执行文件放置在DSP芯片的程序存储器内即可执行。
在系统设计中,无论是软件还是硬件都必须经过调试阶段。由于TMS320LF240X系列产品是一个单片的微处理器,如同其它通用单片机一样,硬件与软件的调试必须有相应的开发系统来支持。TI公司提供了不同用途和不同水平的开发支持工具。以下分别介绍本实验室所提供的开发工具。
1.软件仿真器(Simulator)
TMS320LF240X系列的软件仿真器(Simulator)是一个软件程序,它运行在一个用于调试的主计算机上,可模拟TMS320的整个指令系统,从而达到程序检验和开发的目的。其特点是:
•在主机上非实时地执行用户编写的DSP程序;
•可检查和改写寄存器的内容;
•对数据与程序存储区的内容可显示及读写;
•可跟踪累加器(ACC)、程序计数器(PC)及辅助寄存器(AR0~AR7);
•可单步执行,可在程序中设置断点,可设置及响应用户的中断;
•可仿真外围设备及缓冲区。
2.调试环境代码编译器CC
调试环境代码编译器CC是TI公司提供的一款C语言编译器,它可将用标准C语言编写的源文件转换成高效的TMS320LF240X系列的汇编语言源文件,再经编译链接后即可生成可执行文件。实际上该编译器使用了国际上最流行的编译技术,提供的是综合的公用程序,使得一连串的编辑、前置处理、汇编/编译、链接/定位、调试、装入目标系统的工作可以一气呵成,加速程序代码的产生,其基本特征:
•有可视化Windows界面风格和鼠标操作模式;
•具有C语言级和汇编语言级的调试功能;
•有快速的软件仿真;
•有日志文件选项;
•有功能强大的宏语言;
•可设置复杂的条件断点;
•具有在任意时刻中断的能力;
•调试时可选择实时模式;
•可作内存验证。
3.系统仿真器(XDS)
DSP学科本身有着相当丰富的理论,因此,要把这些理论及与之相对应的算法在高度复杂的DSP芯片上实时实现并将其用于一个特定的设计任务是有一定难度的。它一方面需要掌握DSP的理论及DSP芯片的性能,另一方面需要一套完整的软硬件开发工具,而这样的开发工具是比较昂贵的。为了加速DSP的普及和应用,本实验室选用XDS510硬件仿真器作为学习DSP的硬件平台。
系统仿真器(XDS)是一个全系列的仿真器,可用以在系统水平的高度(即非局部)对所设计的DSP系统作集成和调试。TI既给出了一般的在线仿真器(XDS/22)又给出了世界上第一个基于扫描的在系统(in-system)仿真器(XDS510)。由下面的介绍可以看出,XDS是一个较为全面的系统软件及硬件开发设备。其中XDS510的主要特点是:
•通过该仿真器,可全速地运行所设计的目标系统,并可以检查所希望知道的系统硬件与软件特征及状态;
•系统可全速运行,可断点运行,可单步运行;
•既可用软件设置断点及程序跟踪,也可用硬件设置断点及程序跟踪;
•具有高级语言的调试接口;
•可对系统上DSP的所有寄存器及存储器作读写操作;
•可测量系统的执行时间;
•工作在PC机上,有着友好的操作界面。
通过一系列循序渐进的实验安排,使同学们对DSP的一般开发流程能够有一个较全面的认识了解,能够了解TMS320LF2407 DSP实验开发系统的硬件结构,学习TMS320LF2407 DSP的编程语言,掌握TMS320LF2407 DSP的编程方法、调试方法及使用方法,最后能够参照已有的样本程序在对TMS320LF2407 DSP有一定认识的基础上自己设计一个较完整的TMS320LF2407 DSP实验。
一个DSP应用系统,它的硬件电路设计完成后,接着便是软件编写及仿真调试。对于初学者入门学习应以汇编语言为主。由于C语言是高级语言,使得编程者在编程时不必过份了解DSP芯片的内部结构和编程算法,仅仅使用常人的思维去书写程序,只要遵循C语言的编程规范,在短期内就可以完成程序的编制,效率提高数倍,尤其是在浮点数运算和数据处理方面更是令汇编语言望尘莫及。为此,除实验一、二外,其它实验均提供了C语言和汇编语言两种参考程序,以便同学们选择使用;也可尝试C和汇编语言混合编程的方法。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论