智能仪器教案_第1页
智能仪器教案_第2页
智能仪器教案_第3页
智能仪器教案_第4页
智能仪器教案_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

智能仪器

第1章绪论

第2章智能仪器的标准数据通信接口

第3章预处理电路及数据采集

第4章人机接口技术

第5章测量算法与系统化设计

第6章监控主程序的设计

第1章绪论

课时安排:2学时

知识点:智能仪器的定义、特点、组成;智能积分式DVM的工作原理、智能仪器设计要

点、监控程序的结构、程序设计技术。

重点:智能仪器的组成、智能积分式DVM的工作原理、监控程序的结构。

难点:智能积分式DVM的工作原理

教案方法:以课堂讲授方式进行教案,从介绍电子测量仪器的发展过程、深刻分析智能仪

器与传统电子仪器的区别。通过介绍智能仪器的结构及设计要点,使学生明确

智能仪器包含的主要模块和涉及的知识领域,把本课程在其它几章中要介绍的

内容关联起来,使学生明确其余几章在本课程中所占的地位,明确学习目的和

任务,激发学生的学习积极性和主动性。

本章对学生的要求:

要求学生上课认真听讲,课后多查阅一些相关资料,进一步了解电子仪器的发展过

程、现状和今后的发展趋势,深入分析科技发展的规律。通过通过学习本章介绍的内容,

应对智能仪器的定义、主要特点、基本结构、工作原理,设计智能仪器的基本任务和应该

注意的事项有一定的了解;明确本课程学习的目的、主要任务等。

1.1概述

1.1.1智能仪器及其特点

1.什么是智能仪器

是带有微型计算机和自动测试系统通用接口<GP-IB)的电子测量仪器。

电子仪器的发展过程:

从使用器件上看,分为三个阶段。

真空管时代T晶体管时代-集成电路时代

从工作原理上看:已经历了三代:

第一代:模拟式电子仪器

特点:功能简单、精度低、速度慢。

第二代:数字式的电子仪器

工作原理:A/D转换T测量->数字显示

特点:精度高、速度快、读数清晰直观、能打印输出

能与计算机技术相结合,适于遥控遥测。

第三代:智能仪器

在数字化的基础上进行微机化。

智能仪器一一含有微,儿和自动测试麻通用接口G>-山的电子测量仪器。

LIJGP-IB

CPU在智能仪器中的乍用可归结酮大类:|_

对测试过程过行控制和对测试数据进行处理。

2.智能仪器的特点

1)仪器的功能强大:可测量参数多;是通过间接测量实现的。

仪器中常用的数值计算有:

(1>线性变换(乘常数〉:R=cx

(2>百分数偏离:R=100(x-n>/n

(3>偏移:R=x-△

(4>比例:线性的R=x/r对数的R=201g(x/r>功率的R=x2/r

(5>最大/最小:记录测量的最大/最小值。

(6>极限:设置高、低极限值、越限报警。

(7>统计:对测量结果进行统计处理。

2)仪器的性能优越

CPU可实现自动补偿、自动校正、多次测量平均等技术,以提高测量精度。

用适当和巧妙的算法,克服硬件本身的缺陷,提高仪器的性能。

3)操作自动化

自选量程、自动校准,自动调整测试点,方便操作,提高精度。也称为自动测试仪

器。

4)具对外接口

配备GP—IB接口,接入自动测试系统,实现自动测试。

5)硬件软化

实现“硬件软化”,降低成本、减小体积、降低功耗和提高可靠性。

6)采用面板显示

有LED、LCD、CRT显示,字迹清晰、直观。

7)自测试、自诊断功能

能测试自身工作是否正常并指出故障的部位。提高仪器工作可靠性,方便使用和维

修。

1.1.2智能仪器的组成

组成框图如下,典型的计算机结构。CPU是整个智能仪器的核心;固化在只读存

储器中的程序是仪器的灵魂。

智能仪器的基本组成

1.1.3智能仪器的工作原理

1.传统数字电压表<DVM)的工作原理及特点

传统积分式DVM工作过程:

<1)积分器先对Ui进行定时积分,积分时间T1称为采样期。

<2)T1结束后进入比较期T2,积分器对Er积分。积分器输出电压的斜率方向相反。

<3)积分器输出到达零点时,比较器输出产生跳变,T2结束,一次转换也结束。

在T2内计数器计数,该值正比于被测电压。经标度变换得测量结果,存储、显示。

传统的DVM具有以下特点:

<1)通过旋扭改变仪器中的电参数,以设置仪器的功能。

