串行通讯基础培训(e-learning)
- 格式:ppt
- 大小:2.33 MB
- 文档页数:41
串行通信基础知识本节简要概括了串行通信中的相关概念,为学习PC 机与MCU 的串行通信做准备。
1. 基本概念我们知道,“位”(bit )是二进制数字的简称,是可以拥有两种状态的最小二进制值,分别用“0”和“1”表示。
在计算机中,通常一个信息单位用8位二进制表示,称为一个“字节”(byte )。
串行通信的特点是:数据以字节为单位,按位的顺序从一条传输线上发送出去。
这里至少涉及到以下几个问题:第一,每个字节之间是如何区分的?第二,发送一位的持续时间是多少?第三,怎样知道传输是正确的?第四,可以传输多远?等等。
这些问题属于串行通信的基本概念。
串行通信分为异步通信与同步通信两种方式,本节主要给出异步串行通信的一些常用概念。
正确理解这些概念,对串行通信编程是有益的。
① 异步串行通信的格式在MCU 的英文芯片手册上,通常说SCI 采用的是NRZ 数据格式,英文全称是:“standard non-return-zero mark/space data format ”,可以译为:“标准不归零传号/空号数据格式”。
这是一个通信术语,“不归零”的最初含义是:用负电平表示一种二进制值,正电平表示另一种二进制值,不使用零电平。
“mark/space ”即“传号/空号”分别是表示两种状态的物理名称,逻辑名称记为“1/0”。
对学习嵌入式应用的读者而言,只要理解这种格式只有“1”、“0”两种逻辑值就可以了。
图3.3.1给出了8位数据、无校验情况的传送格式。
这种格式的空闲状态为“1”,发送器通过发送一个“0”表示一个字节传输的开始,随后是数据位(在MCU 中一般是8位或9位,可以包含校验位)。
最后,发送器发送1到2位的停止位,表示一个字节传送结束。
若继续发送下一字节,则重新发送开始位,开始一个新的字节传送。
若不发送新的字节,则维持“1”的状态,使发送数据线处于空闲。
从开始位到停止位结束的时间间隔称为一帧(frame )。
所以,也称这种格式为帧格式。
串口通信的基本知识本文介绍了串口通讯的基本概念、数据格式、通讯方式、典型的串口通讯标准等内容。
串口通讯,RS232,RS485,停止位,奇校验,偶校验1 串口通讯串口通讯(Serial Communication),是指外设和计算机间,通过数据信号线、地线等,按位进行传输数据的一种通讯方式。
串口是一种接口标准,它规定了接口的电气标准,没有规定接口插件电缆以及使用的协议。
2 串口通讯的数据格式一个字符一个字符地传输,每个字符一位一位地传输,并且传输一个字符时,总是以“起始位”开始,以“停止位”结束,字符之间没有固定的时间间隔要求。
每一个字符的前面都有一位起始位(低电平),字符本身由7位数据位组成,接着字符后面是一位校验位(检验位可以是奇校验、偶校验或无校验位),最后是一位或一位半或二位停止位,停止位后面是不定长的空闲位,停止位和空闲位都规定为高电平。
实际传输时每一位的信号宽度与波特率有关,波特率越高,宽度越小,在进行传输之前,双方一定要使用同一个波特率设置。
3 通讯方式单工模式(Simplex Communication)的数据传输是单向的。
通信双方中,一方固定为发送端,一方则固定为接收端。
信息只能沿一个方向传输,使用一根传输线。
半双工模式(Half Duplex)通信使用同一根传输线,既可以发送数据又可以接收数据,但不能同时进行发送和接收。
数据传输允许数据在两个方向上传输,但是,在任何时刻只能由其中的一方发送数据,另一方接收数据。
因此半双工模式既可以使用一条数据线,也可以使用两条数据线。
半双工通信中每端需有一个收发切换电子开关,通过切换来决定数据向哪个方向传输。
因为有切换,所以会产生时间延迟,信息传输效率低些。
全双工模式(Full Duplex)通信允许数据同时在两个方向上传输。
因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力。
在全双工模式中,每一端都有发送器和接收器,有两条传输线,信息传输效率高。
本文详细介绍了串行通信的基本原理,以及在Windows NT、Win98环境下用MFC 实现串口(COM)通信的方法:使用ActiveX控件或Win API.并给出用Visual C++6.0编写的相应MFC32位应用程序。
关键词:串行通信、VC++6.0、ActiveX控件、Win API、MFC32位应用程序、事件驱动、非阻塞通信、多线程.在Windows应用程序的开发中,我们常常需要面临与外围数据源设备通信的问题。
计算机和单片机(如MCS-51)都具有串行通信口,可以设计相应的串口通信程序,完成二者之间的数据通信任务。
实际工作中利用串口完成通信任务的时候非常之多。
已有一些文章介绍串口编程的文章在计算机杂志上发表。
但总的感觉说来不太全面,特别是介绍32位下编程的更少,且很不详细。
笔者在实际工作中积累了较多经验,结合硬件、软件,重点提及比较新的技术,及需要注意的要点作一番探讨。
希望对各位需要编写串口通信程序的朋友有一些帮助。
一.串行通信的基本原理串行端口的本质功能是作为CPU和串行设备间的编码转换器。
当数据从 CPU经过串行端口发送出去时,字节数据转换为串行的位。
在接收数据时,串行的位被转换为字节数据。
在Windows环境(Windows NT、Win98、Windows2000)下,串口是系统资源的一部分。
应用程序要使用串口进行通信,必须在使用之前向操作系统提出资源申请要求(打开串口),通信完成后必须释放资源(关闭串口)。
串口通信程序的流程如下图:二.串口信号线的接法一个完整的RS-232C接口有22根线,采用标准的25芯插头座(或者9芯插头座)。
25芯和9芯的主要信号线相同。
以下的介绍是以25芯的RS-232C为例。
①主要信号线定义:2脚:发送数据TXD; 3脚:接收数据RXD; 4脚:请求发送RTS; 5脚:清除发送CTS;6脚:数据设备就绪DSR;20脚:数据终端就绪DTR; 8脚:数据载波检测DCD;1脚:保护地; 7脚:信号地。
通信基础知识培训资料1. 介绍通信是现代社会中必不可少的一项技术,它使人们能够相互沟通和交流信息。
通信基础知识是理解和应用通信技术的基石。
本培训资料旨在帮助初学者理解通信基础知识的重要性以及相关概念、原理和技术。
2. 通信基础概述2.1 通信的定义和作用2.2 通信的发展历程2.3 通信的分类:有线通信和无线通信2.4 通信的基本要素:发送端、接收端、信道、信号等3. 信号与系统3.1 信号的定义和分类:模拟信号和数字信号3.2 常见的信号波形:正弦波、方波、脉冲波、三角波等3.3 系统的定义和分类:线性系统和非线性系统3.4 信号与系统的基本运算:线性叠加、延时、卷积等4. 传输介质4.1 导线传输介质:铜线、光纤等4.2 无线传输介质:空气、水、真空等4.3 传输介质的特性:传输速度、衰减、噪声等5. 调制与解调5.1 调制的定义和作用5.2 常见的调制方式:模拟调制和数字调制5.3 调制技术:调幅、调频、调相等5.4 解调的定义和作用5.5 常见的解调方式:同步解调和非同步解调5.6 解调技术:包络检测、频率检测、相位检测等6. 信道编码与解码6.1 信道编码的定义和作用6.2 常见的信道编码技术:奇偶校验、循环冗余校验(CRC)、哈密顿码等6.3 信道解码的定义和作用6.4 常见的信道解码技术:前向纠错编码(FEC)、译码器等7. 多路复用与分用7.1 多路复用的定义和作用7.2 常见的多路复用技术:频分多路复用(FDM)、时分多路复用(TDM)、码分多路复用(CDM)等7.3 分用的定义和作用7.4 常见的分用技术:频分分用、时分分用、码分分用等8. 数据传输与协议8.1 数据传输的定义和作用8.2 数据传输的方式:串行传输和并行传输8.3 常见的数据传输协议:RS-232、USB、Ethernet等8.4 协议的定义和作用8.5 常见的协议:TCP/IP协议、HTTP协议等9. 网络拓扑与通信设备9.1 网络拓扑的分类:星型拓扑、环型拓扑、总线拓扑等9.2 通信设备的分类:集线器、交换机、路由器等9.3 通信设备的作用和功能10. 通信安全与保密10.1 通信安全的概念和重要性10.2 常见的通信安全技术:加密、认证、防火墙等10.3 通信保密的概念和重要性10.4 常见的通信保密技术:数据加密、数据隐藏等11. 总结本培训资料简要介绍了通信基础知识的概念、原理和技术。
什么是串行通信
所谓“串行通信”是指外设和计算机间使用一根数据信号线(另外需要地线,可能还需要控制线),数据在一根数据信号线上一位一位地进行传输,每一位数据都占据一个固定的时间长度。
两个设备之间交换信息时,必须有一条线路(或是多条线路)将两者连接,因通过线上电压的改变来达到数据交换的目的。
为什么一定要通过电压的改变呢?这是因为计算机本身并不知道什么是信息,在其内部只知道0和1两个状态,人类将这种0与1的组合通过不同的排列,来代表不同的意义。
每一个0或1的状态,称之为1个位,每8个位被称为一个字节。
串行通信(Serial Communication)指的是两个欲交换信息者的信息流动,而且其信息流动的方式是一个位接着一个位,有顺序地由一个方向向另一个方向流动。
计算机之间通过这种串行通信的方式传送信息已经有一段相当久远的历史,而且到了现在还是一直不断地对串行传输作改进,希望能够达到更远的距离和更好的效果。