版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE论文(设计)题目TitleOfThesis(Design)串行总线光纤收发器设计与实现分院(系别)Department信息与电子工程学院串行总线光纤收发器设计与实现SerialBusOpticalFiberTransceiverDesignandImplementation串行总线光纤收发器设计与实现[摘要]随着光纤网络产品的日益普及,在网络布线中,越来越多的用户开始考虑使用光纤来代替传统的铜缆。其中采用“光纤收发器”来实现光纤布线是一种较为经济有效的方式。本文提出了一种基于光纤收发一体化而设计的接口方案及其实现方法。以ARM为核心,由光电模块、总线控制器、光纤等组成一个数据收发系统。该系统由发送端总线控制器输出电信号,通过光电模块转换成光信号,经光纤传送至接收端光电模块并转化成电信号,最后传送至接收端总线控制器。在实物制作中重点完成系统外围电路的设计,通过外围电路的滤波功能实现光纤与总线控制器之间的信号传输,最后利用ARM开发板、光电转换器和总线控制器等器件,Keil、altiumdesigner等开发工具,完成整个串行总线光纤收发器接口电路。
[关键词]光纤收发器串行总线ARM光电模块光纤通信
SerialBusOpticalFiberTransceiverDesignandImplementation[Abstract]Withthegrowingpopularityoffiber-opticnetworkproducts,moreandmoreusersstarttoconsidertheuseoffiberinsteadoftraditionalcopperinnetworkcabling.Inwhichthefiberoptictransceiverstofiberopticcablingisamorecost-effectivemanner.Thispaperproposedinterfaceprogramanditsimplementationwhichbasedontheintegrationoffiberoptictransceivers.Thedatatransceiversystemcomposedofphotovoltaicmodules,thebuscontroller,fiberandARMwhichasthissystem’score.Thesystembuscontrolleroutputelectricalsignalfromthesendingend,throughthephotovoltaicmodulestoconvertelectricalsignaltoopticalsignals,andthenthroughfiberoptictransmissiontothereceivingendofphotovoltaicmodulesandconvertedintoelectricalsignals,andfinallysenttothereceivingendbuscontroller.Focusinthephysicalproductionsystemperipheralcircuitdesign,throughfiltering,thefunctionofexternalcircuit,thenthesignalcantransmitbetweenthefiberandthebuscontroller,andfinallytheuseofdevicessuchastheARMdevelopmentboard,thephotoelectricconverter,thebuscontrollerandKeil,altiumdesignerandotherdevelopmenttoolstocompletetheserialbusfiber-optictransceiverinterfacecircuit.[KeyWords]FiberconverterSerialbusARMPhotovoltaicmodulesOpticalFiber
目录第一章绪论 11.1光纤收发器 11.1.1光纤收发器概况 11.1.2什么是光纤收发器 11.1.3光纤收发器分类 21.2相关数据传输方法概述 41.2.1串行接口通信技术 41.2.2现场总线技术 51.3本文所做工作 7第二章总体概要设计 82.1光纤收发模块的选用 82.2CAN总线与RS485的比较 92.3设计方案 10第三章硬件系统设计 123.1相关器件组成 123.2本文使用开发板简介 123.2.1概述 123.2.2电路及接口说明 133.2.3接口定义 153.3光电模块简介 173.3.1模块特点 173.3.21×9模块管脚定义 173.4硬件设计方案 18第四章系统测试和实现过程 254.1KELC软件介绍 254.1.1使用KeilC进行硬件开发 254.1.2使用KeilC进行单片机软件开发的步骤 254.1.3使用KeilC注意事项 254.2软件设计和测试流程 26结论 30致谢语 31参考文献 32附录: 33
引言自70年代以来,光纤凭借自身的一些固有特性(如不受噪声干扰、保密性好以及高传输带宽等)成为各种应用领域的理想传输介质。近年来,随着布线标准的改变,光电器件、光缆、连接器技术的发展以及应用带宽的逐步升级,光纤网络产品应用日益普及,很多用户开始考虑用“光纤到桌面”来替代水平布线系统中的铜缆方案。但完整地考虑一个光纤到桌面的解决方案,不仅要有光纤信息出口和光纤配线箱,还需要价格昂贵的光纤网卡和光出口集线器,整个系统成本大大提高。一种经济有效地实现光纤到桌面的方法是使用光纤收发器(即光电介质转换器)。光纤收发器不仅大大简化局域网的升级,而且可以保护原有铜缆LAN设备的投资,成为当前市场的迫切需要。PAGE15第一章绪论1.1光纤收发器1.1.1光纤收发器概况信息化建设的突飞猛进,人们对于数据、语音、图像等多媒体通信的需求日益旺盛,以太网宽带接入方式因此被提到了越来越重要的位置。但是传统的5类线电缆只能将以太网电信号传输100米,在传输距离和覆盖范围方面已不能适应实际网络环境的需要。光纤通信以其信息容量大、保密性好、重量轻、体积小、无中继、传输距离长等优点得到了广泛的应用,光纤收发器正是利用了光纤这一高速传播介质很好的解决了以太网在传输方面的问题。在一些规模较大的企业,网络建设时直接使用光纤为传输介质建立骨干网,而内部局域网的传输介质一般为铜线,如何实现局域网同光纤主干网相连呢?这就需要在不同端口、不同线形、不同光纤间进行转换并保证链接质量。光纤凭借自身的一些固有特性(如不受噪声干扰、保密性好以及高传输带宽等)成为各种应用领域的理想传输介质。近年来,随着布线标准的改变,光电器件、光缆、连接器技术的发展以及应用带宽的逐步升级,光纤网络产品应用日益普及,很多用户开始考虑用“光纤到桌面”来替代水平布线系统中的铜缆方案。一种应用在以太网的经济有效的光纤到桌面的方法是:使用光纤收发器(即光电介质转换器)。光纤收发器的出现,将双绞线电信号和光信号进行相互转换,确保了数据包在两个网络间顺畅传输,同时它将网络的传输距离极限从铜线的100米扩展到100公里(单模光纤)。光纤收发器不仅大大简化局域网的升级,而且可以保护原有铜缆LAN设备的投资,当前市场需要很大[1]。1.1.2什么是光纤收发器光纤收发器是一种将短距离的双绞线电信号和长距离的光信号进行互换的以太网传输媒体转换单元,在很多地方也被称之为光电转换器。产品一般应用在以太网电缆无法覆盖、必须使用光纤来延长传输距离的实际网络环境中,且通常定位于宽带城域网的接入层应用,同时在把光纤最后一公里线路连接到城域网和更外层的网络上也发挥了巨大的作用。企业在进行信息化基础建设时,通常更多地关注路由器、交换机乃至网卡等用于节点数据交换的网络设备,却往往忽略介质转换这种非网络核心必不可少的设备。特别是在一些要求信息化程度高、数据流量较大的政府机构和企业,网络建设时需要直接上连到以光纤为传输介质的骨干网,而企业内部局域网的传输介质一般为铜线,确保数据包在不同网络间顺畅传输的介质转换设备成为必需品。1.1.3光纤收发器分类目前国外和国内生产光纤收发器的厂商很多,产品线也极为丰富。为了保证与其他厂家的网卡、中继器、集线器和交换机等网络设备的完全兼容,光纤收发器产品必须严格符合10Base-T、100Base-TX、100Base-FX、IEEE802.3和IEEE802.3u等以太网标准,除此之外,在EMC防电磁辐射方面应符合FCCPart15[2]。时下由于国内各大运营商正在大力建设小区网、校园网和企业网,因此光纤收发器产品的用量也在不断提高,以更好地满足接入网的建设需要。随着光纤收发器产品的多样化发展,其分类方法也各异,但各种分类方法之间又有着一定的关联。按光纤性质分类单模光纤收发器:传输距离20公里~120公里;多模光纤收发器:传输距离2公里~5公里;按光纤来分,可以分为多模光纤收发器和单模光纤收发器。由于使用的光纤不同,收发器所能传输的距离也不一样,多模收发器一般的传输距离在2公里~5公里之间,而单模收发器覆盖的范围可以从20公里~120公里。需要指出的是因传输距离的不同,光纤收发器本身的发射功率、接收灵敏度和使用波长也会不一样,如5公里光纤收发器的发射功率一般在-20~-14db之间,接收灵敏度为-30db,使用1310nm的波长;而120公里光纤收发器的发射功率多在-5~0dB之间,接收灵敏度为-38dB,使用1550nm的波长[2]。按所需光纤分类单纤光纤收发器:接收发送的数据在一根光纤上传输。双纤光纤收发器:接收发送的数据在一对光纤上传输。顾名思义,单纤设备可以节省一半的光纤,即在一根光纤上实现数据的接收和发送,在光纤资源紧张的地方十分适用。这类产品采用了波分复用的技术,使用的波长多为1310nm和1550nm[2]。但由于单纤收发器产品没有统一国际标准,因此不同厂商产品在互联互通时可能会存在不兼容的情况。另外由于使用了波分复用,单纤收发器产品普遍存在信号衰耗大的特点。目前市面上的光纤收发器多为双纤产品,此类产品较为成熟和稳定,但需要更多的光纤。按工作层次/速率分类100M以太网光纤收发器:工作在物理层。10/100M自适应以太网光纤收发器:工作在数据链路层。按工作层次/速率来分,可以分为单10M、100M的光纤收发器、10/100M自适应的光纤收发器和1000M光纤收发器。其中单10M和100M的收发器产品工作在物理层,在这一层工作的收发器产品是按位来转发数据。该转发方式具有转发速度快、通透率高、时延低等方面的优势,适合应用于速率固定的链路上,同时由于此类设备在正常通信前没有一个自协商的过程,因此在兼容性和稳定性方面做得更好,而10/100M光纤收发器是工作在数据链路层,在这一层光纤收发器使用存储转发的机制,这样转发机制对接收到的每一个数据包都要读取它的源MAC地址、目的MAC地址和数据净荷,并在完成CRC循环冗余校验以后才将该数据包转发出去。存储转发的好处一来可以防止一些错误的帧在网络中传播,占用宝贵的网络资源,同时还可以很好地防止由于网络拥塞造成的数据包丢失,当数据链路饱和时存储转发可以将无法转发的数据先放在收发器的缓存中,等待网络空闲时再进行转发。这样既减少了数据冲突的可能又保证了数据传输的可靠性,因此10/100M的光纤收发器适合于工作在速率不固定的链路上[3]。1000M光纤收发器可以按实际需要工作在物理层或数据链路层,市场上这两种1000M光纤收发器都有提供。按结构分类桌面式(独立式)光纤收发器:独立式用户端设备。机架式(模块化)光纤收发器:安装于十六槽机箱,采用集中供电方式。按结构来分,可以分为桌面式(独立式)光纤收发器和机架式光纤收发器。桌面式光纤收发器适合于单个用户使用,如满足楼道中单台交换机的上联。机架式(模块化)光纤收发器适用于多用户的汇聚,如小区的中心机房必须满足小区内所有交换机的上联,使用机架便于实现对所有模块型光纤收发器的统一管理和统一供电,目前国内的机架多为16槽产品,即一个机架中最多可加插16个模块式光纤收发器。按管理类型分类非网管型以太网光纤收发器:即插即用,通过硬件拨码开关设置电口工作模式。网管型以太网光纤收发器:支持电信级网络管理。随着网络向着可运营可管理的方向发展,大多数运营商都希望自己网络中的所有设备均能做到可远程网管的程度,光纤收发器产品与交换机、路由器一样也逐步向这个方向发展。对于可网管的光纤收发器还可以细分为局端可网管和用户端可网管。局端可网管的光纤收发器主要是机架式产品,多采用主从式的管理结构,即一个主网管模块可串联N个从网管模块,每个从网管模块定期轮询它所在子架上所有光纤收发器的状态信息,向主网管模块提交。主网管模块一方面需要轮询自己机架上的网管信息,另一方面还需收集所有从子架上的信息,然后汇总并提交给网管服务器。用户端网管主要可以分为三种方式:第一种是在局端和客户端设备之间运行特定的协议,协议负责向局端发送客户端的状态信息,通过局端设备的CPU来处理这些状态信息,并提交给网管服务器;第二种是局端的光纤收发器可以检测到光口上的光功率,因此当光路上出现问题时可根据光功率来判断是光纤上的问题还是用户端设备的故障;第三种是在用户端的光纤收发器上加装主控CPU,这样网管系统一方面可以监控到用户端设备的工作状态,另外还可以实现远程配置和远程重启[4]。在这三种用户端网管方式中,前两种严格来说只是对用户端设备进行远程监控,而第三种才是真正的远程网管。但由于第三种方式在用户端添加了CPU,从而也增加了用户端设备的成本,因此在价格方面前两种方式会更具优势一些。目前大多数厂商的网管系统都是基于SNMP网络协议上开发的,支持包括Web、Telnet、CLI等多种管理方式。管理内容多包括配置光纤收发器的工作模式,监视光纤收发器的模块类型、工作状态、机箱温度、电源状态、输出电压和输出光功率等等。随着运营商对设备网管的需求愈来愈多,光纤收发器的网管将日趋实用和智能。按电源分类:内置电源光纤收发器:内置开关电源为电信级电源外置电源光纤收发器:外置变压器电源多使用在民用设备上按电源来分,可以分为内置电源和外置电源两种。其中内置开关电源为电信级电源,而外置变压器电源多使用在民用设备上[6]。前者的优势在于能支持超宽的电源电压,更好地实现稳压、滤波和设备电源保护,减少机械式接触造成的外置故障点;后者的优势在于设备体积小巧和价格便宜。1.2相关数据传输方法概述1.2.1串行接口通信技术串口叫做串行接口,也称串行通信接口,按电气标准及协议来分包括RS232-C、RS422、RS485、USB等。RS232-C、RS422与RS485标准只对接口的电气特性做一出规定,不涉及接插件、电缆或协议。USB是近几年发展起来的新型接口标准,主要应用于高速数据传输领域。下面将对这几种串行通信接口做简单的介绍。1.RS232-CRS232-C也称标准串口,是目前最常用的一种串行通讯接口。它是在1969年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”,该接口只具有单站能力。传统的RS232-C接口标准有22根线,采用标准25芯D型插头座。后来的PC上使用简化了的9芯D型插座。现在应用中25芯插头座已很少采用。现在的台式电脑一般有两个串行口:COM1和COM2,从设备管理器的端口列表中就可以看到。硬件表现为计算机后面的9针D形接口,由于其形状和针脚数量的原因,其接头又被称为DB9接头。现在有很多手机数据线或者物流接收器都采用COM口与计算机相连,很多投影机,液晶电视等设备都具有了此接口,厂家也常常会提供控制协议,便于在控制方面实现编程受控,现在越来越多的智能会议室和家居建设都采用了中央控制设备对多种受控设备的串口控制方式。2.RS422RS422标准全称是“平衡电压数字接口电路的电气特性”,它定义了接口电路的特性。实际上还有一根信号地线,共5根线。由于接收器采用高输入阻抗和发送驱动器比RS232-C更强的驱动能力,故允许在相同传输线上连接多个接收节点,最多可接10个节点。即一个主设备(Master),其余为从设备(Salve),从设备之间不能通信,所以RS422支持点对多的双向通信。接收器输入阻抗为4k,故发端最大负载能力是10×4k+100几(终端电阻)。RS422四线接口由于采用单独的发送和接收通道,因此不必控制数据方向,各装置之间任何必须的信号交换均可以按软件方式(XON/XOFF握手)或硬件方式(一对单独的双绞线)[8]。RS422的通常用途是作为RS232-C的扩展。一个变种的和RS232-C兼容的EIA422作为mini-DIN-8连接在被使用在iMac上的因特尔的UniversalSerialBus取代前,曾在苹果麦金托什(MAC)上大量使用。目前RS422的应用主要集中在工业控制环境,特别是长距离数据传输,如连结远端周边控制器或传感器。3.RS485为扩展应用范围,EIA又于1983年在RS422基础上制定了RS485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。RS485仅仅规定了接受端和发送端的电气特性,而没有规定或推荐任何数据协议。RS485可以应用于配置便宜的广域网和采用单机发送,多机接收通信链接。它提供高速的数据通信速率(10m时10Mbit/s;1200m时10Okbit/s)。RS485和RS422一样使用双绞线进行高电压差分平衡传输,它可以进行大面积长距离传输(超过4000米,1200米)。4.USB(UniversalSerialBus)通用串行总线(简称USB),是近年来一种新兴的计算机外围设备串行通信的接口标准。随着计算机技术的蓬勃发展,传统的计算机外设接口越来越不能满足功能日益繁多的设备的需求与操作,在1994年底。由Intel、Microsoft、Compaq、IBM、NEC、Northern、Telcom等几家大厂商发起共同提出了USB总线标准,并成立了USBorg的官方组织其成为开放的标准,从而使不同生产厂家的设备能够在一个开放的体系下广泛的被使用。从最初的0.7版本规范问世开始,到98年的1.1全速版本以及2000年的2.0高速版本,再到USB-UTG新兴技术,在规范不断完善和发展的过程中,USB总线接口技术也被广泛应用在不同的领域,如移动存储设备,打印机设备,数码相机,PDA掌上电脑等。1.2.2现场总线技术现场总线概述现场总线是用于现场仪表与控制系统和控制室之间的一种全分散、全数字化、双向互联、多点多站的通信网络。IEC对现场总线(Fieldbus)一词的定义为:现场总线是一种应用于生产现场,在现场设备之间、现场设备与控制装置之间实行双向、串行、多节点数字通信的技术。现场总线遵循ISO的OSI开放系统互连参考模型的全部或部分通讯协议,作为最底层的现场控制器和现场智能仪表设备互连的实时控制通讯网络,它沟通了生产过程现场控制设备之间及其与更高控制管理层网络之间的联系,为打破自动化系统的信息孤岛创造了条件。现场总线的本质是信息处理现场化。一个控制系统,无论是采用DCS还是现场总线,从被控制对象采集到的信息量是一样多的,而采用现场总线和智能仪表后,可以从现场得到更多的诊断、维护和管理信息。现场总线系统的信息量增加了,而传输信息的线缆却减少了。这就要求一方面要提高线缆传输信息的能力、减少多余信息的传递;另一方面要让大量信息在现场就地完成处理,减少现场与控制机房之间的信息往返。现场总线不仅仅是省掉了几根电缆,信息处理的现场化才是智能仪表和现场总线所追求的目标,也是现场总线不同于其它计算机通信技术的标志[9]。几种常见的现场总线目前国际上存在着几十种现场总线标准,比较流行的主要有FF、CAN、DeviceNet、LonWorks、HART等现场总线。它们各自具有不同的特点,分别在不同的应用领域里占据了主导地位,下面对其中几种主流总线作简单介绍。1.FF(FoundationFieldbus)其前身是ISP协议和WorldFIP协议,1994年二者合并,成立了现场总线基金会,开发出国际上统一的现场总线协议。它以ISO/OSI开放系统互连模型为基础,取其物理层、数据链路层、应用层为FF通信模型的相应层次,并在应用层上加了用户层。FF分为低速H1和高速H2两种通信速率。FF在过程自动化领域得到了广泛支持,具有良好发展前景。2.CAN(ControllerAreaNetwork)最早由德国BOSCH公司提出,用于汽车内部测量和执行部件之间的数据通信。其总线规范己被ISO国际标准组织制订为国际标准,得到了Motorola、Philips、Intel、Siemens、NEC等公司的支持,已广泛应用于离散控制领域。其模型结构只有3层,只取ISO的物理层、数据链路层和应用层。已有多家公司开发了符合CAN协议的通信芯片,还有插在PC机上的CAN总线适配器,具有接口简单、编程方便、开发系统价格使宜等优点。由于CAN被愈来愈多不同领域采用和推广,导致要求各种应用领域通信报文的标准化。为此,1991年9月PHILIPSSEMICONDUCTORS制订并发布了CAN技术规范(VERSION2.0)。此后,1993年11月ISO正式颁布了道路交通运载工具一数字信息交换一高速通信控制器局部网(CAN)国际标准(ISO11898),为控制器局部网标准化、规范化推广铺平了道路。3.DeviceNetDeviceNet是90年代中期发展起来的一种基于CAN技术的开放型、符合全球工业标准的低成本、高性能的通信网络,最初由美国RockwellAutomation公司开发应用。DeviceNet是一个开放的网络标准。规范和协议都是开放的,供货商将设备连接到系统时,无需为硬件、软件或许可权付费。任何人都能以少量的复制成本从开放式DeviceNet供货商协会(ODVA)获得DeviceNet规范,并可以加入ODVA,参加对DeviceNet规范进行增补的技术工作组。2003年4月1日,DeviceNet现场总线在我国作为国家标准开始实施。4.LonWorks由美国Echelon公司推出并与Motorola、Toshiba公司共同倡导,于1990年正式公布。它采用了ISO模型的全部7层通信协议,采用了面向对象的设计方法,通过网络变量把网络通信设计简化为参数设置,支持多种通信介质,被誉为通用控制网络。LonWorks被广泛应用在楼宇自动化、家庭自动化、保安系统、办公设备、运输设备、工业过程控制等行业。5.HART(HighwayAddressableRemoteTransducer)最早由Rosemount公司开发,于1993年成立了HART通信基金会。这种被称为可寻址远程传感高速通道的开放通信协议,其特点是在现有模拟信号传输线上实现数字通信,属于模拟系统向数字系统转变过程中的过渡性产品,由于其采用模拟数字混合信号制,导致难以开发出一种能满足各公司要求的通信接口芯片,但在当前的过渡时期,仍具有较强的市场竞争能力。1.3本文所做工作本论文研究的目的是通过对RS485总线和CAN总线应用现状的对比筛选,并选取一种通信总,设计出一种,能够使光缆和单片机之间进行实时、有效地进行数据转换的完整光纤收发器产品。在本课题的研究过程中,主要研究内容包括以下几个方面:1.光电模块或是开发板的选择:比如,单模或是多模光纤的光电转换模块,各种规格参数的光电模块的选择,各种开发板的选择。2.串行总线的选择。3.架构方面,通过光纤,光电模块和CAN总线控制器结构的学习,研究和设计,理论上能使三者通过电路和软件的支持,能够顺利实现通信。4.CAN总线控制器引脚和1×9光电模块的9个引脚如何通过连接到一起,能够实现两者之间的正常通信。5.光纤的接收端如何接收信号源。6.CAN总线控制器收到来自光纤→光电模块的信号,依靠开发板的支持,能够通过声音或是LED灯能够观测到信号成功接收。
第二章总体概要设计2.1光纤收发模块的选用实现光纤传输的一个重要环节就是完成总线信号的光电转换,可以使用专用的光纤收发器件。目前,光纤收发器有两种类型:一种是基于分立元件的,即光接收和光发送模块是独立的。这种光收发模块相对比较简单,光发射部分主要由光源和偏置控制电路组成;光接收部分主要由光探测器、整形放大电路组成,一般采用塑料或多模光纤进行传输。另一种是光纤收发一体模块,在光源、光探测、光器件封装、驱动集成电路、放大集成电路技术进步的基础上,将接收和发送集成到一起、符合电信传输标准的光电子系统;在光发射部分使用了性能更好的光源,并在接收部分加入了时钟及再生判决电路等,一般采用单模光纤进行传输。因此,光纤收发一体模块在信号转换的速率和稳定性上都比分立的光纤收发器件有很大的提高,而且与外围器件接口方便,单模光纤的色散、传输光功率消耗也比多模光纤小[11]。本设计中选用一款TTL光纤收发一体模块,标准工业用1×9引脚,单+5V电源供电,光纤传输模式为单模,标准ST-ST光纤接口。该模块驱动接口如下图所示:
图2.1模块驱动接口Fig2.1Interfaceofmoduledriver图2.21×9光电模块外形尺寸Fig2.21×9Dimensionsofthephotovoltacmodules2.2CAN总线与RS485的比较1.速度与距离:CAN与RS485以1Mbit/S的高速率传输的距离都不超过100M,可谓高速上的距离差不多。但是在低速时CAN以5Kbit/S时,距离可达10KM,而485再低的速率也只能到1219米左右(都无中继)。可见CAN在长距离的传输上拥有绝对的优势。2.总线利用率:RS485是单主从结构,就是一个总线上只能有一台主机,通讯都由它发起的,它没有下命令,下面的节点不能发送,而且要发完即答,受到答复后,主机才向下一个节点询问,这样是为了防止多个节点向总线发送数据,而造成数据错乱。而CAN-bus是多主从结构,每个节点都有CAN控制器,多个节点发送时,以发送的ID号自动进行仲裁,这样就可以实现总线数据不错乱,而且一个节点发完,另一个节点可以探测到总线空闲,而马上发送,这样省去了主机的询问,提高了总线利用率,增强了快速性。所以在汽车等实性要求高的系统,都是用CAN总线,或者其他类似的总线。3.错误检测机制:RS485只规定了物理层,而没有数据链路层,所以它对错误是无法识别的,除非一些短路等物理错误。这样容易造成一个节点破坏了,拼命向总线发数据(一直发1),这样造成整个总线瘫痪。所以RS485一旦坏一个节点,这个总线网络都挂。而CAN总线有CAN控制器,可以对总线任何错误进行检测,如果自身错误超过128个,就自动闭锁。保护总线。如果检测到其他节点错误或者自身错误,都会向总线发送错误帧,来提示其他节点,这个数据是错误的。这样CAN总线一旦有一个节点CPU程序跑飞了,它的控制器自动闭锁,来保护总线。所以在安全性要求高的网路,CAN是很强的。4.价格与培训成本:CAN器件的价格大约是485的2倍这样,485的通讯从软件上是很方便的,只要懂串行通讯,就可以编程,而CAN需要底层工程师了解CAN复杂的层,编写上位机软件也要了解CAN的协议。5.CAN总线通过CAN控制器接口芯片82C250的两个输出端CANH和CANL与物理总线相连,而CANH端的状态只能是高电平或悬浮状态,CANL端只能是低电平或悬浮状态。这就保证不会出现象在RS-485网络中,当系统有错误,出现多节点同时向总线发送数据时,导致总线呈现短路,从而损坏某些节点的现象。而且CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,从而保证不会出现象在网络中,因个别节点出现问题,使得总线处于“死锁”状态。6.CAN具有完善的通信协议,可由CAN控制器芯片及其接口芯片来实现,从而大大降低了系统的开发难度,缩短了开发周期,这些是只仅仅有电气协议的RS-485所无法比拟的。表2.1CAN总线与RS485的比较Table2.1ComparisonofCANbusandRS485特性RS-485CAN-bus单点成本低廉稍高系统成本高较低总线利用率低高网络特性单主网络多主网络数据传输率低高容错机制无可靠的错误处理和检错机制通讯失败率高极低节点错误的影响导致整个网络的瘫痪无任何影响通讯距离<1.5km可达10km(5kbps)网络调试困难非常容易开发难度标准Modbus协议标准CAN-bus协议后期维护成本高低经过两者的比较,最后决定选用CAN总线作为本设计的串行总线。2.3设计方案串行总线光纤收发器系统主要由CAN总线控制器、光纤、光电转换模块、电源和基本外设电路部分组成。系统的结构如图2.3所示光纤光纤单片机CAN总线光电模块电信号电信号电信号电信号光信号光信号图2.3系统结构方框图Fig2.3Systemblockdiagram串行总线光纤收发器的实现方式主要是利用光电转换模块连接CAN总线控制器与光纤,通过CAN总线控制器输入信号源,把信号通过光电模块转换成光信号,通过光纤传入CAN总线控制器,单片机接收到最初发送的的程序。
第三章硬件系统设计3.1相关器件组成红牛开发板(STM32F103ZET6),集成CAN总线控制器;1×9光电模块;光纤。3.2本文使用开发板简介3.2.1概述红牛STM32开发板是以意法半导体(ST)公司推出的基于ARMCortex-M3系列最高配置芯片STM32F103ZE为核心组成。板上资源:CPU:STM32F103ZET6;(LQFP144脚,片上集成512Kflash、64KRAM、12BitADC、DAC、PWM、CAN、USB、SDIO、FSMC等资源);板上外扩512KSRAM,2MNORFLASH(板上支持最大1024kSRAM,16M的NORFLASH)满足大容量数据采集、处理及分析要求;板上外扩128M或256MNANDFLASH(标配128M)满足彩屏上丰富的图片存储、数据表格存储,文件管理等应用;搭配2.8寸TFT真彩触摸屏模块或3.2寸TFT真彩触摸屏模块(由用户选择),FSMC控制,彩屏模块上配置RSM1843(ADS7843、TSC2046脚对脚兼容)触摸控制器芯片,支持一个SD卡(SPI方式)可用于存储图片,支持一个AT45DB的DATAFLASH(可用于存储汉字库);一路CAN通信接口,驱动器芯片SN65VHD230;两路RS232接口;一路RS485通信接口;一个SD卡座SDIO控制方式;一个I2C存储器接口,标配24LC02(EEPROM);一个SPI存储器接口,标配AT45DB161D(DATAFLASH);一路ADC调节电位器输入;三路ADC输入接线端子引出;两路PWM输出接线端子引出;两路DAC输出接线端子引出;一个蜂鸣器、五个用户LED灯、一个电源指示灯、一个USB通信指示灯;四个用户按键,一个系统复位按键;电源选择跳线,支持外接5V电源供电,USB供电或JLINK供电;板子规格尺寸:13CM×10CM;所有I/O口通过2.54MM标准间距引出,方便二次开发板上的全部硬件特性能快速帮助你评估STM32F103ZE所有外设(USB、motorcontrol、CAN、SPI、MicroSDcard、smartcard、USART、NORFlash、NANDflash、SRAM)。3.2.2电路及接口说明1.Powersupply(电源供给)红牛开发板采用外部5V电源输入、USB接口提供5V电源输入或是由JLINKARM仿真器提供的5V电源供电。5VDC电源适配器连接到J3,电源选择跳线JP4插到1-2处。选择外部5V电源供电。把USB电缆连接到USB口J4,电源选择跳线JP4插到2-3处,选择USB5V电源供电。把JLINKARM仿真器连接到J5口,在JLINKCOMMANDER中输入poweronperm即可由JLINK输出5V电源提供给开发板供电。表3.1电源选择跳线设置Table3.1Powerselectjumpersetting跳线描述JP4JP4用于选择外部5V电源座输入5V电源供电,USB供电。跳线短路帽在1-2处为外部5V供电,2-3处为USB口供电。2.Bootoption(启动选项)红牛开发板可以采用以下启动方式:内嵌的用户闪存(默认);为ISP引导装载系统内存;用于调试的嵌入式SRAM。启动方式通过配置BOOT0和BOOT1选择跳线设定。表3.2启动方式选择跳线设置Table3.2StartupmodeselectandjumpersettingsBOOT1(JP8)BOOT0(JP9)启动模式描述(1-2、2-3)2-3红牛开发板设定为UserFlash启动方式。BOOT1可以任意位置,如插到1-2、2-3或是开路(既不插)默认是插到2-3(Defaultsetting)2-31-2红牛开发板设定为SystemMemory启动方式。1-21-2红牛开发板设定为EmbeddedSRAM启动方式。3.时钟源红牛开发板由两个时钟源提供系统时钟和RTC时钟。Y1,32.768kHZ晶震,做为RTC的时钟源;Y2,8MHZ晶震,做为系统的时钟源,如果采用内部8MRC震荡器Y2可以不接。4.复位方式复位信号在红牛开发板上是低电平复位。复位方式包括以下几种方式:复位按键Reset(S1);通过JTAG仿真下载口输入复位信号。5.模拟输入CN1的AIN0、AIN1、AIN2连接到STM32F103ZE的外部模拟输入引脚PC0、PC1、PC2上。6.PWM输出CN1的PWM0、PWM1连接到STM32F103ZE的定时器输出引脚PB0、PB1。7.DAC输出CN1的DAC0、DAC1连接到STM32F103ZE的DAC输出引脚PA4、PA5。DAC0、DAC1输出引脚与SPI1_NSS、SPI1_SCK引脚复用。如要使用DAC0和DAC1需要拔掉J1、J2跳线。J1、J2跳线默认是插上既分配给SPI1使用。9.显示接口320×240TFT彩色LCD连接到STM32F103ZEFSMC接的bank1NOR/PSRAM4,5个红色LED(D1、2、3、4、5)连接到标准IO口PF6、7、8、9、10用于显示。表3.4彩色TFTLCD接口Table3.4ColorTFTLCDinterface引脚信号描述对应IO引脚信号描述对应IO引脚信号描述对应IO13V3电源2GND地3DB00PD144DB01PD155DB02PD06DB03PD17DB04PE78DB05PE89DB06PE910DB07PE1011DB08PE1112DB09PE1213DB10PE1314DB11PE1415DB12PE1516DB13PD817DB14PD918DB15PD1019CSPG1220RSPF021WRPD522RDPD423RESETRESET24ENPA125MISOPB1426INTPG727MOSIPB1528LEPG829SCLKPB1330F_CSPG1131TP_CSPB1232SD_CSPG15333.2.3接口定义1.模拟输入、PWM输出、DAC输出接口CN1定义表3.7模拟输入、PWM输出、DAC输出接口CN1定义Table3.7Analoginput,PWMoutput,theDACoutputinterfaceandCN1defined针脚数描述针脚数描述1AIN06PWM12AIN17GND3AIN28DAC04GND9DAC15PWM010GND2.CAN总线接口CN2定义表3.8.CAN总线接口CN2Table3.8CANbusinterfaceCN2针脚数描述针脚数描述1CANH2CANL3.RS485总线接口CN3定义表3.9.RS485总线接口CN3Table3.9RS485businterfaceCN3针脚数描述针脚数描述1485AB2485A图3.1RS232连接接头CON1,CON2(前视图)Fig3.1RS232connectorCON1、CON2(frontview)4.RS232通信接口CON1、CON2定义表3.10.CON1定义Table3.10DefinitionofCON1针脚数描述针脚数描述1NC6NC2USART1_PA97NC3USART1_PA108NC4NC9NC5GND表3.11.CON2定义Table3.11DefinitionofCON2针脚数描述针脚数描述1NC6NC2USART1_PA27NC3USART1_PA38NC4NC9NC5GND5.JTAG调试接口J5定义图3.2JTAG调试接口J5Fig3.2JTAGdebuginterfaceJ5表3.12J5引脚Table3.12PinsofJ5针脚数描述针脚数描述13.3Vpower2GND3PB44GND5PA156GND7PA138GND9PA1310GND11RTCK12GND13PB314GND15RESET#16GND17DBGRQ18GND19DBGACK20GND6.USB2.0接口定义表3.12USB连接座引脚定义Table3.12DefinitionofUSBconnectorpins脚位编号功能描述脚位编号功能描述+DP-DMVVBUS(power)GGND7.JTAG和SWD调试方式选择跳线接口定义(JP6)在JTAG方式JP6的五个跳线帽必须全部插上。在SWD方式只需插上TMS(SWDIO)TCK(SWDCLK)这两根跳线既可。3.3光电模块简介光收发模块,就是在光纤通信系统中用于电光与光电转换的器件,由光接收部分和光发射部分构成,在光信号与电信号之间起着桥梁作用。3.3.1模块特点工作电压:+3.3V或+5V;电接口电平:LVPECL电平或PECL电平;工作温度:商业温度0~70℃或工业温度-40~85℃;工作速率:155Mbit/s,622Mbit/s,1.25Gbit/s;工作波长:850nm、1310nm、1550nm、CWDM波长;接收端:PINAPD;传输距离:0~100公里;光接口类型:SC接口、FC接口、ST接口(带尾纤的SC接头带尾纤的FC接头)。3.3.21×9模块管脚定义1.Veer:接地;2.RD:接收数据输入;3.NC:不使用;4.SD:验证是否有信号输入,是的话外围电路的LED灯会熄灭;5.Vccr:接收电源;6.Vcct:发送电源;7.NC:不使用;8.TD:发射数据输入;9.Veet:接地。3.4硬件设计方案基于RS-485/CAN总线光纤收发器主要的功能是实现RS-485总线、CAN总线、光电模块、单片机之间的互相通信。它们各自形成自己独立的体系,因此下面分别各自介绍它们的硬件构成。硬件总体需求:STM32架构的嵌入式处理器;CAN总线接口及总线设备(采用红牛开发板作为总线设备,控制部件为STM32F103ZET6单片机);光纤;1×9光模块。总体设计图如下,PAGE22图3.3总体设计图Fig3.3TheoveralldesignPAGE39光纤中的光信号通过TXD(发送端),RXD(接收端)进入光电模块,在光电模块中进行物理层转换变为电信号,从光电模块的九个引脚输出,进入CAN总线控制器。CAN全称是ControllerAieaNetwork,即控制器局域网,是国际上应用最广泛的总线之一。它已经在车载各电子控制装置通讯领域的到广泛的应用。CAN总线可以采用多种物理介质传输信息,最常用的是双绞线。信号使用差分电压传送,两条信号线被称为CAN-H和CAN-L。硬件构成需要CAN总线控制器和收发器。CAN总线接口与1×9光模块连接电路图如下:图3.4CAN总线接口与1×9光模块连接电路图Fig3.4CANbusinterfaceand1×9opticalmoduleconnectiondiagram电源中的直流电流通过电路中的电容电感的滤波功能,直流电通过电感进入Vccr和Vcct两端,交流电通过电容进入大地中。图中电阻R1选用1K,Vcc电压为3V,电阻1K则电流为3毫安,可以正常点亮D1。开发板上CAN总线控制器接收,发送端引脚为P8和P9,见图3.5。图3.5CAN总线控制器发送输出端引脚Fig3.5OutputpinsofCANbuscontrolleraltiumdesigner绘制的外围电路图如图3.6所示。图3.6外围电路图Fig3.6Externalcircuitaltiumdesigner绘制的外围电路PCB图如图3.7所示。图3.7外围电路PCB图Fig3.7PeripheralcircuitPCBmap
第四章系统测试和实现过程本设计把STM32F103ZET6芯片和CAN总线控制器与光电模块结合起来实现两块开发板上的CAN总线进行数据通信。硬件的成熟加上采用简单实用的C语言编程,设计过程中全部编程设计工作都在keilc设计平台上实现。4.1KELC软件介绍4.1.1使用KeilC进行硬件开发•用C语言开发工作效率高,产品研发周期短;•C语言的代码可读性和可维护性好;•C语言对数据结构的良好支持;•C语言对存储空间的自动优化管理;•C语言拥有大量现成的功能(函数)模块;•C语言程序的一致性和可移植性好;•C编译器具有较强的程序优化能力;•集成C环境采用直观的方式进行编译参数设置;•集成C环境是近代和将来的单片机系统首选的开发语言[14]。4.1.2使用KeilC进行单片机软件开发的步骤•根据需求确定软硬件分工,选择芯片,落实外部存储空间的访问地址;•建立uVision2工程,根据硬件条件进行工程环境设置;•确定和实现数据结构,及其访问方案;•确定和实现存储分配和使用方案、硬件访问方法,并通过测试程序的验证;•编写程序代码(先框架、其次总体陷阱、然后流程、最后进行功能模块实现);•仿真调试程序(先框架、其次总体陷阱、然后流程,最后进行功能模块的测试);•优化程序(先流程、后功能模块);•烧写芯片,上板测试和完善。4.1.3使用KeilC注意事项•正确选择单片机(芯片的匹配);•正确设置外部存储器地址;•充分理解不同的存储类型的意义;•掌握KeilC常用的环境参数设置;•合理使用变量类型;•正确理解和合理使用指针;•特别注意数据结构及其访问方法对效率的影响;•需要掌握根据汇编源文件优化C程序的方法;•正确理解“纯软件”仿真[15]。图4.1软件编译Fig4.1Softwarecompiler4.2软件设计和测试流程本设计的测试思路为:先测试CAN总线程序是否正确。再进行一块板的自发自收测试,开发板发的信号能经过外围电路的输入端,并从输出端输出,进入板内程序运行成功,则第一步测试完成。先使用KELC进行程序测试,使LED灯能够正常点亮,开发板上的D1,D2点亮,D4闪烁,测试成功。图4.2程序测试Fig4.2Programtesting图4.3外围电路Fig4.3PeripheralcircuitsD1端正极输入高电平,如果光电模块没有接收到信号,则SD端输出低电平,则D1点亮;如果光电模块收到信号,则SD端输出高电平,则D1熄灭。通过观察D1的点亮和熄灭,能直观的检测到信号是否被接收到。进行一块板的自发自收测试,不连接光缆,开发板LED灯一切正常,外围电路中D1处于点亮状态,证明没有收到信号。如图4.2所示。图4.4网线断开Fig4.4Networkcableisdisconnected把光缆连接在光电模块两端,开发板LED正常,D1熄灭,证明控制器成功收到自己发送的信号,实验成功。图4.5连接网线Fig4.5Connectthenetworkcable
结论CAN总线应用范围的日趋广泛,并且能够适应越来越复杂的环境,特别是一些强干扰、远距离、地理分布不均、工作环境恶劣的场合。传统的双绞线已不能满足需要,采用光纤介质不但能解决这些问题,而且给CAN总线应用带来更大的灵活性。实现光纤传输的一个关键点就是光纤传输接口的设计,本文提出了一种基于光纤收发一体模块的接口方案及其实现,并通过实验验证了设计的正确性,对于在CAN总线这样速率较低的现场总线中使用光纤传输具有一定实用价值。本课题的主要任务是串口总线收发器系统的实现。在光纤通信中,使用光纤收发器将光纤最后一百米内的光信号转变成可在双绞线中传输的电信号,并用单片机实现光纤到户的功能,使用实验室中的电子器材和电路设计实现了光纤收发器的功能。通过这次毕业设计,我学到了不少课本上没有的知识,也锻炼了自己的动手能力,将以前学过的零散的知识串到一起。通过实践,加深对单片机知识及其系统的认识。使我对STM32系列单片机的接口有了更深层次的理解,熟悉了一些单片机常用的外围电路引脚和连接方法。致谢语毕业论文是大学阶段的最后一课。在指导老师张守祥老师的悉心指导下,今天终于完成了课题研究和毕业论文的全部工作。张老师不仅毫不保留地将其渊博的专业知识和扎实的实践技能教给了我,而且还教育我们如何做人,在毕业设计上,他给予了我无微不至的帮助,在此请允许我向我的指导老师致以深深的谢意。四年来,学院的许多老师都对我们的学习和生活提供了很大的帮助和便利,他们将其丰富的专业知识毫不保留地传授给了我们,认真指导了我们的学习,才使得我们能在专业水平上有一个长足的进步。在此,请允许我向他们一各位尊敬的老师致以深深的谢意。最后,我还得感谢我的同学、朋友们。几年来,他们都对我的学习和生活给予了许许多多的关心和帮助,特地在此道声谢谢。同时也感谢我的家人和其他所有给予过我帮助的人们,谢谢大家。聂滕芝山东工商学院信电学院2012年05月
参考文献[1]杨宪惠.现场总线技术及应用[M].北京:清华大学出版社,1999.10.[2]李正军.现场总线技术及其应用[M].北京:机械工业出版社,2005.6.[3]马仲梅.ARM嵌入式处理器结构与应用基础[M].北京:北京航空航天出版社,2002.6.[4]李履信.光纤通信系统[M].北京:机械工业出版社,2002.7.[5]雷肇棣.光纤通信基础[M].成都:电子科技大学出版社,1997.9.[6]周航慈.单片机应用程序设计技术[M].北京:北京航天航空大学出版社,2003.7.[7]徐德鸿.现代电力电子器件原理与应用技术[M].北京:机械工业出版社,2008.9.[8]胡汉才.单片机原理及接口技术[M].北京:清华大学出版社,2004.5.[9]潘新民.单片微型计算机实用系统设计[M].北京:人民邮电出版社,1992.7.[10]邬宽明.CAN总线原理和应用系统设计[M].北京:北京航空航天大学出版社,1995.9.[11]张凤登.现场总线技术与应用[M].北京:科学出版社,2008.09.[12]廖常初.PLC编程及应用[M].北京:机械工业出版社,2004.4.[13]周明.现场总线控制[M].北京:中国电力出版社,2002.3.[14]潭浩强.C语言程序设计[M].北京:清华大学出版社.2005.07.[15]长德,李华,李东.MCS51/98系列单片机原理与应用[M].北京:机械工业出版社.1997.
附录:跑马灯程序#include"platform_conFigh"typedefenum{FAILED=0,PASSED=!FAILED}TestStatus;vu32ret;volatileTestStatusTestRx;ErrorStatusHSEStartUpStatus;voidRCC_Configuration(void);voidGPIO_Configuration(void);voidNVIC_Configuration(void);TestStatusCAN_Polling(void);TestStatusCAN_Interrupt(void);voiddelayms(u32ms){u32i;for(i=ms*1000;i!=0;i--) { }}intmain(void){inti;#ifdefDEBUGdebug();#endifRCC_Configuration();NVIC_Configuration();GPIO_Configuration();TestRx=CAN_Polling();if(TestRx==FAILED){GPIO_SetBits(GPIO_LED,GPIO_Pin_8);}else{GPIO_SetBits(GPIO_LED,GPIO_Pin_6);}TestRx=CAN_Interrupt();if(TestRx==FAILED){for(;;) {GPIO_SetBits(GPIO_LED,GPIO_Pin_9); delayms(1000); GPIO_ResetBits(GPIO_LED,GPIO_Pin_9); delayms(1000); }}else{GPIO_SetBits(GPIO_LED,GPIO_Pin_7);for(;;) {GPIO_SetBits(GPIO_LED,GPIO_Pin_7); delayms(1000); GPIO_ResetBits(GPIO_LED,GPIO_Pin_7); delayms(1000); }}while(1){}}voidRCC_Configuration(void){RCC_DeInit();RCC_HSEConfig(RCC_HSE_ON);HSEStartUpStatus=RCC_WaitForHSEStartUp();if(HSEStartUpStatus==SUCCESS){FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);RCC_HCLKConfig(RCC_SYSCLK_Div1);RCC_PCLK2Config(RCC_HCLK_Div1);RCC_PCLK1Config(RCC_HCLK_Div1);RCC_SYSCLKConfig(RCC_SYSCLKSource_HSE);while(RCC_GetSYSCLKSource()!=0x04)}RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIO_LED,ENABLE);RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN,ENABLE);}voidGPIO_Configuration(void){GPIO_InitTypeDefGPIO_InitStructure;GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIO_LED,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_11;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;GPIO_Init(GPIOA,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_12;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;GPIO_Init(GPIOA,&GPIO_InitStructure);}voidNVIC_Configuration(void){NVIC_InitTypeDefNVIC_InitStructure;#ifdefVECT_TAB_RAMNVIC_SetVectorTable(NVIC_VectTab_RAM,0x0);#elseNVIC_SetVectorTable(NVIC_VectTab_FLASH,0x0);#endifNVIC_InitStructure.NVIC_IRQChannel=USB_LP_CAN_RX0_IRQChannel;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;NVIC_Init(&NVIC_InitStructure);}TestStatusCAN_Polling(void){CAN_InitTypeDefCAN_InitStructure;CAN_FilterInitTypeDefCAN_FilterInitStructure;CanTxMsgTxMessage;CanRxMsgRxMessage;u32i=0;u8TransmitMailbox;CAN_DeInit();CAN_StructInit(&CAN_InitStructure);CAN_InitStructure.CAN_TTCM=DISABLE;CAN_InitStructure.CAN_ABOM=DISABLE;CAN_InitStructure.CAN_AWUM=DISABLE;CAN_InitStructure.CAN_NART=DISABLE;CAN_InitStructure.CAN_RFLM=DISABLE;CAN_InitStructure.CAN_TXFP=DISABLE;CAN_InitStructure.CAN_Mode=CAN_Mode_Normal;CAN_InitStructure.CAN_SJW=CAN_SJW_1tq;CAN_InitStructure.CAN_BS1=CAN_BS1_8tq;CAN_InitStructure.CAN_BS2=CAN_BS2_7tq;CAN_InitStructure.CAN_Prescaler=5;CAN_Init(&CAN_InitStructure);CAN_FilterInitStructure.CAN_FilterNumber=0;CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdMask;CAN_FilterInitStructure.CAN_FilterScale=CAN_FilterScale_32bit;CAN_FilterInitStructure.CAN_FilterIdHigh=0x0000;CAN_FilterInitStructure.CAN_FilterIdLow=0x0000;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西华师范大学《透视与解剖》2021-2022学年第一学期期末试卷
- 西华师范大学《书法》2021-2022学年第一学期期末试卷
- 西华师范大学《劳动与社会保障法学》2022-2023学年期末试卷
- 执法资格考试基本级复习试题(二)
- 2024年4月-危险化学品仓库储存通则复习测试卷
- 14《我要的是葫芦》说课稿-2024-2025学年统编版语文二年级上册
- 冀教版小学信息技术四年级上册《第10课 快速下载》说课稿
- 西昌学院《电力电子技术》2022-2023学年期末试卷
- 西昌学院《版式设计》2022-2023学年第一学期期末试卷
- 西安外国语大学《语用学与翻译》2022-2023学年第一学期期末试卷
- 工程委外维保流程ppt课件
- 甘肃托儿所幼儿园卫生保健管理实施细则
- 关于自然数平方和公式的十种证明方法
- 中建股份公司合同管理手册
- 超高层建筑电气设计要点分析
- 精神堡垒报价单
- 德国支持中小企业科技创新的政策资料
- 全公安机关易制爆危险化学品安全监管要点暨检查记录表
- 644523009毕业设计(论文)小型反应釜控制系统的仿真设计
- 县教育局道路交通安全情况汇报
- 四年级上学期道德与法治期末质量分析【六篇】
评论
0/150
提交评论