近几年来,IC制造商设计了实现接口的各种方法,并且特别重视减少IC接口I/O引脚的数量。MAX187就是这样一个器件,它是一个12位模/数转换器(ADC)。你可以利用串行数据通信技术产生与该ADC的一个接口。MAX187的模/数转换和数据传输仅需三条数字I/O线。你可以利用PC的Centronics打印机端口在MAX187和PC之间产生一个简易接口(图1)。只要将引脚分别设置为高电平或低电平,你就能启用或禁用MAX187(引脚 3)。如果使该引脚开路,则内部参考电压(4.096V) 就被禁用,你必须将一个外部参考电压加到引脚REF(引脚4)上。在其他情况下,该引脚 与4.7μF旁路电容C1连接。通过使用SCLK引脚(引脚8)上的外部时钟脉冲,来自 MAX187的数字数据就以每次1位的速度传输给处理单元。
一次完整的数据传输需要13个外部时钟脉冲。第一个时钟脉冲的下降沿锁存DOUT引脚(引脚6)的第一个数据位(MSB)。输出数据位在下一个外部时钟脉冲的下降沿就改变,可以读取串行数据位,直到下一个时钟周期的下降沿出现为止。
模/数转换在ADC的引脚(引脚7)变成低电平时开始进行。该引脚必须保持低电平,直到模/数转换整个周期结束为止,随后进行串行数据传输。DOUT引脚从低电平至高电平的状态变化表示EOC(转换结束)状态。然后,串行的12位数据就可以进行传输了。MAX187的工作情况由软件控制。该软件应能产生成功完成转换所需的所有控制信号,而且应能检测EOC状态。它还应能产生13个外部时钟脉冲,以便读取串行12位数据并将其转换成并行数据。
控制MAX187工作情况的软件是Turbo C++ 3.0版本(可从www.edn.com网站的《设计实例》的Web版本下载)。在代码中,Port定义与MAX187接口的PC的 Centronics端口。Write Port定义用于初始化模/数转换和产生外部时钟脉冲的端口。Read Port定义用于从ADC读取EOC和串行数据的端口。在将CS引脚和SCLK引脚下拉至低电平后,EOC环路检查EOC状态。如果未出现有效的EOC,则该环路将继续工作。有效EOC出现,13个时钟周期中的第一个周期就出现,并锁存第一个数据位(MSB)。此后,例行程序调用一个子例程(get_adc())。子例程产生剩下的外部时钟周期,以便读取12位串行数据。子例程还将接收到的串行数据转换成并行数据(adc_val)。这一转换过程为:使adc_val左移一位,由此将前一个数据乘以2,如果串行数据位的值为1,则将1加到并行数据上。一旦并行数据就绪,子例程将返回这个值并将其显示在屏幕上。
图1 实现12位串行ADC与PC之间的接口是很容易的。
编辑: 引用地址:串行12位ADC与PC之间的接口电路
上一篇:NS 两款高性能转换器
下一篇:32通道16位D/A转换器MAX5631的原理及应用
- 热门资源推荐
- 热门放大器推荐
小广播
热门活动
换一批
更多
最新模拟电子文章
更多精选电路图
更多热门文章
更多每日新闻
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况
更多往期活动
11月16日历史上的今天
厂商技术中心