文档库 最新最全的文档下载
当前位置:文档库 › VC编程实现与USB设备通信

VC编程实现与USB设备通信

VC编程实现与USB设备通信
VC编程实现与USB设备通信

第1章绪论

1.1USB简介

USB是由世界著名计算机和通信公司等共同推出的新一代接口标准,全称为Universal Serial Bus(通用串行总线)[1],是一种快速、灵活的总线接口。它是为了解决日益增加的PC外设与有限的主板插槽和端口之间的矛盾而制定的一种串行通信标准。USB应用十分广泛,并具有下述优点:

1、适用于多种外设,使它不需要为不同的外设准备不同的接口和协议;

2、Windows能自动检测到USB设备的热插拔,并自动配置;

3、PC机上的接口线非常紧缺,而USB设备并不需要用户设置端口故无论从用户使用方便性,或从对资源的占用方面看,USB都很优秀;

4、当接入一个USB设备时,全速USB接口可达12Mbit/s。考虑到状态、控制和出错信息,最大理论速度仍可达到9.6Mbit/s,这是其他串行接口协议所不能比拟的,且USB也支持1.5Mbit/s的低速传输。

5、USB接口芯片价格低廉,这也大大促进USB设备的开发与应用。

在USB出现之前,计算机典型接口有并行口、串行口、鼠标口、键盘口、显示器口,及各种卡式接口等,与这些接口对应的有各种不同的电缆,在传输速度方面,这些接口都存在速度偏低的问题。在技术方面,这种设计容易产生I/O冲突,中断不够用,以及对于每一种新的外设都必须设计新的接口卡等缺点。当今的计算机外部设备,都在追求高速度和高通用性。USB接口适应了这种要求,并以其速度快、使用方便、成本低等优点,迅速得到了众多PC厂商和半导体厂商的大力支持,外设向USB过度成为必然趋势。

1.2USB驱动程序的意义

如果PC主机不知道如何与USB外设通信,那么这个USB外设一点用处都没有,人机接口设备(HID)[2]类是Windows完全支持的USB设备类型

1

中的一种,应用程序可以使用操作系统内设置的驱动与HID通信,但与HID 通信不像打开一个端口,设定几个参数,然后就可以读写数据那么简单,在应用程序能与HID交换数据之前,它先要找到设备,获取有关它的报告信息。为做到这些,应用程序必须通过访问通信API函数,使位于上层的应用程序与位于下层的设备驱动程序进行数据交换。应用程序可以使用任何能访问API函数的程序语言,VC++是一种能访问API函数的功能强大的语言,因此,我们应用Visual C++6.0环境下编写与USB设备通信的Windows程序。

1.3VC++软件的介绍

应用基于MFC AppWizard的应用程序。MFC (Microsoft Foundation Class Library)中的各种类结合起来构成了一个应用程序框架,它的目的就是在此基础上来建立Windows下的应用程序,这是一种相对SDK来说更为简单的方法。因为总体上,MFC框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法,要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓。Microsoft Visual C++提供了相应的工具来完成这个工作:AppWizard可以用来生成初步的框架文件(代码和资源等);资源编辑器用于帮助直观地设计用户接口;ClassWizard用来协助添加代码到框架文件;最后,编译,则通过类库实现了应用程序特定的逻辑。

1.4系统方案设计

上位机界面应用VC++6.0软件来编写,为了简单适用,在创建工程时采用对话框类型。一个好的应用程序首先要有好的用户界面,看起来赏心悦目,使用起来简单、方便。显示界面上的各个元素需要和USB设备上的元件摆放位置相对应。把要完成的一系列功能的显示元素分成不同的模块来进行程序的编写,每一个模块分别完成一种功能,这样既方便检查程序,也方便在通信发生错误时的对错误进行分析。

为了实现PC机对USB设备的识别,上位机端需要有一个USB设备的

2

驱动程序来识别和支持USB设备,否则PC机将无法识别USB设备。这里选用DriverStudio软件来编写,它能生成一个简单的驱动程序的框架,根据需要,可以在此基础上进行更深层的开发。

1.5预期结果

通过上位机软件和驱动程序的编写实现以下功能:

1、完成上位机软件的编写,并可以在设备没有连接时显示连接错误。

2、完成驱动程序的编写,实现上位机能发现USB设备,并使上位机能正确配置设备。同时在显示界面上显示出找到设备。

3、实现双向传输。在上位机软件中可以控制USB设备中的相应显示,同时可以接收到USB设备传回的消息,并在显示界面上显示。达到一个PC 机与USB设备信息的交互,完成通信。

4、利用VC编程实现对计算机底层硬件的操作,培养在此方面工程开发的能力。

3

第2章USB协议

2.1USB系统的使用分类及系统的描述

USB设计的初衷是针对桌面电脑而不是应用于可移动的环境下的。软件体系通过对各种主机控制器提供支持以保证将来对USB的扩充[3]。USB是一种电缆总线,支持在主机和各式各样的即插即用的外设之间进行数据传输。由主机预定的标准的协议使各种设备分享USB带宽,当其它设备和主机在运行时,总线允许添加、设置、使用以及拆除外设。

USB系统的描述:

一个USB系统主要被定义为三个部分:USB的互连、USB的设备、USB 的主机。

USB的互连是指USB设备与主机之间进行连接和通信的操作,主要包括以下几方面:

(1)总线的拓扑结构:USB设备与主机之间的各种连接方式;

(2)内部层次关系:根据性能叠置,USB的任务被分配到系统的每一个层次;

(3)数据流模式:描述了数据在系统中通过USB从产生方到使用方的流动方式;

(4)USB的调度:USB提供了一个共享的连接。对可以使用的连接进行了调度以支持同步数据传输,并且避免的优先级判别的开销。

USB的设备如下所示:

(1)网络集线器,向USB提供了更多的连接点;

(2)功能器件:为系统提供具体功能,如ISDN的连接,数字的游戏杆或扬声器。

USB设备提供的USB标准接口的主要依据:

(1)对USB协议的运用;

4

(2)对标准USB操作的反馈,如设置和复位;

(3)标准性能的描述性信息;

USB传输方式:

USB总线属一种轮讯方式的总线,主机控制端口初始化所有的数据传输。每一总线执行动作最多传送三个数据包。按照传输前制定好的原则,在每次传送开始时,主机控制器发送一个描述传输运作的种类、方向,USB设备地址和终端号的USB数据包,这个数据包通常称为标志包(token packet)。USB 设备从解码后的数据包的适当位置取出属于自己的数据。数据传输方向不是从主机到设备就是从设备到主机。在传输开始时,由标志包来标志数据的传输方向,然后发送端开始发送包含信息的数据包或表明没有数据传送。接收端也要相应发送一个握手的数据包表明是否传送成功。发送端和接收端之间的USB数据传输,在主机和设备的端口之间,可视为一个通道。存在两种类型的通道:流和消息。流的数据不像消息的数据,它没有USB所定义的结构,而且通道与数据带宽、传送服务类型,端口特性(如方向和缓冲区大小)有关。USB中有一个特殊的通道——缺省控制通道,它属于消息通道,当设备一启动即存在,从而为设备的设置、查询状况和输入控制信息提供一个入口。

2.2USB物理接口的电器特性

2.2.1USB物理接口

USB传送信号和电源是通过一种四线的电缆,两根线是用于发送信号。存在两种数据传输率:

图2.1USB物理接口

5

(1)USB的高速信号的比特率定为12Mbps;

(2)低速信号传送的模式定为1.5Mbps;

电缆中包括VBUS、GND二条线,向设备提供电源。VBUS使用+5V电源。USB对电缆长度的要求很宽,最长可为几米。通过选择合适的导线长度以匹配指定的IR drop和其它一些特性,如设备能源预算和电缆适应度。为了保证足够的输入电压和终端阻抗。重要的终端设备应位于电缆的尾部。在每个端口都可检测终端是否连接或分离,并区分出高速,或低速设备。

2.2.2电源

主要包括两方面:

(1)电源分配:即USB的设备如何通过USB分配得到由主计算机提供的能源。每个USB单元通过电缆只能提供有限的能源。主机对那种直接相连的USB设备提供电源供其使用。并且每个USB设备都可能有自己的电源。那些完全依靠电缆提供能源的设备称作“总线供能”设备。相反,那些可选择能源来源的设备称作“自供电”设备。而且,集线器也可由与之相连的USB 设备提供电源。

(2)电源管理:即通过电源管理系统,USB的系统软件和设备如何与主机协调工作。USB主机与USB系统有相互独立的电源管理系统。USB的系统软件可以与主机的能源管理系统结合共同处理各种电子元件如挂起、唤醒,并且有特色的是,USB设备应用特有的电源管理特性,可让系统软件和控制其电源管理。

2.2.3总线协议

主机控制端口初始化所有的数据传输。每一总线执行动作最多传送三个数据包。按照传输前制定好的原则,在每次传送开始时,主机控制器发送一个描述传输运作的种类、方向,USB设备地址和终端号的USB数据包,这个数据包通常称为标志包(token packet)。USB设备从解码后的数据包的适当

6

