串行接口及串行通信技术
串行通信及串行扩展技术

传感器数据采集
01
串行通信接口可以连接各种模拟或数字传感器,实现数据的实
时采集和传输。
数据处理与存储
02
通过串行通信将采集到的数据传输到上位机或数据中心,进行
进一步的处理、分析和存储。
系统监控与控制
03
串行通信可用于实现远程监控和控制,提高数据采集系统的灵
活性和可维护性。
在远程监控系统中的应用
01
特点
传输线少,成本低,适用于远距 离通信,但传送速度较慢。
串行通信协议
异步通信协议
以字符为单位进行传输,字符间通过 特定的起始位和停止位进行同步。
同步通信协议
以数据块为单位进行传输,通过同步 字符或同步信号实现收发双方的时钟 同步。
串行通信接口标准
RS-232C接口标准
定义了数据终端设备(DTE)和数据通信设备(DCE)之间的接口标准,采用 负逻辑电平,最大传输距离约15米。
串行扩展工作原理
01
数据传输
在串行通信中,数据以位为单位进行传输。发送端将数据按位依次发送
到传输线上,接收端按位接收并组合成完整的数据。数据传输过程中需
要遵循特定的通信协议和数据格式。
02
同步与异步通信
串行通信可分为同步通信和异步通信两种方式。同步通信需要发送端和
接收端保持严格的时钟同步,而异步通信则通过特定的起始位和停止位
无线化发展趋势
无线通信技术的普
及
随着无线通信技术的不断发展, 串行通信逐渐实现无线化,使得 设备间的通信更加灵活方便。
低功耗无线通信技
术
针对低功耗设备的需求,发展出 低功耗无线通信技术,延长设备 的续航时间。
无线通信安全性增
第10章串行通信

串行通信的异步传输模式
•以字符为基本通信单位 •起始位标志着每一个字符的开始 •停止位标志着每一个字符的结束
13
串行通信的异步传输模式
平时通信线处于空闲状态(“1”状态),当有数据 发送时,发送方首先发一“0”,称为起始位;
接着发送数据位,数据位可有5~8位组成。 然后是校验位,校验分奇校验、偶校验、置0、置1、
31
例 : 发 送 数 据 序 列 : 1010001101 , 生 成 多 项 式 : 110101。发送数据序列*25:101000110100000
x5x4x2x0
1010001101 00000 -- 1
110101
010110 -- 7
0111011 -- 2
101100 -- 8
110101
在简单的控制系统中,大都采用异步方式。 在许多对数据交换量不大的系统,也采用异步方式。 数据通信系统中采用同步方式。
21
串行异步通信的传输制式
单工:仅在一个方向上的数据传送。 半双工:两个方向上交替地传送数据,同一时间
只能在一个方向上。 全双工:可在两个方向上同时传送数据。
22
串行异步通信的同步
然后通信双方按照约定的波特率发送和采样对应数据 位。只要在一个字符传送期间,积累的误差不大于一 位数据传送时间。就不会发生错误。
因此,异步传输允许发送器和接收器不必用同一个时 钟,而是可以各有各的时钟(局部时钟),只要有同 一个标称频率即可,且对频率的精度要求也较低。
两次发送字符之间必须要有间隔时间(停止位),并 且每次字符传输,必须有一位同步信号(起始位)。
23
串行通信的校验----奇偶校验
在异步通信的格式中,可以包含一位校验位(奇、 偶校验)。
微机原理第八章 串行通信及串行接口

