资源描述:
《基于fpga的can设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、毕业设计说明书基于FPGA的CAN总线控制器设计专业电子信息工程学生姓名XXX班级BXXX学号XX指导教师XX完成日期2012年6月2日53盐城工学院本科生毕业设计说明书(2012)基于FPGA的CAN总线控制器设计摘要:CAN被称为最有前途的总线之一,但是市面上存在的都是标准定制的CAN控制器芯片,因此从ASIC设计思想出发,基于FPGA设计定制功能的CAN控制器芯片,扩展其功能,是十分有意义的。设计的重点是CAN总线控制器的设计,即用VerilogHDL语言完成CAN每个模块的设计能够在FPGA开发平台Quartus上通过仿真验证,证明其正确性。设计从CAN控制器底层着手,首先分析领
2、会CAN协议,其次比较分析现有的CAN控制器后,将CAN总线控制器分解成各个相互独立却又相互关联的功能模块,并且对各个功能模块的功能和原理深入的理解。再进一步阐述对各功能模块进行设计的思想及设计流程,进行设计,并且进行仿真。仿真波形分析包括:第一,证明设计出的模块逻辑功能的正确性;第二,通过Quartus软件的自动综合,生成网表之后,仿真证明设计的实际性。设计将CAN总线分解成三大模块:设计寄存器逻辑模块,完成对数据,控制器状态以及处理器命令的的存储和读写功能;设计验收滤波器模块,完成帧的标识符的校验,保证帧的标识符的匹配;设计位流处理器模块,完成控制发送缓冲器、接收FIFO和CAN总线
3、之间的数据流,接受帧发送帧等功能。关键词:VerilogHDL;FPGA;CAN总线53盐城工学院本科生毕业设计说明书(2012)DesignofCANBusControllerBasedonFPGAAbstract:AsoneofFieldBuses,CANBusiswidelyusedinmanyareas.AnditisconsideredtobeoneofthemostpromisingBuses.Butchipsavailableinthemarketarecustomizedwithallkindsofstandards.SofromtheideaofdevelopingAS
4、IC,wecanmakeuseofFPGAtodesignanapplicationspecificCANcontroller,hencetoitsfunctions,whichisverymeaningful.Themainpurposeistocompletethefront-enddesignofCANcontrollerusingFPGA.ThatmeanstocompletetheRTL-leveldesignofDataLinkLayerinCANProtocolbyusingVerilogHDL,andtoachieveitsfunction,thentoevaluatet
5、hedesignthroughthesimulationontheplatformQuartusII.Inthethesis,ourworkisstartedfromthelowerlevel.Firstly,weanalyzetheCANProtocol.Secondly,we'splittheentireCANcontrollerintoseveralmoduleswhichareindependentbutassociatedwitheachother.Thirdly,theirfunctionandprincipleareintroduced.Atlast,wemanagetod
6、esignthemodulesinRTL-level,toexplaintheideaandprocess,andtoimprovedesignfortimingcorrectlybysimulation.Thesimulationisdividedintotwoparts:Oneisthelogicfunctionsimulation,theotherissimulationincludinginformationofthenetlistandgatedelay.Withinthewholedesign,wesplitCANcontrollerintothreemodules.Regi
7、sterLogicModuleisusedtosavetheframeinformation,statusandcommands.Wecantransferthedatawritingtoandreadingfromitself.AcceptanceFilterisusedtochecktheidentifier.BitStreamProcessor,thecorepartofthecontroller,isnotonlyusedt