课程名称
综合电子设计
题
目
简易数字示波器
指导教师
起止日期
系
别
自
动
化
专
业
自动控制
学生姓名
班级
/
学号
成
绩
摘要
本系统由
CPLD
,单片机控制模块,键盘,
LED
,幅度控制模块,低通滤波模块组
成,采用当前主流
DDS
技术完成,能产生从
1HZ-260KHZ
正弦波,方波,三角波
以及这三种同频率波的线性组合,失真度限制在
6%
之内。
一、
功能介绍
1.
具有产生正弦波、方波、三角波三种周期性波形的性能。
2.
用键盘输入编辑生成上述三种波形(同周期)的线性组合波形
。
3.
输出波形频率范围为
1Hz~200kHz
(非正弦波频率按
10
次谐波计算;重复频
率可调,频率步进间隔
1Hz
。)
4.
输出波形幅度范围
0
~
5V
(峰
-
峰值),可按步进为
0.1V
(峰
-
峰值)。
5.
具有显示输出波形种类、重复频率(周期)和幅度的功能。
6.
增加稳幅输出功能,
当负载变化时,
输出电压幅度变化不大于±
3
%
(负载变
化范围:
100
Ω
~
∞)。
二、
方案论证与比较
常见信号源的制作方法有:
方案一:
采用锁相式频率合成。
将一个高稳定度和高精确度的标准频率经过加减
乘除的运算产生同样稳定度的大量离散频率技术,
它在一定程度上既要频率稳定
精确,又要频率在很大范围内可禅启变的矛盾。但频率受
VCO
可变频率范围的影响,
高低频率比不可能做的很高,而且只能产生方波和正弦波。
方案二:采用模拟奋力元件或单片压控函数发生器
MAX0832
,可产生正弦波,方
波,
三角波,
通过调整外部元件可改变输出频率,
但采用模拟器件由于元件分散
性太大,
即使使用单片函数发生器,
参衫橘数也与外部元件有关,
外接的电阻电容对
参数影响很大,不能实现波形运算输出等智能化的功能。
方案三:
采用
DDFS
,
即直接数字频率合成技术,
以
Nyquist
时域采样原理为基础,
在时域中进行频率合成,它可以快速转换频率,频率,相位,幅度都可以实现程
控,便于单片机控制,所以,本系统采用此方案。
三、
系统设计
系统总体设计方框图:
系统设贺塌如计方案:
1
、实现
A/D
芯片的模数转换功能,通过
keil
的
watch
窗口观察
ADC0
读取的数
据的变化。
2
、设置合适的采样频率和采样时间,对输入信号进行连续采样,对规定时间内
的采样结果进行存储。
3
、对已有数据进行
D/A
转换,实现数字量到模拟量的变化,并在示波器上显示
结果。
4
、添加单次按键触发等功能,实现在满足触发条件后,对一个采样周期内的输
入进行存储和连续显示。
5
、
增加
1
通道输入,实现双踪示波。
6
、综合上述情况实现完整的数字双踪示波器。
四、
单元电路设计及其初始化
1.
我没用过这个片子,对哪敬它的通信协议不是很李局慎了解,分析程序发现以下代码好像有问题:for(i=0i<8i++)
{
dssclk=0
dsio=com&0x01
/*dsio是P2^5,只有一位,而com&0x01是一个8位数,不知道这种 *** 作会有什么后果,建议将代码"dsio=com&0x01"改为:
dsio=0
if(com&0x01) dsio=1*/
com=com>>1
dssclk=1
dssclk=0
}
for(i=0i<8i++)
{
dssclk=1
dat>>=1
if(dsio==1)
dat=dat&0x80
/*这个地方的意思是不是,如果dsio=1,那么dat的最高位置一。这样的话就应改为:dat|=0x80
我想你的问题就出在代码“dat=dat&0x80”上,它的直接腊激后果就是将dat后7位(Bit0-Bit6)全部清零,而它的最高位Bit7也是0(dat>>=1的效果之一就是最高位补0),最后dat=0。这样,你所接收到的数据全是0,即00:00:00*/
dssclk=0
}
return dat
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)