1. 可编程串行接口典型结构
✓状态寄存器
✓控制寄存器
✓数据输入寄存器--串行输入/并行 输出移位寄存器
✓数据输出寄存器--并行输入/串行 输出移位寄存器
2. 串行通信基本概念
在串行通信时,数据和联络信号使用同一条信号线 来传送,所以收发双方必须考虑解决如下问题: ❖ 波特率---双方约定以何种速率进行数据的发送和接收 ❖ 帧格式---双方约定采用何种数据格式 ❖ 帧同步---接收方如何得知一批数据的开始和结束 ❖ 位同步--- -接收方如何从位流中正确地采样到位数据 ❖ 数据校验--- -接收方如何判断收到数据的正确性 ❖差错处理---收发出错时如何处理 收发双方必须遵守一些共同的通信协议才能解决上述问题。
串行通信适于长距离、中低速通信
并行通信
将数据的各位同时在多根并行传输线上进行传输。
D0 0
D1 1
D2 0
源
D3 1
D4 D5
0 1
D6 1
D7 0
D0 D1 D2 D3 目 D4 的 D5 D6 D7
数据的各位同时由源到达目的地 → 快 多根数据线 → 短距离(远程费用高)
并行通信适于短距离、高速通信
工作方式下。
(8)错误检测 • 传输错误 • 覆盖错误
二、 接口与系统的连接
从结构上,可把接口分为两个部分,其中和 外设相连的接口结构与具体外设的传输要求及数 据格式相关,因此,各接口的该部分互不相同; 而与系统总线相连的部分,各接口结构类似,一 般都包括:
1. 总线收发器和相应的逻辑电路
2. 联络信号逻辑电路
接收端需要一个时钟来测定每一位的
时间长度。
波特率/位传输率---每秒传输的离散信号 的数目/每秒传输的位数。 波特率因子---
数据通信的类型及原理

数据通信的类型及原理
数据通信的类型主要有以下几种:
1. 串行通信:在串行通信中,数据在一个接口上一位一位地传输,即一次只发送/接收一位。
常见的串行通信协议包括RS-232、USB、SPI和I2C等。
2. 并行通信:在并行通信中,数据以多位同时传输。
每个接口上有对应的数据线,每条数据线承载一个位的数据。
并行通信的主要特点是传输速度快,但要求数据线的数量较多。
常见的并行通信接口包括并行打印口、IDE接口和系统总线接口等。
3. 无线通信:无线通信是一种将数据通过无线电波传输的通信方式。
无线通信可以分为远距离无线通信和近距离无线通信。
远距离无线通信包括蜂窝网络通信(如4G、5G)、卫星通信等;近距离无线通信包括蓝牙、Wi-Fi、NFC等。
数据通信的原理是通过传输介质将数据从发送方传输到接收方。
在串行通信中,数据通过一个线路逐位传输,发送方将数据按位依次发送,接收方按照相同的顺序逐位接收。
在并行通信中,数据的各个位同时通过多条数据线传输。
在无线通信中,数据通过无线电波以电磁信号的形式传输,发送方的电子设备将数据转换为电磁信号发送,接收方的电子设备接收并解码电磁信号重新获取数据。
无论是哪种通信方式,数据通信都需要发送方和接收方之间达成一致的通信协议,包括
数据格式、传输速率、错误检测和纠错等。
第7章串行口

一、 89C51串行口 1、结 构
图7-7 串行口内部结构示意简图
☞ 2、串行口控制字及控制寄存器
串行口控制寄存器SCON(98H)
• ①SM0和SM1(SCON.7,SCON.6)——串行
口工作方式选择位。两个选择位对应4种通信方式,
如表7-1所示。其中,fosc是振荡频率。
3、串行通信工作方式
2 SMOD f osc 16 / 2 初值 串行方式1、方式3波特率≌ 32 12
4、波特率设计
• 定时器T1用作波特率发生器时,通常选用定时器模 式2(自动重装初值定时器)比较实用。每过“28-X” 个机器周期,定时器T1就会产生一次溢出。
• T1溢出速率为 T1溢出速率≌(fosc/12)/(28-X)
移位时钟来源不同,因此,各种方式的波特率计算公式也
不同。
4、波特率设计
• (1)方式0的波特率 由图7-14可见,方式0时,发送或接收一位数据的移位 时钟脉冲由S6(即第6个状态周期,第12个节拍)给出, 即每个机器周期产生一个移位时钟,发送或接收一位数据。
因此,波特率固定为振荡频率的1/12,并不受PCON寄存
TxD输出移位时钟,频率=fosc1/12;
每接收 8位数据RI就自动置1;
需要用软件清零 RI。
☞经常配合“串入并出”“并入串出”移位 寄存器一起使用扩展接口
☞方式0工作时,多用查询方式编程: 发送:MOV SBUF,A 接收:JNB RI,$ JNB TI,$ CLR RI CLR TI MOV A, SBUF ☞复位时,SCON 已经被清零,缺省值: 方式0。 ☞接收前,务必先置位 REN=1 允许接收数据。
第12章微机原理与接口技术答案欧青立编