位置取出属于自己的数据。数据传输方向不是从主机到设备就是从设备到主机。在传输开始时,由标志包来标志数据的传输方向,然后发送端开始发送包含信息的数据包或表明没有数据传送。接收端也要相应发送一个握手的数据包表明是否传送成功。发送端和接收端之间的USB数据传输,在主机和设备的端口之间,可视为一个通道。存在两种类型的通道:流和消息。流的数据不像消息的数据,它没有USB所定义的结构,而且通道与数据带宽、传送服务类型,端口特性(如方向和缓冲区大小)有关。多数通道在USB设备设置完成后即存在。USB中有一个特殊的通道——缺省控制通道,它属于消息通道,当设备一启动即存在,从而为设备的设置、查询状况和输入控制信息提供一个入口。

事务预处理允许对一些数据流的通道进行控制,从而在硬件级上防止了对缓冲区的高估或低估,通过发送不确认握手信号从而阻塞了数据的传输速度。当不确认信号发过后,若总线有空闲,数据传输将再做一次。这种流控制机制允许灵活的任务安排,可使不同性质的流通道同时正常工作,这样多种流通常可在不同间隔进行工作,传送不同大小的数据包。

1、USB设备的安装

所有的USB设备都是通过端口接在USB上,网络集线器知道这些指定的USB设备,集线器有一个状态指示器指明在其某个端口上,USB设备是否被安装或拆除了,主机将所有的集线器排成队列以取回其状态指示。在USB 设备安装后,主机通过设备控制通道激活该端口并以预设的地址值给USB设备。

主机对每个设备指定唯一的USB地址。并检测这种新装的USB设备是集线器还是功能部件。主机为USB设备建立了控制通道,使用指定的USB 的地址和零号端口。

如果安装的USB设备是集线器,并且USB设备连在其端口上,上述过程对每个USB设备的安装都要做一遍。

7

如果安装的设备是功能部件,那么主机中关于该设备的软件将因设备的连接而被引发。

2、USB设备的拆卸

当USB设备从集线器的端口拆除后,集线器关闭该端口,并且向主机报告该设备已不存在。USB的系统软件将准确进行处理,如果去除的USB设备上集线器,USB的系统软件将对集线器反连在其上的所有设备进行处理。

3、总线标号

总线标号就是对连接在总线上的设备指定唯一的地址的一种动作,因为USB允许USB设备在任何时刻从USB上安装或拆卸,所以总线标号是USB 的系统软件始终要作的动作,而且总线标号还包括对拆除设备的检测和处理。

4、数据流种类

数据和控制信号在主机和USB设备间的交换存在两种通道:单向和双向。USB的数据传送是在主机软件和一个USB设备的指定端口之间。这种主机软件和USB设备的端口间的联系称作通道。总的来说,各通道之间的数据流动是相互独立的。一个指定的USB设备可有许多通道。例如,一个USB 设备存在一个端口,可建立一个向其它USB设备的端口,发送数据的通道,它可建立一个从其它USB设备的端口接收数据的通道。

USB的结构包含四种基本的数据传输类型:

(1)控制数据传送:在设备连接时用来对设备进行设置,还可对指定设备进行控制,如通道控制;

(2)批量数据传送:大批量产生并使用的数据,在传输约束下,具有很广的动态范围;

(3)中断数据的传送:用来描述或匹配人的感觉或对特征反应的回馈。

(4)同步数据的传送:由预先确定的传送延迟来填满预定的USB带宽。

8

对于任何对定的设备进行设置时一种通道只能支持上述一种方式的数据传输,数据流模式的更多细节在第四章中详述。

5、控制数据传送

当USB设备初次安装时,USB系统软件使用控制数据对设备进行设置,设备驱动程序通过特定的方式使用控制数据来传送,数据传送是无损性的。

6、批量数据传送

批量数据是由大量的数据组成,如使用打印机和扫描仪时,批量数据是连续的。在硬件级上可使用错误检测可以保证可靠的数据传输,并在硬件级上引入了数据的多次传送。此外根据其它一些总线动作,被大量数据占用的带宽可以相应的进行改变。

7、中断数据传输

中断数据是少量的,且其数据延迟时间也是有限范围的。这种数据可由设备在任何时刻发送,并且以不慢于设备指定的速度在USB上传送。

中断数据一般由事件通告,特征及座标号组成,只有一个或几个字节。匹配定点设备的座标即为一例,虽然精确指定的传输率不必要,但USB必须对交互数据提供一个反应时间的最低界限。

8、同步传输

同步数据的建立、传送和使用时是连续且实时的,同步数据是以稳定的速率发送和接收实时的信息,同步数据要使接收者与发送者保持相同的时间安排,除了传输速率,同步数据对传送延迟非常敏感。所以同步通道的带宽的确定,必须满足对相关功能部件的取样特性。不可避免的信号延迟与每个端口的可用缓冲区数有关。

一个典型的同步数据的例子是语音,如果数据流的传送率不能保持,数据流是否丢失将取决于缓冲区的大小和损坏的程度。即使数据在USB硬件上

9

以合适的速率传送,软件造成的传送延迟将对那些如电话会议等实时系统的应用造成损害。

实时的传送同步数据肯定会发生潜在瞬时的数据流丢失现象,换句话说,即使许多硬件机制,如重传的引入也不能避免错误的产生。实际应用中,USB 的数据出错率小到几乎可以忽略不计。从USB的带宽中,给USB同步数据流分配了专有的一部分以满足所想得到的传速率,USB还为同步数据的传送设计了最少延迟时间。

9、指定USB带宽

USB的带宽分配给各个通道,当一个通道建立后,USB就分配给它一定的带宽,USB设备需要提供一些数据缓冲区。若USB提供了更多带宽,则需更多的缓冲区。USB的体系要保证缓冲引导的硬件的延迟限定在几毫秒内。

USB的带宽容量可以容纳多种不同的数据流,因此保证USB上可以连接大量设备,如可以容纳从1B+D直到T1速率范围的电信设备。同时USB 支持在同一时刻不同设备具有不同比特率,并具有一个动态变动的范围。2.3USB设备

USB设备分为诸如集线器、分配器或文本设备等种类。集线器类指的是一种提供USB连接点的设备,USB设备需要提供自检和属性设置的信息,USB设备必须在任何时刻执行与所定义的USB设备的状态相一致的动态。

2.3.1设备特性

当设备被连接、编号后,该设备就拥有一个唯一的USB地址。设备就是通过该USB地址被操作的,每一个USB设备通过一个或多个通道与主机通讯。所有USB设备必须在零号端口上有一指定的通道,每个USB设备的USB 控制通道将与之相连。通过此控制通道,所有的USB设备都列入一个共同的准入机制,以获得控制操作的信息。

10

在零号端口上,控制通道中的信息应完整的描述USB设备、此类信息主要有以下几类:

(1)标准信息:这类信息是对所有USB设备的共同性的定义,包括一些如厂商识别、设备种类、电源管理等的项目。设备设置、接口及终端的描述在此给出。

(2)类别信息:此类信息给出了不同USB的设备类的定义,主要反映其不同点。

(3)USB厂商信息:USB设备的厂商可自由的提供各种有关信息,其格式不受该规范制约。此外,每个USB设备均提供USB的控制和状态信息。

2.3.2设备描述

主要分为两种设备类:集线器和功能部件。只有集线器可以提供更多的USB的连接点,功能部件为主机提供了具体的功能。

USB设备可被划分三层:

(1)底层是传送和接收数据包的总线接口;

(2)中间层处理总线接口与不同端点之间的数据路由端节点是数据的终结提供处或使用处,它可被看作数据源或数据接收端(Sink);

(3)最上层的功能由串行总线设备提供,比如鼠标,或ISDN接口。2.3.3设备状态

USB设备有若干可能的状态,其中一些对于USB与主机(host)来说是外置的,而另外一些对USB设备来说是内置的。

(1)连接状态

USB设备可被连接到USB接口上或从接口断开。

(2)加电状态

USB设备的电源可来自外部电源,也可从USB接口的集线器而来。电源来自外部电源的USB设备被称作自给电源式的(self-powered)。尽管自给

11

电源式的USB设备可能在连接上USB接口以前可能已经带电,但它们直到连线上USB接口后才能被看作是加电状态(Powered state)。而这时候VBUS 已经对设备产生作用了。

一个设备可能有既支持自给电源的,同时也支持总线电源式的配置。有一些支持其中的一种,而另一些设备配置可能只有在自给电源下才能被使用。设备对电源支持的能力是通过配置描述表(configuration descriptor)来反映的。当前的电源供给形式被作为设备状态的一部分被反映出来。设备可在任何时候改变它们的供电来源,比如说:从自给式向总线式改变,如果一个配置同时支持两种模式,那此状态的最大电源需求就是指设备在两种模式下从VBUS上获取电能的最大值。设备必须以此最大电源作为参照,而究竟处于何状态是不考虑的。如果有一配置仅支持一种电源模式,那么电源模式的改变会使得设备失去当前配置与地址,返回加电状态。如果一个设备是自给电源式,并且当前配置需要大于100mA电流,那么如果此设备转到了总线电源式,它必须返回地址状态(Address state)。自给电源式集线器使用VBUS来为集线控制器(Hub controller)提供电源,因而可以仍然保持配置状态(Configured state),尽管自给电源停止提供电源。

(3)缺省状态

设备加电以后,在它从总线接收到复位信号之前不应对总线传输发生响应。在接收到复位信号之后,设备才在缺省地址处变得可寻址。

(4)地址状态

所有的USB设备在加电复位以后都使用缺省地址。每一设备在连接或复位后由主机分配一个唯一的地址。当USB设备处于挂起状态时,它保持这个地址不变。

USB设备只对缺省通道(Pipe)请求发生响应,而不管设备是否已经被分配地址或在使用缺省地址。

(5)中止状态

12

为节省电源,USB设备在探测不到总线传输时自动进入中止状态。当中止时,USB设备保持本身的内部状态,包括它的地址及配置。

所有的设备在一段特定的时间内探测不到总线活动时必须进入中止态。不管设备是被分配了非缺省的地址或者是被配置了,已经连接的设备必须在任何加电的时刻随时准备中止。总线活动的中止可能是因为主机本身进入了中止状态。另外,USB设备必须在所连接的集线器端口失效时进入中止态。这就是所指的选择性中止(Selective suspend)。

USB设备在总线活动来到时结束中止态。USB设备也可以远程唤醒的电流信号来请求主机退出中止态或选择性中止态。具体设备具有的远程唤醒的能力是可选的,也就是说,如果一个设备有远程唤醒的能力,此设备必须能让主机控制此能力的有效与否。当设备复位时,远程唤醒能力必须被禁止。

2.4Bus Enumeration总线标号

当USB设备接上或从USB设备移开的时候,主机启动一个被称作总线标识(bus enumeration)的进程,来标识并管理设备状态的改变,当USB设备接上一个加电端口时,系统当采取以下操作:

(1)USB设备所连的集线器通过其通向主机的状态改变通道向主机,汇报本USB设备已连接上。此时,USB设备处于加电状态,它所连接的端口是无效的。

(2)主机通过寻问集线器决定此次状态改变的确切含义。

(3)主机一旦得知新设备已连上以后,它至少等待100ms以使得插入操作的完成以及设备电源稳定工作。然后主机发出端口使能及复位命令给那个端口。

(4)集线器将发向端口的复位信号持续10ms当复位信号撤消后,端口已经有效了。这时USB设备处于缺省状态,并且可从VBUS汲取小于100mA 的电能,所有设备寄存器及状态已经被复位,设备可对缺省地址产生响应。

(5)主机给设备分配一个唯一的地址,设备转向编址状态。(Address

13

state)。

(6)在USB设备接受设备地址之前,它的缺省控制通道(Default Control Pipe)在缺省地址处自然是可寻址的,主机通过读取设备描述表,判决设备缺省通道的实际净数据负载。

(7)主机从设备读取配置信息要从配置0读到配置n-1,其中n为配置个数,此操作须花费几个毫秒。

(8)基于从设备取来的配置信息及设备如何被使用的信息,主机给设备一个配置值,此刻,设备就处于配置状态(Configured state)并此配置有关的所有端节点,都按照配置各就各位,USB设备现在可以从VBUS得到描述中所要求的电量了。从设备的角度来讲,它已经准备就绪了。

当UBS设备被取走时,集线器同样会通知主机,断开一个设备连接会使得设备所连接的端口无效,一收到断开通知后,主机就会更新的拓扑信息。

2.5通用USB设备操作

1、动态插接与拔开

USB设备必须在任意时刻允许被插接与拔开。提供连接点或端口的集线器应当负责汇报端口的状态改变情况。

当主机探测到连接操作后,会使得所连的集线器端口生效,设备也会因此而复位,一个被复位了的USB设备有如下特性:

(1)对缺省USB地址发生响应;

(2)没有被配置;

(3)初始状态不是挂起。

当设备从一个集线器端口移去时,集线器会使得原来连接的端口失效,并且通知主机设备已移去。

2、地址分配

当USB设备连接以后,由主机负责给此设备分配一个唯一的地址,这个

14

操作是在设备复位及端口使能操作以后。

3、配置

USB设备在正常被使用以前,必须被配置,由主机负责配置设备。主机一般会从USB设备获取配置信息后再准定此设备有哪些功能。

作为配置操作的一部分,主机会设置设备的配置值,并且,如果必要的话会选择合适的接口的备选设置。

只须一个简单配置,一个设备可能支持多重接口。一个接口是一组端结点集合,它们代表了设备向主机提供的单一的功能或特性,用来与这组相关端结点通信的协议以及接口内各端结点的目的可以作为一个设备类的一部分或者由厂商制定具体定义。

另外,一个配置中的接口可能有备选设置。这些备选设置会重定义相关端结点的数目或特性。如果是这样的话,设备必须支持GetInterface(接口请求)与Set Interface(接口设置)请求,来汇报及选择指定的接口的设备选设置。

在每个设备配置下,每个接口描述表可能包括用来标识接口的及备选设置的域,接口被从0~N-1编号。n为配置所支持的能同时使用的接口数目,类似的设置的编号也从0开始。当设备初始化配置后,缺省设置是备选设置0。

了支持通用的设备驱动程序管理一组相关的BUS设备,设备与接口描述表中包含了类(Class),子类(Sub class),及协议(Protocol)域。这些域用来标识一个设备的功能及用于通信的协议。

一个类值被分配给一组按照特性划分成USB类说明一部分的设备。一个类的设备可进一步划分成子类,并且在一个类或子类中,一个协议代值可定义主机软件是怎样与设备通信的。

4、数据传送

15

数据可能以四种方式在USB设备端结点与主机之间传送。在不同设置下,一个终端结点可能被用于不同的传输方式,但一旦设置选定,传送方式就选定了。

5、复位/继续及恢复时间

当一个端口被复位或从中止态继续的时候,USB系统软件应当等待一个10ms的恢复时间才能确保端口对数据传输产生响应。

一旦恢复时间段结束(从reset信号结束,或resume信号结尾的EOP结束开始计时)设备必须在任意时刻都能对数据传输作出响应。

6、设置地址的处理

在reset/resume恢复时间段以后,如果设备收到SetAddress()请求,设备必须能在50ms内完成请求的处理,并完成状态的转换,在SetAddress()的请求下,当设备发出0长度的状态数据包或设备收到状态数据包的响应信号ACK就表明状态转换结束了。

在状态转换结束后,设备有2ms的SetAddress()恢复时间。在这段时间结束以后,设备必须能在新地址处接受Setup数据包,并且,必须确保此时设备不对旧地址的信号产生响应。

7、请求错误

如果一设备收到一个请求,它或是在设备中无定义,或是不适用于当前设置,或是数值不对,这时就会产生一个请求错误。设备在下一个数据传输阶段或状态交换阶段(Status stage)返回一个表明错误的STALL PID信号,一般在下一个数据传输返回更好,这样可减少不必要的总线活动。

2.6USB主机

USB的互连支持数据在USB主机与USB设备之间的流动。为了简化主机上的客户软件(Software client)与设备的功能部件(function)之间的通信

16

而必须的主机接口(host interface)。只要USB设备并不感觉到主机行为的改变,USB主机完全可以提供一个不同的软件系统实现方法。图2.2展示了USB 通信模型之间基本的信息流与互连关系:

图2.2通信模型层次关系图

由图2.2可见,主机与设备都被划分成不同的层次。主机上垂直的箭头是实际的信息流。设备上对应的接口是基于不同实现的。在主机与设备之间的所有通信最终都是通过USB的电缆进行,然而,在上层的水平层之间存在逻辑的主机—设备信息流。主机上的客户软件和设备功能部件之间的通信是基于实际的应用需求及设备所能提供的能力。

客户软件与功能部件之间的透明通信的要求,决定主机和设备下层部件的功能以及它们的界面(interface)。

主机在整个USB系统中是唯一的,它包括USB总线接口、USB系统(USB System)、USB客户(Client)。

其中,USB总线接口处理电气及协议层的互连。从互连的角度看,USB 设备和USB主机都提供类似的USB总线接口,如串行接口引擎(Serial Interface Engine SIE)。由于主机在USB系统中的特殊性,USB主机上的总线接口还必须具备主机控制器的功能(Host Controller),主机控制器具有一个内集成的集线器(根集线器)提供与USB电缆的连接。

17

USB系统(USB System)使用主机控制器来管理主机与USB设备的数据传输。USB系统与主机控制器之间的界面基于主机控制器的硬件特性。USB 系统层相对于主机控制器而言,处理的是以客户观点见到的数据传输及客户与设备的交互。这包括附加的USB信息,比如协议头(Protocol Wrappers)。USB系统还必须管理USB的系统资源,以使得客户的访问成为可能。

USB系统有三个主要组成部份:主机控制器驱动(Host Controller Driver)、USB驱动(USB Driver)和主机软件(host software)。

