使用IEEE-488总线实现单片机数据采集系统与PC机的通信

【摘要】简要介绍了ieee-488通用标准总线,重点介绍了使用ieee-488总线实现8031单片机数据采集系统与pc机通信的硬件结构、接口电路及软件设计。

  关键词:ieee-488总线,单片机,数据采集,pc机
  单片机数据采集系统,由于具有体积小、实时性好、编程灵活等优点,在仪器仪表、自动测试及工业控制等领域中得到越来越广泛的应用。同时单个单片机系统接口的标准化设计也显得越来越重要,为了能够充分利用微机的软、硬件资源,带有与微机通信接口的单片机系统已经成为一种发展趋势。ieee-488总线是国际公认的通用标准接口总线,当仪器配备了ieee-488标准总线后,就可像搭积木一样任意组成所要求的测试系统。本文介绍了使用ieee-488总线实现8031单片机数据采集系统与pc机通信的硬件构成原理及软件设计。
1 ieee-488总线简介

  仪器设备接口的标准化,最早是由美国惠普(hp)公司倡导实施的,叫做hp-ib,由于其良好的接口性能,很快得到广泛应用,被美国电气与电子工程师学会命名为ieee-488,并得到国际电工委员会的认可,同时颁布了相应的标准iec625。在英国、日本、俄罗斯则称为gp-ib,我国已制定了相应的国家标准(gb249.1-249.2),虽然有多种叫法,但实质上除了机械标准方面欧美有所不同外,其余完全相同。使用该总线可以把世界上不同国家、不同厂家生产的仪器设备有效地连接起来。这样组成的系统方便灵活,功能强,适应性好,不仅大大降低了组建系统的成本,提高了效率,而且使每台仪器的功能和作用获得充分发挥,极大地提高了它们的使用价值。

  ieee-488总线是并行无源双向传输总线。其中有8根数据总线,3根挂钩总线和5根管理总线。

  数据总线:dio0~dio7,它们是可以输入也可以输出的双向总线,用于发布地址、指令等多线消息,传递数据。

  管理总线:atn(attention,注意)线;ifc(interface clear,接口清除)线;ren(remote enable,远控使能)线;srq(service request,服务请求)线;eoi(end or identify,结束或识别)线。

  挂钩总线:dav(data valid,数据有效)线;nrfd(not ready for data,未准备好接收数据)线;ndac(not data accepted,未接收到数据)线。

  利用这三条线进行挂钩控制消息和数据的传递,确保信息传送的准确无误。

  ieee-488总线最多可同时挂接15台设备,不同的设备需分配不同的地址;要求传输电缆总长小于20 m,最高数据传输速率可达1 mb/s。当系统工作时,总线上的不同设备承担不同的任务,从逻辑功能上分为:控者、讲者、听者。

  控者:可以设定挂接在总线上的设备的地址,设定讲者、听者,向它们发送命令,pc机则是典型的控者。

  讲者:向系统中其他设备发送测量数据、状态数据等器件消息;一个系统中允许有多个讲者,但同一时刻只能有一个。

  听者:可以接收数据的设备。

  听者、讲者都要由控者来任命。一台设备可以同时具备上述三种功能中的一种、两种或三种。比如:当控者pc机任命信号源为听者,则可发送程控数据,规定它输出的信号的波形、频率、幅值;当pc机任命自己为听者,任命万用表为讲者,pc机就可以接收万用表的状态数据和测量数据。
2 硬件构成原理

  该通信系统硬件采用模块化结构,其原理如图1所示。它主要由8031单片机数据采集系统,单片机ieee-488总线接口,ms-2105a型 ieee-488总线接口板(直接插入pc机总线扩展槽中)及pc机组成。

图1 系统结构框图
  其中单片机系统的ieee-488总线接口是用标准接口专用集成电路,即由intel公司的8291总线收发器,8293总线驱动器构成,如图2所示。其中8291内部有16个寄存器(8个读寄存器和8个写寄存器)。它们由微处理器通过cs、rd、wr和rs0~rs2引脚寻址。

图2 8031与ieee-488总线的接口电路
  d0~d7:数据总线与8031数据总线p0口相连;rs0~rs2:选择寄存器进行读写操作。cs为片选端,低电平有效,连接至p2.5,地址从dff0h到dff7h。rd,wr分别控制对读、写寄存器进行操作。int连接到8031的int1,为高电平时表示有中断请求,因与8031的中断极性相反,所以需在程序中颠倒极性。

  pc机ieee-488总线接口板能够实现pc总线的各种微机与标准总线的通信,这里选用的ms-2105型接口板采用总线式连接,设备直接挂在总线上,8位并行数据双向传送。占用ibm-pc的8个连续地址端口。本接口板选用大规模集成电路d7210c,实现了ieee-488接口的全部功能。芯片内有16个寄存器,包括8个读寄存器,8个写寄存器;工作时,首先用程序对寄存器进行初始化,然后再通过数据输出寄存器,向ieee-488总线上的设备发送命令,传送数据。通过读某些状态寄存器,可以了解所需要的状态,也可通过数据输入寄存器读回ieee-488总线上的设备发来的数据,整个通信都可通过程序控制

  • 使用IEEE-488总线实现单片机数据采集系统与PC机的通信已关闭评论
    A+
发布日期:2019年07月02日  所属分类:参考设计