基于AD7819的ad测试板设计(附原理图和源代码)
基于AD7981数据采集电路设计中文
AuAl IMC VOIDING
图6. 195°C时500小时后铝垫上的金球焊
为了避免失效,ADI公司利用焊盘金属化(OPM)工艺产生一个金焊垫表面以供金焊线连接。
这种单金属系统不会形成金属间化合物,经过195°C、6000小时的浸泡式认证测
Au BALL BOND
OPM LAYERS
图7. 195°C时6000小时后OPM垫上的金球焊
虽然ADI公司已证明焊接在195°C时仍然可靠,但受限于塑封材料的玻璃转化温度,塑料封装的额定最高工作温度仅为175°C。
图8. 1 kHz输入信号音、580 kSPS、25°C时的交流性能
当温度升高至175°C时,SNR性能仅降低至约84 dB,如图所示。
THD仍然优于−100 dB,如图10所示。
本电路在175°C 时的FFT摘要如图11所示。
86.5
图11. 1 kHz输入信号音、580 kSPS、175°C时的交流性能
图13. EV AL-CN0365-PMDZ电路板的照片。
实验4-使用Altium-Designer绘制电路原理图(上机)
实验4 使用Altium Designer绘制电路原理图一、实验目的1、熟悉Altium Designer的软件使用界面2、掌握Altium Designer的原理图绘制流程及方法二、实验原理机器狗控制板的前端电路是主要由多个三极管构成的触发脉冲产生电路,如图4-1所示。
咪头S1采集声音信号,经电容C1耦合送入由三极管Q1与电阻R1、R2、R5组成的单管共射放大电路,声音信号经放大电路放大后再经电容C2耦合作为三极管Q2的基极控制电压。
如果控制电压足够大,则Q2管发射结导通,Q2管处于饱和状态,集电极电压为低电平,经接头P2的1脚送出去触发后端的单稳态触发器;如果控制电压不够大,Q2管发射结不导通,Q2管处于截止状态,集电极电压为高电平,将无法触发单稳态触发器。
图4-1 机器狗控制板前端电路原理图接头P2的2脚接单稳态触发器的输出端。
当单稳态触发器被触发了,则该端接高电平,经二极管D2给电容C3充电,当C3两端电压足够高了,这三极管Q3导通,将Q2的基极电位强制拉回到低电平,Q2截止,为下一次触发做准备。
但Q3导通后,电容C3放电,C3两端电压下降到一定值后,Q3截止。
通过D2、C3和Q3组成的反馈控制,使得单稳态触发器可以被多次重复触发。
三、实验条件及设备1、计算机2、EDA设计软件Altium Designer 13四、实验容与操作步骤绘制电路原理图步骤见图4-2。
步骤1.创建PCB 设计项目(*.PrjPCB)启动Altium Designer,创建PCB 设计项目:Cat.PrjPCB 。
步骤2.创建原理图文件在AD 初步.PrjPCB 项目下,执行选单命令【File 】/【New 】/【Schematic 】,创建原理图文件,并另存为“AD 初步.SchDoc ”。
这里应注意的是做项目的思想,尽量把一个工程的文件另存为到同一文件夹下,方便以后的管理。
进入原理图编辑器后,设计者可以通过浏览的方式熟悉环境、各菜单命令。
基亏A/D转换器ADS7813的信号采集系统设计
A / D , 内部 时钟 电路 , 内部基 准产 生 电路 入 。 由于从 开始 启动 到 丽 上升 后 的时 间 本 系 统 的A / D 芯 片 可 以处 理 0 ~l 0 V : 内, 转 换器 对 外 部干 扰 会 很 敏 感 …,强 的 电压 信 号 , R 和 串行 数 据 接 口 电路 等 , 同 时 ,该 A / 9 转 t 1 接 班B U F ,R 2 接G N D , 换器 可 以配 置 为 多种 输入 电压 范 围,包 括 烈推 荐 从瓦 丽 使用 1 0 0 n s 的脉冲 进 行 启动 3 Ⅲ 接 。A D S 7 8 1 3 的R E F 输 出2 . 5 V 内部 ±I O V , ±5 V,O V ~1 0 V ,0 . 5 V ~4 . 5 V 。灵 转换 。 图1 所示 为 基本 的转 换时 间 。 参 考 电压 或 者 作 为 外 部 输 入 参 考 。 同 时 活 的兼容 性 Q S P I 串行 通信 可 以通 过 内部 或 2 . 2 . 2 读 取转换 结 果 R E F 引脚 需 要 接一 个 l u F  ̄2 . 2 u F 的钽 电容 者外 部 时钟 将 数据 同步输 出。 具体 归纳 起 对 于 使用 外 部 时钟 的转 换 电路 来 说 , 到 模 拟 地 上 , 并 且 该 电 容 应 该 尽 可 能 地 来A D S 7 8 1 3 具 有 如 下特 性 : ( 1 ) 最 大转 换 第 n 次 的转 换 结 果 可 以在 本 次 转换 完 成 后 靠 近A D S 7 8 1 3 芯 片 。C A P 脚 用 来 补 偿 内部 时间2 0 u s ;( 2 ) 单 电源+ 5 V 供 电; ( 3 ) 引脚 与 到 下一 次转 换 开始 前 这 段时 间输 出, 也可 相 关脉 冲 ,需 要 接 一个 l u F 钽 电容 和 一个 1 2 位 的A D S 7 8 1 2 完 全 兼容 ; ( 4 ) 易于 使用 的 以在第 n + 1 次 转 换 过 程 中输 出 , 或者 是 在 0 . 0 1 u F 的 陶 瓷 电容到模 拟 地 ,钽 电容 和 陶 串行数 据接 口; ( 5 ) 最 大积分 和微 分非 线性 本 次转 换完 成 后和 下 一 次转 换过 程 中段 续 瓷 电容 并联 相接 ,且 陶 电容应 当尽 量 靠近 输 出。 A D S 7 8 1 3 芯 片 。 电容总 量对 于A D S 7 8 1 3 的工 对 于 一 般 应 用 场 合 , 每 个 输 出 位 在 作 至 关重 要 , 该 电容 大 于 2 . 0 u F 将超 出其 D A T A C L K 的下 降沿 都是 无 效 的 ,但 某 些 情 缓冲 能力 ,小 于 0 . 5 u F 可 能会 提 供 不 了足 况 下 ,输 出位 在 D A T A C L K 的 上 升沿 是有 效 够 的补 偿 ,影 响其 输 出正 确 的数字 量 。本 的 ,但 是 需要 加 一个 额 外 的时钟 周 期为 最 系统 在 设计 电路 板 时将 数 字 电路 的地 和模 后 一位 服 务 。且 这个 额 外 的D A T A C L K 信 号 拟 电路 的地 用光 耦 隔离 ,电源 用专 用 的 电 必须 为低 电平 或 者西 必须 在 丽 上 升 前为 源 隔离 芯片 ,从 而 防止 单 片机 及其 他 高速 高 电平 。 数 字 电路 对 模 拟 地 产 生 影 响 , 进 而 影 响 如 果 该 时间 内该条 件未 能得 到 遵 守 , A 9 S 7 8 1 3 的 处 理结 果 。在采 用 恒 压源 加 载 A D S 7 8 1 3 的移 位 寄存 器 将 不 会 被转 换 结 果 在 多路 选 择 器 上 的条 件 下 ,A D S 7 8 1 3 的实 更新 ,前一 个 移位 寄 存器 的 内容 将 保持 不 测精度 可 以达到 l 5 位。 变 ,转换 的新 结果 将丢 失 。 系 统 的核 心 处 理 器采 用 8 位 高速 单 片 串行 传 送 转 换 结果 由D A T A C L K 的上 升 机P I C 1 6 F 8 7 7 A , 由于 A D S 7 8 l 3 的 串行通 信 沿 触 发 。数 据 以 l 6 位 , 二进 制 的补 码 的格 Q S P I 是 一种 兼 容性 的 串行通 信 ,所 以不能 式输 出 。 直接 与 单 片 机 的S P I 串 口进 行通 信 ,本 系
AD测试原理图和程序
* 名称 : Main()
* 功能 : 主函数
***************************************************************/
void Main(void)
{
uchar Key_Value = 16, Key_Temp1, Key_Temp2; //两次读出的键值
Eg1:
参考程序:
#include<reg52.h> //52 单片机头文件 #include <intrins.h> //包含有左右循环移位子函数的库
unsigned char number; //宏定义
sbit p2_6=P2^6;
//数码管段选锁存端
sbit p2_7=P2^7;
////数码管位选锁存端
* 功能: 将参数分成十位、个位分别显示
* 输入: k (键盘数值)
* 输出: P0 口输出七段码,P2 口输出位选码
***************************************************************/
void Display(uchar k)
{
P2 = 0;
* 输出: 按键值 0~15/如无键按下, 返回 16
***************************************************************/
uchar Keyscan(void)
{
uchar i, j, temp, Buffer[4] = {0xef, 0xdf, 0xbf, 0x7f};
uint i;
uchar j;
for(i = 0; i < x; i++) for(j = 0; j <= 148; j++);
实验8 AD采样控制电路设计
一、实验目的
1、了解一般状态机的设计方法和状态机在VHDL语言中应用。
2、学习利用状态机来实现A/D转换器ADC089的采样控制。
二、实验原理
ADC0809为单极性、8位转换精度、逐次逼进式A/D转换器,其采样速度为每次转换约100μs。
它的各引脚功能和工作时序如图8.1所示。有8个模拟信号输入通道IN0~IN7,由ADDA ADDB和ADDC (ADDC)为最高位作为此8路通道选择地址,在转换开始前,由地址锁存允许信号ALE将此3
SIGNAL REG8B:STD_LOGIC_VECTOR(7 DOWNTO 0);
SIGNAL LOCK:STD_LOGIC;
BEGIN
ADDA<='1';
PRO:PROCESS(CURRENT_STATE,EOC)
BEGIN
CASE CURRENT_STATE IS
WHEN ST0=>QQ<=0;ALE<='0';START<='0';OE<='0';LOCK<='0';
QQ:OUT INTEGER RANGE 0 TO 7);
END ADC_STATE;
ARCHITECTURE BEHAV OF ADC_sTATE IS
TYPE STATES IS(ST0,ST1,ST2,ST3,ST4,ST5,ST6,ST7);
SIGNAL CURRENT_STATE,NEXT_STATE:STATES:=ST0;
Q<=REG8B;
END BEHAV;
NEXT_STATE<=ST1;
ADC0809模块制作
基于51的ADC0809的AD转换模块一.模块介绍:本模块用ADC0809采集模拟信号后在LCD1602上显示数字量1.ADC0809芯片的引脚介绍电源地引脚:GND,VCC输入引脚:IN0~IN7:模拟量8通道的输入VREF+,VREF-:正负参考电压输入输出引脚:D0~D7:数字量8位输出(和单片机连接时注意D0为最高位)通道选择引脚:CBA: 对应二进制为所选输入通道(如:000 为通道0)ALE: Address latch enable. Input to latch in the digital address(ADDR2–0) on the rising edge of the multiplexer.(通道使能:上升沿使能)控制引脚:ST: Start of conversion. Active high digital input pulse initiatesconversion.(开始转换信号,输入高电平脉冲有效)EOC:End of conversion. This output goes low after a START pulse occurs,stays low for the entire A/D conversion, and goes high afterconversion is completed. Data on DB0–DB7 is valid on rising edgeof EOC and stays valid until next EOC rising edge.(转换结束信号,转换开始时拉低,拉高后转换结束)OE:Output enable input.When OE = 1,DB0–DB7 active outputs.(置高时输出使能)CLK:Clock. Clock input provides timing for A/D converter, S/H, and digitalInterface. (转换时钟信号,范围100KHZ~1024KHZ)2.LCD1602引脚介绍:电源地引脚:VDD,A(背光电源) Vss,K(背光地)VO: 接一电位器分压来调节LCD亮度输入引脚:DB0~DB7 在控制引脚的情况下输出数据或指令控制引脚:RS: 数据命令选择(H~数据L~命令)R/W:读写选择(H~读L~写)二.仿真分析:1.仿真图:D7D6D5D4D3D2D1D0D0D1D2D3D4D5D6D7C2OEST ST C3EOC C1C3C2C1STEOC CLK OE CLK XTAL218XTAL119ALE 30EA31PSEN 29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51OUT121ADD B 24ADD A 25ADD C 23VREF(+)12VREF(-)16IN31IN42IN53IN64IN75START 6OUT58EOC 7OE9CLOCK 10OUT220OUT714OUT615OUT817OUT418OUT319IN228IN127IN026ALE 22U3ADC08094%RV11000k 234567891RP1D 714D 613D 512D 411D 310D 29D 18D 07E 6R W 5R S 4V S S 1V D D 2V E E3LCD1LM016LVCC V=5U3(IN0)V=0.208798D 714D 613D 512D 411D 310D 29D 18D 07E 6R W 5R S 4V S S 1V D D 2V E E3LCD1LM016LC34%RV11000k U3(IN0)V=0.2087982.数据记录:Vin(V) 3.67734 2.49999 4.68766 5.0 0.208798 V out(V) 3.6848 2.4892 4.6844 4.9980 0.2156 误差+0.2%-0.4%-0.06%-0.04%3.257%3.数据分析:由表中可知:仿真数据精度满足要求!三.硬件制作: 1.PCB 原理图:2.PCB图:121921031141251361471581612345678910111314151612123111314212019181615282726123456*********25242322123412341234567812312341514131211109876543211612111098765432112321123456789101112131415163.实物图:ADC0809LCD16024.测试方法:将板上参考电压分压后的电压ref(如图中)接入IN0~IN7中的一个通道,连接好其他的各数据接口后,调节电位器,将在LCD1602上看到相应的电压值,并用电压表测出ref的电压记录后可得到精确度!(注意给ADC0809提供的电源电压要求是稳定直流电压,其中芯片参考电压加接了一个跳帽用来接VCC或外部稳定直流电压)四.软件分析:源代码:文件1:AD0809.c头文件:#include <reg52.h>#include "1602.h" //自己编写的头文件宏定义:sbit OE = P1^0;sbit EOC = P1^1;sbit START = P1^2;sbit CLK = P1^3; //ADC0809控制端口sbit AD_A = P1^4;sbit AD_B = P1^5;sbit AD_C = P1^6;sbit ALE = P1^2; //ADC0809通道选择#define Data_OUT P3 //ADC0809数据输出全局变量:long int dat; //AD数据输出量long int result; //AD数据转换后的量long int a[5]; //转换量存入数组unsigned char *b = {"0123456789"};//1602显示字符函数接口:1.adc转换函数接口:void adc0809(){AD_A = 0;AD_B = 0;AD_C = 0; //选好通道0START = 0;OE = 0;START = 1;START = 0; //开始数模转化while(EOC == 0); //等待转化结束OE = 1; //数据输出使能dat = Data_OUT;DelayMs(10); //延时等待输出转换结果OE = 0;result = dat*196; //模拟转换为数字量,每位数字约为Vref/255 = 0.0196,此处Vref为5V}2.1602显示函数接口:void display(int a[]){int i;a[0] = result/10000;a[1] = result%10000/1000;a[2] = result%1000/100;a[3] = result%100/10;a[4] = result%10; //将数字量存入数组a中LCD_Init(); //LCD1602初始化LCD_Write_String(0,0,"volit:");LCD_Write_Char(12,0,'V');LCD_Write_Char(7,0,'.');LCD_Write_Char(6,0,b[a[0]]);for(i=0; i<4; i++){LCD_Write_Char(8+i,0,b[a[i+1]]);}//写入要显示的数据及提示信息}3.主函数:void main(){SCON=0x50;TMOD=0x01; //定时器0工作于方式一TH0=(65536-2)/256;TL0=(65536-2)%256;//初始化T0的计数寄存器,2uss溢出申请中断//定时器中断,提供AD转换的时钟源EA=1; //打开总中断ET0=1; //打开定时器零中断TR0=1; //暂不启动T0while(1){adc0809();DelayMs(150); //每150ms转换更新一次display(a); //显示转换结果}}4.中断函数:(为AD提供时钟信号)void t0(void) interrupt 1{TH0=0xff;TL0=(65536-2)%256; //重装定时器中断值CLK=~CLK; //电平反向得到时钟脉冲}//AD时钟频率范围100khz~1024khz文件2:1602.h //1602头文件void DelayUs2x(unsigned char t); //延时~ T=2*t + 5us void DelayMs(unsigned char t); //延时tMsbit LCD_Check_Busy(void); //判断忙void LCD_Write_Com(unsigned char com); //写命令void LCD_Write_Data(unsigned char Data); //写数据void LCD_Clear(void); //清屏void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s); //在坐标(x,y)处写字符void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data); //从坐标(x,y)处开始写字符串void LCD_Init(void); //初始化文件3:1602.c头文件及宏定义:#include <reg52.h>sbit RS = P2^0; //数据(1)命令(0)选择位sbit RW = P2^1; //读(1)写(0)选择位sbit EN = P2^2; //使能信号(高有效)#define DATA_IN P0 //数据接口函数接口:1.延时函数接口(两个)void DelayUs2x(unsigned char t){while(--t);} //延时约为2*t+5usvoid DelayMs(unsigned char t){while(t--){DelayUs2x(245);DelayUs2x(245);}}2.1602函数接口判断忙函数:(函数返回值为bit )bit LCD_Check_Busy(void){DATA_IN = 0XFF;RS = 0;RW = 1;EN = 0; //读(1)命令(0)DelayUs2x(1); //等待加载数据EN = 1; //拉高加载数据return (bit)(DATA_IN & 0X80);}写命令函数:void LCD_Write_Com(unsigned char com)while(LCD_Check_Busy()); //判断忙RS = 0;DATA_IN = com;RW = 0;EN = 0; //写(0)命令(0)DelayUs2x(1); //等待加载数据EN = 1; //拉高加载数据}写数据函数:void LCD_Write_Data(unsigned char Data) {while(LCD_Check_Busy()); //判断忙RS = 1;DATA_IN = Data;RW = 0;EN = 0; //写(0)数据(1)DelayUs2x(1); //等待加载数据EN = 1; //拉高加载数据}清屏函数:void LCD_Clear(void)LCD_Write_Com(0x01);DelayMs(5); //等待清屏完成}写字符串函数:void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s){if (y == 0){LCD_Write_Com(0x80 + x);}else{LCD_Write_Com(0xC0 + x);}while (*s){LCD_Write_Data( *s);s ++;}}写字符函数:void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data){if (y == 0){LCD_Write_Com(0x80 + x);}else{LCD_Write_Com(0xC0 + x);}LCD_Write_Data( Data);}初始化函数:void LCD_Init(void){LCD_Write_Com(0x38); /*显示模式设置*/LCD_Write_Com(0x08); /*显示关闭*/LCD_Clear(); /*显示清屏*/LCD_Write_Com(0x06); /*显示光标移动设置*/LCD_Write_Com(0x0C); /*显示开及光标设置*/}。
积分AD转换器7109及数字电压表的工作原理
积分A/D转换器7109及数字电压表的工作原理直流电压表的设计一、实验目的1. 理解双积分A/D转换器7109及数字电压表的工作原理。
2. 掌握直流电压表的界面设计和软件设计。
3.测量数据的误差分析。
二、实验任务和内容1. 设计一个直流电压表,设计要求为(1)测量量程分为200mV、400mV、800mV、2V、4V、8V;(2)测量分辩率为12bit;(3)测量对象可选择为可调电位器的输出或外部电压2. 设计完成后,用电压表不同量程进行测量,求相对误差。
三、实验器材1. 计算机(具有运行windows2000和图形化控件的能力) 1台2. SJ-8002B电子测量实验箱1台3. Q9连接线1根4. 4 1/2数字万用表1台四、实验原理1、直流电压表原理直流电压表的测量原理是,被测模拟直流电压经输入放大后,经A/D转换器为数字量,通过计算机的EPP接口传到计算机进行数据处理,将测量结果显示在计算机屏幕上。
本实验使用“SJ8002B电子测量实验箱”的双积分A/D转换器7109完成直流电压的数字化转换,采样PC 机的虚拟仪器软件平台(LabVIEW)完成界面设计和软件设计,实现直流电压的数字化测量。
测量原理如图1所示图1 直流电压测量原理框图4.2 A/D7109的接口工作原理本实验双积分A/D转换器ICL7109实验电路图。
图2 双积分式A/D转换器7109测量电压原理图ICL 7109 是双积分式12 位A/D转换器,转换时间由外部时钟周期决定,为10140/58个时钟周期。
其主要引脚定义如下:① B1~B12:12bit的数据输出端②OR:溢出判别,输出高电平表示过量程;反之,数据有效。
③POL:极性判别,输出高电平表示测量值为正值;反之,负值。
④MODE:方式选择,当输入低电平信号时,转换器处于直接输出工作方式。
此时可在片选和字节使能的控制下直接读取数据;当输入高电平时,转换器将在信号信号握手方式的每一转换周期的结尾输出数据(本实验选用直接输出工作方式)。
AltiumDesigner09电路原理图设计
AltiumDesigner09电路原理图设计第一讲PCB(Printed Circuit Board)板概述1.1印制电路板的基础知识在绝缘基材上,按预定设计形成的印制元件、印制线路(Printed Wiring)或两者结合的导电图形称为印制电路(Printed circuit);在绝缘基材上提供元器件之间电气连接的导电图形称为印制线路。
印制电路或印制线路的产品板通常不加区别地称为印制电路板(Printed circuit Board)缩写为PCB。
印制电路板的主要功能是支撑电路元器件和互连电路元器件,即支撑和互连两大作用。
1.2印制电路板设计流程1、电路原理图设计2、网络表的生成3、PCB电路板设计印刷电路板的总体设计流程原理图设计流程印刷电路版设计流程1.3 Altium Designer09电路设计系统1、Altium Designer09功能与特点Altium Designer 6是一个强大的一体化电子产品开发系统,Altium Designer 6将设计流程、集成化PCB 设计、可编程器件FPGA 等设计和基于处理器设计的嵌入式软件开发功能整合在一起。
与Protel DXP版本相比,Altium Designer 6新增了很多当前用户较为关心的PCB设计功能,如支持中文字体、总线布线、差分对布线等,并增强了推挤布线的功能,这些更新极大地增强了对高密板设计的支持。
2 、Protel DXP Altium Designer主要特点1 、通过设计档包的方式,将原理图编辑、电路仿真、PCB 设计及打印这些功能有机地结合在一起,提供了一个集成开发环境。
2 、提供了混合电路仿真功能,为设计实验原理图电路中某些功能模块的正确与否提供了方便。
3 、提供了丰富的原理图组件库和PCB 封装库,并且为设计新的器件提供了封装向导程序,简化了封装设计过程。
4 、提供了层次原理图设计方法,支持“自上向下”的设计思想,使大型电路设计的工作组开发方式成为可能。
AD电路原理图设计ppt课件
.
2.2.3 原理图编辑画面管理
. ➢ 1 使用菜单或快捷键
2. 使用标准工具栏按钮
适合所有对象 :该按钮与菜单中【适合所有对象】命令功能相同。
缩放区域 :该按钮与菜单中【区域】命令相同。
缩放选择对象 :该按钮与菜单中【被选中的对象】命令功能
3. 使用鼠标滚轮
按照前面在【Mouse Wheel Configuration】标签页中的设置,按住Ctrl键的 同时,滚动鼠标滚轮,即可以放大或缩小原理图,或者,在窗口中按住鼠标滚 轮并拖动,也可以进行放大或缩小。此外,按住鼠标右键并拖动,在编辑窗口 内可以随意移动原理图。
.
3. 查找元件并加载元件库
2.3 元件的放置
原理图的绘制中,需要完成的关键操作是如何将各种元件的原理 图符号进行合理放置。在Altium Designer系统中提供了两种放置 元件的方法,一种是利用菜单命令或工具栏,另一种是使用 【库…】面板。
.
2.3.1 使用实用工具栏或菜单命令放置元件
.
2.3.2 使用元件库管理器放置元件
.
2.6.5 放置总线入口
(1)执行【放置】/【总线入口】命令,光标变为十字型,并带有总线入口“/”或“\”。 (2)按空格键调整总线入口的方向,移动光标到需要的位置处(总线与导线之间),连续 单击鼠标,即可完成总线入口的放置。 (3)双击所放置的导线入口(或在绘制状态下,按Tab键),弹出【总线入口】对话框。 (4)单击鼠标右键或按Esc键退出放置状态。
.
2.6.4 绘制总线
(1)执行【放置】/【总线】命令,光标变为十字型,移动光标到欲放置总线的起点位置, 单击鼠标,确定总线的起点,然后拖动鼠标绘制总线。 (2)在每个拐点都单击鼠标确认,用Shift+空格键可切换选择拐弯模式。到达适当位置后, 再次单击鼠标确定总线的终点,完成总线绘制。 (3)双击所绘制的总线(或在绘制状态下,按Tab键),将打开【总线】对话框,可进行 相应的属性设置。 (4)单击鼠标右键或按Esc键退出总线绘制状态。
项目设计及测试7
项目设计与测试7:单片机控制ADC0809模块输入并显示
一、实验目的:加强单片机与8位并行A/D转换器的接口技术及应用编程能力的掌握。
二、实验内容:
●基本功能:正确连接单片机开发板和ADC0809芯片构成的AD转换模块,并编写AD转
换程序,通过调整AD模块上的电位器,单片机开发板通过2位数码管以十六进制数值显示转换结果。
●发挥部分:调整AD模块上的电位器,单片机开发板通过低4位数码管以十进制数显示
实际电压值。
(单位mV)
三、具体要求:
按照题目要求编写单片机程序,在集成开发软件Keil C中编译并运行调试,最终生成目标文件,下载到单片机开发板上运行。
最后根据运行结果进行成绩评定。
微机原理 实验五 AD转换实验
实验五 A/D转换实验一、实验目的了解模/数转换基本原理,掌握ADC0809的使用方法;掌握定时数据采集程序的编制方法。
二、实验内容1、A/D转换实验利用实验系统上电位器提供的可调电压作为0809模拟信号的输入,编制程序,将模拟量转换为数字量,通过数码管显示出来。
(1)实验接线图图6-1(2)编程指南ADC0809的START端为A/D转换启动信号,ALE端为通道选择地址的锁存信号,实验电路中将其相连,以便同时锁存通道地址并开始A/D采样转换,其输入控制信号为CS和WR,故启动A/D转换只须如下两条指令:MOV DX,ADPORT ;ADC0809端口地址OUT DX,AL ;发CS和WR信号并送通道地址用延时方式等待A/D转换结果,使用下述指令读取A/D转换结果。
MOV DX,ADPORT ;ADC0809端口地址IN AL,DX循环不断采样A/D转换的结果,边采样边显示A/D转换后的数字量。
(3)实验程序框图(4)实验步骤①将0809 CS4插孔连到译码输出FF80H插孔、连JX6→JX17。
②将通道0模拟量输入端IN0连电位器W1的中心插头AOUT1(0-5V)插孔,8MHZ→T。
③运行实验程序如在PC机和实验系统联机状态下,运行该实验程序,可用鼠标左键单击菜单栏“文件”或工具栏“打开图标”,弹出“打开文件”的对话框,然后打开598K8ASM文件夹,点击H0809.ASM文件,单击“确定”即可装入A/D转换实验源文件,再单击工具栏中编译装载,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“R运行”或工具图标运行,即开始运行程序。
如果在没有PC机的情况下,则在8086K系统显示监控提示符“P.”时,用户段地址固定为0000(省略输入),按SCAL键,输入起始偏移地址1000,按EXEC键,在系统上显示“0809 XX”。
“XX”表示输入模拟量转换后的数字量。
④调节电位器Wl, 显示器上会不断显示新的转换结果。
ad9画电路图须知[要诀]
AD9画电路图须知一、电路版设计的先期工作1、利用原理图设计工具绘制原理图,并且生成对应的网络表。
当然,有些特殊情况下,如电路版比较简单,已经有了网络表等情况下也可以不进行原理图的设计,直接进入PCB设计系统,在PCB设计系统中,可以直接取用零件封装,人工生成网络表。
2、手工更改网络表将一些元件的固定用脚等原理图上没有的焊盘定义到与它相通的网络上,没任何物理连接的可定义到地或保护地等。
将一些原理图和PCB封装库中引脚名称不一致的器件引脚名称改成和PCB封装库中的一致,特别是二、三极管等。
二、画出自己定义的非标准器件的封装库建议将自己所画的器件都放入一个自己建立的PCB 库专用设计文件。
三、设置PCB设计环境和绘制印刷电路的版框含中间的镂空等1、进入PCB系统后的第一步就是设置PCB设计环境,包括设置格点大小和类型,光标类型,版层参数,布线参数等等。
大多数参数都可以用系统默认值,而且这些参数经过设置之后,符合个人的习惯,以后无须再去修改。
2、规划电路版,主要是确定电路版的边框,包括电路版的尺寸大小等等。
在需要放置固定孔的地方放上适当大小的焊盘。
对于3mm 的螺丝可用6.5~8mm 的外径和3.2~3.5mm 内径的焊盘对于标准板可从其它板或PCB izard 中调入。
注意:在绘制电路版地边框前,一定要将当前层设置成Keep Out 层,即禁止布线层。
四、打开所有要用到的PCB 库文件后,调入网络表文件和修改零件封装这一步是非常重要的一个环节,网络表是PCB自动布线的灵魂,也是原理图设计与印象电路版设计的接口,只有将网络表装入后,才能进行电路版的布线。
在原理图设计的过程中,ERC检查不会涉及到零件的封装问题。
因此,原理图设计时,零件的封装可能被遗忘,在引进网络表时可以根据设计情况来修改或补充零件的封装。
当然,可以直接在PCB内人工生成网络表,并且指定零件封装。
五、布置零件封装的位置,也称零件布局Protel99可以进行自动布局,也可以进行手动布局。
AD转换电路设计之高精度AD采集系统
软件
0.001
VSY = ±13V LOAD = 100kΩ GAIN = +1
8V p-p INPUT
设置并测试
从ADI网站的AD7988-1产品页面下载10引脚PulSAR软件,
1V p-p INPUT
THD + NOISE (%)
并使用UG-340用户指南中的安装指南进行安装。其测量配 置的功能框图如图5所示。 将9 V壁式电源连接至评估板电源引脚。若要测量频率响应, 设备应按图5所示进行连接。将Audio Precision SYS-2522信号 发生器设置为1 kHz频率和5 V p-p正弦波,并具有2.5 V直流 漂移。使用评估板软件记录数据。软件分析是评估板软件
REF 3 IN+
VDD
VIO
AD7988-1
ADC
4
SDK 8 SDO 7 CNV 6 3-WIRE INTERFACE
11095-001
49.9Ω VSS = –2.5V
IN–
GND
5
图1. 使用AD8641低功耗放大器驱动AD7988-1 ADC的系统电路图(原理示意图:未显示所有连接)
Rev. A
图2. 使用AD8641放大器驱动AD7988-1的系统电路性能
Rev. A | Page 2 of 4
11095-002
CN-0306
图3显示系统总谐波失真(THD)以及信噪比(SNR)如何随着 输入频率超过~1 kHz而下降。这是由于放大器失真导致的, 可从图 4中的总谐波失真加噪声 (THD+N)与频率的关系曲 线看出。
性能结果
本电路的目的是在最高1 kHz的给定输入频率范围、100 kSPS 的采样速率情况下,以尽可能最低的ADC驱动器功耗水平 提供良好的交流性能。图2显示1 kHz输入信号下的电路性 能 FFT 图。信噪比 (SNR) 为 88.5 dB ,总谐波失真 (THD) 为 −103 dB。相比91 dB的规格,AD7988-1信噪比(SNR)下降的 主要原因是AD8641具有比ADA4841-1的2 nV/√Hz更高的噪 声,为28 nV/√Hz。总系统功耗为7.35 mW,其中:ADC为 0.7 mW,放大器为2 mW,基准电压源为4.65 mW。这说明 相对于ADA4841-1的12 mW,它可降低58%的功耗,总系统 功耗为17.35 mW。
51单片机AD0809电路设计程序+原理图
AD0809在51单片机中的应用我们在做一个单片机系统时,常常会遇到这样那样的数据采集,在这些被采集的数据中,大部分可以通过我们的I/O口扩展接口电路直接得到,由于51单片机大部分不带AD转换器,所以模拟量的采集就必须靠A/D或V/F实现。
下现我们就来了解一下AD0809与51单片机的接口及其程序设计。
1、AD0809的逻辑结构ADC0809是8位逐次逼近型A/D转换器。
它由一个8路模拟开关、一个地址锁存译码器、一个A/D转换器和一个三态输出锁存器组成(见图1)。
多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。
三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。
2、AD0809的工作原理IN0-IN7:8条模拟量输入通道ADC0809对输入模拟量要求:信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。
地址输入和控制线:4条ALE为地址锁存允许输入线,高电平有效。
当ALE线为高电平时,地址锁存与译码器将A, B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。
A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。
通道选择表如下表所示。
C B A 选择的通道0 0 0 IN00 0 1 IN10 1 0 IN20 1 1 IN31 0 0 IN41 0 1 IN51 1 0 IN61 1 1 IN7数字量输出及控制线:11条ST为转换启动信号。
当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。
EOC为转换结束信号。
当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。
OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。
AD9原理图设计1(共72张PPT)
中双击元件名或在选中元件时单 击“Place LM324”按钮,库文 件面板变为透明状态,同时元件 的符号附着在鼠标光标上,跟随 光标移动
© Copyright FJUT 2012
3 原理图设计实例- 放置元件
2.利用库文件面板放置元 件
右键菜单中执行图纸设置选项命令【Document Options...】
4/20/2022
24
© Copyright FJUT 2012
2 原理图编辑器-图纸设计信息
4/20/2022
25
© Copyright FJUT 2012
2 原理图编辑器-绘图单位设置
4/20/2022
26
© Copyright FJUT 2012
(2)将元件移动到图纸的适当位置,单击将元件放置
到该位置
(3)此时系统仍处于元件放置状态,再次单击又 会放置一个相同的元件
(4)单击鼠标右键,或按Esc键即可退出元件放置
状态
© Copyright FJUT 2012
3 原理图设计实例-放置元件
3.常用元器件
电阻:RES 电位器:RPot 二极管:DIODE,数码管:Dpy
常用接插件库
本次课程设计使用的元件库:
© Copyright FJUT 2012
3 原理图设计实例-加载元件库
加载元件库命令在菜单【Design】中
© Copyright FJUT 2012
3 原理图设计实例-加载元件库
(1)执行菜单命令【设计】/ 【添加/移除库(L)...】 弹出元件库加载/卸载元件库对话
5.信号完整性分析
4/20/2022
基于AD7819的ad测试板设计(附原理图和源代码)
制成PCB板子后,直插在黑金FPGA开发板AX309的J3引脚,与FPGA通信。FPGA的主程序如下:
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date: 18:33:57 03/12/2017
// Design Name:
// Module Name: AD_ctrl
// Project Name:
// Target Devices:
// Tool versions:
// Description:
endcase
wire [35:0] CONTROL0;
wire [255:0] TRIG0;
chipscope_icon icon_debug (
.CONTROL0(CONTROL0) // INOUT BUS [35:0]
);
chipscope_ila ila_filter_debug (
.CONTROL(CONTROL0), // INOUT BUS [35:0]
fs = 136000;
N = 1024;
Y = fft(DATA);
P2 = abs(Y/N);
P1 = P2(1:N/2+1);
P1(2:end-1) = 2*P1(2:end-1);
f = fs*(0:(N/2))/N;
dout_db = 20*log10(P1);
plot begin
基于AD转换的简易电阻测试仪设计
基于ADS1255转换的简易电阻测试仪设计摘要电阻是电子产品所必不可少的元件,电阻阻值的测量也是关键。
本设计由24位ADC 转换电路(ADS1255转换电路)、MSP430单片机小系统、电源电路、恒压源电路、继电器换挡电路、显示电路等几个部分组成。
本设计采用MSP430F149单片机与ADC模块结合为核心,输出一个电压值,对被测电阻进行测试和计算;设置4个档位,用键盘进行换挡控制,采用四个不同的精密电阻分别串联一个继电器进行电阻测量的换挡;通过软件编程来实现档位的自动转换,同时进行数据储存;经过LCD显示屏显示出所测得的电阻阻值和档位。
通过设计、仿真与调试,实现了电阻的精确测量。
本设计具有精度高、操作简便、硬件设计简单等优点。
关键词:ADS1255;MSP430F149;电阻测量;继电器The resistance measuring instrument based on ADS1255AbstractResistance is the essential components of electronic products, the resistance value measurement is also key. This design by 24 bits ADC transform circuit (ADS1255 transform circuit), MSP430 microcontroller small system, power supply circuit, constant pressure source circuit, relay shift circuit, show circuit and several other parts. This design USES the MSP430F149 single-chip microcomputer and ADC module combination as the core, output a voltage value, to be measured resistance test and computing; Set up four gear, use the keyboard to shift control, it USES four different precision resistor in series a relay are respectively the resistance measurement shift; Through the software programming to realize the automatic conversion of gear, and data storage; After LCD screen shows the resistance tolerance and gear. Through the design, the simulation and debugging, realized the precise measurement of the resistance. This design has high precision, easy operation, hardware design simple, etc.Keywords: ADS1255; MSP430F149; Resistance measurement; relay目录1引言 (1)2系统方案 (2)2.1A/D模块方案 (2)2.2控制器模块方案 (2)2.3主电源模块方案 (3)2.4恒压源方案 (3)2.5换挡模块方案 (3)2.6显示模块方案 (4)3系统理论分析与计算 (5)3.1电阻测量模块的分析 (5)3.1.1电阻测量量程选取 (5)3.1.2测量电阻值的计算 (5)3.2自动量程转换的分析 (6)4电路设计 (7)4.1系统总体框图 (7)4.2A/D转换电路 (7)4.3主控制电路 (9)4.4恒压源电路 (10)4.5换档电路 (10)4.6键盘 (11)4.7显示电路 (12)4.8电源 (13)5软件的设计 (14)5.1软件设计流程图 (14)5.2信号采集 (15)5.3量程转换 (15)5.3.1手动档检测电阻 (16)5.3.2自动档检测电阻 (17)6系统测试 (18)6.1测试方案 (18)6.2测试条件与仪器 (18)6.3测试结果(数据) (18)6.4测量误差分析 (19)6.5单片机输出显示误差分析 (19)结束语 (20)致谢 (21)参考文献 (22)附录附录1电路原理图附录2元件清单附录3实物图附录4程序基于ADS1255转换的简易电阻测试仪1引言随着科技的发展,智能电子产品不断融入到人们的生活与工作中。
基于AD7891的车辆称重采集系统设计
引言为彻底消灭超载现象,禁止超载车辆上路,实现司机在驾驶室内就可知道车辆的载荷情况,而地面稽查人员通过无线通信装置可随时随地检测车辆的载荷量,从而有利于制止车辆的超载行为。
因此,这里提出一种基于AD7891的车辆称重采集系统设计方案。
该系统设计采用电容法检测车辆载荷,并利用车辆本身的板弹簧作为称重传感器的弹性体。
2 车辆称重系统简介车辆电容称重装置安装在被测车辆上。
称重装置的核心器件是电容称重传感器,电容传感器的极板安装在车辆轮轴的中部上方与车厢底(或车架)之间,通过测量车辆板弹簧的形变转换为电容值的变化,得到载荷值。
图1为车载式电容称重传感器示意图。
在车辆称重系统中,若车辆有前后两根轮轴,则图2为车辆称重系统框图。
前后传感器将载荷变化转换为电容变化;电容测量电路将电容值转换为电压值;DSP将传感器输出的电压值进行加转换,其数据经运算、处理后,将整车载荷值送至显示器。
由于系统中需采集的数据量较大,特别是动态称重测量,为了满足系统的实时性需求,车辆称重采集系统采用AD7891和TMS320LF2407 DSP实现车辆称重数据采集。
3 系统硬件设计系统采用美国ADI公司的AD7891型A/D转换器,它是一种内含输入多路转换器和采样保持放大器的12位数据采集系统(DAS),输入模拟信号范围为-10~+10 V,理论精度指标可达4.88 mV,适合与各种微处理器、控制器以及数字信号处理机连接。
它和DSP有并行和串行两种工作模式,并有8个具有过压保护的模拟信号通道,允许过压值为±17 V,只对1个通道信号采样时,最大采样速率可达454.5 kS/s。
AD7891采用单电源工作,功耗低。
非常适用于数据采集系统和测试设备等方面应用。
因此,该车辆称重系统采用AD7891完全能够满足系统各项要求。
在高速采集系统中,AD7891与DSP相结合通常采用串行或并行方式,利用软件控制数据线方式实现系统要求的采集速度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
NET RD LOC = A7 | IOSTANDARD = "LVCMOS33"; ## 8
NET CS LOC = A8 | IOSTANDARD = "LVCMOS33"; ## 10
NET CONVST LOC = A9 | IOSTANDARD = "LVCMOS33"; ## 12
NET DATAIN<7> LOC = E11 | IOSTANDARD = "LVCMOS33"; ## 28
实物图如下:
连接在开发板上之后,AD芯片即开始工作。使用示波器分别发出不同频率的信号,同时使用chipscope抓取波形,再输出数据到matlab中,经FFT后可得如下频谱:
测试程序为:
clear;clc;
NET DATAIN<4> LOC = B16 | IOSTANDARD = "LVCMOS33"; ## 22
NET DATAIN<5> LOC = C16 | IOSTANDARD = "LVCMOS33"; ## 24
NET DATAIN<6> LOC = E15 | IOSTANDARD = "LVCMOS33"; ## 26
if (ctrl_clk_r == t_power_up1)
begin
ctrl_state <= 4'd1;
CONVST_r <= 1'd0;
ctrl_clk_r <= 9'd0;
end
else
begin
ctrl_state <= 4'd0;
ctrl_clk_r <= ctrl_clk_r + 9'd1;
//reg[3:0] ctrl_state;
reg[8:0] ctrl_clk_r;
reg[7:0] data_in_r;
reg[8:0] chip_clk_cnt;
reg chip_clk;
always @(posedge CLK or negedge RSTn) //处于测试需要,选择了AD手册上的136k的采样频率。
begin chip_clk <= 1; chip_clk_cnt<= 9'd0; end
else
chip_clk_cnt<= chip_clk_cnt + 1;
end
always @(posedge CLK or negedge RSTn)
if (!RSTn)
begin
CONVST_r <= 1'd0; //按照芯片收测,要先置零
assign TRIG0[12]=CONVST;
assign TRIG0[13]=CS;
assign TRIG0[14]=RD;
//assign TRIG0[15]=Busy_r;
assign TRIG0[15]=BUSY;
//assign TRIG0[16]=Done_sig;
endmodule
UCF如下:
end
end
1: begin
if (ctrl_clk_r == t_wait) //t1
begin
ctrl_state <= 4'd2;
ctrl_clk_r <= 9'd0;
end
else
begin
ctrl_clk_r <= ctrl_clk_r + 9'd1;
ctrl_state <= 4'd1;
);
reg Busy_r;
reg Done_sig_r; assign Done_sig = Done_sig_r;
reg CONVST_r; assign CONVST = CONVST_r;
reg CS_r; assign CS = CS_r;
reg RD_r; assign RD = RD_r;
module AD_ctrl(
input CLK,
input RSTn,
input BUSY,
input [7:0] DATAIN,
//input Start_sig,
output RD,
output CS,
output CONVST,
output reg[3:0] ctrl_state,
output Done_sig
NET CLKLOC = T8 | IOSTANDARD = "LVCMOS33"; ## system CLK
#DA相关引脚(J3)
##
NET RSTn LOC = L3 | IOSTANDARD = "LVCMOS33"; ## Reset Button
##
NET DATAIN<0> LOC = B5 | IOSTANDARD = "LVCMOS33"; ## 4
CS_r <= 1'd1;
RD_r <= 1'd1;
ctrl_state <= 4'd0;
data_in_r <= 8'd0;
Busy_r <= 1'd0;
ctrl_clk_r <= 9'd0;
end
else
case (ctrl_state)
0: //1.5μs的power_up
begin
CONVST_r <= 1'd1;
fs = 136000;
N = 1024;
Y = fft(DATA);
P2 = abs(Y/N);
P1 = P2(1:N/2+1);
P1(2:end-1) = 2*P1(2:end-1);
f = fs*(0:(N/2))/N;
dout_db = 20*log10(P1);
plot(f,dout_db);
xlLoadChipScopeData('data.prn');
DATA = (DATA-127.5)./127.5; %归一化处理后,才可以使用FFT。DATA为chipscope中采样信号bus的名称。
%%function [f,dout_db] = fft_test(fin,fs,N,y)
fin = 4001;
// .CLK(dma_clk), // IN
.CLK(chip_clk), // IN
.TRIG0(TRIG0) // IN BUS [255:0]
//.TRIG_OUT(TRIG_OUT0)
);
assign TRIG0[7:0]=data_in_r;
assign TRIG0[11:8]=ctrl_state;
// Company:
// Engineer:
//
// Create Date: 18:33:57 03/12/2017
// Design Name:
// Module Name: AD_ctrl
// Project Name:
// Target Devices:
// Tool versions:
// Description:
NET DATAIN<1> LOC = A12 | IOSTANDARD = "LVCMOS33"; ## 16
NET DATAIN<2> LOC = A13 | IOSTANDARD = "LVCMOS33"; ## 18
NET DATAIN<3> LOC = B14 | IOSTANDARD = "LVCMOS33"; ## 20
//处于测试需要,选择了AD手册上的136k的采样频率。总的周期数为368,去除t_power_up和t_relinquish,t_relinquish可取322。
parameter t_power_up1 = 9'd40; // (1.5μs对应的时钟数为75,由于使用mode2,所以选择了较小的40个周期。
axis([0 fs/2 -150 0]);
title(sprintf('%g -Samples FFT Spectrum\nfs = %g MSps, fin = %g MHz', ...
N,fs/1000000,fin/1000000));
xlabel('Frequency [Hz]');
ylabel('Power [dB]');
ctrl_state <= 4'd4;
else
begin
ctrl_state <= 4'd3;
ctrl_clk_r <= ctrl_clk_r + 9'd1;
end
end
4:begin
ctrl_state <= 4'd0;
ctrl_clk_r <= 9'd0;
end
default: ctrl_state <= 4'd0;
频谱分析结果如下:
5khz
10khz
15khz
30khz
在输入15khz频率以上时,即发生了很大失真。主要的失真为谐波失真,原因主要是pcb布线、电容摆放的问题等等,需要继续改进!
end
end
2: begin
CS_r <= 1'd0;