主机控制器驱动的存在,方便地将各种不同的主机控制器实现映射到USB系统,客户可以不必知道设备到底接在哪个主机控制器上就能同设备进行通信。USB驱动提供了基本的面向客户的主机界面。在HCD与USB之间的接口称为主机控制器驱动接口(Host Controller Driver Interface HCDI)。这层接口不能被客户直接访问,所以也不是由USB具体来完成的。一个典型的HCDI是由支撑各种不同主机控制器的操作系统来定义的。

USBD提供I/O请求包(I/O Request Packets)形式的数据传输,以某一特定通道来传输数据。另外,USBD为它的客户提供一个容易被支配及配置的抽象的设备。作为这种抽象的一部份,USBD拥有标准通道对设备进行一些标准的控制。这标准通道实现了USBD与抽象设备之间的逻辑通信。

在有些操作系统中,提供了额外的非USB系统软件以支持设备的配置及设备驱动程序的加载。在这样的操作系统中,设备驱动程序应使用提供的主机软件接口而不是直接访问USBDI。

客户层描述的是直接与USB设备进行交互所需要的软件包。当所有的设备都已连上系统时,这些客户就可以直接通设备进行通信。一个客户不能直接访问设备的硬件。主机可提供如下的功能:

(1)检测USB设备的连接与断开;

(2)管理主机与设备之间的标准控制流;

(3)管理主机与设备之间的数据流;

18

(4)收集状态及一些活动的统计数字。

控制主机控制器与USB设备的电气接口,包括提供有限的能源。所有的集线器都通过状态改变通道报告它的状态的改变,其中包括设备的连上与断开等。USBD的一类特殊客户即:集线器驱动器拥有这些状态改变通道,接收这些状态的改变。对于像设备连结这种状态改变,集线器驱动器将加载设备的驱动程序。在有些系统中,这种集线器驱动程序是操作系统提供的主机软件的一部份,它用来管理设备。

2.7USB分组标识

USB的分组标识(PID)用来标识操作的属性,PID指出了数据分组的类型,并可由此推断出分组格式和改组所用的校验方法。USB的通信结构一般是以PID开始的,后面紧跟着数据或控制信息,最后是CRC校验。

PID是由一个四位的分组类型码加上该四位类型码的反码组成,其格式如图2.3所示:

图2.3PID分组码格式

2.8USB的数据流包格式

USB的数据流以包的形式进行传输,根据PID的不同,将包分为四种,令牌包(Token Package),数据包(Data Package),握手包(Handshake Package),和特殊类型包(Special Package)。

2.8.1令牌包

如图2.4所示为令牌包的格式。它由PID字段,ADDR(Address地址)字段,ENDP(End point,端点)字段和CRC(cyclic Redundancy Check,循环冗余校验),字段构成。PID包指定了包是输入输出还是建立类型,对于输出和

19

建立事务,地址和端点字段唯一确定了哪个设备和端点接受数据包。对于输入事务,这些字段唯一确定了哪个端点应该传输数据包。只有主机能发出标记包。输入PID定义了从外设到主机的数据时务。格式如图2.4所示:

图2.4令牌包格式

2.8.2数据包

数据包由PID,大于或等于0个字节的数据的数据区和CRC构成。有两种类型的数据包,其中PID分别为DATA0和DATA1。这两种数据包是为了支持数据切换同步(DATA Toggle Synchronization)而定义的。格式如图2.5所示:

图2.5数据包格式

2.8.3握手包

握手包仅由PID构成。握手包用来报告数据事务的状态,能表示数据成功接受,命令的接受或拒绝,流控制和终止条件。如图2.6所示:

图2.6握手包格式

2.8.4特殊包

这个特殊前导(Special Preamble)封包拥有独自的PID类型名称PRE,仅用于主机想要从高速传输变成低速传输时,主机在想要送出低速的封包与低速设备通信之前,先送出的PRE包,其格式如图2.7所示:

20

通信原理

[原创连载]深入浅出通信原理(最后更新于6月8日夜) 开场: 很多原理一旦上升为理论,常常伴随着繁杂的数学推导,很简单的本质反而被一大堆公式淹 没,通信原理因此让很多人望而却步。 非常复杂的公式背后很可能隐藏了简单的道理。 真正学好通信原理,关键是要透过公式看本质。 以复傅立叶系数为例,很多人都只是会套公式计算,真正理解其含义的人不多。对于经常出 现的“负频率”,真正理解的人就更少了。 连载1:从多项式乘法讲起 连载2:卷积的表达式 连载3:利用matlab计算卷积

连载5:著名的欧拉公式 连载6:利用卷积计算两个信号的乘积连载7:信号的傅立叶级数展开连载8:时域信号相乘相当于频域卷积连载9:用余弦信号合成方波信号 连载10:傅立叶级数展开的定义 连载11:如何把信号展开成复指数信号之和? 连载12:复傅立叶系数 连载13:实信号频谱的共轭对称性 连载14:复指数信号的物理意义-旋转向量连载15:余弦信号的三维频谱图 连载16:正弦信号的三维频谱图 连载17:两个旋转向量合成余弦信号的动画连载18:周期信号的三维频谱图 连载19:复数乘法的几何意义连载20:用成对的旋转向量合成实信号 连载21:利用李萨育图形认识复信号

连载23:利用欧拉公式理解虚数 连载24:IQ信号是不是复信号? 连载25:IQ解调原理 连载26:用复数运算实现正交解调 连载27:为什么要对信号进行调制? 连载28:IQ调制为什么被称为正交调制? 连载29:三角函数的正交性 连载30:OFDM正交频分复用 连载31:OFDM解调 连载32:CDMA中的正交码 连载33:CDMA的最基本原理 连载34:什么是PSK调制? 连载35:如何用IQ调制实现QPSK调制? 连载36:QPSK调制信号的时域波形连载37:QPSK调制的星座图 连载38:QPSK的映射关系可以随意定吗?连载39:如何使用IQ调制实现8PSK?

通信原理-位同步

《通信原理》 §11.3位同步 位同步是指在接收端的基带信号中提取码元定时的过程。位同步是正确取样判决的基础,只有数字通信才需要,所提取的位同步信息 是频率等于码速率的定时脉冲,相位则根据判决时信号波形决定,可能在码元中间,也可能在码元终止时刻或其他时刻。实现方法也有插入导频法(外同步)和直接法(自同步)。 一、插入导频法在基带信号频谱的零点处插入所需的位定时导频 信号。其中,图(a)为常见 的双极性不归零基带信号的功率谱,插入导频的位置是 1/T;图(b)表示经某种相关变换的基带信号,其谱的第一个零点为1/2T,插入导频应在1/2T处。 图11-14 插入导频法频谱图 在接收端,对图11-14(a)的情况,经中心频率为1/T 的窄带滤波器,就可从解调后的基带信号中提取出位同步所需的信号;对图 11-14(b)的情况, 窄带滤波器的中心频率应为1/2T,所提取的导频需经倍频后,才得所需的位同步脉冲。 图11-15 画出了插入位定时导频的系统框图,它对应于图11-14(b)所示谱的情况。发端插入的导频为1/2T,接收端在解调后设置了1/2T窄带滤波器,其作用是取出位定时导频。移相、倒相和相加电路是为了从信号中消去插入导频,

使进入取样判决器的基带信号没有插入导频。这样做是为了避免插入导频对取样 判决的影响。 (a)发送端 (b)接收端 图 11-15 插入位定时导频系统框图 此外,由于窄带滤 波器取出的导频为 1/2T ,图中微分全波整流起到了倍频的 作用,产生与码元速率相同的位定时信号 1/T 。图中两个移相器都是用来消除窄 带滤波器等引起的相移。 另一种导频插入的方法是包络调制法。这种方法是用位同步信号的某种波形对 移相键控或移频键控这样的恒包络数字已调信号进行附加的幅度调制,使其包络 随着位同步信号波形变化;在接收端只要进行包络检波,就可以形成位同步信号。 设移相键控的表达式为 (11.3-1) 利用含有位同步信号的某种波形对 s 1 (t ) 进行幅度调制,若这种波形为升余弦 波形,则其表示式为 (11.3-2) 式中的 2/ T ,T 为码元宽度。幅度调制后的信号为 (11.3-3) 接收端对 s 2 (t ) 进行包络检波,包络检波器的输出为 1 (1 cos t ) ,除去直流 2 m (t ) = 1 (1 + cos ∧t ) 2 s (t ) = 1 (1 + cos ∧t ) cos[ω t + ? (t )] 2 2 c s 1 (t ) = cos[ωc t + ?(t )]

2017年通信中级(终端与业务)-真题+答案、

试题二(共20分) 【问题1】单项选择题(每题1分,共5分。请在备选项中选择1个正确答案,并将其所对应的字母编号写在答题纸的对应栏内) (1)下列()因素不属于通信企业市场营销宏观环境的因素。 A.人口环境 B.科技环境 C.经济环境 D.社会公众 (2)消费者初次购买差异性很大的耐用消费品时发生的购买行为是()购买行为。 A.复杂型 B.和谐型 C.习惯型 D.多变型 (3)生活方式与个性是影响通信消费者购买决策因素中的()。 A.文化因素 B.社会因素 C.个人因素 D.心理因素 (4)在运营商、购买对象、购买方式都不变的情况下,而购买以前曾经购买过的产品的购买类型属于()。 A.直接重购 B.修正重购 C.新购 D.谈判重购

(5)()是指将整个市场划分为几个较大的细分市场,然后为其中的一个或几个细分市场的需要提供相应的产品及营销方案。 A.无市场细分 B.细分市场营销 C.补缺市场营销 D.完全市场细分 【问题2】判断题(每题1分,共5分。请对下列说法进行判断,将“√”(判为正确)或“×”(判为错误)写在答题纸对应栏内) (1)通信市场的主体不包括通信产品的供应者。() (2)通信市场是特定的专业市场,是一般市场中的一部分,是一般市场中的一个子系统。() (3)营销中介不属于通信企业市场营销的微观环境。() (4)影响消费者购买决策的社会因素,主要包括参考群体和家庭身份/地位两个方面() (5)影响集团客户购买行为的因素中,不包括组织因素。() 【问题3】填空题(每空1分,共5分。请在答题纸对应栏内空 白处填入正确答案) (1)影响消费者购买决策的文化因素的亚文化,主要表现为民族亚文化、宗教亚文化、 三个方面。 (2)体验经济是指企业以为重心、以商品为素材,为消费者创造出值得回忆的 感受。 (3)常见问题解答、呼叫中心、新闻组等工具属于网络营销工具中的。 (4)营销人员在没有考虑好该如何应对客户异议时,最好先采用。 (4)通信企业的危机具有突发性、变化性、严重性、影响性和的特点。 【问题4】简单题(5分。请将解答题写在答题纸的对应栏内) 产品市场定位的含义是什么?通信企业进行产品市场定位需要哪些步骤? 上述一题免费公开,需要完整真题及答案请发邮件到755383705@https://www.wendangku.net/doc/8a13631197.html,购买,10元。

基于ADC模型的通信网络效能评估方法研究

基于ADC模型的通信网络效能评估方法研究 摘要:针对通信网络性能指标多、效能评估困难的问题,提出了基于ADC模型的效能评估方法,并采用可视化的方法实现。模型选取可用性行向量、可信赖性矩阵和通信保障能力作为关键指标,能够充分体现通信网络的特点进行科学评估。理论分析和实验测试证明了所提出的方法能够有效地评估复杂的网络性能指标,并给管理人员提出合理的决策依据。 关键词:效能评估;ADC模型;可信赖性矩阵;通信保障能力 0 引言 网络的故障情况及可靠性是网络性能的重要衡量指标,也是效能评估系统主要考核的指标[1]。但是现代通信网络的特点是传输速度快、网络规模大、网络复杂性高和异构性,因此使得网络故障管理成为通信网络管理中的一个难题。目前针对网络性能分析和评估的研究并不多,且缺乏有效的评估手段。因此,网络管理的综合化、自动化和智能化成为网络管理未来的发展方向。随着网络的发展和日益复杂化,迫切需要建立与之适应的网络保障体制和效能评估系统。 对网络性能进行评估,传统的方法有层次分析法[2-3]和神经网络方法[4]等。其中,将层次分析法用到栅格化信息网中效果不好,因为影响网络性能的指标参数数量多,指标之间的相互影响不便定量分析,因此建立层次模型会有很大的难度;采用神经网络方法又会造成训练过于复杂,从而导致评估的效率差,不利于针对现代通信网络的特点进行有效的评估。 ADC模型源于美国工业界武器系统效能咨询委员会(WSEIAC)于20世纪60年代中期为美国空军建立的模型,旨在根据武器系统的有效性(可用度) 、可信赖性和能力三大要素评价装备系统。该模型层次清晰, 易于理解和计算, 可以进行变量间关系的分析,是一种较为优秀的效能评估方法, 在诸多领域得到广泛应用[5-8],但是应用在通信网络领域并不多。相比较传统的评估方法,基于ADC模型的评估方法更能够科学地分析影响网络性能的各个指标,智能分析结果并评估网络的可靠性,最后制定出包含网络运维、检查、服务、安全及设备维修等五类指标体系及考评策略,并对网元的扩充和调整给出合理建议,从而为网络维护和资源优化配置提供了合理有效的依据。 本文根据通信网络的实际特点,设计了基于ADC模型的网络效能评估系统,并且采用了可视化的实现。整个系统结合了专家经验和客观指标值来设计,能够提高评价的科学性和有效性。 1 基于ADC模型的效能评估系统 1.1 ADC模型 ADC评估模型的解析表达式为: E=A·D·C(1) 式(1)中,E为系统效能;A是可用性行向量,表示系统在任意随机时刻开始执行任务瞬间处于不同状态的概率,表达式为A=(a1,a2,…,an),其中n为状态数目;D为可信赖矩阵,用于描述处于不同状态的概率;C为能力向量,是系统效能在已知各个状态时系统完成任务的能力度量,是系统性能集中的体现,表达式为C=[c1,c2,…,cn]T,其中矩阵元素ci是装备系统在状态i时的能力。 根据通信网的实际特点,本文提出了的基于ADC模型的通信网络效能评估系统,其中模型中的参数A、D、C分别表示可用性行向量、可信赖性矩阵和通信保障能力。 1.2 ADC模型参数定义 1.2.1 可用性行向量A 可用性行向量A是由系统开始处于所有可能状态的概率组成, 一般表达式为:A=[a1,a2],

通信专业综合能力中级-答案

第一章电信职业道德 一、单项选择题 1.通信科技劳动是将基础科学的一般原理和通用性技术的理论,运用于解决电信生产的设备技术问题的一种(物化性)劳动。 2.通信科技劳动过程同用户的(使用)过程同时进行。 3.热爱专业、忠于职责,是科技职业道德的基本原则,是科技人员从事科技劳动的基本的(道德要求)。精品财会,给生活赋能 4.勤奋求知、严谨治学,是科技工作者向大自然进取的最重要的基本功和(品格修养)。5.(造福人民、振兴祖国)是科技职业道德的核心内容,是科技工作者进行科技活动的出发点和归宿。 6.(勤奋)是获得知识的根本途径。 7.探索就是人们认识、掌握、利用(客观规律)的方法和过程。 8.本位主义是从本地区、本部门的利益出发,不顾大局、不顾整体、不顾别的部门的不良思想作风,是放大了的(个人主义)。 二、多项选择题 1.数字化就是在通信网上全面使用数字技术,包括(数字传输、数字交换、数字终端)。 2.电信通信全程全网的特点决定了电信科技人员必须从社会整体利益的高度出发,正确对待电信科学技术的(发展、应用、交流、传播)和发明创造。 3.每个人都要(爱国家、爱企业、爱岗位),培养敬业意识,认真负责地做好自己的本职工作,在平凡的工作中,做出不平凡的贡献,赢得社会的尊重和群众的爱戴。 4.讲文明、讲礼貌,就是要做到(诚恳、谦恭、和善、有分寸)。 5.通信企业从业人员在工作中,一定要充分尊重群众的(通信自由、秘密),维护客户的正当利益。 6.电信职业道德体现了电信通信(迅速、准确、安全、方便)的服务方针。 7.在社会主义社会里,科技人员的根本任务就是在自己所从事的专业领域里(有所钻研、有所创新、有所发明、有所发现)。 8、电信职业道德体现了电信通信(迅速、准确、安全、方便)的服务方针。 9、从世界范围看,通信发展的特点是(宽带化、个人化、智能化、数字化、综合化、标准化) 10、以下属于通信科技人员职业道德的有(树立服务意识,不图名利;全程全网,反对本位主义;服从社会整体利益,不图谋技术垄断) 11、通信科技人员,保密制度必须做到:ABCD A.对工作中接触到的通信内容以及其他需要保密的内容、科技资料、图纸等,都要守口如瓶,严格保管保密,不得随意泄露; B.在测试、维修通信设备时,要严格按照有关规定的程序作业,不得任意更改; C.严防调错、插错电路、设备,防止电路设备间串音串话; D.提高警惕,防止别有用心的人盗窃机密,如拦截通信信号、窃听通信内容等。 三、判断题 1.实事求是,坚持真理,是科技工作者必须具有的基本道德素养。(√) 2.和谐的人际关系是实现全程全网联合作业的重要保证。(√) 3.通信科技人员既是整个科技队伍的一部分,又是通信企业的主力军,承担着发展通信生产力,确保通信畅通无阻的繁重任务。(√) 4.科技人员的职业道德,是科技人员在长期的职业活动中形成的,也是社会一般道德在科技职

VC与c51串口通讯程序

跟着步骤学习 1.建立项目:打开VC++6.0,建立一个基于对话框的MFC应用程序SCommTest 2.在项目中插入MSComm控件选择Project菜单下Add To Project子菜单中的 Components and Controls…选项,在弹出的对话框中双击Registered ActiveX Controls项(稍等一会,这个过程较慢),则所有注册过的ActiveX控件出现在列表框中。选择Microsoft Communications Control, version 6.0,,单击Insert按钮将它插入到我们的Project中来,接受缺省的选项。(如果你在控件列表中看不到Microsoft Communications Control, version 6.0,那可能是你在安装VC6时没有把ActiveX一项选上,重新安装VC6,选上ActiveX就可以了), 这时在ClassView视窗中就可以看到CMSComm类了,(注意:此类在ClassWizard中看不到,重构clw 文件也一样),并且在控件工具栏Controls中出现了电话图标(如图1所示),现在要做的是用鼠标 将此图标拖到对话框中,程序运行后,这个图标是看不到的。 3.利用ClassWizard定义CMSComm类控制对象打开ClassWizard ->Member Viariables选项卡,选择CSCommTestDlg类,为IDC_MSCOMM1 添加控制变量:m_ctrlComm,这时你可以看一看,在对话框头文件中自动 加入了//{{AFX_INCLUDES() #include "mscomm.h" //}}AFX_INCLUDES (这时运行程序,如果有错,那就再从头开始)。 4.在对话框中添加控件向主对话框中添加两个编辑框,一个用于接收显 示数据ID为IDC_EDIT_RXDATA,另一个用于输入发送数据,ID为 IDC_EDIT_TXDATA,再添加一个按钮,功能是按一次就把发送编辑框中的内 容发送一次,将其ID设为IDC_BUTTON_MANUALSEND。别忘记了将接收编辑 框的Properties->Styles中把Miltiline和Vertical Scroll属性选上,发送编辑框若你想输入多行文字,也可选上Miltiline。 再打开ClassWizard->Member Viariables选项卡,选择CSCommTestDlg类,为IDC_EDIT_RXDATA 添加CString变量m_strRXData,为IDC_EDIT_TXDATA添加CString变量m_strTXData。说明: m_strRXData和m_strTXData分别用来放入接收和发送的字符数据。 5.添加串口事件消息处理函数OnComm()打开ClassWizard->Message Maps,选择类CSCommTestDlg,选择IDC_MSCOMM1,双击消息OnComm,将弹出的对话框中将函数名改为OnComm,(好记而已)OK。 这个函数是用来处理串口消息事件的,如每当串口接收到数据,就会产生一个串口接收数据缓冲区中有字符的消息事件,我们刚才添加的函数就会执行,我们在OnComm()函数加入相应的处理代码就能实现自已想要的功能了。请你在函数中加入如下代码: void CSCommTestDlg::OnComm() { // TODO: Add your control notification handler code here VARIANT variant_inp; COleSafeArray safearray_inp; LONG len,k; BYTE rxdata[2048]; //设置BYTE数组 An 8-bit integerthat is not signed. CString strtemp; if(m_ctrlComm.GetCommEvent()==2) //事件值为2表示接收缓冲区内有字符 { ////////以下你可以根据自己的通信协议加入处理代码 variant_inp=m_ctrlComm.GetInput(); //读缓冲区 safearray_inp=variant_inp; //VARIANT型变量转换为ColeSafeArray型变量 len=safearray_inp.GetOneDimSize(); //得到有效数据长度 for(k=0;k

深入浅出通信基础学习知识原理

很多原理一旦上升为理论,常常伴随着繁杂的数学推导,很简单的本质反而被一大堆公式淹没,通信原理因此让 很多人望而却步。 非常复杂的公式背后很可能隐藏了简单的道理。 真正学好通信原理,关键是要透过公式看本质。 信号与系统、数字信号处理中很多复杂的公式其本质都是很简单的,我们可以通过图、动画等方式更好、更透彻地理解这些公式和原理,而不是仅仅局限于会套用这些公式(我大学毕业时就是这个水平,相信很多人和我一样)。这个帖子面向的主要是非通信专业和通信专业在大学没真正学明白的人(我就是这样的人,不是我不想学明白,大学里老师讲的太抽象了,很难理解),大部分人对“希尔伯特空间”没有什么概念,所以虽然你能用上述理论将傅立叶级数讲得很简单,但大部分人无法理解和接受。,“深入浅出通信原理”就是希望用尽可能少的公式推导和大量的图片,让大家真正理解通信原理。虽然这样有时候会显得啰嗦,但对大部分读者来讲是只有好处没有坏处的。 以复傅立叶系数为例,很多人都只是会套公式计算,真正理解其含义的人不多。对于经常出现的“负频率”,真 正理解的人就更少了。 连载1:从多项式乘法讲起 连载2:卷积的表达式

连载3:利用matlab计算卷积 连载4:将信号表示成多项式的形式 连载5:著名的欧拉公式 连载6:利用卷积计算两个信号的乘积 连载7:信号的傅立叶级数展开 连载8:时域信号相乘相当于频域卷积 连载9:用余弦信号合成方波信号 连载10:傅立叶级数展开的定义 连载11:如何把信号展开成复指数信号之和?连载12:复傅立叶系数 连载13:实信号频谱的共轭对称性 连载14:复指数信号的物理意义-旋转向量连载15:余弦信号的三维频谱图 连载16:正弦信号的三维频谱图 连载17:两个旋转向量合成余弦信号的动画连载18:周期信号的三维频谱图 连载19:复数乘法的几何意义 连载20:用成对的旋转向量合成实信号 连载21:利用李萨育图形认识复信号 连载22:实信号和复信号的波形对比 连载23:利用欧拉公式理解虚数 连载24:IQ信号是不是复信号?

同步通信与异步通信区别

同步通信与异步通信区别 1.异步通信方式的特点:异步通信是按字符传输的。每传输一个字符就用起始位来进来收、发双方的同步。不会因收发双方的时钟频率的小的偏差导致错误。这种传输方式利用每一帧的起、止信号来建立发送与接收之间的同步。特点是:每帧内部各位均采用固定的时间间隔,而帧与帧之间的间隔时随即的。接收机完全靠每一帧的起始位和停止位来识别字符时正在进行传输还是传输结束。 2.同步通信方式的特点:进行数据传输时,发送和接收双方要保持完全的同步,因此,要求接收和发送设备必须使用同一时钟。优点是可以实现高速度、大容量的数据传送;缺点是要求发生时钟和接收时钟保持严格同步,同时硬件复杂。可以这样说,不管是异步通信还是同步通信都需要进行同步,只是异步通信通过传送字符内的起始位来进行同步,而同步通信采用共用外部时钟来进行同步。所以,可以说前者是自同步,后者是外同步。---------------------------- 同步通信原理 同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。这里的信息帧与异步通信中的字符帧不

同,通常含有若干个数据字符。 采用同步通信时,将许多字符组成一个信息组,这样,字符可以一个接一个地传输,但是,在每组信息(通常称为帧)的开始要加上同步字符,在没有信息要传输时,要填上空字符,因为同步传输不允许有间隙。在同步传输过程中,一个字符可以对应5~8位。当然,对同一个传输过程,所 有字符对应同样的数位,比如说n位。这样,传输时,按每n位划分为一个时间片,发送端在一个时间片中发送一个字符,接收端则在一个时间片中接收一个字符。 同步传输时,一个信息帧中包含许多字符,每个信息帧用同步字符作为开始,一般将同步字符和空字符用同一个代码。在整个系统中,由一个统一的时钟控制发送端的发送和空字符用同一个代码。接收端当然是应该能识别同步字符的,当检测到有一串数位和同步字符相匹配时,就认为开始一个信息帧,于是,把此后的数位作为实际传输信息来处理。 异步通信原理 异步通信是一种很常用的通信方式。异步通信在发送字符时,所发送的字符之间的时间间隔可以是任意的。当然,

2018年中级通信工程考试(完整版)

2018 年中级通信工程师(传输与接入-有线)考试 (综合能力,解析+答案) 1、所谓(),是人们在社会中所从事的专门业务和对社会所承担的特定职责,并以此作为重要生活来源的社会活动。 A、职业 B、职业道德 C、岗位 D、岗位职责 2、2、下列不属于科技职业道德的特征的是( ) A、具有随遇而安的心态和谦和的风格 B、具有为科技进步的创新气质 C、具有为真理牺牲的坚强意志 D、具有为科技发展的想象品质 3、3、通信科技人员的职业既具有一般科技职业活动的特点,又具有通信职业活动的特点,因此,通信职业道德具有() A、单一性 B、两重性 C、多重性 D、兼容性 4、4、关于通信科学技术职业道德的特点,下列说法不正确的是()

A、通信职业道德是一切通信工作的出发点和落脚点 B、通信职业道德体现了通信“迅速、准确、安全、方便”的服务方针 C、通信职业道德可以充分发扬民主,不需要集中统一 D、通信职业道德体现了通信的集中统一性 5、5、最新版《电信条例》修订时间是在()年。 A、2000 B、2016 C、2014 D、2018 6、《中华人民共和国电信条例》规定,分配电信资源时,( ) A、全部自由无偿使用 B、全部拍卖有偿使用 C、全部指配有偿使用 D、可以采取指配的方式,也可以采用拍卖的方式 7、《电信条例》规定,经营基础电信业务经营者为依法设立专门从事基础电信业务的公司,且公司中国有股权或股份不少()。 A、49% B、90% C、50% D、51%