第12章串行通信与串行接口习题12.1 什么是串行通信?串行通信与并行通信相比,有哪些基本特点?【参考答案】串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。
其只需要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。
如果一组数据的各数据位在多条线上同时被传输,这种传输方式称为并行通信。
并行通信是把一个字符的各数位用几条线同时进行传输,传输速度快,信息率高。
但它比串行通信所用的电缆多,故常用在传输距离较短(几米至几十米)、数据传输率较高的场合。
12.2 在串行通信中有哪几种数据传送方式,各有什么特点?【参考答案】在串行通信中,按照在同一时刻数据流的方向可分为三种基本传送模式:单工传送、半双工传送和全双工传送。
单工传送方式仅支持在一个方向上的数据传送。
即由设备A传送到设备B。
在这种传送模式中,A只作为发送器,B只作为接收器。
半双工传送方式支持在设备A和设备B之间交替地传送数据。
即设备A为发送器发送数据到设备B,设备B为接收器。
也可以设备B做发送器发送数据到设备A,设备A 为接收器。
由于A、B之间仅一根数据传送线,它们都有独立的发送器和接收器,所以在同一个时刻只能进行一个方向的传送。
全双工传送方式支持数据在两个方向同时传送。
即设备A可发送数据到设备B,设备B也可以发送数据到设备A,它们都有独立的发送器和接收器,并有两条传送线。
12.3 全双工和半双工通信的区别是什么?在二线制电路上能否进行全双工通信?为什么?【参考答案】全双工是指在二线上可以同时进行收发两个动作,半双工是指在二线上在某一个时刻只能进行收发中的一个动作。
全双工和半双工通信,双方都既是发送器又是接收器。
两者的区别在于全双工可以同时发送和接收。
半双工不能同时双向传输,只能分时进行。
在二线制电路上是不能进行全双工通信的,只能单端发送或接收。
因为一根信号线,一根地线,同一时刻只能单向传输。
串行通信及接口电路

串行通信及接口电路1. 串行通信的概念串行通信是一种数据传输的方式,它将数据逐位地按照一定顺序传输,相比于并行通信的方式,串行通信只需使用一个通信线路传输数据。
在串行通信中,每个数据位被顺序发送,并且在接收端被顺序接收和重组。
串行通信的优点是可以节省通信线路的数量,但其传输速度相对较慢。
2. 串行通信的应用串行通信广泛应用于各种领域,包括计算机通信、网络通信、工业控制等。
它可以用于长距离通信,如在局域网或广域网中传输数据。
此外,串行通信还常用于外设与主机之间的通信,如串行口和串行外设之间的通信。
3. 串行通信的协议串行通信的实现需要一定的协议来确保数据的可靠传输。
常见的串行通信协议包括UART(通用异步收发器),SPI(串行外设接口)和I2C(双线串行通信接口)。
这些协议都定义了数据的传输规则、时序要求以及错误处理机制,以确保数据的准确性和完整性。
3.1 UARTUART是一种使用异步传输方式的串行通信协议。
它通过发送方和接收方之间的单个通信线路进行数据传输。
UART协议定义了数据的起始位、数据位、停止位和校验位等信息。
发送端根据这些信息将数据发送给接收端,并且接收端根据这些信息识别数据的边界和校验数据的正确性。
3.2 SPISPI是一种同步传输方式的串行通信协议,它使用一对数据线(Master Out, Slave In - MOSI 和 Master In, Slave Out - MISO)以及时钟线(SCLK)进行通信。
SPI协议由主设备(Master)和从设备(Slave)组成,主设备通过时钟信号控制从设备进行数据传输。
SPI协议定义了数据的传输时序,通过时钟的上升沿和下降沿进行数据采样和传输。
3.3 I2CI2C是一种双线串行通信接口,它使用两条线路(串行数据线(SDA)和串行时钟线(SCL))进行通信。
I2C协议由主设备(Master)和从设备(Slave)组成,主设备通过时钟信号控制从设备进行数据传输。
单片机第7章89C51串行口和串行通信PPT课件