<2)各种控制、计数、漂移补偿等工作完全由硬件完成。

<3)电路采用随机逻辑,复杂,设计和调试难,可靠性差。

2.智能积分式DVM的工作原理及特点

智能积分式DVM原理框图

工作过程:

(1)CPU依来自键盘或GP—IB接口的命令,输出合适的开关量,规定量程。

<2)CPU置输出口b3位为高,接通S3,积分器对Ui进行定时积分。通过计数,控制采

样期T1时间。

<3)「结束后,CPU置b3位为低,b4位为高,接通S4,断开S3,进入比较期T2,积分器

对Er积分,计数并检查比较器输出是否发生跳变。

<4)当检出比较器输出发生跳变,表明积分器输出回零,即停止计数;置输出口的b3、b4

位均为低,断开S3、S3,积分器停止积分,一次模数转换或测量结束。

<5)CPU对比较期内的计数值进行处理后,存储、显示,或经GP-IB总线发送到远地。

特点:

(1)通过键盘向CPU发出命令,CPU对命令译码后发出适当的控制信号,规定仪器

的功能。

<2)CPU通过执行程序发出控制信号,只要修改软件就能改变仪器工作,有些硬件电

路的功能可由软件完成。

<3)CPU能对测量数据进行处理,如自动校正零点偏移和增益漂移、统计及其它数学

运算等。

<4)计算机结构,各部件都“挂”在总线上,方便系统的设计、调试、和维护。

<5)具有GP-IB接口,能接入自动测试系统进行工作。

1.1.4智能仪器的新发展

呈现微型化、多功能化、智能化和网络化的发展趋势

1.个人仪器:

20世纪60年代以来测线系统发展经三个阶段:

<1)测试仪器与小型仪用计算机通过专用接口连接而成。

<2)智能仪器

<3)个人仪器:个人计算机通过系统总线控制多个仪器插件实现测量功能。如下图所

示:

个人计停机

-谥W-

仪器插件R

个人仪器结构

个人仪器的特点:

(1>成本低

每个测试功能不是由整机、而是由插件完成的。

(2>使用方便

标准的仪器功能写入操作软件,备有清单,用户选择清单就能完成各种测试任务。

(3>制造方便:仪器制造厂只要研制、生产测试卡即可。

(4>实时交互作用

相互间通过微机系统总线连接,可进行实时交互。

2.虚拟仪器

在个人仪器和计算机软件不断发展的基础上出现,更强调软件的作用,提出了“软件就是

仪器”的思想。

以通用计算机为控制器,添加模块化硬件来完成数据采集,由高效、功能强大的软件系

统实现测量操作。

虚拟仪器系统的基本构架是:

高性能的通用计算机;

模块化的通用硬件设备;

功能强大的专业性测试软件系统。

“虚拟”二字的含义:

<1)面板虚拟。面板控件图形与实物相像,对应着相应的控制程序,通过鼠标点击操

作。

<2)功能由软件实现。在硬件平台下,通过软件编程实现仪器的测试功能。

特点:

<1)通用硬件平台确定后,可由软件取代传统仪器中的各种硬件。

<2)仪器的功能是用户根据需要由软件来定义,而不是由厂家事先定义的。

<3)仪器功能的改进和扩展只需进行相关软件更新设计,无须购买新的仪器。

<4)研制周期较传统仪器大为缩短。

<5)虚拟仪器开放、灵活,可与计算机同步发展,与网络及其它周边设备互联。

1.2智能仪器设计简介

1.2.1设计要点

主要任务:CPU选择、硬件设计、软件设计

CPU选择:依功能而定,若运算量不大,选高性能的8位单片机。

硬件设计:先设计内部的微机及外设、测试硬件和GP—IB接口;然后设计微机和其

它部件的接口。

软件设计:任务描述、程序设计、编码纠错、调试、编写文件。

1.2.2监控程序的结构

监控程序是指管理机器工作的整个程序

监控主程炉:接受和分析来自键盘的命令。把控制转移到相应

处理子程序的入口

监控程序*口管理主程序:接受和分析来自GP-IB接口命令,把控制转到相应的处理子

I程序的入口

命令k理子程序:具体执行某个命令、完成命令所规定的操作的子程序

1.2.3程序设计技术

<1)模块法

把一个长的程序分成若干个较小的程序模块进行设计和调试,然后把各模块连接起

来。

<2)自顶向下的设计方法

设计思路从整体到局部,最后到具体细节的设计方法。

<3)结构程序设计

基本原则:每个模块只能有一个入口和一个出口。

有以下三种基本结构:

①序列结构

P1-P2fP3

②分支结构

If-lhen-else结构

③循环结构

循环结构

(a)Repeat-until结构;(b>Do-while结构

另--种常用的结构一选择结构

1.2.4智能仪器的研制步骤

大致可以分为3个阶段:

1.确定任务、拟制设计方案

2.硬件、软件研制及仪器结构设计

3.仪器总调、性能测定

1.2.5智能仪器设计中应注意的问题

1、采用新颖的设计方法

2、硬件软件化

3、分时操作:CPU速度极高,为分时操作提供可能。

4、增强功能:充分利用微机的快速运算和灵活控制的特点。

5、简化面板结构

6、采用新器件、运用新技术

习题与思考题

1.电子仪器发展至今经历了哪几个阶段?

2.什么是智能仪器?智能仪器有哪些主要特点?

3.画出智能仪器的基本组成框图,并说明其各部分的作用。

4.说明如图1-4所示的智能积分式DVM的工作原理及其主要特点。

5.将图1-4中的微处理器确定为8OC51单片机,请画出单片机与测试电路的接口连接

图,并编写启动一次测量的程序。设采样期T1的定时可调用DLYT1,比较期T2

用80c51内部定时器TO计测;输出口的某位为1时,相应的开关接通,输出

口、输入口的地址分别为2080H和2081H。

6.什么是虚拟仪器?虚拟仪器的特点是什么?

7.试述虚拟仪器的结构原理。

8.简述虚拟仪器中软件结构与功能。

9.设计智能仪器的主要任务是什么?研制的一般步骤怎样?

10.在智能仪器的设计中应注意哪些问题?

第2章智能仪器的标准数据通信接口

2.1RS-232c标准串行接口总线

2.2SPI总线标准

2.312c标准总线

2.4USB总线标准

2.5CAN总线

2.6GP-IB接口总线

2.7无线数据传输及PTR2000应用

习题与思考题

课时安排:6学时

知识点:智能仪器中常用的标准总线、串行总线及各种总线的应用

重点:SPI和12c总线标准、各信号的定义,对于不带SPI、12c总线接口的一般8051单

片机这两种总线的实现方法。

难点:SPI、12c总线的软件实现及其应用

教案方法:主要采用课堂讲授方式,考虑到学生已学过微机原理与接口技术、单片机原理

及应用等课程,但是一般对单片机操作时序的理解和实现有一定的难度,因此

本章在讲授过程中采用先分析时序波形,再用软件模拟一些基本操作的子程

序,之后再介绍几个实际应用的例子,循序渐进,以便于学生理解。

本章对学生的要求:

在第一章中介绍的智能仪器的构成框图可见,它是一个典型的计算机结构,其中的各

个部分是通过总线联系在一起的。与计算机系统一样,智能仪器的标准总线可分为外部总

线和内部总线,因为本章教案时数有限,课堂上只重点介绍SPI、12c两种内部总线,这两

种总线性能优越,应用广泛,它们是单片机系统扩展、智能仪器设计的一个重要手段,要

求学生认真掌握它们的有关信号的定义及具体操作时序和用软件模拟的实现方法。

2.2SPI总线标准

2.2.1SPI总线标准介绍

串行外设接口,允许MCU与各种外设进行串行通信。

完整的SPI系统的特性:

<1)全双工、三线同步传送。

<2)主、从机工作方式。

<3)可程控的主机位传送速率、时钟极性和相位。

<4)发送完成中断标志。

<5)写冲突保护标志。

用一个MCU为主机,控制数据向一个或多个从机传送,SPI系统使用4个I/O引脚。

1)串行数据线(MISO、MOSI>

主输入/从输出MISO和主输出/从输入MOSI:

用于数据的收、发,先MSB(高位〉,后LSB(低位〉。

主机方式时,MISO是主机数据输入线,MOSI是主机数据输出线;

从机方式时,MISO是从机数据输出线,MOSI是从机数据输入线。

2)串行时钟线(SCLK>

用于同步MISO和MOSI引脚上数据的传送。

主机方式时,SCLK为输出;主机启动一次传送,在SCLK脚产生8个时钟。

从机方式时,SCLK为输入。

在主机、机之间,SCLK的一个跳变进行数据移位,数据稳定后的另一个跳变进行采

样。

串行数据和时钟之间有4种极性和相位关系。主、从机的定时关系必须相同。

SCIK(a)rnrirnrnrnrnrnrn

从机方式用于使能从机进行数据传送;

主机方式一般由外部置为高电平。

一般只需连接SPI的SCLK、MOSI及MISO三根线即可。

对于有在端的I/O扩展芯片,用一根I/O线来控制片选端。

2.2.2利用模拟SPI总线扩展串行E2PROM

1.串行E2PROM—93C46的特点及引脚

93C46是64x16(1024)位串行的电擦除可编程的只读存储器。特点:

<1)在线改写数据和自动擦除功能。

<2)电+5V单电源供电;源关闭,数据也不丢失。

<3)输入、输出口与TTL兼容。

