18814888577 发表于 2014-5-8 19:18:03

【新手求助】基于ISA总线(8位)数据采集卡设计

本帖最后由 18814888577 于 2014-5-8 19:20 编辑

计算机接口技术 课上,老师布置了一道设计题。由于我对硬件和总线的概念不是很了解。所以把题目弄出来问问大神们,望不吝赐教。
  1 外界16路模拟信号;
  2 各路信号经过多路选择,调理及A/D经MCU存至双口RAM;
  3 PC机可通过PC/104总线访问双口RAM获取采集数据;
  4 AD地址:BFFFH
  5 IDT7006地址:4000H-7FFFH; 2000H-5FFFH;
  6 PC与MCU可进行中断申请

题目:图1

元器件选择:
16路模拟信号开关:AD7506
模数转换:ADC0808
双口RAM:IDT7006

  由于是第一次接触到这样的题目,所以我不清楚具体的线路布局或者其他的。我的想法就是从网上找到元器件的技术手册,根据方框中的元器件排列顺序,尽量把每个管脚都连好。
  于是,通过简单地阅读技术手册,我画出了下面的图,当然这张图上存在数不清的错误,首先就是因为我查询AD7506的时候开了图,原来是16路输入,1路输出的,被我看成了16路输出,所以我用了两片ADC,于是,接下来的构思都建立在错误之上。
  
      照片(图2)中是我第一次画的图。里面能省掉的例如5V电源,reset端口等都被我省略掉了。


现在想搞清楚的问题:
  1. AD地址:BFFFH 的具体含义
     这个地址是不是需要通过I/O地址译码电路来表达,又或者是直接通过以上提供的元器件的部分管脚(类似于部分译码的方式)来解决。我一开始天真地以为是使用16路开关的连接方式来表达这个地址(但这么做无法解释清楚地址的意义)
  2.双口RAM IDT7006 左端连单片机,右边是通过ISA总线和PC相连吗?如果是这样的话,按照题目第三个要求,要使用PC/104总线实现PC与双口RAM的通信,是不是意味着ISA和PC/104之间还要使用总线桥?

  3.题目第6个要求,要实现PC和MCU可进行中断申请的话,具体要怎么实现,可以谈谈你的思路。是不是要用到中断控制器(如82C59A芯片)来控制?
  
  暂时想先了解一下这三个问题,我想解决这三个问题可以对这个采集卡有进一步的认识,关键是各个元器件的连接上把我搞得晕头转向。
  
如果大神知道其中一个或多个问题,请不吝赐教!照片中的电路图有很多错误,也请直接为我指明,非常感谢!


18814888577 发表于 2014-5-8 19:19:55

额,那张照片不知道怎么才能横过来,不好意思了{:lol:}

learner123 发表于 2014-5-8 22:38:55

首先这是一道电子古文题,而且题目不明确,也许是楼主表达时原题内容丢失
地址是相对51还是pc104?

isa总线实际可以看做是8088/8086的处理器总线,故地址表达时大部分以段+段内偏移来说的,否则楼主4000H-7FFFH; 2000H-5FFFH;出现地址覆盖问题,当然也有可能是题目要求地址范围可选

不过无论如何,总要进行地址译码倒是,故楼主可以加入译码器

51和pc104都有中断请求线,题目倒底要搞中断方式交换数据,还是说51可以使用中断方式来处理adc采集数据,没有明确。

总之,题目太多地方有不明确,也许是老师随手抄来的题目;也许只是写了个大概内容,课堂上表述了,这里只有关键字;或者楼主的搬移过程中丢失了内容

wye11083 发表于 2014-5-9 08:05:09

learner123 发表于 2014-5-8 22:38 首先这是一道电子古文题,而且题目不明确,也许是楼主表达时原题内容丢失 地址是相对51还是pc104?

ISA设备的地址是固定的;x86的IO指令没有段的概念,就是16位地址,段是为了扩充内存地址而搞的;地址表示为基地址+偏移量。

fulitun 发表于 2014-5-9 08:16:41

现在电脑主板ISA总线没有了吧

18814888577 发表于 2014-5-9 09:11:08

fulitun 发表于 2014-5-9 08:16
现在电脑主板ISA总线没有了吧

