基于DSP的函数发生器及数据采集系统设计课程设计

上传人:仙*** 文档编号:28323236 上传时间:2021-08-25 格式:DOC 页数:27 大小:961.06KB
收藏 版权申诉 举报 下载
基于DSP的函数发生器及数据采集系统设计课程设计_第1页
第1页 / 共27页
基于DSP的函数发生器及数据采集系统设计课程设计_第2页
第2页 / 共27页
基于DSP的函数发生器及数据采集系统设计课程设计_第3页
第3页 / 共27页
资源描述:

《基于DSP的函数发生器及数据采集系统设计课程设计》由会员分享,可在线阅读,更多相关《基于DSP的函数发生器及数据采集系统设计课程设计(27页珍藏版)》请在装配图网上搜索。

1、1 1 课程设计(论文) 题 目 名 称 基于 DSP 的函数发生器及数据采集系统 课 程 名 称 DSP 原理与应用 学 生 姓 名 学 号 系 、 专 业 信息工程系、通信工程 指 导 教 师 2010 年 11 月 11 日 摘要 在 21 世纪的今天,信号发生器已经广泛地应用于雷达应用,通信系统的仿真 与测试等国防、科研和工业领域。而随着社会的不断进步和科研的不断深入,对信 号发生器的波形可编程性、波形的精度与稳定性等性能提出了更高的要求。基于 DSP 的信号发生器正是以其编程的高度灵活性,波形的高精度与高稳定性等特点而 脱颖而出,具有极大的应用价值和广泛的应用前景。 该函数信号发生器

2、主要由 TMS320C5410 和 TLC320AD50C 两大部分组成。 在 DSP 芯片上完成对波形的编程,通过多通道缓冲串口向 TLC320AD50C(数模 转换器)发送波形数据,通过 TLC320AD50C 的插值滤波等措施产生模拟波行输 出。 该函数信号发生器的硬件设计中 TMS3205410 和 TLC320AD50C 的连接采 用 SPI 协议,TLC320AD50C 作为 SPI 主器件,提供帧同步和时钟信号,多通道 缓冲串口作为 SPI 从器件。 通过软硬件的联合调试最终实现了方波、三角波、锯齿波和正弦波等波形的产 生,并成功的实现了其波形的幅度和频率可调性。 关键词:函数信

3、号发生器,TMS3205410 ,TLC320AD50C, SPI 协议 I I Abstract Nowadays in the 21st century, the signal generator has been widely used in national defense, scientific research and industrial fields such as radar applications, the simulation and testing of communication systems. With the developing of society and

4、 the deepening of scientific research, the waveform of the programmable and the accuracy and stability properties signal generator is needed for higher improved than before. DSP-based signal generator which is famous for its highly flexibility in its programming, highly-precision waveform characteri

5、stics with highly stability and come to the fore,has a great value and extensive application prospects in future. The signal generator is composed of two major parts,the TMS320C5410 and TLC320AD50C. The waveform is programmed on the DSP chips ,then the data is sent through McBSP to TLC320AD50C (DAC)

6、,and with the help of the interpolation filtering of the TLC320AD50C, the analog wave line output is formed. The signal generator hardware design ,the connection of TMS3205410 and TLC320AD50C is based on SPI protocol.TLC320AD50C is as the SPI master device, provides frame synchronization and clock s

7、ignals, McBSP is as the SPI from the device. The generated of waveforms such as Square wave, triangle wave, sawtooth and sine wave and so on is finally come true ,and the amplitude and frequency adjustable is successfully realization ,with the joint commissioning of hardware and software. Key words:

8、 signal generator, TMS3205410, TLC320AD50C, McBSP, SPI protocol 目录 摘要 I ABSTRACTII 第 1 章 前言 1 第 2 章 发生器简介 2 第 3 章 总体设计方案 3 3.1 CPU 单元 4 3.2 硬件电路设计 7 3.3 芯片简介 7 3.4 接口设计 8 3.5 程序设计 9 第 4 章 调试及仿真 12 第 5 章 设计总结 14 参考文献 15 附录 16 1 1 第 1 章 前言 在现在电子学的各个领域,常常需要高精度且频率可方便调节的信号发生器。 各种波形曲线均可以用三角函数方程来表示。能够产生多种波

