DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 229|回复: 0
打印 上一主题 下一主题

基于C8051F061的高速采集系统设计

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-27 14:41:41 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
1 引言
C8051F系列单片机是美国Silabs公司生产的系统级芯片(SOC),它具有与8051兼容的高速CIP-51内核,指令系统与MCS-51指令集完全兼容,并可使用标准803×805X汇编器和编译器进行软件开发[1]。C8051F061片内除了具有标准8051数字外设之外,还集成了数据采集和控制系统中常用的模拟部件和数字外设或功能部件。这些外设或功能部件包括256Byte的SRAM、4K的DRAM、64K的FLASH、2个16位ADC、1个10位ADC、2个12位DAC、3个模拟输入电压比较器、温度传感器、SMBUS、UART、SPI、定时器、可编程计数器、定时器阵列、数字I/O端口、电源监视器、看门狗和时钟振荡器等。
本文讨论的采集系统应用于10路传感器信号的采集,测试中各路信号的最高采样频率可达到48.25kHz,并且可通过软件调节。
2 采集系统的硬件
2.1 滤波模块的硬件设计
由于所采集的信号频率在5kHz以下,为了减少噪声,采用了MAX291进行硬件滤波。具体的连接如下图1所示。MAX291的滤波实现有外时钟和内时钟两种方式,内时钟方式电路简单,使用方便,所以笔者采用内时钟方式[2]。
根据MAX291的工作原理,其滤波的频率取值可由下面的公式确定:




其中

为MAX291的时钟频率,电容

给MAX291提供内时钟。笔者根据自己的实际需要,将

取63pF,此时时钟频率为0.529MHz,转折频率为5.29kHz。
另外,考虑到本系统是多路采集系统,为保持相位一致性,选用同一个电容来提供内时钟,以确保这几路滤波器同时使用一个外部时钟源。




图1  MAX291的滤波原理图

2.2 C8051F061的供电电源设计
供电电压的性能对整个采集系统的精度具有重要的意义。一般说来,描述采集质量高低的指标是采样精度和有效位,设采样精度为

,有效位为 N,基准电压为

,基准电压噪声电压为

,则有以下公式:




为了尽可能的提高采样精度,选取

,则

。由于系统的采样精度取决于基准电压的噪声电压大小,C8051F061提供的内基准噪声电压和器件模拟供电部分的噪声电压基本相当,所以应当保证

。另外,在C8051F061的外围电路设计中,考虑选取独立的电源芯片单独供电,同时在布局和走线上注意一些基本规则,确保获得较高的采样精度[3]。
考虑到C8051F061的功耗比较大,一般的电压基准芯片难以满足要求,最后模拟供电部分采用了TI公司的脉宽可调芯片TPS54310PWP,该芯片的优点是输出电流大,超过3A的输出电流;输出电压精度高,其误差在1%的范围之内;噪声低,且抗干扰能力强,在复杂电磁环境下进行测量,其输出噪声电压低于 [4]。




图2  TPS54310PWP的设计原理图
2.3 多路选择和采集模块的硬件设计
2.3.1 多路选择芯片ADG706的介绍
ADG706是美国Analog Device 公司生产的16路模拟输入信号选择芯片,其信号选择管脚为A0、A1、A2、A3,通过A3A2A1A0组成不同的数字组合,可以选通16路模拟输入中的其中1路[5]。
在本系统的设计中,通过软件设置A3A2A1A0为10进制的加法计数器,在一个计数周期内,依次选择10路模拟输入信号。
2.3.2 ADG706和C8051F061的接口设计
采集模块的设计思想是:通过C8051F061通用P1口的高4位控制ADG706的信号选择管脚A3A2A1A0,依次选择1路模拟输入作为C8051F061单片机1个16位ADC的输入信号。
具有M 路模拟输入信号的采集系统最高采样频率

可由以下公式来计算:




其中

为C8051F061单片机ADC的采样速率,

为各路模拟输入信号的最高采样速率。
在实际的数据采集中,

可以通过以下两种方法来改变:
⑴ 软件编程改变 。C8051F系列单片机的ADC采样速率都是可以通过软件编程来改变的,设置C8051F061内ADC采样速率的方法是通过配置寄存器ADCxCF(x为0或1)的位7"3来进行的,其复位值为1111(位7"3=SYSCLK/CLKSAR-1)。需要注意的是在软件编程设置ADC时至少需要16个系统时钟,一般在设置程序前加上3个系统时钟,保证跟踪/保持捕获时间 。
⑵ 软件编程改变 。改变 其实就是改变ADG706的A3A2A1A0所组成计数器的计数值,即改变一个计数周期内选择的模拟信号输入路数。
为了保证采样精度,以下几点需要注意:
⑴ 模拟电压和数字电压的区分和连接。由于C8051F061是3.3V供电,所以除了传感器的基准电压AVDD需接5V外,其余的数字电压BVDD需要接3.3V。
⑵ 模拟地和数字地要区分。本系统既有模拟地,又有数字地,所以需要对它们正确进行区分,PCB布线时,需要注意模拟部分和数字部分要分开,多层板设计中采用电源平面和地平面分割的方法。
⑶ 使用内部参考时,内部参考电压的走线要尽可能短,以减少其它信号对它的干扰。从减少信号干扰的角度看,内部参考电压最好接104和106并联构成的电容。
⑷ 在PCB板布线中,由于AD采用的是精度较高的16位ADC,最好布四层板。




图3  ADG706和C8051F061的接口电路图
3 结语
本文的创新点是从工程应用的角度阐述典型的多通道高速数据采集系统的实现,并恰当地选用该领域的合适器件来实现数据采集系统的高性能、小体积和低功耗。因此,本文所述的方法具有很强的典型性。根据本文所述方法设计的数据采集系统已经在实际中获得应用,运行稳定,采集效果良好。
参考文献:
[1] 张春雷,王东兴. uC/OS-II在C8051F020单片机上的移植. 微计算机信息[J]. 2006.2-2 P95-97
[2] MAXIM公司. MAX291数据手册[Z]. 美国:MAXIM公司,1996
[3] 喻小虎,徐欣,黄勇杰. 高精度A/D转换芯片ADS8364在数据采集系统中的应用. 机电车传动[J]. 2005.11
[4] TI公司. TPS54310PWP数据手册[Z]. 美国:TI公司,2002
[5] Analog Device公司. ADG706数据手册[Z]. 美国:Analog Device公司,2002
                                
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2026-3-5 16:37 , 耗时 0.087550 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表