基于增强并行口EPP的便携式高速数据采集系统

2006-05-07 15:49:54来源: 电子技术应用

其速度和灵活性受到很大限制。而增强型并行端口EPP(Enhanced Parallel Port)不但与SPP兼容,而且其最高传输速率可达ISA总线的能力(2MHz)。由于便携式计算机日益普及,基于EPP协议开发的便携式微机采集系统将会是一个发展趋势。

    通常,低速的数据采集系统可不需要板上的数据缓存区。但当采集速率较高时,数据的回传将占用CPU大量的时间,因而不可能进行其他的控制操作与数值处理,这时就需要足够的缓存区来存放数据。我们在设计高速数据采集系统时采用了FIFO(First In First Out) IDT7202其管脚功能如图1所示。它不但提供了存储空间作为数据的缓冲,而且还在EPP并行总线和A/D转换器之间充当一弹性的存储器,因而无需考虑相互间的同步与协调。FIFO的优点在于读写时序要求简单,内部带有读写的环形指针,在对芯片操作时不需额外的地址信息。随着FIFO芯片存储量的不断增加和价格的不断下降,它将成为传统数据存储器件RAM、SRAM等的有力替代者。方案中的A/D转换器采用了Analog Device 公司的AD1671,最大采集速率可达1.25MHz、12Bit无漏码转换输出。

1 EPP协议简介

    EPP协议与标准并行口协议兼容且能完成数据的双向传输,它提供了四种数据传送周期:数据写周期;数据读周期;地址写周期;地址读周期。

    在设计中我们把数据周期用于便携机与采集板之间的数据传输,地址周期用于地址的传送与选通。表1列出了DB25插座在EPP协议中的各脚定义。

表1 EPP信号定义

EPP信号 方向 DB25对应脚 描述
nWrite out 1 低电平写,高电平读
nDataSTB out 14 低有效,数据读写
nAddrSTB out 17 低有效,地址读写
AD[8:1] Bi 2~9 双向数据/地址线
GND   18~25 地线
nReset out 16 低有效,外设复位
NINTR in 10 外设中断,对主机产生
      一个中断请求
nWait in 11 握手信号,低表示可以开始一个
      读写周期,高表示可以
      结束一个读写周期
Userdfn in 12/13/15 根据不同外设灵活定义

    图2是一个数据写周期的例子。

    (1) 程序执行一个I/O写周期,写数据到Port4(EPP数据寄存器)。

    (2)nWrite变低,数据送到串行口上。

    (3)由于nWait为低,表示可以开始一个数据写周期,nDataSTB变低。

    (4)等待外设的握手信号(等待nWait变高)。

    (5)nDataSTB变高,EPP周期结束。

    (6)ISA的I/O周期结束。

    (7)nWait变低,表示可以开始下一个数据写周期。

    可以看到,整个数据传送过程发生在一个ISA I/O周期内,所以用EPP协议传送数据,系统可以获得接近ISA总线的传输率(500k~2M byte/s)。

2 AD1671控制及采集系统工作原理

    图3是AD1671的AD转换时序图。

    AD1671在Encode信号上升沿开始A/D转换,Dav信号在本次转换完成前一定时间变低,直到Dav出现上升沿表示本次转换结束。为防止数字噪声耦合带来的误差,Encode信号应在Dav信号变低后50ns内变低。系统中通过8254计数器对晶振进行分频来给AD1671提供Encode信号,以满足其工作时序的需要。系统原理图如图4所示。系统初始化时,向8254的Clock0写入计数值,由此可以灵活改变采样间隔,同时写入Clock1的计数值用来控制采样的个数。晶振采用5MHz有源四脚晶振,D触发器实现触发功能,系统工作原理如下:

    系统初始化完成后,经地址译码器产生Add2信号,使D触发器状态翻转,由低变到高,8254计数使能端Gate0、Gate1变高,8254开始方式2的计数。当Clock0的计数时间到时,发出一个宽度为一时钟周期的负脉冲,经反向送入Encode,启动AD1671进行A/D转换。一次转换结束,利用Dav信号将转换的数据写入IDT7202,同时Clock1计数一次。当Clock1计数时间到后,发出一个脉冲,用来实现对D触发器的清零,使Gate0、Gate1变低,停止AD1671转换,完成一次系统的采集工作。

3 FIFO与EPP的接口电路

    图5是EPP与IDT7202的接口电路。

    此电路是基于EPP1.9设计的。nDataSTB与nAddSTB组合产生nWait回送信号,实现连锁握手。方案中分别用数据读周期、地址读周期对1#FIFO、2#FIFO进行读取。EPP模式设定后,对FIFO存储器的读取非常简单。通过产生一个单I/O读指令到“基址+4”,EPP控制器就会产生所需的选通信号,用EPP数据读周期传送数据。对“基址+3”的I/O操作,可产生地址周期信号。

    C语言指令如下:

    读一个字节数据:Data=Inportb(Base_Addr+4);

    读一个字节地址: Data=Inportb(Base_Addr+3);

    实际应用中FIFO的存取时间达到ns 级,EPP的速度也接近ISA总线的速率。上述接口电路属于高频,电路设计要注意消除干扰。FIFO的读写信源应尽量靠近FIFO,没用到的数据输入端应接地或VCC等。

编辑: 引用地址:http://www.eeworld.com.cn/designarticles/others/200605/2426.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved