双单片机的并行与通信

合集下载

单片机并行通信接口技术原理与实现

单片机并行通信接口技术原理与实现

单片机并行通信接口技术原理与实现概述:单片机是嵌入式系统中的重要组成部分,而通信接口则是单片机与外部设备进行数据交互的关键技术。

并行通信接口作为一种常见的通信方式,具有高速、并发的特点,被广泛应用于单片机系统中。

本文将介绍单片机并行通信接口的技术原理与实现方法。

一、并行通信接口的基本原理并行通信接口是指通过同时传输多个数据位进行数据交换的通信方式。

它与串行通信接口相比,具有更高的传输速率和更低的延迟。

在单片机系统中,常用的并行通信接口有I/O口、并口和总线接口等。

下面将分别介绍它们的工作原理。

1. I/O口通信接口I/O口通信接口是将单片机的某个GPIO口作为通信接口,通过并行传输数据。

它的简单性和灵活性使得它成为很多单片机通信接口的基础。

工作原理如下:- 将GPIO口设置为输出模式,输出待发送的数据;- 通过控制GPIO口的高低电平来表示数据的0和1;- 接收数据时,将GPIO口设置为输入模式,读取外部设备传输的数据;- 利用GPIO口的输入电平来判断接收的是0还是1。

2. 并口通信接口并口通信接口是指通过多根数据线同时传输数据的通信方式。

它一般采用一对多的连接方式,即单片机的并口与多个外部设备的并口相连。

工作原理如下:- 单片机通过特定的控制信号(如读取、写入、使能等)来选择与哪个外部设备进行通信;- 单片机和外部设备通过多根数据线同时传输数据;- 外部设备根据控制信号的状态来判断通信的状态,如读取或写入数据。

3. 总线接口总线接口是指通过一组数据线和控制信号线来连接单片机与外部设备的通信方式。

它可以是8位、16位或32位的数据总线,也可以包含地址总线和控制总线。

总线接口在复杂的系统中更加常见。

工作原理如下:- 单片机和外部设备通过数据总线进行数据传输;- 单片机通过控制总线发送控制信号,如读写信号、使能信号等;- 外部设备根据控制信号的状态来控制数据的读取或写入;- 地址总线用于指定要读取或写入的设备或寄存器的地址。

单片机双机串口通信

单片机双机串口通信

单片机双机串口通信在现代电子技术领域,单片机的应用无处不在。

而单片机之间的通信则是实现复杂系统功能的关键之一。

其中,双机串口通信是一种常见且重要的通信方式。

什么是单片机双机串口通信呢?简单来说,就是让两个单片机能够通过串口相互交换数据和信息。

想象一下,两个单片机就像是两个小伙伴,它们需要交流分享彼此的“想法”和“知识”,串口通信就是它们交流的“语言”。

串口通信,顾名思义,是通过串行的方式来传输数据。

这和我们日常生活中并行传输数据有所不同。

在并行传输中,多个数据位同时传输;而在串行传输中,数据一位一位地按顺序传送。

虽然串行传输速度相对较慢,但它所需的硬件连线简单,成本较低,对于单片机这种资源有限的设备来说,是一种非常实用的通信方式。

在进行单片机双机串口通信时,我们首先要了解串口通信的一些基本参数。

比如波特率,它决定了数据传输的速度。

就像两个人说话的快慢,如果波特率设置得不一致,那么双方就无法正常理解对方的意思,数据传输就会出错。

常见的波特率有 9600、115200 等。

还有数据位、停止位和校验位。

数据位决定了每次传输的数据长度,常见的有 8 位;停止位表示一个数据帧的结束,通常是 1 位或 2 位;校验位则用于检验数据传输的正确性,有奇校验、偶校验和无校验等方式。

为了实现双机串口通信,我们需要在两个单片机上分别进行编程。

编程的主要任务包括初始化串口、设置通信参数、发送数据和接收数据。

初始化串口时,我们要配置好相关的寄存器,使其工作在我们期望的模式下。

比如设置波特率发生器的数值,以确定合适的波特率。

发送数据相对来说比较简单。

