关键词不能为空

当前您在: 大学查询网 > 大学 >

苏州大学院基于Verilog+HDL语言的CAN总线控制器设计及验证

作者:高考题库网
来源:https://bjmy2z.cn/daxue
2020-11-29 11:51
tags:

大学季贴吧-大学季贴吧

2020年11月29日发(作者:尹子维)


2012年5月15日


现代电子技术


Moder n


Electronics


Technique


May


2012


V01.35

No.1 0


第35卷第10期


基于Verilog

HDL 语言的CAN总线控制器设计及验证


许莉娅1,段帅君2,李传南2

(1.黎明职业大学机电工程系,福建泉州


362000;2.吉林大学电子科学与 工程学院,吉林长春


130012)


要:在此 利用Verilog


HDI.设计了一款cAN总线控制嚣,首先根据协议把整个CAN 总线控制器划分为接口逻辑


管理、寄存器逻辑和cAN核心模块3个模块,然后用Ve“ log


HDL硬件描述语言设计了各个功能模块,并使用Modelsim软

< p>
件对各个模块的功能进行了仿真,最后使用FPGA芯片对设计的CAN总线控制器验证,并连接了 一个包舍该FPGA


总线控制器的4节点cAN总线网络。测试结果表明所设计的cAN 总线控制器能够完成设定的功能。


关键词:CAN总线;控制器;FPGA;Ve“10 9


HDL


中图分类号:TN919—34;TP336

文献标识码:A

文章编号:1004—373X(2012)10一0043一04


CAN


Design


and

< br>confirmation


of


CAN

< br>bus

controUer

based


on


Ve“Iog


HDL


XU

Li—yal,DUAN


(1.Department


of


Shuai—jun2,LI


Chuan_nan2

< p>
Liming


Universities,Quanzhou

36Z000,China;


ChinⅡ)


Mechanic al


and

Electrlcal


Engine ering


2.College

of

Electroni c

Science

and


Eng.neering.Ji lin

Univershy,Changchun


130012


Abstract:one


This

CAN

bus


CAN


core


type


of

CAN

bus

controller

was


designed


with

< br>Ve“log


HDL

and

tested


by


the

aid

of

< br>a


CycIone


FPGA

chi


p.


contmller


was

divided

into

three

functional


m。dules:interface


management

logic

module,register


moduIe

and


Every


module

wa s

module.


designed


with< /p>

Ve


rilog


HDL


a ccording


to


their

functi ons.

The

functions

of

thes e


modules

were

simulated


by


means

of

the

software


together


with


func“ons.



Modelsim.

< p>
The

CAN

bus

controller

was

verified


by


FPGA< /p>


chip,and


tested


can< /p>


four-node

CAN

network.

The


testing


results

sho w

that

the

CAN

bus

c ontroller


impIement


the


required


KeywOrds:CAN

bus;cont rolle。;FPGA;VeriIog


HDL


协议的CAN 总线控制器软IP核,这样可以在以后的


应用中方便的集成到其他系统中去。本文使用V erilog


CAN(Controller


Area


Network)是由IS0定义的

HDL语言,设计了一款支持CAN2.O协 议的CAN总


线控制器,并利用FPGA芯片在cAN总线网络中对其

< br>进行了测试,实现了设计目的。创新点为CAN—Regis—


ters设计中寄 存器模块、位流处理器的收发部分功能、


测试程序、基于该FPGA的CAN总线控制器 的节点电


路等。



一种串行通信总线, 它是一种能有效地支持高安全等级


的分布实时控制的新一代网络通信协议,属于现场总线


范畴。CAN最早被设计作为汽车环境中微控制器的通


讯,在车 载各电子控制装置与Ecu之间交换信息,形


成汽车电子控制网络,目前应用领域已经相 当广泛。


近年来,支持CAN协议的芯片不断推出,给CAN


总 线用户带来了极大的方便。随着我国对现场总线技


术需求的增加,CAN总线已经会成为 我国最常用的现


场总线之一。


基于CAN总线的ECU电子控制 单元的开发,也


是现在最热门的研究。现在对CAN总线芯片的研究

已经不再局限于单一芯片的研究,而是把所有的功能芯


片都集中在一块芯片上实现一 个完整的ECu的功能。


本项目目的是利用FPGA实现一款支持CAN2.O


协议的总线控制器,完成一个通用的能够满足CAN2.0


收稿日期:2 011—12—15


CAN总线控制器设计


CAN控制器设计流 程


功能设计


1.1


1.1.1


首先对CAN2.o协议进行了深入的分析,掌握了


CAN总线协议的各 部分内容;而后参照和分析了几种


典型的cAN总线控制器的功能;最后选择PHILP S公


司生产的CAN总线控制器sJAl000进行进一步的分


析,掌握了它的各部分模块的功能。在这些基础上根据


需要规划了所设计的cAN总线控 制器的功能。


1.1.2


设计描述和功能验证

< br>功能设计完成后,依据功能并参照CAN总线2.O


万方数据

44


现代电子技术


2012年第35卷

协议,将控制器划分为若干功能模块,明确了各个功能


模块的作用。确定模块及其功 能之后,用Verilog


HDL


语言实现了各模块的设计。接 着,利用Modelsim对整


个设计进行了功能验证。


1.1 .3逻辑综合


功能仿真通过以后,利用QuartusⅡ对所设计的

CAN总线控制器进行逻辑综合,并把其配置到


FPGA中。


1.1.4硬件验证


配置到FPGA中以后,用所设计的基于FPGA的


CAN总线控制器作为一个节点,与采用SJAlooo作为


控制器的节点电 路进行了通信测试,验证了所设计的


cAN总线控制器的功能。


1.2


CAN总线控制器的整体设计


1.2.1


控制器SJAlooo的功能结构


SJAl000是PHILIPS公司于19 97年推出的一种


独立cAN总线控制器,用于汽车和一般环境中的控制


器局域网络。SJAlooo主要由以下几个部分构成:接


口管理逻辑、发送缓 冲器、接收缓冲器、接收滤波器、位


数据流处理器、位时序逻辑、错误管理逻。SJAl 000是


双列直插式集成电路,功能框图如图1所示。


3—7< /p>

22


SJAl000


ll,16摔制



1,7

’l


卫,地址/数域1


接口管理逻辑



2l,

f、


12


28~23


七岁


信息缓冲器



Ul


。,


14


发送


l位时序

19



H逻辑


缓冲器一

< p>


20


RXFIFo


捕一



{多


2l


1 8


l鬻l乇


爿熟陆


蚓错墨酽

< p>
910’I


振荡器


复位


卜 "


图1


CAN总线控制器的功能框图结构


1.2.2


本文中控制器的功能结构


本文设计的cAN控制器 参照SJAlooo控制器的


结构,功能基本框架包含如图2所示的3个功能模块。


cAN-IMI。是cAN总线控制器接口逻辑,主要功


能是解释来 自微处理器的命令,控制cAN寄存器的寻


址,向微处理器提供中断信息和状态信息。< /p>


CAN—Core为cAN协议控制器的核心部分,完成


cAN协 议中的数据链路层的全部功能以及物理层的部


分功能,包括LLC子层的接收滤波、超载 通知和恢复管


理、MAc子层的数据封装/拆装、帧编码、媒体访问管

< br>理、错误检测、错误标定、应答和串行化/解串行化、以及


万方数据


物理层的位编码/解码、位定时和同步。CAN—Regis—


ters为一 寄存器组,外部微处理器可以通过地址直接访


问这些寄存器。根据功能框图,设计了cA N总线控制


器的程序结构,如图3所示‘5。…。


图2

CAN控制器结构框图


图3

CAN总线控制器程序结构框图


1.3


CAN总线各个功能模块的设计


1’3 .1


CANjML设计


参照SJAl000,设计FPGA

CAN总线控制器的接


口,如图4所示。


24


23


22


21


20


19


18


17


16


15

10

< p>
14

ll


13

12


图4


FPGA


CAN总线控制器接口示意图

图中Pon—o-lo一7到Port—Ojo—O为地址/数据复


合总线。Cs— can_i为片选输入信号。当Cs—canj为。


时允许访问CAN总线控制器。Al e_i为1时,允许对


寄存器进行赋值。Rdj和wr_i为微处理器的读使能


信号和写使能信号。Irq—on为中断输出信号,用于中


断微处理器。 Rstj为复位输入,用于复位CAN接口。


clkouLo为FPGA


CAN控制器提供给微处理器的时


钟输出信号,时钟分频寄存器可禁止该引脚输 出。


BuS—off-on控制总线关闭和总线开放接口,Tx—o和

< br>Rki与收发器相连,向总线发送和接收数据。


1.3.2


CANjtegisters设计


设计的CAN总线控制器的寄存器模块包括以下

麦加大学-麦加大学


北京同仁堂企业大学-北京同仁堂企业大学


对外经贸大学同等学力-对外经贸大学同等学力


湖北广电大学-湖北广电大学


迪肯大学官网-迪肯大学官网


怎么去国外大学-怎么去国外大学


郝瑞瓦特大学-郝瑞瓦特大学


7延安大学-7延安大学



本文更新与2020-11-29 11:51,由作者提供,不代表本网站立场,转载请注明出处:https://bjmy2z.cn/daxue/14929.html

基于Verilog+HDL语言的CAN总线控制器设计及验证的相关文章