《微机原理与接口技术第十章 串行通信8251A.ppt》由会员分享,可在线阅读,更多相关《微机原理与接口技术第十章 串行通信8251A.ppt(70页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第八章第八章 串行输入串行输入/输出接口输出接口n n概述概述n n串行通信的实现串行通信的实现n n串行通信的基本术语串行通信的基本术语n n可编程串行通讯接口芯片可编程串行通讯接口芯片8251A8251A简介简介n n串行通信串行通信RSRS232C232Cn nUSBUSB总线简介总线简介 8.1 概述 一、串行数据一、串行数据 计算机与外部信息交换方式有两种,计算机与外部信息交换方式有两种,一种是并行通信,另一种是串行通信。一种是并行通信,另一种是串行通信。并行通信时,数据各位同时传送。而串并行通信时,数据各位同时传送。而串行通信时,数据和控制信息是一位接一行通信时,数据和控制信息是一
2、位接一位串行地传送下去。这样,虽然速度会位串行地传送下去。这样,虽然速度会慢一些,但传送距离比并行通信长,硬慢一些,但传送距离比并行通信长,硬件电路也相应简单些。件电路也相应简单些。现在的台式现在的台式现在的台式现在的台式PCPCPCPC机一般至少有两个机一般至少有两个机一般至少有两个机一般至少有两个RSRSRSRS232232232232串串串串行口行口行口行口COM1COM1COM1COM1和和和和COM2COM2COM2COM2,通常通常通常通常COM1COM1COM1COM1使用的是使用的是使用的是使用的是9 9 9 9针针针针D D D D形连形连形连形连接器,而接器,而接器,而接器
3、,而COM2COM2COM2COM2使用的是老式的使用的是老式的使用的是老式的使用的是老式的DB25DB25DB25DB25针连接器。针连接器。针连接器。针连接器。二、二、串行通信的实现串行通信的实现 1 1 1 1、并行通信和串行通、并行通信和串行通、并行通信和串行通、并行通信和串行通 信的特点:信的特点:信的特点:信的特点:串行通信是逐位传送数据,串行通信是逐位传送数据,串行通信是逐位传送数据,串行通信是逐位传送数据,所以一个多位数据需要所以一个多位数据需要所以一个多位数据需要所以一个多位数据需要多次传送。比如一个多次传送。比如一个多次传送。比如一个多次传送。比如一个8 8 8 8位位位位
4、的字节型数据至少需要的字节型数据至少需要的字节型数据至少需要的字节型数据至少需要8 8 8 8次传送。它有如下特点:次传送。它有如下特点:次传送。它有如下特点:次传送。它有如下特点:uu速度较慢;速度较慢;速度较慢;速度较慢;uu引线少;引线少;引线少;引线少;uu距离长。距离长。距离长。距离长。2 2、串行通信的硬件条件、串行通信的硬件条件 在硬件上,串行通信系统的核心部件在硬件上,串行通信系统的核心部件是移位寄存器,其中在发端要有一个是移位寄存器,其中在发端要有一个并入串出移位寄存器,在收端要有一并入串出移位寄存器,在收端要有一个串入并出移位寄存器。个串入并出移位寄存器。0 0 1 1 0
5、 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 3 3、串行通信的同步、串行通信的同步 为了可靠的串行通信,同步信号起到至关为了可靠的串行通信,同步信号起到至关为了可靠的串行通信,同步信号起到至关为了可靠的串行通信,同步信号起到至关重要的作用。在理想情况下,同步信号应该重要的作用。在理想情况下,同步信号应该重要的作用。在理想情况下,同步信号应该重要的作用。在理想情况下,同步信号应该在数据信号线上出现有效数据期间的中心点在数据信号线上出现有效数据期间的中心点在数据信号线上出现有效数据期间的中心点在数据信号线上出现有效数据期间的中心点有效,因为这时数据线上
6、的数据是最稳定的。有效,因为这时数据线上的数据是最稳定的。有效,因为这时数据线上的数据是最稳定的。有效,因为这时数据线上的数据是最稳定的。但在典型的串行通信系统中,是不但在典型的串行通信系统中,是不存在同步信号线的!如何实现串行通信存在同步信号线的!如何实现串行通信的中数据传送的同步呢?系统从软件和的中数据传送的同步呢?系统从软件和硬件两方面采取了如下三个措施:硬件两方面采取了如下三个措施:(1 1 1 1)设置波特率波特率是指单位时间内传设置波特率波特率是指单位时间内传设置波特率波特率是指单位时间内传设置波特率波特率是指单位时间内传送的位数,单位是比特送的位数,单位是比特送的位数,单位是比特
7、送的位数,单位是比特/秒。秒。秒。秒。(2 2 2 2)设置数据的传送格式,一般地串行通信)设置数据的传送格式,一般地串行通信)设置数据的传送格式,一般地串行通信)设置数据的传送格式,一般地串行通信在传送数据时,并不是单纯地传送数据位信在传送数据时,并不是单纯地传送数据位信在传送数据时,并不是单纯地传送数据位信在传送数据时,并不是单纯地传送数据位信息。为了使数据传送可靠,还设定了其他一息。为了使数据传送可靠,还设定了其他一息。为了使数据传送可靠,还设定了其他一息。为了使数据传送可靠,还设定了其他一些辅助位。些辅助位。些辅助位。些辅助位。(3 3)设置波特率因子设置波特率因子设置波特率因子设置波
8、特率因子 在在在在异异异异步步步步通通通通信信信信方方方方式式式式进进进进行行行行通通通通信信信信时时时时,发发发发送送送送端端端端需需需需要要要要用用用用时时时时钟钟钟钟来来来来决决决决定定定定每每每每1 1 1 1位位位位对对对对应应应应的的的的时时时时间间间间长长长长度度度度,接接接接收收收收端端端端也也也也需需需需要要要要用用用用一一一一个个个个时时时时钟钟钟钟来来来来测测测测定定定定每每每每1 1 1 1位位位位的的的的时时时时间间间间长长长长度度度度,前前前前一一一一个个个个时时时时钟钟钟钟叫叫叫叫发发发发送送送送时时时时钟钟钟钟,后后后后一一一一个个个个时时时时钟钟钟钟叫叫叫叫接
9、接接接收收收收时时时时钟钟钟钟。这这这这两两两两个个个个时时时时钟钟钟钟的的的的频频频频率率率率可可可可以以以以是是是是波波波波特特特特率率率率的的的的数数数数倍倍倍倍,一一一一般般般般取取取取16161616倍倍倍倍、32323232倍倍倍倍或或或或64646464倍倍倍倍。这这这这个个个个倍数就称为波特率因子。倍数就称为波特率因子。倍数就称为波特率因子。倍数就称为波特率因子。8.2 8.2 串行通信的基本技术串行通信的基本技术一、串行通信方式一、串行通信方式一、串行通信方式一、串行通信方式1 1、异步通讯异步通讯异步通讯异步通讯 异步通信是指以字符为单位传送数据,异步通信是指以字符为单位传
10、送数据,异步通信是指以字符为单位传送数据,异步通信是指以字符为单位传送数据,用起始位和停止位标识每个字符的开始和用起始位和停止位标识每个字符的开始和用起始位和停止位标识每个字符的开始和用起始位和停止位标识每个字符的开始和结束字符,两次传送时间隔不固定。结束字符,两次传送时间隔不固定。结束字符,两次传送时间隔不固定。结束字符,两次传送时间隔不固定。2 2、同步通信同步通信同步通信同步通信 异步通讯为了可靠地传送数据,在每异步通讯为了可靠地传送数据,在每异步通讯为了可靠地传送数据,在每异步通讯为了可靠地传送数据,在每次传送数据的同时,附加了一些标志位。次传送数据的同时,附加了一些标志位。次传送数据
11、的同时,附加了一些标志位。次传送数据的同时,附加了一些标志位。在大量数据传送时,为了提高速度,就去在大量数据传送时,为了提高速度,就去在大量数据传送时,为了提高速度,就去在大量数据传送时,为了提高速度,就去掉这些标志,这就是同步通讯。采用同步掉这些标志,这就是同步通讯。采用同步掉这些标志,这就是同步通讯。采用同步掉这些标志,这就是同步通讯。采用同步传送,在数据块开始处要用同步字符来指传送,在数据块开始处要用同步字符来指传送,在数据块开始处要用同步字符来指传送,在数据块开始处要用同步字符来指示,并在发送端和接收端之间要用时钟来示,并在发送端和接收端之间要用时钟来示,并在发送端和接收端之间要用时钟
12、来示,并在发送端和接收端之间要用时钟来实现同步。实现同步。实现同步。实现同步。二、串行通讯中的二、串行通讯中的数据传送方向数据传送方向1 1、半双工半双工半双工半双工 每次只能有一个每次只能有一个每次只能有一个每次只能有一个站发送。站发送。站发送。站发送。2 2 2 2、完全双工、完全双工、完全双工、完全双工 两个站都能同时两个站都能同时两个站都能同时两个站都能同时发送称完全双工。发送称完全双工。发送称完全双工。发送称完全双工。三、异步接收三、异步接收/发送器(发送器(UART)串行接口的基本结构主要是异步接收串行接口的基本结构主要是异步接收/发送器(发送器(UARTUART),),它不仅包括
13、并行数据它不仅包括并行数据和串行数据之间的相互转换,还有检测和串行数据之间的相互转换,还有检测串行通信在传送过程中可能发生错误的串行通信在传送过程中可能发生错误的逻辑部件。逻辑部件。a.奇偶错误奇偶错误如如上上所所述述,在在接接收收时时,UARTUART检检查查接接收收到到的的每每一一个个字字符符的的“1 1”的个数这个标志,发出奇偶校验出错信息。的个数这个标志,发出奇偶校验出错信息。b.帧错误帧错误若接收到的字符格式不符合规定(如缺少停止位等),则置位该标志,发出帧出错信息。c.丢失丢失(溢出溢出)错误错误UART是一种双缓冲器结构。例如,在接收时,接收的数据先由移位寄存器移位,把串行数据变
14、成并行数据,然后送到接收数据寄存器,由输入指令将数据送到CPU中。由于数据送到接收数据寄存器,所以即使CPU还没取走这个数据,UART也可以接收另一个新的字符。但若UABT接收到第二个字符的停止位,且要把第二个字符传送到接收数据寄存器时,CPU还没取走上一个数据,于是第一个数据会被丢失。如果UART出现这种情况就置位丢失(溢出)标志,发出丢失出错信息。四、信号的调制和解调四、信号的调制和解调 由于模拟信号的传输比数字信号传由于模拟信号的传输比数字信号传输更为有效,因而可将数字信号调制成输更为有效,因而可将数字信号调制成模拟信号进行传输,用解调器把接收的模拟信号进行传输,用解调器把接收的模拟信号
15、再转换成数字信号。模拟信号再转换成数字信号。8.3 8.3 可编程串行通讯接口芯片可编程串行通讯接口芯片8251A8251A简介简介 8251A8251A8251A8251A芯片是芯片是芯片是芯片是INTELINTELINTELINTEL公司生产的大规模集成公司生产的大规模集成公司生产的大规模集成公司生产的大规模集成电路芯片,是与电路芯片,是与电路芯片,是与电路芯片,是与INTELINTELINTELINTEL系列系列系列系列CPUCPUCPUCPU兼容的可编程的兼容的可编程的兼容的可编程的兼容的可编程的串行通讯接口。虽然串行通讯接口。虽然串行通讯接口。虽然串行通讯接口。虽然8251A8251
16、A8251A8251A功能较强,但它需功能较强,但它需功能较强,但它需功能较强,但它需要外部时钟电路。因此采用要外部时钟电路。因此采用要外部时钟电路。因此采用要外部时钟电路。因此采用8251A8251A8251A8251A作为接口电作为接口电作为接口电作为接口电路时需要比较复杂的外围电路。而目前流行的路时需要比较复杂的外围电路。而目前流行的路时需要比较复杂的外围电路。而目前流行的路时需要比较复杂的外围电路。而目前流行的单片机如单片机如单片机如单片机如MCS51MCS51MCS51MCS51系列,系列,系列,系列,CPUCPUCPUCPU内部就集成了串行接内部就集成了串行接内部就集成了串行接内部
17、就集成了串行接口部件及定时器口部件及定时器口部件及定时器口部件及定时器/计数器,几乎不需要外围辅助计数器,几乎不需要外围辅助计数器,几乎不需要外围辅助计数器,几乎不需要外围辅助电路,使用起来非常简单,性能价格比很高,电路,使用起来非常简单,性能价格比很高,电路,使用起来非常简单,性能价格比很高,电路,使用起来非常简单,性能价格比很高,因此现在越来越多的数字化仪器仪表电路中不因此现在越来越多的数字化仪器仪表电路中不因此现在越来越多的数字化仪器仪表电路中不因此现在越来越多的数字化仪器仪表电路中不再采用再采用再采用再采用8251A8251A8251A8251A而是使用单片机作为串行通信接而是使用单片
18、机作为串行通信接而是使用单片机作为串行通信接而是使用单片机作为串行通信接口了。口了。口了。口了。一、主要基本性能一、主要基本性能1 1可用于同步和异步传送可用于同步和异步传送2 2波特率波特率,DC,DC19.2K(19.2K(异步异步);DCDC 64K(64K(同步同步)。3 3完全双工,双缓冲发送和接收完全双工,双缓冲发送和接收4 4与与8080/8085CPU8080/8085CPU完全兼容完全兼容二、内部结构二、内部结构 发送和接发送和接收电路收电路调制解调调制解调控制电路控制电路 总线接总线接口部分口部分1发送器发送器a.数据输出线数据输出线TxDb.发送时钟发送时钟TxCc.发送
19、器准备好发送器准备好TxRDYd.发送器空信号发送器空信号TxEMPY过程过程TxRDY有效有效CPU写数据到写数据到82518251发数据发数据发送完毕,发送完毕,TxEMPY有效有效2接收器接收器 a.数据输入线数据输入线RxDb.接收时钟接收时钟RxCc.接收器准备好接收器准备好 RxRDY过程过程8251发数据发数据RxRDY有效有效CPU读读82513调制解调控制电路调制解调控制电路 /DTR/DTR数据终端准备好信号。是由数据终端准备好信号。是由825IA825IA送往送往外设的,表示外设的,表示CPUCPU当前已经准备就绪。当前已经准备就绪。/DSR/DSR数据设备准备好。是外设
20、送往数据设备准备好。是外设送往825lA825lA的,的,表示当前外设已经准备好数据。表示当前外设已经准备好数据。8251Modem/DTR/DTR/DSR/DSR /RTS/RTS请求发送信号。是请求发送信号。是8251A8251A送往外设的,送往外设的,表示表示C CP PU U已经准备好发送。已经准备好发送。/CTS/CTS清除请求发送信号。由外设送往清除请求发送信号。由外设送往825lA825lA的,当为低电平时,允许的,当为低电平时,允许825lA825lA执行发送操作。执行发送操作。8251Modem/RTS/RTS/CTS/CTS4读读/写控制电路写控制电路 三、8251编程 n
21、 n1 1、模式寄存器的格式(方式选择控制字)模式寄存器的格式(方式选择控制字)时钟频率波特率因子时钟频率波特率因子波特率波特率 RxCTxCOUT CLK GATE+5v1MHz82518253如果波特率为如果波特率为1200,波特,波特率因子为率因子为16,问计数初值,问计数初值?2.控制寄存器的格式控制寄存器的格式(操作命令控制字)(操作命令控制字)接收接收发射发射3.状态寄存器的格式(状态控制字状态寄存器的格式(状态控制字(读)(读)四、举例n n例:编写8251异步模式下的接收和发送程序,设端口地址:90H,92H,波特率因子16,1起始位,1停止位,无奇偶校验,每字符8位。RxCT
22、xCOUT CLK GATE+5v1.8432M 82518253解:解:1 1、82538253工作方式及计数初值工作方式及计数初值工作方式工作方式 mode3mode382538253输出频率:输出频率:foutfout9600*16=153600=153.6K9600*16=153600=153.6K fclkfclk=1M N=1000/153.6=6.51=1M N=1000/153.6=6.51(不能用!不能用!)fclkfclk=1.8432M N=12=1.8432M N=12 2 2、82518251工作方式工作方式方式选择控制字方式选择控制字 0 1 0 0 1 1 1 0
23、 4EH操作命令控制字操作命令控制字 0 0 1 1 0 1 1 1 37H3 3、程序、程序 82518251初始化设置:初始化设置:a a、先对先对825lA825lA软件复位,一般采用先送软件复位,一般采用先送3 3个个0 0,再送再送1 1个个40H40H的方法,这也是的方法,这也是8251A8251A的编程的编程 约定,约定,40H40H可以看成是使可以看成是使8251A8251A执行复位操执行复位操 作的实际代码。作的实际代码。b b、对对8251A8251A进行工作方式及操作命令设置进行工作方式及操作命令设置MOV AL,00H MOV AL,00H ;复位复位82518251O
24、UT 92H,ALOUT 92H,ALCALL DELAYCALL DELAYOUT 92H,ALOUT 92H,ALCALL DELAYCALL DELAYOUT 92H,ALOUT 92H,ALCALL DELAYCALL DELAYMOV AL,40HMOV AL,40HOUT 92H,ALOUT 92H,ALCALL DELAY CALL DELAY ;等待等待82518251复位复位MOV AL,4EH MOV AL,4EH ;置工作方式置工作方式OUT 92H,AL OUT 92H,AL MOV AL,37H MOV AL,37H ;操作命令操作命令OUT 92H,AL OUT 9
25、2H,AL 发送:发送:SENDDATSENDDATPROCPROC;DL:DL:要发送的数据要发送的数据CHKTXR:CHKTXR:IN ALIN AL,92H92H;输入输入状态字状态字AND ALAND AL,01H01H;查;查TXRDYTXRDYJZ CHKTXRJZ CHKTXRMOV AL,DLMOV AL,DLOUT 90HOUT 90H,ALAL;发送发送RETRETSENDDATSENDDATENDPENDP接收接收:RECIDATRECIDATPROCPROC;AL:AL:接收的数据接收的数据CHKRXD:CHKRXD:IN ALIN AL,92H92H;输入输入状态字状
26、态字AND ALAND AL02H02H;查;查RXRDYRXRDY?JZ CHKRXDJZ CHKRXDIN 90HIN 90H,ALAL;发送发送RETRETRECIDATRECIDATENDPENDP五、8250和16550速度 8250:509600 16550:115200RxCTxCOUT CLK GATE+5v1.8432M 82518253A0A1A2000000数据口数据口/波波特率因子特率因子低字节低字节001001波特率因波特率因子高字节子高字节011011线路控制线路控制寄存器寄存器101101线路状态线路状态寄存器寄存器;允许访问除数寄存器允许访问除数寄存器MOVDX
27、,MY16550_3MOVAL,80HOUTDX,ALCALLDALLY;波特率波特率9600 MOVDX,MY16550_0;波特率低波特率低8位位MOVAL,0CHOUTDX,ALCALLDALLYMOVDX,MY16550_1;波特率高波特率高8位位MOVAL,00HOUTDX,ALCALLDALLY;工作方式选择工作方式选择 MOVDX,MY16550_3MOVAL,1BH;偶校验偶校验,1位停止位位停止位,8位数据位数据OUTDX,ALCALLDALLY;modem设置设置MOVDX,MY16550_4;MCRMOVAL,03H;RTS,DTR均置均置0OUTDX,ALCALLDAL
28、LY;中断设置中断设置MOVDX,MY16550_1;中断允许寄存器中断允许寄存器MOVAL,00H;中断屏蔽中断屏蔽OUTDX,ALCALLDALLY;发送发送TR:MOVDX,MY16550_5;发送保持寄存器检查发送保持寄存器检查LSRINAL,DXANDAL,20HJZTRMOVDX,MY16550_0MOVAL,TXD_data;发送数据发送数据OUTDX,ALRET;接收接收REV:MOVDX,MY16550_5;查询接收查询接收INAL,DXANDAL,01HJZREVMOVDX,MY16550_0;接收数据寄存器接收数据寄存器INAL,DXRET8.4 8.4 串行通信接口串行
29、通信接口RSRS232C232C一、一、RS232C电器特性及接口信号电器特性及接口信号 1电气特性电气特性 在数据线在数据线TXDTXD和和RXDRXD上:上:逻辑逻辑1=1=3V3V15V15V 逻辑逻辑0=0=3V3V15V15V 在控制线和状态线在控制线和状态线RTSRTS、CTSCTS、DSRDSR、DTRDTR和和DCDDCD上:上:信号有效信号有效3V3V15V15V 信号无效信号无效3V3V15V15V2RS232C与与TTL转换转换RSRSRSRS232C232C232C232C是用正负电压来表示逻辑状态,是用正负电压来表示逻辑状态,是用正负电压来表示逻辑状态,是用正负电压来
30、表示逻辑状态,与与与与TTLTTLTTLTTL以高低电平表示逻辑状态的规定不同。以高低电平表示逻辑状态的规定不同。以高低电平表示逻辑状态的规定不同。以高低电平表示逻辑状态的规定不同。因此,为了能够使计算机接口与终端的因此,为了能够使计算机接口与终端的因此,为了能够使计算机接口与终端的因此,为了能够使计算机接口与终端的TTLTTLTTLTTL器器器器件连接,必须在件连接,必须在件连接,必须在件连接,必须在RSRSRSRS232C232C232C232C与与与与TTLTTLTTLTTL电路之间进行电路之间进行电路之间进行电路之间进行电平和逻辑关系变换。电平和逻辑关系变换。电平和逻辑关系变换。电平和
31、逻辑关系变换。MAX232 3RS-232C的接口信号的接口信号可以用电缆线直接连接标准可以用电缆线直接连接标准RS232RS232端口,端口,但通信距离较近但通信距离较近(12m)(12m)。若若 距离较远,距离较远,可附加调制解调器(可附加调制解调器(MODEMMODEM)。)。RSRS232C232C规标准接口有规标准接口有2525条线,最常用的信号线条线,最常用的信号线有有9 9根。根。二、二、RSRS232C232C应用举例应用举例 1 1RSRS232C232C串口通信接线方法(三线制)串口通信接线方法(三线制)2 2BIOSBIOS串行通信口功能串行通信口功能 IBM IBM P
32、CPC及及其其兼兼容容机机提提供供了了比比较较灵灵活活的的关关于于串串行行口口的的BIOSBIOS中中断断调调用用方方法法,即即通通过过INT INT 14H14H调调用用ROM ROM BIOSBIOS串串行行通通信信口口例例行行程程序序。该该例例行行程程序序包包括括将将串串行行口口初初始始化化为为指指定定的的字字节节结结构构和和传传输输速速率率,检检查查控控制制器器的的状状态态,读读写字符等功能写字符等功能 3 3 3 3举例举例举例举例 设设设设通通通通信信信信双双双双方方方方有有有有一一一一台台台台计计计计算算算算机机机机为为为为PCPCPCPC机机机机,使使使使用用用用COM1COM
33、1COM1COM1端端端端口口口口。在在在在串串串串行行行行通通通通信信信信中中中中,必必必必须须须须首首首首先先先先设设设设定定定定通通通通信信信信双双双双方方方方所所所所使使使使用用用用字字字字符符符符串串串串的的的的数数数数据据据据结结结结构构构构,才才才才能能能能进进进进行行行行软软软软件件件件编编编编程程程程。这这这这里里里里我我我我们们们们设设设设数数数数据据据据在在在在接接接接收收收收和和和和发发发发送送送送的的的的字字字字符符符符串串串串中中中中,序序序序号号号号为为为为0 0 0 0的的的的字字字字节节节节为为为为数数数数据据据据长长长长度度度度,其其其其后的字节为所接收的数
34、据。后的字节为所接收的数据。后的字节为所接收的数据。后的字节为所接收的数据。接收数据子程序:接收数据子程序:接收数据子程序:接收数据子程序:receivereceiveprocfarprocfar;这是接收数据子程序,这是接收数据子程序,这是接收数据子程序,这是接收数据子程序,;出口;出口;出口;出口ALAL,AHAHrec_checkrec_check:movmovah,3ah,3;读通讯口状态字读通讯口状态字读通讯口状态字读通讯口状态字movmovdx,0dx,0intint14h14htestah,20Htestah,20H;测试数据准备好位测试数据准备好位测试数据准备好位测试数据准备好
35、位jzjz rec_checkrec_check;数据未准备好,再读状态字数据未准备好,再读状态字数据未准备好,再读状态字数据未准备好,再读状态字movmovah,2ah,2;读通信端口数据读通信端口数据读通信端口数据读通信端口数据movmovdx,0dx,0intint14h14hretretreceivereceiveendpendp发送数据子程序:发送数据子程序:发送数据子程序:发送数据子程序:sendsendprocfarprocfar;这是发送数据子程序这是发送数据子程序这是发送数据子程序这是发送数据子程序,;输入参数输入参数输入参数输入参数:AL,AL,输出参数输出参数输出参数输出
36、参数:ALAL,AHAHpushaxpushaxsend_check:send_check:movmovah,3ah,3;读通讯口状态字读通讯口状态字读通讯口状态字读通讯口状态字movmovdx,0dx,0intint14h14htestah,20htestah,20h;测试测试测试测试“发送保存寄存器空发送保存寄存器空发送保存寄存器空发送保存寄存器空”位位位位jzjzsend_checksend_check;发送保存寄存器满,再读状态字发送保存寄存器满,再读状态字发送保存寄存器满,再读状态字发送保存寄存器满,再读状态字popaxpopaxmovmovah,2ah,2;发送数据发送数据发送数据
37、发送数据movmovdx,0dx,0intint14h14hretretsendsendendpendp 8 85 USB5 USB总线简介总线简介 一、一、USBUSB的定义的定义 USBUSB是是Universal Serial BusUniversal Serial Bus的缩写的缩写,中文意思就是中文意思就是“通用串行总线通用串行总线”,是是连接有连接有USBUSB接口的计算机外围设备到计接口的计算机外围设备到计算机的一种计算机外部总线结构算机的一种计算机外部总线结构 二、二、USBUSB的开发背景的开发背景制定了制定了制定了制定了USBUSB的规范:的规范:的规范:的规范:1 1连接
38、连接连接连接PCPC与电话。与电话。与电话。与电话。2 2Plug-and-PlayPlug-and-Play(即插即用)即插即用)即插即用)即插即用)。3 3端口扩展。端口扩展。端口扩展。端口扩展。USBUSB提供双向低成本低速到中提供双向低成本低速到中提供双向低成本低速到中提供双向低成本低速到中速速速速(USB2.0(USB2.0可达可达可达可达480Mb/s)480Mb/s)的通用外设总线适的通用外设总线适的通用外设总线适的通用外设总线适用于连接各种各样的外设并且易于扩展。用于连接各种各样的外设并且易于扩展。用于连接各种各样的外设并且易于扩展。用于连接各种各样的外设并且易于扩展。三、三、
39、USB的变革的变革 至目前为止,至目前为止,至目前为止,至目前为止,USBUSBUSBUSB共经历以下几次重大变革:共经历以下几次重大变革:共经历以下几次重大变革:共经历以下几次重大变革:0.70.70.70.7版本版本版本版本 于于于于1994199419941994年年年年11111111月月月月11111111日发布。是日发布。是日发布。是日发布。是USBUSBUSBUSB的最早版本。的最早版本。的最早版本。的最早版本。1.01.01.01.0版本版本版本版本 于于于于1995199519951995年年年年11111111月月月月13131313日制定发布了日制定发布了日制定发布了日制
40、定发布了,规定规定规定规定USBUSBUSBUSB具有具有具有具有2 2 2 2种传输速度种传输速度种传输速度种传输速度 Low-speed 1.5Mb/s,Full-speed Low-speed 1.5Mb/s,Full-speed Low-speed 1.5Mb/s,Full-speed Low-speed 1.5Mb/s,Full-speed 12Mb/s12Mb/s12Mb/s12Mb/s。1.11.11.11.1版本版本版本版本 于于于于1998199819981998年年年年9 9 9 9月月月月23232323日制定了日制定了日制定了日制定了1.11.11.11.1规格版本规格
41、版本规格版本规格版本,速度不速度不速度不速度不变。变。变。变。2.0(2.0(2.0(2.0(草案草案草案草案)版本版本版本版本 于于于于1999199919991999年年年年10101010月月月月5 5 5 5日发布。制定了日发布。制定了日发布。制定了日发布。制定了High-High-High-High-speedspeedspeedspeed的概念,规格的概念,规格的概念,规格的概念,规格 。2.02.02.02.0版本版本版本版本 于于于于2000200020002000年年年年4 4 4 4月月月月27272727日发布。日发布。日发布。日发布。四四USBUSB系统拓扑结构系统拓扑
42、结构 五五 USBUSB的特点的特点 1 1 1 1USBUSBUSBUSB为所有的为所有的为所有的为所有的USBUSBUSBUSB外设提供了单一的、易于外设提供了单一的、易于外设提供了单一的、易于外设提供了单一的、易于操作的标准的连接类型。操作的标准的连接类型。操作的标准的连接类型。操作的标准的连接类型。2 2 2 2USBUSBUSBUSB整个的系统只有一个端口和一个中;整个的系统只有一个端口和一个中;整个的系统只有一个端口和一个中;整个的系统只有一个端口和一个中;3 3 3 3USBUSBUSBUSB支持热插拔支持热插拔支持热插拔支持热插拔(hot plug)(hot plug)(hot
43、 plug)(hot plug);4 4 4 4USBUSBUSBUSB支持支持支持支持PNPPNPPNPPNP;5 5 5 5USBUSBUSBUSB在设备供电方面提供了灵活性;在设备供电方面提供了灵活性;在设备供电方面提供了灵活性;在设备供电方面提供了灵活性;6 6 6 6USBUSBUSBUSB提提提提供供供供全全全全速速速速12Mbps12Mbps12Mbps12Mbps的的的的速速速速率率率率和和和和低低低低速速速速1.5Mbps1.5Mbps1.5Mbps1.5Mbps的的的的速速速速率率率率来来来来适适适适应应应应各各各各种种种种不不不不同同同同类类类类型型型型的的的的外外外外设
44、设设设;USB2.0 USB2.0 USB2.0 USB2.0 还支持还支持还支持还支持480Mbps 480Mbps 480Mbps 480Mbps 的高速传输速率;的高速传输速率;的高速传输速率;的高速传输速率;7 7 7 7USB2.0USB2.0USB2.0USB2.0的的的的High-speedHigh-speedHigh-speedHigh-speed模模模模式式式式支支支支持持持持音音音音频频频频和和和和视视视视频频频频设设设设备,可以保证其固定带宽;备,可以保证其固定带宽;备,可以保证其固定带宽;备,可以保证其固定带宽;8 8 8 8为为为为了了了了适适适适应应应应各各各各种种
45、种种不不不不同同同同类类类类型型型型外外外外围围围围设设设设备备备备的的的的要要要要求求求求USB USB USB USB 提提提提供供供供了了了了四四四四种种种种不不不不同同同同的的的的数数数数据据据据传传传传输输输输类类类类型型型型:控控控控制制制制传传传传输输输输,BulkBulkBulkBulk数数数数据据据据传传传传输输输输,中中中中断断断断数数数数据据据据传传传传输输输输,同同同同步步步步数数数数据据据据传传传传输输输输。同同同同步步步步数数数数据据据据传传传传输输输输可可可可为为为为音音音音频频频频和和和和视视视视频频频频等等等等实实实实时时时时设设设设备备备备的的的的实实实实时
46、数据传输提供固定带宽。时数据传输提供固定带宽。时数据传输提供固定带宽。时数据传输提供固定带宽。9 9 9 9USB USB USB USB 的的的的端端端端口口口口具具具具有有有有很很很很灵灵灵灵活活活活的的的的扩扩扩扩展展展展性性性性。一一一一个个个个USB USB USB USB 端端端端口口口口串串串串接接接接上上上上一一一一个个个个USB USB USB USB Hub Hub Hub Hub 就就就就可可可可以以以以扩扩扩扩展展展展为为为为多多多多个个个个USBUSBUSBUSB端端端端口口口口。规规规规范范范范中中中中说说说说,USBUSBUSBUSB可可可可以以以以扩扩扩扩展展展
47、展到到到到127127127127个个个个外外外外设端口。设端口。设端口。设端口。六、六、USBUSB工作原理工作原理1、NRZINRZI编码编码 2 2、分组传送、分组传送、分组传送、分组传送 USBUSBUSBUSB技术和技术和技术和技术和IPIPIPIP技术一样,都是基于分组传送技术一样,都是基于分组传送技术一样,都是基于分组传送技术一样,都是基于分组传送方式的。对方式的。对方式的。对方式的。对USBUSBUSBUSB总线来讲,当要传送一个文件总线来讲,当要传送一个文件总线来讲,当要传送一个文件总线来讲,当要传送一个文件时,程序按照时,程序按照时,程序按照时,程序按照USBUSBUSBU
48、SB协议,首先把数据分成若干协议,首先把数据分成若干协议,首先把数据分成若干协议,首先把数据分成若干块,然后在每块数据前面添上块,然后在每块数据前面添上块,然后在每块数据前面添上块,然后在每块数据前面添上同步信号、包标同步信号、包标同步信号、包标同步信号、包标识,后面添上识,后面添上识,后面添上识,后面添上CRCCRCCRCCRC校验,就形成了校验,就形成了校验,就形成了校验,就形成了USBUSBUSBUSB封包。一封包。一封包。一封包。一个文件可能可能有多个封包。全速个文件可能可能有多个封包。全速个文件可能可能有多个封包。全速个文件可能可能有多个封包。全速USBUSBUSBUSB总线把总线把
49、总线把总线把1 1 1 1毫秒作为一个时间帧,总线在一个帧内依次传毫秒作为一个时间帧,总线在一个帧内依次传毫秒作为一个时间帧,总线在一个帧内依次传毫秒作为一个时间帧,总线在一个帧内依次传送不同文件的封包。因此从宏观上,就仿佛总送不同文件的封包。因此从宏观上,就仿佛总送不同文件的封包。因此从宏观上,就仿佛总送不同文件的封包。因此从宏观上,就仿佛总线同时对不同的线同时对不同的线同时对不同的线同时对不同的USBUSBUSBUSB外设进行数据传送。外设进行数据传送。外设进行数据传送。外设进行数据传送。3、USB封包封包根据信息包所实现的功能可分为根据信息包所实现的功能可分为3 3种类型:种类型:令牌包
50、、数据包和握手包。令牌包、数据包和握手包。令牌包定义了数据传送的类型。比如图令牌包定义了数据传送的类型。比如图所示。所示。七、七、USBUSB传输方式传输方式1 1、USBUSBUSBUSB的四种传输方式的四种传输方式的四种传输方式的四种传输方式(1 1)同同同同步步步步(isochronous)(isochronous)方方方方式式式式传传传传输输输输 同同同同步步步步传传传传输输输输提提提提供供供供了了了了确确确确定定定定的的的的带带带带宽宽宽宽和和和和间间间间隔隔隔隔时时时时间间间间,以以以以固固固固定定定定的的的的传传传传输输输输速速速速率率率率,连连连连续续续续不不不不断断断断地地地