微机课程设计--参数可调波形发生器.docVIP

  • 11
  • 0
  • 约8.91千字
  • 约 14页
  • 2018-12-30 发布于广东
  • 举报
微机实验及课程设计 课程设计报告 题目: 参数可调波形发生器 院(系): 自动化 专 业: 自动化 姓 名: 学 号: 实验地点: 计算机516室 起讫时间: 2012.09.19—2012.10.17 同组人员: 储海辉 评定成绩: 评阅教师: 一、目的意义 通过课程设计,充分理解微型计算机接口技术课程知识,并具备一定接口编程能力。 1.基本要求: 编制一个参数在线可调的波形发生程序,由D/A 输出,构成参数在线可调的波形发生器,并用示波器观察波形。 (1)函数波形可选f(t)=asin(bt),其中a、b参数在线可调(亦可自己选择,但要求至少2个参数可调且调节很明显); (2)参数调节采用如下两种方式之一:两个可调电位器输出通过A/D 转换后作为可调参数、参数通过实验系统上的键盘实时修改; (3)精确时间,开关选择标准信号输出(a=2V, b=100πRAD/s,即50Hz 正弦波),精度0.1ms 以上。 2.进一步设计要求: (1)分别采用两种参数调节方式在线调节参数; (2)产生周期性三次可调函数f(t)=at3+bt2+ct+d。 二、软硬件平台 硬件环境: 微型计算机(Intel x86系列CPU)一台,清华科教仪器厂TPC—2003A微机接口试验系统一台,模拟示波器一台。 软件环境: Windows XP操作系统,编辑、汇编、链接和调试程序; TPC—2003A集成开发环境软件一套及实验系统电子版资料。 三、方案分析 1.函数分析 波形函数f(t)=asin(bt)为正弦函数,a表示幅值,b表示角频率。变换a、b实际上是基础函数fo(t)=sin(t)做纵向和横向伸缩变换。同时,正弦函数是连续函数。 2.硬件需求分析 首先,微机处理、输出、输入的是数字信号,本实验中需要我们输出连续波形为模拟量,故需要设计数模转换电路。实验中查用DAC0823进行8位数模转换。 其次,在输入设计中需要采用电位器输出,电位器输出为模拟电压信号,计算机处理前需进行模数转换。实验中采用ADC0809进行8位模数转换。 3.DAC0832电路分析 根据实验平台接线电路分析,DAC0832双极性输出公式: (v) (1) 其中Ni取值范围[0,1,2,…,255]。当Ni=255时Ub=5v,当Ni=128时Ub=0v,当Ni=0时Ub=-5v。最大输出电压为5v,最小输出电压为-5v。 根据以上分析,我们利用matlab软件生成正弦函数表[128,…,255,…,128,…,0,…,128],以此作为基础函数模型。注意到,这样输出的基础函数模型实际上为fo(t)=5sin(t)V。而5v是电压输出最大值,故在设计中我们对赋值A进行的变幅设计可只考虑缩幅变换简化问题。 4.变幅设计 结合DAC0832硬件要求和ADC0809数据转换要求A的输入采集计算机变化值区间为[00h,01h,02h,…,0ffh]。设计缩幅变换,在计算机运算处理是做A/255运算产生[0,1]区间缩幅参数,完成变换。这样输出函数为: (v) (2) 其中: (3) 5.变频设计 同样ADC0809数据转换使得B的输入采集计算机变化值区间为[00h,01h,02h,…,0ffh]。为消除数学运算pi值的无理数对计算机运算的影响,我们设计: (4) 由此,输出函数为: (v) (5) 周期: (s) (6) 四、实现过程 1.幅值编程算法解决 注意到,正弦波输出为采集正弦表数据进行DAC0832转换输出。设Ni表示正弦表数组中i号数据。如果采用: (7) 计算,实际上正弦数据表相当于采取了整体压缩,输出会产生正弦零点漂移现象,现象表现如下图所示: 图表 SEQ 图表 \* ARABIC 1 零点漂移示意 为解决零点漂移我们需要加入误差修正函数: (8) 在编程是我们实际进行运算为: (9) 该值out由计算机输出给DAC0832。 这样经过零点漂移修正后理想输出示意为: 图表 SEQ 图表 \* ARABIC 2 零点漂移修正 编程是为了避免计算机计算溢出,在除法运算前先做乘法运算。 2.周期编程算法解决 由于正弦表总共包含116个采样数据点,这样: (

文档评论(0)

1亿VIP精品文档

相关文档