8、( )是指建立电信网间的有效通信连接,以使一个电信业务经营者的用户能够与另一个电信业务经营者的用户相互通信或者能够使用另一个电信业务经营者的各种电信业务。 A、互联 B、互联点 C、主导的电信业务经营者 D、非主导的电信业务经营者 9、《公共电信网间互联管理规定》第二十八条规定了互联时限,其中,网间互联需新设互联点的,应当自互联启动之日起( )内实现业务开通。 A、一个月 B、四个月 C、五个月 D、七个月 10、《网络安全法》界定:( )是指通过采取必要措施,防范对网络的攻击、侵入、干扰、破坏和非法使用以及意外事故,使网络处于稳定可靠运行的状态, 以及保障网络数据的完整性、保密性、可用性的能力。 A、网络 B、网络安全 C、网络运营者 D、网络数据 11、第一代计算机通常被称为( ) A、电子管计算机 B、晶体管计算机

VC6.0MFC串口通信编写全过程(DOC)

其于MFC 的串口调试助手编辑过程 一、新建 打开 VC6.0 文件 新建 工程 MFC AppWiard(exe) 位置(选择保存工程位置) 工程名称(输入工程名XXXX ) 确定 选择基本对话框 下一步 下一步 下一步 选择(CXXXXDlg ) 完成 确定 在生成的基本对话框内将不需要按钮及提示框(自动生成的“确定”“取消” 及提示框)删除或修改使用,至此基本框架完成如下图: 二、往生成的基本框架中添加控件 1、因为控件列表框内没有串口通信用到的通信控件,所以要先添加到控件列表框内再将控件添加到基本框内使用,步骤如下: 菜单栏 工程 添加到工程 Components and controls … Registered ActiveX Controls 选择“Microsoft Communications Control, version 6.0” Insert 确定 OK 关闭此子窗口完成添加操作标志如上图所示。 2、将刚才添加添加到控件列表框内的串口控件添加到基本框架内 点击控件列表框内的串口控件,此时光标变为“十”形,在基本框架内随意划取一矩 形区域,即可以添加串口控件,不需要修改此控件的大小及位置,因为程编译运行后此控件是看不到的,步骤结果如下图:

3、继续往基本框架内添加用于编辑发送数据的输入编辑框及输出编辑框,同理选择控件列表框内的“编辑框控件”,以相同的操作即可添加两个编辑窗口及一个按纽控件如下图所示: 这两个窗口需要修改大小及位置,因为程序运行后将会显示而串口通信控件则不显示,上图是运行后的效果。 4、对以上四个控件编程步骤如下: a 、右击串口通信控件 建立类向导 Member variables Control IDS 中选择IDC_MSCOMM1 add variable … Member variable name 中输入控件变量名m_ctrlComm (变量名可以随意选取,但程序中应与所取变量名一致) OK 确定

2018年全国通信专业综合能力(中级)真题

2018年中级通信工程师《综合能力》上午题真题(一) 1、所谓( )是人们在社会中所从事的专门业务和对社会所承担的特定职责,并以此作为重要生活来源的社会活动。 A.职业 B.职业道德 C.岗位 D.岗位职责 2、下列不属于科技职业道德的特征的是( ) A.具有随遇而安的心态和谦和的风格 B.具有为科技进步的创新气质 C.具有为真理牺牲的坚强意志 D.具有为科技发展的想象品质 3、通信科技人员的职业既具一般科技职业活动的特点,又具有通信职业活动的特点,因此通信职业道德具有() A.单一性 B.两重性 C.多重性 D.兼容性 4、关于通信科学技术职业道德的特点,下列说法不正确的是() A.通信职业道德是一切通信工作的出发点和落脚点 B.通信职业道德体现了通信"迅速、准确、安全、方便"的服务方针 C.通信职业道德可以充分发扬民主,不需要集中统一 D.通信执业道德体现了通信的集中统一性 5、最新版《电信条例》额修订时间是()年 A.2000 B.2016 C.2014 D.2018 6、《中华人民共和国电信条例》规定,分配电信资源时,( ) A.全部自由无偿使用 B.全部拍卖有偿使用 C.全部指配有偿使用 D.可以采取指配的方式,也可以采用拍卖的方式 7、《电信条例》规定,经营基础电信业务经营者为依法设立专门从事基础电信业务的公司且公司中国有股权或股份不少() A.49% B.90%

C.50% D.51% 8、( )是指建立电信网间的有效通信连接,以使一个电信业务经营者的用户能够与另一个电信业务经营者的用户相互通信或者能够使用另一个电信业务经营者的各种电信业务 A.互联 B.互联点 C.主导的电信业务经营者 D.非主导的电信业务经营者 9、《公共电信网间互联管理规定》第二十八条规定了互联时限,其中,网间互联需新设互联点,应对自互联启动之日起( )内实现业务开通 A.一个月 B.四个月 C.五个月 D.七个月 10、《网络安全法》界定:( )是指通过采取必要措施,防范对网络的攻击、侵入、干扰、破坏和非法使用以及意外事故,使网络处于稳定可靠运行的状态,以及保障网络数据的完整性、保密性、可用性的能力 A.网络 B.网络安全 C.网络运营者 D.网络数据 2018年中级通信工程师《综合能力》上午题真题(二) 11、第一代计算机通常被称为( ) A.电子管计算机 B.晶体管计算机 C.集成电路计算机 D.超大规模集成电路计算机 12、( )的内容可随机存取,且存取时间存储单元的物理位置无关,断电后所保存的信息丢失 A.ROM B.RAM C.EPROM D.外存储器案 13、计算机的功能不仅仅取决于硬件系统,更大程度上是由所安装的( )决定的 A.软件系统 B.操作系统 C.数据库 D.驱动程序

VC++_串口上位机编程实例

VC++串口上位机简单例程(源码及详细步骤) (4.33MB) VC++编写简单串口上位机程序 2010年4月13日10:23:40 串口通信,MCU跟PC通信经常用到的一种通信方式,做界面、写上位机程序的编程语言、编译环境等不少,VB、C#、LABVIEW等等,我会的语言很少,C语言用得比较多,但是还没有找到如何用C语言来写串口通信上位机程序的资料,在图书管理找到了用VC++编写串口上位机的资料,参考书籍,用自己相当蹩脚的C++写出了一个简单的串口上位机程序,分享一下,体验一下单片机和PC通信的乐趣。 编译环境:VC++6.0 操作系统:VMWare虚拟出来的Windows XP 程序实现功能: 1、PC初始化COM1口,使用n81方式,波特率57600与单片机通信。PC的COM口编号可以通过如下方式修改: 当然也可以通过上位机软件编写,通过按钮来选择COM端口号,但是此次仅仅是简单的例程,就没有弄那么复杂了。COM1口可用的话,会提示串口初始化完毕。否则会提示串口已经打开Port already open,表示串口已经打开,被占用了。 2、点击开始转换,串口会向单片机发送0xaa,单片机串口中断接收到0xaa后启动ADC转

换一次,并把转换结果ADCL、ADCH共两个字节的结果发送至PC,PC进行数值转换后在窗口里显示。(见文章末尾图) 3、为防止串口被一只占用,点击关闭串口可以关闭COM1,供其它程序使用,点击后按钮变为打开串口,点击可重新打开COM1。 程序的编写: 1、打开VC++6.0建立基于对话框的MFC应用程序Test,

2、在项目中插入MSComm控件:工程->增加到工程->Components and Controls->双击Registered ActiveX Controls->选择Microsoft Communications Control,version6.0->Insert,按

同步通信与异步通信有何不同

同步通信与异步通信有何不同? 串口通信可以分为同步通信和异步通信两类。同步通信是按照软件识别同步字符来实现数据的发送和接收,异步通信是一种利用字符的再同步技术的通信方式。 同步通信 同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。如图: 单同步字符帧结构 +-----+------+-------+------+-----+--------+-------+-------+ |同步|数据|数据|数据| ... |数据|CRC1|CRC2| |字符|字符1|字符2|字符3| |字符N| | | +-----+------+-------+------+-----+--------+-------+-------+ 双同步字符帧结构 +-----+--------+------+-------+---+-------+-------+--------+ |同步|同步|数据|数据| ... |数据|CRC1|CRC2| |字符1|字符2|字符1|字符2| |字符N| | | +-----+--------+------+-------+---+-------+-------+--------+ 它们均由同步字符、数据字符和校验字符(CRC)组成。其中同步

字符位于帧开头,用于确认数据字符的开始。数据字符在同步字符之后,个数没有限制,由所需传输的数据块长度来决定;校验字符有1到2个,用于接收端对接收到的字符序列进行正确性的校验。 同步通信的缺点是要求发送时钟和接收时钟保持严格的同步。 异步通信 异步通信中,数据通常以字符或者字节为单位组成字符帧传送。字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。 接收端检测到传输线上发送过来的低电平逻辑"0"(即字符帧起始位)时,确定发送端已开始发送数据,每当接收端收到字符帧中的停止位时,就知道一帧字符已经发送完毕。 在异步通行中有两个比较重要的指标:字符帧格式和波特率。 (1)字符帧,由起始位、数据位、奇偶校验位和停止位组成。如图: 无空闲位字符帧 +--+---+---+---+---+--+--+--+--+--+--+--+---+---+---+--+--+ |D7|0/1| 1 | 0 |D0|D1|D2|D3|D4|D5|D6|D7|0/1| 1 | 0 |D0|D1| +--+---+---+---+--+--+--+--+--+--+--+--+---+---+---+--+--+ 奇偶停起奇偶停起 校验止始校验止始 位位位位

