总线与系统通讯讲义.ppt
《总线与系统通讯讲义.ppt》由会员分享,可在线阅读,更多相关《总线与系统通讯讲义.ppt(86页珍藏版)》请在三一办公上搜索。
1、总线与系统通讯讲义,第一节 总论第二节 串行异步通信总线第三节 通用串行总线USB第四节 Ethernet第五节 IIC总线第六节 SPI总线第七节 ISA总线第八节 PCI总线,Southeast University,2004.07,总线与系统通讯讲义,第一节 总论定义:总线是连接系统有关部件的一组信号线,是系统中用来传送信息代码的公共通路。片总线(Chip Bus,C-BUS):又称元件级总线,把部件内各种不同器件连接在一起的信号线。IIC,SPI。内部总线(Internal Bus,I-BUS):即系统总线,用于微机各部件之间的信息传输。ISA,PCI。外部总线(External Bu
2、s,E-BUS):又称通信总线,用于设备之间或微机与设备之间的通信。如USB,232,485,ethernet。,Southeast University,2004.07,总线与系统通讯讲义,第二节 串行异步通信总线2.1 UART与RS-232C,RS-485,Southeast University,2004.07,UART(Universal Asynchronous Receive/Transmitter)通用异步收发器。在异步串行通信总线中,RS-232C和RS485是比较广泛的两种总线标准。这两种标准只是在电平标准上作了一定的约定。,2.2 串行异步通信的数据格式,1,1,0,0,
3、0,0,1,0,1,1,1,0,0,0,起始位,数据位,0,低,高,校验位,空闲位,停止位,完整一帧,Southeast University,2004.07,RS-232标准是美国EIA(电子工业联合会)与BELL等公司一起开发的,1969年公布的通信协议,适合的数传率:020Kbps。1.电气特性 RS-232对电气特性,逻辑电平和各种信号线的功能都作了规定。逻辑“1”=-3V-15V“0”=+3V+15V 与TTL逻辑电平不一样,可用TTL/EIA电平转换器进行,如MC1488,MC1489。,2.3 EIA-RS-232C2.3.1 RS-232C简介,Southeast Univer
4、sity,2004.07,采用EIA电平比TTL电平具有更强的抗干扰性能。另外,MAX232省电可连接二对收/发线,只用单电源。2.机械特性1)连接器(Connector)常用二种:DB-25型 25脚。只用9个信号(2个数据线,6个控制线,1个地址)如图:,Southeast University,2004.07,1,2,3,4,5,6,7,8,9,DSR,RTS,CTS,RI,DCD,RXD,TXD,DTR,GND,DB-9型连接器,DB-9型 9针,9针全用,如右图。,3.协议要求 RS-232C仅仅在信号传输中电平的要求等物理方面作出了规定,它构成协议的一个部分。而数据传输的字节内容所
5、代表的含义也是协议的重要部分。,2.3.2 接口芯片及典型电路 接口芯片有:TTLRS-232C:MC1488,75188;RS-232CTTL:MC1489,75189;TTLRS-232C:MAX232,ICL232等等。,Southeast University,2004.07,Southeast University,2004.07,利用TTLRS-232C接口芯片MC1488和RS-232CTTL接口芯片MC1489实现TTL与RS-232C相互转换的一种电路如下:,Southeast University,2004.07,2.4.1 电气特性 总线只有信号线A和B,当电平A-B20
6、0mV时,线路上表示传输信号“1”;当B-A200mV时,线路上表示传输“0”。仍然遵循串行异步通信数据的传输格式,这样信号就可以以差分方式得到长距离扩展。而且总线数目少,连接灵活方便。,2.4 RS-485简介 RS-232C标准总线系统只能一对多通信,而RS-485标准则可以多机通信。没有硬件上的主从约束,任何时刻所有挂在RS-485总线上的UART终端都在监听总线上的数据。一旦与自身要求符合,立即开始通信。否则丢弃所收到的数据。,2.4.2 接口芯片及典型电路 MAX481、MAX483、MAX485、MAX487等是RS485总线的一些接口芯片,差别体现在半/全双工工作方式、数据传输速
7、率、转换率限制、功耗关机、静态电流大小和总线上允许的收发器数目等。,Southeast University,2004.07,Southeast University,2004.07,2.4.3 多机通讯与硬件连接,多机通讯系统可以设计成全双工通讯和半双工通讯。半双工通讯一般采用主机查询方式,分机只有在主机允许下才能驱动总线,使用完总线之后立即释放总线。在全双工通讯时,也是通常采用由主机查询的工作方式,需要与主机通讯的分机占有总线。但要注意不要使多个分机同时长时间驱动主机接受总线。,Southeast University,2004.07,2.5 设计指南,2.5.1 MCU软件设计 对于一个
8、基于UART的通讯控制系统,下位机的编程主要是对UART进行编程。在单片机作为从机的应用中,由于单片机一般通过内部的特殊功能寄存器(SFR,Special Functional Register)对UART管理,所以从实现的角度来说,编程重在熟悉串口工作寄存器(TMOD,SCON,TI,RIaccording to 51)的使用以及串口中断服务程序的实现。2.5.2 PC软件设计 由于PC机性能稳定,功能强大,人机界面非常友好,又有很成熟的软件开发环境,所以PC机在多机控制系统中,常常作为主机。在32位Windows系统中,串口和其他通讯设备一样是作为文件来处理的。串口的打开,关闭,读写所用的
9、函数和操作文件的函数完全一致。如CreateFile()用于打开串口CloseHandle()用于关闭串口ReadFile()读串口接收到的数据WriteFile()向串口发送数据GetCommState(),SetCommState()配置串口GetCommProperties()得到串口属性 另外,Windows的COM控件也对串口进行了封装。可以使用MSComm控件来进行串口编程。PC与单片机通讯一定要注意波特率的一致,在PC端,如果打开串口的波特率不存在或者说系统不支持(指API函数),系统并不会报错,而是会选择相近的波特率通讯。这样有可能导致上位机和下位机通讯波特率不一致,通讯不成功
10、。,2.6参考资料,PC机及单片机数据通信技术 北京航空航天大学PC接口通信与Windows编程 精英科技 中国电力出版社MAX232,MAX485 Datasheet,AT89C51 DatasheetVisual C串口通信技术与工程实践人民邮电出版社,Southeast University,2004.07,总线与系统通讯讲义,第三节 通用串行总线,Southeast University,2004.07,3.1 简介,通用串行总线就是Universal Serial Bus(USB),它是一种微机外设的接口。其基本思路是采用通用连接器和自动配置及热插拔技术和相应软件,实现资源共享和外设
11、的简单快速连接。它有以下技术优势:使用USB不需要扩展插卡,无须开发最底层驱动程序。连接USB外设,带电即插即用。得到众多公司的支持。传输速率为 1.5MBps-12MBps。目前的USB2.0则达到了480MBps。通过Hub最多可支持127个外设。,Southeast University,2004.07,3.2 USB系统组成,USB主控制器/根集线器(USB Host Controller/Root Hub)负责产生传输处理。主控制器对数据执行一个并行到串行的转换,建立USB的传输处理,并传给根集线器后在总线上发送。USB集线器(USB Hub)使USB系统扩展。它由控制器和中继器组成
12、,控制器管理主机和集线器之间的通信及帧定时,中继器负责连接的建立和断开。USB设备分为Hub设备和功能设备两种。功能设备就是接在Hub上的外设,它能在总线上发送和接受数据或控制信息,是完成某项具体功能的硬件设备。,3.2.1 USB硬件,Southeast University,2004.07,3.2.2 USB层次拓扑图 USB采用一种层次化的新结构,该结构以集线器为USB设备提供连接点。USB主控制器包含集线器,是系统中所有USB端口的起点。下图所示的是USB一种层次化的拓扑结构。,3.3 USB系统的接口信号与电气特性3.3.1 USB接口 USB总线包括4根信号线,用来传送信号和提供电
13、源。其中,D+(绿),D-(白)为信号线,它们是一对双绞线;另两根是电源线(红)和地线(黑)。另外有些连接线还有屏蔽线绕在4根信号线的外侧。,Southeast University,2004.07,Southeast University,2004.07,3.3.2 电气特性,USB主机或根Hub对设备提供的对地电源电压为V,设备吸入的最大电流为500 mA。当USB设备首次被主机检测到时,设备吸入电流应小于100 mA。USB设备有两种供电方式,自给方式(设备自带电源)和总线供给方式。USB Hub采用自给方式。为了省电,USB主机有一个独立于USB的电源管理系统。,3.4 传输类型 US
14、B有4种基本的传输类型:控制传输控制传输是双向的,控制传输主要是做配置设备用,也可以做设备的其他特殊用途。每个USB设备必须用端点0来完成控制传送,它用在当USB设备第一次被USB主机检测到时,与USB主机交换信息、提供设备设置、对外设设定和传送状态这类双向通信。批量传输批传输可以是单向的,也可以是双向。它用于传送大批数据,这种数据的时间性不强,但要确保数据的正确性。在包的传输过程中,出现错误,则重传。如扫描仪、打印机。中断传输中断传输是单向的,且仅输入到主机。它用于不固定的、少量的数据传送。当设备需要主机为其服务时,向主机发送此类信息。如鼠标、键盘。等时传输等时传输可以是单向的也可以是双向的
15、,用于传输连续性、实时的数据。传输速率固定,时间性强,传输中数据出错并不重传。如数字音视频设备。,Southeast University,2004.07,Southeast University,2004.07,3.5 包种类、包格式及包交换 通过USB总线的传输包含一个或多个交换(Transaction),包是组成USB交换的基本单位。包主要有标志包(Token),数据包(Data),握手包(Handshake),特殊包(Special)。USB总线上每一次交换至少需要前面的三个包。所有的包都由该包的PID域来表征包含义。如下图:,3.5.1 标志包 USB总线是一种基于标志的总线协议,因
16、此所有的交换都以标志包为首部。标志包定义了要传输的交换类型。有以下四类包:帧开始包(SOF)、接受包(IN)、发送包(OUT)、设置包(SETUP)。,Southeast University,2004.07,Southeast University,2004.07,一个数据包包括PID(Packet IDentifier)域、数据域和CRC(Cyclic Redundancy Check)域三个部分。PID域用于确认数据包类型;数据域为具体的内容;CRC域为循环冗余校验。握手包由设备用来报告交换的状态,通过四种不同类型的握手包可以传送不同的结果报告。握手包是由数据的接受方发向数据的发送方的。
17、等时传输没有握手包。该包只有一个PID域。特殊包用于主机对低速设备通讯前,主机发给设备的预告包。它由一个同步序列和一个全速传送的PID域组成。之后等待4个高速字节时间,以便Hub打开低速端口并准备接收低速信号。,3.5.2 数据包、握手包、特殊包,Southeast University,2004.07,3.5.3 包交换,所有USB总线上的传输都是进行包的交换。每次交换至少涉及到标志包、握手包和数据包。USB设备之间的传输首先由主机发出标志包(Token又称令牌),标志包中有地址码、端点号、传输方向和传输类型等信息。其次是数据源向数据目的地发送的数据包(Data)或者发送无数据传输的指示信息
18、。在一次交换中,数据包最多可以携带的数据为1023B。最后是数据接受方往数据发送方回送一个握手包,提供本次数据传输的反馈信息。在四种传输方式下,分别有对应的包交换模式,以下是中断传输下的包交换示意:,Southeast University,2004.07,当USB设备在USB总线上连接或移走时,主机通过总线枚举过程确认和管理设备状态的变迁。枚举过程说明如下:USB设备连接到Hub后,Hub通知主机发生设备接入事件设备进入连接(Attached)状态。Hub中与该设备相接的端口处于关闭状态。主机检测Hub,确认设备接入事件和接入端口。主机将该端口使能,并传送一个RESET命令。Hub持续送出1
19、00ms的RESET信号,信号一结束,端口打开。Hub提供100mA的电流,USB进入上电(Powered)状态,响应默认地址。在USB设备收到唯一地址前,通过设备默认地址访问端点0对应管道,主机读取设备的描述器来获得设备默认管道的最大数据传输量。设备处于地址默认(Default)状态。主机给USB设备分发一个唯一的地址,设备进入地址(Addressed)状态。主机读取设备的配置信息。主机向设备分发一个配置值。设备进入配置(Configured)状态,所有端点准备就绪可以开始工作,设备可以使用。,3.6 USB设备状态和总线枚举,状态转换图,Southeast University,2004.
20、07,3.7设计指南,使设备实现USB通讯功能通常有两种方式,使用具有USB控制器的MCU和使用专用USB接口芯片。典型电路的原理图和版图设计规则一般在产品使用文档中都会有所提及。使用USB接口芯片如果想要达到标称的最大速度,就需要是DMA工作方式,由于USB接口芯片的控制器多半是由速度不快的微控制器构成,简单的通过微控制器访问总线的模式读取发送USB数据所能达到的速度是非常有限的。USB主控制器端的编程主要是PC驱动程序的编写.其涉及到Windows WDM驱动程序的编写,相对复杂。但有些公司已经提供了Windows的驱动程序,并已经编写好了软件开发包,使PC端软件开发大为简化。在USB设备
21、端的编程工作主要集中在枚举过程的实现,即要实现USB协议的各种标准请求。因为枚举过程较为复杂,其软件编写也需要很大工作量。网络上有一些资源可以参考,如周立功单片机网站上有USBD12下位机驱动程序的下载。,Southeast University,2004.07,Southeast University,2004.07,3.8 USB接口芯片PDIUSBD12,遵循USB1.1规范内置SIE,FIFO,收发器和稳压电路高性能USB接口器件兼容各种单片机和微处理器的2MBps并行接口速度全自动DMA操作集成320字节FIFO存储器双缓存方案易于实现实时数据传输可编程的时钟频率发生内置上电复位和低
22、电压复位电路SO-28和TSSOP-28两种封装工业级工作温度范围:-40到+858KV的芯片级ESD电压保护双电压工作方式:3.30.3V或5V(3.6到5.5V),3.9参考资料 PhilipsUSBD12 DatasheetUSB Specificationwww.usb.orgWindows WDM 设备驱动程序开发指南机械工业出版社USB 总线接口开发指南国防工业出版社2.0硬件设计清华大学出版社,Southeast University,2004.07,总线与系统通讯讲义,第四节 Ethernet,Southeast University,2004.07,用以太网技术构成的局域网在
23、我们生活中无处不在。如果设备和系统具有通过以太网来通讯的功能,那么其就可以利用以太网许多有利条件。相对于以太网上PC这样的高速的吞吐量大的主机来说,我们通常的系统都是低速的吞吐量小的,我们在这里称之为小系统。这样的小系统存储器容量不大,处理速度不高。也没有必要支持100M网络。采用以太网通讯的小系统将具有以下特点:n系统可以从局域网内任意一个节点接入n和现有的网络设备和主机不冲突,可以共用一个网络,不用重新铺设通讯线路n系统的扩展很方便,可以使用标准网络设备进行总线的延长n可以通过更改设备的IP地址来使多个设备接入局域网n如果设备的运算能力较强,可以达到很高的通讯速度 小系统通过以太网传输数据
24、,难点在于实现TCP/IP协议栈。通常我们只在一个局域网内通讯就足够了。因而没有必要完全实现TCP/IP协议栈,通常要实现的是MAC级协议,简易的ARP协议,简易的IP和UDP协议,最好能实现PING功能。而TCP协议过于复杂,不适合在小系统上实现。,4.1 简介,4.2 协议层次 在TCP/IP协议族中,有很多种协议。在这里我们只讨论一些方便系统之间通讯和其相关的协议。,Southeast University,2004.07,TCP和UDP是两种最为著名的运输层协议,二者都使用IP作为网络层协议。虽然TCP使用不可靠的IP服务,但它却提供一种可靠的运输层服务。UDP为应用程序发送和接收数据
25、报。一个数据报是指从发送方传输到接收方的一个信息单元(例如,发送方指定的一定字节数的信息)。但是与TCP不同的是,UDP是不可靠的,它不能保证数据报能安全无误地到达最终目的。IP是网络层上的主要协议,同时被TCP和UDP使用。TCP和UDP的每组数据都通过端系统和每个中间路由器中的IP层在互联网中进行传输。在这里我们不讨论的IP数据如何进行路由选择。ICMP是IP协议的附属协议。IP层用它来与其他主机或路由器交换错误报文和其他重要信息。尽管ICMP主要被IP使用,但应用程序也有可能访问它。ARP(地址解析协议)和RARP(逆地址解析协议)是某些网络接口(如以太网和令牌环网)使用的特殊协议,用来
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 总线 系统 通讯 讲义
链接地址:https://www.31ppt.com/p-5731026.html