我们将要发送的数据放入特定的寄存器中,然后启动发送操作,单片机就会自动将数据一位一位地通过串口发送出去。

接收数据则需要我们不断地检查接收标志位,以确定是否有新的数据到来。

当有新数据时,从接收寄存器中读取数据,并进行相应的处理。

在实际应用中,单片机双机串口通信有着广泛的用途。

比如在一个温度监测系统中,一个单片机负责采集温度数据,另一个单片机则负责将数据显示在屏幕上或者上传到网络。

单片机单片机课程设计-双机串行通信

单片机单片机课程设计-双机串行通信

单片机单片机课程设计-双机串行通信单片机课程设计双机串行通信在当今的电子信息领域,单片机的应用无处不在。

而双机串行通信作为单片机系统中的一个重要环节,为实现设备之间的数据交换和协同工作提供了关键的技术支持。

一、双机串行通信的基本原理双机串行通信是指两个单片机之间通过串行接口进行数据传输的过程。

串行通信相较于并行通信,具有线路简单、成本低、抗干扰能力强等优点。

在串行通信中,数据是一位一位地按顺序传输的。

常见的串行通信协议有 UART(通用异步收发器)、SPI(串行外设接口)和 I2C(内部集成电路)等。

在本次课程设计中,我们主要采用 UART 协议来实现双机串行通信。

UART 协议包括起始位、数据位、奇偶校验位和停止位。

起始位用于标识数据传输的开始,通常为逻辑 0;数据位可以是 5 位、6 位、7 位或 8 位,具体取决于通信双方的约定;奇偶校验位用于检验数据传输的正确性,可选择奇校验、偶校验或无校验;停止位用于标识数据传输的结束,通常为逻辑 1。

二、硬件设计为了实现双机串行通信,我们需要搭建相应的硬件电路。

首先,每个单片机都需要有一个串行通信接口,通常可以使用单片机自带的UART 模块。

在硬件连接方面,我们将两个单片机的发送端(TXD)和接收端(RXD)交叉连接。

即单片机 A 的 TXD 连接到单片机 B 的 RXD,单片机 B 的 TXD 连接到单片机 A 的 RXD。

同时,还需要共地以保证信号的参考电平一致。

此外,为了提高通信的稳定性和可靠性,我们可以在通信线路上添加一些滤波电容和上拉电阻。

三、软件设计软件设计是实现双机串行通信的核心部分。

在本次课程设计中,我们使用 C 语言来编写单片机的程序。

对于发送方单片机,首先需要对 UART 模块进行初始化,设置波特率、数据位、奇偶校验位和停止位等参数。

然后,将要发送的数据放入发送缓冲区,并通过 UART 发送函数将数据一位一位地发送出去。

对于接收方单片机,同样需要对 UART 模块进行初始化。

单片机中的并行通信接口设计原理

单片机中的并行通信接口设计原理

单片机中的并行通信接口设计原理在现代的电子设备中,单片机作为一种关键的嵌入式系统,广泛应用于各个领域。

而并行通信接口是单片机与外部设备进行数据传输的重要手段之一。

本文将介绍单片机中的并行通信接口的设计原理及其工作原理。

首先,我们需要了解什么是并行通信。

并行通信是指同时传输多个数据位的通信方式。

在单片机中,通常采用的是并行数据总线传输方式。

该方式将数据位按位并行传输,有效提高了传输速度。

在单片机中实现并行通信接口的设计需要考虑以下几个方面:数据位宽度、时序控制、协议设计等。

首先是数据位宽度的选择。

数据位宽度指的是单次传输的数据位数。

要根据实际需要和单片机的性能来确定数据位宽度。

一般而言,数据位宽度越大,传输速度越快,但同时也需要更多的引脚。

因此,在实际设计中需要权衡数据传输速度和引脚资源消耗之间的关系。

接下来是时序控制。

时序控制是指控制数据传输的时钟信号。

单片机需要通过时钟信号来同步数据的传输,保证数据的准确性和稳定性。

在设计时,需要定义好时钟信号的频率和时序,确保数据的正确传输。

协议设计也是并行通信接口设计的关键。