<4)内有电压发生器,产生擦/写所需的电压。

<5)有控制和定时逻辑,控制擦和读写操作。

<6)整体编程允许和禁止功能,以增强数据的保护能力。

<7)等待状态时,电流为1.5mA〜3mA。

有两种封装形式,如下图:

图2-1193c46引脚排列

(a)8脚双列直插式塑料封装(b>14脚扁平式塑料封装。

引脚功能:

DO:读时数据输出端;擦时为状态指示,相当于READY/BUSY信号,其它状态该脚呈

高阻。

DI:用于接收命令、地址和数据信息,每一位均在CLK的上升沿写入93c46。

ORG:结构端。连到Vcc或悬空时为16位结构;连到Vss时为8位结构。

注意:时钟频率低于1MHz时ORG端才能悬空,构成16位结构。

2.指令系统:共有7条指令,格式如下表。

表2-393c46指令表(ORG=0,8位结构〉

p———————•・_____

9tit,

DtM

<•tioOT-OO

w(MDTDORDVMY・■MA、-、

1,人

irwutw,ODIIAMI

8OOM*«

RMooI0MMMM

■me00Q|XMHXRpY

一条指令操作完成之前,拒绝接收新指令。

1)读指令(READ〉

从单元中读取数据。接收指令后,DO端先输出一低电平,之后从CLK的上升沿开始,

DO连续输出8位或16位串行数据。

当CS保持为高时允许连续读,即自动周期性地输出下一个地址单元的数据。时序如

下。

CLK_n_n_n_n_nM口nnji门口门口n%n

2)写指令(WRITE〉

向指定单元中写入数据。

指令指定了单元地址后输出8位或16位数据。在最后一个数据位加在DI端后,在CLK

的下一个上升沿以前,CS必须为低。

DO端指示READY/BUSY状态。

指令的时序如图2-13所示。

cs-/K\______

cLK-TLrLrLrLnjVrLrLAj-LrLrLrLrLTLrL

图2-13写指令的时序

3)擦除指令(ERASE〉

将指定单元的内容擦除,即强迫该单元所有数据位为力”状态。时序图如下。

CS_/

cLK_n_TLn_rLrLn_nArL/LrLrLTLnj~Lnj~L

DI_/~\~i_r^c^c^cxfx-xg-----------------

“高阻态2«A°祖丽厂高阻态

DO-----------------»----»-------^READY

图2-14擦除指令的时序

装载最后的地址位后,CS为低。CS的下降沿启动自定时编程周期。CS为低约250ns后恢

复为高。擦除周期每字4ms。

DO端指示器件的READY/BUSY状态:

DO端为0时,指示编程仍在进行;

DO端为1时,表示擦除结束,可接收下一指令。

4)擦除整个存储器指令(ERAL>

将整个存储器阵列强迫为逻辑“1,,状态。除操作码不同外,与ERASE(擦除〉相同,时

序如图2-15(a>所示。

ERAL周期完成自定时,在CS的下降沿开始。无需CLK端的驱动时钟。CS为低约

250ns后恢复为高。

DO端指示器件的READY/BUSY状态。

5)写整个存储器指令(WRAL>

将命令中指定的数据写入整个存储器阵列中。除操作码不同外,与WRITE相同,时

序如图2-15(b>所示。

WRAL周期也完成自定时。WRAL周期最大需30ms。

cs/$$_\_/x-----------

CLK-TtJ-Lnj-LJ-LJ-U-L/h_J-U-LJ%LI-U-LrLJ-LrTJ-Un-

DI-------O--------------------------------------------------------------------------------

商PHW竺"一、而叽念

cs/X_/X

CLK-TTJ-LJ-LJ-LJ-LJ-LJ_U-U-LJ-LJ^LJ-LTTJ-U-LJ-LTm-

DI/I、ccX"i_Xc//"////外

g__________而阳w____________$_______$__________、高阻态

v~/READY

lb)

图2-15擦除和写入整个存储器指令的时序

(a>擦除整个存储器指令的时序(b>写整个存储器指令的时序。

6)擦/写允许指令(EWEN>和擦/写禁止指令(EWDS>

EWEN使芯片处于允许擦/写状态,直至执行了EWDS指令或电源关闭为止。

EWDS禁止对整个芯片和单个单元的擦和写操作。上电复位芯片处于擦/写禁止状态。

EWEN与EWDS操作码不同,但周期相同。时序如图2-16所示。

图2-16EWEN指令和EWDS指令时序

(a>EWEN指令时序(b>EWDS指令时序。

3.93C46与80C51单片机的接口与编程

80C51串口方式0提供了简化的SPI,特点:

<1)SCLK极性、相位、传送速率固定。

<2)无从机选择输入端。

<3)数据入/出是同--根线,用软件设置数传方向。

故80c51中SPI仅两个脚:

RXD(P3.1>—MOSI/MISO;TXD(P3.0>—SCLK。

<4)传送数据位的顺序为先LSB,后MSB。

1)利用80C51的串行口实现的接口

80C51与93c46接口时;需适当的硬、软件配合。

下图80C51串口工作在方式0。图中80C51的TXD脚提供CLK信号;

RXD送出命令和读入数据;PI.1为片选信号与93c46的CS相连。

93c46与80c51单片机的接口之一

该电路需注意两点:

◎必须将TXD反相,以适应E2PROM时序需要;

◎P1.0作为93C46的读/写控制信号。

注:本方案中除起始位和“虚拟”数据位外,同步串口自动传送操作码、地址及数据的;

因为两种接口传送数据位顺序相反,所以数据要做倒序处理。

下面列出相关操作子程序:

<1)送起始位子程序

此时,P1.0和P1.1作为输出,PLO=1时选通93c46,Pu=l

时将指令写入93C46oP3.o和P3作为标准的I/O输出口线。

INSB:CLRPM;置片选无效

SETBPi.o;P1.0=l,使P3.o=l,P30接通DI

SETBP3.o;置位DI

NOP

NOP

SETBPu;置片选有效

NOP

NOP

SETBP3,1;时钟置高

NOP

NOP

CLRP3.1;时钟置低

RET

<2)数据倒序处理子程序

ASMB:MOVR6,#0;工作单元R6清零

MOVR7,#08H;计数器初值

CLRC

ALO:RLCA

XCHA,R6

RRCA

XCHA,R6

DJNZR7,ALO

XCHA,R6

RET

<3)读数据子程序

READ:MOVSCON,#00H;置串行口为方式。输出

ACALLINSB;送起始位

MOVA,#1000111IB;送命令和地址,读命令

ACALLASMB

MOVSBUF,A

JNBTI,$;等待发送完毕

CLRTI

MOVSCON,#10H;设为输入,REN=1

MOVRO,#BUF;指向数据缓冲区

CLRPLO;准备读入数据

JNBRL$;等待接收数据结束

CLRRI

MOVA,SBUF

ACALLASMB

MOV@R0,A

INCRO

JNBRI,$

CLRRI

MOVA,SBUF

ACALLASMB

MOV@R0,A

CLRPl.l;置片选无效

NOP

NOP

SETBPl.l;置片选有效

RET

<4)写数据子程序

WRITE:MOVSCON,#00H;置串行口为方式0

ACALLINSB;送起始位

MOVA,#O1OO1U1B;送命令和地址,写命令

ACALLASMB

MOVSBUF,A

JNBTI,$;等待发送完毕

CLRTI

MOVRO,#BUF;指向数据缓冲区

SETBPi.o;准备写入数据

MOVA,@R0

ACALLASMB

MOVSUBF,A

JNBTI,$;等待发送完数据

CLRTI

INCRO

MOVA,@RO

ACALLASMB

MOVSUBF,A

JNBTI,$

CLRTI

CLRPu;置片选无效

RET

2)利用软件仿真SPI实现的接口

若51的串口已被用,或认为串口使用不便,则可用软件来模拟SPI操作,包括时钟的产

生、数据的输入/输出等。

其硬件电路如图2-18所示。图中斯密特触发器74HC14是对时钟脉冲整形,提高抗噪能

力。

图2-1893c46与80c51单片机的接口之二

软件仿真常用的操作子程序如下:

<1)送起始位“1”子程序INSB

功能:80c51向93c46送出“1”

INSB:SETBP..3;置片选无效

CLRPLo;时钟置低

SETBPu;置位DI

NOP

NOP

CLRP1.3;置片选有效

NOP

NOP

SETBPL0;时钟置高,移入数据

NOP

NOP

CLRP,.o;时钟置低

RET

<2)写入8位数据子程序WRI