9、形,如三角形,锯齿 形,矩形波(含方波) 、正弦波的电路被称为函数信号发生器。函数信号发生器在电 路实验和设备检测中具有十分广泛的用途。函数信号发生器的实现方法通常有以下 几种: (1)用分立元件组成的函数发生器:通常是单函数发生器且频率不高,其工 作很不稳定,不易调试。 (2)可以由晶体管,运放 IC 等通用器件制作,更多的则是用专门的函数信 号发生器 IC 产生。早期的函数信号发生器 IC,如 L8038、BA205、XR2207/2209 等,它们的功能较少,精度不高,频率上限只有 300KHz,无法产生更高的信号,调节方式也不够灵活,频率和占空比不能独立调 节,二者相互影响。 (3)利

10、用单片机集成芯片的函数信号发生器:能产生多种波形,达到较高的 频率,且易于调试,鉴于此,美国马克西姆公司开发了新一代函数信号发生器 ICMAX038,它克服了( 2)中芯片的缺点,可以达到更高的技术指标,是上述芯 片望尘莫及的。MAX038 频率高,精度好,因此它被称为高频精密函数信号发生 器 IC。在锁相环,压控振荡器,频率合成器,脉宽调制器等电路的设计, MAX038 都是优选的器件。 (4)利用专用直接数字合成 DDS 芯片函数发生器:能够产生任意波形并达 到很高的频率。但成本较高。 综合分析以上四种实现方法的性价比,我们决定采用单片集成芯片 AX038 来 设计函数发生器。频率越高、产

11、生波形种类越多的发生器性能越好,但器件成本和 技术要求也大大提高,因此在满足工作要求的前提下,性价比高的发生器是我们的 首选。MAX038 芯片是一种高频精密的函数发生器,可产生三角波、锯齿波、正 弦波、方波及脉冲波,且频率及占空比的控制可独立进行。 Lin 管脚电流范围在 10400A 时电路获得最佳工作性能。输出波形的选择由逻辑地址引脚 A0 和 A1 的组合来决定:A1A0 10 或 11 时,输出正弦波; A1A000 时,输出方波; A1A001 时输出三角波。波形切换可在 03s 内完成,但输出波形有 05s 的延迟时间。输出频率由 Lin 引脚的电流、SOSC 引脚的对地电容量和

12、 FADJ 的 电压来决定。 2 2 第 2 章 发生器简介 信 号 发 生 器 又 称 信 号 源 或 振 荡 器 , 在 生 产 实 践 和 科 技 领 域 中 有 着 广 泛 的 应 用 。 凡是产生测试信号的仪器,统称为信号源,也称为信号发生器,它用于产生被测电 路所需特定参数的电测试信号。 函数发生器是使用最广的通用信号源,提供正弦波、锯齿波、方波、脉冲波等 波形,有的还同时具有调制和扫描功能。函数波形发生器在设计上分为模拟式和数 字合成式。众所周知,数字合成式函数信号源(DDS)无论就频率、幅度乃至信号 的信噪比(S/N )均优于模拟式,其锁相环( PLL)的设计让输出信号不仅是频

13、率 精准,而且相位抖动(phase Jitter)及频率漂移均能达到相当稳定的状态,但数字 式信号源中,数字电路与模拟电路之间的干扰始终难以有效克服,也造成在小信号 的输出上不如模拟式的函数信号发生器,如今市场上的大部分函数信号发生器均为 DDS 信号源。 任意波形发生器,是一种特殊的信号源,不仅具有一般信号源波形生成能力, 而且可以仿真实际电路测试中需要的任意波形。在我们实际的电路的运行中,由于 各种干扰和响应的存在,实际电路往往存在各种缺陷信号和瞬变信号,如果在设计 之初没有考虑这些情况,有的将会产生灾难性后果。任意波发生器可以帮您完成实 验,仿真实际电路,对您的设计进行全面的测试。 由于

14、任意波形发生往往依赖计算机通讯输出波形数据。在计算机传输中,通过 专用的波形编辑软件生成波形,有利于扩充仪器的能力,更进一步仿真实验。另外, 内置一定数量的非易失性存储器,随机存取编辑波形,有利于参考对比,或通过随 机接口通讯传输到计算机作更进一步分析与处理。有些任意波形发生器有波形下载 功能,在作一些麻烦费用高或风险性大的实验时,通过数字示波器等仪器把波形实 时记录下来,然后通过计算机接口传输到信号源,直接下载到设计电路,更进一步 实验验证。 由于模拟技术实现的信号发生器要求大量的硬件来做支撑,所以它的复杂度会 随着波形的复杂度增加随之不成比例增加,同时由模拟电路构成的信号发生器不但 参数的

15、准确度你难以保证,而且体积和功耗都很大;而由数字电路构成的信号发生 器,体积较大,价格较贵;加上人们对特殊信号需求的增加,对波形的精度、稳定 性、幅度和频率的可调性要求的增加,单纯的模拟和数字电路构成的信号发生器已 经难以满足这些要求,在这中情况下,基于 DSP 的信号发生器应运而生。 3 3 第 3 章 总体设计方案 利用 MATLAB 或者 C 语言离线计算信号原始数据(根据一定的函数:如通 用三角波、方波、正弦波或任意波) ,将原始数据以头文件的形式或*.dat(16 进制) 文件读入给 DSP,发出波形。将该波形经自制放大器(跟随或放大)电路,再输入 给实验箱 A/D 端子,可以进行数

16、据采集,采集的数据可以存储成文件形式,再次利 MATLAB 或 C 语言进行谱分析等。 D S P 控制器 D / A 转换器 A / D 转换器 图 3.1 系统框图 DSP 控制模块作用为将读入的波形数据传送给 D/A 转换器发出波形,并且通 过 A/D 转换器对数据采集,将采集的数据存储成文件的形式。D/A 转换器作用是 进行数模转换,A/D 转换器的作用为进行模数转换。 整个实验采用 EL-DSP-EXPII 教学实验系统,EL-DSP-EXPII 教学实验系 统属于一种综合的教学实验系统,该系统采用双 CPU 设计,实现了 DSP 的多处理 器协调工作。两个 DSP 通过 HPI 口

17、并行连接, CPU1 可以通过 HPI 主机接口访 问 CPU2 的存储空间。该系统采用模块化分离式结构,使用灵活方便二次开发。可 根据自己的需求选用不同类型的 CPU 适配板,其公司所有 CPU 适配板是完全兼 容的,用户在不需要改变任何配置情况下,更换 CPU 适配板即可作 TI 公司的不同 类型的 DSP 的相关试验。除此之外,在实验板上有丰富的外围扩展资源(数字、 模拟信号发生器,数字量 IO 扩展,语音 CODEC 编解码、控制对象、人机接口等 单元) ,可以完成 DSP 基础实验、算法实验、控制对象实验和编解码通信试验。 4 4 CPU1 CPU2语 音 编 码 解 码模 块存 续

18、 器 扩 展模 块 信 号 源模 块 A/D模 块LCD模 块数 字 量输 入 、 输 出模 块 CPLD D/A模 块电 源模 块温 控模 块直 流 电 机模 块步 进 电 机模 块 键 盘/LED模 块 HPI 图 3.2 EL-DSP-EXPII 教学实验系统功能框图 3.1 CPU 单元 CPU 单元包括 CPU1、CPU2 两块 CPU 板,用户可根据需要选择不同种类 的 CPU 板。板上除 CPU 之外还包括以下单元: 3.1.1 CPU 模式选择 CPU 通常情况下可以根据用户需求工作在不同的模式下,主要用 MP/Error! 的电平来决定。当 MP/Error!为高电平时,DS

19、P 工作在微处理器模式,当 MP/Error!为低电平时。 DSP 工作在为计算机方式。在不同模式下存储器映射表 有所不同。详细信息请查阅相应的数据手册。 3.1.2 电源模块 在 CPU 板上由于 TMS320VC54X 数字信号处理器内核采用 3.3V 和 1.8V 供电,因此需要将通用的 5V 转换成 3.3V 和 1.8V。为中央处理器提供内部电源。 转换电路如图所示: C 1 8 D G N D C 2 0 C 2 3 3 . 3 V1 . 8 V C 2 2C 2 1 V C C N C 1 N C 2 1 G N D 3 1 E N 4 1 I N 5 1 I N 6 N C 7

20、 N C 8 2 G N D 9 2 E N 1 0 2 I N 1 1 2 I N 1 2 N C 1 3 N C 1 4 N C 1 5 N C 1 6 2 O U T 1 7 2 O U T 1 8 2 S E N S E 1 9 N C 2 0 N C 2 1 2 R E S E T 2 2 1 O U T 2 3 1 O U T 2 4 1 F B / S E N S E 2 5 N C 2 6 N C 2 7 1 R E S E T 2 8 U 3 C 1 9 图 3.3 转换电路图 5 5 3.1.3 电平转换 由于数字信号处理其内部采用 3.3V 和 1.8V 供电,而且其输入

21、输出接口电平 为 3.3V,对于数字量输出而言完全可以和 5V 电平兼容。但对于数字量输入而言, 由于其内部是 3.3V,因此不能将中央处理器的输出口直接和外围扩展的 5V 器件相 连,必须加入电平转换期间进行电平转换和信号隔离。典型的就是数据线,必须进 行隔离,对于其他的涉及到的输入信号也要进行相应的转换。在 CPU 板上, U2(LVTH16245)完成了该项功能。 3.1.4 复位电路以及时钟单元 复位电路主要包括上电复位和硬件手动复位,每次复位要求至少要有 8 到 10 个系统时钟。因此要求适当的配置复位电路 RC 网络。时钟电源主要利用数字信号 处理器内部晶振源,并通过外部锁相环控制

22、电路,选择适当倍频倍数,为 CPU 内 部提供系统时钟。 + 3 . 3 V S 1 R 4 1 0 0 K C 1 7 4 . 7 u F R E S E T R 1 5 1 k + 3 . 3 V 1 2 U 3 A 7 4 1 4 3 4 U 3 B 7 4 1 4 施密特触发器 D 0 L E D 图 3.4 复位电路图 图 3.5 复位电路参数 6 6 3.1.5 语音处理单元 语音 CODEC 采用 TLC320AD50 芯片。该芯片采用 sigma-delta 技术提供 高精度低速信号变换,有两个串行同步变换通道、D/A 转换前的差补滤波器和 A/D 变换后的滤波器。其他部分提供

23、片上时序和控制功能。Sigma-delta 结构可以实现 高精度低速的数模模数转换。芯片的各种应用软件配置可以通过串口来编程实现。 主要包括:复位、节电模式、通信协议、串行时钟速率、信号采样速率、增益控制 和测试模式。最大采样速率 22.05kb/s,采样精度 16bit。 语音处理单元由语音输入模块、TLC320AD50 模块、输出功率模块组成。语 音输入模块采用偏置和差动放大技术,并经过滤波和处理后将输入到语音编解码芯 片 TLV320AD50,前端输入的电压范围为-2.5V-+2.5V。经过变换后输入到 AD50 的芯片的差动信号范围为 0-5V。TLC320AD50C 作为主方式,通过

24、 DSP 的 MCBSP0 口进行通信。音频信号通过 D/A 转换后输出,由于 TLC320AD50 输出的是差动信号,因此首先经过差动放大,然后可以推动功率为 0.4W 的板载扬声器,也可以接耳机输出。 音频 输入 前端 处理 AD5 0 DSP 音频 输出 功率 放大 McBSP 图 3.6 语音处理单元原理框图 语音处理单元接口说明: J14:音频输入端子,可输入 CD、声卡、MP3 、麦克风等语音信号。 J15:音频输出端子,可接耳机、音箱。 J3: 语音处理单元输入信号接口 J1: 语音处理单元输出信号接口 J6: 地 语音处理单元拨码开关说明: S1: 拨码开关: 7 7 码位 备

25、注 1 ON:帧同步脉冲接通,缺省设置; OFF: 帧同步 脉冲关断; 2 ON:串口时钟接通,缺省设置; OFF: 缓冲串口时 钟关断; S2:拨码开关 码位 备注 1 ON:直流量输入,OFF:交流量输入,缺省设置 2 ON:扬声器输出 OFF:扬声器关闭,缺省设置 语音处理单元可调电位器说明: “输入调节”: 逆时针 音量变大 顺时针 音量变小 “输出调节”: 逆时针 音量变大 顺时针 音量变小 注:语音处理单元的二号孔 IN 和 OUT 通过导线的连接,可以为温控单元, 信号源单元提供 A/D,D/A 转换的功能。 3.2 硬件电路设计 在系统中,为了应用 DSP 卓越的数字信号处理能

26、力,我们必须先将模拟信号 进行数字化(A/D 转换) ,再对采样数据进行相应的算法处理,最后经过数字信号 模拟化(D/A 转换)后输出。在 DSP 系统中的关键问题是怎样十分容易和高效地 实现这些转换,因此必然涉及到接口电路的设计。实验采用一种单片内集成了 ADC 通道和 DAC 通道的模拟接口电路 TLC320AD50C(以下简称 AD50)与 TMS320VC5402 缓冲串口的接口实现设计,然后,基于这种接口电路的硬件设计, 通过软件编程实现函数信号发生及数据采集。 3.3 芯片简介 TMS320VC5402 是 TI 公司生产的从属于 TMS320C54x 系列的一个工作灵活、 高速、

27、具有较高性价比、低功耗的 16 位定点通用 DSP 芯片。其主要特点包括:采 用改进的哈佛结构,1 条程序总线(PB) ,3 条数据总线(CB、DB、EB)和 4 条 8 8 地址总线(PAB,CAB , DAB,EAB) ,带有专用硬件逻辑 CPU,片内存储器,片 内外围专用的指令集,专用的汇编语言工具等。TMS320VC5402 含 4K 字节的片 内 ROM 和 16K 字节的双存取 RAM,1 个 HPI(Host Port Interface)接口,2 个 多通道缓冲单口 MCBSP(Multi-Channel Buffered Serial Port) ,单周期指令执行 时间 10

28、ns,双电源(1.8V 和 3.3V)供电,带有符合 IEEE1149.1 标准的 JTAG 边 界扫描仿真逻辑。 AD50 是 TI 公司生产的一个 16 位、音频范围(采样频率为 2K22.05KHZ ) 、 内含抗混叠滤波器和重构滤波器的模拟接口芯片,它有一个能与许多 DSP 芯片相连 的同步串行通信接口。AD50C 片内还包括一个定时器 (调整采样率和帧同步延时) 和控制器(调整编程放大增益,锁相环 PLL,主从模式) 。AD50 有 28 脚的塑料 SOP 封装 (带 DW 后缀)和 48 脚的塑料扁平封装 (带 PT 后缀) ,体积较小,适应于 便携设备。AD50 的工作温度范围是

29、 070,单一 5V 电源供电或 5V 和 3.3V 联合供电,工作时的最大功耗为 120 mW。 3.4 接口设计 图 3.7 AD50 的内部结构简图 图 1 最上面第一通道为模拟信号输入监控通道,第二通道为模拟信号转化为数 字信号(A/D)通道,第三通道为数字信号转化为模拟信号(D/A )通道,最下面一 路是 AD50 的工作频率和采样频率控制通道。本文所述的输入时钟(MCLK)为 8.192MHz, A/D 与 D/A 的采样频率为 MCLK/(128*N)Hz(N 为 AD50C 的第 4 个寄存器 46 位所设 ) 。 9 9 AD50 与 DSP 的引脚连接方式 图 3.8 系统

30、硬件连线图 AD50 与 TMS320VC5402 是以 SPI 方式连接的。AD50 工作在主机模式 (M/S=1) ,提供 SCLK(数据移位时钟)和 FS(帧同步脉冲) 。 TMS320VC5402 工作于 SPI 方式的从机模式, BCLKX1 和 BFSX1 为输入引脚, 在接数据和发数据时都是利用外界时钟和移位脉冲。 3.5 程序设计 3.5.1 程序流程图 开始 D S P 串口 1 初始化 D S P 中断控制设置 复位 A D 5 0 C 给寄存器 1 编程 给寄存器 2 编程 给寄存器 4 编程 给寄存器 3 编程 开始 发送 D / A 转换数据 接 收 A / D 转换

31、数据 结束 图 3.9 软件流程图 3.5.2 关键代码 初始化 DSP 串口 STM SPCR1, McBSP1_SPSA ; 将 SPCR1 对应的子地址放到子地址寄存器 10 10 SPR 中 STM #0000h, McBSP1_SPSD ; 将#0000H 加载到 SPCR1 中,使接收中断由帧 有效信号触发 STM SPCR2, McBSP1_SPSA ; 将 SPCR2 对应的子地址放到子地址寄存器 SPR 中 STM #0000h, McBSP1_SPSD ;帧同步发生器复位,发送器复位 STM RCR1, McBSP1_SPSA ; 将 RCR1 对应的子地址放到子地址寄存器

