我正在开展一个涉及快速数据采集(科学实验)的项目。我将构建一个基于MCU的模块,它将以每10微秒的速度(以最快的速率)提供2到4个字节的数据。必须将这些数据实时传输到PC以进行进一步处理。为了降低设备成本,我选择使用PC的增强型并行端口(EPP)进行连接。其数据速率(500 KB / s至2 MB / s)应该足够了。
控制程序将在C中编程并在DOS下运行(我使用DJGPP),EPP端口将由直接I / O端口读/写处理,以实现最高效率。
不幸的是,我在网上发现的关于编程EPP端口的大多数文档写得很糟糕而且令人困惑。我的第一个请求实际上是指向一个综合文档的指针/链接,该文档清楚而逻辑地解释了EPP端口的操作。
无论如何,我设法找到了我需要的大部分东西,但有一件事令我感到困惑。这些文件提到了EPP端口中的“看门狗定时器”,如果在大约10个usec中没有来自连接设备的响应,它将设置状态寄存器的第0位。其中一个文档甚至建议监视并重置此状态位,如果它处于活动状态。 AFAIK是无稽之谈:状态端口是只读的。那么这个看门狗定时器真的有用吗?我假设逻辑方式是LPT控制器电路在每次启动新的读或写操作时复位该位。这个假设是否正确?如果没有,我该如何处理这个信号?