浅谈增强并行口EPP的便携式数据采集系统应用
出处:akk2006 发布于:2011-09-02 10:46:35
利用传统的标准并行口(SPP)或RS232进行数据传输,其速度和灵活性受到很大限制。简并行过程(Simplified Parallel Process)是基于CMMI以及软件工程和项目管理知识而创作的一种"软件过程改进方法和规范",它由众多的过程规范和文档模板组成。SPP主要用于指导国内IT企业持续地改进其软件过程能力。通常可选择Nibble(4bits)或Byte(8bits)的方式进行输入数据,还有一种Bi-directional的双向传输方式,这种方式需硬件支持。SPP硬件是由8条数据线,4条控制线和5条状态线所组成,它们分别对应三个不同的寄存器来进行数据的读写操作。而增强型并行端口EPP(Enhanced Parallel Port)不但与SPP兼容,而且其传输速率可达ISA总线的能力(2MHz)。由于便携式计算机日益普及,基于EPP协议开发的便携式微机采集系统将会是一个发展趋势。
通常,低速的数据采集系统可不需要板上的数据缓存区。数据采集通常有两种解释:一种是指盘点机、掌上电脑等终端电脑设备;另外一种是指网络数据采集用的软件。数据采集系统包括了:可视化的报表定义、审核关系的定义、报表的审批和发布、数据填报、数据预处理、数据评审、综合查询统计等功能模块。其管脚功能如图1所示。它不但提供了存储空间作为数据的缓冲,而且还在EPP并行总线和A/D转换器之间充当一弹性的存储器,因而无需考虑相互间的同步与协调。FIFO的优点在于读写时序要求简单,内部带有读写的环形指针,在对芯片操作时不需额外的地址信息。随着FIFO芯片存储量的不断增加和价格的不断下降,它将成为传统数据存储器件RAM、SRAM等的有力替代者。方案中的A/D转换器采用了Analog Device 公司的AD1671,采集速率可达1.25MHz、12Bit无漏码转换输出。

1 EPP协议简介
EPP协议与标准并行口协议兼容且能完成数据的双向传输,它提供了四种数据传送周期:数据写周期;数据读周期;地址写周期;地址读周期。虽然用于域名是EPP初的动因,但协议设计的目标是可应用于任何订单和执行体系。EPP协议基于XML(结构化文本)格式,底层网络传输是不固定的,虽 EPP泡沫然目前指定的方法是通过TCP,但该协议的灵活性设计,同样允许其使用如BEEP、SMTP、SOAP或其他方式传输。该协议由IETF的provreg工作组于2004年定稿,2009年8月,IETF认定了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的接口电路

此电路是基于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等。
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- 功率芯片 PCB 嵌入式封装技术综述2026/8/18 15:45:41
- Figma 到 GUI Guider 助力嵌入式 GUI 高效开发2026/8/13 15:30:50
- 瑞萨 RA8P1 嵌入式 AI 开发四部曲之零:工程挑战2026/8/12 16:03:16
- ARM 处理器有哪些的优势2026/8/11 16:02:24
- 瑞萨嵌入式 AI 技术漫谈?嵌入式系统机器学习终极指南2026/8/7 16:39:46









