历史上的今天
返回首页

历史上的今天

今天是:2024年11月19日(星期二)

正在发生

2018年11月19日 | 教你如何来看单片机外设A/D转换器ADC0804时序图

2018-11-19

如图,为单片机AD转换器的一种:


ADC0804单片集成A/D转换器。它采用CMOS工艺20引脚集成芯片,分辩率为8位,转换时间为100µs,输入电压范围为0~5V。芯片内具有三态输出数据锁存器,可直接接在数据总线上。


1.jpg?imageView2/2/w/550 


各引脚名称及作用如下:


VIN(+),VIN(-)——两模拟信号输入端,用以接收单极性、双极性和差模输入信号。


DB7~DB0——具有三态特性数字信号输出口。


AGND——模拟信号地。


DGND——数字信号地。


CLK——时钟信号输入端。


CLKR——内部时钟发生器的外接电阻端,与CLK端配合可由芯片自身产生时钟脉冲,其频率为1/(1.1RC)。


CS#---片选信号输入端,低电平有效,一旦CS#有效,表明A/D转换器被选中,可启动工作。


WR#---写信号输入,低电平启动A/D转换。


RD#---读信号输入,低电平输出端有效。


INTR#---A/D转换结束信号,低电平有效表示本次转换已完成。


VREF/2---参考电平输入,决定量化单位。


VCC---芯片电源5V输入。


打开ADC0804的数据手册,我们可以看到以下典型的电路接法:


2.png?imageView2/2/w/550


我们可以用仿真软件画出来:

3.png?imageView2/2/w/550


接下来,我们分析一下上图的工作原理:


①ADC0804的片选端CS连接U2锁存哭的Q7输出端,我们可通过控制锁存器来控制CS,这样接的原因是TX-1C实验板扩展的外围太多,没有多余的I/O口独立控制ADC0804的CS端,所以选择U2。


② VIN(+)接电位器的中间滑动端,VIN(-)接地,因为这两端可以输入差分电压,即它可测量VIN(+)与VIN(-)之间的电压,当VIN(-)接地时,VIN(+)端的电压即为ADC0804的模拟输入电压。VIN(+)与电位器之间串联一个10kΩ电阻,目的是限制流入VIN(+)端的电流,防止电流过大而烧坏A/D芯片,当用短路帽短接插针ADIN后,电位器的中间滑动端便通过电阻R12与VIN(+)连接,此时调节电位器的旋钮,其中间滑动端的电压便在0~VCC变化,进而ADC0804的数字输出端也在0x00~0xFF变化。


③ CLKR,CLR,GND之间用电阻和电容组成RC振荡电路,用来给ADC0804提供工作所需的脉冲,其脉冲的频率为1/(1.1RC),按芯片手册上说明,R取10kΩ,C取150pF,TX-1C实验板上为了减少元件种类和焊接方便,C选用的是104磁片电容。大家在设计自己的电路时,可选择150pF电容,否则会影响A/D的转换速率。


④ VREF/2端用两个1kΩ的电阻分压得到VCC/2电压,即2.5V,将该电压作为A/D芯片工作时内部的参考电压。


⑤WR#、 RD#分别接单片机的P3.6和P3.7引脚,数字输出端接单片机的P1口。


⑥ 将AGND和DGND同时连接到实验板的GND上。我们在设计产品时,若用到A/D和D/A,一般这些芯片都提供独立的模拟地(AGND)和数字地(DGND)引脚,为了达到精度高,稳定性好的目的,最好将所有器件的模拟地和数字地分别连接,最后将模拟地与数字地仅在一点连接。


⑦ INTR#引脚未连接,TX-1C实验板上读取A/D数据未用中断法,因此可不接该引脚。数字芯片在操作时首先要分析它的操作时序图,图4.4.6是ADC0804的启动转换时序图。


ADC0804转换时序图:


分析图4.4.6可知,CS先为低电平,WR#随后置低,经过至少tW(WR#)L时间后,WR#拉高,随后A/D转换器被启动,并且在经过(1~8个A/D时钟周期+内部TC)时间后,模/数完成转换,转换结果存入数据锁存器,同时INTR自动变为低电平,通知单片机本次转换已结束。关于几个时间的大小在芯片手册中都有说明。


我在写单片机程序启动A/D转换时就要遵循上面的时序,由于TX-1C实验板未用中断读取A/D数据,因此我们在启动A/D转换后,稍等一会儿时间,然后直接读取A/D的数字输出口即可。读取结束启动一次A/D转换,如此循环下去。力4.4.7是ADC0804读取数据时序图。


4.png?imageView2/2/w/550


分析上图可知,CS先为低电平,WR#随后置低,经过至少tW(WR#)L时间后,WR#拉高,随后A/D转换器被启动,并且在经过(1~8个A/D时钟周期+内部TC)时间后,模/数完成转换,转换结果存入数据锁存器,同时INTR自动变为低电平,通知单片机本次转换已结束。关于几个时间的大小在芯片手册中都有说明。


我在写单片机程序启动A/D转换时就要遵循上面的时序,由于TX-1C实验板未用中断读取A/D数据,因此我们在启动A/D转换后,稍等一会儿时间,然后直接读取A/D的数字输出口即可。读取结束启动一次A/D转换,如此循环下去。力下图是ADC0804读取数据时序图。


5.png?imageView2/2/w/550

分析上图可知,当INTR#变为低电平后,将CS#先置低,在RD#置低至少经过tACC时间后,数字输出口上的数据达到稳定状态,此时直接读取数字输出端口数据便可得的数字信号,读走数据后,马上将RD#拉高,然后再将CS#拉高,INTR#是自动变化的,当RD#置低tR1时间后,INTR#自动拉高,我们不必人为去干涉。


