当前位置:首页 >> 工学 >>

基于单片机的CAN_NODE的设计与实现_图文

ISSN 1009-3044 CCoommppuutteerr KKnnoowwlleeddggee aanndd TTeecchhnnoollooggyy 电电脑脑知知识识与与技技术术
Vol.7, No.13, May 2011,pp.3148-3150

E-mail: kfyj@cccc.net.cn 第 7 卷第 13ht期tp://w(w20w1.d1nz年s.n5et月.cn)
Tel:+86-551-5690963 5690964

基于单片机的 CAN_NODE 的设计与实现

刘滨,王俊青,马金波

(中国海洋大学,山东 青岛 266100)

摘要:CAN_NODE 实验板是一款功能强大的 8 位 AVR 单片机实验板, 采用的是基于 AVR RISC 结构的 8 位低功耗 CMOS 微处 理器 ATmega128。 由于其先进的指令集以及单周期指令执行时间,ATmega128 的数据吞吐率高达 1 MIPS/MHz。 板上提供了 CAN 总线通讯所需要的硬件,按键,LED,USB 接口等常用的功能部件,为系统扩展而预留了扩展功能接口,提供 了 SPI 接 口 和 JTAG 接 口以方便下载和调试。

关键词:CAN_NODE 实验板;AVR 集成开发环境;mage128;通讯

中图分类号:TP338 文献标识码:B

文 章 编 号 :1009-3044(2011)13-3148-03

Design and Implementation of CAN_NODE Based on Microprocessor

LIU Bin, WANG Jun-qing, MA Jing-bo

(Ocean University of China, Qingdao 266100, China)

Abstract: This paper describes the design ideas and software design processes of an embedded Web server technology, as well as the structure of the application file system, which translates the web page file into a compiled data structure. Finally, based on the hardware platform of a 32-bit ARM microcontroller LPC2210,and in the support of the opened source code ZLG/IP packages, this paper gives an example of the realization of an embedded Web server. CAN_NODE experiment board is a powerful 8-bit AVR MCU Board, which is based on the AVR RISC structure of low-power CMOS 8-bit microcontroller ATmega128. Because of its advanced instruction set and single-cycle instruction execution time, ATmega128 data throughput of up to 1 MIPS/MHz. CAN bus communication board provides the necessary hardware, buttons, LED, USB interface features commonly used. There are the necessary hardware of CAN bus communication, buttons, LED, USB interface features commonly used,which are provided on the board. It is reserved for system expansion and extension interfaces. And also it provides SPI interface and JTAG interface to facilitate the download and debug.

Key words: CAN_NODE Experiment Board; AVR integrated development environment; mage128; communication

1 概述

CAN 的高性能和可靠性已被认同,且已经在汽车计算机控制系统和嵌入式工业控制局域网中得到广泛应用,并且拥有以 CAN 为底层协议专为大型货车和重工机械车辆设计的 J1939 协议。由于所具有的高可靠性和良好的错误检测能力,被广泛应用于汽车计 算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境。 CAN_NODE 有着广泛的应用背景,同时也为对 CAN 的学习和掌 握提供了一个良好的平台。

2 CAN_NODE 硬件结构

CAN_NODE 包括电源部分电路、JTAG 接口 电 路 、蜂 鸣 器 控 制 电 路 、按 键 电 路 及 LED 显 示 电 路 、CAN 接 口 电 路 、USB 接 口 电 路 、 扩 展 接 口 电 路 、CAN 控 制 器 SJA1000、CAN 收发器 82C251 等。 82C251 的主要作用是收发 CAN 总线上的信号, 其中,一方面将总线信号转换为 CAN 控制器所需的信号;另一方面,将 CAN 控 制 器的输出信号转化为 CAN 总线信号。CAN_NODE 实验板功能框图如图 1 所示,它 包括为实现高性能串行网络通信所必须的所有硬件。 它通过 CAN 协议的应用在 局域网控制通信流。 同时,它适应以下的条件要求:短报文的长度,能确保紧急报 文的等待时间,总线访问优先权决定于报文标识符,错误处理能力强,配置灵活可 允许局域网惊醒扩展等。

图 1 系统结构框图

2.1 J1 电源的选择
为 了 使 电 源 供 电 方 式 选 择 更 加 灵 活 ,CAN NODE 实 验 板 支 持 9V 配套稳压电源和 USB 电源两种电源供电,可以通过跳线接口J1 对供 电 方式进行选择,跳线接口 J1 说明见(表 1)。

表 1 J1 跳线