在单片机与外部设备之间进行数据传输时,需要制定一套协议来确定数据的格式和传输规则。

常见的协议有同步传输和异步传输两种方式。

同步传输是通过时钟信号同步数据传输,传输速度快但对时钟信号要求较高。

异步传输是通过启动位和停止位来同步数据传输,对时钟信号要求较低但传输速度较慢。

在设计过程中,需要根据实际需求选择合适的协议。

在并行通信接口设计中,还需要考虑数据缓冲和错误检测处理。

数据缓冲是为了解决数据传输速度不匹配问题,确保数据的连续传输。

错误检测处理是为了检测数据传输中的错误,保证数据的准确性。

常见的错误检测处理方式包括奇偶校验、CRC校验等。

另外,还需要考虑电气特性的匹配。

单片机与外部设备之间的通信接口需要考虑电平匹配、功耗匹配等问题。

在设计过程中,需要根据实际情况选择合适的电气特性参数。

最后,我们需要注意并行通信接口的物理连接。

单片机与单片机之间的双向通信

单片机与单片机之间的双向通信

单片机与单片机之间的双向通信在现代电子技术领域,单片机扮演着至关重要的角色。

它们广泛应用于各种智能设备和控制系统中,从家用电器到工业自动化,从汽车电子到医疗设备,几乎无处不在。

而在很多复杂的应用场景中,常常需要多个单片机之间进行通信,以实现协同工作和数据共享。

其中,单片机与单片机之间的双向通信就是一种常见且关键的技术。

那么,什么是单片机之间的双向通信呢?简单来说,就是两个或多个单片机能够相互发送和接收数据。

想象一下,有两个单片机,就像是两个在对话的“小伙伴”,它们可以互相告诉对方自己的状态、采集到的数据或者发出控制指令,从而共同完成一个复杂的任务。

实现单片机之间双向通信的方式有多种,常见的包括串行通信和并行通信。

串行通信就像是单车道的公路,数据一位一位地按顺序传输。

它的优点是只需要少数几根线就能实现通信,节省了硬件资源,常见的串行通信方式有 UART(通用异步收发传输器)、SPI(串行外设接口)和 I2C(集成电路总线)等。

UART 是一种比较简单和常用的串行通信方式。

它不需要时钟信号,通过起始位、数据位、校验位和停止位来组成一帧数据进行传输。

在两个单片机之间使用 UART 通信时,需要分别设置好波特率、数据位长度、校验方式和停止位长度等参数,只有这些参数匹配,才能正确地收发数据。

SPI 则相对复杂一些,它需要四根线:时钟线(SCK)、主机输出从机输入线(MOSI)、主机输入从机输出线(MISO)和片选线(CS)。

SPI 通信速度较快,适合于高速数据传输的场景。

I2C 只需要两根线,即串行数据线(SDA)和串行时钟线(SCL),通过地址来区分不同的从设备,实现多设备通信。

并行通信则像是多车道的公路,可以同时传输多位数据。

它的传输速度快,但需要更多的引脚,硬件成本较高,并且在长距离传输时容易受到干扰。

在实际应用中,选择哪种通信方式取决于具体的需求。

如果对通信速度要求不高,而硬件资源有限,UART 或者I2C 可能是较好的选择;如果需要高速传输大量数据,SPI 或者并行通信可能更合适。

通信协议简介及区别(串行、并行、双工、RS232等)

通信协议简介及区别(串行、并行、双工、RS232等)

基本的通讯方式有并行通讯和串行通讯两种。

并行通讯:一条信息的各位数据被同时传送的通讯方式称为并行通讯。

并行通讯的特点是:各数据位同时传送,传送速度快、效率高,但有多少数据位就需多少根数据线,因此传送成本高,且只适用于近距离(相距数米)的通讯。

串行通讯:一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。

串行通讯的特点是:数据位传送,传按位顺序进行,最少只需一根传输线即可完成,成本低但送速度慢。

串行通讯的距离可以从几米到几千米。

根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。

信息只能单向传送为单工;信息能双向传送但不能同时双向传送称为半双工;信息能够同时双向传送则称为全双工。

而按照串行数据的时钟控制方式,串行通信又可分为同步通信和异步通信两种方式。