图4.4.6和图4.4.7是ADC0804启动转换和读取数据的时序图,这是启动一次和读取一次数据的时序图,当我们要连续转换并且连续读取数据时,有没有必要每次都把CS#置低再位高,因为CS#是片选信号,置低表示该芯片可被操作或处于能够正常工作状态,所以在写程序时,只要一开始将CS#置低,以后当要启动转换和读取数据时只需操作WR#和RD#即可。


推荐阅读

史海拾趣

Grande Electronics Ltd公司的发展小趣事
如果电源线路存在断路或短路问题,需要仔细检查并修复线路。
达晶微(CREATEK)公司的发展小趣事

为了加强研发实力和应用能力,达晶微在上海设立了研发中心和应用中心。这些中心汇聚了来自全球的优秀人才和先进技术,为公司提供了强大的技术支持和创新动力。通过不断研发新产品和拓展新领域,达晶微在电子行业中保持了领先地位。

硕颉(BITEK)公司的发展小趣事

尽管硕颉科技在知识产权方面做出了积极努力,但仍难免面临专利诉讼的挑战。在某次与凹凸科技的专利侵权诉讼中,公司虽然一度面临败诉和永久禁制令的风险,但硕颉科技迅速应诉,积极应对。最终,美国联邦巡回上诉法院废除了原判决,公司得以自由销售被诉产品,不受任何限制。这次诉讼的胜利,不仅展示了硕颉科技在应对法律挑战方面的决心和能力,也为公司的长远发展奠定了坚实基础。

全志(Allwinner)公司的发展小趣事

随着平板市场的逐渐饱和,全志科技开始寻求新的增长点。公司在保持原有产品线优势的同时,积极拓展多品类产品线,实施了营销端BU化,并提出了未来大方向的MANS战略。这一转型不仅增强了公司的市场竞争力,也为公司的长期发展打开了新的局面。

Excel-Display Corporation公司的发展小趣事

EDC一直将产品质量视为企业的生命线。为了确保产品质量,公司建立了严格的质量管理体系,从原材料采购到生产过程中的每一个环节都进行严格的质量控制。

此外,EDC还注重售后服务,为客户提供全方位的技术支持和解决方案。这些举措让EDC赢得了客户的信赖和好评,也为公司赢得了更多的市场份额。

振宝佳(DMBJ)公司的发展小趣事

振宝佳(DMBJ)公司自成立之初,就专注于贴片铝电解电容的研发与生产。在1998年之前,公司一直在台湾深耕细作,积累了丰富的技术实力和市场资源。进入21世纪,随着电子产业的快速发展,振宝佳意识到技术突破的重要性。于是,公司投入大量资源,研发出多项专利技术,这些技术不仅提升了产品的性能,也增强了公司的市场竞争力。

问答坊 | AI 解惑

256 级灰度LED 点阵屏显示原理

本帖最后由 jameswangsynnex 于 2015-3-3 19:58 编辑 256 级灰度LED 点阵屏显示原理,分享 …

查看全部问答>

《社区大讲堂》DO-254中的高设计可靠性的逻辑综合(一)

看到论坛里有DO-254的讨论,对这个还是有一定的了解,给大家分享下高设计可靠性的逻辑综合部分,欢迎讨论! 摘要       DO-254规范的目的是确保航空器电子硬件设备能够按照要求可靠的工作,避免操作失败和潜在的功能缺陷。DO ...…

查看全部问答>

ramdisk扩大出现的问题

EXT2-fs: Magic mismatch, very weird ! uclinux我把默认的4096 大小改为 6144K 。mkrd 文件生成ramdisk6144.img make........ 结果启动的时候mount ramdisk 出错 EXT2-fs: Magic mismatch, very weird ! qq 36359294…

查看全部问答>

HIVE+binfs如何保存保存注册表,代码已修改,可是功能无法实现,请各位大虾指教

根据网上已有的相关资料,我做了一定的修改,Hive-base选项已添加,platform.reg文件作了相应的修改,以下是我的注册表代码,请各位帮我看一下有什么问题,不胜感激 ; HIVE BOOT SECTION    [HKEY_LOCAL_MACHINE\\Init\\BootVars] &nb ...…

查看全部问答>

字符串转换

如何把 char 转为lpctstr…

查看全部问答>

什么情况下会进入:MemManageException

                                 最近调试文件系统 经常进入MemManageException  现在没头绪 请大家指点一下…

查看全部问答>

【设计工具】菜鸟5小时速成FPGA PCIE设计高手教程

  近年来,随着FPGA日益强大,许多高速设计开始采用FPGA实现高速串行协议PCIE等等研发产品需从多方面考虑,单片FPGA 方案越来越多的应用在各种产品的研发中。如果确定需要使用FPGA 的PCIe 方案,而此时对这一流程比较迷茫,那这篇指南能对您有所 ...…

查看全部问答>

关于DSP2812的PWM波形失真问题

我用示波器测出来的 PWM波形 上升沿和下降沿都非常 迟缓 2 小时前 上传下载附件 (43.95 KB) 我测出信号发生器发出来的方波...波形完全正确..推出不是示波器的问题...我找到关于这波形失真的 可能原因 的现象:   DSP板子掉电 ...…

查看全部问答>

【连载】【ALIENTEK 战舰STM32开发板】STM32开发指南--第九章 串口实验

                                                     &n ...…

查看全部问答>

模拟知识ABC: 什么是仪表放大器?

本帖最后由 dontium 于 2015-1-23 11:40 编辑 模拟知识ABC: 什么是仪表放大器? …

查看全部问答>