收 稿 日 期 :2011-03-12 作 者 简 介 :刘 滨 (1962-),男 ,山 东 青 岛 人 ,中 国 海 洋 大 学 工 程 学 院 教 授 ,硕 士 生 导 师 , 主 要 研 究 方 向 为 智 能 仪 器 仪 表 、 嵌 入 式 技 术 ; 王
俊 青 (1984-),男 ,山 东 青 岛 人 ,中 国 海 洋 大 学 工 程 学 院 研 究 生 ,主 要 研 究 方 向 为 智 能 仪 器 仪 表 、 嵌 入 式 技 术 ; 马 金 波 (1982-),山 东 青 岛 人 ,中 国 海 洋 大 学 工 程 学 院 研 究 生 ,主 要 研 究 方 向 为 智 能 仪 器 仪 表 、嵌 入 式 技 术 。

3148 计算机工程应用技术

本栏目责任编辑:梁 书

第 7 卷第 13 期 (2011 年 5 月) 表 2 J15 跳线
表 4 J9 跳线

Computer Knowledge and Technology 电脑知识与技术 表 3 J14 跳线
表 5 J8 跳线

2.2 J15 J14 J9 J8 JTAG 接口和扩展接口选择

出于系统功能扩展考虑,Mega 128 的 PF4~PF7 被 JTAG 接口和八路 A/D 中的四路所复用,当用于 JTAG 调试时,用四个跳线来 实现选择详细信息参考 JTAG 接口说明,跳线接口说明见(表 2),(表 3),(表 4),(表 5)。

2.3 J11 蜂鸣器控制和扩展接口选择

Mega 128 的 PE5 口被蜂鸣器控制电路和扩展接口所复用,当用与蜂鸣器控制时,通过跳线 J11 来 进 行 选 择 ALARM,不 进 行 蜂 鸣器控制时,改变跳线选择 PE5 用于扩展接口。 J11 跳线器说明见(表 6)。

2.4 J13 串口与 ISP 下载选择
为了节 省 Mega 128 的 资 源 ,为 扩 展 所 预 留 ,Mega 128 的 PE0 口通过跳线器 J13 被串口和 ISP 下载线所复用,J13 跳线器说明见 (表 7)。

表 6 J11 跳线

2.5 J12 ISP 下载接口和数码管段选择

表 7 J13 跳线

出于软件处理方便的角度考虑,Mega 128 的 PB1 口被 ISP 下 载和八段数码管的一段复用,并 通 过 J12 跳 线 器 加 以 选 择 ,J12 跳 线器说明见(表 8)。

2.6 CN11 JTAG 接口

CN11 是 10PIN 的 JTAG 接 口 , 当 需 要 JTAG 仿 真 调 试

时,将 JTAG 仿真器与 CN11 连接(注 意 连 接 方 向 ),并 设 置 相 应 的

四个跳线接口 J15, J14 ,J9 ,J8(详细内容请参考跳线图),则完成

JTAG 接口的硬件连接。 当不进行 JTAG 仿真 时 ,改 变 跳 线 ,使 PF4~PF7 可 以 作 为 GPIO 使

表 9 CN11 接口引脚

用。 CN11 的引脚定义如(表 9)所示。

表 8 J12 跳线 表 10 J5 接口引脚 表 11 J16 接口引脚

2.7 J5 CAN 总线接口

J5 是 CAN 总 线 通 讯 接 口 , 当 把 CAN NODE 实 验 板 做 为 一 个 节 点 连 接 到 总 线 上 时 ,CAN 总 线 (双 绞 线 )与 实 验 板 上 接 口 对 应 相接【(CAN 高)接 (CAN_H),(CAN 低 )接 (CAN_L)】。 其 中 J5 引 脚定义如(表 10)所示。

表 12 外围器件的地址分配表

2.8 J16 ISP 下载线接口

由 于 Mega 128 具 有 ISP 功 能 ,J16 是 6 PIN 的 ISP 下 载 线 接 口 ,把 下 载 线 与 J16 相 接 (注 意 连 接 方 向 ),相 应 跳 线 接 口 J12 跳 线选择 SCK(详细内容请参考跳线图),即可完成 ISP 下载的硬件连接。 下载完成之后,跳线接口 J12 用跳线选择 PB_1 来控制八段 数码管其中一段,其中 J16 引脚定义如(表 11)所示。

2.9 外围器件的地址分配

CAN_NODE 实验板外围器件的地址分配见(表 12)。

2.10 CAN 芯片的初始化

在建立 CAN 总线的通信之前要有初始化过程。 CAN 芯片 SJA1000 在上电后或者进行软件功能重置时要初始化工作寄存器。 当 系统上电后,处理器要首先运行自己的初始化过程,然后再进入 SJA1000 的连接建立过程(SJA1000 的 17 引脚获得 1 个 Reset 低电 平脉冲,进入 Reset 模式)。 在初始化 SJA1000 的寄存器以前,主处 理 器 应 该 检 测 Reset 的 mode/request 标 志 ,如 果 SJA1000 已 经 是 Reset 模式,由于所有的寄存器只能在 Reset 模式下进行写操作,因此所有的寄存器都将获得相应的配置信息。 在完成所有的初始化 工作后,SJA1000 就进入到工作模式,也就使 CAN 控制器的中断功能处于有效状态。