32、 SPR STM #0040h, McBSP1_SPSD ; 接收帧长度 16 位 STM RCR2, McBSP1_SPSA ; 将 RCR2 对应的子地址放到子地址寄存器 SPR STM #0040h, McBSP1_SPSD ; 接收为单相,每帧 16 位 STM XCR1, McBSP1_SPSA ; 将 XCR1 对应的子地址放到子地址寄存器 SPR STM #0040h, McBSP1_SPSD ; 接收每帧 16 位 STM XCR2, McBSP1_SPSA ; 将 XCR2 对应的子地址放到子地址寄存器 SPR STM #0040h, McBSP1_SPSD ; 发送为单相,

33、每帧 16 位 STM PCR, McBSP1_SPSA ; 将 PCR 对应的子地址放到子地址寄存器 SPR STM #000eh, McBSP1_SPSD ;工作于从模式 初始化 AD50C rsbx xf ;复位 AD50 call wait NOP STM SPCR1, McBSP1_SPSA ;允许 McBSP1 接收数据 LDM McBSP1_SPSD,A OR #0 x0001, A STLM A, McBSP1_SPSD STM SPCR2, McBSP1_SPSA ; 允许 McBSP1 发送数据 LDM McBSP1_SPSD,A OR #0 x0001, A STLM A

34、, McBSP1_SPSD LD #0h, DP ; 数据放到第 0 页 rpt #23 NOP 11 11 ssbx xf ;使 AD50 开始工作 NOP NOP CALL IfTxRDY1 ;初始化 AD50 寄存器 STM #0 x0001 ; cBSP1_DXR1;要求辅助通信 NOP CALL IfTxRDY1 STM #0100h, McBSP1_DXR1;写 00h 到寄存器 1,15+1 模式 CALL IfTxRDY1 STM #0000h, McBSP1_DXR1 NOP NOP rpt #20h nop CALL IfTxRDY1 STM #0 x0001, McBSP

35、1_DXR1;要求辅助通信 CALL IfTxRDY1 STM #0200h, McBSP1_DXR1;写 00h 到寄存器 2 CALL IfTxRDY1 STM #0000h, McBSP1_DXR1 CALL IfTxRDY1 STM #0 x0001, McBSP1_DXR1;要求辅助通信 CALL IfTxRDY1 STM #0300h, McBSP1_DXR1;写 00h 到寄存器 3 CALL IfTxRDY1 STM #0000h, McBSP1_DXR1 CALL IfTxRDY1 STM #0 x0001, McBSP1_DXR1;要求辅助通信 STM #0490h, Mc

36、BSP1_DXR1;写 00h 到寄存器 4;不使用内部 PLL;采样 频率为 64k CALL IfTxRDY1 12 12 STM #0000h, McBSP1_DXR1 第 4 章 调试及仿真 1语音处理单元”的拨码开关设置: S1:拨码开关 码位 备注 1 ON:帧同步脉冲接通 2 ON:串口时钟接通 S2: 拨码开关 码位 备注 1 OFF:交流量输入 2 OFF:扬声器关闭 2用音频线连接“语音模块”的 J14 和 J15 3运行 CCS 软件,加载程序; 4加载实验数据 File/Data/Load 分别装载 sin.dat 和其它波形数据 5按 F5 运行程序,用示波器检测“语

37、音处理单元”的 2 号孔接口“J1”输 出一个正弦波; 图 4.1 正弦波图 13 13 图 4.2 方波图 图 4.3 三角波图 6查看数据存储器中的内容变化 加载实验数据 File/Data/Load ,装载 sin.dat,数据存储器内容为: 图 4.4 采集前时域波形图 对数据进行采集,数据存储器内容为: 14 14 图 4.5 采集后时域波形图 第 5 章 设计总结 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是 远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能 真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程 中

38、遇到问题,可以说得是困难重重,难免会遇到过各种各样的问题,同时在设计的 过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够 牢固。 通过这次课程设计,加强了我们动手、思考和解决问题的能力。同时我认为我 们的工作是一个团队的工作,团队需要个人,个人也离不开团队,必须发扬团结协 作的精神。某个人的离群都可能导致导致整项工作的失败。只有一个人知道原理是 远远不够的,必须让每个人都知道,否则一个人的错误,就有可能导致整个工作失 败。团结协作是我们实习成功的一项非常重要的保证。而这次实习也正好锻炼我们 这一点,这也是非常宝贵的。 对我而言,知识上的收获重要,精神上的丰收更加可喜。挫

39、折是一份财富,经 历是一份拥有。这次课程设计必将成为我人生旅途上一个非常美好的回忆! 15 15 参考文献 1 支长义等.DSP 原理及开发应用.北京:北京航空航天大学出版社,2006. 2 清源科技.TMS320C54xDSP 硬件开发教程.北京:机械工业出版社,2003. 3 彭启琮等.DSP 技术的发展与应用.北京:高等教育出版社,2002. 4 苏涛等.DSP 实用技术.西安:西安电子科技大学出版社,2002. 5 刘益成.TMS320C54xDSP 应用程序设计与开发.北京航空航天大学出版社,2002. 6 赵红怡.DSP 技术与应用实例(第二版).北京电子工业出版社,2008. 7

40、 周霖.DSP 通信工程技术应用.北京国防工业出版社,2004. 8 汪安民等.DSP 应用开发使用子程序.北京人民邮电出版社,2005. 9 张雄伟等.DSP 芯片的原理与开发应用.北京电子工业出版社,2000. 16 16 附录 源程序: /*you must load the data file wave.dat before your running the program!*/ extern void InitC5402(void); extern void OpenMcBSP(void); extern void CloseMcBSP(void); extern void WRIT

41、EAD50(void); extern void READAD50(void); /* * Main Function Program * void main(void) InitC5402(); /* initialize C5402 DSP */ OpenMcBSP(); while (1) WRANDREAD(); /* mainloop */ .global _InitC5402 .global _OpenMcBSP .global _CloseMcBSP .global _WRANDREAD .include MMRegs.h _InitC5402: NOP LD #0, DP ;

42、reset datapage pointer 17 17 STM #0, CLKMD ; software setting of DSP clock STM #0, CLKMD ; (to divider mode before setting) TstStatu1: LDM CLKMD, A AND #01b, A ;poll STATUS bit BC TstStatu1, ANEQ STM #0 xF7ff, CLKMD * STM #0 x4007, CLKMD ; set C5402 DSP clock to 100MHz ;(based on DSK crystal at 20MH

43、z) * Configure C5402 System Registers * STM #0 x2000, SWWSR ; 2 wait cycle for IO space 0 wait cycle for data set wait states for bank switch: ; 64k mem bank, extra 0 cycle between ; consecutive prog/data read ;STM #0 x1800,ST0 ; ST0 at default setting ;STM #0 x2900,ST1 ; ST1 at default setting(note

44、:INTX=1) STM #0 x00A0,PMST ; MC mode stop onchip timer0 STM #0 x0010, TCR1 ; stop onchip timer1 ; Timer0 is used as main loop timer ;STM #2499, PRD ; timer0 rate=CPUCLK/1/(PRD+1) ; =40M/2500=16KHz * STM #6249, PRD ; if CPU at 100M/6250=16KHz * Initialize McBSP1 Registers * STM SPCR1, McBSP1_SPSA ; r

45、egister subaddr of SPCR1 STM #0000h, McBSP1_SPSD ; McBSP1 recv = leftjustify ; RINT generated by frame sync STM SPCR2, McBSP1_SPSA ; register subaddr for SPCR2 ; XINT generated by frame sync 18 18 STM #0000h, McBSP1_SPSD ; McBSP1 Tx = FREE(clock stops ; to run after SW breakpoint STM RCR1, McBSP1_SP

46、SA ; register subaddr of RCR1 STM #0040h, McBSP1_SPSD ; recv frame1 Dlength = 16 bits STM RCR2, McBSP1_SPSA ; register subaddr of RCR2 STM #0040h, McBSP1_SPSD ; recv Phase = 1 ; ret frame2 Dlength = 16bits STM XCR1, McBSP1_SPSA ; register subaddr of XCR1 STM #0040h, McBSP1_SPSD ; set the same as rec

47、v STM XCR2, McBSP1_SPSA ; register subaddr of XCR2 STM #0040h, McBSP1_SPSD ; set the same as recv STM PCR, McBSP1_SPSA ; register subaddress of PCR STM #000eh, McBSP1_SPSD ; clk and frame from external (slave) ; FS at pulsemode(00) * Finish DSP Initialization * STM #0 x0000, IMR ; disable peripheral