4
7.1 串行通信的概念
• 在实际工作中,计算机的CPU与外部设备之间常常要进 行信息交换,一台计算机与其他计算机之间也往往要交 换信息,所有这些信息交换均可称为通信。
• 通信方式有两种,即并行通信和串行通信。
• 通常根据信息传送的距离决定采用哪种通信方式。
• 例如,在IBM-PC机与外部设备(如打印机等)通信时, 如果距离小于30m,可采用并行通信方式;当距离大于 30m时,则要采用串行通信方式。89C51单片机具有并 行和串行二种基本通信方式。
字 同 符 步 1 字 同 符 步 2 数 据 块 ( 若 干 字 节 )校 符 验 1 校 符 验 2
起 始
结 束
➢ 在这种通信方式中,数据块内的各位数据之间没有间 隔,传输效率高;
➢ 发送、接收双方必须保持同步(使用同一时钟信号), 且数据块长度越大,对同步要求就越高。
➢ 同步通信设备复杂,成本高,一般只用在高速数字通 信系统中。
• 在同步传送时,要求用时钟来实现发送端与接收端之间的同步。为了保 证接收正确无误,发送方除了传送数据外,还要同时传送时钟信号。
• 同步传送可以提高传输速率(达56kb/s或更高),但硬件比较复杂。
返回
28.09.2020
14
2、异步通信
• 起始位(0)信号只占用一位,用来通知接收设备一个待接收的字符开始到达。线路上在不 传送字符时应保持为1。接收端不断检测线路的状态,若连续为1以后又测到一个0,就知道 发来一个新字符, 应马上准备接收。字符的起始位还被用作同步接收端的时钟,以保证以 后的接收能正确进行。
28.09.2020
1
第七章 89C51串行口及串行通信技术
• 串行通信只用一位数据线传送数据的位信号,即使加上几 条通信联络控制线,也用不了很多电缆线。因此,串行通 信适合远距离数据传送,如大型主机与其远程终端之间、 处于两地的计算机之间采用串行通信就非常经济。当然, 串行通信要求有转换数据格式、时间控制等逻辑电路,这 些电路目前已被集成在大规模集成电路中(称为可编程串 行通信控制器),使用很方便。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第9章串行接口及串行通信技术难点•串行通信的四种工作方式要求掌握:•串行通信的控制寄存器•串行通信的工作方式0和方式1了解:•串行通信的基础知识•串行通信的工作方式2和方式39.1 串行通信的基础知识9.2 MCS-51单片机串行通信的控制寄存器9.3 MCS-51单片机串行通信工作方式9.1 串行通信的基础知识串行数据通信要解决两个关键技术问题,一个是数据传送,另一个是数据转换。
所谓数据传送就是指数据以什么形式进行传送。
所谓数据转换就是指单片机在接受数据时,如何把接收到的串行数据转化为并行数据,单片机在发送数据时,如何把并行数据转换为串行数据进行发送。
9.1.1 数据传送单片机的串行通信使用的是异步串行通信,所谓异步就是指发送端和接收端使用的不是同一个时钟。
异步串行通信通常以字符(或者字节)为单位组成字符帧传送。
字符帧由发送端一帧一帧地传送,接收端通过传输线一帧一帧地接收。
1. 字符帧的帧格式字符帧由四部分组成,分别是起始位、数据位、奇偶校验位、停止位。
如图9.1所示:1)起始位:位于字符帧的开头,只占一位,始终位逻辑低电平,表示发送端开始发送一帧数据。
2)数据位:紧跟起始位后,可取5、6、7、8位,低位在前,高位在后。
3)奇偶校验位:占一位,用于对字符传送作正确性检查,因此奇偶校验位是可选择的,共有三种可能,即奇偶校验、偶校验和无校验,由用户根据需要选定。
4)停止位:末尾,为逻辑“1”高电平,可取1、1.5、2位,表示一帧字符传送完毕。
图9.1 字符帧格式异步串行通信的字符帧可以是连续的,也可以是断续的。
连续的异步串行通信,是在一个字符格式的停止位之后立即发送下一个字符的起始位,开始一个新的字符的传送,即帧与帧之间是连续的。
而断续的异步串行通信,则是在一帧结束之后不一定接着传送下一个字符,不传送时维持数据线的高电平状态,使数据线处于空闲。
其后,新的字符传送可在任何时候开始,并不要求整倍数的位时间。
2. 传送的速率串行通信的速率用波特率来表示,所谓波特率就是指一秒钟传送数据位的个数。
每秒钟传送一个数据位就是1波特。
即:1波特=1bps(位/秒)在串行通信中,数据位的发送和接收分别由发送时钟脉冲和接收时钟脉冲进行定时控制。
时钟频率高,则波特率高,通信速度就快;反之,时钟频率低,波特率就低,通信速度就慢。
9.1.2 数据转换MCS-51单片机只能处理8位的并行数据,所以在进行串行数据的发送时,要把并行数据转换为串行数据。
而在接收数据时,只有把接收的串行数据转换成并行数据,单片机才能进行处理。
能实现这种转换的设备,称为通用异步接收发送器(Universal Asynchronous Receiver /Transmitter)。
这种设备已集成到单片机内部,称为串行接口电路。
串行接口电路为用户提供了两个串行口缓冲寄存器(SBUF),一个称为发送缓存器,它的用途是接收片内总线送来的数据,即发送缓冲器只能写不能读。
发送缓冲器中的数据通过TXD引脚向外传送。
另一个称为接收缓冲器,它的用途是向片内总线发送数据,即接收缓冲器只能读不能写。
接收缓冲器通过RXD引脚接收数据。
因为这两个缓冲器一个只能写,一个只能读,所以共用一个地址99H。
串行接口电路如图9.2所示。
图9.2 MCS-51串行口寄存器结构9.2 MCS-51单片机串行通信的控制寄存器1. 串行口控制寄存器(SCON)SCON是MCS-51单片机的一个可位寻址的专用寄存器,用于串行数据通信的控制。
单元地址为位地9FH 9EH 9DH 9CH 9BH 9AH 99H 98H址位符SM0SM1SM2REN TB8RB8TI RI号各位的说明如下:1)SM0、SM1——串行口工作方式选择位其状态组合和对应工作方式为:SM0SM1 工作方式00 方式00 1 方式110 方式21 1 方式32)SM2——允许方式2、3的多机通信控制位在方式2和3中,若SM2=1且接收到的第九位数据(RB8)为1,才将接收到的前8位数据送入接收SBUF中,并置位RI产生中断请求;否则丢弃前8位数据。
若SM2=0,则不论第九位数据(RB8)为1还是为0,都将前8位送入接收SBUF中,并产生中断请求。
方式0时,SM2必须置0。
3)REN——允许接收位REN=0 禁止接收数据REN=1 允许接收数据4)TB8——发送数据位8在方式2、3时,TB8的内容是要发送的第9位数据,其值由用户通过软件来设置。
5)RB8——接收数据位8在方式2、3时,RB8是接收的第9位数据。
在方式1时,RB8是接收的停止位在方式0时,不使用RB86)TI——发送中断标志位在方式0时,发送完第8位数据后,该位由硬件置位。
在其它方式下,于发送停止位之前,由硬件置位。
因此,TI=1表示帧发送结束,其状态既可供软件查询使用,也可请求中断。
TI由软件清“0”。
7)RI——接收中断标志位在方式0时,接收完第8位数据后,该位由硬件置位。
在其它方式下,于接收到停止位之前,该位由硬件置位。
因此,RI=1表示帧接收结束,其状态既可供软件查询使用,也可请求中断。
RI由软件清“0”。
2. 电源控制寄存器(PCON)PCON不可位寻址,字节地址为87H。
它主要是为CHMOS型单片机80C51的电源控制而设置的专用寄存器。
其内容如下:与串行通Array信有关的只有D7位(SMOD),该位为波特率倍增位,当SMOD=1时,串行口波特率增加一倍,当SMOD=0时,串行口波特率为设定值。
当系统复位时,SMOD=0。
3. 中断允许控制寄存器(IE)此寄存器在第六章已经介绍过,在此不作赘述。
9.3 MCS-51单片机串行通信工作方式串行口的工作方式由SM0和SM1确定,编码和功能如表8-1所示。
表8-1 串行口工作方式SM0 SM1 方式功能说明波特率0 0 方式0 移位寄存器方式fosc/120 1 方式1 8位UART 可变1 0 方式2 9位UART fosc/64 或者fosc/321 1 方式3 9位UART 可变方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可变的,由T1的溢出率决定。
9.3.1 串行工作方式0串行口工作在方式0时,串行口作同步移位寄存器使用。
以RXD(P3.0)端作为数据的输入或输出端,而TXD(P3.1)提供移位的时钟脉冲。
外接移位寄存器,实现数据并行输入或输出。
工作在方式0时,波特率为fosc/12,即一个机器周期移位一次。
1. 数据输出(发送)当数据写入SBUF后,数据从RXD端在移位脉冲(TXD)的控制下,逐位移入74LS164,74LS164能完成数据的串并转换。
当8位数据全部移出后,TI由硬件置位,发生中断请求。
若CPU响应中断,则从0023H单元开始执行串行口中断服务程序,数据由74LS164并行输出。
其接口逻辑如图9.3所示。
由逻辑图可知,通过外接74LS164,串行口能够实现数据的并行输出。
图9.3 外接移位寄存器输出2. 数据输入(接收)要实现接收数据,必须首先把SCON中的允许接收位REN设置为1。
当REN设置为1时,数据就在移位脉冲的控制下,从RXD端输入。
当接收到8位数据时,置位接收中断标志位RI,发生中断请求。
其接口逻辑如图9.4所示。
由逻辑图可知,通过外接74LS165,串行口能够实现数据的并行输入。
图9.4 外接移位寄存器输入【例8-1】使用74LS164的并行输出端接8支发光二极管,利用它的串入并出功能,把发光二极管从左到右依次点亮,并反复循环。
假定发光二极管为共阴极接法。
图9.5 电路设计解:电路如图9.5。
软件部分如下:ORG0000HLJMP MAINORG1000HMAIN:MOV SCON,#00H;串行口工作在方式0CLR ES;禁止串行中断MOV A,#80H;发光二极管从左边亮起DELR:CLR P1.0;关闭并行输出MOV SBUF,A;串行输出WAINT:JNB TI,WAIT;状态查询SETB P1.0;开启并行输出ACALL DELAY;调用延时子程序CLR TI;清发送中断标志RR A;发光右移AJMP DELR;继续EDN9.3.2 串行工作方式1方式1为10位为一帧的异步串行通信方式。
其帧格式为1个起始位、8个数据位和1个停止位。
如图9.6所示。
图9.6 方式1的帧格式1. 数据输出(发送)数据写入SBUF后,开始发送,此时由硬件加入起始位和停止位,构成一帧数据,由TXD串行输出。
输出一帧数据后,TXD保持在高电平状态下,并将TI置位,通知CPU可以进行下一个字符的发送。
2. 数据输入(接收)当REN=1且接收到起始位后,在移位脉冲的控制下,把接收到的数据移入接收缓冲寄存器(SBUF)中,停止位到来后,把停止位送入RB8中,并置位RI,通知CPU接收到一个字符。
3. 波特率的设定工作在方式1时,其波特率是可变的,波特率的计算公式为:其中,SMOD为PCON寄存器最高位的值,其值为1或0。
当定时器1作波特率发生器使用时,选用工作方式2(即自动加载定时初值方式)。
选择方式2可以避免通过程序反复装入定时初值所引起的定时误差,使波特率更加稳定。
假定计数初值为X,则计数溢出周期为:溢出率为溢出周期的倒数。
则波特率的计算公式为:实际使用中,波特率是已知的。
因此需要根据波特率的计算公式求定时初值X。
用户只需要把定时初值设置到定时器1,就能得到所要求的波特率。
4. 应用举例(用方式1实现双机串行通信)(1)通信双方的硬件连接作为应用系统首先要研究通信双方如何连接。
一种办法是把两片8051的串行口直接相连,一片8051的TXD与另一片的RXD相连,RXD与另一片的TXD相连,地与地连通。
由于8051串行口的输出是TTL电平,两片相连所允许的距离极短。
(2)通信双方的软件约定通信双方除了在硬件上进行连接外,在软件还必须作如下约定:作为发送方,必须知道什么时候发送信息,发什么,对方是否收到,收到的内容有没有错误,要不要重发,怎样通知对方结束。
作为接收一方,必须知道对方是否发送了信息,发的是什么,收到的信息是否有错误,如果有错误怎样通知对方重发,怎样判断结束等等。
这些规定必须在编程之前确定下来。
为实现双机通信,我们规定如下:●假定A机为发送机,B机为接收机。
●当A机发送时,先送一个“AA”信号,B机收到后回答一个“BB”信号,表示同意接收。
●当A机接收到“BB”后,开始发送数据,每发送一次求一次“检查和”,假定数据块长16个字节,起始地址为30H,一个数据块发送完后再发出“检查和”。
●B机接收的数据并转存到数据区,起始地址也为30H,同时每接收一次也计算一次“检查和”,当一个数据块收齐后,再接收A机发来的“检查和”,并将它与B机的“检查和”进行比较。