3 AVR 集成开发环境

点击 WINDOWS 操作系统的【开始】->【程序】->【ImageCraft Development Tools】->【ICCV7 for AVR】启动 ImageCraft IDE for IC-

本栏目责任编辑:梁 书

计算机工程应用技术 3149

Computer Knowledge and Technology 电脑知识与技术
CAVR(PROFESSIONAL),或双击“ICCV7 for AVR.exe”快捷方式启动。 集成开发环境如图 2 所示。
4 点对点的通信
本设计实现 CAN 节点与 CAN 节点之间的简单通讯,将 2 块图 3 所示的 CAN 实验装置板作为 CAN 通信节点, 通过各节点的 CAN_H 和 CAN_L 端 口 并 联 到 双 绞 线 上 , 然 后 在 双 绞 线 两 端 各 接 上 一 个 120Ω 左右的电阻 R 作为 CAN 总线的终端匹配电阻, 使得两线构成 一个闭环电路,搭建起多主式 CAN 总线系统结构。

第 7 卷第 13 期 (2011 年 5 月)

5 与上位机通讯

图 3 CAN 组网图

图 2 AVR 开发环境

系统以 mage128 为核心, 控制 USB 与 CAN 之间的数据交换,是 双向的数据传输,USB 与 CAN 之间数据交换结构如图 4 所示。
上 位 PC 机 侧 通 信 软 件 属 性 设 置 时 ,CommPort: 设 置 并 返 回 通 信 端 口 号 , 如 Mscomm1.Commport=1 表示指定使用 COM1 作为通信端口。 Settings:设置并返回初始化 参数,即波特率、奇偶校验、数据位和停止位。对于奇偶校验位,N 表示不校验,E 表示偶 校验,O 表示奇 校 验 ,M 表 示 符 号 校 验 ,S 表 示 空 格 校 验 。 如 Mscomm1.Settings=“2400, N,8,1”表 示 所 使 用 的 通 信 端 口 以 2400bps 的 速 度 传 输 ,不 作 同 位 校 验 ,8 个 数 据 位 ,1 个停止位。 PortOpen:设置并返回通信端口的状态,也可以打开和关闭端口。 Input:返回 图 4 USB 与 CAN 之间数据交换示意图 并删除接收缓冲区中的数据,在设计时无效,运行时为只读。 InputLen:确定被 Input 属 性一次从接收缓冲区读取的字符数。 InputMode:设置并返回被 Input 属性读取的数据类型,其中 ComInputModeText 以文本的形式返 回,而 ComInputModeBinary 以二进制形式返回。 Output:向输出缓冲区中写入数据,在设计时无效,运行时为只读。

6 结束语

本设计对 CAN 模块软硬件实现方法进行了详细的描述。 目前,在实际应用中,CAN 的应用范围遍及从高速网络到低成本的多 线路网络。 在自动化电子领域、发动机控制部件、传感器、抗滑系统等应用中,CAN 的位速率可高达 1Mbps。 同时,它可以廉价地用于 交通运载工具电气系统中。 本文作者的创新点在于提高了与上位机通讯的速率,高优先权报文低延迟时间,报文配置灵活性好,加 强了错误处理能力,进一步提高了它的可靠性和错误检测能力,同时,也改善了由于电磁干扰,在 CAN 消极报错帧分节符中发生的 格式错。

参考文献:

[1] 周立功.iCAN 现场总线原理与应用[M].北京:北京航空航天大学,2007. [2] 周立功.ARM 与嵌入式系统基础编程[M].广州周立功单片机发展有限公司,2004. [3] 邬宽明.CAN 总线原理和应用系统设计[M].北京:北京航空航天大学出版社,2002:240-257. [4] 徐英华,李新春,等.基于 ARM 的 CAN 与以太网网关互联的设计[J].微计算机信息,2010,7-2:133-135.

3150 计算机工程应用技术

本栏目责任编辑:梁 书