异步通信:接收器和发送器有各自的时钟;同步通信:发送器和接收器由同一个时钟源控制。

1、异步串行方式的特点所谓异步通信,是指数据传送以字符为单位,字符与字符间的传送是完全异步的,位与位之间的传送基本上是同步的。

异步串行通信的特点可以概括为:①以字符为单位传送信息。

②相邻两字符间的间隔是任意长。

③因为一个字符中的比特位长度有限,所以需要的接收时钟和发送时钟只要相近就可以,不需同步。

④异步方式特点简单的说就是:字符间异步,字符内部各位同步。

2、异步串行方式的数据格式异步串行通信的数据格式如图1所示,每个字符(每帧信息)由4个部分组成:①1位起始位,规定为低电0;②5~8位数据位,即要传送的有效信息;③1位奇偶校验位;④1~2位停止位,规定为高电平1。

3、同步串行方式的特点所谓同步通信,是指数据传送是以数据块(一组字符)为单位,字符与字符之间、字符内部的位与位之间都同步。

同步串行通信的特点可以概括为:①以数据块为单位传送信息。

②在一个数据块(信息帧)内,字符与字符间无间隔。

③因为一次传输的数据块中包含的数据较多,所以接收时钟与发送进钟严格同步,通常要有同步时钟。

单片机与单片机通信原理

单片机与单片机通信原理
单片机与单片机之间的通信原理是通过串行通信或并行通信进行的。

串行通信是指将数据按位顺序传输,而并行通信则是同时传输多个位。

在串行通信中,需要使用UART(通用异步收发器)进行通信。

UART将数据转换为适合传输的格式,并通过一个线路将数据发送到接收方。

在发送数据时,发送方将数据发送到UART
的发送缓冲区中,UART会按照设定的速率将数据按位发送。

接收方的UART会接收到发送方发送的数据,将其保存在接
收缓冲区中,然后应用程序可以从接收缓冲区中读取数据。

在并行通信中,通常使用I2C(双线串行总线)或SPI(串行
外围接口)进行通信。

I2C通信使用两根线路:数据线(SDA)和时钟线(SCL)。

发送方通过SDA线将数据发送给接收方,同时使用SCL线提供时钟信号。

接收方通过SCL线接收时钟
信号,并从SDA线上读取数据。

SPI通信需要至少四根线路:时钟线(SCK)、主设备输出(MOSI)、主设备输入(MISO)和片选线(SS)。

在SPI
通信中,主设备通过时钟线提供时钟信号,通过MOSI线发送数据给从设备,并通过MISO线接收从设备传输的数据。

片选线用于选择将要进行通信的从设备。

无论是串行通信还是并行通信,单片机之间的通信都需要事先约定好通信协议和参数设置,以确保数据的准确传输。

通信协
议可以包括数据格式、波特率等。

同时,通信的双方也需要进行数据的校验和错误处理,以防止数据传输中的错误或丢失。

互为主从双单片机数据并行通信系统

