保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

TMS320F240片内PWM实现D/A扩展功能


1R2R3C1C2C3

  在-3 dB带宽为1000 kHz的条件下,求解得到:

  R1=1.6 kΩ,R2=2.4 kΩ,R3=7.5 kΩ,R4=∞,C1=0.1μF,C2=0.01μF,C3=0.047μF (9)

  R4决定滤波器直流分量的增益,选取R4=∞(即不安装R4),则D/A输出增益为1;要想改变带宽大小,只须保持R4和电容值不变,改变其它电阻的阻值即可。

图3 低通滤波器电路

3 软件程序设计和实验结果

  利用TMS320F240配套的EVM(Evaluation Module)板作为DSP的实验平台,给定一模拟电压作为F240的A/D输入,将A/D转换的值作为产生PWM波形的DSP定时器中比较寄存器的值;通过中断,不断获取最新的A/D转换值,改变PWM波形的占空比,得到对应幅值的PWM波形,再将所得的20 kHz的PWM信号输入给滤波器,用数字示波器观察滤波器的D/A输出,以评价这种D/A转换方法的实际效果。

    3.1 通过D/A转换产生对应幅值PWM波形的DSP程序

  基于DSP功能模块化的特点,其汇编程序的编制主要分三个步骤:① 初始化设置时钟源模块,得到所需的CPUCLK和SYSCLK; ② 设置事件管理模块,初始化定时器和A/D转换操作; ③ 编写定时中断服务子程序,即可完成从A/D转换产生对应幅值的PWM波形输出。部分程序代码如下:

    ;设置 PLL模块

  LDP #224;

  SPLK #0000000001000001b,CKCR0

     ;SYSCLK=CPUCLK/2

  SPLK #0000000010111011b,CKCR1

     ;CLKIN(OSC)=10MHz, CPUCLK=20MHz

  SPLK #0000000011000011b,CKCR0

     ;使能锁相环(PLL)操作

  SPLK #0100000011000000b,SYSCR

     ;CLKOUT=CPUCLK

  ;设置EV 管理器

  LDP #232;

  SPLK #0,T1CMPR ;初始化定时比较寄存器

  SPLK #0000000001010101b,GPTCON

     ;通用定时器的PWM输出为低有效

  SPLK #1000,T1PR ;设置PWM波形的周期为20 kHz

  SPLK #0000h,T1CNT ;初始化计数寄存器

  SPLK #0001000000001010b,T1CON

     ;设置连续增计数方式,使能比较操作

  SPLK #0000000010000000b,EVIMRA

     ;清除定时器1比较中断屏蔽位

  LDP #224

  SPLK #1000110100000010b,ADCTRL1

     ;设置A/D连续转换模式,选择通道CH0

  SPLK #0000000000000101b,ADCTRL2

     ;设置A/D转换输入时钟预定标因子为16

  LDP #232

  SBIT1 T1CON,B6_MSK ;使能定时器1中断启动位

  LDP #224

  SBIT1 ADCTRL1,B0_MSK;使能A/D转换启动位

  CLRC INTM;

  END B END ;等待定时器1中断的产生

  ;产生PWM 波形ISR

    Change_CMPR:

  LDP #224 ;定时器1比较中断服务子程序

  LACC ADCTRL1;

  SACL ADCTRL1 ;清除片内A/D转换中断标志位

  LACC ADCFIFO1;读取最新的A/D转换值

  RPT #5;

  SFR ;把存于结果寄存器的高10位的A/D

  ;转换值移至ACC的低十位

  LDP #232; 《TMS320F240片内PWM实现D/A扩展功能(第3页)》

本文链接地址:http://www.oyaya.net/fanwen/view/160282.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。