老古开发网首页
导航:老古开发网首页文章索引文章分类嵌入式系统→[新型数据采集系统芯片ADμC812]
| -文章搜索 - 最新文章 - |

新型数据采集系统芯片ADμC812

发布时间:2006年3月4日 点击次数:843
来源:单片机与嵌入式系统应用   作者:天津大学 相韶霞 李刚
 

简介 单片数据采集系统芯片ADμC(MicroConverterTM)将模数转换器(ADC)和数模转换器(DAC)与单片机(如80C51)集成在一个芯片上,大大简化了数据采集系统的设计。美国ADI公司出品的ADμC812集成有12位8通道的ADC和两个12位的DAC。本文将详细介绍ADμC812的原理及其应用。

关键词 数据采集系统芯片 ADμC812 ADC DAC

概述

  ADμC类芯片虽然将ADC、DAC以及单片机高度集成在一起,但其核心仍然是单片机内核。例如,ADμC812的内核与80C51兼容,其内部存储器组织、片内外围设备等与80C51的结构相似,指令系统与80C51的指令系统完全一样,定时器/计数器和串行接口等的工作方式也与80C51完全一样。所以,在对ADμC812编程时,可以参考80C51单片机的有关资料。但是,ADμC类芯片仍有一些结构和功能与80C51单片机不同。例如,ADμC类芯片的闪速/电擦除(Flash/EE)程序存储器和数据存储器与80C51单片机的存储器不同,尤其是该类芯片中所集成的模数转换器ADC的工作方式比传统的ADC芯片的工作方式灵活得多,这使得用户利用ADμC812开发数据采集系统非常方便。

一、 ADμC812单片机内核的介绍

  ADμC812的单片机内核是与80C51兼容的、可编程的8位MCU。片内有8KB的闪速/电擦除(Flash/EE)程序存储器、640字节的闪速/电擦除数据存储器以及256字节的数据SRAM。另外,MCU支持的功能包括看门狗定时器、电源监视器以及ADC DMA功能,并为多处理器接口和I/O扩展提供了32条可编程的I/O线、I2C兼容的SPI和标准UART串行端口I/O。

  ADμC812的MCU内核和模数转换器二者均有正常、空闲以及掉电工作模式,提供了适合于低功耗应用的灵活的电源管理方案。器件有在工业温度范围内3V和5V两种工作电压规格,并有52引脚、塑料四方形扁平封装形式可供使用。

  下面分别从ADμC812的功能方框图、芯片引脚排列及其引脚说明、存储器组织以及片内外围设备来详细说明该芯片的结构。

1. 功能方框图

  ADμC812的功能方框图如图1所示。

图1  ADμC812功能方框图

2. 引脚说明

  ADμC812的引脚排列如图2所示。

图2  ADμC812的引脚排列

  ADμC812的引脚说明如表1所列。

表1  ADμC812的引脚说明

3. 存储器组织

  ADμC812与所有与80C51兼容的器件一样,对于程序和数据存储器具有分开的地址空间。其内核中组合了片内可重新编程、非易失性闪速/电擦除程序和数据存储器。闪速存储器是最新类型的非易失性存储器技术,它基于单个晶体管单元结构,既具有EEPROM灵活的在线可重新编程的特点,又包括了EPROM空间有效性/高密度的特点。与EEPROM一样,虽然闪速存储器必须首先被擦除,但它可在系统内在字节级被编程,擦除操作在扇区块内执行。因此,闪速存储器常常被称作闪速/电擦除存储器。

  ADμC812包含了两个闪速/电擦除存储器。一个是8KB的闪速/电擦除程序存储器空间,它使代码的执行变得容易,而且无需任何外部分立的ROM器件。编程时,可以用常规的第三方提供的存储器编程器编程,或者使用开发商提供的串行下载模式在线编程,也可以并行编程。

  作为工厂引导代码的一部分,ADμC812使经过标准UART串行接口,实现串行代码下载变得容易。将外部引脚PSEN通过外部电阻拉至低电平,则上电时将自动进入串行下载模式。一旦处于此模式,用户可以把代码下载到程序存储器阵列,同时器件仍位于其目标应用硬件中。

  并行编程模式与常规的第三方闪速或EEPROM器件编程器完全兼容,如图3所示。在此方式下,端口P0、P1和P2用做外部数据和地址总线接口,ALE用做写使能选通,端口P3用做适用配置端口,在并行编程期间内它为各种编程和擦除操作配置时序。闪速编程所需的高压(12V)电源用片内充电泵产生,为高压编程线供电。表2表示用端口3的位来配置的正常并行编程模式。

