虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

模数

  • 时钟分相技术应用

    摘要: 介绍了时钟分相技术并讨论了时钟分相技术在高速数字电路设计中的作用。 关键词: 时钟分相技术; 应用 中图分类号: TN 79  文献标识码:A   文章编号: 025820934 (2000) 0620437203 时钟是高速数字电路设计的关键技术之一, 系统时钟的性能好坏, 直接影响了整个电路的 性能。尤其现代电子系统对性能的越来越高的要求, 迫使我们集中更多的注意力在更高频率、 更高精度的时钟设计上面。但随着系统时钟频率的升高。我们的系统设计将面临一系列的问 题。 1) 时钟的快速电平切换将给电路带来的串扰(Crosstalk) 和其他的噪声。 2) 高速的时钟对电路板的设计提出了更高的要求: 我们应引入传输线(T ransm ission L ine) 模型, 并在信号的匹配上有更多的考虑。 3) 在系统时钟高于100MHz 的情况下, 应使用高速芯片来达到所需的速度, 如ECL 芯 片, 但这种芯片一般功耗很大, 再加上匹配电阻增加的功耗, 使整个系统所需要的电流增大, 发 热量增多, 对系统的稳定性和集成度有不利的影响。 4) 高频时钟相应的电磁辐射(EM I) 比较严重。 所以在高速数字系统设计中对高频时钟信号的处理应格外慎重, 尽量减少电路中高频信 号的成分, 这里介绍一种很好的解决方法, 即利用时钟分相技术, 以低频的时钟实现高频的处 理。 1 时钟分相技术 我们知道, 时钟信号的一个周期按相位来分, 可以分为360°。所谓时钟分相技术, 就是把 时钟周期的多个相位都加以利用, 以达到更高的时间分辨。在通常的设计中, 我们只用到时钟 的上升沿(0 相位) , 如果把时钟的下降沿(180°相位) 也加以利用, 系统的时间分辨能力就可以 提高一倍(如图1a 所示)。同理, 将时钟分为4 个相位(0°、90°、180°和270°) , 系统的时间分辨就 可以提高为原来的4 倍(如图1b 所示)。 以前也有人尝试过用专门的延迟线或逻辑门延时来达到时钟分相的目的。用这种方法产生的相位差不够准确, 而且引起的时间偏移(Skew ) 和抖动 (J itters) 比较大, 无法实现高精度的时间分辨。 近年来半导体技术的发展, 使高质量的分相功能在一 片芯片内实现成为可能, 如AMCC 公司的S4405, CY2 PRESS 公司的CY9901 和CY9911, 都是性能优异的时钟 芯片。这些芯片的出现, 大大促进了时钟分相技术在实际电 路中的应用。我们在这方面作了一些尝试性的工作: 要获得 良好的时间性能, 必须确保分相时钟的Skew 和J itters 都 比较小。因此在我们的设计中, 通常用一个低频、高精度的 晶体作为时钟源, 将这个低频时钟通过一个锁相环(PLL ) , 获得一个较高频率的、比较纯净的时钟, 对这个时钟进行分相, 就可获得高稳定、低抖动的分 相时钟。 这部分电路在实际运用中获得了很好的效果。下面以应用的实例加以说明。2 应用实例 2. 1 应用在接入网中 在通讯系统中, 由于要减少传输 上的硬件开销, 一般以串行模式传输 图3 时钟分为4 个相位 数据, 与其同步的时钟信号并不传输。 但本地接收到数据时, 为了准确地获取 数据, 必须得到数据时钟, 即要获取与数 据同步的时钟信号。在接入网中, 数据传 输的结构如图2 所示。 数据以68MBös 的速率传输, 即每 个bit 占有14. 7ns 的宽度, 在每个数据 帧的开头有一个用于同步检测的头部信息。我们要找到与它同步性好的时钟信号, 一般时间 分辨应该达到1ö4 的时钟周期。即14. 7ö 4≈ 3. 7ns, 这就是说, 系统时钟频率应在300MHz 以 上, 在这种频率下, 我们必须使用ECL inp s 芯片(ECL inp s 是ECL 芯片系列中速度最快的, 其 典型门延迟为340p s) , 如前所述, 这样对整个系统设计带来很多的困扰。 我们在这里使用锁相环和时钟分相技术, 将一个16MHz 晶振作为时钟源, 经过锁相环 89429 升频得到68MHz 的时钟, 再经过分相芯片AMCCS4405 分成4 个相位, 如图3 所示。 我们只要从4 个相位的68MHz 时钟中选择出与数据同步性最好的一个。选择的依据是: 在每个数据帧的头部(HEAD) 都有一个8bit 的KWD (KeyWord) (如图1 所示) , 我们分别用 这4 个相位的时钟去锁存数据, 如果经某个时钟锁存后的数据在这个指定位置最先检测出这 个KWD, 就认为下一相位的时钟与数据的同步性最好(相关)。 根据这个判别原理, 我们设计了图4 所示的时钟分相选择电路。 在板上通过锁相环89429 和分相芯片S4405 获得我们所要的68MHz 4 相时钟: 用这4 个 时钟分别将输入数据进行移位, 将移位的数据与KWD 作比较, 若至少有7bit 符合, 则认为检 出了KWD。将4 路相关器的结果经过优先判选控制逻辑, 即可输出同步性最好的时钟。这里, 我们运用AMCC 公司生产的 S4405 芯片, 对68MHz 的时钟进行了4 分 相, 成功地实现了同步时钟的获取, 这部分 电路目前已实际地应用在某通讯系统的接 入网中。 2. 2 高速数据采集系统中的应用 高速、高精度的模拟- 数字变换 (ADC) 一直是高速数据采集系统的关键部 分。高速的ADC 价格昂贵, 而且系统设计 难度很高。以前就有人考虑使用多个低速 图5 分相技术应用于采集系统 ADC 和时钟分相, 用以替代高速的ADC, 但由 于时钟分相电路产生的相位不准确, 时钟的 J itters 和Skew 比较大(如前述) , 容易产生较 大的孔径晃动(Aperture J itters) , 无法达到很 好的时间分辨。 现在使用时钟分相芯片, 我们可以把分相 技术应用在高速数据采集系统中: 以4 分相后 图6 分相技术提高系统的数据采集率 的80MHz 采样时钟分别作为ADC 的 转换时钟, 对模拟信号进行采样, 如图5 所示。 在每一采集通道中, 输入信号经过 缓冲、调理, 送入ADC 进行模数转换, 采集到的数据写入存储器(M EM )。各个 采集通道采集的是同一信号, 不过采样 点依次相差90°相位。通过存储器中的数 据重组, 可以使系统时钟为80MHz 的采 集系统达到320MHz 数据采集率(如图6 所示)。 3 总结 灵活地运用时钟分相技术, 可以有效地用低频时钟实现相当于高频时钟的时间性能, 并 避免了高速数字电路设计中一些问题, 降低了系统设计的难度。

    标签: 时钟 分相 技术应用

    上传时间: 2013-12-17

    上传用户:xg262122

  • 高速ADC模拟输入接口考虑

    采用高输入频率、高速模数转换器(ADC)的系统设计是一项具挑战性的任务。ADC输入接口设计有6个主要条件:输入阻抗、输入驱动、带宽、通带平坦度、噪声和失真。

    标签: ADC 模拟输入 接口

    上传时间: 2013-10-21

    上传用户:chukeey

  • 数字电压表设计

        数字电压表是大学物理教学和实验中的重要仪表,其数字化是指将连续的模拟电压量转换成不连续、离散的数字量并加以显示。传统的实验用模拟电压表功能单一、精度低、体积大,且存在读数时的视差,长时间连续使用易引起视觉疲劳,使用中存在诸多不便。而目前数字万用表的内部核心多是模/数转换器,其精度很大程度上限制了整个表的准确度,可靠性较差。

    标签: 数字 电压表设计

    上传时间: 2013-10-16

    上传用户:牛津鞋

  • STC89C51+ADC0809 8路模数采集 (原理图+源程序)

    基于STC89C51与AD转换器ADC0809芯片,可以测量8路 0--5V的电压值,并在四位LED数码管上轮流显示或单路选择显示。 原理图+源程序。

    标签: 0809 STC ADC 89

    上传时间: 2013-11-07

    上传用户:peterli123456

  • AVR系列单片机C语言编程与应用实例

    本书针对Atmel公司的AVR系列单片机和ImageCraft公司的ICC AVR开发环境,详细地介绍了AT90LS8535的C语言程序设计。全书共有13章,其内容既涉及到了单片机的结构原理、指令系统、内容资源和外部功能扩展,又包含了单片机的编程工具——ICC AVR C编程器的数据类型、控制流、函数和指针等。本书的特点是:深入浅出,从最基本的概念开始,循序渐进地讲解单片机的应用开发;列举了大量实例,使读者能从实际应用中掌握单片机的开发与应用技术。本书适合作为从事单片机开发人员的参考用书。书中先后讲解了C语言基础、AVR单片机基础,并举了一些简单的实例。本书非常适合初学者。 【目录信息】 第1章 单片机系统概述 1. 1 AVR系列单片机的特点 1. 2 AT90系列单片机简介 第2章 AT90LS8535单片机的基础知识 2. 1 AT90LS8535单片机的总体结构 2. 1. 1 AT90LS8535单片机的中央处理器 2. 1. 2 AT90LS8535单片机的存储器组织 2. 1. 3 AT90LS8535单片机的I/O接口 2. 1. 4 AT90LS8535单片机的内部资源 2. 1. 5 AT90LS8535单片机的时钟电路 2. 1. 6 AT90LS8535单片机的系统复位 2. 1. 7 AT90LS8535单片机的节电方式 2. 1. 8 AT90LS8535单片机的芯片引脚 2. 2 AT90LS8535单片机的指令系统 2. 2. 1 汇编指令格式 2. 2. 2 寻址方式 2. 2. 3 伪指令 2. 2. 4 指令类型及数据操作方式 2. 3 应用程序设计 2. 3. 1 程序设计方法 2. 3. 2 应用程序举例 第3章 AT90LS8535单片机的C编程 3. 1 支持高级语言编程的AVR系列单片机 3. 2 AVR的C编译器 3. 3 ICCAVR介绍 3. 3. 1 安装ICCAVR 3. 3. 2 设置ICCAVR 3. 4 用ICCAVR编写应用程序 3. 5 下载程序文件 第4章 数据类型. 运算符和表达式 4. 1 ICCAVR支持的数据类型 4. 2 常量与变量 4. 2. 1 常量 4. 2. 2 变量 4. 3 AT90LS8535的存储空间 4. 4 算术和赋值运算 4. 4. 1 算术运算符和算术表达式 4. 4. 2 赋值运算符和赋值表达式 4. 5 逻辑运算 4. 6 关系运算 4. 7 位操作 4. 7. 1 位逻辑运算 4. 7. 2 移位运算 4. 8 逗号运算 第5章 控制流 5. 1 C语言的结构化程序设计 5. 1. 1 顺序结构 5. 1. 2 选择结构 5. 1. 3 循环结构 5. 2 选择语句 5. 2. 1 if语句 5. 2. 2 switch分支 5. 2. 3 选择语句的嵌套 5. 3 循环语句 5. 3. 1 while语句 5. 3. 2 do…while语句 5. 3. 3 for语句 5. 3. 4 循环语句嵌套 5. 3. 5 break语句和continue语句 第6章 函数 6. 1 函数的定义 6. 1. 1 函数的定义的一般形式 6. 1. 2 函数的参数 6. 1. 3 函数的值 6. 2 函数的调用 6. 2. 1 函数的一般调用 6. 2. 2 函数的递归调用 6. 2. 3 函数的嵌套调用 6. 3 变量的类型及其存储方式 6. 3. 1 局部变量 6. 3. 2 局部变量的存储方式 6. 3. 3 全局变量 6. 3. 4 全局变量的存储方式 6. 4 内部函数和外部函数 6. 4. 1 内部函数 6. 4. 2 外部函数 第7章 指针 7. 1 指针和指针变量 7. 2 指针变量的定义和引用 7. 2. 1 指针变量的定义 7. 2. 2 指针变量的引用 7. 2. 3 指针变量作为函数参数 7. 3 数组与指针 7. 3. 1 指向数组元素的指针变量 7. 3. 2 数组元素的引用 通过指针 7. 3. 3 数组名作为函数参数 7. 3. 4 指向多维数组的元素的指针变量 7. 4 字符串与指针 7. 4. 1 字符串的表示形式 7. 4. 2 字符串指针变量与字符数组的区别 7. 5 函数与指针 7. 5. 1 函数指针变量 7. 5. 2 指针型函数 7. 6 指向指针的指针 7. 7 有关指针数据类型和运算小结 7. 7. 1 有关指针的数据类型的小结 7. 7. 2 指针运算的小结 第8章 结构体和共用体 8. 1 结构体的定义和引用 8. 1. 1 结构体类型变量的定义 8. 1. 2 结构体类型变量的引用 8. 2 结构类型的说明 8. 3 结构体变量的初始化和赋值 8. 3. 1 结构体变量的初始化 8. 3. 2 结构体变量的赋值 8. 4 结构体数组 8. 4. 1 结构体数组的定义 8. 4. 2 结构体数组的初始化 8. 5 指向结构体类型变量的指针 8. 5. 1 指向结构体变量的指针 8. 5. 2 指向结构体数组的指针 8. 5. 3 指向结构体变量的指针做函数参数 8. 6 共用体 8. 6. 1 共用体的定义 8. 6. 2 共用体变量的引用 第9章 A190LS8535的内部资源 9. 1 I/O 口 9. 1. 1 端口A 9. 1. 2 端口B 9. 1. 3 端口C 9. 1. 4 端口D 9. 1. 5 I/O口的编程 9. 2 中断 9. 2. 1 单片机的中断功能 9. 2. 2 AT90LS8535单片机的中断系统 9. 2. 3 1CCAVRC编译器的中断操作 9. 2. 4 中断的编程 9. 3 串行数据通信 9. 3. 1 数据通信基础 9. 3. 2 AT90LS8535的同步串行接口 9. 3. 3 AT90LS8535的异步串行接口 9. 4 定时/计数器 9. 4. 1 定时/计数器的分频器 9. 4. 2 8位定时/计数器0 9. 4. 3 16位定时/计数器1 9. 4. 4 8位定时/计数器2 9. 5 EEPROM 9. 5. 1 与EEPROM有关的寄存器 9. 5. 2 EEPROM读/写操作 9. 5. 3 EEPROM的应用举例 9. 6 模拟量输入接口 9. 6. 1 模数转换器的结构 9. 6. 2 ADC的使用 9. 6. 3 与模数转换器有关的寄存器 9. 6. 4 ADC的噪声消除 9. 6. 5 ADC的应用举例 9. 7 模拟比较器 9. 7. 1 模拟比较器的结构 9. 7. 2 与模拟比较器有关的寄存器 9. 7. 3 模拟比较器的应用举例 第10章 AT90LS8535的人机接口编程 10. 1 键盘接口 10. 1. 1 非矩阵式键盘 10. 1. 2 矩阵式键盘 10. 2 LED显示输出 10. 2. 1 LED的静态显示 10. 2. 2 LED的动态扫描显示 10. 2. 3 动态扫描显示专用芯片MC14489 10. 3 LCD显示输出 10. 3. 1 字符型LCD 10. 3. 2 点阵型LCD 10. 4 ISD2500系列语音芯片的编程 10. 4. 1 ISD2500的片内结构和引脚 10. 4. 2 ISD2500的操作 10. 4. 3 ISD2500和单片机的接口及编程 10. 5 TP-uP微型打印机 10. 5. 1 TP-uP打印机的接口和逻辑时序 10. 5. 2 P-uP打印机的打印命令和字符代码 10. 5. 3 AT90LS8535与TP-uP系列打印机的接口及编程 10. 6 IC卡 10. 6. 1 IC卡读写装置 10. 6. 2 IC卡软件 第11章 AT90LS8535的外围扩展 11. 1 简单I/O扩展芯片 11. 1. 1 用74LS377扩展数据输出接口 11. 1. 2 数据输入接口 11. 2 模拟量输出 11. 2. 1 D/A转换器简介 11. 2. 2 8位数模转换器DAC0832 11. 2. 3 8位数模转换器与单片机的接口及编程 11. 2. 4 12位数模转换器DACl230 11. 2. 5 12位数模转换器与单片机的接口及编程 11. 3 可编程I/O扩展芯片8255A 11. 3. 1 8255A的引脚和内部结构 11. 3. 2 8255A的工作方式 11. 3. 3 8255A的控制字 11. 3. 4 AT90LS8535和8255A的接口 11. 4 带片内RAM的I/O扩展芯片8155 11. 4. 1 8155的引脚和内部结构. 11. 4. 2 8155的I/O口工作方式 11. 4. 3 8155的定时/计数器 11. 4. 4 8155的命令和状态字 11. 4. 5 AT90LS8535与8155的接口及编程 11. 5 定时/计数器芯片8253 11. 5. 1 8253的信号引脚和逻辑结构 11. 5. 2 8253的工作方式 11. 5. 3 8253的控制字 11. 5. 4 AT90LS8535与8253的接口及编程 11. 6 实时时钟芯片DS1302 11. 6. 1 DS1302的引脚和内部结构 11. 6. 2 DS1302的控制方式 11. 6. 3 AT90LS8535与DS1302的接口与编程 11. 7 数字温度传感器DS18B20 11. 7. 1 DSl8B20的引脚和内部结构 11. 7. 2 DS18B20的温度测量 11. 7. 3 AT90LS8535与DS18B20的接口与编程 第12章 AT90LS8535的通信编程 12. 1 串口通信 12. 1. 1 异步串口UART通信 12. 1. 2 同步串口SPI通信 12. 2 I2C总线 12. 2. 1 I2C总线协议 12. 2. 2 采用AT90LS8535的并行I/O口模拟I2C总线 12. 3 CAN总线 12. 3. 1 CAN总线的特点 12. 3. 2 CAN协议的信息格式 12. 3. 3 CAN控制器SJA1000 12. 3. 4 AT90LS8535与SJA1000的接口及编程 12. 4 AT90LS8535单片机与PC的串行通信 12. 4. 1 基于VC 6. 0的PC串口通信 12. 4. 2 应用实例 第13章 系统设计中的程序处理方法 13. 1 数字滤波处理 13. 1. 1 平滑滤波 13. 1. 2 中值滤波 13. 1. 3 程序判断滤波 13. 2 非线性处理 13. 2. 1 查表法 13. 2. 2 线性插值法

    标签: AVR 单片机 C语言编程 应用实例

    上传时间: 2013-11-04

    上传用户:元宵汉堡包

  • 单片机外围器件实用手册丛书

    内容提要: 单片机外围器件实用手册输入通道器件            D570,571,574,系列模/数变换器            AD,ADC系系列模/数变换器            MAX变换器各个模块的介绍  

    标签: 单片机 外围器件 实用手册

    上传时间: 2014-01-23

    上传用户:zhangfx728

  • 基于单片机的多路数据采集系统设计毕业论文

    本文介绍了基于单片机的数据采集的硬件设计和软件设计,数据采集系统是模拟域与数字域之间必不可少的纽带,它的存在具有着非常重要的作用。本文介绍的重点是数据采集系统,而该系统硬件部分的重心在于单片机。数据采集与通信控制采用了模块化的设计,数据采集与通信控制采用了单片机AT89S52来实现,硬件部分是以单片机为核心,还包括A/D模数转换模块,显示模块,和串行接口部分。该系统从机负责数据采集并应答主机的命令。8路被测电压通过模数转换器ADC0809进行模数转换,实现对采集到的数据进行模拟量到数字量的转换,并将转换后的数据通过串行口MAX232传输到上位机,由上位机负责数据的接受、处理和显示,并用LED数码显示器来显示所采集的结果。软件部分应用VC++编写控制软件,对数据采集系统、模数转换系统、数据显示、数据通信等程序进行了设计。

    标签: 单片机 多路数据采集 系统设计 毕业论文

    上传时间: 2013-10-28

    上传用户:18707733937

  • TLC2543 中文资料

    TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。 TLC2543的特点 (1)12位分辩率A/D转换器; (2)在工作温度范围内10μs转换时间; (3)11个模拟输入通道; (4)3路内置自测试方式; (5)采样率为66kbps; (6)线性误差±1LSBmax; (7)有转换结束输出EOC; (8)具有单、双极性输出; (9)可编程的MSB或LSB前导; (10)可编程输出数据长度。 TLC2543的引脚排列及说明    TLC2543有两种封装形式:DB、DW或N封装以及FN封装,这两种封装的引脚排列如图1,引脚说明见表1 TLC2543电路图和程序欣赏 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double  sum_final1; double  sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe};  void delay(unsigned char b)   //50us {           unsigned char a;           for(;b>0;b--)                     for(a=22;a>0;a--); }  void display(uchar a,uchar b,uchar c,uchar d) {    P0=duan[a]|0x80;    P2=wei[0];    delay(5);    P2=0xff;    P0=duan[b];    P2=wei[1];    delay(5);   P2=0xff;   P0=duan[c];   P2=wei[2];   delay(5);   P2=0xff;   P0=duan[d];   P2=wei[3];   delay(5);   P2=0xff;   } uint read(uchar port) {   uchar  i,al=0,ah=0;   unsigned long ad;   clock=0;   _cs=0;   port<<=4;   for(i=0;i<4;i++)  {    d_in=port&0x80;    clock=1;    clock=0;    port<<=1;  }   d_in=0;   for(i=0;i<8;i++)  {    clock=1;    clock=0;  }   _cs=1;   delay(5);   _cs=0;   for(i=0;i<4;i++)  {    clock=1;    ah<<=1;    if(d_out)ah|=0x01;    clock=0; }   for(i=0;i<8;i++)  {    clock=1;    al<<=1;    if(d_out) al|=0x01;    clock=0;  }   _cs=1;   ad=(uint)ah;   ad<<=8;   ad|=al;   return(ad); }  void main()  {   uchar j;   sum=0;sum1=0;   sum_final=0;   sum_final1=0;    while(1)  {              for(j=0;j<128;j++)          {             sum1+=read(1);             display(a1,b1,c1,d1);           }            sum=sum1/128;            sum1=0;            sum_final1=(sum/4095)*5;            sum_final=sum_final1*1000;            a1=(int)sum_final/1000;            b1=(int)sum_final%1000/100;            c1=(int)sum_final%1000%100/10;            d1=(int)sum_final%10;            display(a1,b1,c1,d1);           }         } 

    标签: 2543 TLC

    上传时间: 2013-11-19

    上传用户:shen1230

  • 基于89C51放电法测高阻数据的采集与处理

        对大学物理实验中放电法测高阻的传统实验,采用单片机-计算机接口技术和模数变换技术,用计算机对数据进行处理得出结果。它既可以作为自动化测量设备,也可以作为高年级大学生课程设计或毕业设计题目,对于拓宽大学生知识面,提高实际动手能力和解决问题能力有一定的价值。

    标签: 89C51 放电 高阻 数据

    上传时间: 2013-11-03

    上传用户:jichenxi0730

  • 模数转换器设计指南 第十八版

    ad与da,希望对你有帮助

    标签: 模数转换器 设计指南

    上传时间: 2013-11-10

    上传用户:jiangshandz