《智能电力线载波电话系统.doc》由会员分享,可在线阅读,更多相关《智能电力线载波电话系统.doc(55页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、智能电力线载波电话系统智能电力线载波电话系统谢宝森(光01)罗广君(微02)赖文辉(微02)摘要 本文介绍一种新型的智能电力线载波电话系统的研制方案,该设计采用89C51单片微型计算机作控制中心,整个系统达到智能化。系统避开了现代电话通信的路由问题,利用了单片机的强大功能对整个系统进行控制进行信道的控制,使得设备简单、轻便。在传输载体上,利用了四通八达的电力线进行传输,为通话提供了极大的便利。节省了信道铺设费用和通话费用。关键词 电力线载波 电话系统 信道 单片机分机电话号码为0分机1电话号码为1分机7电话号码为7分机2电话号码为2220V图一电力线载波,由于其低廉的应用成本,自弃出现以来,这
2、个领域的技术迅速的发展,很多公司都生产了具有国际先进水平的载波设备及配套设备。使得电力线载波通信变得简单方便。但是到目前为止,仍然没有一套像电话一样完善的通话系统投入使用。本科研利用单片机使各分机形成一个智能的系统,虽是处于小型简单的研究,但该设计思路可以进一步的扩展,跟进一步的完善,可以为全面开发电力线电话奠定基础本系统设计为一种新型的智能电力线载波电话系统。采用了89C51单片微型计算机作控制中心,使整个系统达到智能化。在设计开发初期,为了方便和简单起见,如图一所示,整个系统只设计了八个分机(分机)、一个控制信号传输信道(信道)和两个语音传输信道(信道、)。每个分机相应号码为本分机号。所有
3、分机的控制信号都在一个信道上传输,语音信号则根据情况选择空闲的语音传输信道,后期可适当增加分机和语音传输信道。整个系统不设主机,各项功能由通过控制信号传输信道(信道)连接在一起的各分机的控制中心来完成,各分机设计来原理相同、在号码分配上通过单片机识别组合开关来实现。每个分机由两大模块组成即控制信号处理与传输模块和语音信号处理与传输模块(以下简称控制模块和语音传输模块)。各模块具体原理和实现办法如下;一、控制信号处理与传输模块原理框图如图二所示,本模块包括一套发送支路和一套接收支路。共用一个信道上传输信号,并且同一时间只能有一个分机发送信号,其他分机均只能接收。该信道有空闲和占用两种状态,信道所
4、处的状态不用任何信息显示,只通过接受支路自动判别。不通话时,接收支路一直处于接收状态,对信道进行监控。工作原理当有分机拿起话机拨号时,为确保同一时间只能有一个分机发送信号,该分机通过接收支路判别信道上有没有其他分机在发送信息,如已有分机在发送信息,则待其发完之后再发送,由于数据的高速传输,LM1893调制器耦合及保护网络控制器AT89C523 x 4键盘提示音输出LED显示LM1893解调器耦合及保护网络接语音模块图二 控制模块原理框图每次等待远不会超过一秒,不影响拨号。如果没有则该主叫分机向信道上重复多次发送包含被叫方号码和主叫方号码的拨号信号(控制信号0),本设计暂定为重复次。当各分机接收
5、到该信号之后,将该被叫号码与本机号码对比,如是呼叫本机,则检查本机状态和各语音信道的状态。如本机正在通话或各语音信道已全部被占用,就不予回应。如本机空闲,而且有语音信道处于空闲状态,则选择其中一个语音信道用作通话,驱动振铃发出提示,在LED上显示相应的来电显示,并待控制信道空闲时向信道上发送包含有本机可以通话、所选择第几路语音信道和现时各语音信道所处状态的响应信息(控制信号)。此信号为各分机辨别各语音信道状态的信号之一。在摘机的时候,再发送通话信号(控制信号),该包含被叫方号码和主叫方号码。主叫方发送拨号信号之后,如在指定时间内(本系统设计为秒)接收不到被叫方的回应信号,则输出忙音(急速的嘟嘟
6、声),如收到相应的响应信号(控制信号),则选择被叫方所选择的信道等待通话。通话完毕挂机之后,挂机分机控制处理器熄灭LED,并待控制信道空闲时,向信道发送挂机信号。该信号分为主叫方发送的挂机信号和被叫方发送的挂机信号(控制信号),此信号为各分机辨别各语音信道状态的另一信号。通过软件处理,实现只由最先挂机分机发送。主叫方发送的挂机信号包括此次通话所占用语音信道的释放信息、各语音信道状态信息和该次通话的被叫方号码;被叫方发送的挂机信号包括此次通话所占用语音信道的释放信息、各语音信道状态信息和该次通话的主叫方号码。通话中的两个分机,当其中一个收到另外一个的挂机信号时,即熄灭LED,输出提示音(急速的嘟
7、嘟声的忙音)。空闲中,没有摘机的话机,通过接收支路接收拨号信号、响应信号和挂机信号。对拨号信号只要对比被叫话机号码是否与本机号码相同。响应信号和挂机信号则记录更新各信道的状态信息。控制信号设计图三 控制信号设计D7D6D5D4D3D2D1D0信号编码信号内容拨号信号响应信号通话信号挂机信号信道信息被叫话机号码主叫话机号码被叫话机号码主叫话机号码主叫话机号码被叫话机号码主叫话机号码信道信息信道信息本系统的控制信号包括拨号信号(控制信号)、响应信号(控制信号)、通话信号(控制信号)和挂机信号(控制信号)共四种形式的信号。如图三,每种信号都是八位二进制码组,由信号编码和信号内容组成,前两位(D、D)
8、是信号编码,后六位(DD)是信号内容。前三种信号每种的信号内容都有独立的格式,而挂机信号内容则视发送方的不同格式有异。主叫话机和被叫话机号码都是由三位二进制数表示个号码。信道信息则由信道状态信息(D、D)和本次通话选用信道信息(D)组成。软件设计总控制器软件部分均采用8051汇编语言格式编写,程序的编译工作由配套的仿真软件完成,由于软件处理部分规模过大,在这里详细列出。主要的处理程序有:a 初始化b 摘机处理c 电话号码的接收d 挂机处理二、语音信号处理与传输模块LM1893调制器耦合及保护网络LM1893解调器耦合及保护网络图四 语音传输模块原理框图功率放大音频放大变压器隔离频率转换多路开关
9、总控制器原理框图如图四,本模块也分为语音信号发送和语音信号接收两个支路。两支路的总开关和载波频率选择均由控制模块的总控制器控制。平时,整个模块都处于关闭状态,待话机发送或接收到通话信号时,由总控制器选择相应语音信道的载波频率打开工作。对着话筒说话,话音信号即被话音输入电路放大,用变压器耦合到LM1893,调制后变成FM信号,由LM1893的输出级送到信号耦合器而把信号耦合到电力线上。语音输入电路可用LM318运放实现,由于采用驻极体话筒,因此采用共模电压对话筒偏置,而把话筒的交流信号电压以差模的方式送运放的差分输入端。该电路的供电由一个电子开关控制,受控于单片机。开关断开时,电路无效(被屏蔽)
10、。通过电力线传来的调制信号,由信号耦合器送进LM1893,经鉴相后由话音输出电路滤波并放大,送喇叭发音。话音输出电路中用集电极开路比较器LM339实现静音功能,当载波检测器检测到线路无载波时进行静噪抑制。音频放大器采用LM386,元件极少,调整方便。三、信号耦合保护网络CoToL1L2C2图五 信号耦合及保护网络C1信号耦合保护网络有信号的耦合和强干扰信号迅速衰减两个作用。这里的强干扰信号包括电力线上感应的强雷电脉冲、电力线上传来的用电器造成的强尖峰干扰,以及本设备谐振回路产生的峰值电压等。为此,要解决瞬时过压和长时间过压的问题。这里使用了电阻加二极管的限幅电路构成保护网络。电阻增大限幅效果更
11、好,但输出信号被衰减更多,一般取4.7左右。二极管可用一个快速大功率齐纳管,齐纳率最好大于500/。再并联一个肖特基二极管,用以消除低于地电平的谐振负峰电压。对于强雷电直击电压,还需另加保护措施。在本系统中,信号耦合网络是一个很重要的环节,它直接影响通讯的质量。信号耦合网络采用磁芯变压器,既实现了隔离传输,又能实现阻抗匹配,还可做成谐振回路,以削减频带外的干扰并衰减尖峰。图五给出了信号合耦网络的线路图。其中,o和o构成一个谐振回路,谐振频率选为载波频率。为了最大限度地将信号耦合到电力线上,必须做到阻抗匹配。大多情况电力线阻抗低至数欧,这就要求变压器选择合适的变比(匝数比)。同时还要兼顾带宽(带
12、宽应大于两倍最大频偏),因阻抗还影响回路的品质因素,而与带宽密切相关。设o的初级自感为o,总损耗电阻为o,匝数比为,次级负载(电力线)阻抗为,反射阻抗为r,谐振回路中心频率为o,带宽为,则o、o为: 式中,符号“/”表示并联这里,一般为的函数,当阻抗匹配时,可按下式计算:次级至电力线还需要进行工频隔离,由于工频为50或60,比载波频率低得多,一般通过一个电容即可实现载波信号通过而隔断电力电压。但这样做并不是好办法,因为单相供电的电力线为双根电线,其上容易感应共模干扰电压,或携带有其它电器的干扰。因此设计如图五的串联谐振回路,这样既滤除带外干扰,抑制共模电压,又隔离了电力电压。四、电路特点设计采
13、用89C51单片微型计算机作控制中心,整个系统达到智能化。系统避开了现代电话通信的路由问题,利用了单片机的强大功能对整个系统进行控制进行信道的控制,使得设备简单、轻便。在传输载体上,利用了四通八达的电力线进行传输,为通话提供了极大的便利。节省了信道铺设费用和通话费用。3OLED屏动态显示的USB接口模块OLED屏动态显示的USB接口模块王喜杜(微01)陈荣盛(微01)李文冠(微01)罗松晖(微01)谢带达(微01)李树花(微01)简介:可以卷起来的显示屏OLED屏动态显示的USB接口模块穿在身上的电脑、薄如名片的手机、卷起来带走的显示器这一切并非未来世界的幻想。技术的发展,正在将这些产品带到我
14、们身边。它是一种新一代平面显示技术,是基于有机电致发光材料技术的,其质地轻薄、全体固态、主动发光并且亮度高、响应速度快、视角广,可以实现柔软显示等诸多的特色性能,关键是制造成本低以及节能的特点,在价格和成本控制方面具有绝对的优势,故有液晶杀手之称,在商业、通信、电子信息产品领域以及消费类电子、工业应用场合、交通显示等方面都有着非常好的前景。而闪存,MP3,移动硬盘的USB接口给我们带来的方便,是不言而喻的。USB接口提供的双向、实时的数据传输使之具有即插即用、性能可靠、价格低廉等优点,目前已成为计算机和通信电子产品连接外围设备的首选接口。我们要做的,就是把这两者的优点结合起来,开发使用USB接
15、口与电脑相连接的OLED屏动态显示的接口模块。在本课题中,我们采用USB传输动态图像。USB1.1的传输速率为12Mbps,USB2.0的传输速率为480Mbps完全可以满足现今以及未来的OLED显示屏的动态显示的要求。想象一下,我们只要把卷成一筒的OLED展开,接到电脑的USB口,就可以播放我们的动态宣传广告,那是一件多么轻松的事。55基于ARM控制的高速网络LED信息显示基于ARM控制的高速网络LED信息显示艾思科(ASIC)开发组(研03)摘要:本文主要以32位ARM微处理器和大规模可编程器件FPGA Acex 1K50实现LED大屏幕显示系统的设计。由于ARM具有工作频率高、功耗低、处
16、理速度快等高性能优点,并且通过FPGA实现扫描控制,可以获得很高的扫描速度,同时嵌入实时操作系统,从而实现信息的网络传输与显示。关键字:LED显示系统、ARM、MC9328MX1、FPGA、uC/OS、以太网1. 概述LED显示屏是集光电子技术、微电子技术、图形图像处理技术于一体的高科技产品。在近年来,随着微电子技术的发展,LED特别是超高亮度LED绿管、蓝管等价格不断下降,LED显示屏的应用越来越广,尤其在许多大型公共场所上,其作为大型平面显示的终端,对社会信息化建设起了不可估量的作用。随着LED显示向着高亮度、全彩化以及大型化的发展趋势,传统的传输与控制技术已不能满足要求,尤其在体育馆显示
17、、室外广告和市政美化等领域,更需要中央控制的高速数据传输。因此,新一代的控制与传输技术便应运而生。LED显示屏按显示的控制方式分,主要有LED图文屏和LED视频屏等。其中,LED图文屏是指显示屏系统接收完上位控制机的显示信息后,便能脱离上位机独立按照一定的顺序、一定的显示特技方式循环播放接收到的显示图像数据。本文主要介绍基于ARM的高速网络LED显示控制系统的设计,能同时兼容图文屏和视频屏的优点。2. LED显示屏基本构成为了使系统能显示各种各样的信息,LED显示屏显示系统由上位机、通讯传输线路、LED主控电路和显示模块板等四部份组成(如图1所示)。这四部分的具体功能描述如下:上位机:一般为计
18、算机,是信息的发布源,一般与某数据库连接,访问数据库的信息,并按一定的传输协议和方式,与主控电路进行通讯。通讯传输线路:可以通过RS232、RS422以及以太网等作为信号传输的方式。还可以采用光纤传输,但目前由于成本过高限制了其技术的广泛应用。显示模块板:信息显示的终端,主要由发光显示模块、行控制的选通电路、列控制的串并移位电路组成。主控电路:整个系统的核心,它主要完成以下功能:通过接口模块,负责实时地接收上位机的显示信息,并放置于带掉电保存的数据存储单元中;CPU处理器负责从数据存储单元中取数据,经过图像几何运算实现一定的特技效果,然后把显示的数据置于显示缓冲区,以供显示。通过扫描控制电路,
19、从显示缓冲区中读取数据,将其转换为LED大屏幕所需的数据并产生相关的时序控制信号。3. 主控电路的工作原理LED单色显示屏每个像素只有一种颜色,而全彩色LED显示屏的一个像素点一般由R、G、B三基色混色构成。主控电路负责RAM中内容的更新并控制显示模块板,实现逐行动态扫描的过程。由于LED大屏幕是分区驱动的,一般以16扫描线作为一个LED屏的分区,如要显示640X256点阵列,整个大屏就要划分256/16=16个分区来显示,各个分区的显示是并行的。全彩色LED显示屏接口的输入信号包括,显示数据信号:红(Red)、绿(Green)、蓝(Blue)各一;控制信号:行扫描选择信号(Addr3:0,可
20、通过4/16译码产生16扫描线),移位时钟(Txd),行锁存信号(Lat),行消隐信号(EN,即屏点亮使能信号)。红、绿、蓝数据各自经过一组级联的8-bit移位寄存器右移,Txd作为移位寄存器的时钟,每来一个时钟数据移入一位,级联的移位寄存器内的数据从左向右顺序移一位,直至一行所需的数据已移完。此时行锁存信号(Lat)上升沿有效锁存这一行的数据进锁存器内。目前,74HC595,6B595等都集成了移位和锁存的功能。其中行选通信号由(Addr3:0)译码产生相应行,当一行数据扫描结束后,Addr3:0指向下一行,由于人眼的延迟效应,当两行显示数据在切换时,往往会引起“重影”现象,为了消除这一现象
21、,可在两行显示切换的交界处,引入行消隐信号EN=1。待行切换完毕后,再让EN=0正常显示。 图2是显示驱动单元结构示意图,图3是相关信号时序图。4. 基于ARM的主控系统的硬件实现控制核心使用Motorola公司DragonBall MX系列的MC9328MX1作为系统的主控制核心,MC9328MX1 基于ARM920T核,工作频率可达200MHZ,256脚MAPBGA (Mold Array Process-Ball Grid Array)封装,具有16K指令缓存和16K数据缓存,16个32位寄存器,以及两个UART、两个SPI、两个32位计数/定时器,一个Watchdog 定时器,和一个3
22、2位通用I/O口等。采用AMBA总线和32位RISC结构,具有高速数据传输和处理速度。其结构图如图4所示:图4. MC9328MX1结构框图信息存储器模块由于ARM的读写速度很快,防止ARM访问片外存储单元出现“瓶颈”现象,应选用快速存储器芯片,不需要ARM插入等待状态,只要将存储器芯片的地址线、数据线与MC9328MX1的数据线、地址线相连,再辅以必要的控制信号和译码电路,就可以使ARM全速运行。在系统中,我们选用4片CY7C1049B-15 SRAM(512K X 8bits)用作信息存储器,再附加上掉电保护电路,将其构成1M字存储单元。它在系统中分配的存储地址为8000H-FFFFH单元
23、(注:0000H-7FFFH为其它存储用),故1M字存储单元共可分成1M/32K=32个页面。其中页面寄存器利用可编程器件FPGA设计实现。信息存储器模块的电路图见图5:图5.信息存储电路(3)帧存储器模块选用6片ISSI61C256-15VC构成两组乒乓式帧存储器。A、B两组帧存储器分别交替工作于图像的高速扫描和图像数据更新缓存两种方式。当A帧存储器用于图像的扫描显示时,B帧用于图像数据的更新缓存;反之,当A帧存储器用于图像的更新缓存时,B帧存储器用于图像的扫描显示。其中的切换工作由可编程控制器中的选择模块,根据MC93238MX1向FPGA中的帧刷新控制器发出更新帧缓存时来选择切换。帧存储
24、器在系统中的地址分配为数据存储空间8000H-FFFFH单元。(4)扫描控制模块我们采用Altera公司的FPGA ACEX1K50中,主要完成扫描显示控制功能。它从帧存储器中读取要显示扫描显示的数据,然后按LED显示屏的逐行动态扫描格式产生控制时序。帧存储器中的数据,经MC93238MX处理后,写入到帧存储器,用于对显示屏的刷新。由地址产生器自动生成读地址信号完成对帧存储器内容的读出。在这过程中,要做好两个帧存储器的写地址和读地址、写数据和读数据的切换。读取后的数据在区计数器的作用下译码后被打进到相应的32位的区锁存器中,当所有区的数据均被锁完后,在统一的锁存控制信号作用下,同时将所有的区锁
25、存器的数据锁进各自区的移位寄存器(32位并/串转换电路)中,然后由移位时钟Txd控制并完成移位操作实现数据的串行输出。同时由于显示屏的大小、颜色以及扫描方式可以有不同的组合,为了能在线配置以适合不同的显示平台,我们设计了颜色控制器(IO空间:0001H单元)、屏体高度控制器(IO空间:0002H单元)、扫描方式控制器(IO空间:0003H单元),它们在接收来自MC9328MX1的控制信息,然后根据这些信息控制地址计数器。其框图结构如图6所示:图6. FPGA显示扫描框图(5)其他辅助模块为使系统可靠的工作,我们使用MAX690芯片设计了看门狗电路模块。由于ACEX1K50的VIO=3.3V 、
26、VINT=2.5V, 在电源模块中要分别设计3.3V、2.5V的电压输出。故我们使用两片LM317稳压器实现。5. 系统软件设计整个系统的软件包括三部分:上位机软件、ARM系统软件和FPGA的硬件设计配置软件。上位机软件编辑在LED显示屏上显示的数据信息,并将数据通过以太网发送到显示屏的主控系统上,完成对显示内容的经常更新、来满足客户的需求,适应显示数据的实时更新。ARM系统软件在显示硬件的支持下实现多种方式的显示,并嵌入实时操作系统uC/OS来管理各进程。使用VHDL硬件描述语言设计实现了系统框图中FPGA的硬件扫描电路。6. 结束语 根据本设计方案的构想,我们已经在80*32(水平80像素
27、点,高度为32像素点)的双基色屏上顺利完成了基于FPGA的硬件扫描设计和基于RS232和RS485的通讯显示,这是我们开发过程中取得的初步成果。另外还在软件上顺利实现了基于PC机之间的TCP/IP以太网之间的信息交换。但由于本项目始于今年7月份,时间过于仓促,加上项目资金上的限制,本设计方案的样机调试尚在完善之中,PC机与ARM显示系统间的以太网控制有待进一步研发。最后,我们也衷心希望能得到学校、院系、企业等多方面的资助。嵌入式USB主机嵌入式USB主机陈智荣(研04)温英林张辉勇摘要:本文以一个实际USB设备枚举的数据过程,讲述了USB协议中的一些关键概念和重要的数据结构、时序;在此基础上,
28、简单介绍本系统的硬件设计,然后围绕如何实现USB设备枚举,从底层到高层详细地介绍了本系统的软件设计。关键词:USB主机 SL811HS 51单片机 枚举 嵌入式1前言USB(通用串行总线)是最近几年逐步在PC领域广为应用的新型接口技术。USB接口通用性好、实时性强、传输方式多样、成本低、易于扩展且便于使用,这些优点使它受到许多硬件厂商的青睐,其相关设备种类越来越多,数量越来越大。然而,USB的拓扑结构中居于核心地位的是主机,任何一次USB的数据传输都必须由主机来发起和控制,所有的USB外设都只能和主机建立连接,任何两个外设之间无法直接通信。目前,大量扮演主机角色的是个人电脑PC机。目前使用的U
29、SB移动设备,如U盘,MP3随身听,USB接口的移动硬盘、移动光驱及数码相机等等,都只能在PC机上使用,只能通过PC机来进行数据传输和文件交换,这无疑给USB移动设备的应用带来了局限性。因此,如果能抛开PC机,使用轻便、廉价的设备就能读写操作USB外设,这将拓宽USB接口的应用范围,使人们享受更多更方便的USB接口电子产品。本设计使用51系列单片机对USB主机接口芯片SL811HS进行控制,实现了USB主机的一项重要功能:枚举USB设备。2关于USB协议在本设计中,由于采用了USB主机的接口芯片,所以不需要详细了解USB传输的底层物理特性,但必须深入理解USB的数据传输的协议层,具体来说,就是
30、USB传输中数据包,数据字段的格式和时序是如何的。2.1设备的枚举主机对USB设备的枚举指的是主机对设备的检测和配置。 在说明主机的枚举功能前,需要说明一下USB传输的数据基本结构和格式。从表1可见,在USB的数据传输中:主要有四种传输事务类型(控制、批量、中断、同步),而主机枚举设备的功能是只需要通过控制传输实现的。控制传输有三个传输阶段(建立、数据、状态,其中数据阶段是可选的)。每个传输阶段又由三个包组成(令牌包、数据包、握手包、特殊包)。表 1 USB传输的数据基本结构和格式传输事务类型阶段包控制建立令牌包数据包握手包数据令牌包数据包握手包状态令牌包数据包握手包批量(不分阶段)令牌包数据
31、包握手包中断(同上)同步(同上)其中,包是由域来组成的,共有7种域,每种域的子类型如下表所列:表 2 域和域的子类型域类型名域子类型名同步域SYNC标识域(PID)SETUP、OUT、IN、SOF、DATA0、DATA1、ACK、NAK、STALL、PRE地址域ADDR端点域ENDP帧号域FRAM数据域DATA校验域CRC5、CRC16其中,同步域的实际二进制编码为”_0000 0001”;另外,每个包是以SE0态作为结束标志的。下面,就以一个实际设备枚举的全过程为例,说明USB数据传输的一些具体细节(在这里,将不列出每个包的同步域和结束标志)。2.1.1主机检测到有设备插上,总线复位当设备与
32、主机连接时,主机就会检测到一个连接条件(USB接口芯片向CPU发出中断请求),主机就开始进行总线复位(主机强制输出SE0,即强制把D和D两信号线拉为低电平)。2.1.2主机第一次读取设备描述符主机使用默认地址(地址0)读取设备描述符,如表3所示。表 3 主机第一次读取设备描述符阶段包序号(包类型)数据内容建立包1(令牌包)主机向默认地址(地址0)设备发送建立包SETUPADDRENDPCRC50xB40x000x00x08包2(数据包)主机发出建立阶段的数据包(请求获取设备描述符GET_DESCRIPTOR)DATA0DATACRC160xC380 06 0001 0000 40000xBB2
33、9包3(握手包)设备应答ACK0x4B数据包4(令牌包)主机读取数据INADDRENDPCRC50x960x000x00x0B包5(数据包)设备返回设备描述符DATA1DATACRC160xD212 01 0001 DC 00 00 10 7104 6606 0001 00 000x42C6包6(握手包)主机应答ACK0x4B状态包7(令牌包)主机发送状态响应OUTADDRENDPCRC50x870x000x00x08包8(数据包)主机发送0字节数据作状态响应DATA1DATACRC160xD20x0000包9(握手包)设备应答ACK0x4B其中,包#2中的DATA含义如下:bmRequest
34、Type=0x80:所请求数据将是从设备传到主机;标准请求命令;该命令接受者为设备bRequest=0x06:请求命令代码是GET_DESCRIPTORwValue=0x0001:描述符索引值0x00;描述符编号0x01wIndex=0x0000:接收者为设备,所以此字段为0wLength=0x4000:要求设备返回的数据长度2.1.3地址分配在地址分配事务中,主机分配给设备一个地址,如表4所示,分配的地址为0x02,在以后的通信里,设备就只对0x02地址的信息作出应答,而把0地址让出来。从这个地址分配事务中也可见,控制传输的数据状态是可选的。表 4 地址分配阶段包序号(包类型)数据内容建立包
35、10(令牌包)主机向默认地址(地址0)设备发送建立包SETUPADDRENDPCRC50xB40x000x00x08包11(数据包)主机发出建立阶段的数据包(请求设置设备的地址)DATA0DATACRC160xC300 05 02 00 00 00 00 000xD768包12(握手包)设备应答ACK0x4B状态包13(令牌包)主机要求读取传输状态INADDRENDPCRC50x960x000x00x08包14(数据包)设备返回0字节数据作状态响应DATA1DATACRC160xD20x0000包15(握手包)主机应答ACK0x4B2.1.4主机从新的地址获取设备描述符(第二次读取设备描述符)
36、分配好地址后,主机就从新的地址获取设备描述符,如表5所示。由于设备返回的第一个设备描述符中声明了该设备的端点0最大包尺寸为16个字节(0x10),所以设备分2次把设备描述符经过端点0发送出去,第一次发送16个字节,第二次发送2个。最后主机发送0字节的数据包给设备作为传输装态应答。表 5 主机从新的地址获取设备描述符(第二次读取设备描述符)阶段包序号(包类型)数据内容建立包16(令牌包)主机向新的地址(地址0x02)设备发送建立包SETUPADDRENDPCRC50xB40x020x00x15包17(数据包)主机发出建立阶段的数据包(请求获取设备描述符GET_DESCRIPTOR)DATA0DA
37、TACRC160xC380 06 0001 0000 12000x072F包18(握手包)设备应答ACK0x4B数据包19(令牌包)主机读取数据INADDRENDPCRC50x960x020x00x15包20(数据包)设备返回设备描述符(前16个字节)DATA1DATACRC160xD212 01 0001 DC 00 00 10 7104 6606 0001 00 000x42C6包21(握手包)主机应答ACK0x4B数据包22(令牌包)主机读取数据INADDRENDPCRC50x960x020x00x15包23(令牌包)设备返回设备描述符(后2个字节)DATA0DATACRC160xC30
38、0190FCA1包24(令牌包)主机应答ACK0x4B状态包25(令牌包)主机发送状态响应OUTADDRENDPCRC50x870x020x00x15包26(数据包)主机发送0字节数据作状态响应DATA1DATACRC160xD20x0000包27(握手包)设备应答ACK0x4B2.1.5主机读取配置描述符主机读取完设备描述符后就读取设备的配置描述符,如表6所示:表 6 主机读取配置描述符阶段包序号(包类型)数据内容建立包1(令牌包)主机向默认地址(地址0)设备发送建立包SETUPADDRENDPCRC50xB40x020x00x15包2(数据包)主机发出建立阶段的数据包(请求获取设备描述符G
39、ET_DESCRIPTOR)DATA0DATACRC160xC380 06 0002 0000 09000x7520包3(握手包)设备应答ACK0x4B数据包4(令牌包)主机读取数据INADDRENDPCRC50x960x020x00x15包5(数据包)设备返回设备描述符DATA1DATACRC160xD209 02 2E 00 01 01 00 60 010xA01E包6(握手包)主机应答ACK0x4B状态包7(令牌包)主机发送状态响应OUTADDRENDPCRC50x870x020x00x15包8(数据包)主机发送0字节数据作状态响应DATA1DATACRC160xD20x0000包9(握
40、手包)设备应答ACK0x4B2.1.6主机读取描述符集合主机除了读取设备描述符和配置描述符外,还有读取接口描述符和端点描述符。在这里主机使用再次读取配置描述符的方法来实现。注意这里请求的字节数为0xff,如表7所示。表 7 主机读取描述符集合(配置、接口、端点描述符)阶段包序号(包类型)数据内容建立包16(令牌包)主机向新的地址(地址0x02)设备发送建立包SETUPADDRENDPCRC50xB40x020x00x15包17(数据包)主机发出建立阶段的数据包(请求获取设备描述符GET_DESCRIPTOR)DATA0DATACRC160xC380 06 0002 0000 FF000x972
41、5包18(握手包)设备应答ACK0x4B数据包19(令牌包)主机读取数据INADDRENDPCRC50x960x020x00x15包20(数据包)设备返回设备描述符(第一组16个字节)DATA1DATACRC160xD209 02 2E 00 01 01 00 60 01 09 04 00 00 04 DC A00x5C5E包21(握手包)主机应答ACK0x4B数据包22(令牌包)主机读取数据INADDRENDPCRC50x960x020x00x15包23(令牌包)设备返回设备描述符(第二组16个字节)DATA0DATACRC160xC3B0 00 07 05 81 03 04 00 0A 0
42、7 05 01 03 04 00 0A0A1BF包24(令牌包)主机应答ACK0x4B数据包22(令牌包)主机读取数据INADDRENDPCRC50x960x020x00x15包22(令牌包)设备返回设备描述符(剩余字节)DATA0DATACRC160xD207 05 82 02 40 00 0A 07 05 02 02 40 00 0A0xC515包22(令牌包)主机应答ACK0x4B状态包25(令牌包)主机发送状态响应OUTADDRENDPCRC50x870x020x00x15包26(数据包)主机发送0字节数据作状态响应DATA1DATACRC160xD20x0000包27(握手包)设备应
43、答ACK0x4B2.1.7主机设置配置主机读取完描述符后,就需要对设备进行配置,使得设备从地址状态进入配置状态,如下表8所示:表 8 主机设置配置阶段包序号(包类型)数据内容建立包10(令牌包)主机向0x02地址发送建立包SETUPADDRENDPCRC50xB40x020x00x15包11(数据包)主机发出建立阶段的数据包(请求设置配置)DATA0DATACRC160xC300 09 01 00 00 00 00 000xE4A4包12(握手包)设备应答ACK0x4B状态包13(令牌包)主机要求读取传输状态INADDRENDPCRC50x960x020x00x15包14(数据包)设备返回0字节数据作状态响应DATA1DATACRC160xD20x0000包15(握手包)主机应答ACK0x4B2.1.8主机读取配置状态主机设置完配置后,设备就可以使用。主机有时会对设备的配置状态进行读取,其工作数据如表9所示。表 9 主机读取配置状态阶段包序号(包类型)数据内容建立包16(令牌
限制150内