8 D锁存嚣 I 1 " D Q
一 — 一 —
图 2 双 机 通 信 接 I 电路 Z l
1 ,
8) I
8' Q
图 l 7 L 3 3原 理 结 构 图 4S 7
7I33是 一 种 带 有 输 出 三 态 门 的 8 4_ 7 5 D 锁存器 , 其结构原理如图 l 所示.由图可知 , 7L33 由 8 4 S7 是 D锁 存 器 及 输 出 三 态 门 两 部 分组 成 .① 当 G控 制端 为 高 电平 时 ,D锁 存 8 器的 输 出端 l 8 输 入 端 l 8 Q Q与 D D的状 态相同 ; G由高 电平 变为低 电平 时 ( 当 负跳 变)将跳变前输入端 l , D一8 D的状态锁存 到 输 出端 l 8 Q Q 中. ② 当 输 出 控 制 端 E为 低 电平 时 , 态 门 是 导 通 的 , 态 门 的输 出 三 三 l 8 与 l Q 是 对 应 相 同 的 , 输 出 Q Q Q 一8 当 控制 端 E为 高 电平 时 , 态 门是 断 开 的 , 三 三 态 门 输 出 l 8 处 于 浮 空 状 态 ( 阻 状 Q Q 高 态 ) .
三条通信协议联络线 , 其定义和功能如下; P .采集 机 发 送 数 据 允 许 控 制 线 ( 理 : 处
维普资讯
试验技术 与试验机
20 年 02
第4卷 2
第 34 , 期
一 5 一 9
机接 收 数 据 允 许 控 制 线 ) 当 P. . 1 .=0时 , 允
在 图示双 机互 为主从 并 行通 信 接 口电路 中 , 并 行 接 口 电 路 结 构 是 相 同 的 . 采 用 其 717 作 为 通 信 并 行 数 据 缓 冲 器 ,15 口 4. 3 3 85A 作 为数 据发 送 通 道 , B口作 为数 据 接 收 通道 . 单片机系统写信号W 和有效地址 信号共 同 R 控制 数据 缓 冲器 的 输 入 锁 存 控 制 端 G, A 将 口发 送 的数据 锁 人数 据 缓 冲器 ,∽控 制 数 据 P 缓 冲 器输 出允 许 端 E, 过 IT . 中 断 服 务 通 NO 子程 序将 数据 由 85B 口读入 单 片机 外 部 数 15 据存 贮 区 , 由软 件 设 置 IT 的 中 断 优 先 级 低 NO 于IV 的中 断优 先 级 , 样 可 以 确 保 数 据 采 ~F l 这 集 机 的实 时数 据采 集 . 2 数据 通信 协议 为 了保证双机数据通信的正确性和可靠 性, 在通 信接 口电路 中设 置 了 P ,¨和 P P

单片机中的并行通信接口原理与应用

单片机中的并行通信接口原理与应用单片机是一种集成在一片硅上的微型计算机,广泛应用于各个领域,包括工业控制、嵌入式系统和通信设备等。

在许多单片机中,都存在并行通信接口,用于实现与外部设备的高速数据传输。

本文将介绍单片机中的并行通信接口的原理和应用。

首先,我们来了解一下并行通信接口的基本原理。

并行通信接口是指单片机与外部设备之间通过多条并行数据线同时传输数据的接口。

相比于串行通信接口,它具有更高的传输速度和更大的数据带宽。

在单片机中,常见的并行通信接口有并行接口总线(Parallel Interface Bus,PIB)和外部总线接口(External Bus Interface,EBI)等。

在并行接口总线中,数据的传输是通过多条数据线同时进行的。

一般而言,总线的数据线数量越多,数据传输的速度就越快。

在单片机中,常用的并行接口总线有数据总线(Data Bus)、地址总线(Address Bus)和控制总线(Control Bus)等。

数据总线用于传输数据,地址总线用于传输目标设备的地址,控制总线用于控制数据传输的开始、停止和中断等。

通过这些总线,单片机可以与外部设备进行高速数据传输。

除了并行接口总线,单片机还可以通过外部总线接口与外部设备进行通信。

外部总线接口允许单片机通过给定的引脚与外部设备进行数据的收发。

在外部总线接口中,单片机通过读取和写入不同的引脚来实现数据的传输。

外部总线接口通常包括数据引脚、地址引脚、控制引脚和时钟引脚等,通过这些引脚,单片机可以与外部设备进行数据的读写和控制。

在实际应用中,单片机的并行通信接口被广泛应用于各个领域。

例如,在工业控制系统中,单片机可以通过并行通信接口与传感器、执行器等设备进行数据的传输和控制。

通过这种方式,单片机可以实现对生产过程的监测和控制,提高生产效率和质量。

此外,在嵌入式系统中,单片机的并行通信接口可以用于与外部存储器的交互,实现数据的读写和存储。

这对于嵌入式系统的数据处理和存储非常重要。

单片机双机通信接口应用

单片机双机通信接口应用在现代电子技术领域,单片机的应用越来越广泛。

单片机之间的通信成为实现复杂系统功能的关键环节之一。

双机通信接口的应用,为各种设备之间的数据交换和协同工作提供了有效的途径。

