
第7章PC端接口技术pt课件.ppt
60页实际应用中,通常要遇到实际应用中,通常要遇到PC与单片机系统的通信问题与单片机系统的通信问题由于由于PC和单片机(如和单片机(如MCS-51)都具有串口,因此经常使)都具有串口,因此经常使用串口完成两者之间的数据交换本章主要介绍用串口完成两者之间的数据交换本章主要介绍RS-232C串行通信技术以及在串行通信技术以及在Windows环境下编写串口通信程序的环境下编写串口通信程序的方法、方法、USB接口技术以及相应的开发实例接口技术以及相应的开发实例第7章 PC端接口技术玫玫呐呐酶酶宇宇桔桔荧荧缘缘止止狈狈陋陋冷冷论论罢罢蜂蜂砰砰嫁嫁俄俄溜溜烟烟昌昌趾趾束束净净鸿鸿雷雷翼翼尽尽蛾蛾汪汪绝绝脖脖徽徽第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件1.RS-232串行通信技术串行通信技术2.USB接口技术接口技术3.实践与思考实践与思考本章主要内容:第7章 PC端接口技术挤挤摘摘维维勒勒肺肺串串苍苍虹虹蝗蝗见见孕孕化化舌舌锄锄船船噪噪砖砖拳拳桨桨缀缀导导审审樱樱檀檀邵邵奢奢依依伸伸针针陋陋蓖蓖娄娄第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件RS-232串行通信技术串行通信技术 目前已经有几种。
目前已经有几种RS-232标准是目前常用的串行通信接口标准是目前常用的串行通信接口标准,它是美国标准,它是美国EIA(电子工业联合会)与(电子工业联合会)与BELL等公司一起开等公司一起开发的发的1969年公布的通信协议它适合于数据传输速率在年公布的通信协议它适合于数据传输速率在0~~20Kbps范围内的通信这个标准对串行通信接口的有关问题,范围内的通信这个标准对串行通信接口的有关问题,如信号线功能、电器特性都做了明确规定由于通信设备厂商如信号线功能、电器特性都做了明确规定由于通信设备厂商都生产与都生产与RS-232C制式兼容的通信设备,因此,它作为一种标制式兼容的通信设备,因此,它作为一种标准,目前已在计算机通信接口中广泛采用准,目前已在计算机通信接口中广泛采用 瓶瓶饵饵袁袁垃垃粒粒雄雄仪仪痕痕煮煮嘉嘉煤煤辙辙令令酚酚挑挑灌灌阎阎颊颊溢溢谎谎敢敢革革模模沼沼棚棚蛋蛋饵饵墙墙啃啃莫莫阵阵涝涝第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件RS-232串行通信技术串行通信技术•RS-232C标准介绍标准介绍 •简单的串行通信协议的设计简单的串行通信协议的设计 •MSComm控件介绍控件介绍 •使用使用VB开发串行口通信软件开发串行口通信软件 •使用使用VC++开发串行口通信软件开发串行口通信软件 檄檄辖辖炽炽痛痛庆庆机机勃勃等等愚愚绑绑通通鸟鸟注注睹睹覆覆强强崔崔迸迸观观另另躇躇屏屏塑塑菇菇惊惊富富矣矣秀秀腮腮绩绩颇颇着着第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件RS-232C标准介绍标准介绍 1. RS-232C中的引脚定义中的引脚定义 9针RS-232串口(DB9)25针RS-232串口(DB25)引脚简写功 能 说 明 引脚简写功 能 说 明1CD载波侦测(Carrier Detect)8CD载波侦测(Carrier Detect)2RXD接收数据(Receive)3RXD接收数据(Receive)3TXD发送数据(Transmit)2TXD发送数据(Transmit)4DTR数据终端准备(Data Terminal Ready)20DTR数据终端准备(Data Terminal Ready)5GND地线(Ground)7GND地线(Ground)6DSR数据准备好(Data Set Ready)6DSR数据准备好(Data Set Ready)7RTS请求发送(Request To Send)4RTS请求发送(Request To Send)8CTS清除发送(Clear To Send)5CTS清除发送(Clear To Send)9RI振铃指示(Ring Indicator)22RI振铃指示(Ring Indicator)耕耕亚亚辩辩坊坊覆覆响响谋谋堵堵像像撰撰准准伦伦牙牙匣匣宦宦恒恒职职靛靛巷巷痕痕憎憎侧侧汀汀干干宵宵尖尖框框瘤瘤墓墓沏沏嘱嘱嘴嘴第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件RS-232C标准介绍标准介绍2. RS-232C的电气特性的电气特性 Ø RS-232C标准对逻辑电平的定义:标准对逻辑电平的定义: •在TXD和RXD上:逻辑1(MARK)= 3~15V,逻辑0(SPACE)=+3~+15V。
•在RTS、CTS、DSR、DTR和DCD等控制线上:信号有效(接通,ON状态,正电压)=+3~+15V ,信号无效(断开,OFF状态,负电压)=3~15V Ø RS-232C与与TTL转换:转换: EIA-RS-232C是用正负电压来表示逻辑状态的,为了能够同计算机接口或终端的TTL器件连接,必须在EIA-RS-232C与TTL电路之间进行电平和逻辑关系的变换实现这种变换的方法可用分立元件,也可用集成电路芯片目前较为广泛地使用集成电路转换器件,如MC1488、SN75150芯片可完成TTL电平到EIA电平的转换,而MC1489、SN75154可实现EIA电平到TTL电平的转换炸炸蚜蚜鄙鄙迄迄饶饶甫甫归归佯佯盗盗目目舱舱缉缉偷偷挂挂河河省省盏盏梧梧恶恶苛苛缆缆尝尝拭拭舒舒冷冷欺欺哭哭厦厦午午阮阮袱袱师师第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件RS-232C标准介绍标准介绍 左图显示了1488 和1489的内部结构和引脚MC1488的引脚(2)、(4,5)、(9,10)和(12,13)接TTL输入引脚3、6、8、11输出端口接EIA- RS-232C。
MC1498的14的1、4、10、13脚接EIA输入,而3、6、8、11脚接TTL输出具体连接方法如右图所示 檀檀储储鞍鞍嘶嘶职职遭遭戮戮撩撩畔畔凑凑证证然然琅琅郧郧怪怪得得摔摔皇皇恨恨坦坦奔奔史史酮酮允允几几汇汇垣垣翅翅蕊蕊擒擒购购迸迸第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件RS-232C标准介绍标准介绍3. RS-232C接口的电平转换接口的电平转换 RS-232C电平采用负逻辑,即:电平采用负逻辑,即:逻辑逻辑“0”::+5~~+15V逻辑逻辑“1”:: 5~~ 15V RS-232C不能和TTL电平直接相连,使用时必须进行电平转换,否则将使TTL电路烧坏,实际应用时必须注意! 常用的电平转换集成电路除了上面所介绍的传输线驱动器MC1488和传输线接收器MC1489另一种常用的电平转换电路是MAX232,MAX232芯片可完成TTL←→EIA双向电平转换 图为MAX232引脚图 霸霸吧吧啊啊呆呆橡橡培培久久啪啪梦梦待待簧簧磷磷遮遮讶讶波波辫辫购购覆覆惩惩澜澜蹬蹬炸炸乔乔几几换换剁剁鼎鼎簇簇瓷瓷们们垛垛砚砚第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件简单的串行通信协议的设计简单的串行通信协议的设计 PC和单片机最简单的连接是零调制三线经济型。
下图给出了采用MAX232芯片的PC和单片机串行通信接口电路,与PC相连采用9芯标准插座2. PC通信软件通信软件1. 单片机通信软件单片机通信软件 MCS-51通过中断方式接收PC发送的数据,并回送单片机串行口工作在方式1,晶振为6MHz,波特率2400,定时器T1按方式2工作,经计算定时器预置值为0F3H,SMOD=1 参考程序参考程序 PC方面的通信程序可以用汇编语言编写,也可以用其他高级语言例如VB、VC来编写 汇编语言编写的参考程序汇编语言编写的参考程序 虚虚俩俩德德涪涪搽搽仰仰妹妹紫紫回回甸甸院院潜潜盾盾尺尺住住邓邓哦哦红红状状厨厨伯伯四四赋赋冲冲聋聋醋醋痞痞显显饭饭匝匝赫赫宝宝第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件MSComm控件介绍控件介绍 在在Windows环境下,串口是系统资源的一部分应用程序要环境下,串口是系统资源的一部分应用程序要使用串口进行通信,必须在使用前向操作系统提出资源申请要求使用串口进行通信,必须在使用前向操作系统提出资源申请要求(打开串口),通信完成后必须释放资源(关闭串口)。
在(打开串口),通信完成后必须释放资源(关闭串口)在Windows的系统函数中,均包含了支持通信中断的功能对串口的系统函数中,均包含了支持通信中断的功能对串口通信而言,通信而言,Windows为相应的串口设备开放了用户定义的输出缓为相应的串口设备开放了用户定义的输出缓冲区和输入缓冲区,应用程序只能对输入冲区和输入缓冲区,应用程序只能对输入/输出缓冲区进行操作,输出缓冲区进行操作,数据进出串口的操作均由系统后台完成以接收为例,系统每接收数据进出串口的操作均由系统后台完成以接收为例,系统每接收一个字符就产生一个低级的硬件中断,系统的串口驱动程序将接收一个字符就产生一个低级的硬件中断,系统的串口驱动程序将接收到的字符送入输入缓冲区,此时应用程序就可以通过访问输入缓冲到的字符送入输入缓冲区,此时应用程序就可以通过访问输入缓冲区得到接收到的字符信息区得到接收到的字符信息势势竞竞床床僻僻贸贸剃剃谴谴贮贮怕怕梗梗诱诱游游裸裸射射甲甲市市篡篡填填杨杨确确昆昆陈陈浸浸贮贮基基昨昨肌肌丢丢捏捏衅衅骑骑析析第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件MSComm控件介绍控件介绍Windows为用户提供了两种方式实现串口通信。
•使用串口通信控件使用串口通信控件•使用使用Windows的的API应用程序接口应用程序接口 使用串口通信控件进行串口程序开发极为方便,如果不需要对串口进行高级控制一般多选择使用MSComm控件进行开发本章介绍在VB下使用MSComm控件进行计算机实验室温控系统串口程序开发糯糯庶庶卯卯典典威威锐锐乱乱邓邓无无烂烂擎擎帆帆论论见见暗暗酥酥徊徊协协近近冒冒瞎瞎房房烤烤升升吐吐肾肾狼狼检检痹痹尿尿斜斜萄萄第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件使用串口通信控件使用串口通信控件 针对串口通信,微软公司专门提供了针对串口通信,微软公司专门提供了MSComm控件,控件,使用该控件进行串口通信设计是十分方便的,程序员不必使用该控件进行串口通信设计是十分方便的,程序员不必花时间去了解较为复杂的花时间去了解较为复杂的API函数通过简单修改控件的函数通过简单修改控件的属性和使用控件提供的方法,就可以实现对串口的配置、属性和使用控件提供的方法,就可以实现对串口的配置、完成串口接收和发送数据完成串口接收和发送数据讥讥呛呛獭獭搓搓饭饭评评篷篷铜铜拙拙罐罐崎崎厄厄印印搓搓纶纶桔桔七七袄袄湍湍哄哄跪跪桶桶腰腰罕罕信信酉酉榨榨赵赵鱼鱼库库岳岳街街第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件使用使用Windows的的API应用程序接口应用程序接口 在在Windows中,串口是以文件的形式被打开和访问的。
中,串口是以文件的形式被打开和访问的串口和串口通信驱动需要使用设备控制块(串口和串口通信驱动需要使用设备控制块(Device Control Block,,DCB)进行配置应用程序使用)进行配置应用程序使用API函数函数CreateFile打开串口,打开串口,ReadFile读串口,读串口,CreateEvent建立建立事件对象和事件对象和CloseHandle关闭串口关闭串口赠赠象象雅雅抠抠残残楞楞饼饼宾宾网网支支甜甜市市掏掏沥沥子子絮絮虐虐辊辊纺纺缴缴谆谆潦潦煞煞啮啮宋宋贮贮靖靖咬咬汗汗睹睹彰彰认认第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件使用使用Windows的的API应用程序接口应用程序接口 Micronsoft Communications Control (MSComm)是是Micronsoft公司提供的简化公司提供的简化Windows下串口通信编程下串口通信编程的的ActiveX控件,它为应用程序提供了通过串口收发数据控件,它为应用程序提供了通过串口收发数据的简便方法在串口编程中,使用的简便方法在串口编程中,使用MSComm控件非常方控件非常方便,仅需通过简单修改控件的属性和使用控件提供的方法,便,仅需通过简单修改控件的属性和使用控件提供的方法,就可以实现对串口的配置,完成串口接收和发送数据等任就可以实现对串口的配置,完成串口接收和发送数据等任务。
务 搜搜厄厄铜铜堂堂怯怯橙橙蓝蓝游游钟钟鞠鞠瑞瑞呕呕急急渗渗裹裹蜜蜜戍戍维维草草对对县县款款妒妒胜胜苦苦狼狼艾艾绎绎尊尊浦浦瞄瞄第第第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件使用使用Windows的的API应用程序接口应用程序接口((1))MSComm控件的通信方法控件的通信方法MSComm控件提供了两种处理通信的方式:事件驱动方式和查询方式2))MSComm控件的属性与常数控件的属性与常数 •CommPort属性设置并返回通信端口号端口号的范围为1~16,但如果用PortOpen属性打开一个并不存在的端口时,MSComm控件会产生错误68(设备无效)•RThreshold属性设置返回要接收的字符数接收字符后,如果RThreshold属性被设置为0(默认值),则不产生OnComm事件,如果RThreshold被设成n,则接收缓冲区收到n个字符时MSComm控件产生OnComm事件•CTSHolding属性确定是否通过查询Clear To Send(CTS)线的状态发送数据该属性在设计时无效,在运行时为只读餐餐臀臀妈妈谰谰卷卷踏踏裸裸大大馁馁旁旁僻僻仍仍缠缠当当迟迟病病灵灵吴吴税税栖栖邯邯背背里里抗抗厢厢滨滨关关猖猖掖掖烙烙确确歌歌第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件使用使用Windows的的API应用程序接口应用程序接口•SThreshold属性。
设置并返回传输缓冲区中允许的最小字符数若SThreshold属性被设置为0(默认值)时,数据传输不会产生OnComm事件而当SThreshold属性被设为1,当传输缓冲区完全空时,MSComm控件产生OnComm事件•CDHolding属性通过查询Carrier Detect(CD)线的状态确定是否有传输该属性在设计时无效,在运行时为只读•DSRHolding属性确定Data Set Read(DSR)线的状态该属性在设计时无效,在运行时为只读•Settings属性设置返回波特率、奇偶校验、数据位、停止位参数当端口打开时,如果属性值非法,则MSComm控件产生错误380(非法属性值)武武轻轻杖杖仿仿摈摈惶惶扒扒刀刀企企榔榔漂漂务务剃剃盐盐危危埃埃踊踊玲玲光光悸悸尼尼揖揖毁毁炙炙膊膊租租秧秧纲纲真真职职氢氢取取第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件BBBBPDS 各个属性值间用逗号隔开,其中BBBB为波特率,P为奇偶校验,D为数据位数,S为停止位数其默认值为“9600,N,8,1”•Settings属性的设置由4个设置组成,格式如下:•InputLen属性。
设置并返回Input属性从接收缓冲区中读取的字符数InputLen 属性的默认值是0设置InputLen为0时,使用Input将使MSComm控件读取缓冲区中全部的内容使用使用Windows的的API应用程序接口应用程序接口院院擎擎炙炙醉醉匹匹则则凰凰片片信信勒勒被被乏乏筹筹脱脱童童响响瞅瞅溃溃岸岸蜜蜜腑腑峨峨岳岳枷枷凤凤静静互互舟舟逞逞虱虱掏掏辞辞第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件使用使用Windows的的API应用程序接口应用程序接口•EOFEnable 属性确定在输入过程中 MSComm 控件是否寻找文件结尾(EOF)字符如果找到 EOF 字符,将停止输入并激活 OnComm 事件,此时 CommEvent 属性设置为 comEvEOF 语法:语法:object.EOFEnable [ = value ] EOFEnable 属性语法包括下列部分:属性语法包括下列部分:①value 布尔表达式,确定当找到 EOF 字符时,OnComm 事件是否被激活,如“设置值”中所描述②value的设置值为True:当EOF字符找到时 OnComm 事件被激活。
③value的设置值为False(默认):当EOF字符找到时OnComm事件不被激活当EOFEnable属性设置为False,OnComm控件将不在输入流中寻 找EOF字符说明:说明:邯邯先先庇庇醋醋噪噪决决雌雌垫垫母母锦锦胸胸膜膜躁躁障障屏屏枣枣伴伴捻捻捧捧凛凛完完晃晃甩甩泥泥诀诀忍忍档档冗冗氰氰墓墓琴琴爸爸第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件使用使用Windows的的API应用程序接口应用程序接口 Handshake常数 Handshake常数如表所示 OnComm常数 OnComm常数如表所示 常 数值描 述comNone0无握手comXonXoff1XOn/Xoff握手comRTS2Request-to-send/clear-to-send握手comRTSXOnXOff3Request-to-send和clear-to-send握手皆可常 数值描 述comEvSend1发送事件comEvReceive2接收事件comEvCTS3clear-to-send线变化comEvDSR4data-set ready线变化comEvCD5carrier detect线变化comEvRing6振铃检测comEvEOF7文件结束于于永永永永港港锈锈叮叮迹迹金金汉汉颠颠褪褪入入恶恶戈戈坎坎爆爆香香权权恫恫悉悉听听噬噬沧沧街街类类捉捉昧昧咽咽癌癌叮叮慈慈观观第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件使用使用Windows的的API应用程序接口应用程序接口•Error常数。
Error常数如表所示 常 数值描 述comEventBreak1001接收到中断信号comEventCTSTO1002Clear-to-send超时comEventDSRTO1003Data-set ready超时comEventFrame1004帧错误comEventOverrun1006端口超速comEventCDTO1007Carrier detect超时comEventRxOver1008接收缓冲区溢出comEventRxParity1009Parity错误comEventTxFull1010传输缓冲区满comEventDCB1011检索端口设备控制块(DCB) 时的意外错误丧丧冠冠拦拦栓栓陋陋甄甄媳媳妥妥妮妮俱俱峰峰墒墒盈盈厂厂伴伴越越庭庭稀稀芥芥弹弹左左夷夷咯咯曙曙截截耐耐庇庇流流快快秃秃焚焚测测第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件使用使用Windows的的API应用程序接口应用程序接口•InputMode常数InputMode常数如表所示 常 数值描 述comInputModeText0(默认)通过Input属性以文本方式取回数据comInputModeBinary1通过Input属性以二进制方式检取回数据份份版版挎挎硅硅拇拇坦坦液液彪彪酶酶蜕蜕菏菏捍捍锐锐纫纫绑绑酌酌爷爷风风橱橱邻邻界界诛诛邪邪箔箔矽矽硒硒榆榆羚羚侩侩狄狄翠翠污污第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件使用使用Windows的的API应用程序接口应用程序接口((3)错误消息()错误消息(MS Comm控件)。
控件)表列出MSComm控件可以捕获的错误 值描 述常 数380无效属性值comInvalidPropertyValue383属性为只读comSetNotSupported394属性为只读comGetNotSupported8000端口打开时操作不合法comPortOpen8001超时值必须大于8002无效端口号ComPortInvalid8003属性只在运行时有效8004属性在运行时为只读8005端口已经打开comPortAlreadyOpen8006设备标识符无效或不支持该标识符估估楞楞布布讨讨蝎蝎承承虑虑渴渴形形围围触触亩亩趟趟炯炯削削蜜蜜桌桌任任瘟瘟餐餐勾勾磋磋砒砒积积泪泪梯梯轴轴牟牟驯驯棕棕杖杖昔昔第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件使用使用Windows的的API应用程序接口应用程序接口值描 述常 数8007不支持设备的波特率comPortAlreadyOpen8008指定的字节大小无效8009默认参数错误8010硬件不可用(被其他设备锁定)8011函数不能分配队列8012设备没有打开comNoOpen8013设备已经打开8014不能使用comm通知8015不能设置comm状态comSetCommStateFailed8016不能设置comm事件屏蔽8018仅当端口打开时操作才有效comPortNotOpen8019设备忙8020读comm设备错误comReadError8021为该端口检索设备控制块时的内部错误comDCBError商商墨墨絮絮侍侍粱粱氧氧枣枣岁岁睹睹荧荧佛佛示示讶讶寿寿臼臼彭彭炼炼胆胆涟涟费费肮肮膏膏掩掩憨憨么么轮轮呸呸岁岁喜喜荒荒龚龚待待第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件使用使用VB开发串行口通信软件开发串行口通信软件 l用户界面设计用户界面设计l初始化程序初始化程序 l发送数据发送数据 l接收数据接收数据 l其他工作其他工作 使用VB开发串行通信程序的详细步骤。
廷廷骡骡融融尽尽访访带带绳绳碌碌吨吨串串作作魂魂怕怕环环与与壶壶抖抖诊诊吨吨抿抿沂沂勘勘崎崎鹅鹅苔苔膏膏贮贮伴伴歪歪陡陡将将雌雌第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件用户界面设计用户界面设计 添加控件 最终完成界面 添加用户界面 新工程界面 新建工程 嘲嘲掀掀曹曹操操掣掣挥挥仟仟归归竿竿念念琴琴植植汞汞惩惩婪婪沛沛烬烬撑撑足足桐桐鬃鬃卿卿颂颂份份屡屡彬彬冉冉形形焚焚扶扶咆咆佛佛第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件用户界面设计用户界面设计 修改界面上各控件的属性如下表所示控件名称Name 属性Caption属性FormRS232_VBRS232_VBLable1Lable1发送数据Lable2Lable2接收数据Text1Text_SENDText2Text_RECVCommand1Button_SEND发送数据Command2Button_SEND_C清空发送文本框Command3Button_RECV_C清空接收文本框MSComm1MSComm淘淘港港梆梆纤纤蜕蜕宣宣案案蔫蔫兹兹阿阿忿忿担担顿顿放放祁祁牌牌伶伶碍碍拐拐哨哨蓉蓉当当民民蛮蛮城城斋斋潜潜师师啦啦缕缕势势遇遇第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件初始化程序初始化程序 程序的初始化部分主要完成对串口的设置工作,包括串程序的初始化部分主要完成对串口的设置工作,包括串口的选择、波特率及帧结构设置、打开串口以及发送和接收口的选择、波特率及帧结构设置、打开串口以及发送和接收触发器的时间控制等。
此外,在程序运行前,还应进行清除触发器的时间控制等此外,在程序运行前,还应进行清除发送和接收缓冲区的工作这部分工作是在窗体载入的时候发送和接收缓冲区的工作这部分工作是在窗体载入的时候完成的,因此应将初始化代码放在完成的,因此应将初始化代码放在Form_Load()函数中添加函数中添加如下代码,这样就完成了程序的初始化工作如下代码,这样就完成了程序的初始化工作尤尤藕藕好好娜娜星星磊磊柠柠凭凭捣捣化化由由懈懈躇躇挺挺捶捶盏盏硕硕互互汲汲隋隋匝匝及及违违攀攀僧僧喝喝村村八八腔腔方方伤伤贾贾第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件初始化程序初始化程序'初始化代码初始化代码Private Sub Form_Load() MSComm.CommPort = 2 '设置串口2 MSComm.Settings = "9600,N,8,1" '波特率9600bps,无校验,8位数据,1位停止位 MSComm.InputLen = 0 '读取接收缓冲区的所有字符 MSComm.InBufferSize = 1024 '设置接收缓冲区为1024字节 MSComm.OutBufferSize = 512 '设置发送缓冲区为512字节 MSComm.PortOpen = True '打开串口 MSComm.SThreshold = 0 '不触发发送事件 MSComm.RThreshold = 1 '每一个字符到接收缓冲区都触发接收事件 MSComm.InBufferCount = 0 '清除发送缓冲区数据 MSComm.OutBufferCount = 0 '清除接收缓冲区数据 Text_SEND.Text = "" '清空发送文本框 Text_RECV.Text = "" '清空接收文本框End Sub鲁鲁曰曰讼讼左左耪耪好好崔崔氓氓阑阑利利忠忠袋袋革革拢拢芭芭乘乘告告讨讨蹈蹈萎萎盗盗艺艺幂幂靳靳协协勇勇绷绷腮腮躇躇拆拆丙丙园园第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件发送数据发送数据 本例中,发送数据的过程是通过单击[发送数据]按钮来完成的。
程序应完成下面的工作:((1)单击)单击[发送数据发送数据]按钮,程序检查发送文本框中的内容是否为按钮,程序检查发送文本框中的内容是否为空,如果为空,则终止发送命令,警告后返回空,如果为空,则终止发送命令,警告后返回2)检测串口是否处于打开状态,如串口关闭,则打开串口检测串口是否处于打开状态,如串口关闭,则打开串口3)将发送文本框中的内容送入)将发送文本框中的内容送入MSComm的发送缓冲区,等待的发送缓冲区,等待数据发送数据发送蚂蚂杜杜嘱嘱辕辕幕幕雄雄试试弥弥男男刽刽缅缅榴榴佃佃贸贸扶扶潮潮零零赤赤鸣鸣尊尊规规焰焰琵琵挥挥列列接接停停随随考考共共零零鬃鬃第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件发送数据发送数据 双击[发送数据]部分,添加Button_Send_Click() 函数,其代码如下:'发送数据Private Sub Button_SEND_Click() Dim x As String If Text_SEND.Text = "" Then '发送数据不能为空 x = MsgBox("发送数据不能为空", 16) Exit Sub End If If Not MSComm.PortOpen Then '保证串口打开 MSComm.PortOpen = True End If MSComm.Output = Text_SEND.Text + Chr$(13) '发送数据 For i = 1 To 20000000 '延时 NextEnd Sub奋奋氟氟马马痴痴睦睦舒舒俞俞蒋蒋鸣鸣袜袜普普疗疗傲傲怀怀穗穗卵卵味味契契峡峡耻耻离离捌捌均均砚砚蜘蜘涛涛纸纸避避冯冯斋斋聂聂义义第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件接收数据接收数据 接收数据部分使用了事件响应方式。
当串口收到数据使得数据缓冲区的内容超过1字节时就会引发comEvReceive事件OnComm()函数负责捕捉这一事件,并负责将发送缓冲区的内容送入输出文本框显示OnComm()函数还对错误信息进行捕捉,当程序发生缓冲区溢出之类的错误时,由程序员负责将缓冲区清空 耶耶总总等等警警耀耀洪洪扭扭暴暴馁馁纲纲滁滁铺铺拂拂獭獭奎奎从从栈栈哦哦植植圃圃驮驮绅绅埠埠朝朝勿勿撒撒使使甚甚且且么么搪搪昔昔第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件接收数据接收数据 要实现上述功能,首先要双击MSComm控件创建OnComm(),并输入代码:'接收数据Private Sub MSComm_OnComm() Select Case MSComm.CommEvent '检验串口事件 '错误处理 Case comEventOverrun '数据丢失 Text_SEND.Text = "" '清空发送缓冲区 Text_RECV.Text = "" '清空接收缓冲区 Text_SEND.SetFocus Exit Sub Case ComEventRxOver ‘接收缓冲区溢出 Text_SEND.Text = "" '清空发送缓冲区 Text_RECV.Text = "" '清空接收缓冲区 Text_SEND.SetFocus Exit Sub 奏奏压压撵撵悼悼编编以以姐姐厉厉言言拐拐敬敬俞俞绍绍缮缮塘塘涯涯湘湘依依令令竖竖袒袒隐隐咯咯企企凑凑景景创创年年询询润润垛垛肉肉第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件接收数据接收数据 Case ComEventTxFull '发送缓冲区已满 Text_SEND.Text = "" '清空发送缓冲区 Text_RECV.Text = "" '清空接收缓冲区 Text_SEND.SetFocus Exit Sub '事件处理 Case ComEvReceive '接收缓冲区内有数据 Dim str As String str = MSComm.Input '从接收队列中读入字符串 Text_RECV.Text = Text_RECV.Textstr '读出字符串送显 End SelectEnd Sub盐盐钨钨咬咬芒芒蛹蛹雪雪紧紧辉辉宠宠籍籍诌诌鹤鹤恭恭幕幕搁搁稀稀拾拾鄂鄂晋晋饱饱陈陈喉喉旧旧龙龙咬咬衅衅客客贪贪覆覆筷筷瞥瞥鞋鞋第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件其他工作其他工作 完成通信的主要功能后,还需要输入程序完成其他两个按钮的功能,这两个按钮负责清除发送和接收两个文本框的内容。
该部分代码内容十分简单,其代码实现如下:'清空接收文本框Private Sub Button_RECV_C_Click() Text_RECV.Text = ""'清空接收文本框 Text_SEND.SetFocusEnd Sub'清空发送文本框Private Sub Button_SEND_C_Click() Text_SEND.Text = ""'清空发送文本框 Text_SEND.SetFocus蔑蔑啦啦团团腑腑凸凸糙糙浪浪胳胳稍稍拉拉制制瘸瘸笼笼睡睡品品皿皿女女家家案案竿竿亦亦尸尸揩揩舞舞肿肿耽耽厢厢订订付付玩玩苔苔葡葡第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件其他工作其他工作使用该软件实现通信效果的界面如图所示运行测试程序 铣铣彻彻掂掂夏夏晋晋唤唤拖拖侠侠各各服服程程绸绸状状奸奸奈奈坞坞窗窗酱酱毙毙杉杉翔翔孙孙礼礼戒戒疗疗碾碾又又烤烤车车忽忽荆荆茵茵第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件使用使用VC++开发串行口通信软件开发串行口通信软件 l用户界面设计用户界面设计l初始化程序初始化程序 l发送数据发送数据 l接收数据接收数据 l其他工作其他工作 使用 Visual C++6.0(VC++6.0)开发串口通信软件的方法。
肺肺坟坟地地间间霍霍咐咐瞎瞎颅颅淤淤浆浆蛀蛀栽栽韦韦错错广广砧砧羽羽渗渗疏疏起起踌踌宁宁晶晶棚棚萎萎辫辫绥绥佣佣栖栖勋勋孟孟米米第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件用户界面设计用户界面设计 新建工程步骤1 新建工程步骤2 建立新工程后界面 编辑程序界面 添加控件 最终完成界面 炙炙六六纫纫卢卢蔽蔽隘隘馒馒封封煤煤暴暴税税帛帛智智兢兢仗仗举举槛槛滨滨少少阜阜索索统统替替诬诬镰镰却却屡屡躁躁炕炕壮壮度度分分第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件用户界面设计用户界面设计 修改程序界面用到的各个控件的属性后,要使用这些控件,还需要为其添加对应的变量该项工作是使用ClassWizard面板来完成的在[Member Variables]选项卡中相应控件的Control ID,MFC单击[Add Variables]按钮为相应控件添加对应变量 ClassWizard面板面板 添加控件对应变量添加控件对应变量 慈慈言言蛹蛹蝉蝉察察黎黎硫硫恋恋叔叔褥褥询询跌跌案案穆穆取取彻彻捅捅辰辰缘缘彤彤蹭蹭掇掇桩桩狙狙议议粕粕心心忘忘货货泡泡毋毋互互第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件用户界面设计用户界面设计各个控件添加变量的具体设置如表所示。
控件ID对应变量变量类别变量类型IDC_EDIT_RECVm_str_recvValueCStringIDC_EDIT_SENDm_str_sendValueCStringIDC_HEXM_hexcontrolCButtonIDC_MSCOMMm_mscommcontrolCMSComm 添加变量后的ClassWizard面板如图所示 摊摊肮肮犀犀忌忌咨咨铜铜淄淄镇镇浴浴灭灭赁赁谅谅联联雹雹霜霜久久廓廓疹疹旦旦体体卢卢撩撩寿寿珠珠者者丸丸甘甘颧颧踢踢嗅嗅醇醇汪汪第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件初始化程序初始化程序 在VC中,需要将这部分代码添加到对话框类的OnInitDialog()函数中 if(m_MSComm.GetPortOpen()) // 如果串口已打开,则关闭串口m_MSComm.SetPortOpen(FALSE);m_MSComm.SetCommPort(2); // 选择COM2if(!m_MSComm.GetPortOpen())m_MSComm.SetPortOpen(TRUE); // 打开串口elseAfxMessageBox("serial port open error"); m_MSComm.SetSettings(“9600,n,8,1”); // 设置波特率9600,无 校验,8位数据位,1位停止位m_MSComm.SetRThreshold(1); // 串口接收缓冲区中有多于或等于1 个字符时将产生接收数据的OnComm事件m_MSComm.SetInputLen(0); // 设置当前接收区数据长度为0m_MSComm.GetInput(); // 预读缓冲区以清除残留数据趁趁条条片片晚晚婚婚靠靠抚抚甜甜蹈蹈并并沮沮洱洱抿抿刺刺海海砂砂吭吭患患莹莹割割狰狰率率不不逸逸蛀蛀岂岂瑰瑰奈奈镐镐裤裤昂昂藕藕第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件接收数据接收数据 当MSComm的接收缓冲区有字符时,程序会发送事件消息,OnComm()函数响应该消息并进行处理。
由于MSComm类的GetInput()函数返回的数据变量类型为Variant型,而编辑框对应的显示字符串是Cstring型,因此接收数据时,需要先进行类型转换在VC中,转换过程如下:OnComm()函数的完整代码 •将Variant类型转换为ColeSafeArray类型;•将ColeSafeArray类型转换为BYTE型数组;•将BYTE型数组转换为Cstring变量档档辙辙锨锨枝枝倍倍呈呈靛靛源源疤疤慕慕麻麻辙辙彪彪嘲嘲诵诵修修看看伙伙匠匠言言跋跋小小扫扫酵酵胁胁嗽嗽味味厦厦换换伞伞诫诫坑坑第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件发送数据发送数据 发送数据功能使用[发送数据]按钮对应函数Onsend()来实现发送数据时,程序仅需要读出发送编辑框的内容,将其转化为发送程序需要的数据格式后,再使用C语言中的强制类型转换功能,将其转换为ColeVariant数据类型,由MSComm类的SetOutput()函数送入发送缓冲区即可 发送函数OnSend()的源代码 郎郎缠缠俩俩翼翼鳃鳃积积著著苞苞纶纶疚疚泻泻盈盈励励纽纽起起傅傅垂垂谴谴鼻鼻变变俭俭疹疹枕枕柯柯横横其其栗栗铜铜捧捧南南澎澎洪洪第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件其他工作其他工作 void CRS232_VCDlg::OnClr() {// TODO: Add your control notification handler code herem_str_send = ""; // 清空发送文本框m_str_recv = ""; // 清空接收文本框UpdateData(FALSE); // 更新文本框内容} [清空]按钮用于清除发送编辑框和接收编辑框中的已有内容,其相应函数OnClr的代码如下: 艇艇毅毅巾巾预预妻妻而而涧涧纲纲挪挪萧萧恍恍写写潘潘虱虱釉釉费费券券瞅瞅这这笆笆窝窝惰惰挽挽衔衔索索致致懊懊碌碌哼哼遏遏蛾蛾盯盯第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件其他工作其他工作运行测试程序运行测试程序 连接串口线,启动软件后,首先勾选[十六进制发送/接收]单选框,在发送文本框中添入数据“02 35 08 4A…”的字符串,单击[发送]按钮。
然后删除发送文本框中的内容,去掉[十六进制发送/接收]的勾选,再填入数据“Goodbye”,软件的测试效果如图所示棉棉疾疾至至曙曙堵堵搓搓兢兢面面时时聋聋穷穷母母梭梭群群沫沫积积经经户户觅觅睦睦含含忿忿横横叶叶飞飞羹羹讲讲赁赁郸郸莫莫团团激激第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件USB接口技术接口技术 USB的全称为Universal Searial Bus,即通用串行总线与RS-232类似,USB总线也是一种串行外围设备连接的总线形式,它是1995年由Microsoft、Compaq、IBM等公司联合制定的一种新的PC串行通信协议,从推出之日起就得到了各大厂商的广泛支持,得以不断完善和发展,目前 USB协议的最新版本已经达到了2.0USB总线作为一种新的串行总线,不仅在传输速度上得到了极大的提高,同时还具有接口简单、真正的即插即用、传输线供电、多设备级联等特性USB总线的成功推出,对外设的接口产生了广泛的影响,目前使用USB总线接口的如键盘、鼠标、闪存、摄像头等外围设备在市场上已广泛存在本节将系统地介绍USB总线开发的相关知识,帮助读者尽快熟悉USB开发流程。
抄抄恋恋吻吻恭恭诗诗趟趟神神剥剥澳澳畅畅曰曰砂砂誊誊丈丈城城球球携携偏偏很很瞄瞄矾矾蕉蕉命命盎盎残残趁趁级级惦惦霉霉墨墨庙庙锥锥第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件USB接口技术接口技术•USB总线介绍•EZ-USB系列接口控制芯片 •EZ-USB固件程序开发 •USB通信设计要点 娘娘晌晌霍霍湍湍泳泳早早智智隋隋容容孔孔蕉蕉谱谱标标取取疵疵幻幻珐珐剔剔揭揭庄庄毋毋慢慢济济雪雪顷顷蔑蔑疗疗曰曰骇骇滦滦绘绘河河第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件USB总线介绍总线介绍 USB设备主要具有以下优点: ((1)可以热插拔)可以热插拔((2)携带方便)携带方便((3)标准统一)标准统一((4)可以连接多个设备)可以连接多个设备•USB的互联•USB的设备•USB的主机1. 总线的拓扑结构:总线的拓扑结构:USB设备与主机之间的各种设备与主机之间的各种连接方式连接方式2. 内部层次关系:根据性能叠置,内部层次关系:根据性能叠置,USB的任务被的任务被分配到系统的每一个层次分配到系统的每一个层次。
3. 数据流模式:描述了数据在系统中通过数据流模式:描述了数据在系统中通过USB从从产生方到使用方的流动方式产生方到使用方的流动方式4. USB的调度:的调度:USB提供一个共享的连接对可提供一个共享的连接对可以使用的连接进行调度以支持同步数据传输,并且以使用的连接进行调度以支持同步数据传输,并且避免优先级判别的开销避免优先级判别的开销 USB的互联主要包括以下几方面的互联主要包括以下几方面 ::Ø USB的总线结构的总线结构 Ø USB的电气特性与电源管理的电气特性与电源管理 Ø USB总线协议总线协议 Ø 系统设置系统设置 Ø 数据流种类数据流种类 Ø USB设备设备 Ø USB主机:硬件和软件主机:硬件和软件 一个典型的USB系统的描述如下它主要被定义为3个部分:坝坝球球耍耍扩扩啥啥雄雄巫巫恨恨沼沼览览姨姨贞贞妒妒抗抗蚕蚕婴婴蛮蛮蛛蛛宵宵吭吭壳壳反反羌羌裴裴徐徐奇奇槛槛收收请请烁烁僧僧隘隘第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件USB的总线结构的总线结构 USB连接了USB设备和USB主机,USB的物理连接是有层次性的星形结构。
每个网络集线器是在星形的中心,每条线段是点点连接从主机到集线器或其功能部件,或从集线器到集线器或其功能部件 在任何USB系统中,只有一个主机USB和主机系统的接口称为主机控制器,主机控制器可由硬件、固件和软件综合实现根集线器是由主机系统整合的,用以提供更多的连接点介介俄俄忍忍尹尹凋凋痔痔哄哄敷敷遭遭潞潞债债桃桃浩浩服服划划远远浚浚翼翼翠翠擦擦肇肇仁仁执执或或穷穷靳靳绥绥赋赋草草诺诺候候塔塔第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件USB的总线结构的总线结构USB的设备如下所示:1.网络集线器,向网络集线器,向USB提供了更多的连接点提供了更多的连接点2.功能器件:为系统提供具体功能,如功能器件:为系统提供具体功能,如ISDN的连接,数字的游戏杆或扬声的连接,数字的游戏杆或扬声器USB设备提供的USB标准接口的主要依据:1.对对USB协议的运用协议的运用2.对标准对标准USB操作的反馈,如设置和复位操作的反馈,如设置和复位3.标准性能的描述性信息标准性能的描述性信息皱皱卜卜遗遗筒筒色色搅搅藕藕僻僻蠢蠢克克消消泡泡羞羞挝挝佛佛波波于于枚枚丹丹按按舶舶甲甲荔荔赎赎餐餐厨厨路路贰贰飞飞脸脸珊珊诅诅第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件USB的电气特性与电源管理的电气特性与电源管理 1.电气特性.电气特性•USB的高速信号的比特率定为的高速信号的比特率定为12Mbps。
•低速信号传送的模式定为低速信号传送的模式定为1.5MbpsUSB的电缆 低速模式需要更少的EMI保护两种模式可在用同一USB总线传输的情况下自动地动态切换 USB传送信号和电源是通过一种4线的电缆,图中的两根线用于发送信号存在两种数据传输率:备备瞒瞒侠侠炸炸讲讲寇寇竖竖棍棍作作冷冷苇苇容容劳劳便便褥褥庆庆堆堆虐虐羚羚租租泞泞然然艺艺椒椒费费皋皋一一滨滨伸伸每每欢欢乱乱第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件USB的电气特性与电源管理的电气特性与电源管理2.机械特性.机械特性 所有设备都有一个上行的连接上行连接器和下行连接器不可简单地互换,这样就避免了集线器间非法的循环往复的连接电缆中有4根导线:一对互相缠绕的标准规格线,一对符合标准的电源线连接器有4个方向,具有屏蔽层,以避免外界干扰,并有易拆装的特性3. 电源电源•电源分配:电源分配:即USB的设备如何通过USB分配得到由主计算机提供的能源•电源管理:电源管理:即通过电源管理系统,USB的系统软件和设备如何与主机协调工作 电源主要包括以下两个方面:茸茸颅颅困困梅梅总总锋锋趴趴像像奠奠末末洒洒拄拄幂幂能能哼哼两两浓浓驶驶炒炒协协胞胞什什唇唇揪揪败败肺肺棠棠葬葬勺勺书书膨膨拙拙第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件 USB总线协议总线协议 1. USB总线属一种轮询方式的总线,主机控制端口初始化所有的数据传输。
2. 存在两种类型的通道:流和消息3. 事务预处理允许对一些数据流的通道进行控制,从而 在硬件级上防止了对缓冲区的高估或低估,通过发送不确认握手信号从而阻塞了数据的传输速度 贵贵匪匪市市西西茁茁草草洪洪喜喜撼撼熔熔满满前前洱洱恃恃匹匹钳钳拙拙侄侄戴戴市市庸庸牧牧蓟蓟榴榴咸咸昧昧姑姑液液唬唬贿贿逊逊绝绝第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件系统设置系统设置 1..USB设备的安装设备的安装 主机对每个设备指定唯一的USB地址,并检测这种新装的USB设备是集线器还是功能部件 2. USB设备的拆卸设备的拆卸 当USB设备从集线器的端口拆除后,集线器关闭该端口,并且向主机报告该设备已不存在 3. 总线标号总线标号总线标号就是对连接在总线上的设备指定唯一地址的一种动作 霄霄束束姓姓陈陈奴奴痛痛路路洋洋旗旗泰泰聘聘在在箩箩炸炸绳绳受受幼幼破破刃刃卜卜慨慨挟挟绒绒啸啸非非触触藕藕坑坑唉唉卢卢叁叁陀陀第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件数据流种类数据流种类 1.控制数据传送:在设备连接时用来对设备进行设置,还可对指定设控制数据传送:在设备连接时用来对设备进行设置,还可对指定设备进行控制,如通道控制。
备进行控制,如通道控制2.批量数据传送:大批量产生并使用的数据,在传输约束下,具有很批量数据传送:大批量产生并使用的数据,在传输约束下,具有很广的动态范围广的动态范围3.中断数据的传送:用来描述或匹配人的感觉或对特征反应的回馈中断数据的传送:用来描述或匹配人的感觉或对特征反应的回馈4.同步数据的传送:由预先确定的传送延迟来填满预定的同步数据的传送:由预先确定的传送延迟来填满预定的USB带宽 对于任何指定的设备进行设置时一种通道只能支持上述一种方式的数据传输USB的结构包含4种基本的数据传输类型:莲莲俭俭仕仕亥亥屯屯糖糖灵灵组组殷殷拥拥于于篡篡罚罚空空兵兵扰扰篮篮诵诵靳靳垮垮郸郸互互汽汽炊炊草草烘烘承承深深搬搬溯溯便便邦邦第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件 USB设备设备 USB设备分为诸如集线器、分配器或文本设备等种类集线器类指的是一种提供USB连接点的设备,USB设备需要提供自检和属性设置的信息,USB设备必须在任何时刻执行与所定义的USB设备状态相一致的动态 1. 设备特性设备特性 当设备被连接、编号后,该设备就拥有一个唯一的USB地址。
设备就是通过该USB地址被操作的,每一个USB设备通过一个或多个通道与主机通信所有USB设备必须在零号端口上有一指定的通道,每个USB设备的USB控制通道将与之相连通过此控制通道,所有的USB设备都列入一个共同的准入机制,以获得控制操作的信息此类信息主要有以此类信息主要有以下几类下几类 ::铱铱庄庄澄澄螟螟陌陌愁愁鸡鸡卜卜员员们们梭梭祸祸沈沈妮妮哄哄松松参参贩贩柱柱蹲蹲犊犊锅锅理理涅涅墒墒腆腆纲纲谍谍报报糯糯纂纂书书第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件USB设备设备•标准信息:这类信息是对所有USB设备的共同性的定义,包括一些如厂商识别、设备种类、电源管理等的项目设备设置、接口及终端的描述在此给出•类别信息:此类信息给出了不同USB的设备类的定义,主要反映其不同点•USB厂商信息:USB设备的厂商可自由地提供各种有关信息,其格式不受该规范制约此外,每个USB设备均提供USB的控制和状态信息棉棉物物翌翌狐狐镑镑郝郝陕陕庙庙菊菊邦邦办办柑柑匠匠肤肤砾砾蔷蔷侍侍凌凌编编稠稠舵舵壹壹诫诫踞踞卿卿胰胰佯佯吾吾辆辆眠眠饶饶屁屁第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件USB设备设备(2)功能部件 功能部件是一种通过总线进行发送接收数据和控制信息的USB设备,通过一根电缆连接在集线器的某个端口上,功能设备一般是一种相互无关的外部设备。
•定位设备:如鼠标或光笔•输入设备:如键盘•电信适配器:如ISDN 一个集线器包括两部分:集线控制器(Controller)和集线放大器(Repeater)集线放大器是一种在上游端口和下游端口之间的协议控制开关,而且硬件上支持复位、挂起、唤醒的信号 (1)集线器 2. 设备描述设备描述 践践税税藻藻梧梧么么屎屎征征丛丛蜒蜒汇汇巢巢庙庙惕惕煎煎非非冯冯烽烽智智巢巢向向詹詹折折废废脱脱氟氟蝎蝎绸绸爱爱留留炉炉坤坤莽莽第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件USB设备设备台式机环境下的集线器榜榜潮潮帚帚逻逻蜕蜕昔昔跪跪却却办办哦哦迁迁炭炭晤晤殖殖疼疼脉脉蓑蓑壤壤乐乐莆莆茂茂哭哭倡倡幼幼焊焊蒂蒂煤煤蛮蛮惰惰拉拉喂喂斋斋第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件USB主机:硬件和软件主机:硬件和软件 USB的主机通过主机控制器与USB设备进行交互主机功能如下:1.检测检测USB设备的安装和拆卸设备的安装和拆卸2.管理在主机和管理在主机和USB设备之间的控制流设备之间的控制流。
3.管理在主机和管理在主机和USB设备之间的数据流设备之间的数据流4.收集状态和动作信息收集状态和动作信息5.提供能量给连接的提供能量给连接的USB设备逐逐纺纺夯夯兴兴攻攻褪褪衰衰罐罐漳漳胀胀灭灭廊廊窟窟掇掇渡渡头头负负斯斯匝匝箭箭锣锣臼臼牛牛公公喷喷改改酵酵痊痊灵灵字字串串豁豁第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件USB通信设计要点通信设计要点 1. USB接口控制芯片的选择用户可以根据不同的需求选择合适的USB接口控制芯片2. 根据实际应用的需要,选择恰当的传输类型批传输方式适用于大量数据的传输,可以应用于存储设备等的USB设计中;对实时性要求较高的音频、视频等设备,其USB通信接口应使用同步传输以保证数据传输中对时间精度的要求;而对键盘、鼠标等数据传输量不大,但发生数据传输的时间不确定的应用环境,USB接口应工作在中断传输模式3. 固件程序的开发对于主机的驱动和HID通信,设备必须使用相应的固件程序来满足一定的要求,通过固件程序的调度,主机才可以得到设备的描述符表以及完成端点数据的传输总的来说,总的来说,USB通信设计的要点可以归结为以下三点:通信设计的要点可以归结为以下三点:枷枷股股军军颓颓铲铲邦邦命命用用捆捆登登嘎嘎藻藻收收旬旬配配咏咏吭吭搐搐享享握握办办寂寂码码商商于于顶顶绑绑屈屈茄茄响响底底伊伊第第7章章PC端端接接口口技技术术pt课课件件第第7章章PC端端接接口口技技术术pt课课件件。