功能:80C51向93c46送出8位数据<2位操作码和6位地址码或是8位数据)。若是16

位数据,可分两次传送。

入口参数:8位数据在A中。

程序如下:

WRI:MOVR4,#8;写入数据的位数

W10:RLCA

MOVPi.,,C;将CY送DI

NOP

NOP

SETBPi.o;时钟置高,移入数据

NOP

NOP

CLRP10;时钟置低

DJNZR4,WIO;未完,继续

RET

<3)读取8位数据子程序RDI

功能:80c51从93c46的DO引脚读取8位数据。

入口参数:无。出口参数:读出的8位数据在A中。

RDI:MOVR4,#8;读取的数据位数

RIO:NOP

NOP

SETBPLO;时钟置高,移出数据

NOP

NOP

CLRPi.o:时钟置低

MOVC,Pi,2;数据从DO读入CY

RLCA

DJNZR4,RIO;未完,继续

RET

<4)向93C46写入16位数据

功能:80C51向93c46写入16位数据。

入口参数:B寄存器:存待写8位指令<2位操作码、6位地址码A5—A0>;

R2:存待写数据的高8位;R3:存待写数据的低8位。

出口参数:无。

程序如下:

WRITE:LCALLINSB;送起始位“1”

MOVA,#30H;擦/写允许指令