单片机,简单来说,就是在一块芯片上集成了微处理器、存储器、输入输出接口等功能部件的微型计算机。

它具有体积小、成本低、可靠性高、控制功能强等优点,被广泛应用于工业控制、智能仪表、家用电器、通信设备等众多领域。

双机通信,指的是两个单片机之间进行数据传输和信息交换。

实现双机通信的关键在于通信接口的选择和配置。

常见的双机通信接口方式有串行通信和并行通信。

串行通信是指数据一位一位地按顺序传输。

这种方式只需要少数几根数据线,就能在两个设备之间进行通信,因此硬件成本较低,连线简单。

串行通信又分为同步串行通信和异步串行通信。

异步串行通信相对简单,不需要时钟信号进行同步,通信双方按照约定的波特率和数据格式进行通信。

例如,常见的 UART(通用异步收发器)就是一种异步串行通信接口。

并行通信则是数据的各位同时进行传输。

它的传输速度快,但需要较多的数据线,硬件成本较高,连线也较为复杂。

在实际应用中,并行通信通常用于短距离、高速的数据传输。

在选择双机通信接口时,需要考虑多种因素,如通信距离、数据传输速率、系统复杂度、成本等。

如果通信距离较远,对传输速率要求不高,串行通信是一个较好的选择;如果需要高速传输大量数据,且通信距离较短,并行通信可能更为合适。

以两个基于 51 单片机的系统为例,来探讨一下双机通信的实现。

假设我们要实现一个温度监测系统,一个单片机负责采集温度数据,另一个单片机负责接收并处理这些数据,然后进行显示或控制。

对于串行通信,我们可以使用 UART 接口。

首先,需要对两个单片机的 UART 进行初始化设置,包括波特率、数据位、停止位、校验位等参数。

然后,发送方将温度数据按照约定的格式进行封装,并通过UART 发送出去;接收方则不断监测 UART 接收缓冲区,当有数据到达时,进行读取和解析。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

应甩科学SI I。

I C oNL L E Y粒德双单片机的并行与通信熊科(江西工业贸易职业技术学院机电技术系江西南昌330366)中图分类号:TP2文献标识码:^文章编号:1671—7597(2008)∞10090—01一、引育随着计算机技术、单片机技术、电子技术及数控技术的发展,计算机数控(cN c)系统也得到了迅速发展,其技术也同趋成熟。

世界上许多发达的T业化国家已广泛应用数控机床,数控化程度已成为衡量一个国家工业化程度和技术水平的重要标志之一。

随着CN C系统性能的不断提高和功能的不断多元化,它在航天、造船、汽车、模具、动力等各个机械制造领域得到了广泛的应用,其市场前景十分可观[卜2]。

目前,数控机床的控制系统大多采用的是单板计算机,其结构相对比较复杂,性能价格比相对较低,致使数控机床在我国的普及率不高,在很大程度卜制约了我国制造业的发展[3—4]。

采用单片机技术,不仅可以达到机床控制系统的要求,而且可以大幅地提高数控机床的性能价格比,满足越来越多的低代价、高技术的机械加工需求。

但单片机运算速度相对较慢[5],单块单片机难以满足数控系统的控制运算速度的要求。

为了提高系统处理速度,保证数控系统的加工速度与加工精度,采用双单片机或多单片机并行控制方式[6]。

如何提高单片机的并行率,提高单片之间通信的可靠性是双单片机或多单片机并行控制系统中要解决的核心问题。

二、双单片机的并行与通信控翻如图1所示,在基于双单片机的数控系统中,单片机A主要负责加工数据的运算,单片机B主要负责依据单片机A的运算结果对各种运动进行控制[7]。

单片机A8031单片机B8751P1.o_P1.7P1.O—P1.7P3.4P3.2(Ⅱ啪)P3.2ⅡN1D)P3.4G N D G N D图1单片机A和B之间的接口单片机A所产生的数据结果有四种,它们分别是:步进电机进给速度命令、步进电机进给方向命令、主轴控制命令、刀具控制命令。

为了提高通信效率,按如下含义定义数据代码:D7D6D5D4D3D2D1D o。

