基于dsPIC30F的高精度数据采集器的研制

[日期:2008-11-19] 来源:中电网  作者:哈尔滨工业大学 肖站 [字体: ]
<script src="http://www.21ic.com/innews.js"></script>

 

引 言

随着现代工业生产和科学研究对数据采集系统的要求日益提高,采集精度、抗干扰能力和操作安装的简易与否成为人们采集数据时关注的主要问题,这使得高精度的数据采集技术成为关键。

基于单片机或其他系列DSP的数据采集器,受芯片功能和结构的限制,硬件设计中往往需要较多的外围电路,导致装置的整体集成度不高,硬件开发相对复杂,使数据采集器的可靠性和抗干扰能力受到极大的限制。基于dsPIC30F系列数字信号控制(DSC)芯片,采用高精度、低噪声、22位分辨率的新型Δ-Σ A/D转换器MCP3551的高精度数据采集器,具有数据精度高、芯片集成度高、开发方便等特点。

Microchip公司推出的dsPIC30F系列芯片是一款将单片机与DSP技术相结合的高性能16位数字信号控制器。以16位单片机为核心的dsPIC30F系列芯片不仅具有功能强大的外围设备和快速中断处理能力,同时还融合了可进行高速计算的数字信号处理器。此外,它在异常事件处理、软件开发环境等方面也表现出强大的性能。由于dsPIC30F芯片的内部资源丰富,因此基于dsPIC30F平台开发的数据采集器仅需要很少的外设。不但装置的抗干扰性和可靠性能够满足数据采集器在各种环境下运行的要求,而且可以提升系统的灵活性,缩短开发时间,降低开发成本。

数据采集系统设计

数据采集系统如图1所示,主要由模拟信号调理电路、A/D转换电路、显示电路和485通信电路等构成。信号进入A/D转换器之前要进行处理,模拟信号处理是影响系统性能的重要因素之一,设计时考虑信号质量,提高信噪比,尽量减少畸变。设计时在调理电路中采用电位器微调,稳压管限制输入量程。在A/D转换电路中采用Microchip公司的MCP3551芯片采样并转换信号,它以三线的SPI方式和dsPIC30F微处理器联接。dsPIC30F微处理器控制A/D采样转换,并通过显示电路数码管显示输出及RS485与计算机通信。输入信号为0~30mA的电流信号,经过调理电路的处理,进入MCP3551E的输入端的差分信号幅度范围为0~3V,同时信噪比高。A/D转换电路是数据采集系统的核心部分,本系统采用Microchip公司的MCP3551芯片。该芯片使用Δ-Σ转换方法,实现最高22位的无丢失码数据输出,其有效分辨率为21.9位,转换精度高,功率消耗低。

系统硬件设计

高精度数据采集器以dsPIC30F2010芯片为核心,硬件结构图如图2所示。首先,由于dsPIC30F2010为16位数字信号控制器,其强大的计算能力和数据吞吐能力使得dsPIC30F2010能够单独完成数据处理、控制、通信、人机接口等功能,减少了芯片数量,简化了硬件结构。其次,由于dsPIC30F2010内部集成了许多必需的外围器件,如RAM、FLASH、EEPROM、USART、MSSP等,使得所需外围扩展电路很少,进一步简化了硬件结构。从图2可以看出,本装置的硬件结构非常简单,极大地提高了数据采集器的实时显示性及抗干扰性。

A/D采样转换模块设计

A/D采样转换模块采用MCP3551,它是一种高精度、低噪声、宽动态范围并采用单2.7V~5.5V电源供电的单通道22位分辨率Δ-Σ的A/D转换器,可在扩展温度范围(-40oC~+125oC)条件下工作,方便地测量低频低电压信号。

输入信号为0~30mA电流,经过调理电路的精密电阻R3把电流信号转换成电压信号,进入MCP3551的输入端的差分信号幅度范围为0~+3V的电压。电阻R4和电位器RP1并联构成微调电路。电阻R2为限流电阻。二极管D1、稳压管D2及电阻R5构成量程限制电路,当输入信号的幅值超过+5V,则二极管D1导通把信号限制在+5V,对后面的电路起保护作用。dsPIC30F微处理器的RB0、SDI和SCK引脚分别与MCP3551的片选端{C}/halfnote_{}^{-}{S}/halfnote_{}^{-} 、数据输出端SDO和串行时钟输入端SCK相连。RB0控制着转换的启动。转换状态由SDO/ R{D}/halfnote_{}^{-}{Y}/halfnote_{}^{-}引脚输出,在RB0为低电平时通过检测SDI获得。SDI引脚的高电平状态表示器件正在进行转换,而低电平状态则表示转换完成。同时使用SCK传输已准备就绪的数据。

