常见问题      欢迎来到牛博士论文网, 本站提供、本科毕业论文范文硕士论文范文博士毕业论文范文发表职称论文范文,牛博士用心为您服务!欢迎关注微信公众号   
理工论文毕业论文分类>>
毕业论文怎么写更多写论文技巧>>
关于我们
    牛博士论文网经过十余年的心酸代写历程,我们起初的梦想逐渐变成了现实,已经发展成为了一个本科、硕士、博士研究生毕业论文代写代发为主的代写毕业论文平台。十二年专注致力于博士硕士专本科论文代写服务这一核心业务模块,让我们成为了业内有序经营时间最长的综合性论文网站之一,拥有丰富的服务经验和社会资源。合作的写作老师已有2000多位,均为有丰富实践经验的高学历专业人才,以保证文稿的质量与版权,为广大毕业生解决经济、管理、法律、医学、会计、体育、历史、教育教学、建筑等专业的毕业论文及代发代写论文等服务,强大的写作团队奠定了我们的实力! 我们相信通过我们的不断努力和追求,一定能够实现与客户的互利共赢!

基于FPGA的CAN通信接口设计,代写本科论文

本站原创   发布时间:2019-03-07   [点击量:1013]  


  摘要


  本文主要研究了基于PFGA的CAN通信接口的相关内容。随着科学技术的不断进步提升,CAN总线通信在各种行业被广泛应用,通常不同的CAN控制器时无法通用的而用FPGA去实现CAN控制器,将大大避开此类问题。而且,CAN控制器各式各样,但是却是相同功能,采用统一标准设计,若需扩展其功能,需要搭接复杂的外部电路。因此,用FPGA实现CAN总线通信控制器具有非常重要的应用价值和意义。本文经过大量的调研及文献阅读,首先阐述了CAN控制器的原理以及CAN通信的相关理论知识,通过对CAN控制器各个模块的认识和了解后,利用FPGA对CAN控制器进行模块化设计,采用VerilogHDL语言进行具体的程序设计,最后将设计程序通过仿真软件进行仿真验证。


  关键词:FPGA;CAN;VerilogHDL


  1.1研究背景与意义


  随着科技事业不断兴起发展,CAN(ControllerAreaNetwork,控制器局域网)总线作为一种标准通信总线,在众多领域得到广泛应用。为适应时代发展需求,在以往常用的CAN通信架构中最为常用的是MCU+SJA1000+CAN总线收发器的模式,但由于MCU资源、速率等方面的种种约束,使得CAN总线通信无法发挥它更大的作用,且CAN控制器种类繁多,无法做到通用兼容的效果,因此,用FPGA实现CAN总线通信控制器具有非常重要的应用价值和意义。该设计在保留原有CAN控制器的基础上还可以根据使用场合及需求,添加用户特定功能,最大程度的开发CAN总线通信功能。


  FPGA在电子行业具有不可替代的作用,该CPU具有丰富的逻辑资源,成熟的开发技术,高效的处理速率和一定的仿真等功能,使得FPGA成为该系统开发中不可或缺的重要组成部分。用户可根据个人需求,利用其内部资源构建自己所需实现的功能,方便高效。


  1.2本文研究方法


  本设计科归为应用型研究,需要有理论基础和实践操作的支撑,因此,采用了以下几种方法进行工作开展。


  1)文献法


  通过阅读各大学术期刊文章,了解系统相关理论知识,从各种信息中提取与本系统相关的基于FPGA实现的CAN总线通信设计。为本设计的开展做好充足的知识储备,便于后续工作开展。


  2)经验法


  通过理解前辈先人们所留下的研究成果,结合自身查阅的知识内容,在本系统研究中能更好的解决问题,便于实践工作的进行。能够快速有效的对设计中产生的问题定位解决,提高研发效率。


  3)理论与实践相结合


  在分析研究了众多案例后,经过理论知识的累积,结合实践操作,对基于FPGA的CAN总线通信接口有了深刻的认识,在此基础上,深入研究该系统。


  本文主要是基于FPGA的CAN通信接口设计的研究,通过对CAN总线通信协议及电气特性的研究,利用FPGA实现CAN控制器的驱动。


  1.3论文内容安排


  基于FPGA的CAN通信接口设计主要研究内容涵盖五大模块,各模块架构及内容如下:


  第一章:绪论。主要陈述了论文的研究背景及论文的研究意义,列举出本文研究所用的三种研究方法,并对论文的架构进行了阐述;


  第二章:CAN通信接口概述。主要介绍了CAN通信的基本概念和通信协议,为全文的研究提供理论支撑;


  第三章:CAN控制器分析。主要分析了现有成熟的CAN控制器架构,了解CAN控制器工作过程;


  第四章:CAN通信接口设计。在了解了CAN控制器架构的基础上对本系统进行详细设计,并对设计结果进行仿真和测试实验验证;


  第五章:总结。对全文内容进行了总结,并对下一步研究做了铺垫。


  2CAN通信接口概述


  CAN总线(ControllerAreaNetwork)的全称为控制器局域网,该协议的产生是在1980年代由当初业界著名的Bosch所提出的,最初该协议的提出是为了满足汽车控制及仪器之间通信交互的需求,该协议已经推出就得到了大家广泛的认同和使用。现在,CAN总线已经作为一种衡量标准被列入ISO中,称为ISO11898。CAN是通信总线中的一个主流产品。


  2.1CAN总线基本概念


  CAN总线是目前为止世界上应用最多的一种总线协议,该协议具有高效的传输速率且结构上简单,因此受到大家的广泛青睐。在汽车电子行业,CAN总线有着不可替代的地位,汽车上多数传感器与主机之间的连接通信都是经过CAN总线连接的,因其可以外接多个模块且不相互冲突,各自独立,在汽车行业尤为适用。除此之外,CAN总线具有较高的容错能力,这使得其在航空航天领域,光电领域等仍有广阔的发展空间。


  为了使本系统的研究进行更顺利,更加深刻的认识CAN总线协议,应对CAN总线中出现率较高的专业名词进行了解,主要由以下几个。


  1)报文


  在总线上传输的信息数据的格式我们称之为报文,其容量不是可无限扩展的,在总线设置为接收条件的情况时,总线上的任何一个连接模块都能给总线发送报文信息。


  2)信息路由


  在CAN总线中,不需改变硬件外设电路,通过给定一个地址就可以连接外部设备,其方便灵活如图路由一样。


  总线上,具有两个概念:显性电平、隐性电平。当二者同时出现时,则默认为时显性,这种现象类似于数字电路中的逻辑“或”。


  3)位速率


  CAN总线的传输的快慢时可以设置的,不同的应用,不同的传输距离也影响其传输速率,但在一个固定的使用环境中该速率是不变的。


  4)优先权


  由于总线上由很多外接设备,当这些设备同时向总线发送报文时,总线会根据报文中的标识符判断哪个信息优先处理,标识符数值越小的其级别越高。


  5)远程数据请求


  通过发送一个远程帧,需要数据的节点可以请求另一个节点发送一个相应的数据帧,该数据帧和相应的远程帧是以相同的识别符命名的。


  6)多主机


  当总线空闲时,任何单元均可以开始传送报文,发送具有最高优先权报文的单元可以获得总线访问权。


  7)仲裁


  当总线空闲时,任何单元均可以开始发送报文,若同时有两个或者更多的单元开始发送报文,那么就会有总线访问冲突。总线访问冲突运用逐位仲裁规则,借助识别符ID解决冲突。这种仲裁的机制可以使信息和时间均无损失。若具有相同识别符的一个数据帧和一个远程帧同时发送,数据帧优先于远程帧。仲裁期间,每一个发送器都对发送位的电平与被监控的总线电平进行比较。如果电平相同,则这个单元可以继续发送。如果发送的是一隐性电平而监控视到一显性电平,那么该单元就失去了仲裁,必须退出发送状态,并不再传送


  8)安全性


  为了获得最安全的数据发送,的每一个节点均采取了强有力的措施以进行错误检测、错误标定及错误自检。


  ①错误检测


  为了检测错误,必须采取以下措施


  监视(发送器对发送位的电平与被监控的总线电平进行比较)循环冗余检查;位填充;报文格式检查。


  ②错误检钡的执行。


  错误检测的机制要具有以下的属性:


  检测到所有的全局错误;检测到发送器所有的局部错误;可以检测到一报文里多达5个任意分布的错误;检测到一报文里长度低于15(位)的突发性错误;检测到一报文里任一奇数个的错误。


  9)错误标定和恢复时间


  已损坏的报文由检出错误的任何节点进行标注。这样的报文将会失效,并会自动地开始重新发送。如果不再出现新错误,自检出错误至下一个报文开始发送


  的恢复时间最多为29个位的时间。


  10)故障界定


  节点有能力识别永久性故障和短暂扰动区分,可自动关闭永久性故障节点。


  11)连接


  CAN串行通讯链路是可以连接许多单元的总线。理论上,可连接无数多的单元。但由于实际上受延迟时间以及总线线路上电气负载的影响,连接单元的数量是有限的。


  12)单通道


  总线是由单一进行双向位信号传送的通道组成。通过此通道可以获得数据的再同步信息。要使此通道实现通讯,有许多的方法可以采用,如使用单芯线(加上接地)、2条差分线、光缆等等。这本技术规范不限制这些实现方法的使用,即未定义物理层。


  13)总线数值表示


  总线可以具有两种互补的逻辑值之一显性电平或隐性电平。显性位和隐性位同时发送时,总线上数值将是显性。比如,在执行总线的线与时,逻辑代表显性等级,逻辑代表隐性等级。CAN技术规范中未给出表示这些逻辑电平的物理状态(如电压、光、电磁波)等。


  14)应答


  所有的接收器检查报文的连贯性。对于连贯的报文,接收器应答对于不连贯的报文,接收器作出标志。


  15)睡眠模式及唤醒


  为了减少系统电源的功率消耗,可以将CAN器件设为睡眠模式以便停止内部活动及断开与总线驱动器的连接。CAN器件可由总线激活,或系统内部状态而被唤醒。唤醒时,虽然传输层要等待一段时间使系统振荡器稳定,然后还要等待一段时间直到与总线活动同步(通过检查11个连续的隐性的位),但在总线驱动器被重新设置为接通总线之前,内部运行已重新开始。为了唤醒系统上正处于睡眠模式的其他节点,可以使用一特殊的唤醒报文,此报文具有专门的、最低等级的识别符。


  16)发送器和接收器


  发送器:产生报文的单元被称之为报文的发生器。此单元保持作为报文发送器直到总线出现空闲或此单元失去仲裁(Arbitration)为止。


  接收器:如果有一单元不作为报文的发送器并且总线也不空闲,则这一单元就被称之为报文的接收器。


  2.2CAN总线协议


  2.2.1CAN总线分层


  CAN总线的通信标准主要包括两大类,一种是CAN2.0A类,该模式下只有一种标准帧的模式,相对来说更简单一些;第二种为CAN2.0B类。该类除了和第一种相同的帧之外,还包括扩展帧。CAN协议在结构上还有物理层和数据层的区别,其具体结构如下图所示。


  图2-1CAN结构图


  物理层,顾名思义,是确保通信的最基本的一层,根据该层的协议才能完成各个连接模块之间的通信,它是CAN通信最基础的协议,主要内容包括了出书数据的类型,接口的方式,信号传输时候的排列方式,信号传输的内容,除此之外,还定义了传输的信号电平,传输方式,端口匹配等诸多信息。对于CAN通信十分重要。


  数据层,相比于物理层更高一级,该层主要是负责上端设备之间的连接。其主要功能是实现向远程设备发送消息和接收远程设备的消息。涵盖了帧信息的获取、滤波和超载状态报警等功能。同时该层还负责将物理层传输过来的信息进行错误纠正,以确保信息的准确。最重要的一点,总线上所有设备的连接状态都是通过该层实现的,只有在连接状态正常的情况下,才能确保通信的正常,因此,数据层也是实现CAN传输通信的重要节点。


  2.2.2报文传输


  CAN总线传输过程中采用显性位和隐形位进行判断,当两者同时出现时,显性位将具有优先权利,而此时隐性位则没有竞争的权力,总线则依据该种特性对报文进行传输。


  2.3CAN总线帧类型及格式


  CAN总线传输主要由以下几种帧的类型:


  数据帧:主要传输数据信息由发送端到接收器件。


  远程帧:总线发出远程帧请求,需求为发送与该帧相同标识符的的数据帧。


  错误帧:当发现总线上的传输失误时发送该帧信息。


  过载帧:主要应用于相邻的两帧之间的一个传输延时作用。


  数据帧的格式如下图所示,在图中能够清晰的看出该帧的结构组成和传输顺序。


  2.4编码


  属于帧里边的部分,包括帧起始,数据场等都能够用位填充的方式实现编码操作,只要在传输的过程中,传输的数据流里出现连续5个相同的数值时,该标准就会自发的在后边添加上一个相反值。数据帧、远程帧的结构是不能改变的,因此不需要在其中添加补充位,错误帧和过载帧也是同样的,无需再添加补充位,因为这些固定形式是不需要进行更改和编码的。


  2.5错误处理


  2.5.1错误类型


  错误按照类型分由如下几种错误,每种错误的表现形式都是不同的,具体介绍如下。


  位错误:只要向总线上传输数据,无论是一位或是多位的,当检测到的位的数据与发送端发出的不同时,就会出现一个位错误提示。但也存在特殊情况,就是:仲裁场填充位流时间段以及应答空隙中,系统发出的时隐性的标记,但是检测时却为显性,这种则不将其归为位错误。


  填充错误:编码认为由5个连续相同的位时会补充一个不同的位,因此,若在传输的数据流中发现连续五个以上相同位存在,则表示出现了填充错误。


  CRC错误:当通过计算得到的CRC值与传输的数据流中的CRC值不相同时,则认为出现了CRC错误。


  应答错误:当发送器在应答期间并微发现任何显性位时,则表示出现了应答错误。


  2.5.2错误检测


  针对于不同的错误情况,当系统检测到这些错误时就会发出相应的报错信息。一个节点处在错误中也有不同的状态,活动错误是指在发现失误的时候,总线能够正常的进行工作,在错误出现时发出一个错误标记。错误认可是在发生错误时,只能发送错误信息,总线不能正常的进行通信,且该信息在相邻两次发送中需要一定的时间间隔。


  2.6小结


  本章主要讲述了CAN总线的通信协议、CAN通信帧格式以及关于CAN通信中涉及到的相关概念,通过对CAN通信相关概念的理解,能更清楚的理解CAN通信接口需要的设计,为后续研究提供充足的理论基础。