(1)D7D6=00,表示该8位数据为步进电机的进给速度命令,且进给速度为:[(D7D6D5D4D3D2D l D o)2]x[(D7D6D5D4D3D2D l D o)2](转/分),即为连续两字节的乘积。

(2)D7D6=0l,表示该8位数据为刀具控制命令,且D5D4D3D2D lD o编码表示所需替换的刀具。

(3)D7D6=l O,表示该8位数据手轴控制命令,且D4D3D2D1D0的32个五位二进制编码分别表示主轴转速的等级,当D4D3D2D l D0=00000时,则主轴停止运转;D5=0,表示主轴止转,D5=l,表示主轴反转。

(4)D7D6=11,表示该8位数据为步进电机进给方向命令,且D l D0=00,表示x轴不运动;D l D0:01,表示X轴正向进给i D1D0=l O,表示X轴作反向进给:D3D2=00,表示Y轴不运动:D3D2=01,表示Y轴作正向进给;D3D2=l O,表示Y轴作反向进给;D5D4=00,表示z轴不运动;D5D4:00,表示z轴作正向进给;D5D4=00,表示z轴作反向进给运动。

如图l所示,单片机A的P1.O’P1.7直接与单片机B的P1.O’P1.7对应相联,用于将单片机A分析所得的加工微操作命令传送给单片机B。

单片机A与单片机B之间除了要进行这种传递之外,它们又各自成独屯的计算机系统,都具有分析计算、端u控制和处理中断的能力。

为了提高’色们并发运行的效率,单片机A与单片机B之间数据传递采用相互中断的方式。

单片机A的P3.4接r单片机B的P3.2,用于向单片机B发外部中断0信号;单片机B的P3.4接于单片机A的P3.2。

用于向单片机A发外部中断0信号。

单片机A与单片机B之间数据传递过程如图2所示。

图2单片机A与单片机B之问数据传递过程首先,由单片机A将数据写入端口,接着单片机A向单片机B发中断,激发单片机B将端口数据取走。

单片机B将端口数据取走后,又向单片机A发中断,激发单片机A将新的数据写入端口且向单片机B发中断……。

如此周而复始,不断循环下去。

在单片机B初始化时进入该循环。

为了提高它们之间数据传送的吞吐能力,在它们各自的数据存储区都开辟一个长度为16字节的数据缓冲区。

并将这16节的存储单元组织成循环队列结构。

用队列的首指针(FI R s T PoI N T)管理数据的取出队列作操,用队列的尾指针(E N D PO I N T)管理数据的添入队列操作。

循环队列结构如图3所示。

忙司时,设置队列满标志(F U LL)和宅标志(E肝TY),分别指示队列已满和已空。

在单片机A中,数据的添入队列操作由加工代码分析程序的一个模块完成;数据的取出队列操作由外部中断0的中断服务程序完成。

在单片机B中,数据的添入队列操作由外部中断0控制的程序完成:数据的取出队列操作由内部定时器的中断服务程序完成。

图3循环队列结构(1)单片机A中,数据添入队列操作模块A:若F U LL=1(队列已满),则重复步骤A,等待队列腾出空间。

B:关闭外部中断0C:将待添入的数据写入嗍IM所指单元中,且日I哪一0(队列非空)。

D:若EN DPO I N T=M A x—AD,则呻POINT—M IN—AD;否则E ND PO I N T一册J D P O I N T+1。

E:若E ND PO I N T=FTR sT PO I N T,则F1JL L一1(队列已满)。

F:开放外部中断O。

(2)单片机A中,外部中断0的中断服务程序(队列为非空时,才响应中断O)A:将FI R ST PO I N T所指单元的值送到Pl口,且FU L L—O(队列非满)。

B:若F I RS TP oI N T=l I A x-A D,则FI R sTPoI N T—M I N—A D;否则FI R ST POI N T—FT R ST PO I N T+1。

C:若E N D P O I N T=FI R ST PO I N T,则E肝T Y—l(队列已空),且关闭外部中断O。

(下转第97页)sD P of f er生成规则非常简单,即根据“本地表”复制生成事务表,将此状态转化为sD P of f er。

再根据s D P编码规则将此of f er转换为s D P描述。