图3  闪速/电擦除存储器并行编程

表2  闪速存储器并行编程模式

  另一个是640字节的闪速/电擦除数据存储器空间,它可以被用户用做通用非易失性暂存存储器区域,如同传统的EEPROM。它被配置为160页(00H至9FH)、4字节的页,通过映射在SFR空间的存储器组与此存储器空间相接口。4个数据寄存器组(EDATA1-4)用于保存刚访问的4字节页数据。EADRL用于保存被访问页的8位地址。最后,ECON是8位控制寄存器,它可以写入5个闪速/电擦除存储器访问命令之一,以便使能各种读、写、擦除和校验模式。ECON控制寄存器命令模式如表3所列。

表3  ECON——闪速/电擦除存储器控制寄存器命令模式

  一般对闪速/电擦除阵列的访问,首先要在EADRL SFR中设置被访问的页地址,然后把要编程到阵列的数据置到EDATA1-4(对于读访问将不写EDATA SFR),最后写ECON命令字,它将启动表3所示的5种模式之一。

  应当注意,只要命令字写入ECON SFR,给定的工作方式即开始起作用。此时,在ADμC812内核微控制器的操作将空闲,直至完成所要求的编程/读或擦除方式。实际上,这意味着即使闪速/电擦除存储器的工作模式通常由两个机器周期的MOV指令(写至ECON SFR)开始,但是在闪速/电擦除操作完成(250μs或20ms之后)之前,下一条指令将不被执行。这表示虽然在整个这种准空闲(pseudo\ idle)周期内,像计数器/定时器这样核心外围设备功能会如所设置的那样计数和定时,但是直到闪速/电擦除操作完成之前,内核将不响应中断请求。

  一般说来,闪速/电擦除存储器阵列只有在它预先被擦除后才能编程。具体地说,一个字节只有在它保持数值FFH时才能被编程。由于闪速/电擦除存储器的结构,这种擦除必须发生在“页”一级,因此当擦除命令开始时,最少擦除4个字节(1页)。

  图4是一个特殊的编程过程的例子。在此例子中,把F3H写入用户闪速/电擦除存储器空间中页03H的第二个字节。然而,页03H已包含了4个字节的有效数据。当用户只要求修改这些数据之一时,必须首先读出整个页,以便在擦除此页时不丢失已存在的数据。然后,把新字节写入EDATA2 SFR。其后是擦除(ERASE)周期,它确保在新的页数据EDATA1-4写回到存储器之前擦除此页。如果需在没有擦除周期(ECON设置为05H)的情况下开始编程周期(ECON设置为02H),那么只有设置为“1”的位地址被修改,即为了实现对存储器阵列的有效写访问,必须预先擦除闪速/电擦除存储器字节地址。通常,包含一图4用户闪速/电擦除存储器字节编程举例个全部擦除子程序作为运行在ADμC812上任何配置/设置代码的一部分是一种良好的编程习惯,全部擦除命令的80C51汇编语言代码为MOV ECON,#06H。注意,全部擦除(ERASE-ALL)命令(640字节)的持续时间与擦除(ERASE)页命令(4字节)的持续时间是相同的,即20ms。用80C51汇编语言代码表示如下:

  MOV  EADRL,#03H  ;设置页指针
  MOV  ECON,#01H  ;读页命令
  MOV  EDATA2,#0F3H  ;写新字节
  MOV  ECON,#02H  ;擦除页命令
  MOV  ECON,#05H  ;编程页命令

图4  用户闪速/电擦除存储器字节编程举例

