微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于dsPIC30F的高精度数据采集器的研制

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

时间:10-23 来源:中电网 点击:

用光电隔离。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显示输出,具有很强的实用价值。





Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top