基于三菱M16C%2f6N系列单片机的CAN%2fUSB协议转换器.doc_第1页
基于三菱M16C%2f6N系列单片机的CAN%2fUSB协议转换器.doc_第2页
基于三菱M16C%2f6N系列单片机的CAN%2fUSB协议转换器.doc_第3页
基于三菱M16C%2f6N系列单片机的CAN%2fUSB协议转换器.doc_第4页
基于三菱M16C%2f6N系列单片机的CAN%2fUSB协议转换器.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于三菱M16C%2f6N系列单片机的CAN%2fUSB协议转换器 中北大学学位论文11研究背景第一章绪论随着控制、计算机、通信、网络等技术的发展,信息交换沟通的领域正在迅速覆盖从工厂的现场设备层到控制、管理的各个层次。 尤其信息技术的飞速发展,引起了自动化系统结构的变革,逐步形成以网络集成化系统为基础的企业信息系统。 同时,随着个人电脑的大面积普及以及USB接口已经逐渐成为计算机的标准配置,微机中心与现场设备之间运用传统的控制方式如基地式气动仪表控制、电动单元组合式模拟仪表控制、集中式数字控制、集散控制等已经完全跟不上信息时代的发展了。 上述控制方式不论在控制规模、传输速率以及传输的可靠性等方面都明显比不上新的一种控制方式现场总线控制。 现场总线是应用在生产现场、在微机化测量控制设备之间实现双向串行多点数字通信的系统,也被称为开放式、数字化、多点通信的底层控制网络。 现场总线控制主要概括有五种基金会现场总线控制、LonWorks、PROFIBUS、CAN、HART。 尤其CAN总线控制,通信协议层少、通信距离远等优点足以和USB通信相互补充。 唯一不足的是,当其相互通信时,两者之间的通信格式与通信速率不匹配。 基于此问题,本论文设计了一个CANUSB协议转换器来解决。 12CAN总线技术121CAN总线介绍CAN全称为“Controller AreaNetwork”,即控制器局域网,是国际上应用最广泛的现场总线之一。 最初,CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。 在一个由cAN总线构成的单一网络中,理论上可以挂接无数个节点。 实际应用中,节点数目受网络硬件的电气特性所限制。 例如,当使用TJAl050作为CAN收发器时,同一网络中1中北大挚学位论文允许挂接Ii0个节点。 CAN可提供高达iMbits的数据传输速率,这使得实时通讯变得非常容易。 另外,硬件的错误检定特性也增强了CAN的抗电磁干扰能力。 CAN是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出总线上产生的任何错误。 当信号传输距离达到10公里时,CAN仍可提供高达5Kbits的数据传输速率。 122cAN总线协议CAN串行通讯协议,能有效的支持具有很高安全等级的分布式实时控制。 CAN总线规范按照识别符的范围分可以分为两种,11位标志符的CAN2OA协议(标准格式)和29位标志符的CAN2OB协议(扩展模式)。 扩展模式完全是在标准模式的基础上的改进,其定义的地址范围更宽,系统设计者将从考虑良好的结构命名方案中得到解放。 由于标准协议和扩展协议的基本结构是一样的,所以,本文以标准协议来讨论。 同时,本文也使用CAN2OA(标准协议)CAN被细分为以下不同的层次 (1)CAN对象层(the objectlayer) (2)CAN传输层(the transferlayer) (3)物理层(the phyicallayer)对象层和传输层包括所有由OSI模型定义的数据链路层的服务和功能。 对象层的作用范围包括 (1)查找被发送的报文。 (2)确定由实际要使用的传输层接收哪一个报文。 (3)为应用层相关硬件提供接口。 传输层的作用主要是传送规则,也就是控制帧结构、执行仲裁、错误检测、出错标定、故障界定。 总线上什么时候开始发送新报文以及什么时候开始接收报文,均在传输层里确定。 位定时的一些普通功能也可以看作是传输层的一部分。 当然,传输层的修改是受到限制的。 2中北大学学位论文物理层的作用是在不同节点之间根据所有的电气属性进行位信息的实际传输。 当然,同一网络内,物理层对于所有的节点必须是相同的。 CAN节点的层结构如表(11)所示。 (1)物理层定义实际信号的传输方法。 (2)传输层是CAN协议的核心。 它把接收到的报文提供给对象层,以及接收对象层的报文。 传输层负责位定时及同步、报文分帧、仲裁、应答、错误检测和标定、故障界定。 (3)对象层的功能是报文滤波以及状态和报文的处理。 应用层对象层报文过滤报文和状态的处理传输层故障界定错误检测和标定报文检验应答仲裁报文分析传输速率和定时物理层信号电平和位表示传输媒体表11cAN节点的层结构表传输层主要负责信息的仲裁、传送、应答,在整个系统设计中起很重要的作用,其规则的确定对软件设计影响很大,因此,本文重点讨论一下传输层。 3中北大学学位论文报文传输由以下4个不同的帧类型表示和控制 (1)数据帧数据帧携带数据从发送器至接收器。 (2)远程帧总线单元发出远程帧,请求发送具有同一识别符的数据帧。 (3)错误帧任何单元检测到总线错误就发出错误帧。 (4)过载帧过载帧用以在先行的和后续的数据帧(或远程帧)之间提供一附加的延时。 1数据帧数据帧由7个不同的位场组成,包括帧起始、仲裁场、控制场、数据场、CRC场、应答场、帧结尾。 数据场的长度可以为0。 (1)帧起始它标志数据帧和远程帧的起始,由一个单独的“显性” (0)位组成。 (2)仲裁场仲裁场包括识别符和远程发送请求位(RTR)。 识别符识别符的长度为119_。 这些位的发送顺序是从IDlO到ID一0。 最低位是ID-O。 最高的7位(ID-IO至IjID-4)必须不能全是“隐性”。 RTR位该位在数据帧中必须为“显性”,而在远程帧里必须为“隐性”。 (3)控制场控制场由6个位组成,包括数据长度代码和两个将来作为扩展用的保留位。 所发送的保留位必须为“显性”。 接收器接收所有由“显性”和“隐性”组合在一起的位。 数据长度代码指示了数据场中字节数量。 数据长度代码为4个位,在控制场里被发送。 (4)数据场数据场由数据帧中的发送数据组成。 它可以为08个字节,每字节包含了8个位,首先发送数据头信息lsB。 (5)CRC场cRc场包括CRC序列(CRCSEQUENCE),其后是CRC界定符(CRCDELIMITER)。 CRC场主要是对错误进行界定。 (6)应答场应答场长度为2个位,包含应答间隙(ACK SLOT)和应答界定符(ACKDELIMITER)。 在应答4中北大学学位论文场里,发送站发送两个“隐性”位。 当接收器正确地接收到有效的报文,接收器就会在应答间隙(kCK SLOT)期间(发送ACK信号)向发送器发送一“显性”位以示应答。 应答间隙所有接收到匹配CRe序列(CRCSEQUENCE)的站会在应答间隙(ACK SLOT)期间用一“显性”位写入发送器的“隐性”位来回答。 ACK界定符ACK界定符是ACK场的第二个位,并且是一个必须为“隐性”的位。 因此,应答间隙(AcK SLOT)被两个“隐性”的位所包围,也就是CRC界定符(CRCDELIMITER)和ACK界定符(ACKDELIMITER)。 (7)帧结尾每一个数据帧和远程帧均由一标志序列界定。 这个标志序列由7个“隐性”位组成。 2远程帧通过发送远程帧,作为某数据接收器的站通过其资源节点对不f司的数据传送进行初始化设置。 远程帧由6个不同的位场组成帧起始、仲裁场、控制场、CRC场、应答场、帧末尾。 与数据帧相反,远程帧的RTR位是“隐性”的。 它没有数据场,数据长度代码的数值是不受制约的(可以标注为容许范围里08的任何数值)。 此数值是相应于数据帧的数据长度代码。 RTR位的极性表示了所发送的帧是一数据帧(RTR位“显性”)还是一远程帧(RTR“隐性”)。 3错误帧错误帧由两个不同的场组成。 第一个场用作为不同站提供的错误标志(ERRORFLAG)的叠加。 第二个场是错误界定符。 为了能正确地终止错误帧,一“错误被动”的节点要求总线至少有长度为3个位时间的总线空闲(如果“错误被动”的接收器有本地错误的话)。 因此,总线的载荷不应为100。 有两种形式的错误标志,主动错误标志(Active errorflag)和被动错误标志(Passive errorflag)。 主动错误标志由6个连续的“显性”位组成。 被动错误标志由6个连续的“隐性”的位组成,除非被其他节点的“显性”位重写。 检测到错误条件的“错误主动”的站通过发送主动错误标志来指示错误。 错误标志的形式破坏了从帧起始到cRc界定符的位填充规则,或者破坏了应答场或帧末尾场的固定形式。 所有其他的站由此检测到错误条件并与此同时开始发送错误标志。 因此,“显性”位(此“显性”位可以在总线上监视)的序列导致一个结果,这个结果就是把各个单独站发送的不同的错误标志叠加在一起。 这个顺序的总长度最小为6个位,最太为12个位。 检测到错误条件的“错误被动”5中北大孥学位论文的站试图通过发送被动错误标志,以指示错误。 “错误被动”的站等待6个相同极性的连续位(这6个位处于被动错误标志的开始)。 当这6个相同的位被检测到时,被动错误标志的发送就完成了。 错误界定符包括8个“隐性”的位。 错误标志传送了以后,每一站就发送“隐性”的位,并一直监视总线直到检测出一个“隐性”的位为止。 然后就开始发送7位以上的“隐性”位。 4过载帧过载帧包括两个位场过载标志和过载界定符。 有两种过载条件都会导致过载标志的传送 (1)接收器的内部条件(此接收器对于下一数据帧或远程帧需要有一延时)。 (2)间歇场期间检测到一“显性”位。 由过载条件 (1)而引发的过载帧只允许起始于所期望的间歇场的第一个位时间开始。 而由过载条件 (2)引发的过载帧应起始于所检测到“显性”位之后的位。 通常为了延时下一个数据帧或远程帧,两个过载帧都会产生过载标志。 (1)过载标志由6个“显性”的位组成。 过载标志的所有形式和主动错误标志的一样。 过载标志的形式破坏了间歇场的固定形式。 因此,所有其他的站都检测到过载条件并与此同时发出过载标志。 (2)过载界定符过载界定符包括8个“隐性”的位。 过载界定符的形式和错误界定符的形式一样。 过载标志被传送后,站就一直监视总线直到检测到一个从“显性”位到“隐性”位的发送。 此时,总线上的每一个站完成了过载标志的发送,并开始同时发送7个以上的“隐性”位。 13USB总线通信131USB总线简介USB(Universal SerialBus)是一种通用串行总线。 随着技术水平的提高和计算机的广泛应用,人们对串行通信提出了更高的要求。 开发一种兼容低速和高速的技术,从而为广6中北大孝学位论文大用户提供一种可共享的、可扩充的、使用方便的串行总线成为众多厂商的共同目标。 为了实现整个计算机系统中总线的一致性,rhPAO、INTEL、MICROSOFT和NEC等公司共同开发的一种新的、快速的、双向的、同步传输的并可热插拔的数据传输总线,简称USB总线。 132通信结构USB协议所说的通信指的是USB设备和USB主机之间的通信。 物理上,总线上的设备通过一条物理连线和主机通信,所有的设备共享这条物理链路。 逻辑上,主机给每个设备提供了一条逻辑的连接,每个设备都有这样一条点对点的连接。 USB通信逻辑上分为三层信号层、协议层和数据传输层。 信号层用来实现在USB设备和主机物理连接之间传输为信息流的信息。 逻辑层用来实现在USB设备和USB主机短的协议软件之间传输包字节流的信息。 数据传输层用来实现在IJSB主机段的客户驱动程序和设备段的功能接口之间传输有一定意义的信息,这些信息在协议层被打包成包格式。 协议逻辑上将设备分成了三层实体总线接口、端点和功能接口。 11图显示了USB主机和USB设备通信的逻辑结构和媒体层的逻辑通道。 数据传输层USB设备=接El(Interface)USB主机协议层I=端,点(Endpoint)I信号层。 u5B总线接口(物理接口l=逻辑通信+物理通信图11USB通信的逻辑结构7中北大季学位论文133传输的基本单元包1编码方式USB系统采用反向不归零(NRZI)的信号方式。 2包的组成USB包m5个部分组成同步字段(SYNC)、包标示符字段(PID)、数据字段、循环冗余校验字段(CRC)和冗余校验字段(CRC)。 图12显示了包的基本格式。 同步字段PID字段数据字段CRC字段包结尾字段I(SYNC)(EOP)图12USB数据包结构 (1)同步字段(SYNC)同步字段用于数据包同步,由8个数据位组成,目的是使USB设备与总线的包传输率同步。 (2)包标示符字段(PID)PID是USB包的必要组成部分,任何一个USB包的第二个字节都必须为该包的PID。 报标识符长度为一个字节,由4个位的包类型字段和4个位的校验字段构成。 (3)数据字段数据字段用来携带主机与设备之间传递的信息,其内容与长度根据标识符、传输类型的不同而不同。 在USB包中,数据字段可以包含设备地址、端点好、帧序列号积极数据内容。 (4)循环冗余校验字段(CRC)CRC字段是用来对包中的数据信息进行错误保护的,它是以包中数据字段的存在而存在的,PID字段有自己的校验方式,不再CRC的校验范围之中。 CRC字段包括数据CRC和令牌CRC两种。 (5)包结尾字段(EOP)包结尾字段由差分线路的两根数据线保持2LL特低位时问和1比特空闲位时间组成。 USB主机和USB设备根据EOP判断数据包的结束。 8中北大挚学位论文134包的类型l_令牌包当数据包中的PID类型为令牌类型时,该数据包被称为令牌包。 在USB系统中,所有的事务处理都始于令牌包,它是由USB主机唯一的发送到总线上的。 根据PID的不同,令牌包又分4种起始令牌包(SOF)、输入令牌包(IN),输出令牌包(OUT)和用于控制传输的设置令牌包(SETUP)。 (1)起始令牌(SOF)当数据包的PID为SOF时,该数据包被称为帧起始令牌包。 (2)设置令牌包(SETUP)当令牌包的PID为SETUP时,该数据包被称为设置令牌包。 (3)输入令牌包(IN)当令牌包的PID为IN时,该数据包被称为输入令牌包。 (4)输出令牌包(OUT)当令牌包的PID为OUT时,该数据包被称为输出令牌包。 2数据包当数据包中的PID类型为数据类型时,该数据包被称为令牌包。 数据包中装有主机和设备之传输的数据信息。 3握手包(Handshake Packet)当数据包中的PID类型为握手类型时,该数据包被称为握手包。 握手包应用于事务处理的最后时相(Phase),用来报告事务处理过程中接受的状态。 4前导包当USB数据包的PID为PRE时,该数据包被称为前导包。 前导包是为了使传统系统区分全速传输和低速传输而产生的,它的目的是为了提醒USB集线器系统要传输的下一个包是一个低速包。 13,5事务处理在USB上数据信息的次接收或发送的处理过程称为事务处理,事务处理的类型包括输入事务处理、输出事务处理、设置事务处理和帧起始、帧结尾等类型。 9中北大孥学位论文1输入事务处理输入事务处理表示USB主机从总线上的某个USB设备接收一个数据包的过程。 输入事务处理包括以下几种典型情况 (1)数据的正确输入过程。 (2)数据包发送错误。 (3)设备未准备好数据。 (4)设备出错。 (5)实时传输的输入事务处理。 2输出事务处理输出事务处理表示USB主机向总线上的某个USB设备发送一个数据包的过程。 3设置事务处理设置事务处理仅在控制传输中使用,表示USB主机向某个USB设备发送控制命令。 4帧起始事务处理帧起始事务处理的过程只有令牌时相,用于传输帧起始令牌包。 主机通过此过程通知所有设备新的一帧的开始,它不要求设备返回任何握手信息。 5帧结尾事务处理帧结尾事务处理表示一帧的结束,有USB主机控制器广播发出。 L帧的定义从时间单位上看,一帧的长度为lms,系统中所有的事务处理过程都是在一个个以帧为单位的时问周期内完成的。 从长度上来看,一帧的数据长度为12000lL特,如果所有的事务处理不能占满整个帧长时,主机会填充空闲位。 一帧可以容纳四种传输类型的许多事务处理过程,图13显示了帧、事务处理和包的关系。 10嚣淼B一卿舭蜘刚脚艄黼号位比特信总。 贿絮巍嬲稍耨n的n一一一一一渺删桫一刚3中北大擎学位论文 (2)如果总线传输出现错误,传送失败,可进行重发。 (3)有确认的数据传输,但不保证传输的带宽和延迟。 (4)只有当获得空闲的带宽时,批量传输才会发生。 2控制传输控制传输是USB协议中唯一传输USB命令函数的传输类型,命令函数是EhOSB主机发起的,旨在完成对系统中的USB设备进行系统配置、状态查询和管理等操作。 控制传输具有以下特点 (1)控制传输由以下几个事务处理组成建立联系,把请求信息从主机传到它的应用设备;零个或多个数据传送的事务处理,按照命令中指明的方向传送数据;状态信息回传。 (2)用于控制传输的设备的端点是双向的,既可以接收数据包又可以发送数据包,相应的控制管道也是双向的。 (3)所有的设备必须有至少一个控制端点,且端点号为0。 (4)是可靠的数据传输,支持错误检测和数据重传,并尽可能满足主机和设备的同步。 (5)控帝4机制提供访问设备描述符和命令操作的机制。 (6)系统没有为控制传输指定访问总线的频率和带宽,一般由usB协议软件从全局优先角度来考虑。 3中断传输中断传输是为这样一类设备设计的,他们只发送或接收少量的数据,而且并不经常进行数据传输,但他们有一个确定的传输周期,每隔一定的周期要求传输一次。 使用这种传输方式的设备有键盘、鼠标、游戏杆等。 中断传输具有以下特点 (1)中断传输管道的晶大服务周期必须得到保证。 (2)由于错误而引起的数据重传将在下-N务周期进行。 (3)数据的结尾也是通过预报的最大传输字节数来确定。 (4)设备中用于中断传输的端点可用来为某些实时传输传达其速率的反馈信息,例如音频设备。 4实时传输12中北大孥学位论文实时传输主要用于与时间紧密相关的信息传输,时间的信息存在于实时传输的包结构中。 它能保证设备与USB主机之间恒定的数据传输速率,确保发送方与接收方的速率匹配。 是一种周期性数据传输方式。 实时传输具有以下特点 (1)数据传输有固定的时间延迟。 (2)允许有一定的误码率。 138USB传输的健壮性1数据传输中的同步USB提供了一种机制来保证数据发送端和接收端之间的多个事务处理中数据序列的同步,即同步切换技术。 这种机制也保证了数据发送端和接收端都能正确地解释事务处理的握手时相。 2错误检测和恢复除了实时传输外,USB是一种允许物理上产生错误信号的可靠的端到端的通信方式,这主要取决于协议可靠的错误检测能力和对事务处理的出错恢复能力。 13中北大擎学位论文第二章协议转换器的硬件设计21协议转换器的整体设计211协议转换器的通信原理协议转换器两端连接好设备与Pc机后,Pc机向下发送对设备的各种控制命令及数据,这些命令和数据进入USB全速节点控制器USB9604的FIFO中,收到命令或数据的同时,节点控制器向CPU发出接收成功中断,CPU响应中断读取FIFO中的数据或命令并译码,然后,将译码后的数据或命令与预设的ID组合成一组报文所要求的格式后写入CAN控制器的某个发信箱。 最后,这些数据和命令经过CAN总线发送到现场设备。 现场设备向上发送设备状态的过程类似。 首先,CAN控制器的某个报箱通过CAN总线接收设备上传信息,同时向CPU发出接收成功中断,CPU响应中断从该报箱中读取数据信息并组合成一个完整的USB包,然后经单片机外部数据线将USB数据包写入到节点控制器的FIFO中,再经USB总线发送到PC机。 一次完整的接收发送通信过程完成。 212协议转换器的整体设计协议转换器的核心部分采用单片机来控制,负责接收和发送USB接口和CAN接口分别与上位机和现场设备的通信信息。 由于目前还没有即内置有USB接口又内置有CAN接口的单片机系列,因而此单片机可选择三菱Mi6C6N系列单片机M306NBFCTFP协议转换器的核心,其内置的CAN控制器支持CAN20协议的A部分和B部分。 另外,单片机外接一个USB控制器。 本设计选择National Semiconductor公司的USB9604芯片,负责接收上位机向下发送的命令或数据信息,同时,设备向上传送的数据信息经芯片返回到上位机。 同时,作为单片机周边电路设计,协议转换器还应有一个RS232接口以便直接与Pc进行串行通信以及一个ADC接口,负责接收现场设备的模拟信号等。 14中北大挚学位论文22CANUSB协议转换器的硬件设计221概述CANUSB协议转换的硬件电路原理框图如图21所示。 本原理图根据CANUSB协议转换器的整体设计规格设计,并参照了三菱M166N系列单片机的DataSheet,以及National Semiconductor公司的全速USB节点控制器芯片USBN9604的data Sheet。 其它参考资料包括 (1)USBl1协议; (2)CAN2OB协议; (3)PHilips的高速CAN收发器TJAl050说明书; (4)MaxiIll的RS232电平转换器MAX202E的Data Sheet;图21协议转换器的硬件电路框图三菱116C6N系列单片机M306NBFCTFP作为整个系统的核心,内置的全速CAN控制器支持CAN20协议的A部分和8部分,外扩高速CAN收发器TJAl050T与CAN总线接口,构成本IFBOX的CAN接臼。 USB控制器采用Natioilal SeffJicondUetor公司的USBN9604或9603芯片,15中北大孚学位论文其内置的串行接口引擎(SIE)可以与USB总线直接接13,构成本IFBOX的USB接口。 单片机M306NBFCTFP内置的UARTl外扩电平转换器MAX232A构成RS232接口,用于调试和在线编程目的。 当单片机工作于标准串行IO模式(StandarSerial io Mode)时可以使用软件编程器对单片机内部的flash ROM区进行编程。 下面几节对各部分的电原理给出详细说明。 包括 (1)USB接口 (2)CAN接口 (3)RS232(ISP)接口并对一些附属电路进行附带说明。 222协议转换器的硬件构成本设计除三菱M306NBFCTFP单片机及其外扩的高速CAN总线收发器TJAl050T外,USB控制器采用National Semiconductor公司的全速USB节点控制器USB9604,它支持DMA数据传输。 此外,协议转换器还有一些补充电路,如复位电路、时钟发生电路等。 另外,为方便调试和在线编程,单片机内置的UART接口还外扩了电平转换器MAX232A构成RS232接口。 CANUSB协议转换器电路原理图如图22所示16中北大挚学位论文图22协议转换器电路原理图(protocol transitioner)附21三菱M306NBFCTFP单片机的主要特性1存储器容量Flash ROM128KB,RAM5KB,存储器扩展4MB最大2最短指令周期625ns(16MHz主时钟,不使用软件等待)lOOns(20MHz主时钟12预分频,不使用软件等待)3外部数据总线宽度一一8位16位可选4供电电压4255VDC5中断29个内部中断源,9个外部中断源,4个软件中断源,7个中断优先级6串行110口4个通道(3个UART或时钟同步,一个仅时钟同步)7DMA控制器2个通道(23个触发源)8AD转换器10bit,26个模拟量输入9DA转换器8bit,2个模拟输出10Watchdog定时器15bi t17中北大拿学位论文配置11可编程io口87根12输入口l根,P85与NMI(不可屏蔽中断输入)引脚共用13片选输出4根14时钟发生电路2个片内时钟发生电路,主时钟和子时钟15CAN模块1个通道,符合BOSCH2OB CAN协议规范,并具有以下 (1)报文Mailbox16个(每个。 16字节) (2)收信滤波屏蔽寄存器3个,(每个5字节),1个用于全局,2个用于局部屏蔽 (3)特殊功能寄存器9个,包括控制寄存器,状态寄存器,mailbox状态寄存器,中断控制寄存器,扩展ID寄存器,配置寄存器,收信和发信错误计数寄存器,时问标签寄存器中断 (4)中断4个,包括成功接收和发送中断,传输错误中断,唤醒223接口1接口一览序号接口名功能描述lUSB通过USB接口与主机通信2RS232调试用串行接口;ISP编程接口3CANCAN通信4ADC预留两个接口,接收外设模拟信号2接口详细USB接口处理要求(规格)USB规范V11版本Chapter718中北大孥学位论文CANUSB接口整体设计规格信号一览USl3叶差分信号+USB D一差分信号一VBUSUSB总线+5VGNDRS232接口处理要求RS232规范兼容CANUSB接口整体设计规格信号一览RXD-一收信数据Tx卜发信数据GND帧构成起始位1,数据位8,校验位N,停止位1通讯速度9600bps57600bpsCAN接口处理要求CAN总线规范V20版本B部分TJM050T全速CAN收发器Data SheetCANUSB接口整体设计规格信号一览CANH差分信号HCANL差分信号LGND19中北大孥学位论文ADC接口处理要求CANUS8接13整体设计规格分辨率lOBit变换方式6通道扫描信号一览外设电平输入 (1)USB接口USB接口由全速节点控制器芯片USBN9604通过分时复用的数据地址总线与单片机M306NB相连而组成,并附加了一些控制信号线,以及些附属的保护电路。 单片机方面,BYTE引脚与VCC相连,以选择外部数据总线的宽度为8位。 外部地址总线的宽度通过固件设置为16位,其中低8位与数据总线分时复用,高8位悬空不用。 图23为USB硬件接口电路图图23USB接口硬件结构USBN9604方面,通过将MODEO引脚与VCC相连、MODEl引脚与Vss相连20中北大挚学位论文选择芯片工作于分时复用总线模式,与单片机配合。 USBN9604也可以选择为分立总线模式,但CPU对其读写时须分次进行,先写入地址,再读出写入数据,速度会更慢,也会带来编程上的不便。 在分时复用的总线模式下,CPU对USBN9604的读写需要使用的控制信号包括 (1)ALE地址锁存信号,上升沿时,CPU从总线输出地址,下降沿时,USBN9604将地址锁存在内部ADDR寄存器; (2)面“读”信号,低电平有效;wR“写”信号,低电平有效;丽“片选”信号,低电平有效。 CPU摊片乳S3-VCSOCS2不用)INTR中断申请信号。 为了与丽的INTO配合,设置为下降沿有效。 CLKout时钟输出,为单片机提供子时钟源(可由固件选择),此信号不是控制信号,与CPU读写操作无关。 USBN9604还支持DMA操作,本设计未用,百丽F(DMA应答)接VCC,DRO(DMA请求)悬空。 其它附属电路 (1)复位电路简单的R-C电路,单片机与USBN9604共用; (2)总线供电滤波电路L形滤波; (3)保护电路简单串接18欧姆电阻,和10u H电感。 附22全速USB节点控制器USBN9604的主要特性 (1)集成USB收发器和内部33V稳压器。 (2)可编程时钟发生器 (3)串行接口引擎包含物理层接口,媒体访问控制器,与USB11规范兼容 (4)内置控制状态寄存器阵列21中北大挚学位论文 (5)七个基于FIF0的端点(End Point)1个双向控制端点(8字节)3个单向发信端点(每个64字节)3个单向收信端点(每个64字节) (6)8位并行接口,具有两种可选模式分时复用非分时复用 (7)增强的DMA支持 (8)MICROWIREPLUS接口 (9)低EMI,低待机电流 (10)具有异步唤醒的全静态停机模式。 (对总线供电操作) (11)ESD Rating45KV(人体模型,通过15kQ电阻lOOpF放电) (2)CAN接口图24CAN接口电原理图单片机内置的CAN控制器模块,通过TJAl050高速CAN收发器与CAN物理总线接口,附加一些保护器件,构成CAN接口。 附23TJAl050高速CAN收发器的主要性能 (1)与“Is011898”标准完全兼容 (2)速度高(最高可达1M波特) (3)低电磁辐射(EME) (4)带有宽输入范围的差动接收器,可抗电磁干扰(EMI) (5)没有上电的节点不会对总线造成干扰中北大学学位论文 (6)发送数据(TXD)控制超时功能 (7)发送禁止时的静音模式 (8)在静态时自动对总线引脚进行保护 (9)输入级与33V装置兼容 (10)热保护,对电源和地的防短路功能 (11)连接至少110个节点 (3)RS232(ISP)接口图25RS232(ISP)接口电原理图单片机内置的串行IO模块UARTl通过RS232一TTLCMOS电平转换器MAX202A芯片,附加4只电容,构成RS232串行接口,用于调试和在线编程目的。 跳线开关K8和K9短路时,MAX202的电源接通,串行口工作。 跳线开关K10和K12短路时将单片机复位,则CPU工作于标准串行模式,可以通过串行口下载CPU的固件到单片机内部的用户flash ROM区,完成在线编程功能。 一些商用软件(例如MITSUBI SitI公司开发的FlashSta)可用于串行编程。 中北大学学位论文主时钟的l6MHz晶体振荡器简单的R-C复位电路与USBN9604共用 (4)ADC接口图26ADC接口第三章软件设计31固件设计固件设计的目标就是使协议转换器在USB上达到最大的传输速率。 它是转换器运行的核心部分,用汇编语言编写。 3,11USB总线枚举枚举过程指的是以一系列的USB包和响应主机的SetupInOut标记所产生的相应的设备状态,设置和管理设备状态变化需求。 枚举过程在主机端完成,旦集线器检测到有设中北大拿学位论文备接入,主机开始设备枚举过程i主机发送一个Getdescriptor请求来知道控制端点的最大包的大小Setup阶段主机一设备bmRequestType=80HbRequest=GetDescriptor=06HwValue=DesprotTypeDescriptorIndex=O100HwIndex=Zero orLanguage ID=0000HwLengthng=DescriptorLength=0040H数据阶段设备一主机,返回设备DescriptorbLength=18B=12H08H(描述符长度,18个字节)可以只返回前8个字节bDescriptorType=Constant=OiH(描述符类型)Ol是设备的描述符bcdUSB=BCD=OI10H(兼容的USB规范版本号I10)bDeviceClass=Class=OOH(设备类代码)bDeviceSubclass=Subclass=OOB(设备子类代码)bDeviceProtoc01=Protoc01=ooH(类协议代码)bMaxPacketSizeO=Number=08H(端点0的最大包尺寸)idVendor=ID=070AH(VID)idproduct=ID-7FOlH(PID)r外部设计规格书1o中规定iserialNumber=Index=00H(描述产品系列号的串描述符索引)bNumconfigurations=Number=O州(可能的配置数)状态阶段主机一设备(一个0长度的OUT包)2主机分配一个地址给设备Setup阶段主机一设备bmRequestType=OOHbRequest=S“一Address-05H(请求类型)(请求号)中北大学学位论文wValue=DeviceAddress=?(设备地址1127,由主机分配)wIndex=00HwLength=OOH数据阶段无状态阶段设备一主机,设备接收到一个IN标记后以0长度包响应。 3主机知道了设备的能力(新地址) (1)aGet_Descriptor(查询配置描述符)Setup阶段主机一设备bmRequestType=80HbRequest=GetDescriptor=06HwValueDescriptorType=0200H(描述符类型0200H是配置描述符串索引为0)wIndex=0000HwLength=DescriptorLength=?(描述符的长度,由主机定义)数据阶段设备一主机配置描述符+接口描述符+端点描述符1+端点描述符2+十端点描述符6$配置描述符bLength=09H(配置描述符的长度,以字节数表示)bDescriprtorType=Constant-02H(配置描述符类型=02H)wTotalLength=60=003cH(总长度)bNumInterface=01H(接口数)bconfigurationValue=00H01H(配置值)按Get configuration中的描述,OOIl表示未配置。 iConfigurationValue=OOH(描述该配置的串描述将索引)bmAttributes=1010000b=coH(配置的特性总线供电D6-O,支持远程唤醒D5=I)MaxPower=32H(mh数=lOOMa=32H2mA)接口描述符中北大擎学位论文bLength09H(接口描述符的长度)bDescriptorType=04H(接口描述符类型=04H)bInterfaceNumber=00H(接口号)bAlternatesetting=00H(该接口的设置选项号)bNumEndDoints=06H(该接口的端点数)bInterfaceclass=FFH(类代码)FFH=Vendor SpecificbInterfacesubclass=00H(子类代码)bInterfaceprotocol=OOH(协议代码)iInterface=OOH(该接口的串描述符索引)端点描述符X(x=l6)bLength=07H(端点描述符长度)bDescriptorType=05H(端点描述符类型05H)bEndDointAddress=8lH02H83H04H85H06H(端点号和方向)bmAttributes=02H(传输类型,02=Bulk)wMaxPacketSize=0040H(最大包尺寸,64B)bInterval=OlH(间隙ms,对Bulk无效)查询配置GetConfiguration请求 (2)Setup阶段主机一设备bmRequestType=80H(请求类型)bRequest=Getofigwration=08HwValue=0000HwIndex=0000HwLength=O001H数据阶段设备一主机ConfigurationValue=ooH未配置(Address State)OlH已配置(Configuration State)27中北大学学位论文状态阶段主机一设备查询接口GetInfreface请求Setup阶段主机一设备bmRequestType=81HbRequest=GetInterface=OAHwValue=OOOOHwIndex=0000HwLength=o001H数据阶段设备一主机Aler Setting=OOH状态阶段主机一设备(接口号)(当前该接口所选的设置号) (3)查询设备接n端点状态GetStatus请求bmRequestType=80H81H82H(请求类型,接收者设备接N端点)bRequest=00HwYalue=OOOOHooooH0000H0006H(设备接口端点)wIndex=O000HwLength=0002H数据阶段设备一主机Device Status=O002H(总线供电,支持远程唤醒)orInterfaceStatus=0000HorEndpointStatus=00001Hnot Halt000lHlalt (4)清除特性ClearFeature请求Setup阶段主机一设备bmRequestType=00H0lH02H(清除“设备接n端点”的特性)bRequest=ClearFeature=Olit中北大学学位论文wValue=0001H接口?0000H(清除“设备的远程唤醒特性接口?端点的Halt特性”)wlndex=OOOOH0000H0000H0006H(设备接口号端点号)数据阶段无状态阶段设备一主机 (5)设置设备接n端点的特性Set_Feature请求Setup阶段主机一设备bmRequestType=00H0lH02HbRequest=S乱一Feature=03HwValueO001H接口?0000H(设备的远程唤醒接口?端点的Halt特性)wIndex=0000H0000H0000H“0006H(设备接口号端点号)wLength=0000H数据阶段无状态阶段设备一主机设置配置Set_Configuration请求Setup阶段主机一设备bmRequestType=OOHbRequest=SET-configuration=09HwValue=ConfigurationValue=OoooH置为Address State000l卜一置为当前配置wIndex=0000HwLength=0000H数据阶段无状态阶段设备一主机设备接口SetInterface请求Setup阶段主机一设备29中北大挚学位论文bmRequestType=01HbReouest=Set Interface=OBHwValue=Alcernat Setting=0000HwIndex=Interface=0000HwLength=0000H数据阶段无状态阶段设备一主机 (6)Set Descroptor设置描述符请求Setup阶段主机一设备bmRequestType=OOHbRequest=SET_Descriptor=07HwValue=DescriptorType&Index=OlOOH-设备描述符0200卜配置描述符wIndex=0000HLength=OescriptorLength=0012H(描述符长度、设备配置)数据阶段主机一设备a设备描述符(当wValue=OlOOH时)bLength=12H(设备描述符的长度,预期值)bDescroptorType=0lH(设备描述符类型,固定为OUt)bcd USB=01IOH(USBl10版本)bDeviceclass=OOH(设备类代码)bDeviceSubclass=OOH(设备子类代码)bDeviceProtocol=OOH(类协议代码)bMaxPaketSi zeO=08H(EPO的最大包尺寸)idVendor=07DAH(VID)idProduct=7F01H(PID)中北大学学位论文bcdDevice=xxxxHiManufaceturer=00HiProduct=00HiSetialNumber=00HbNumConfiguration=01H或b配置描述符wValue=0200H时bLength=09HbDescriptorType=02HwTotalLength=003CHbNumInterface=OlHbConfigurationValue=OIHiConfiguration=OOHbnttributes=lOl00000b=COHMaxpower=32H磅妾口描述符bLength=09HbDescriptorType=04HbImterface

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论