0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于ADuC812微控制器实现环境监测下位机的软硬件电路设计

电子设计 来源:电子设计应用 作者:孙晓靖,仇润鹤,陆 2020-12-03 10:38 次阅读

作者:孙晓靖 , 仇润鹤 , 陆迎光

1 引言

ADuC812 是美国AD公司率先研制出的真正意义上的完整的数据采集系统芯片,是投入市场的第一种微转换器产品。它性能优良,价格便宜,开发手段完备,是一种新型的高度集成的高精度12位数据采集系统。其内部的12位A/D转换周期仅为4us,比常用的AD574快好几倍。用ADuC812代替由常规芯片构成的数据采集系统,将大大降低产品的成本、缩小设备的体积、提高系统的可靠性和电气性能指标。

ADuC812 芯片内,不仅包含了可重新编程的非易失性闪速/电擦除程序存储器的高性能8位(与8051兼容)MCU,还包含了高性能的自校准多通道(8个输入通道) ADC,两个12位DAC,32条可编程I/O接口。ADuC812微控制器内核与8051指令兼容,用户现有的软件都可以直接移植,因而应用开发方便。它具有9个中断源(2个优先级),片内还集成了8K字节的闪速/电擦除程序存储器、640字节的闪速/电擦除数据存储器以及256字节RAM。另外,它还包括一个看门狗定时器电源监控器,ADC与数据存储器之间的DMA方式,存储保护功能,一个通用的异步串行收发器,SPI和I2C总线接口。 ADuC812具有24位地址的外部数据寻址能力, 可寻址16MB的外部数据存储器空间。

2 远程环境监测信息系统整体介绍

该远程环境监测信息系统是针对当今环境远程监测自动化、网络化、信息化的要求而设计的,它是由分布于远距离各个监测站的多个下位机和位于中心站的上位机组成,其结构如图1所示。

基于ADuC812微控制器实现环境监测下位机的软硬件电路设计

图1、系统结构图

上下位机是通过MODEM和电话线路实现远程通信的。上位机将各下位机传送来的数据存入数据库,并对各环境数据做出数据分析。

下位机分布在大范围、远距离的各个环境监测站点,对大气、水质、酸雨等各监测仪送来的各种环境数据进行实时采集。对环境监测仪输出的SO2、NO2、NO等变化缓慢的参数每2分钟采样一次,对酸雨计输出的酸雨参数每0.5mm雨量采样一次。采样数据要求连续保存7天,每天的平均值保存一个月,并且存储在下位机中的采样数据随时准备接受上位机的查询和向上位机传送。

3下位机硬件电路设计

下位机硬件电路的设计,主要是考虑被测信号的变化速率和通道数,以及对测量精度、分辨率、速度的要求等。该数据采集系统电路包括:ADuC812、模拟放大转换电路、外部数据存储器28F128、串行口通信以及键盘和LCD显示器,如图2所示。

图2、硬件结构图

3.1 采集电路的模拟信号输入

在ADuC812 中,P1.0—P1.7初始化后为8通道的模拟输入口。如果用于数字量输入,编程时应首先把端口写“0”。本电路将P1口设为8路由各环境监测仪输出的模拟量输入。由于ADC的基准电压是2.5伏,而各监测仪输出的模拟量一般为0“1伏或4”20毫安,因而需要模拟放大转换电路把输入信号转换成0—2.5 伏的标准输入。转换电路如图3所示。

图3、模拟放大转换电路

3.2 ADuC812与外部数据存储器的接口电路

为满足本设计系统大量数据的存储要求,在采用常规芯片构成的系统中要采用10片128K的HM628128数据存储器(RAM),这样,不但成本高、电路设计复杂、系统的可靠性和电气性能指标也低。由于ADuC812具有24位地址的外部数据寻址能力,本方案中,我们采用一片28F640。28F640是一超大容量闪速存储器,单片容量为8MB,不但更好的满足了本系统的设计要求,而且当采集参数增加,或采样时间变化时,同样能满足要求,因而提高了系统的兼容性。

为实现对28F640 的访问,ADuC812利用两片8位锁存器74HC573与28F640相连。P0口分时输出低8位地址A0“A7和8位数据,利用地址锁存信号ALE可以将低8位地址锁存到8位锁存器U2中。P2口分时输出高8位地址和中8位地址,可以利用地址锁存信号ALE将高8位地址锁存到8位锁存器U4中。这样就实现了24位寻址空间。由于28F640只有A0”A22共23位地址线,所以锁存器输出的A23地址线悬空。