4. 片内外围设备

  ADμC812的片内外围设备包括:UART串行I/O、2线(与I2C兼容)和SPI串行I/O、看门狗定时器、电源监视器等。下面分别介绍。

  (1)  并行I/O端口0~3

  ADμC812使用4个通用数据端口与外部器件交换数据。除了使用通用的I/O外,某些端口能实现外部存储器操作,其他端口则与器件上外围设备其他功能多路复用。通常,当外围设备共享端口引脚被使能时,该引脚不能用做通用I/O引脚。

  端口0、2和3是双向端口,而端口1是只输入端口。所有端口均包含输出锁存器和输入缓冲器,I/O端口也包含输出驱动器。对端口0~3引脚的读和写访问通过它们对应的特殊功能寄存器来实现。

  通过相应的端口SFR位,可把端口0、2和3的端口引脚独立地配置为数字输入或数字输出。但是,端口1引脚只能被配置为数字输入或模拟输入,此器件不支持端口1的数字输出能力。

  (2)  串行I/O端口

  · UART接口
  串行端口是全双工的,意味着它可以同时发送和接收。它也是接收缓冲的,表示在从接收寄存器读出先前接收到的字节之前可以开始接收第2个字节。但是,如果在第2个字节接收完成时,第1个字节未被读出,那么字节之一会丢失。
  至串行网络的物理接口经过引脚RxD(P3.0)和TxD(P3.1),可以配置为4种工作模式之一(可参考有关MCS51单片机的书)。

  · 串行外设接口(SPI)
  串行外设接口(Serial Peripheral Interface,简称SPI)是工业标准的同步串行接口,它允许8位数据同时、同步地被发送和接收。系统可配置为主(master)或从(slave)操作。

  · I2C兼容的串行接口
  ADμC812支持2线串行接口模式,它与I2C兼容。此接口可配置为软件主(software master)或硬件从(hardware slave)模式,且可与SPI串行接口多路复用。

  (3)  定时器/计数器

  ADμC812具有3个16位的定时器/计数器,即定时器0、定时器1和定时器2。定时器/计数器硬件已包含在片内,以减轻用软件实现定时器/计数器功能时处理期内核固有的负担。每一个定时器/计数器包含两个8位寄存器THx和TLx(x=0,1,2)。所有3个定时器/计数器均可配置定时器或事件计数器。

  在“定时器”功能中,每个机器周期TLx寄存器增量。因此,可以把它看做对机器周期计数。因为一个机器周期包含12个振荡周期,所以最大的计数速率是振荡频率的1/12。

  在“计数器”功能中,TLx寄存器根据其对应的外部输入引脚T0、T1或T0上的1至0的跳变增量。

  (4)  片内监视器

  ADμC812集成了两个片内监视器功能,以便使灾难性的编程或其他外部系统故障期间内代码或数据的破坏为最小。此外,两个监视器功能完全可以通过SFR空间来配置。

  (5)  看门狗定时器

  看门狗定时器的作用是,当ADμC812可能由于编程错误、电气噪声或RFI而进入出错状态达到适当的时间时产生器件的复位。看门狗的功能可通过清除看门狗控制(WDCON)SFR中的WDE(看门狗使能)位而永远被禁止。当看门狗被使能时,如果在预定的时间间隔内用户程序没有刷新看门狗,那么看门狗电路将产生系统复位。看门狗复位时间间隔可通过SFR预定标(prescale)位在16~204ms范围内进行调整。

  (6)  电源监视器

  当加至ADμC812的模拟(AVDD)或数字(DVDD)电源降至5个电压转变点(它们在2.6~4.6V范围内由用户选择)之一时,电源监视器产生中断。在电源回到转变点以上至少256ms之前中断位不会被清除。

  这种监视器功能确保用户能保存工作寄存器,以避免由于低电源情况而可能造成的数据破坏,并且确保在可靠的建立“安全”的电源电平之前不会恢复代码的执行。电源监视器也能防止寄生的闪变信号触发中断电路。

5. 中断系统

  ADμC812提供具有两个优先级的9个中断源。在图5中,给定级别内中断优先级以递减的顺序表示。图5给出了中断系统的概述,并说明了请求和控制标志。相应中断的中断矢量地址包括在表4中。

图5  中断系统

表4  中断矢量地址

  为了使用ADμC812的任何中断,必须遵循下列3个步骤:

  · 把中断服务子程序放在该中断相应的矢量地址,如表4所列。
  · 把IE SFR中EA(使能全部)位设置为“1”。
  · 把IE或IE2 SFR中相应的各中断位设置为“1”。

  3个SFR用于使能各种中断并设置其优先级。这些SFR位的意义示于表5~表7中。应该注意,IE和IP SFR是位可寻址的,而IE2仅是字节可寻址的。

表5  中断使能(IE)SFR位的说明

  (1)  中断使能寄存器IE
  IE寄存器使能中断系统和7个中断源。
  SFR地址:A8H
  SFR上电缺省值:00H
  位可寻址:是

 

  (2)  中断使能寄存器IE2
  IE2寄存器使能另外两个中断源。
  SFR地址:A9H
  SFR上电缺省值:00H
  位可寻址:无

 

表6  中断使能2(IE2)SFR位说明

  (3)  中断优先级寄存器IP
  IP寄存器为各种中断源设置两种主优先级之一。把相应的位设置为“1”,可把中断偏置为高优先级;设置为“0”则把中断偏置为低优先级。

表7  中断优先级(IP)SFR位的说明

  SFR地址:B8H
  SFR上电缺省值:00H
  位可寻址:是

 