相关文章:
基于单片机的CAN_NODE的设计与实现.pdf
基于单片机的CAN_NODE的设计与实现 - ISSN 1009-3044 Co
基于单片机的CAN_NODE的设计与实现_论文.pdf
基于单片机的CAN_NODE的设计与实现 - CAN_NODE实验板是一款功能强
基于51单片机的CAN总线转串口通信卡的设计与实现_图文.pdf
基于51单片机的CAN总线转串口通信卡的设计与实现 - 船 电技 术I 应用研究 基于 5 1单片机 的CAN 总线 转串口 通信 卡 的设计 与 实现 钱震宇 肖昌汉...
基于单片机的计步器设计和实现_图文.doc
基于单片机的计步器设计和实现_兵器/核科学_工程科技_专业资料。摘要: 计步器是...can motivate people to challenge themselves, enhance physical fitness, to help...
基于单片机的CAN智能总线节点的设计.pdf
基于单片机介绍了CAN总线节点的硬件电路结构和软件设计流程图。完成一个CAN智能...-4- http://www.paper.edu.cn Design of an intelligent Node for CAN ...
基于ATmega128的CAN_NODE总线驱动程序设计.doc
基于ATmega128的CAN_NODE总线驱动程序设计 - 龙源期刊网 http://www.qikan.com.cn 基于 ATmega128 的 CAN_NODE 总线驱动 程序设计 作者...
CANopen从站协议的设计与实现_图文.pdf
2 CANopen功能模块实现 2.1 CAN驱动程序实现 针对C8051F500单片机,实现CAN...当从节点收到start_remote_node命令后, 进入operational状态,此状态包含了从节点...
基于单片机的室内安全报警系统的设计与实现_图文.doc
基于单片机的室内安全报警系统的设计与实现 - 摘要 东北农业大学学士学位论文 学号: 基于单片机的室内安全报警系统的设计与实现 Design and implementation of i...
基于单片机CAN总线的车灯控制系统设计_图文.doc
基于单片机CAN总线的车灯控制系统设计_工学_高等教育_教育专区。本文在 CAN 技术...Described light control system software design, gives the program CAN node ...
基于单片机IC卡门禁系统的设计与实现_图文.doc
基于单片机IC卡门禁系统的设计与实现 - 单片机论文_优秀毕业论文_外文翻译_毕业论文设计_毕业过关论文_毕业设计_毕业设计说明_毕业论文_单片机毕业论文_基于单片机毕业...
基于Can总线的嵌入式网络控制节点的设计与实现(电科院2....doc
基于Can 总线的嵌入式网络控制节点的设计与实现 2011.8 发表于制造业自动化北大核心期刊 摘要: 采用 ARM 芯片替代传统 CAN 总线节点的单片机单元已经是一种理想...
基于CAN总线实现的PC机与单片机的通信_图文.pdf
基于CAN总线实现的PC机与单片机的通信 - 第34卷增刊2 中南工业大学学报(自然科学版) J.CENT.SOUTHUNIV.TECHNoL. 2003年7月 基于CAN总线实现的PC...
基于单片机的智能传感器CAN总线接口硬件设计_图文.pdf
基于单片机的智能传感器CAN总线接口硬件设计 - 设计开发 数字技术 与应用 基于单片机的智能 传感器 CAN 总线接口硬件设计 周挺 朱飞燕 (西安航空职业技术学院 陕西...
基于STM32和CAN总线的智能数据采集节点设计_图文.pdf
基于STM32和CAN总线的智能数据采集节点设计_信息与...312. Inte||.gentDataACquiSitiOnNOdeDeSignBasedOn...基于AT89C51型单片机的C... 4页 2下载券 基于...
基于MCP2510和PIC单片机的CAN节点的设计_论文.pdf
基于MCP2510PIC单片机的CAN节点的设计_信息与通信_工程科技_专业资料。首先介绍...C PIMCU.MCP2051 SPICANNODE CN总线为多 主方 式工作,A 网络 上任一节 ...
基于DSP与PIC单片机的CAN总线系统研究_论文.pdf
基于DSP与PIC单片机的CAN总线系统研究 - 设计与研发 2o18.13 基于DSP与Pl C单片机 的CAN总线 系统研 究 段云强 (郑飞公司,45...
基于虚拟仪器的CAN卡驱动实现_图文.pdf
基于虚拟仪器的CAN卡驱动实现_信息与通信_工程科技_...2 CAN 接口卡 选 用广州周立功单片机有限公司的 ...( Call L ibr ar y F unct ion 调 Node) ”...
基于CAN总线的FSAE赛车数据采集与控制系统的设计_杨仲....pdf
基于CAN总线的FSAE赛车数据采集与控制系统的设计_杨...with ? iventef ?i lli etnodesgn ? . ? ...上 , 另 外利用。 m? 5 1 单片机的 其他 廿 ...
基于CAN总线设计实现的数据采集监控系统_图文.pdf
基于CAN总线设计实现的数据采集监控系统_电子/电路_工程科技_专业资料。研究与...tlleor nodemodulescouldbeconnectedinto removedfromtheCANBusconvenientlysincecan...
基于单片机的多功能数字钟的设计_图文.doc
淮北煤炭师范学院 2014 届学士学位论文 基于单片机的多功能数字钟的设计 院别
更多相关标签: