我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 687|回复: 0

基于C8051F单片机信号发生器设计与应用 - 单片机/处理器 -

[复制链接]

该用户从未签到

1万

主题

1292

回帖

2万

积分

管理员

积分
29577

社区居民最爱沙发原创达人社区明星终身成就奖优秀斑竹奖宣传大使奖特殊贡献奖

QQ
发表于 2013-3-30 00:39:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
<strong>1 引言</strong>

在实际的弹道加速度测试中,需要产生许多波形曲线用来验证,而能够产生任意波形的信号发生器价格昂贵,不适合工程实际的需求.通过设计产生的信号发牛装置,不仅成本低,而且功能强大,可以产生满足各种需要的信号。C8051Fxxx系列单片机是完全集成的混合信号系统级芯片,具有与8051兼容的微控制器内核,与MCS-51指令集完全兼容。除了具有标准8052的数字外设部件之外,片内还集成了数据采集和控制系统中常用的模拟部件和其它数字外设及功能部件;内置FLASH程序存储器、内部RAM,大部分器件内部还有位于外部数据存储器窄间的RAM,即XRAM。数模混合的高度集成使得该单片机系统IJ以方便实现数控及简单信号处理等功能。C8051F121单片机具有片内VDD监视器、看门狗定时器和时钟振荡器,是真正能独立工作的片上系统。使用C8051F121单片机设计任意波形信号发牛器,不仅减少了器件,简化了电路,节约了成本,更使得系统稳定节能。方便快捷地输出多种低频信号。

<strong>2 系统原理与组成</strong>

系统以C8051F121单片机为核心,通过串口通信将PC机中的数据传送到单片机中,然后单片机将所接受的数据存放到128k的外部存储器中。系统的控制电路启动D/A转换将外部存储器中的数据转化成模拟信号,生成所需要的波形。波形的幅值、脉宽、频率、持续时问等参数均可以在VB程序下进行调节,可以实现任意波形的信号发生功能。

系统基本组成如图1所示,应用模块可以根据工程实际中的具体要求,实现不同的目的。本文中应用模块为加速度测试系统,用来实现测试装置的模拟信号输入。


<ignore_js_op>





2010-4-6 14:32:14 上传
<strong>下载附件</strong> (2.02 KB)




</ignore_js_op>

图1系统组成结构图

<strong>3 系统硬件设计与实现</strong>

系统实现信号发生功能设计目标主要包括以下几个方面:串口通信模块,电源供电模块,外部扩展存储器模块,外部晶振以及复位模块。下面详细介绍一下各单元的硬件电路和实现的功能。


<ignore_js_op>





2010-4-6 14:32:14 上传
<strong>下载附件</strong> (4.85 KB)




</ignore_js_op>

图2信号发生器硬件结构图

3.1 电源模块设计

整个系统采用3.3V供电,考虑到硬件系统对电源要求有稳压功能,另外也考虑到硬件系统的低功耗等特点,电源部分采用AR33将电源的5V电压转换成系统需要的3.3V;为了减少输出电源的高频噪声,在单片机、锁存器,外部扩展存储器以及电源输出部分分别应用了0.01uF和luF,0.1uF和4.7uF的配对电容,对电源进行滤波。

3.2 外部扩展存储器设计

C8051Fl21 MCU内部有位于外部数据存储器空间的8K字节片上RAM,但是对于实际的弹道速度信号发生器而言存储空间偏小,因而需要扩展容量更大的外部存储器。C8051F121提供用于访问片外存储器和存储器映射I/0器件的外部数据存储器接口(EMIF)。设计中采用的是IDT公司的IDT71V124SA芯片,3.3V供电,是高速的CMOS静态RAM,采用了高性能,高可靠性的CMOS技术和JEDEC中心电源/接地管脚分布,极大地减少了噪声,优化了系统性能。IDT7IVl24SA芯片提供了128x8存储容量,很好地满足了设计系统对数据和程序存储空间的要求。在单片机和外部存储器之间应用了一个地址锁存器74VHC573,用来锁存存储到IDT71V124SA的数据。接口部分采用地址和数据总线复用的方式以减少所需要的端口引脚数,这样配置使得外部存储器和C805IFl21之间传输数据时低位地址保持在锁存器中,不需要再为数据传输增加8位端口。

3.3 外部晶振设计

对于实际的系统而言,C8051F121单片机的内部时钟频率不能满足要求,因而需要配置较大频率的外部振荡器。C8051Fl2x器件包含一个内部振荡器和一个外部振荡器驱动电路,可以驱动外部晶体、陶瓷谐振器、电容或RC网络。设计中采用外部晶体作为外部振荡器。晶体振荡器被使能后,幅值检测电路需要一段稳定时间才能达到正确的偏嚣。在使能振荡器下作和检XTLVLD位之间至少等待1 ms,以防止过早将外部振荡器切换为系统时钟。等查询到XTLVLD=>’1’时,将系统时钟切换到外部振荡器。由于晶体振荡器电路对PCB布局非常敏感。在布局中将晶体尽可能地靠近了器件的XTAL引脚。引线地短并用地平面屏蔽,防止从其它引线引入噪声或干扰。