2018年全国通信专业综合能力(中级)真题整理

2018年中级通信工程师《综合能力》真题 1、所谓( )是人们在社会中所从事的专门业务和对社会所承担的特定职责,并以此作为重要生活来源的社会活动。 A.职业 B.职业道德 C.岗位 D.岗位职责 2、下列不属于科技职业道德的特征的是( ) A.具有随遇而安的心态和谦和的风格 B.具有为科技进步的创新气质 C.具有为真理牺牲的坚强意志 D.具有为科技发展的想象品质 3、通信科技人员的职业既具一般科技职业活动的特点,又具有通信职业活动的特点,因此通信职业道德具有() A.单一性 B.两重性 C.多重性 D.兼容性 4、关于通信科学技术职业道德的特点,下列说法不正确的是() A.通信职业道德是一切通信工作的出发点和落脚点 B.通信职业道德体现了通信"迅速、准确、安全、方便"的服务方针 C.通信职业道德可以充分发扬民主,不需要集中统一 D.通信执业道德体现了通信的集中统一性 5、最新版《电信条例》额修订时间是()年 A.2000 B.2016 C.2014 D.2018 6、《中华人民共和国电信条例》规定,分配电信资源时,( ) A.全部自由无偿使用 B.全部拍卖有偿使用 C.全部指配有偿使用 D.可以采取指配的方式,也可以采用拍卖的方式 7、《电信条例》规定,经营基础电信业务经营者为依法设立专门从事基础电信业务的公司且公司中国有股权或股份不少() A.49% B.90% C.50% D.51% 8、( )是指建立电信网间的有效通信连接,以使一个电信业务经营者的用户能够与另一个电信业务经营者的用户相互通信或者能够使用另一个电信业务经营者的各种电信业务

A.互联 B.互联点 C.主导的电信业务经营者 D.非主导的电信业务经营者 9、《公共电信网间互联管理规定》第二十八条规定了互联时限,其中,网间互联需新设互联点,应对自互联启动之日起( )内实现业务开通 A.一个月 B.四个月 C.五个月 D.七个月 10、《网络安全法》界定:( )是指通过采取必要措施,防范对网络的攻击、侵入、干扰、破坏和非法使用以及意外事故,使网络处于稳定可靠运行的状态,以及保障网络数据的完整性、保密性、可用性的能力 A.网络 B.网络安全 C.网络运营者 D.网络数据 11、第一代计算机通常被称为( ) A.电子管计算机 B.晶体管计算机 C.集成电路计算机 D.超大规模集成电路计算机 12、( )的内容可随机存取,且存取时间存储单元的物理位置无关,断电后所保存的信息丢失 A.ROM B.RAM C.EPROM D.外存储器案 13、计算机的功能不仅仅取决于硬件系统,更大程度上是由所安装的( )决定的 A.软件系统 B.操作系统 C.数据库 D.驱动程序 14、计算机中存储信息的最小单位是( ) A. bit B. byte C. word D. baud 15、( )是数据库中存储的基本对象,是描述事物的符号记录 A.数据库管理系统 B.应用系统 C.数据 D.数据类型 16、多媒体技术使得计算机可以( )地接收、处理并输出文本、图形、图像、声音、动画、视频等信息。 A.非同时单向 B.同时单 C.非时交互 D.同时交互 17、通信是发送者(人或机器)和接收者之间通过某种媒体进行的() A.信息联系 B.信息交流 C.信息传递 D.信息沟通 18、下述对信源输出信号的描述中不正确的是() A.信源输出的信号称内基带信号 B.信源输出的信号称为频带信号 C.频谱从零频附近开始 D.具有低通形式 19、通信系统的有效性、可靠性分别是指信息传输的( )问题

(完整版)VC6.0MFC串口通信编写全过程

其于MFC的串口调试助手编辑过程 一、新建 打开VC6.0 文件新建工程MFC AppWiard(exe) 位置(选择保存工程位置)工程名称(输入工程名XXXX)确定选择基本对话框下一步下一步下一步选择(CXXXXDlg)完成确定在生成的基本对话框内将不需要按钮及提示框(自动生成的“确定”“取消”及提示框)删除或修改使用,至此基本框架完成如下图: 二、往生成的基本框架中添加控件 1、因为控件列表框内没有串口通信用到的通信控件,所以要先添加到控件列表框内再 将控件添加到基本框内使用,步骤如下: 菜单栏工程添加到工程Components and controls…Registered ActiveX Controls 选择“Microsoft Communications Control, version 6.0”Insert 确定OK 关闭此子窗口完成添加操作标志如上图所示。 2、将刚才添加添加到控件列表框内的串口控件添加到基本框架内 点击控件列表框内的串口控件,此时光标变为“十”形,在基本框架内随意划取一矩形区域,即可以添加串口控件,不需要修改此控件的大小及位置,因为程编译运行后此控件是看不到的,步骤结果如下图:此控件(标志)是下面步骤添加进来的串口控件 基本框架

3、继续往基本框架内添加用于编辑发送数据的输入编辑框及输出编辑框,同理选择控 件列表框内的“编辑框控件”,以相同的操作即可添加两个编辑窗口及一个按纽控件如 下图所示: 选择其中任 意一个作为 输入编辑框 及输出编辑 框 这两个窗口需要修改大小及位置,因为程序运行后将会显示而串口通信控件则不显示, 上图是运行后的效果。 4、对以上四个控件编程步骤如下: a、右击串口通信控件建立类向导Member variables Control IDS中选 择IDC_MSCOMM1 add variable…Member variable name中输入控件变量名 m_ctrlComm(变量名可以随意选取,但程序中应与所取变量名一致)OK 确 定

异步通信同步通信区别

异步通信”是一种很常用的通信方式。异步通信在发送字符时,所发送的字符之间的时间间隔可以是任意的。当然,接收端必须时刻做好接收的准备(如果接收端主机的电源都没有加上,那么发送端发送字符就没有意义,因为接收端根本无法接收)。发送端可以在任意时刻开始发送字符,因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来。异步通信的好处是通信设备简单、便宜,但传输效率较低(因为开始位和停止位的开销所占比例较大)。 异步通信也可以是以帧作为发送的单位。接收端必须随时做好接收帧的准备。这是,帧的首部必须设有一些特殊的比特组合,使得接收端能够找出一帧的开始。这也称为帧定界。帧定界还包含确定帧的结束位置。这有两种方法。一种是在帧的尾部设有某种特殊的比特组合来标志帧的结束。或者在帧首部中设有帧长度的字段。需要注意的是,在异步发送帧时,并不是说发送端对帧中的每一个字符都必须加上开始位和停止位后再发送出去,而是说,发送端可以在任意时间发送一个帧,而帧与帧之间的时间间隔也可以是任意的。在一帧中的所有比特是连续发送的。发送端不需要在发送一帧之前和接收端进行协调(不需要先进行比特同步)。每个字符开始发送的时间可以是任意的t0 0 1 1 0 1 1 0起始位结束位t每个帧开始发送的时间可以是任意的以字符为单位发送以帧为单位发送帧开始帧结束 “同步通信”的通信双方必须先建立同步,即双方的时钟要调整到同一个频率。收发双方不停地发送和接收连续的同步比特流。但这时还有两种不同的同步方式。一种是使用全网同步,用一个非常精确的主时钟对全网所有结点上的时钟进行同步。另一种是使用准同步,各结点的时钟之间允许有微小的误差,然后采用其他措施实现同步传输。 同步方式是在传送一组字符前加入1个或2个同步字符SYN。同步字符后可以连续改善任意多个字符,每个字符间不需要附加位。故此传输方法效率较高,但双方要事先约定同步的字符个数及同步字符代码,且中间传输有停顿时会失去同步,造成传输错误。 串行通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。使用串口通信时,发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为1或者为0。 串行通信的分类 串行通信可以分为同步通信和异步通信两类。同步通信是按照软件识别同步字符来实现数据的发送和接收,异步通信是一种利用字符的再同步技术的通信方式。 同步通信 同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。 它们均由同步字符、数据字符和校验字符(CRC)组成。其中同步字符位于帧开头,用于确认数据字符的开始。数据字符在同步字符之后,个数没有限制,由所需传输的数据块长度来决定;校验字符有1到2个,用于接收端对接收到的字符序列进行正确性的校验。同步通信的缺点是要求发送时钟和接收时钟保持严格的同步。 异步通信 异步通信中,在异步通行中有两个比较重要的指标:字符帧格式和波特率。数据通常以字符或者字节为单位组成字符帧传送。字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。 接收端检测到传输线上发送过来的低电平逻辑"0"(即字符帧起始位)时,确定发送端已开

相关文档