LCALLWRI

LCALLINSB

MOVA,B;写入指令

LCALLWRI

MOVA,R2;写入高8位

LCALLWRI

MOVA,R3;写入低8位

LCALLWRI

SETBPi.3;置片选为无效

NOP

NOP

CLRPi,3;片选有效

WAIT:JNBPi.2.WAIT;编程未完,等待

LCALLINSB

MOVA,#00H;擦/写禁止指令

LCALLWRI

SETBPi.3;置片选为无效

RET;返回

<5)从93c46读取16位数据

功能:80c51从93c46读取16位数据。

入口参数:B寄存器:存待写8位指令<2位操作码,6位地址码A5〜A0>。

出口参数:R2:存读出数据高8位。R3:存读出数据低8位。

程序如下:

READ:LCALLINSB;送起始位“1”

MOVA,B;写读出指令

LCALLWRI

NOP

NOP

LCALLRDI

MOVR2,A;读出高8位

LCALLRDI

MOVR3,A;读出低8位

SETBP1.3;置片选为无效

RET

2.312c标准总线

2.3.112c标准总线介绍

在器件之间用两根信号线SDA和SCL以串行方式进行信息传送,并允许若干兼容器件

共享的双线总线。

SDA线:串行数据线,双向传输数据;

SCL线:串行时钟线,同步数据线上的数据。

12c器件的SDA和SCL引脚均开漏。故总线上所有器件的SDA和SCL需分别接在一

起,通过电阻与电源连接,如图。

图2-1912c总线系统的示意图

12c总线上器件按功能分为主器件和从器件。

主器件:控制总线,产生时钟、启动传送和结束传送信号。总线必须由一个主器件控制。

从器件:被主器件寻址,根据主器件的命令,收、发数据。

系统中可有多个主器件,FC总线系统允许多主。

系统中任一器件可有4种工作方式:

主发送方式、主接收方式、从发送方式和从接收方式。

总线上所有器件是按如下传输协议工作的:

仅当总线不忙时,数传才能开始;

数传期间若时钟线为高,则数据线必须保持稳定,否则将认为是传送的开始或停止。

总线条件定义:

1)总线不忙(空闲〉

SCL和串行数据线SDA都保持高电平。

2)数据传送开始

起始信号START:SCL保持高,SDA上一个由高到低的变化。如图2-20所示。

总线上所有命令必须在起始条件以后进行。

SDA--/

SCL-/

起始条件(S)停止条件(P)

图2-20起始条件和停止条件

3)数据传送停止

停止信号STOP:SCL保持高,SDA上发生由低到高的过程。见图2-20。

总线上所有操作必须在停止条件以前结束。

4)数据有效

起始信号后位传输开始。每位需一个时钟脉冲。

SCL保持高,SDA稳定的状态表示有效的数据。

在SCL为低期间,数据线状态应改变。

数据有效

图2-2112c总线上的位传输

每次数传在START下启动,在STOP下结束。重复的START将结束前一个传送过程,但

不释放尸C总线,可接着下一个传送过程。

12c总线上数传有两种方式,由START后的第一个字节的最低位(即方向位〉决定。

<1)主发送到从接收。

主器件产生START后,发送的第一个字节为从地址字节〈高7位为从器件的地址,最

低位为方向位R/诃,此时该位为0>,随后发送数据字节,如图2-22所示。