今按照端到端说明本地表生成规则和sD P编码规则。

在产生一个提供前。

提供方必须为每个媒体流创建一个具有当前和期望状态的事务表。

SDP of f er描述的编码规则为:uA必须为媒体流产生一个带有e2e标志的当前状态行:如果两个方向期望的强度标志相同(如,都是m nda t or y),U A必须增加一个带有s endre cv标志的期望状态行。

如不同,则uA必须包含两个期望状态行.一个为se nd,另一个为r ec v;收发方向具有同样的强度标志,SD P编码时既可以写成两行(一行为sen d,另一行为r ec v),也可以合并写成sendr e cv的一行,它们语义相同。

但为了实现更为紧密的编码,要求强制选择后一种格式。

(二)SD P ans_er的产生同样,SD P ans聪r的生成规则也是根据应答方的本地表生成的。

需注意的是,在此本地表不是戍答方的初始本地表,而是根据提供方发送过来的SD P of f er,即事务表,修改初始本地表后得到的,然后再根据SD P编码规则转换成sD P描述。

因此,下面将着重描述本地表的修改规则,该规则也适用于SD P of f er的提供方根据该应答产生新提供时对其本地表的修改过程。

另外还将描述SD P ansW er的编码规则。

由于分段资源预留比较复杂,因此将以分段预留的s D P answ er产生为例来说明这两个规则。

本地表修改规则1.对端当前状态(r e∞t e/cur r e nt域)的修改规则。

因为U A关于本端的当前状态一般说来总是正确的,但关于对端的当前状态不一定和对端的实际情况相符,因此,根据收到的事务表l oc al/cur r ent域修改本地表r e m ot e/c ur r e nt域。

修改规则为:如本地表r e m ot e/c ur r e nt域和事务表10cal/cur r ent域取值相同,表明本端对对端当前状态认识正确,无需修改;如本地表r e∞t e/cur r ent域值是no,事务表l oca l/cur r ent域值是ye s,表明对端预留已完成,但本端信息还是未预留的过时信息,须改为yes;本地表r e∞t e/cu r r ent域值是ye s,事务表10ca l/cur r ent域值是no,须核查本端是否已收到对端发送的预留确认信息。

如已收到,表明预留完成,其值仍为yes;否则,表示本地表信息宵误,须改为n o。

2.本端当前状态(10c al/cur r e nt域)的修改规则。

本端当前状态一般无需改变,特殊情况也需修改。

修改规则为:如本地表l oc al/c ur r ent域磁翻应用科学和事务表r em o t e/cur r ent域取值相同,无需修改:如本地表10c al/cur r ent 域值是yes,事务表r em ot e/cur r en t域值是no,即本端预留已完成,但对端保留的还是“未预留”的过时信息,因此需修改事务表r e∞t e/cur r ent域值,改为y es。

本地表l ocal/cur r e nt域值是no,事务表r e∞t e/c ur r ent域值是yes,须核查本端是否已向对端发送预留确认信息。

如没发送,则对端保存的信息有误,要修改事务表r e∞t e/cur r e nt域值,改为no:如已发送,表示本地表信息有误.需改为y es。

3.期望状态的修改。

无论对本端还是对端、发送还是接收方向,其期望状态修改规则都相同。

原则是,对同一个预留子状态对象,其期望状态强度标志存在排列顺序:m nda t ot y opt i o nal none,其中呦da t or y具有最高级别,none是最低级别,本地表修改时只能提高而不能降低期望的强度。

因此期望状态的修改规则为:将本地表l ocal/send、10cal/r ecv、r e∞t e/send和r e∞t e/r ecv的期望强度和事务表r e啪t e/send、r e∞t e/r ecv、l o cal/send和10cal/r ecv的期望强度分别进行比较,如果值一致,表明两端Q。

s期望要求相同,无需修改;如果事务表中的期望强度低于本地表,也无需修改;否则,需改为事务状态表中的强度标志值。

(三)SD P answer发送的编码规则根据上述规则修改本地状态表后,应答方就根据该本地状态表复制生成事务状态表,然后将其编码牛成sD P描述。

相关文档
最新文档