在实际的测量中,参考电源是影响MCP3551采集精度的重要因素之一。为了减小其影响,参考电源必须稳定、噪声小。因此,使用REF3125作+2.5V电压的稳压芯片,以及利用外围电容的滤波作用进一步减少电压波动对MCP3551的影响。

RS485串行通信模块设计

RS485串行通信模块通过MAX485芯片进行信号收发。主控机处于远程控制室,所受干扰小,因此用MAX485芯片完成数据通讯功能。而传输分站工作在环境恶劣的工业生产现场,干扰较大,因此dsPIC30F微处理器和MAX485之间采用光电隔离。MAX485是半双工通讯芯片,其收发状态由dsPIC30F微处理器的RB4引脚控制。当RB4置低电平时,DE连接的二级管导通,使信号输入端DI 连接的二级管正端电压较低,二级管截止,发送器不工作,芯片成为RS485接收器。差分信号由A、B输入,由接收器输出反向端RO输出反向信号,经光电隔离到dsPIC30F微处理器的RXD引脚,完成接收过程。当RB4置高电平时,DE连接的二级管截止,使得输入端DI连接的二级管正端电压较高,此二级管的通断由DI 输入端电平高低决定,芯片成为RS485发送器。信号由dsPIC30F微处理器的TXD引脚发出,经光电隔离,从DI输入,由A、B口输出RS485差分信号,完成发送过程。另外,由于dsPIC30F微处理器能够输出20mA以上的电流,因此,在dsPIC30F微处理器和MAX485的控制连接线路和发送接收连接线路中,可以不加逻辑门电路。

LED显示模块设计

LED显示模块采用串行接口的8位数码管显示驱动器MAX7219。它具有10MHz传输率的三线串行接口与dsPIC30F微处理器相连,最多可驱动8个共阴数码管或64个发光二极管。其内部有可存储显示信息的8×8静态RAM、动态扫描电路以及段、位驱动器。MAX7219的数据输入主要由三根输入线完成。它们分别是串行数据线DIN、加载线LOAD与时钟线CLK,分别和dsPIC30F微处理器的RB1、RB2与RB3引脚相连。串行数据是以16 位数据包的形式从DIN 脚串行输入,在CLK的每一个上升沿逐位送入芯片内部,LOAD脚在第16个CLK上升沿出现的同时或者之后但在下一个CLK上升沿到达之前,对输入的数据进行锁存,否则送入的数据将丢失。

系统软件设计

软件在Microchip公司的MPLAB IDE可视化集成开发环境下运行,使用C30编译器编写。MPLAB IDE提供了方便且功能丰富的界面,其中C30编译器提供了C语言的标准特性。高精度数据采集器的软件主要完成A/D转换、LED显示和RS485通信功能。

主程序流程图如图3所示。首先,配置PIC微处理器的SPI端口为在时钟下降沿时,MCP3551输出数据,在时钟上升沿时锁存数据。然后配置MCP3551在连续转换模式方式下工作,上电令RB0为低电平输出,即{C}/halfnote_{}^{-}{S}/halfnote_{}^{-} 为低电平,并一直维持。然后查询SDI引脚的电平状态,如果SDI引脚为低电平,则读取接收缓冲器SPI1BUF的数据,如果SDI引脚为高电平,则继续查询。然后通过LED显示输出及通过RS485通信程序与PC机通信。

RS485通信采用dsPIC30F微处理器的USART串口接口,以串口中断的方式通信。串口中断设定为最高中断优先级,使能接收中断,禁止发送中断。波特率发生器的值由公式U1BRG=FCY/(16×波特率)?1计算得到,其中FCY为指令周期时钟频率,波特率选择9600bps,通过接收器和发送器进行数据传输。

结束语

本文介绍的基于dsPIC30F的高精度数据采集器,利用了高精度、低噪声、22位分辨率的新型Δ-Σ的A/D转换器MCP3551进行数据采样转换,实现了dsPIC30F微处理器与PC机的RS485通信功能,并能够通过LED显示输出。按照此方案设计的系统成功应用于传感器校验系统中。实际的调试和运行表明,此数据采集器可在扩展温度范围(-40oC~+125oC)条件下工作,方便地测量低频低电压信号,它精度高、抗干扰能力强、体积小,能达到6位半LED显示输出,具有很强的实用价值。

基于dsPIC30F的高精度数据采集器的研制相关推荐

  1. ads1278_基于ADS1278的高精度微应变信号采集系统

    摘要:以24位工业模数转换器AD51278为核心,设计了一个高精度微应变信号采集系统,给出对应的前端调理电路和数字采集模块等.模拟测试结果显示,该系统方案可行,可有效采集微应变信号,已成功应用于桥梁振 ...

  2. labview虚拟心电监测系统_基于LabVIEW的虚拟心电记录系统研制

    基于 LabVIEW 的虚拟心电记录系统研制 李喆 ; 卢广文 ; 莫莉 ; 余学飞 [期刊名称] <微计算机信息> [年 ( 卷 ), 期] 2007(023)031 [摘要] 利用具有 ...

  3. 基于STM32的高精度温度测控系统-原理图设计

    基于STM32的高精度温度测控系统,本篇为原理图设计分析篇 高精度温度测控仪设计原理图篇(已更新) 高精度温度测控仪设计PCB篇(已更新) 高精度温度测控仪设计STM32代码篇(未更新) 高精度温度测 ...

  4. 【毕业设计/课程设计】基于opencv的高精度人脸识别考勤系统设计与实现

    文章目录 0 项目说明 1 需求分析 2 总体设计 3 详细设计 4 程序运行结果测试与分析 5 实验心得 6 项目源码 0 项目说明 基于opencv的高精度人脸识别考勤系统设计与实现 提示:适合用 ...

  5. 基于MSP430G2231实现多路数据采集器

    基于MSP430G2231实现多路数据采集器 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 系列博客说明:此系列博客属于作者在大三大四阶段所储备的关于电子电 ...

  6. matlab将曲线划分为三段线段,基于Matlab的高精度光伏模拟器的设计_杨文燮

    基于Matlab 的高精度光伏模拟器的设计 杨文燮,王雨,费科 (东南大学电气工程学院,江苏南京210096) 摘要:以实际光伏I-V 输出特性曲线为参照,将多段折线法与均值阶梯线段法相结合,可以更为 ...

  7. 视觉识别入门之人脸识别——基于FACENET的高精度人脸识别

    视觉识别入门之人脸识别---- 基于FACENET的高精度人脸识别 一:项目展示: - 这是实时视频读取的展示,是可以读单张图片,或者本地视频流,抑或是实时人脸检测与分类的,至于我为什么不展示我的自拍 ...

  8. 无人驾驶(再谈基于camera的高精度地图)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 在我们国家,地图提供商是需要获得测绘资质的.不是所有公司都有资格提供高精地图的,当然技术能力是 ...

  9. ad7714 c语言程序,基于AD7714的高精度数字化称重传感器设计.pdf

    第 3 1卷第 5期 2 0 0 9年 1 O月 电气电子教学学报 J OURNAL OF E EE Vo1 31 No 5 Oc t 2 0 0 9 基于 AD 7 7 1 4的高精度数字化称重传感 ...

最新文章

  1. SpringBoot-JPA入门
  2. Generator-ing Values
  3. 一个人的渺小与微不足道。
  4. 欠薪解决新途径:劳动者可向法院申请支付令。(拖欠工资就是违法)
  5. 画世界上传图片提交到服务器_【MUI】选择图片并上传至服务器
  6. 计算机网络划分的标准,计算机网络基础
  7. java安装_如何在 Mac 上安装 Java | Linux 中国
  8. 2018-09-14
  9. 城市轨道交通信号系统学习笔记(四)信号机
  10. 利用Contacts Provider读取手机联系人信息
  11. java 拼音模糊查询_java 编写模糊查询
  12. C Primer Plus 第四章 复习题编程练习 答案
  13. 双击计算机在任务栏里打不开了,电脑任务栏点击没反应卡死解决方法
  14. starbase 数据库使用 (miRNA预测LncRNA)
  15. python语言编程培训班价值有多大?
  16. nodeJS 第一篇
  17. ADO,ADO.NET
  18. Date int java_java.util.Calendar.set(int year, int month, int date)方法实例
  19. 计算机表盘,深度学习表盘识别
  20. 程序人生(创)一个新手程序员的两三事(未完待续...)

热门文章

  1. CompletableFuture的applyToEitherAsync:最快返回输出的线程结果作为下一次任务的输入
  2. 李帅燕山大学计算机,燕山大学在第二届中国研究生机器人创新设计大赛中再获佳绩...
  3. HTTP状态查询,HTTP状态码含义,HTTP头部信息查询,http状态码表
  4. 属于国外crm软件oracle,最实用的5款在线CRM软件,前3名全是国外的
  5. PACS和RIS的技术进展
  6. 注会会计-会计科目组成
  7. Mendix Marketplace 概述
  8. 梁启超:教育的本质之一,是教人不惑、不忧、不惧,顶天立地做一个人
  9. 微型计算机原理及接口技术董洁,基于单片机的自动寻位立体车库系统..doc
  10. python从网址爬图片协程_Python爬虫多任务协程爬取虎牙MM图片