波形采集存储与回放系统设计.docx
- 文档编号:23486608
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:20
- 大小:736KB
波形采集存储与回放系统设计.docx
《波形采集存储与回放系统设计.docx》由会员分享,可在线阅读,更多相关《波形采集存储与回放系统设计.docx(20页珍藏版)》请在冰豆网上搜索。
波形采集存储与回放系统设计
目录
一、选题的背景2
1、选题的来源、意义和目的2
2、课题承担人员及分工说明2
二、课题总体设计说明3
1、总体开发计划3
2、课题所达到的功能目标、技术指标3
3、课题总体设计方案,比较几个备选方案,确定最终方案3
三、硬件设计说明4
1、硬件总体设计方案4
①主控芯片4
②采集、回放电路4
③控制按键5
④显示模块5
四、软件设计说明6
1、软件总体设计方案6
①软件设计目标6
②软件功能模块划分6
五、硬件调试说明9
1、硬件性能测试9
2、软件性能测试9
六、课题开发总结9
七、用户操作说明9
八、参考资料9
1、元件清单10
2、原理图10
3、硬件电路板外观图片12
九、附件13
1、元件清单14
2、原理图14
3、PCB版图15
4、仿真图15
5、硬件电路板外观图片15
十、课题开发总结
1、任务完成情况总结16
2、设计体会16
3、设计工具16
【摘要】
本设计是设计一款基于单片机STC85C52的波形采集存储与回放控制系统,其中单片机是整个控制系统的核心,结合AT24C04存储及PDF8591芯片A/D数据采集模块,可靠地实现对一路外部信号进行采集与存储。
系统硬件可以分为模拟部分和数字部分。
模拟电路主要包括按键电路、单片机的外围基本模块及A/D模块、D/A模块。
数字部分主要由单片机STC85C52实现与AT24C04,用于数据的存储、传输和信号处理等。
关键词:
单片机STC85C52;AT24C04;PDF8591;波形采集存储与回放;
一、选题的背景
1、选题的来源、意义和目的
来源:
2011全国大学生电子设计竞赛试题;
意义:
使我们更加理解全国大学生电子设计竞赛;
目的:
通过波形采集、存储与回放系统的学习,学会液晶LCD1602、AD/DA模块和EEPROM存储模块的使用
2、课题承担人员及分工说明
刘:
模块整合、编写程序、报告、程序调试、画PCB板
邓:
软硬件调试、报告、做板、绘制PROTEL与PROTUES原理图、写课程设计报告。
二、课题总体设计说明
1、总体开发计划
设计并制作一个波形采集、存储与回放系统,示意图如图1所示。
该系统能同时采集两
路周期信号波形,要求系统断电恢复后,能连续回放已采集的信号,显示在示波器上。
如图2-1所示。
图2-1采集回放系统示意图
2、课题所达到的功能目标、技术指标
(1)能完成对A通道单极性信号(高电平约4V、低电平接近0V)、频率约1kHz信号
的采集、存储与连续回放。
要求系统输入阻抗不小于10kΩ,输出阻抗不大于1kΩ;
(2)采集、回放时能测量并显示信号的高电平、低电平和信号的周期。
原信号与回放
信号电平之差的绝对值≤50mV,周期之差的绝对值≤5%。
3、课题总体设计方案,比较几个备选方案,确定最终方案
(1)采样方式
方案一:
实时采样。
实时采样是在信号存在期间对其采样。
根据采样定理,采用速率必须高于信号最高频率分量的两倍。
对于周期的正弦信号,一个周期内应该大于两个采样点。
为了不失真的恢复原被测信号,通常一个周期内就需要采样八个点以上。
方案二:
等效时间采样法。
采用中高速模数转换器,对于频率较高的周期性信号采用等效时间采样的方法,即对每个周期仅采样一个点,经过若干个周期后就可对信号各个部分采样一遍。
而这些点可以借助步进延迟方法均匀地分布于信号波形的不同位置。
其中步进延迟是每一次采样比上一次样点的位置延迟△t时间。
只要精确控制从触发获得采样的时间延迟,就能够准确地恢复出原始信号。
等效时间采样虽然可以对很高频率的信号进行采样,可是步进延迟的采样技术与电路较为复杂。
再者,它只限于处理周期信号,而且对单次触发采样无能为力。
实时采样可以实现整个频段的全速采样,因此本设计采用方案一。
(2)A/D、D/A转换方式
方案一:
采用ADC0809的8位单断模拟输入信号中的一个进行A/D转换,允许8路模拟量分时输入,共用一个A/D转换器进行转换,可以进行多数据采集。
而地址锁存与译码电路完成对A、B、C三个地址位进行锁存和译码,转换结果通过三态输出锁存器存放、输出。
方案二:
PCF8591是具有IIC接口,有AIN0~AIN3四个模拟输入通道和一个模拟输出通道,最多可以有8片8591连接到IIC总线。
通过时钟线SCL和数据线SDA与单片机之间的数据进行传输,故我们选择此方案。
(3)触发方式选择
要使屏幕上显示稳定的波形,则需将被测信号本身或者与被测信号有一定时间关系的触发信号加到触发电路。
触发源选择确定触发信号由何处供给。
通常有三种触发源:
内触发(INT)、电源触发(LINE)、外触发EXT)。
题目要求选择内触发,即使用被测信号作为触发信号。
方案一:
采用数字触发方式。
对波形信号进行采集,将采集到的波形数据和触发电平(可由键盘设置)进行比较,找到波形在上升过程中大于或等于该触发电平的点,即得到触发,此时开始对波形进行存储。
因为本来就需要对波形信号进行采集,使用这种方法无需要增加额外的硬件电路,实现方便。
但是,对波形每个周期只采集有限个点,不可能每次都能采集到等于触发电平的点(这时不得不以大于该电平的值为触发电平),从而使触发位置不稳定,连续触发时输出波形会有抖动现象。
方案二:
采用模拟触发方式。
通过比较器LM358将被测波形信号和触发电平进行比较,大于触发电平时输出为高电平,小于触发电平时则输出低电平,即可得到信号被整形后的脉冲序列,再在该脉冲序列的上升沿开始存储波形即实现了触发存储的功能。
这种触发方式稳定,故我们采用了这种方案。
三、硬件设计说明
1、本系统使用的芯片有:
STC89C52、AT24C04、PCF8591。
(1)核心控制芯片STC89C52
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
具有以下标准功能:
8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。
另外STC89X52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
最高运作频率35Mhz,6T/12T可选。
接口下图所示
主要芯片I/O口分配:
液晶RS、P1.0,RW、P1.1,EN、P1.2
AT24C04SCL、P2.2,SDA、P2.3
PCF8591SCL、P2.2,SDA、P2.3
(2)程序存储芯片AT24C04
AT24C04是一个4K位串行CMOSE2PROM,内部含有256个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗。
AT24C02有一个16字节页写缓冲器。
该器件通过IIC总线接口进行操作,有一个专门的写保护功能。
管脚与管脚功能如下图:
(3)AD/DA转换芯片PCF8591
PCF8591是一个单片集成、单独供电、低功耗、8-bitCMOS数据获取器件。
PCF8591具有4个模拟输入、1个模拟输出和1个串行I2C总线接口。
PCF8591的3个地址引脚A0,A1和A2可用于硬件地址编程,允许在同个I2C总线上接入8个PCF8591器件,而无需额外的硬件。
在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I2C总线以串行的方式进行传输。
管脚与管脚功能如下图:
AIN0~AIN3:
模拟信号输入端。
A0~A2:
引脚地址端。
VDD、VSS:
电源端。
(2.5~6V)
SDA、SCL:
I2C总线的数据线时钟线。
OSC:
外部时钟输入端,内部时钟输出端。
EXT:
内部、外部时钟选择线,使用内部时钟时EXT接地。
AGND:
模拟信号地。
AOUT:
D/A转换输出端。
VREF:
基准电源端
2、硬件总体设计方案
(1)硬件设计目标:
最终实现波形的采集、存储、回放。
(2)硬件模块划分:
AT89S51主控制模块、PCF8591模块、24C02模块。
①主控芯片
AT89S51带8KB闪存,工作电压5V。
②采集、回放电路
图3-1PCF8591是具有I2C总线接口的A/D转换芯片。
在与CPU的信息传输过程中仅靠时钟线SCL和数据线SDA就可以实现,8位A/D及D/A转换器,有4路A/D转换输入,1路D/A模拟输出。
AIN0~AIN3:
模拟信号输入端。
A0~A3:
引脚地址端。
VDD、VSS:
电源端(2.5~6V)
SDA、SCL:
I2C总线的数据线、时钟线;OSC:
外部时钟输入端,内部时钟输出端;
EXT:
内部、外部时钟选择线,使用内部时钟时EXT接地AGND:
模拟信号地;AOUT:
D/A转换输出端;VREF:
基准电源端。
AOUT为D/A转换输出端,AIN0~AIN3为A/D的模拟信号输入端,输入输出的地址、控制和数据信号都是通过双线双向I2C总线以串行的方式进行传输。
图3-1采集回放电路图
③控制按键
控制铵键用于信号确认。
按键分别接AT89S51的P1.5,如图3-2。
图3-2按键控制图
④显示模块
利用LCD1602,数据D0~D7接AT89S51的P0口,RS\RW\E分别接位接AT89S51的P2.0、P2.1、P2.2接口,如图3-3。
图3-3LCD液晶显示图
⑤转换电路
利用LM358将正弦波、三角波转换成矩形波,将输出的波形通过PNP三极管,CPU输出高电平时三极管关断;CPU输出低电平时,三极管导通,从而输出波形。
图3-4转换电路图
四、软件设计说明
1、软件总体设计方案
(1)软件设计目标
最终能实现同时采集两路周期信号波形,要求系统断电恢复后,能连续回放已采集的信号,显示在LCD上。
1、按P1.5的按键,依次进入回放已采集的信号状态。
2、按下回放键后,该系统将1ms的采样波形进行循环回放(重现);
3、在采集时可改变幅值,并且采集到的数据也会同时在回放的时候变化;
4、在回放时,若按下回放键,将停止波形的回放;若按下采集键,将终止当前波形的回放,并采集新的波形。
(2)软件功能模块划分
①主程序
主程序循环调用LCD显示子程序、PCF8591数模与模数转换、IIC24C04存储程序,当端口上电时,转入相应功能程序。
如图4-2所示:
图4-2主程序流程图
②LCD显示子程序
LCD液晶显示数据存放在内存单元5EH~6CH中。
其中5EH-66H存放LCD上排显示,67H~6CH存放LCD下排显示。
从P0口输出数据,由P2.0~P2.1对LCD进行数据操作选择,就能显示该地址单元的数据值,流程图如图4-3所示。
图4-3LCD显示程序流程图
③PCF8591数模与模数转换程序
PCF8591采用典型的I2C总线接口器件寻址方法,即总线地址由器件地址、引脚地址和方向位组成,A/D器件地址为1001,引脚地址为A2A1A0,其值由用户选择,因此I2C系统中最多可接23=8个具有I2C总线接口的A/D器件。
地址的最后一位为方向位R/,当主控器对A/D器件进行读操作时为1,进行写操作时为0。
总线操作时,由器件地址、引脚地址和方向位组成的从地址为主控器发送的第一字节。
在进行数据操作时,首先是主控器发出起始信号,然后发出读寻址字节,被控器做出应答后,主控器从被控器读出第一个数据字节,主控器发出应答,主控器从被控器读出第二个数据字节,主控器发出应答…一直到主控器从被控器中读出第n个数据字节,主控器发出非应答信号,最后主控器发出停止信号,流程图见图4-4。
图4-4PCF8591模数与数模转换程序流程图
⑤I2C24C02存储功能程序
I2C24C02是4KB的EEPROM,它是一片I2C总线式串行器件,有两跟信号线,一根是双向的数据线SDA,另一根是时钟线SCL,A0,A1,A2为器件地址线,WP为写保护引脚,符合I2C总线协议。
流程图如图4-4所示。
图4-4I2C24C02流程图
五、硬件调试说明
1、硬件性能测试
(1)当调节LCD1602的1与3脚的电压时,发现很麻烦。
根据不同型号的液晶屏,电压相应不一样。
因此直接把1、3脚连接,这样显示正常。
要是屏幕过亮说明电压过大,所以加一个503的微调电阻即可。
(2)烧入程序后,液晶显示屏没有显示。
首先对整个电路的连线检查,再次用万用表检查电路是否有短路的现象,后发现是电路板短路DS1302芯片烧坏了,再换个问题解决了。
(3)在PCB板中,包含多种类型的电路,为了避免各部分电路中信号相互耦合而产生干扰,对不同类型的电路部分进行分离布局是PCB板设计的一个基本原则。
各部分之间不仅应保持相当距离,还要分开走线,电源系统的布线包括电源线VDD和地线VSS的布线是系统抗干扰的一个重要部分。
VDD和VSS应尽可能扩大面积,以防止因电磁能量较强而产生电磁干扰能量的发射,这也是保证高频信号到地之间具有低阴抗的措施。
2、软件性能测试
(1)本系统处理的正弦波信号频率范围限定在10Hz~10kHz,三角波信号频率范围限定在10Hz~2kHz,方波信号频率范围限定在10Hz~1kHz,在进行波形采集时要把三角波和正弦波转换成矩形波。
(2)采集、回放时原信号与回放信号电平之差的绝对值≤50mV,周期之差的绝对值≤5%。
(3)输入阻抗是高好,输出阻抗是低好。
(4)系统功耗≤50mW,尽量降低系统功耗,系统内不允许使用电池。
(5)采集、回放时显示的周期和幅度应是信号的实际测量值,采用十进制数字显示,周期以“ms”为单位,幅度以“mV”为单位。
六、课题开发总结
1、课题的软件硬件任务基本要求达到,完成与预期规划的相符合,性能稳定。
优点:
按键少,成本低,电路清晰,显示客观。
缺点:
按下按键p1.5时,电压的幅值显示与显示的数值误差太大。
2、本硬件电路,主要是电路的原理图、制板和布局问题,要是没有把元件的尺寸量好,制出的板元件对不上,会影响整个电路的美观。
存在的问题:
软件上编译通过但是LCD在板上很难调试出来。
3、本电路软件开发编译工具是PROTUS软件,所使用的是汇编语言来编译完成。
在编写中发现要是没有把软件各个模块划分清楚,没有先对各个模块通过软件验证清楚就会很乱很复杂,按键扫描没有很清晰的了解,就很难完成整个程序操作。
七、用户操作说明
1、按下采集键后,该系统对1KHZ的0~+5V变化的波形进行1mS的采样并将采样的数据存储起来;
2、按下回放键后,该系统将1ms的采样波形进行循环回放(重现);
3、在采集时可改变幅值,并且采集到的数据也会同时在回放的时候变化;
4、在回放时,若按下回放键,将停止波形的回放;若按下采集键,将终止当前波形的回放,并采集新的波形。
八、参考资料
1、《单片机课程设计实例指导》张永枫等编著清华大学出版社
2、《单片机初级教程》张迎新等编著北京航空航天大学出版社
3、《单片机C语言程序设计实训100例》彭伟等编著电子工艺学出版社
4、《C语言程序设计》张磊等编著高等教育出版社
九、附件
1、元件清单
芯片STC89C511个U1
芯片PCF85911个U2
芯片AT24C041个U3
芯片MAX2321个U5
液晶LCD16021个LCD1
指示灯LED1个D0
晶振CRYSTAL1个Y1
串口DB91个RS9
排针CON11个J1
排针CON21个JJJ
排针CON41个J2
排针CON91个JJ1
按键SW-PB1个S5
拨动开关SW-SPDT1个S7
按键SW-SPST4个S1-S4
电阻1001个R39
电阻2201个R26
电阻1K3个R0、R27、R38
电阻10K8个R2-R5.R28-R31
电阻1001个R39
电容30P2个C10、C11
电容10U4个C5-C8
电容22U1个C1
电容100U2个C10、C11
电容30P1个C2
电容1041个C9
2、原理图
4、PCB版图:
5、仿真图:
6、硬件电路板外观图片
十、课题开发总结
6.1、任务完成情况总结
通过近两个星期的不断努力,终于完成了程序编写和硬件的制作,达到了设计预期的要求,系统基本符合。
6.2、设计体会
经过两周的努力,基于单片机的遥控窗帘控制系统终于设计完成了,过去一段时间的辛酸以及遇到难题时的郁闷一挥而散了,现在回味起来真有点小小的成就感。
经过这次课程设计得到的收获还是特别多的,它不仅让我了解了做一个单片机系统的各项工作流程,让我在这个过程中学到了很多过去不知道的东西以及课本上所不能讲述给你的东西,同时也让我深刻地认识到我对知识的理解程度以及掌握程度还是极其有限的。
生命是有限的,我们就应该抓住每一个机会来锻炼自己、提高自己,只有在工作中你才能发现你自身的不足,才能让你端正学习、工作、生活态度,并且只有在工作中你才能真正细致地去学习一个东西、去研究一个东西。
可见生产实践是何其重要啊,它是你提升你自己的有效平台。
通过本次课程设计让我认识到了以下几点:
(1)自己的科研能力有待提高。
做一个单片机系统,大部分电路原理图都是在网上借鉴别人的,有很少是自己的,可见科研能力有待提高,要能够根据电路要求自行设计电路。
(2)自己的态度不太端正。
做一个项目就要坚持不懈、持之以恒,不做完美决不罢休,我在这点做的不是太好,也有最近课程比较多的原因,但最主要的还是自身定力不够的原因造成的,这是需要改正的。
(3)知识欠缺,创新能力不够。
这就要求我在课下尽可能多地进行知识积累。
(4)整体意识不足。
在焊硬件电路以及做软件设计时,这个问题表现得比较明显,所以在下面就要接受这次课程设计的教训,努力培养自身的整体意识。
6.3设计工具
(1)硬件制作工具:
电烙铁、焊锡膏、适量锡、斜口钳等。
(2)软件开发工具:
keil、proteus7.4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 波形 采集 存储 回放 系统 设计