大学季贴吧-大学季贴吧
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软
件对各个模块的功能进行了仿真,最后使用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
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
p>
of
CAN
bus
controller p>
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 p>
m。dules:interface
management
logic
module,register
moduIe
p>
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.
a
Modelsim.
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总线控制器
的节点电
路等。
1
一种串行通信总线,
它是一种能有效地支持高安全等级
的分布实时控制的新一代网络通信协议,属于现场总线
范畴。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摔制
8
1,7
’l
卫,地址/数域1
p>
接口管理逻辑
y
2l,
f、
12
28~23
七岁
信息缓冲器
儿
Ul
。,
14
发送
l位时序
19
一
H逻辑
缓冲器一
:
20
RXFIFo
捕一
、
{多
2l
1
8
l鬻l乇
爿熟陆
蚓错墨酽
910’I
振荡器
复位
卜
"
图1
CAN总线控制器的功能框图结构
1.2.2
本文中控制器的功能结构
本文设计的cAN控制器
参照SJAlooo控制器的
结构,功能基本框架包含如图2所示的3个功能模块。
p>
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
p>
CAN总线控制器的接
口,如图4所示。
24
l
23
2
22
3
21
4
20
5
19
6
18
7
17
8
16
9
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总线控制器的寄存器模块包括以下
p>
麦加大学-麦加大学
北京同仁堂企业大学-北京同仁堂企业大学
对外经贸大学同等学力-对外经贸大学同等学力
湖北广电大学-湖北广电大学
迪肯大学官网-迪肯大学官网
怎么去国外大学-怎么去国外大学
郝瑞瓦特大学-郝瑞瓦特大学
7延安大学-7延安大学
-
上一篇:为民办实事实施方案(印发)
下一篇:电子时钟程序