基于DSP的函数发生器及数据采集系统.docx
- 文档编号:29933119
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:30
- 大小:263.18KB
基于DSP的函数发生器及数据采集系统.docx
《基于DSP的函数发生器及数据采集系统.docx》由会员分享,可在线阅读,更多相关《基于DSP的函数发生器及数据采集系统.docx(30页珍藏版)》请在冰豆网上搜索。
基于DSP的函数发生器及数据采集系统
课程设计(论文)
题目名称基于DSP的函数发生器及数据采集系统
课程名称DSP原理与应用
学生姓名
学号
系、专业信息工程系、通信工程
指导教师
2010年11月11日
摘要
函数发生器又称信号源或振荡器,一般是指能自动产生正弦波、方波、三角波的电压波形的电路或者仪器。
电路形式可以采用由运放及分离元件构成;也可以采用单片集成函数发生器。
根据用途不同,有产生三种或多种波形的函数发生器;数据采集系统是指从传感器和其它待测设备等模拟和数字被测单元中自动采集信息的过程。
数据采集系统是结合基于计算机的测量软硬件产品来实现灵活的、用户自定义的测量系统。
本课程设计介绍方波、三角波、正弦波函数发生器和数据采集的方法。
此次课程设计拟采用DSP实验室的EL-DSP-EXPII教学实验系统中MCBSP串口控制D/A芯片,发出波形,将输出波形放大再输入给A/D芯片、采集并分析。
关键词:
函数发生器、数据采集、DSP、A/D芯片
目录
摘要I
第1章前言1
第2章DSP技术简介2
第3章总体设计方案3
3.1CPU单元4
3.2硬件电路设计7
3.3芯片简介8
3.4接口设计8
3.5程序设计10
第4章CCS简介12
4.1CCS工作模式12
4.2CCS的组成13
4.3CCS的主要功能13
第5章调试及仿真14
第6章设计总结16
参考文献17
附录18
第1章前言
在21世纪的今天,信号发生器已经广泛地应用于雷达应用,通信系统的仿真与测试等国防、科研和工业领域。
而随着社会的不断进步和科研的不断深入,对信号发生器的波形可编程性、波形的精度与稳定性等性能提出了更高的要求。
基于DSP的信号发生器正是以其编程的高度灵活性,波形的高精度与高稳定性等特点而脱颖而出,具有极大的应用价值和广泛的应用前景。
在现在电子学的各个领域,常常需要高精度且频率可方便调节的信号发生器。
各种波形曲线均可以用三角函数方程来表示。
能够产生多种波形,如三角形,锯齿形,矩形波(含方波)、正弦波的电路被称为函数信号发生器。
函数信号发生器在电路实验和设备检测中具有十分广泛的用途。
函数信号发生器的实现方法通常有以下几种:
(1)用分立元件组成的函数发生器:
通常是单函数发生器且频率不高,其工作很不稳定,不易调试。
(2)可以由晶体管,运放IC等通用器件制作,更多的则是用专门的函数信号发生器IC产生。
早期的函数信号发生器IC,如L8038、BA205、XR2207/2209等,它们的功能较少,精度不高,频率上限只有300KHz,无法产生更高的信号,调节方式也不够灵活,频率和占空比不能独立调节,二者相互影响。
(3)利用单片机集成芯片的函数信号发生器:
能产生多种波形,达到较高的频率,且易于调试,鉴于此,美国马克西姆公司开发了新一代函数信号发生器ICMAX038,它克服了
(2)中芯片的缺点,可以达到更高的技术指标,是上述芯片望尘莫及的。
MAX038频率高,精度好,因此它被称为高频精密函数信号发生器IC。
在锁相环,压控振荡器,频率合成器,脉宽调制器等电路的设计,MAX038都是优选的器件。
(4)利用专用直接数字合成DDS芯片函数发生器:
能够产生任意波形并达到很高的频率。
但成本较高。
综合分析以上四种实现方法的性价比,我们决定采用单片集成芯片AX038来设计函数发生器。
频率越高、产生波形种类越多的发生器性能越好,但器件成本和技术要求也大大提高,因此在满足工作要求的前提下,性价比高的发生器是我们的首选。
第2章DSP技术简介
DSP是DigitalSignalProcessing的缩写,表示数字信号处理器,信息化的基础是数字化,数字化的核心技术之一是数字信号处理,数字信号处理的任务在很大程度上需要由DSP器件来完成,DSP技术已成为人们日益关注的并得到迅速发展的前沿技术。
数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。
DSP技术的应用
语音处理:
语音编码、语音合成、语音识别、语音增强、语音邮件、语音储存等。
图像/图形:
二维和三维图形处理、图像压缩与传输、图像识别、动画、机器人视觉、多媒体、电子地图、图像增强等。
DSP(digitalsignalprocessor)的工作原理是接收模拟信号转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。
它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。
它的强大数据处理能力和高运行速度,是最值得称道的两大特色。
DSP微处理器(芯片)一般具有如下主要特点:
(1)在一个指令周期内可完成一次乘法和一次加法;
(2)程序和数据空间分开,可以同时访问指令和数据;
(3)片内具有快速RAM,通常可通过独立数据总线在两块中同时访问;
(4)具有低开销或无开销循环及跳转的硬件支持;
(5)快速的中断处理和硬件I/O支持;
(6)具有在单周期内操作的多个硬件地址产生器;
(7)可以并行执行多个操作;
(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。
第3章总体设计方案
利用MATLAB或者C语言离线计算信号原始数据(根据一定的函数:
如通用三角波、方波、正弦波或任意波),将原始数据以头文件的形式或*.dat(16进制)文件读入给DSP,发出波形。
将该波形经自制放大器(跟随或放大)电路,再输入给实验箱A/D端子,可以进行数据采集,采集的数据可以存储成文件形式,再次利MATLAB或C语言进行谱分析等。
图3.1系统框图
DSP控制模块作用为将读入的波形数据传送给D/A转换器发出波形,并且通过A/D转换器对数据采集,将采集的数据存储成文件的形式。
D/A转换器作用是进行数模转换,A/D转换器的作用为进行模数转换。
整个实验采用EL-DSP-EXPII教学实验系统,EL-DSP-EXPII教学实验系统属于一种综合的教学实验系统,该系统采用双CPU设计,实现了DSP的多处理器协调工作。
两个DSP通过HPI口并行连接,CPU1可以通过HPI主机接口访问CPU2的存储空间。
该系统采用模块化分离式结构,使用灵活方便二次开发。
可根据自己的需求选用不同类型的CPU适配板,其公司所有CPU适配板是完全兼容的,用户在不需要改变任何配置情况下,更换CPU适配板即可作TI公司的不同类型的DSP的相关试验。
除此之外,在实验板上有丰富的外围扩展资源(数字、模拟信号发生器,数字量IO扩展,语音CODEC编解码、控制对象、人机接口等单元),可以完成DSP基础实验、算法实验、控制对象实验和编解码通信试验。
图3.2EL-DSP-EXPII教学实验系统功能框图
3.1CPU单元
CPU单元包括CPU1、CPU2两块CPU板,用户可根据需要选择不同种类的CPU板。
板上除CPU之外还包括以下单元:
3.1.1CPU模式选择
CPU通常情况下可以根据用户需求工作在不同的模式下,主要用MP/
的电平来决定。
当MP/
为高电平时,DSP工作在微处理器模式,当MP/
为低电平时。
DSP工作在为计算机方式。
在不同模式下存储器映射表有所不同。
详细信息请查阅相应的数据手册。
3.1.2电源模块
在CPU板上由于TMS320VC54X数字信号处理器内核采用3.3V和1.8V供电,因此需要将通用的5V转换成3.3V和1.8V。
为中央处理器提供内部电源。
转换电路如图所示:
图3.3转换电路图
3.1.3电平转换
由于数字信号处理其内部采用3.3V和1.8V供电,而且其输入输出接口电平为3.3V,对于数字量输出而言完全可以和5V电平兼容。
但对于数字量输入而言,由于其内部是3.3V,因此不能将中央处理器的输出口直接和外围扩展的5V器件相连,必须加入电平转换期间进行电平转换和信号隔离。
典型的就是数据线,必须进行隔离,对于其他的涉及到的输入信号也要进行相应的转换。
在CPU板上,U2(LVTH16245)完成了该项功能。
3.1.4复位电路以及时钟单元
复位电路主要包括上电复位和硬件手动复位,每次复位要求至少要有8到10个系统时钟。
因此要求适当的配置复位电路RC网络。
时钟电源主要利用数字信号处理器内部晶振源,并通过外部锁相环控制电路,选择适当倍频倍数,为CPU内部提供系统时钟。
图3.4复位电路图
图3.5复位电路参数
3.1.5语音处理单元
语音CODEC采用TLC320AD50芯片。
该芯片采用sigma-delta技术提供高精度低速信号变换,有两个串行同步变换通道、D/A转换前的差补滤波器和A/D变换后的滤波器。
其他部分提供片上时序和控制功能。
Sigma-delta结构可以实现高精度低速的数模/模数转换。
芯片的各种应用软件配置可以通过串口来编程实现。
主要包括:
复位、节电模式、通信协议、串行时钟速率、信号采样速率、增益控制和测试模式。
最大采样速率22.05kb/s,采样精度16bit。
语音处理单元由语音输入模块、TLC320AD50模块、输出功率模块组成。
语音输入模块采用偏置和差动放大技术,并经过滤波和处理后将输入到语音编解码芯片TLV320AD50,前端输入的电压范围为-2.5V---+2.5V。
经过变换后输入到AD50的芯片的差动信号范围为0---5V。
TLC320AD50C作为主方式,通过DSP的MCBSP0口进行通信。
音频信号通过D/A转换后输出,由于TLC320AD50输出的是差动信号,因此首先经过差动放大,然后可以推动功率为0.4W的板载扬声器,也可以接耳机输出。
图3.6语音处理单元原理框图
语音处理单元接口说明:
J14:
音频输入端子,可输入CD、声卡、MP3、麦克风等语音信号。
J15:
音频输出端子,可接耳机、音箱。
J3:
语音处理单元输入信号接口
J1:
语音处理单元输出信号接口
J6:
地
语音处理单元拨码开关说明:
S1:
拨码开关:
码位
备注
1
ON:
帧同步脉冲接通,缺省设置;OFF:
帧同步脉冲关断;
2
ON:
串口时钟接通,缺省设置;OFF:
缓冲串口时钟关断;
S2:
拨码开关
码位
备注
1
ON:
直流量输入,OFF:
交流量输入,缺省设置
2
ON:
扬声器输出,OFF:
扬声器关闭,缺省设置
语音处理单元可调电位器说明:
“输入调节”:
逆时针
音量变大
顺时针
音量变小
“输出调节”:
逆时针
音量变大
顺时针
音量变小
注:
语音处理单元的二号孔IN和OUT通过导线的连接,可以为温控单元,信号源单元提供A/D,D/A转换的功能。
3.2硬件电路设计
在系统中,为了应用DSP卓越的数字信号处理能力,我们必须先将模拟信号进行数字化(A/D转换),再对采样数据进行相应的算法处理,最后经过数字信号模拟化(D/A转换)后输出。
在DSP系统中的关键问题是怎样十分容易和高效地实现这些转换,因此必然涉及到接口电路的设计。
实验采用一种单片内集成了ADC通道和DAC通道的模拟接口电路TLC320AD50C(以下简称AD50)与TMS320VC5402缓冲串口的接口实现设计,然后,基于这种接口电路的硬件设计,通过软件编程实现函数信号发生及数据采集。
3.3芯片简介
TMS320VC5402是TI公司生产的从属于TMS320C54x系列的一个工作灵活、高速、具有较高性价比、低功耗的16位定点通用DSP芯片。
其主要特点包括:
采用改进的哈佛结构,1条程序总线(PB),3条数据总线(CB、DB、EB)和4条地址总线(PAB,CAB,DAB,EAB),带有专用硬件逻辑CPU,片内存储器,片内外围专用的指令集,专用的汇编语言工具等。
TMS320VC5402含4K字节的片内ROM和16K字节的双存取RAM,1个HPI(HostPortInterface)接口,2个多通道缓冲单口MCBSP(Multi-ChannelBufferedSerialPort),单周期指令执行时间10ns,双电源(1.8V和3.3V)供电,带有符合IEEE1149.1标准的JTAG边界扫描仿真逻辑。
AD50是TI公司生产的一个16位、音频范围(采样频率为2K~22.05KHZ)、内含抗混叠滤波器和重构滤波器的模拟接口芯片,它有一个能与许多DSP芯片相连的同步串行通信接口。
AD50C片内还包括一个定时器(调整采样率和帧同步延时)和控制器(调整编程放大增益,锁相环PLL,主从模式)。
AD50有28脚的塑料SOP封装(带DW后缀)和48脚的塑料扁平封装(带PT后缀),体积较小,适应于便携设备。
AD50的工作温度范围是0~70℃,单一5V电源供电或5V和3.3V联合供电,工作时的最大功耗为120mW。
3.4接口设计
图3.7AD50的内部结构简图
图1最上面第一通道为模拟信号输入监控通道,第二通道为模拟信号转化为数字信号(A/D)通道,第三通道为数字信号转化为模拟信号(D/A)通道,最下面一路是AD50的工作频率和采样频率控制通道。
本文所述的输入时钟(MCLK)为8.192MHz,A/D与D/A的采样频率为MCLK/(128*N)Hz(N为AD50C的第4个寄存器4~6位所设)。
AD50与DSP的引脚连接方式
图3.8系统硬件连线图
AD50与TMS320VC5402是以SPI方式连接的。
AD50工作在主机模式(M/S=1),提供SCLK(数据移位时钟)和FS(帧同步脉冲)。
TMS320VC5402工作于SPI方式的从机模式,BCLKX1和BFSX1为输入引脚,在接数据和发数据时都是利用外界时钟和移位脉冲。
3.5程序设计
3.5.1程序流程图
图3.9软件流程图
3.5.2关键代码
初始化DSP串口
STMSPCR1,McBSP1_SPSA;将SPCR1对应的子地址放到子地址寄存器SPR中
STM#0000h,McBSP1_SPSD;将#0000H加载到SPCR1中,使接收中断由帧有效信号触发
STMSPCR2,McBSP1_SPSA;将SPCR2对应的子地址放到子地址寄存器SPR中
STM#0000h,McBSP1_SPSD;帧同步发生器复位,发送器复位
STMRCR1,McBSP1_SPSA;将RCR1对应的子地址放到子地址寄存器SPR
STM#0040h,McBSP1_SPSD;接收帧长度16位
STMRCR2,McBSP1_SPSA;将RCR2对应的子地址放到子地址寄存器SPR
STM#0040h,McBSP1_SPSD;接收为单相,每帧16位
STMXCR1,McBSP1_SPSA;将XCR1对应的子地址放到子地址寄存器SPR
STM#0040h,McBSP1_SPSD;接收每帧16位
STMXCR2,McBSP1_SPSA;将XCR2对应的子地址放到子地址寄存器SPR
STM#0040h,McBSP1_SPSD;发送为单相,每帧16位
STMPCR,McBSP1_SPSA;将PCR对应的子地址放到子地址寄存器SPR
STM#000eh,McBSP1_SPSD;工作于从模式
初始化AD50C
rsbxxf;复位AD50
callwait
NOP
STMSPCR1,McBSP1_SPSA;允许McBSP1接收数据
LDMMcBSP1_SPSD,A
OR#0x0001,A
STLMA,McBSP1_SPSD
STMSPCR2,McBSP1_SPSA;允许McBSP1发送数据
LDMMcBSP1_SPSD,A
OR#0x0001,A
STLMA,McBSP1_SPSD
LD#0h,DP;数据放到第0页
rpt#23
NOP
ssbxxf;使AD50开始工作
NOP
NOP
CALLIfTxRDY1;初始化AD50寄存器
STM#0x0001;cBSP1_DXR1;要求辅助通信
NOP
CALLIfTxRDY1
STM#0100h,McBSP1_DXR1;写00h到寄存器1,15+1模式
CALLIfTxRDY1
STM#0000h,McBSP1_DXR1
NOP
NOP
rpt#20h
nop
CALLIfTxRDY1
STM#0x0001,McBSP1_DXR1;要求辅助通信
CALLIfTxRDY1
STM#0200h,McBSP1_DXR1;写00h到寄存器2
CALLIfTxRDY1
STM#0000h,McBSP1_DXR1
CALLIfTxRDY1
STM#0x0001,McBSP1_DXR1;要求辅助通信
CALLIfTxRDY1
STM#0300h,McBSP1_DXR1;写00h到寄存器3
CALLIfTxRDY1
STM#0000h,McBSP1_DXR1
CALLIfTxRDY1
STM#0x0001,McBSP1_DXR1;要求辅助通信
STM#0490h,McBSP1_DXR1;写00h到寄存器4
;不使用内部PLL
;采样频率为64k
CALLIfTxRDY1
STM#0000h,McBSP1_DXR1
第4章CCS简介
4.1CCS工作模式
软件仿真器模式:
可以脱离DSP芯片,在PC机上模拟DSP的指令集和工作机制,主要用于前期算法实现和调试。
硬件在线编程模式:
可以实时运行在DSP芯片上,与硬件开发板相结合在线编程和调试应用程序。
4.2CCS的组成
(1)TMS320C54x集成代码产生工具用来对C语言、汇编语言或混合语言编程的DSP源程序进行编译汇编,并链接成为可执行的DSP程序。
主要包括汇编器、链接器、C/C++编译器和建库工具等。
(2)CCS集成开发环境集编辑、编译、链接、软件仿真、硬件调试和实时跟踪等功能于一体。
包括编辑工具、工程管理工具和调试工具等。
(3)DSP/BIOS实时内核插件及其应用程序接口API主要为实时信号处理应用而设计。
包括DSP/BIOS的配置工具、实时分析工具等。
(4)实时数据交换的RTDX插件和相应的程序接口API可对目标系统数据进行实时监视,实现DSP与其他应用程序的数据交换。
(5)由TI公司以外的第三方提供的应用模块插件
4.3CCS的主要功能
(1)具有集成可视化代码编辑界面,用户可通过其界面直接编写C、汇编、.cmd文件等;
(2)含有集成代码生成工具,包括汇编器、优化C编译器、链接器等,将代码的编辑、编译、链接和调试等诸多功能集成到一个软件环境中;
(3)高性能编辑器支持汇编文件的动态语法加亮显示,使用户很容易阅读代码,发现语法错误;
(4)工程项目管理工具可对用户程序实行项目管理。
在生成目标程序和程序库的过程中,建立不同程序的跟踪信息,通过跟踪信息对不同的程序进行分类管理;
(5)基本调试工具具有装入执行代码、查看寄存器、存储器、反汇编、变量窗口等功能,并支持C源代码级调试;
(6)断点工具,能在调试程序过程中完成硬件断点、软件断点和条件断点的设置;
(7)探测点工具,可用于算法的仿真,数据的实时监视等;
(8)分析工具,包括模拟器和仿真器分析,可用于模拟和监视硬件的功能、评价代码执行的时钟;
(9)数据的图形显示工具,可以将运算结果用图形显示,包括显示时域/频域波形、眼图、星座图、图像等,并能进行自动刷新;
(10)提供GEL工具。
利用GEL扩展语言,用户可以编写自己的控制面板/菜单,设置GEL菜单选项,方便直观地修改变量,配置参数等;
(11)支持多DSP的调试;
(12)支持RTDX技术,可在不中断目标系统运行的情况下,实现DSP与其他应用程序的数据交换;
(13)提供DSP/BIOS工具,增强对代码的实时分析能力。
第5章调试及仿真
(1)语音处理单元”的拨码开关设置:
S1:
拨码开关
码位
备注
1
ON:
帧同步脉冲接通
2
ON:
串口时钟接通
S2:
拨码开关:
码位
备注
1
OFF:
交流量输入
2
OFF:
扬声器关闭
(2)用音频线连接“语音模块”的J14和J15
(3)运行CCS软件,加载程序;
(4)加载实验数据File/Data/Load分别装载sin.dat和其它波形数据
(5)按F5运行程序,用示波器检测“语音处理单元”的2号孔接口“J1”输出一个正弦波;
图5.1正弦波图
图5.2方波图
图5.3三角波图
(6)查看数据存储器中的内容变化
加载实验数据File/Data/Load,装载sin.dat,数据存储器内容为:
图5.4采集前时域波形图
对数据进行采集,数据存储器内容为:
图5.5采集后时域波形图
第6章设计总结
通过本次DSP课程设计,让我对实函数信号发生器及数据采集系统有了更深层次的认识,在调试过程中正弦波可以无失真的采集并还原出来,因为数据有所出入,调试时出现了失真,在我们重新更改过数据后,采集效果比较理想。
本次设计过程中遇到一些课堂上未有过的问题,通过网络查找以及和队友交流,大大促进了实训进程。
并在过程中进一步提高自身的创作、创新水平,扎实基础,扩展所学。
本次课程设计要求我们能够综合利用DSP技术MATLAB、C语言、软件设计、信号系统等课程的相关知识,所以通过此次综合实验,我们不仅锻炼了动手能力,还较系统性的复习了以上课程,利用实践来检验我们所学的理论知识,让我们更深层次的理解和掌握知识。
此次设计能够快速顺利完成,首先要谢谢李老师的指点,还有队友们的帮助,他们让我体会到团队互助的精神。
我相信这样的设计对我以后的学习和工作都有很大的帮助。
参考文献
【1】戴明帧.数字信号处理的硬件实现[M].北京:
航空工业出版社,1988
【2】干张伟雄,陈亮,徐光辉.DSP集成开发与应用实例【M】。
北京:
电子工业出版社,
【3】戴明桢,周建江.TMS320C54XDSP结构,原理及应运【M】北京航空航天出版社,
【4】谢自美《电子线路设计.实验.测试》武汉:
华中科技大学出版社,2000年7月
【5】杨帮文《新型集成器件家用电路》北京:
电子工业出版社,2002.8
【6】第二届全国大学生电子设计竞赛组委会。
北京:
北京理工大学出版社,1997.
【7】李炎清《毕业论文写作与范例》厦门:
厦门大学出版社,2006.10
【8】潭博学、苗江静《集成电路原理及应用》北京:
电子工业出版社,2003.9
【9】陈梓城《家用电子电路设计与调试》北京:
中国电力出版社,2006
附录
源程序:
/*youmustloadthedatafilewave.dat
beforeyourrunningtheprogram!
*/
externvoidInitC5402(void);
externvoidOpenMcBSP(void);
externvoidCloseMcBSP(void);
externvoidWRITEAD5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 DSP 函数 发生器 数据 采集 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)