3.3 键盘、显示器接口电路

外接键盘和LCD显示器的目的是:当数据发送错误或人工查询数据时,可通过键盘选择要查询的参数并在显示器上显示出来,使下位机的工作更加灵活方便。

为了连接键盘和显示器,需要扩展一片8155I/O口扩展芯片,采用4*4触摸式键盘和点阵式液晶显示器。键盘上的键值分别与各路环境参数对应,若为“0”按下,则调显示子程序,此后每按一个键,此按键值对应的环境参数在显示器上显示出来。若不是“0”键按下,则把键值送累加器A。当为“F”键按下时,则退出显示子程序。

3.4 串行通信接口电路

由于要通过MODEM、电话线与上位PC机通信,所以须利用MAX232芯片作为RS—232口电平匹配与驱动。MAX232是包含两路接收器驱动器IC芯片,其内部有一个电源电压变换器,可以把输入的+5V电源电压变换成为RS—232C输出电平所需的±10伏电压。

4下位机软件设计

4.1 软件整体设计

下位机的软件设计主要由3部分组成:数据采集及存储子程序,键盘扫描与液晶显示程序,与上位机的通信子程序。流程图如图4。

主程序中,首先进行键盘、显示器、AD模块和通信端口的初始化。数据采集及存储子程序编写为定时中断子程序,采用定时器2定时,每2分钟调一次数据采集及存储子程序,采集一次数据。而酸雨数据的采集是通过外部中断INT1,每当酸雨量达0.5mm时向ADuC812发一个中断请求,ADuC812采集一次酸雨数据。

主程序循环扫描键盘,当有键按下时,转键盘扫描子程序。主程序中把与上位机的通信程序设置为外部中断子程序,中断信号由INT0输入。当上位机要求传送数据时,通过拨号,选中某一下位机,则此下位机程序跳转到通信子程序,完成与上位机的通信。

图4、软件流程图

4.2 软件设计特点

ADuC812微控制器内核与8051指令兼容,用户现有的软件都可以直接移植,但在ADC转换模块和数据的存取方面与8051编程不同。

在数据采集及存储子程序中,ADC首先要初始化。对ADuC812 的AD转换模块的操作是通过对ADCON1,ADCON2和ADCON3这3个特殊功能寄存器(SFR)来控制的。ADCON1控制转换与采集时间、硬件转换模式以及掉电模式。在对ADCON1的设置中,ADC正常工作,时钟分频比为2。由于输入信号模拟放大转换电路的输出阻抗都小于8KΩ,所以选择 ADC采集时钟为1。设置定时器2转换位T2C,由此,得ADCON1=52H。ADCON2控制ADC通道选择和转换模式。由于本数据采集系统为8通道顺序采集,ADC每次需要将8个通道的模拟输入量依次进行转换,因此,要把通道号CHAG的值送入ADCON2中。ADCON3未用。一旦特殊功能寄存器 ADCON1“3完成设置,ADC将转换模拟输入并在特殊功能寄存器ADCDADAH/L中提供ADC 12位结果字。

CPU用中断方式管理A/D转换器。当A/D转换完成时,向CPU发请求信号,CPU响应中断,中断处理子程序负责对转换的数据进行读出并将其存储至外部数据存储器28F128中,然后通道号加1,相应的闪速存储器地址也加1。

当用户访问微转换器ADuC812 的16MB的外部数据空间时,必须添加一个数据页指针DPP,与普通MCS-51一样,一条向DPTR送数的MOV指令仍只送16位的数据到DPH和 DPL,但一个使DPH溢出的INC DPTR指令,将使地址增加一页而不是加1。页的大小与DPP有关。因此利用数据页指针DPP可实现16MB外部数据空间的访问。

对28F640 的读写是以页编程操作为基础。28F640是超大容量闪速存储器,为了保证对各种操作的可靠进行,芯片内部增加了控制逻辑。如用来接受各种操作命令的用户命令单元接口(CUI)和擦写状态机(WSM)等。当进行数据交换时,首先是将芯片的片选端使能,使存储器进入工作状态,然后再将相应命令字送入CUI。 CUI根据命令要求按地址锁存器的寻址去控制WSM对相应的存储单元或存储块区域自动执行编程算法和必要的延时,从而完成数据块的擦除、写入、锁存等操作。

5结束语

