ADC

来自Jack's Lab
跳转到: 导航, 搜索

目录

1 Overview

AD/DA 芯片几乎被模拟巨头 ADI 垄断了。当年因为Wassenaar Arrangement,美国要求最高端的技术要禁售给中国。

ADI 有好几百款芯片在禁售单上。其10bit 100MSPS以上的 ADC 芯片都是禁售的,甚至连 AD/DA 研发部门都罕有华人


2 MCP3421

  • 18 bit ADC in a SOT-23-6 package, I²C interface
  • Self calibration of internal offset and Gain per each Conversion
  • On-board Voltage Reference: 2.048V +-0.05%, 5ppm/C
  • On-board PGA (Programmable Gain Amplifier): x1, x2, x4, x8
  • Programmable Data Rate Options:
    • 3.75 SPS (18bit)
    • 15 SPS (16bits)
    • 60 SPS (14bits)
    • 240 SPS (12bits)
  • Low current consumption: 145 uA (Continuous Conversion) or 39 uA (One-Shot Conversion with 1 SPS)
  • 2.7V to 5.5V power supply
  • -40 - 125 C


Mcp3421-app.png

2.1 General Call

Datasheet 之 5.4 General Call 。参考 I2C 总线精要

广播方式,当发出 0x00 的地址信 息后,所有 I2C 上的 Slave 设备都要对此作出反应,此机制适合用在 Master 要对所有的 Slave 进行广播性讯息更新与沟通上,是一种总体、批次的运作方式。


MCP3421 Datasheet



2.2 PGA

可编程运放, 支持 x1, x2, x4, x8 信号放大


3 CS53L30

System Features
  • Native (no PLL required) support for 6-/12-MHz, 6.144-/12.288-MHz, 5.6448-/11.2896-MHz, or 19.2-MHz master clock rates and 8- to 48-kHz audio sample rates
  • Master or Slave Mode. Clock dividers can be used to generate common audio clocks from single-master clock input.
  • Low power consumption
  • Less than 4.5-mW stereo (16 kHz) analog mic record
  • Less than 2.5-mW mono (8 kHz) analog mic record
  • Selectable mic bias and digital interface logic voltages
  • High-speed (400-kHz) I²C control port

https://www.cirrus.com/en/pubs/proDatasheet/CS53L30_F2.pdf



4 ADAS1000



4.1 ADS7844

ADS7688.png



4.2 ADS7688



5 MAX1348


6 MCU ADC

6.1 Atmega328

8-channel 10-bit ADC in TQFP and QFN/MLF package

6.1.1 检测电池电压

用内部 1.1V 基准电压源:

analogReference(INTERNAL);use internal 1.1V as Avref 
//analogReference(DEFAULT);  use AVcc as AVref

VBAT 接 0.1% 300K - 100K - GND,ADC 脚接两个电阻之间,测量 100K 电阻两端电压。。。


或者选择内部 1.1V 作为 Vref,AREF 脚作为 Vin,反推 Vin:

 ADC = Vin/Vref * 2^n, n = 10 in 328p
#include "Arduino.h"

#if defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
#define ADMUX_VCCWRT1V1 (_BV(REFS0) | _BV(MUX4) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1))
#elif defined (__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__)
#define ADMUX_VCCWRT1V1 (_BV(MUX5) | _BV(MUX0))
#elif defined (__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__)
#define ADMUX_VCCWRT1V1 (_BV(MUX3) | _BV(MUX2))
#else
#define ADMUX_VCCWRT1V1 (_BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1))
#endif
float Read_Volts(void)
{
  // Read 1.1V reference against AVcc
  // set the reference to Vcc and the measurement to the internal 1.1V reference
  if (ADMUX != ADMUX_VCCWRT1V1)
  {
    ADMUX = ADMUX_VCCWRT1V1;

    // Bandgap reference start-up time: max 70us
    // Wait for Vref to settle.
    delayMicroseconds(350); 
  }
  
  // Start conversion and wait for it to finish.
  ADCSRA |= _BV(ADSC);
  while (bit_is_set(ADCSRA,ADSC)) {};
    
  // Result is now stored in ADC.
  
  // Calculate Vcc (in V)
  float vcc = 1.1*1024.0 / ADC;

  return vcc;
}

328p-admux.png

328p-admux2.png

其中REFS1和REFS0用于设置Vref,这里应该配置为01对应Vcc口


328p-admux3.png

MUX3…0用于选择ADC的输入Vin,这里应配置为内部1.1v对应的1110



6.2 NXP LPC4370

  • 80 Msps, 12-bit ADC
  • Cortex M4 @ 204 MHz
  • Cortex M0 x2
  • 480 Mbps USB (PHY), 100 Mbps Ethernet (MAC)
  • BGA

6.3 TI

TMS320F2823x, TMS320F2833x

  • 12.5 Msps, 12-bit ADC
  • CPU 100 MHz, 150 MHz
  • BGA, QFP


MSP430FR603X, MSP430FR604X

  • 8 Msps, 12-bit ADC
  • MSP430 @ 16 MHz
  • QFP


6.4 STM32H7

  • 5 Msps, 12-bit ADC x1
  • 3.6 Msps, 16-bit ADC x2
  • 7.2 Msps with 2x interleaving
  • Cortex M7 @ 280 MHz, 480 MHz, 550 MHz
  • 480 Mbps USB (ULPI), 100 Mbps Ethernet (MAC)
  • BGA, WLCSP, QFP


6.5 STM32F303

  • 5 Msps, 12-bit ADC x4
  • 18 Msps with 4x interleaving
  • Cortex M4 @ 72 MHz
  • BGA, WLCSP, QFP

6.6 STM32F7

  • 2.4 Msps, 12-bit ADC x3
  • 7.2 Msps with 3x interleaving
  • Cortex M7 @ 216 MHz
  • 480 Mbps USB (ULPI or PHY), 100 Mbps Ethernet (MAC)
  • BGA, WLCSP, QFP


6.7 Microchip PIC32MK

  • 3.75 Msps, 12-bit ADC up to 7x
  • 15 Msps with 4x interleaving
  • 20 Msps with 6x interleaving on PIC32MKxxMCxx
  • 25.45 Msps aggregated data rate for 7 ADCs
  • MIPS32 microAptiv @ 120 MHz
  • 12 Mbps USB
  • QFN, TQFP



PIC32MZ EF & PIC32MZ DA

  • 3.125 Msps, 12-bit x5 (+ 1 shared ADC)
  • 12.5 Msps with 4x interleaving
  • 18 Msps aggregated data rate for 6 ADCs, but likely impractical.
  • MIPS32 microAptiv @ 200 MHz
  • Interfaces: 480 Mbps USB (PHY), 100 Mbps Ethernet (MAC)
  • BGA, QFN, QFP

ADC is defective on PIC32MZ EC, use PIC32MZ EF or DA instead!


6.8 ADI ADSP-CM4xx

  • 2.63 Msps, 16-bit ADC x2
  • 5.26 Msps with 2x interleaving
  • 12 or 14 ENOB, depending on models
  • Cortex M4 @ 150 MHz, 240 MHz
  • 12 Mbps USB, 100 Mbps Ethernet
  • BGA, QFP


7 参考






个人工具
名字空间

变换
操作
导航
工具箱