(………略)牛博士论文网,代写本科毕业论文,代写硕士论文,是您论文写作的最佳选择!


  参考文献


  [1]张培坤,高伟,宋宗喜,陈楚君.基于FPGA的CAN总线通信节点设计[J].仪表技术与传感器,2010(12):68-70.


  [2]徐木水,刘金国.基于FPGA的CAN总线通信接口的设计[J].电子设计工程,2010,18(10):96-99.


  [3]陈彬,伍乾永,刘永春.基于FPGA的VGA控制模块设计[J].微电子学,2008(02):306-308.


  [4]胡为,王宏斌.基于FPGA的控制器局部网(CAN)总线控制器设计[J].火控雷达技术,2006(01):70-73.


  [5]魏鑫.基于FPGA的视频实时采集系统关键技术研究[D].北方民族大学,2017.


  [6]时旭,付成伟.基于FPGA的CAN总线通信系统的设计[J].现代电子技术,2015,38(22):59-61.


  [7]李晓,李芮,王志斌,韩枫.基于DSP和FPGA的CAN总线通信系统设计[J].计算机测量与控制,2015,23(01):284-286.


  [8]马建云.基于FPGA的车载CAN总线控制器设计及实现[D].西安电子科技大学,2014.


  [9]KIMLJH,SEOSH,MOONTY,etal.AmethodofimplementingnetworkmanagementwithoutOSEK/VDXOS.ProceedingsofInternationalConferenceonControl,AutomationandSystems.2007


  [10]LIYW,ZHANGHW,GONGJF.Designofautomo-tiveCANnetworkmanagementbasedonosekstandard.ProceedingsofInternationalConferenceonElec-tronic&MechanicalEngineeringandInformationTech-nology.2011


  [11]王跃飞,侯亮,刘菲.基于FPGA的汽车CAN网络实时管理系统设计[J].电子测量与仪器学报.2013(08)


  [12]张利,李县军,王跃飞.汽车CAN网络时钟同步方法研究[J].张利,李县军,王跃飞.电子测量与仪器学报.2011(02)


  [13]DigitalVLSIDesignwithVerilog:ATextbookfromSiliconValleyTechnicalInstitute.JohnWilliams..2008


  [14]赵爱明,杨亮.基于FPGA的多通道智能CAN卡设计[J].电测与仪表,2016,53(14):106-111.


  [15]杨爽.基于FPGA的CAN接口抗SEU容错方法研究[D].哈尔滨工业大学,2016.


  [16]张明珠.基于FPGA的CAN、1553B与USB总线的协议转换模块的研究与实现[D].吉林大学,2016.


  [17]关俊强,左丽丽,吴维林,祝周荣.基于FPGA和CAN控制器软核的CAN总线发送系统的设计与实现[J].计算机测量与控制,2016,24(03):281-284+288.


  [18]YANGMengFei,LIUBo,GONGJian,LIUHongJin,HUHongKai,DONGYangYang,SHILei,ZHAOYunFu,MIAOZhiFu.ArchitecturedesignforreliableandreconfigurableFPGA-basedGNCcomputerfordeepspaceexploration[J].ScienceChina(TechnologicalSciences),2016,59(02):289-300.

文章标题:《基于FPGA的CAN通信接口设计,代写本科论文》,原文地址:,如有转载请标明出处,谢谢。

上一篇:多网融合在通信工程中的应用和研究,代写硕士毕业论文


下一篇:MFSK类数字调制信号解调性能分析,通信论文


[相关文章]