这个倒是不清楚,因为老师把这道题拿出来让我们做了,所以我就放到论坛上问一下,很多东西都没有一个清晰的概念,所以下不了手

18814888577 发表于 2014-5-9 09:27:51

learner123 发表于 2014-5-8 22:38
首先这是一道电子古文题,而且题目不明确,也许是楼主表达时原题内容丢失
地址是相对51还是pc104?



老师出题的时候确实就用一张幻灯片,我按照原样放到论坛上的。

因为这道题是 《微型计算机接口技术及应用》的课上出的,所以我想老师的用意应该是想让我们把ISA总线,以及各个元器件之间的联系搞清楚,然后把推荐的元器件之间对应的管脚按照正确的方式连起来。

我把题目读了几遍,应该是要把图中实线框中的元器件画好,并把关键管脚连好。也就是说题目中的几个要求并不是每个都要在实线框中画出来。只要完成实线框中的主要功能就可以。我自己画的图也是按照这个意思画的,虽然错误百出。

关于PC/104和51 的可进行中断申请的问题,我想也许只要把相应的中断请求管脚连好就行了。对了,想问大神“搞中断方式交换数据”   和 “51使用中断方式来处理adc采集数据“这两种情况下,连线会有什么区别?还是只是侧重点不同,
不影响连线?

题目就是这么个样子了。这是原题:

micintcnh 发表于 2014-5-9 15:47:55

万恶的应试教育,现在还有ISA接口的电脑吗?

sync765 发表于 2014-5-9 17:26:19

以前做过基于ISA的板卡,简单说下吧
首先楼主要明确板卡的地址,因为isa有A0-A19共20根地址线,还有读写两根信号线,通过这些信号的配合来读写数据
提醒一点 IDT7006 只是个双端口RAM,是无法实现PC和MCU中断的,可以让ISA一根地址线或数据线,接MCU中断引脚上,引发MCU中断
只要处理好ISA的接口部分,其他的就不难了

learner123 发表于 2014-5-9 20:27:48

标准8088/8086的IO空间只有64k,但内存空间有1M即20位。大部分教科书都用段地址与偏移地址来表示这20位,实际是 段地址移动4位+偏移地址。表示时采用0xMMMM:0xNNNN来表示((MMMM<<4)+NNNN)的物理地址。不过对于pc体系来说但这些内存空间都已经分配了(例如BIOS和640K系统内存),不能随便占用,故大部分板卡都是使用IO空间,即使是IO空间也有很多已经被占用(例如0x220和0x378),也不能随意分配。

AD的地址是相对51来说还是相对pc104?
这个地址可以理解为对扫描通道的选通,也可以理解为是51读取ADC的地址。
对于地址4000H-7FFFH; 2000H-5FFFH;
可以理解为为4000-7FFF是51端的地址范围,2000-5FFF是PC的地址范围;也可以理解为4000-7FFF是PC端的地址范围,2000-5FFF是51的地址范围。无论怎样,都要有译码电路对双端口RAM译码,然后才能接到PC104的ISA总线上。
具体是如何,估计老师上课时讲了,但没有明确的写出来而已。

51的IO线可以用作PC104的中断触发,PC104的ISA总线译码器的输出可以用作51的中断触发

PC的中断方式编程,是51采集数据后放入双端口RAM,利用中断信号通知PC104来读取数据。
或者可以用51的定时器中断来触发采集频率,也有可能是pc104利用中断信号通知51开始采集。

单说这道题,这是典型的中国死板的教学模式,没有具体的要求,只是让学生看懂书本前面介绍的知识然后照猫画虎,教条考核译码器的应用,时序图,中断,总线。。。所以不要想太多,随手画画就行了,估计老师也只是讲个标准答案。
其实,功能的细节变化,软件的微小技巧,都可以改变整个设计

cdust 发表于 2014-5-9 20:39:02

ISA口的工控机都很难买到了,基本绝迹。

craigtao 发表于 2014-5-10 18:22:50

很棒,这样的实践很少有学生去弄,我去年还有一台IBM 5160.没有硬盘了,硬盘是20MB的,里面的MS-DOS 2.0,还有ISA总线扩展插槽,
8086/8088非常经典,好好弄啊,
页: [1]
查看完整版本: 【新手求助】基于ISA总线(8位)数据采集卡设计