DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1217|回复: 0
打印 上一主题 下一主题

[待整理] 基于MCS-51单片机的IEEE-488接口设计

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-12 15:40:40 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
1 概 述
  

智能仪器程控接口电路的设计,首先是根据仪器的功能确定该仪器的接口功能。文中所涉及的仪器是以MCS-51系列单片机作为内部控制器的高速数据采集装置,由于A/D转换器既要向计算机输送采集结果,又要接受计算机对其工作条件的控制,因此,在程控接口电路设计时,设置了六种接口功能:源挂钩功能(选用SH1功能子集)、受者挂钩功能(选用AH1功能子集)、讲功能(选用T5功能子集)、听功能(选用L4功能子集)、远地/本地功能(选用RL功能子集)和器件触发功能(选用DT1功能子集)。

2 接口功能(IF)设计

  如图1所示是该仪器的原理框图,其中接口功能电路由时序转换与信号控制电路、MC68488和四片MC3448构成,由于MCS-51单片机的时序和MC68488的时序不同,因此时序转换与信号控制电路是接口功能电路设计的关键。


2.1 MCS-51单片机和MC68488的时序图  

系统采用8031作为智能仪器(高速数据采集系统)的内部控制器,通过对MC68488的编程实现对A/D转换的控制。系统的外部程序存储器及数据存储器的片选信号通过P2.3~P2.5三根地址线经3—8译码器74LS123产生。二者扩展地址分别为0000H~07FFH、0800H~1000H。图 2所示为单片机8031和MC68488的时序对应关系图。

2.2时序及信号转换电路


MCS-51系列单片机和MC68488来自不同的厂家,控制方法及工作速度等均有很大差异,因此要实现二者的相互连接必须着重解决以下几个问题:

(1)时序配合;

(2)控制信号转换;

(3)中断信号调整。

2.2.1时序配合

MCS—51系列单片机工作时钟频率为1.2~12 MHz,若只考虑与高速数据采集系统的配合问题,似乎应选择12 MHz的时钟频率,但单片机的工作性能在最高频率时不稳定,故选择了6 MHz的工作时钟。MC68488的工作时钟频率为1 MHz,与单片机在时序上不匹配。因为MCS-51没有等待或准备好引脚,为了既能实现与单片机在时序上的匹配,又能保证单片机的工作效率,就需要对单片机的PSEN、WR、RD、ALE和MC68488的E信号进行综合考虑。8031CPU的程序、数据的读写时序及MC68488的有关时序如图2所示。

通过分析8031及MC68488的时序可知,在8031对外部数据寄存器进行读写时,PSEN始终为高电平。但在每进行一次读写前,8031必须先进行取指操作。因此,每个机器周期中,有效一次,且其频率为1MHz。从波形图上看,只需将PSEN、WR、RD进行如下运算即可得到与MC68488工作时钟E信号一致的波形。

而且从高低电平的维持时间来看,组合信号高电平维持时间≥450ns,低电平维持时间≥450ns,完全满足E信号对电平维持时间的要求。具体实现的硬件电路如图3所示。

也可用单稳触发器的脉冲宽度调整功能改变有关信号电平宽度的方法来满足E信号的要求。但由于通过调单稳触发器的外接电阻Rext和电容Cext很难调出准确的脉冲宽度,所以,该方法尽管理论上可行,实际难以实现。

2.2.2 读写控制信号信号(R/W)转换

8031 CPU的读写信号是WR、RD两根信号线,而MC68488所需的读写控制线是R/W一根。为了使8031 CPU能够对MC68488进行正确的读写控制,需对其读写信号进行一定的转换。WR、RD和R/W三者的关系可用表1表示。

由表1可以看出,将WR、RD分别作为RS触发器的R和S两个输入端,则RS触发器的输出端Q得到的信号即为R/W,具体转换电路如图4所示。

2.2.3中断信号调整

本接口是为高速数据采集系统而设计的,系统要求接口电路响应速度快,因此,工作方式采用外部中断、边沿激活方式,由TCON寄存器中的中断方式位IT1或IT0来控制,若设ITX=1,则采用了边沿触发方式。在相继的两个周期中ITX引脚进行两次连续的采样,若第一次为高电平,第二次为低电平,则TCON寄存器中的中断请求标志位ITX被置为1,以请求中断。由于外部中断引脚每个机器周期被采样一次,为确保采样,由引脚INTX输入的信号至少保持一个机器周期(12个震荡周期),即高、低电平各保持一个机器周期(2μs),才能确保检测到电平的跳变,从而把中断请求标志置为1。但 MC68488的TRIG信号和IEQ信号输出电平有效时间为1μs,直接接到8031的INTX引脚有可能出错。为了使系统工作可靠,准确地发中断,需要对此信号进行延时。我们采用可再重触的双单稳74LS123,电路如图5所示。

Cext端之所以接地是为了在工作中得到最好的效果。

2.3通用接口适配器MC68488

  8031 CPU通过对MC68488编程来实现对接口的管理及对高速数据采集系统的控制。采用MC68488设计的接口功能与采用中、小规模TTL电路及PAL组建的接口功能相比,具有节省硬件、简化软件及可靠性高等特点。

2.4总线收发器MC3488

该芯片主要用于TTL电平与MOS电平的转换,以保证MC68488的输入/输出电平与GPIB接口母线电平的兼容。输出可以是三态或集电极开路输出。至于各个信号线的输出采用哪种形式,要根据所设计的传输速度而定。因本接口是为高速数据采集系统而设计的,对速度要求高,故采用三态输出。

2.5 GPIB接口母线

采用24芯电缆线。其中包括信号线16根(8根数据线DI01(DI08、挂钩线3根(RAN、NRFD、NDAC)、管理母线5根(IFC、ATN、SRQ、EOI、REN)),地线8根。
3 系统软件流程方框图

4 结束语

       由于计算机技术的不断发展,它的用途越来越广泛,计算机接口的设计也越来越重要。很多厂家为自己的计算机配置了专用的接口,但在有些大的测试系统中如果采用专用接口会使得系统结构庞大而且价格昂贵,另外,在实际应用中经常需要将不同厂家的产品配合起来使用,这样专用接口将难以应用。而采用GPIB通用标准接口则完全弥补了专用接口的不足。本文所采用的方案即采用MC68488和8031 CPU配合实现IEEE—488接口,有一定的通用性,可推广到以MCS-51系列单片机为中央处理器的所有仪器的接口设计。

参考资料
1 MCS—51 Family ofsingle clip Microcomputers Users Manual,Intel Comporation,1981
2 张礼勇、程玉润,IEC625通用接口及其应用,计量出版社,1985
3 王章、祝贵亮,Z80系列微机上的IEEE—488接口,电子测量技术,1984
4 杨吉祥,MC68488通用接口原理及编程,电子测量技术,1984
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-8-6 05:25 , 耗时 0.100643 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表