二、 模数转换器(ADC)和数模转换器(DAC)

  ADμC812除了其单片机内核外,还集成了一个8通道12位模数转换器ADC和两个12位的DAC,这使用户数据采集系统的开发非常方便。

1. ADC及其应用

  ADC转换块包含了8通道、12位、单电源A/D转换器。此模块为用户提供多通道多路转换器、跟踪/保持、片内基准、误差校准。此模块内的所有部件能方便地通过3个寄存器SFR来设置。

  A/D转换器由基于电容DAC的常规逐次逼近转换器组成。转换器接收的模拟输入范围为0~+VREF。片内提供高精度、低漂移并经工厂校准的2.5V基准电压。内部基准可经外部VREF引脚过驱动。外部基准可在2.3V~AVDD范围内。

  ADμC812装有工厂编程的校准系数,在上电时自动下载到ADC,以确保最佳的ADC性能。ADC核包括内部失调和增益校准寄存器,所提供的软件校准子程序可允许用户在需要时重写工厂编程的校准系数,以便使用户目标系统中端点误差的影响为最小。

  来自片内温度传感器的电压输出正比于绝对温度,它可通过前端ADC多路转换器(实际上是第9个ADC通道输入)传送,这方便了温度传感器的实现。

  ADμC812的ADC有三种工作模式:第一,用软件或通过把转换信号加至外部引脚23(CONVST)来启动单步或连续转换模式;第二,用定时器2来产生用于ADC转换的重复触发信号;第三,配置ADC工作于DMA模式。在DMA模式下,ADC块连续转换并把采样值捕获到RAM空间而不需来自MCU核的任何干预。这种自动捕获功能可以扩展到16MB外部数据存储器空间,实现快速ADC转换。这三种工作模式可以由3个SFR ADCCON1/ADCCON2/ADCCON3来设置。

2. DAC及其工作原理

  ADμC812组合了两个片内12位的DAC,其工作通过单个特殊功能控制寄存器 DACCON和4个特殊功能数据寄存器DAC0L/DAC1L DAC0H/DAC1H来控制。一旦在这些寄存器中写入相应的数据,就可以启动DAC。在正常工作模式下,当写低DAC半字节(DACxL)SFR时,每一个DAC被更新。使用DACCON SFR中的SYNC位可同时更新两个DAC。

结束语

  本文介绍了单片数据采集系统芯片ADμC812的原理及其结构。这样高度集成的芯片大大简化了仪器设计。它所集成的模数转换器(ADC)具有12位的精度,8个通道,能够满足一般的数据采集系统的要求。其12位的数模转换器(DAC)还可用于某些控制,尤其适用于微型仪器的设计。


欢迎进入老古论坛进行讨论
[嵌入式系统] 相关文章:
单片机单总线技术
简介:
简介 美国Dallas公司近年推出的单总线技术及相应的集成芯片,用单片机可以组建成单总线技术的应用系统。文中具体说明了系统的硬、软件组成特点,介绍了一些典型器件,并列举了在自动测控系统中的实际应用情况。相对于传统的方案,单片机单总线技术具有突出的技术优势和更高的性能价格比。 关键词 单片机 单总线 测控技术 引言   计算机用于测控系统时,测控对象与计算机之间的信息交换是通过总线进行的。不管是通用的并行、串行总线,还是专用总线,其传送数据的信号线总是多根的。最简单的RS-232串行总线也有两根信号线,且只能通向一路被测或被控对象,否则要用下位机扩展。这样,当遇......

广义平台与平台模式
我国单片机15年
嵌入式计算机系统的展望
模拟比较器的应用(三)
片上系统设计与EDA
便携打印机低温性能的实现
101/102键盘信号分析与键盘接口的设计实现
利用单片机产生高压锯齿波和系统抗干扰设计
Temic-RF卡读写器的设计
 
下一个:[嵌入式系统]DeviceNet技术及其产品开发
简介:
简介 DeviceNet是应用日益广泛的一种底层设备现场总线技术,目前有包括罗克韦尔自动化等300多家自动化设备厂商的产品支持这种协议,在欧美和日本的现场总线市场占有很大的份额。本文着重介绍DeviceNet的技术标准和规范产品,分析基于CAN总线的DeviceNet协议及其软硬件实现。另外,还介绍了DeviceNet兼容产品的开发方法。 关键词 DeviceNet CAN 现场总线 Rockwell Automation ODVA 引言   现场总线基于数字化信号。它将使一些控制功能下移到现场设备,......
 

上一个:[嵌入式系统]TOPSwitch-FX系列单片开关电源原理

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:10分钟 执行时间:16毫秒