发送的数据可以是单字节或一串数据,由主器件决定。

从器件每接收一个数据字节后,都返回一个应答信号ASK=0,即第9个时钟脉冲时数

据线低为应答信号A,高为非应答信号。

来门接收器

的应齐信号

<zx

从地址

力响位(R/W)

图2-22主发送到从接收

<2)从发送到主接收。

从器件收到主器件发的从地址和值为1的方向位后,返回一个应答信号(ASK=O>,接着

从器件发数据给主器件,主器件每收一个数据字节,都返回一个应答信号。

在接收从器件最后一个字节后,主器件发送一个“非应答信号X”,即终止从器件继续发

送。

从器件发送的数据可以是单字节或一串数据。

12c总线的主要功能:

①在主、从器件之间双向传送数据;

②无中间主器件的多主总线;

③多主传送时不发生错误;

④可以使用不同的位速率;

⑤串行时钟作为交接信号;

⑥可用于测试和诊断目的。

有12c总线的单片机可直接用12c进行串行扩展;

51单片机大多无FC总线接口,可用软件模拟来实现系统的串行扩展。

单片机应用系统多为单主结构,其数传状态较简单,无总线竞争与同步问题,仅有单

片机对12c总线的读/写操作。简化了模拟软件的设计工作。

2.3.280C51单片机模拟12c总线应用实例

1.PCF8574的特性及引脚说明

是带I2C的8位准双向口的单片CMOS电路,在12c总线系统中仅作从器件。

特点:低损耗,静态电流10%4;输出电流大,可直接驱动LED发光管;

3根地址引脚使一个系统可接8片一;最高时钟频率为400kHz;

有中断逻辑线。

引脚排列如图2-23,功能如下:

AO—V<r

AI215—SDA

A23N——SCL

PO413_1?3T

PI512一P7

P26•>f

P3710一P5

\'、、

L!_

图2-23PCF8574外部引脚

SDA:串行数据线,双向。

SCL:串行时钟线,输入。

P7〜P0:8位准双向入/出口。上电复位均为高,某位作输入前应置为高。

A2-A0:地址输入线。

而:中断输出线,低有效。

2.PCF8574的寻址方式及操作

1)控制字节和器件寻址

控制字节跟在开始条件后,结构见图2-24:

前4位控制码规定器件的型号:O1OO—PCF8574;0111—PCF8574A«

接下来3位A2、Al、A0与引脚接法对应,指明同一种器件的不同芯片。

|-------------------------从地址---------------------

SIOIIIOIOIA2IAIIAOIRJB|A

(a)

|----------------------从地址------------------------

SIOIII1IIIA2IAlIAOIR/WIA

(b)

图2-24PCF8574及PCF8574A控制字节的配置

2)读操作

将接口数据传给主器件,时序如下图。

5VM^MywwwwYWWVWWV'

H—从地址—1r----输入数据————输入数据——

1c1n111n1n11^11''nvni'1'IIA1''hATAi''li11pl

111

LL1

哦n______________________f\_____________________n_____________________]

111

阳呼Un[VDRAAITAA]1।1kyIDJARTIA,.)AY1JHAITAJ入।'n;\TAi।

S-h----------------------』------------------‘一

信号,

图2-25读操作的时序

3)写操作

将主器件的数据传给PCF8574口,时序如下图。

SCL7W际小AAAA/Vwvwwywwwwyv

1-------从地址-------11-------输出数据-------*1-------输出数据

SDA|S|0|1|01o|A2|AI|AO|o|AD/XTAIA|DATA24_

写到口

端口输出数据(DATA1有效

图2・26写操作的时序

3.PCF8574应用和编程

1)通用子程序编写

模拟12c总线一般用两根I/O线。设用P1.6作SCL线,P1.7作SDA线。

软件仿真先编写通用子程序,包括:启动、停止、发送应答位及非应答位、应答位检

查、单字节数据接收与发送等,供接口操作程序调用。

子程序v设晶振频率为6MHz,否则应适当增减程序中的NOP指令)如下:

SDABITP1.7

SCLBITPl.6

;启动12c总线子程序

STA:SETBSDA

SETBSCL

NOP

SDA--

NOP

CLRSDASCL

NOP起始条件(S)

NOP

CLRSCL

NOP

RET

;停止12c总线子程序

STOP:CLRSDA

SETBSCL

NOP

SDA

NOP

SETBSDA

停止条件(P)

NOP

NOP

CLRSCL

NOP

RET

O发送应答位子程序

MACK:CLRSDA

SETBSCL