把ADuC812芯片应用在远程环境监测信息系统下位机的设计上,显著提高了数据采集系统的性能并大幅度地减少了开发时间和成本,适应了现代环境监测的要求。根据具体要求稍加修改,本系统还可适用于气象、电力、水文等需要实时监测的各个部门。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    7542

    浏览量

    151316
  • 芯片
    +关注

    关注

    455

    文章

    50714

    浏览量

    423147
  • 数据采集
    +关注

    关注

    38

    文章

    6053

    浏览量

    113622
收藏 人收藏

    评论

    相关推荐

    ADuC812微控制器的应用及原理

    ADuC812作为新一代微控制器,具有强大的功能,比以往的单片有着更广阔的应用前景。在实际应用中发现,芯片本身尚存在一些应注意的问题及使用时的特殊要求。
    发表于 04-10 12:06 6114次阅读
    <b class='flag-5'>ADuC812</b><b class='flag-5'>微控制器</b>的应用及原理

    基于ADUC812单片的LonWorks智能节点设计

    ADUC812单片是美国模拟器件(AD)公司最新推出的,其内包含了高性能的8路12位ADC采集系统、2路12位DAC、80C52MCU内核、8KB的闪速/电可擦除程序存储、640字节的闪速/电可
    发表于 03-04 16:17

    aduc812

    哪位高手有ADUC812详细的中文资料手册啊急需!!谢谢
    发表于 03-17 11:24

    寻找aduc812下载程序

    本很久以前用过aduc812,现又使用,程序写好了,@@@@但找不到下载程序,哪位朋友有aduc812的下载程序,请发一份(hujingan@163.com),不胜感激,谢谢!急!!!
    发表于 09-06 14:21

    想使用ADUC812控制ADF4360-0程序是怎么写入812中的?

    想使用ADUC812控制ADF4360-0,我想知道程序是怎么写入812中的?通过什么??
    发表于 09-06 14:42

    微转换软件开发工具-ADuc812

    - ASM51: 8051 Cross Assembler- ADSIM812: ADuC812 Windows Simulator- DEBUG812: ADuC812 Debugg
    发表于 06-12 15:04 53次下载

    基于ADuC812的供电系统中无功功率的测量

    本文介绍了常用的无功功率的测量方法,讨论了各种方法利用微控制器实现的可行性。本文还介绍了ADI 公司的ADuC812 微控制器芯片,该芯片内部集成的模拟/数字转换
    发表于 06-17 08:56 25次下载

    基于ADuC812的半导体激光智能温控及驱动电源设计

    摘 要 设计一种基于ADuC812微控制器的半导体激光驱动及温控系统,以ADuC812微转换控制
    发表于 12-14 13:32 51次下载

    微控制器AduC812的P1口的应用

      1 AduC812的通用数据端口   AduC812是一种新型的高度集成的高精度12位数据采集系统。在其片内,不仅包
    发表于 11-01 10:39 1660次阅读
    <b class='flag-5'>微控制器</b><b class='flag-5'>AduC812</b>的P1口的应用

    ADuC812设计超声波非接触液位计

    ADuC812 是ADI公司99 年开发面市的新一代、带有嵌入式闪速MCU 的多通道12 位A/D 转换,用 ADuC812 作为核心,加上超声波发、收电路以及存储、显示等
    发表于 07-18 15:30 72次下载
    用<b class='flag-5'>ADuC812</b>设计超声波非接触液位计

    ADuC812中文资料

    ADUC812使用手册,中文版…………………………………………………………………………
    发表于 11-17 14:37 39次下载

    基于ADuC812的温度、压力监测系统

    设计了一种以数据采集芯片ADUC812为核心的现在数字监测系统,用以实时监测锅炉运行时其内部温度、压力,且测试结果用数字显示,便于观察。本系统主要ADuC812单片
    发表于 03-28 15:38 14次下载

    UC-003:作为IEEE 1451.2标准的ADuC812

    UC-003:作为IEEE 1451.2标准的ADuC812
    发表于 04-24 12:23 4次下载
    UC-003:作为IEEE 1451.2标准的<b class='flag-5'>ADuC812</b>

    ADuC812快速参考指南

    ADuC812快速参考指南
    发表于 05-11 18:06 9次下载
    <b class='flag-5'>ADuC812</b>快速参考指南

    ADuC812:勘误表

    ADuC812:勘误表
    发表于 05-22 11:36 8次下载
    <b class='flag-5'>ADuC812</b>:勘误表