接口技术设计
- 格式:pdf
- 大小:1.02 MB
- 文档页数:78
接口设计前沿技术解析随着信息技术的进步和互联网技术的快速发展,现代化的软件系统已经从单机应用演进至分布式系统,网络通信已经成为软件系统中不可或缺的一部分。
而接口设计作为软件系统设计的重要组成部分,更是在这个背景下愈发重要。
本文将会对接口设计的前沿技术进行解析,并为读者呈现不同技术在接口设计中的优劣与应用场景。
第一部分:RestfulREST(Representational State Transfer)是一种设计风格,它要求每个 URI 代表一种资源,且该 URI 中所受到的请求中所随带的信息足以确定这个资源的一种状态。
“State Transfer” 表示使用 http 协议的一些行为对这些资源的状态进行操作,例如 GET、POST、DELETE 和 PUT。
Restful API 是一种基于 REST 架构风格的 API 设计,并且遵循了 REST 的五个基本原则:- 独立于任何操作系统或语言;- 可缓存性;- 可层次化系统;- 需要透明;- 客户端-服务端边界。
这个 RESTful API 设计风格可以帮助开发者在 API 设计的过程中有更好的规范和定义。
第二部分:GraphQLGraphQL 是一种由Facebook 开源的API 查询语言和执行引擎,它背后的理念是为应用提供其需要的数据而不是提供整个页面数据。
GraphQL 的核心是其类型系统,它允许描述 API 所支持的查询和返回的数据类型,然后由客户端应用进行相应的操作。
相对于 RESTful API,GraphQL 有以下优势:- 精确定义:客户端可以精确取得他们需要的数据;- 高效的网络使用:GraphQL 可以一次性获取大量的数据;- 强类型系统:GraphQL 的类型系统使 API 变得更容易协作和迭代。
第三部分:gRPCgRPC 是一款由Google 开发的高性能、通用的开源RPC 框架,它原生支持多种语言,包括 Java、C++、Python、Go 和 Rust。
数据接口设计方案标题:数据接口设计方案引言概述:数据接口设计是软件开辟中非常重要的一环,一个合理的数据接口设计方案可以提高软件的性能和可维护性。
本文将介绍数据接口设计的基本原则和具体实施方案。
一、数据接口设计原则1.1 数据接口的一致性数据接口设计应该遵循一致性原则,即不同的接口应该采用相似的命名规范、参数传递方式和返回结果格式,这样可以提高接口的可读性和易用性。
1.2 数据接口的独立性每一个数据接口应该尽量独立,即一个接口只负责一个功能或者服务的实现,避免接口之间的耦合性过高,这样可以提高接口的灵便性和可维护性。
1.3 数据接口的安全性数据接口设计应该考虑到安全性因素,包括对数据的加密、防止SQL注入攻击、防止跨站脚本攻击等,保护用户数据的安全。
二、数据接口设计实施方案2.1 RESTful接口设计RESTful接口是目前最流行的接口设计风格,它采用HTTP协议进行通信,使用GET、POST、PUT、DELETE等请求方法来操作资源,设计简单、易用。
2.2 接口文档的编写为每一个数据接口编写详细的接口文档是非常重要的,文档应包括接口的URL地址、请求参数、返回结果格式、错误码说明等,方便开辟人员使用和调试。
2.3 接口版本管理随着软件的不断迭代和升级,数据接口可能会发生变化,因此需要对接口进行版本管理,保证旧版本的接口可以继续使用,同时引入新版本的接口。
三、数据接口设计工具3.1 PostmanPostman是一款强大的接口测试工具,可以方便地测试和调试数据接口,支持多种请求方法和参数格式,同时可以生成接口文档,提高开辟效率。
3.2 SwaggerSwagger是一种自动生成API文档的工具,可以根据代码自动生成接口文档,包括接口的URL地址、请求参数、返回结果等信息,简化接口文档编写的过程。
3.3 SoapUISoapUI是一款专业的接口测试工具,支持多种协议和数据格式,可以进行接口的自动化测试和性能测试,匡助开辟人员发现和解决接口中的问题。
单片机原理及接口技术单片机的开关检测键盘输入与显示的接口设计单片机是一种集成了中央处理器、存储器和输入/输出接口的微型电子计算机,其核心是一个集成电路芯片。
它简单、灵活,用于控制电子设备和执行各种任务。
单片机有很多种,其中C51单片机是一种非常常用的型号。
在C51编程中,开关检测、键盘输入和显示是非常常见的接口设计。
接下来,将分别介绍它们的原理和实现方法。
1.开关检测:开关检测是指通过单片机检测开关的状态,以实现对开关的控制。
常见的开关检测方法有两种,一种是使用外部电阻和开关,通过检测电流或电压来判断开关状态;另一种是使用内部电阻和开关,通过检测电阻的值来判断开关状态。
具体实现方法如下:a.外部电阻和开关:检测开关状态的方法是连接一个电阻到开关,并将另一端连接到单片机的输入引脚。
当开关打开时,电阻与单片机输入引脚之间形成一条路径,使得输入引脚接收到高电平信号;当开关关闭时,电阻与单片机输入引脚之间断开,使得输入引脚接收到低电平信号。
b.内部电阻和开关:单片机的引脚通常具有内部上拉或下拉电阻。
当引脚配置为输入模式时,可以选择使能内部上拉或下拉电阻。
通过连接一个开关到引脚,并将另一端连接到电源或地,从而完成开关状态的检测。
当开关打开时,引脚被拉高,输入引脚接收到高电平信号;当开关关闭时,引脚被拉低,输入引脚接收到低电平信号。
2.键盘输入:键盘输入是指通过单片机接收和处理来自键盘的输入信息。
键盘通常是一种矩阵按键结构,可以通过多行多列的方式进行编码。
键盘输入的实现需要通过接口电路将键盘连接到单片机,并在程序中编写相应的扫描算法。
具体实现方法如下:a.键盘连接方式:键盘的行和列线分别连接到单片机的输出和输入引脚上。
行线和列线可以使用独立的引脚,也可以使用矩阵开关编码的方式进行连接。
b.扫描算法:扫描算法是通过逐行扫描和逐列检测的方式来实现键盘输入的。
具体步骤如下:1)将所有行引脚置为高电平,所有列引脚配置为输入模式。
1接口技术课程设计报告——键控节目灯姓名:李丹丹姓名:李丹丹 班级:Z059141班 专业:网络与通信专业:网络与通信 指导教师:王文仲王文仲王振力王振力孟祥莲孟祥莲同组人:李丹丹、黄小娜、高凡齐高凡齐哈尔滨工业大学华德应用技术学院哈尔滨工业大学华德应用技术学院2007年7月13日一、系统硬件要求(芯片简介)8255芯片:1、Intel 公司生产的可编程并行接口芯片8255A 作为并行接口获得广泛的应用。
与Intel 公司的8255A 相类似的可编程并行接口芯片有Motorola 公司生产的MC6820MC6820、、Zilog 公司生产的Z80PIO Z80PIO。
2、8255有三个通道:有三个通道:A A 通道、通道、B B 通道、通道、C C 通道,每个通道有I/O 线:线:PA0PA0————PA7PA7PA7,,PB0PB0——————PB7PB7PB7,,PC0PC0——————PC7PC7PC7。
3、8255有DB 缓冲器与CPU 连接完成通信,有四个端口:连接完成通信,有四个端口:A A 口、口、B B 口、口、C C 口、控制口。
口、控制口。
4、8255设有联络线,若联络则将C 口的8条I/O 线做联络线,所以将C 口分成两部分:口分成两部分:C C 口上半部:口上半部:PC7PC7PC7——————PC4PC4与A 组成A 组、组、PC3PC3PC3——————PC0PC0与B 组成B 组,所以8255的控制方式分A 组控制、组控制、B B 组控制。
组控制。
5、8255是通过CPU 向其内送入控制关键字的方式来实现对各口的管理的,即工作方式控制字。
即工作方式控制字。
8279芯片:Intel8279芯片是一种通用的可编程的键盘、显示器接口器件,能够单独完成键盘输入和LED 显示两种功能。
键盘部分提供一种扫描的工作方式,可以和具有64个触点的键控阵列相连接,也可以与传感器阵列相边。
数据接口设计方案一、背景介绍在现代信息化的环境下,各种系统之间的数据交换和共享变得越来越重要。
数据接口作为系统之间数据交互的桥梁,扮演着至关重要的角色。
本文将为您详细介绍数据接口设计方案,旨在提供一种高效、可靠的数据交互方案。
二、需求分析1. 数据交换需求我们需要实现不同系统之间的数据交换,包括但不限于用户信息、定单信息、产品信息等。
2. 数据格式需求数据格式需要统一,以方便系统之间的数据解析和处理。
常见的数据格式有JSON、XML等,我们将根据具体需求选择合适的数据格式。
3. 数据安全需求数据在传输过程中需要进行加密和解密,以保证数据的安全性和完整性。
4. 接口性能需求数据接口需要具备良好的性能,能够处理大量的请求和响应,保证系统的稳定性和可靠性。
三、设计方案1. 接口协议选择根据需求分析,我们选择使用RESTful API作为数据接口协议。
RESTful API具有简单、灵便、易于扩展的特点,能够满足我们的需求。
2. 接口路由设计我们将根据不同的数据交换需求设计相应的接口路由。
每一个接口路由对应一个具体的数据交换操作,包括数据的获取、添加、修改和删除等。
3. 数据格式设计我们将采用JSON作为数据的传输格式。
JSON具有简洁、易读的特点,适合于各种系统之间的数据交互。
4. 数据加密和解密在数据传输过程中,我们将使用SSL/TLS协议对数据进行加密和解密,以保证数据的安全性和完整性。
5. 接口性能优化为了提高接口的性能,我们将采用以下措施:- 使用缓存技术,减少数据库的访问次数。
- 使用异步处理,提高接口的并发处理能力。
- 对接口进行性能测试和优化,确保接口的稳定性和可靠性。
四、实施计划1. 需求确认和评估与相关部门和团队进行沟通,确认需求,并评估实施的可行性和成本。
2. 设计和开辟根据需求分析和设计方案,进行接口的设计和开辟工作。
包括接口路由设计、数据格式设计、数据加密解密等。
3. 测试和优化对接口进行全面的测试,包括功能测试、性能测试、安全测试等。
USB接口技术及电路设计分析USB(Universal Serial Bus,通用串行总线)接口技术是一种用于连接计算机与外部设备的通信接口标准。
USB接口技术已经成为现代计算机及相关设备的主要接口之一,广泛应用于各种设备,包括鼠标、键盘、打印机、摄像头、存储设备等。
本文将对USB接口技术及其电路设计进行分析,主要包括接口规范、传输速度、电路设计等内容。
一、USB接口规范USB接口技术的发展离不开其规范的标准化。
USB接口规范由USB Implementers Forum(USB实施者论坛)制定,目前最新的USB规范版本为USB 3.2、USB规范定义了USB接口的物理连接、信号传输方式、电气特性等方面的要求,确保了不同厂商的设备能够互相兼容。
二、传输速度USB接口技术支持多种传输速率,包括低速(1.5 Mbps)、全速(12 Mbps)、高速(480 Mbps)和超高速(5 Gbps及更高)。
不同的设备根据其传输需求可以选择不同的速率。
此外,USB 3.0引入了新的SuperSpeed+规范,提供了超高速传输速率,可达到10 Gbps的传输速度。
三、电路设计1.PHY芯片:USB接口电路设计的核心是PHY芯片(物理层接口芯片),其功能是负责将上层协议层的数据转换为物理层信号,并与外部设备进行通信。
PHY芯片一般包括时钟管理、数据缓冲、电压转换、信号解调等功能模块。
B控制器:USB接口电路设计中的另一个重要组成部分是USB控制器。
USB控制器主要负责管理和控制USB接口的插拔检测、数据传输、电源管理等功能。
USB控制器可以是在主处理器上实现的软件控制器,也可以是独立的硬件控制器。
3.电源管理:USB接口电路设计中的一个重要考虑因素是电源管理。
USB接口可以通过提供电源来为外部设备供电,也可以通过从外部设备接收电源来为设备充电。
为了保证电源的稳定性和可靠性,电路设计中通常需要考虑电源隔离、电源过载保护、稳压电路等。
微机接口技术课程设计一、课程目标知识目标:1. 理解微机接口技术的基本概念、功能及分类;2. 掌握常用微机接口芯片的内部结构、工作原理及编程方法;3. 学会分析微机接口电路的原理图,并进行简单的设计与调试;4. 了解微机接口技术在现代计算机系统中的应用及发展趋势。
技能目标:1. 能够正确使用微机接口芯片进行电路设计与连接;2. 熟练运用汇编语言或C语言进行微机接口编程;3. 能够对微机接口电路进行故障分析与调试;4. 培养学生的团队协作能力,提高沟通与表达能力。
情感态度价值观目标:1. 培养学生对微机接口技术学习的兴趣,激发学生的学习热情;2. 增强学生的动手实践能力,培养严谨的科学态度;3. 提高学生的创新意识,鼓励学生勇于探索新知识;4. 培养学生的爱国情怀,关注我国微机接口技术领域的发展。
本课程针对高年级学生,课程性质为理论与实践相结合。
通过本课程的学习,使学生掌握微机接口技术的基本知识和技能,提高解决实际问题的能力,为后续相关专业课程学习打下坚实基础。
同时,注重培养学生的团队协作精神、创新意识和情感态度,使其成为具有全面素质的计算机技术人才。
教学要求包括:理论教学与实验操作相结合,课堂讲授与课后实践相结合,培养学生自主学习、合作学习的能力。
课程目标分解为具体学习成果,以便于教学设计和评估。
二、教学内容本课程教学内容分为以下四个部分,确保学生全面系统地掌握微机接口技术:1. 基础理论:- 微机接口技术概述:接口功能、分类及发展趋势;- 常用接口芯片原理:如8255、8251、8259等;- 接口编程基础:汇编语言与C语言接口编程。
2. 接口电路设计与分析:- 接口电路设计方法:原理图绘制、器件选型与连接;- 常用接口电路实例分析:并行接口、串行接口、中断接口等;- 接口电路故障分析与调试技巧。
3. 实践操作:- 软件模拟:使用仿真软件进行接口电路模拟;- 硬件实验:搭建实际接口电路,进行编程与调试;- 综合设计:结合实际需求,完成微机接口技术应用项目。
微型计算机原理及接口技术课程设计-数据采集系统设计是一个综合性的项目,需要考虑到硬件和软件两个方面的内容。
以下是一个简单的数据采集系统设计的课程设计思路:一、硬件设计1. 选择合适的微处理器或微控制器,如8051、ARM等。
2. 确定数据采集模块,如AD转换器、传感器等。
3. 选择适当的数据存储模块,如RAM、EEPROM等。
4. 根据系统需求,设计合理的接口电路,如RS-232、RS-485、I2C、SPI等。
5. 确保电路的稳定性和可靠性,进行必要的抗干扰设计。
二、软件设计1. 编写微处理器或微控制器的程序,包括数据采集、处理、存储等环节。
2. 实现与数据采集模块和存储模块的通信,实现数据的实时传输和存储。
3. 实现系统的初始化、参数设置、结果显示等功能。
4. 进行必要的测试和调试,确保系统的稳定性和准确性。
具体步骤如下:一、系统总体设计1. 根据需求分析,确定系统的总体结构和功能。
2. 确定数据采集模块的类型和参数要求。
3. 确定存储模块的类型和参数要求。
4. 根据硬件选择,确定微处理器或微控制器的型号和参数要求。
二、硬件电路设计1. 根据系统总体结构和功能,设计合理的接口电路。
2. 根据所选硬件,进行必要的抗干扰设计。
3. 制作电路板,进行必要的调试和测试。
三、软件程序设计1. 根据系统总体结构和功能,编写微处理器或微控制器的程序。
2. 实现与数据采集模块和存储模块的通信协议,实现数据的实时传输和存储。
3. 进行必要的测试和调试,确保程序的正确性和稳定性。
四、系统集成和测试1. 将硬件和软件整合在一起,进行系统的集成和测试。
2. 进行性能测试、精度测试、稳定性测试等,确保系统的稳定性和准确性。
3. 编写系统使用手册和故障排除指南,为用户提供必要的支持和服务。
以上是一个简单的数据采集系统设计的思路和步骤,具体的设计过程还需要根据实际情况进行调整和优化。
同时,还需要注意安全性和环保性等方面的要求,确保系统的安全可靠运行。
微机原理与接口技术课程设计流水灯1. 设计目标设计一个基于51单片机的流水灯系统,能够实现多种不同的流水灯效果,并且可以通过按键进行切换和控制。
2. 硬件设计(1)51单片机使用STC89C52系列单片机作为主控芯片,具有较高的性价比和稳定性。
(2)LED灯使用8个LED灯作为流水灯的显示元件,需要连接到P0口的8个引脚上。
(3)按键使用一个按键作为流水灯效果的切换和控制,需要连接到P3.2口。
(4)电源使用5V直流电源供电,需要连接到单片机的VCC和GND引脚上。
3. 软件设计(1)IO口初始化首先需要将P0口的8个引脚设置为输出模式,P3.2口的引脚设置为输入模式。
(2)流水灯效果实现流水灯效果可以通过循环移位的方式实现,具体代码如下:```cvoid flow_light(){unsigned char i, j;for (i = 0; i < 8; i++){for (j = 0; j < 8; j++){P0 = ~(1 << j);delay_ms(50);}P0 = 0xff;}}```其中,P0 = ~(1 << j)表示将P0口的第j个引脚设置为低电平,其他引脚设置为高电平,从而实现LED灯的亮灭。
(3)按键控制通过检测P3.2口的引脚状态,可以实现按键的控制,具体代码如下:```cvoid key_control(){if (P3 & 0x04){delay_ms(10);if (P3 & 0x04){mode++;if (mode >= 3){mode = 0;}}}}```其中,P3 & 0x04表示检测P3.2口的引脚状态,如果为高电平,则表示按键未按下;delay_ms(10)表示延迟10ms,以避免按键抖动;mode表示当前的流水灯效果模式,通过按键控制其值的变化。
(4)主函数代码主函数代码如下:```cvoid main(){while (1){switch (mode){case 0:flow_light();break;case 1://其他流水灯效果break;case 2://其他流水灯效果break;}key_control();}}```其中,switch (mode)表示根据当前的流水灯效果模式执行不同的函数;key_control()表示检测按键状态并进行相应的控制。
第一章微型机系统的串行通信技术4.1 串行通信概论在微型机系统中,CPU与外部设备传送数据(或信息)的方法有两种:(1)并行通讯:数据的各位同时传送;(2)串行通讯:数据一位一位按顺序传送。
图4.1表示这两种传送方式的示意图。
(a)并行通讯(b)串行通讯图4.1 并行通讯与串行通讯从图4.1中可以看出,在并行通讯中,数据有多少位就需要多少根数据总线,而串行通讯只需要一对传送线。
因此,串行通讯在距离和位数比较多时,有着明显的优越性。
但它的主要缺点是传送数据的速度比较慢。
在这一节里,主要介绍有关串行通讯的基本概念。
4.1.1 数据传送方式在串行通讯中,数据传送有三种方式:单工方式、半双工方式和全双工方式。
1.单工方式(Simplex Mode)在这种方式中,只允许数据按一个固定的方向传送,如图4.2(a)所示。
图中A只能发送,称为发送器(Transfer),B只能接受,叫做接收器(Receiver)。
而不能从B传向A。
2.半双工方式(Half-Dupiex Mode)半双工方式的示意图如图4.2(b)所示。
在这种方式下,数据既可以从A传向B,也可以从B传向A。
因此,A方、B方既可作为发送器,又可作为接收器,通常称为收发器(Transceiver)。
从这个意义上讲,这种方式似乎为全向工作方式,但是,由于A、B之间只有一根传输线,所以信号只能分时传送。
即在同一时刻,只能进行一种传送,不能同时双向传输。
因此,将其称为“半双工”方式。
在这种工作方式下,要么A发送,B接收;要么B 发送,A接收。
当不工作时,令A、B均处于接收方式,以便随时响应对方的呼叫。
图中的收发开关并不是实际的物理开关,而是由软件控制的电子开关,通讯线二端通过半双工通讯协议进行功能切换。
3.全双工方式(Full-Duplex-Mode)虽然半双工方式比单工方式灵活,但它的效率依然比较低,主要原因是从发送方式切换到接收方式需要一定的时间,大约为数毫秒。
重复线路切换所引起的延迟积累,是相当可观的。
另一方面,也是更重要的,就是在同一时刻只能工作在一种方式下,这是半双工效率不高的根本原因所在。
解决的方法是增加一条线,使A、B两端均可同时工作在收发方式,如图4.2(c)所示。
将图(c)与图(b)相比,虽然对每个站来讲,都有发送器和接收器,但由于图(c)中有两条传送线,用不着收发切换,因而传送速率可成倍增长。
图4.2 数据传送方式示意图值得说明的是,全双工与半双工方式比较,虽然信号传送速度大增,但它的线路也要增加一条,因此系统成本将增加。
因此在实际应用中,特别是在异步通讯中,大多数都采用半双工方式。
这样,虽然发送效率较低,但线路简单、实用,而且一般系统也基本够用。
4.1.2 波特率和接收/发送时钟1. 波特率在数据传送方式确定后,到底以多大的速率发送/接收数据,这也是串行通信的重要问题之一。
它不但取决于计算机本身的速率,更重要的是取决于串行通信接口芯片的速率。
如前所述,串行通信是一位一位传送的。
衡量传送数据快慢的单位叫波特率。
所谓波特率是指每秒钟传送的二进制数据的位数。
单位是波特/秒(bit/s)。
1波特=1位/秒(1bps)在实际应用中,波特率是可以选择的。
常用的波特率用19200、9600、4800、2400、1200、600、300、150、100、50,一般来讲波特率越大,传送数据的速率越快。
在某些应用中,波特率有时可达10Mbps或100Mbps。
有时也用“位周期”来表示传送速度,位周期是波特率的倒数。
2. 收/发时钟在串行通信中,无论发送或接收,都必须有时钟脉冲信号对数据进行定位和同步控制。
通常它在发送端是由发送时钟的下降沿,使输入移位寄存器的数据串行一位输出。
而接收端则是在接收时钟的上升沿作用下将传输线上的数据逐位移入移位寄存器。
收/发时钟与二进制数据的关系如图4.3所示。
图4.3 收/发时钟与收/发数据的关系从图4.3可以看出,收/发时钟不仅直接决定了数据线上传送数据的速度,而且直接关系到收/发双方之间的数据传输的同步问题。
为此,一般采用倍频采样方法,即提高采样频率:收/发时钟频率=n×波特率一般n取1、16、32、64等等。
对于异步通信,常采用n=16;对于同步通信,则必须取n=1。
4.1.3 异步和同步通信根据在串行通信中数据定时、同步的不同,串行通信的基本方式有两种,异步通信(Asynchronous Communication)和同步通信(synchronous Communication)。
1. 异步通信异步通信方式是字符的同步传输技术。
在异步通信中,传输的数据以字符(Character)为单位。
当发送一个字符代码时,字符前面要加一个“起始”信号,其长度为一位,极性为“0”,即空号(Space)状态。
规定在线路不传送数据时全部为“1”,即传号(Mark)状态。
字符后边要加一个“停止”信号,其长度为1、1.5或2位,极性为“1”。
字符本身的长度为5~8位数据,视传输的数据格式而定。
例如,当传送的数字(或字符)用ASCII码表示时,其长度为7位。
在某些传输中,为了减少误码率,经常在数据之后还加一位“检验位”。
由此可见,一个字符由起始位(0)开始,到停止位(1)结束,其长度为7~12位。
起始位和停止位用来区分字符。
传送时,字符可以连续发送,也可以断续发射,不发送字符时线路保持“1”状态。
字符发送的顺序为先低位后高位。
综上所述,异步串行通信的格式如图4.4所示。
图4.4 异步串行通信格式异步串行通信的优点是收/发双方不需要严格的位同步。
也就是说,在这种通信方式下,每个字符作为独立的信息单元,可以随机地出现在数据流中,而每个字符出现在数据流中的相对时间是随机的。
然而一个字符一旦发射开始,就必须连着出去。
由此可见,在异步串行通信中,所谓“异步”是指字符与字符之间的异步,而在字符内部,仍然是同步发出。
因此,这种通信的效率比较低。
尽管如此,由于异步通信电路比较简单,其链路协议也不难实现,所以,异步通信在串行通信中得到了广泛地应用。
在后边讲的各种串行标准总线以及PC机中均采用这种通信方式。
现在采用的异步通信的速率通常在9600bit/s以上。
2. 同步通信同步通信的特点是不仅字符内部保持“同步”,而且字符与字符之间也是同步的。
在这种通信方式下,收/发双方必须建立准确的定时信号。
也就是收/发时钟的频率必须严格地一致。
同步通信在数据格式上也与异步通信不同,每个字符不增加任何附加位,而是连续发送。
但是在传送中,数据要分成组(帧),一组含多少个独立的码元。
为使收/发双方建立和保持同步,在每组的开始和结束需加上规定的码元序列,作为标志序列。
在发送数据之前,必须先发送此标志序列,接收端通过检测该标志性序列实现同步。
标志序列的格式因传输规程不同而异。
例如,在基本型传输规程中,利用国际No.5代码中的“SYN”控制系统,可实现收/发双方的同步。
又如在高级数据联络规程(HDLC)中,是按帧格式传送,利用帧标志符“01111110”来实现收发双方的同步。
同步通信方式适合于高速的数据传输。
由于不需要起始和停止符,因此传送效率比较高,但实现起来比较复杂。
4.1.4 信号调制和解调在串行通信中,通常都是指数字通信。
即传输的数据都是“0”、“1”序列组成的数字信号。
这种数字信号包括从低频到高频极其丰富的谐波信号,因此要求传输线的频率很高。
但在远距离通信时,为了降低成本,通常大都采用普通电话线(双绞线)进行传输,而这种电话线的频率有限,通常不超过3000Hz。
若要通过电话线传输数字信号,必须采取一定的措施,其方法就是调制解调技术。
具体地说,就是在发送端把数字信号转换成适合于电话线传输地模拟信号,此过程称为调制,能够完成调制任务的设备叫调制器(Modulator);在接收端再把调制的模拟信号还原成数字信号,称为解调,完成解调的设备叫解调器(Demodulator)。
调制和解调是一个事物不同的两个方面,而在一个终端设备上往往既要调制,又要解调(以便完成收/发任务),因此,二者缺一不可。
通常是把上述两种功能做在一个设备中,称为调制解调器(Modulator-Demodulator,缩写为MODEM)。
图4.5表示出了两台计算机利用MODEM进行通信的原理电路。
图4.5 计算机远程通信示意图在图4.5中,MODEM为调制解调器,具有发送和接收两种功能,当计算机(1)想发送数据,首先通过异步通信适配器,把并行数据变成串行数据。
然后由串行接口(例如RS -232-C)将数据送到MODEM,由MODEM把此串行数据调制成模拟量(称为调制),然后送到公共电话线传到远方终端。
远方的MODEM将模拟量再还原(解调)成串行数据,并经串行接口送入计算机,反之亦然。
调制的方法很多,按照调制技术的不同,不外乎有调频(FM)、调幅(AM)和调相(PM)三种。
它们分别按传输数字信号的变化规律去改变载波(即音频模拟信号Asin(2лf t+ф)的频率f、幅值A和相位ф,使之随数字信号的变化而变化。
按调制技术的分类,调制解调器的方法可分为:(1)频移键控法(FSK);(2)相移键控法;(3)相移幅度调制(PAM)。
目前计算机通信中应用最多的是频移键控法(FSK)。
它的基本思想是把数字信号的“1”和“0”调制成不同频率的f1和f2。
4.1.5 差错控制技术在串行通信中,由于系统本身硬件、软件故障,或者外界电磁干扰等原因,数据传输过程中产生错误是难免的,所以采取一定的措施尽量使误码减少,是串行通信中重要内容之一。
其方法应从三方面着手,第一,改善传输信号的电气特性,使误码率达到要求;第二,改善传输线路,使其干扰减到最小;第三,采取检错纠错技术,即所谓差错控制。
所谓差错控制技术,包括两方面内容,一是对信息数据进行可靠有效的编码,另一方面是一旦发现信息传输错误,如何补救。
1. 差错控制方法(1)自动请求重发自动请求重发ARQ(Automatic Request Repeat)方式的工作原理是,发送端对发送序列进行纠错编码,可以检测出错误的检验序列,接收端根据检验序列的编码规则判决是否出错,并把判决结果通过反馈信号传回给发送端。
若无错,接收端确认接收,同时发送端缓冲器清除该序列;若有误,接收端拒收,同时通知发送端重新发送该序列,直到接收端收到正确的信息为止,如图4.6所示。
在微机通信中,自动请求重发纠错系统一般采用两种方式工作。
一种是采用半双工方式的系统,该系统中发送端只有在接收到反馈应答的判决信号后,才能决定是否继续发下一组数据。
因此,这种系统也称为发送等待系统,一般应用于面向字符的传送控制规程中。
另一种采用全双工通信方式的系统,该系统中把需要应答的判决信号插到双方发送的信息帧中。