未口馍收M

NOP

SDA

NOP

CLRSCL

SCL

SETBSDA

RET

O发送非应答位子程序

NACK:SETBSDAs

SETBSCL

NOPSDA

NOP

CLRSCLSCL

CLRSDA

RET

o应答位检查子程序。出口时,SDA线的状态存入标志位FO中。有ACK

FO=0,否则FO=1

CACK:SETBSDA;SDA为输入状态

SETBSCL;第9个时钟脉冲开始

NOP

MOVC,SDA;读SDA线

MOVFO,C;存入FO中

CLRSCL;第9个时钟脉冲结束

NOP

RET

;发送一字节数据子程序。将Acc中待发数据送入SDA线

WRBYT:MOVR7,#8;发送8位

WRBYTkRLCA;将发送位移入C中

JCWRBYT2:此位为1,转WRBYT2

CLRSDA;此位为0,发送0

SETBSCL;时钟脉冲开始

NOP

NOP

CLRSCL;时钟脉冲结束

DJNZR7,WRBYT1;未发送完,转WRBYT1

RET

WRBYT2:SETBSDA;此位为1,发送1

SETBSCL;时钟脉冲开始

NOP

NOP

CLRSCL;时钟脉冲结束

CLRSDA

DJNZR7,WRBYT1;未发送完,转WRBYT1

RET

;接收一字节子程序。从SDA上读一字节数据,存ACC中

RDBYT:MOVR7,#8;接收8位

RDBYT1:SETBSDA;SDA为输入状态

SETBSCL;时钟脉冲开始

NOP

MOVC,SDA;读SDA线

RLCA;移入新接收位

CLRSCL;时钟脉冲结束

DJNZR7,RDBYT1;未读完8位,转RDBYT1

RET;读完8位,返回

2)PCF8574作扩展8位输入口

图2-27PCF8574读方式的连接

程序如下:

RD8:ACALLSTA;开始条件

MOVA,#41H;PCF8574为读方式

ACALLWRBYT

ACALLCACK;检查ACK信号

JBFO,$

ACALLRDBYT;读数据

MOV30H,A

ACALLCACK

JBFO,$

ACALLSTOP

SJMP$

3)PCF8574作扩展8位输出口

PCF8574作扩展8位输出口的连接如图2-28所示。

i

r——T

nnnnnn

2XIOU2«X470QuuuHuu

——

—T

XTAL2

TfPCF8574—

6MHz匚二]P”

HI—11XTALIP「

30pF

80csi

图2-28PCF8574写方式的连接

程序如下:

WR8:ACALLSTAo开始条件

MOVA,#40HoPCF8574为写方式

ACALLWRBYT

ACALLCACKo检查ACK信号

JBFO,$

MOVA,#OFFHo改变立即数,指示灯亮与暗也改变

ACALLWRBYT

ACALLCACK。检查ACK信号

JBFO,$

ACALLSTOPo停止条件

AJMP$

4)PCF8574作扩展4位输入口和4位输出口

硬件连接如图2-29所示。

图2-29PCF8574高4位输入、低4位输出的连接

程序如下:

START:ACALLSTA。开始条件

M0VA,#41H。PCF8574为读方式

ACALLWRBYT

ACALLCACK。检查ACK信号

JBF0,$

ACALLRDBYT。读数据

SWAPA

CPLA

MOV30H,A

ACALLSTOP

ACALLSTA。开始条件

MOVA,#40HoPCF8574为写方式

ACALLWRBYT

ACALLCACK。检查ACK信号

JBFO,$

MOVA.30H

ACALLWRBYT

ACALLDELAY。延时子程序

ACALLSTOP«停止条件

AJMPSTART

第3章预处理电路及数据采集

3.1概述

3.2传感器及其应用

3.3模拟信号放大电路

3.4DAC接口

3.5ADC接口

3.6数据采集系统

习题与思考题

课时安排:12+4〈实验)

知识点:DAC接口,对DAC接口编程产生所需的波形,ADC的主要信号线,ADC与

单片机的基本接口方法,常用的ADC芯片如AD0809、5Gl4433等与单片机的接口,数据

采集系统的结构、模拟开关、采样保持电路、单片机数据采集系统,串行DAC接口、串

行ADC接口。

重点:DAC与单片机接口,ADC与单片机接口的一般方法,常用的ADC芯片与单片机

的接口,AD363单片数据采集系统。

难点:多于8位的DAC和ADC与8位单片机80c51的接口。

教案方法:主要采用课堂讲授方式,因为涉及的知识面较宽,转换器的种类多,接口的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论