48、 interrupts STM #0 xFFFF, IFR ; clear the intrupts flags RET ; return to main NOP NOP * Waiting for McBSP0 RX Finished * IfRxRDY1: NOP STM SPCR1, McBSP1_SPSA ; enable McBSP1 Rx LDM McBSP1_SPSD, A AND #0002h, A ; mask RRDY bit BC IfRxRDY1, AEQ ; keep checking NOP NOP RET ; return NOP 19 19 NOP * Wait

49、ing for McBSP0 TX Finished * IfTxRDY1: NOP STM SPCR2, McBSP1_SPSA ; enable McBSP1 Tx LDM McBSP1_SPSD, A AND #0002h, A ; mask TRDY bit BC IfTxRDY1, AEQ ; keep checking NOP NOP RET ; return NOP NOP * * _OpenMcBSP: rsbx xf call wait NOP STM SPCR1, McBSP1_SPSA ; enable McBSP0 RX for ADC data in LDM McBS

50、P1_SPSD,A OR #0 x0001, A STLM A, McBSP1_SPSD STM SPCR2, McBSP1_SPSA ; enable McBSP0 TX for DTMF out LDM McBSP1_SPSD,A OR #0 x0001, A STLM A, McBSP1_SPSD LD #0h, DP ; load data page 0 rpt #23 NOP ssbx xf 20 20 NOP NOP ;CALL IfTxRDY1 ;STM #0 x0101, McBSP1_DXR1 ;CALL IfTxRDY1 ;STM #0 x0208, McBSP1_DXR1

51、 ;rsbxxf ; NOP ;NOP CALL IfTxRDY1 STM #0 x0001, McBSP1_DXR1;request secondary communication NOP CALL IfTxRDY1 STM #0100h, McBSP1_DXR1;write 00h to register 1 CALL IfTxRDY1 STM #0000h, McBSP1_DXR1 NOP NOP rpt #20h nop CALL IfTxRDY1 STM #0 x0001, McBSP1_DXR1;request secondary communication CALL IfTxRD

52、Y1 STM #0200h, McBSP1_DXR1;write 00h to register 2 CALL IfTxRDY1 STM #0000h, McBSP1_DXR1 CALL IfTxRDY1 STM #0 x0001, McBSP1_DXR1;request secondary communication CALL IfTxRDY1 STM #0300h, McBSP1_DXR1;write 00h to register 3 CALL IfTxRDY1 21 21 STM #0000h, McBSP1_DXR1 CALL IfTxRDY1 STM #0 x0001, McBSP

53、1_DXR1;request secondary communication CALL IfTxRDY1 STM #0490h, McBSP1_DXR1;write 00h to register 4 ;bypass internal DPLL ;and select the Sample Frequency CALL IfTxRDY1 STM #0000h, McBSP1_DXR1 ;CALL IfTxRDY1 ;STM #0 x0001, McBSP1_DXR1 ;CALL IfTxRDY1 ;STM #0102h, McBSP1_DXR1 ;enable digital loopback

54、 ;CALL IfTxRDY1 ;STM #0 x0001, McBSP1_DXR1 ;CALL IfTxRDY1 ;STM #0208h, McBSP1_DXR1 ;enable analog loopback RET NOP NOP * _CloseMcBSP: STM SPCR1, McBSP1_SPSA ; disable McBSP0 RX LDM McBSP1_SPSD,A AND #0 xFFFE, A STLM A, McBSP1_SPSD STM SPCR2, McBSP1_SPSA ; disable McBSP0 TX LDM McBSP1_SPSD,A AND #0 x

55、FFFE, A STLM A, McBSP1_SPSD RPT #5 22 22 RET NOP NOP * _WRANDREAD: stm0 x0039,ar3 stm0 x3000,ar2 stm0 x1000,ar1 loop: CALL IfTxRDY1 ldu*ar1+,B nop nop nop nop and #0fffeh,b ;mask the LSB nop nop nop nop stlmB, McBSP1_DXR1 nop nop nop nop CALL IfRxRDY1 ldm McBSP1_DRR1,b stl b,*ar2+ nop nop nop 23 23 nop banzloop,*ar3- nop nop ret nop nop * wait: stm 20h,ar3 loop1: stm 020h,ar4 loop2: banz loop2,*ar4- banz loop1,*ar3- ret nop nop nop nop .end * * End of File InitC5402.asm *

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!