3.4 DAC设置

C8051F121器件有两个片内12位电压方式数/模转换器(DAC)。设计中使用了DAC1。并基于定时器溢出更新输出,这样在用DAC产生一个固定采样频率的波形时,可以消除中断延迟不同和指令执行时间不同对DAC输出时序的影响。当DACIMD位(DAClCN[4:3])被设置为‘01’、‘10’或‘ll’时,对DAC两个数据寄存器(DAClL和DAClH)的写操作被保持,直到相应的定时器溢出事件(分别为定时器3、定时器4或定时器2)发生时DACOH:DACOL的内容才被复制到DAC输入锁存器,允许DAC数据改变为新值。设计中在DAC输出口加入了电压跟随器,平稳地输出波形。

<strong>4 软件设计</strong>

系统软件设计部分包括单片机端和人机交互端两个部分。单片机端主要是通过串口接受来自采集系统的信号,保存到存储器中,输出电压信号;人机交互端主要通过Visual Basic软件编写图形界面,接受和传送数据,并且通过改变信号的幅值、脉宽、频率、持续时间等来实现对整个系统的控制。

4.1单片机端实现程序

单片机端软件采用C51编写,使用Keil uVision集成开发环境。主要完成单片机的初始化、串口通信和DAC输出设置,单片机的初始化主要是单片机的串口中断打开和系统配置初始化。单片机的串口通信模块主要完成单片机和上位机的通信,把系统需要的信息交由上位机进行处理。由于C8051F121单片机具有片内的UART,凶而只要设置适当的奇仔器使单片机工作起来,设计中串口通讯方式使用了效率高的中断方式接受和发送数据。

程序由一个主程序和三个中断服务程序组成,如图4所示。三个中断程序包括T0中断服务程序、外部中断服务程序和串口中断服务程序。


<ignore_js_op>





2010-4-6 14:32:14 上传
<strong>下载附件</strong> (3.09 KB)




</ignore_js_op>

图3单片机端软件操作流程图

4.2人机交互界面

应用Visual Basic软件的通信控件MSComm,实现了与单片机系统的串行通信。VB提供了具有强大功能的通信控件MSComm,该控件可设置串行通信的数据发送和接收,对串口状态及串口通信的信息格式和协议进行设置。该串口是一个标准的十位串口通信,包括8位标准数据和数据的起始位和停止位。这些串口在Pc和单片机之间充当解释器的角色。当数据从PC传送给单片机时,字符数据会被转换成串行比特流;而当接收数据时,比特流数据会转换成字符数据传递到PC机。

采用VB6.0编程可以实现便于操作的可视化界面,并且对整个系统进行实时的控制.交互界面如图4(a)所示。


<ignore_js_op>





2010-4-6 14:32:15 上传
<strong>下载附件</strong> (14.61 KB)




</ignore_js_op>

图4 VB交互界面

工具栏中文件下拉菜单中设置了读取数据,保存数据,新建及页面设置等一些基本的交互功能选项;工具下拉菜单中有测量获取数据和绘图设置的选项,通过这个选项可以准备的获得曲线上某一点的准确值,绘图设置中可以选择绘图方式、绘图色彩及捕捉网格的大小设置,如图4佑1所示。


<ignore_js_op>





2010-4-6 14:32:15 上传
<strong>下载附件</strong> (8.15 KB)




</ignore_js_op>

图5信号发生器采集的弹道侵彻过载曲线

DSP中可以选择对弹道曲线的滤波方式,软件给出了低通滤波等三种滤波方式,通过滤波可以得到更加光滑无毛刺的曲线。以低通滤波为例,软件设计了三种滤波器的选择,包括切比雪夫I型、切比雪夫II型和巴特沃兹型。可以通过调整滤波器的参数如阶数、归一化频率和阻带衰减值,得到需要的过载曲线。

图5给出了实际侵彻过程中测到的两条过载曲线,其中下图是某条曲线中的一段,并且经过滤波处理过。

<strong>5 结束语</strong>

本文利用C8051F121单片机具有的片内12位电压方式数/模转换器和内部集成化的数据采集和控制系统中常用的模拟部件和其它数字外设及功能部件,设计了可以获取任意波形的信号发生器。采用了串口通信和D/A转换,在Visual Basic可视化操作界面下方便地读取和保存数据、编辑曲线,并且可以进行一些必要的信号处理和优化。而且电路简单清晰,功能明确。

本文作者创新点:针对整体项目的实际要求,以较低的成本实现了弹道存储测试需要的各种信号,经过仿真和电路测试,完全达到了设计的要求。设计的人机交互平台功能强大,使用方便,具有很好的推广和使用价值。

项目经济效益:预计可产生经济效益110万。


作者:王世虎,刘明杰,李晓峰  来源:《微计算机信息》(嵌入式与SOC)2009年第3-2期
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

公告:服务器刚移机,
大家请不要下载东西。
会下载失败


Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

( 闽ICP备2024076463号-1 ) 论坛技术支持QQ群171867948 ,论坛问题,充值问题请联系QQ1308068381

平平安安
TOP
快速回复 返回顶部 返回列表