当前位置:首页 > 汽车电子 > 汽车电子
[导读] 控制器局域网络CAN(Controller Area Network)是德国BOSCH公司为解决现代汽车中众多电子设备之间的数据交换而开发的一种串行数据通信协议,它具有高可靠性和良好的错误检测能力。汽车上主要有高速(500 kb/s)和低

 控制器局域网络CAN(Controller Area Network)是德国BOSCH公司为解决现代汽车中众多电子设备之间的数据交换而开发的一种串行数据通信协议,它具有高可靠性和良好的错误检测能力。汽车上主要有高速(500 kb/s)和低速(125 kb/s)两种CAN总线,这两种总线通过网关连接,实现两个局域网间的数据共享。

目前,随着对系统复杂化、精细化的要求越来越高,传统的集中控制从实时性和可靠性上越来越不能满足要求,分布控制逐渐得到了广泛应用。分布控制就是系统由一个主控制器和若干个分控制器组成,分控制器分别处理一部分系统功能,以并行或串行的方式与主控制器进行数据和信息的交互。

1 系统的总体设计

本设计主要完成了智能车在预先铺贴的道路上行驶。整个系统硬件组成框图如图1所示,包括采集节点和控制节点,它们之间通过CAN总线完成数据的交互。采集节点通过传感器采集道路信息,经过信号调理电路传送到微控制器,微控制器对信息进行处理后把数据发送到CAN总线上。控制节点读取总线上的数据并转换成控制命令,控制执行机构以确保智能车不偏离道路并且保持较高的速度。


2 节点的硬件接口设计

2.1 采集节点SST89E564RD与CAN总线接口

SST89E564RD自身不具有CAN模块,因此扩展了CAN总线控制器,通过CAN总线收发器接入总线。本设计采用的CAN控制器是SJA1000,其兼容CAN2.0B协议,通过单片机对其进行初始化,主要实现数据的接收和发送等通信任务。收发器选用PCA82C250,它是一种应用广泛的CAN控制器与物理总线间的接口芯片,能够对总线的信息进行差动发送和接收。为了进一步提高系统的抗干扰能力,在PCA82C250和SJA1000之间用高速光耦6N137进行隔离,以降低由于不同节点的高共模电压引起的串扰甚至对器件的损坏,提高系统的可靠性,其通信速率高达10 Mb/s,完全能满足CAN总线需要。SST89E564RD与CAN总线的硬件接口如图2所示。


2.2 控制节点DSP 与CAN 总线接口

TMS320F2812 DSP 芯片内部集成了一个完整的增强型CAN 控制器, 称之为eCAN, 在硬件设计中,不需要再加入独立的CAN 控制器来实现CAN 总线的底层协议, 直接通过收发器PCA82C250 连接总线。DSP 与CAN总线接口设计如图3 所示。


3 CAN节点软件设计

3.1 CAN总线通信数据格式

CAN协议通信格式中有数据帧、远程帧、出错帧和超载帧4种帧格式。其中,数据帧和远程帧的发送需要在CPU控制下进行,而出错帧和超载帧的发送则是在错误发生和超载发生时自动进行的。一个有效的CAN的数据帧由起始帧、仲裁域、控制域、数据域、应答域和结束帧组成。一帧信息除仲裁域、控制域和数据域外,其他信息都是CAN控制器发送数据时自动加上去的,而仲裁域、控制域和数据域则必须由CPU给出。TMS320F2812的CAN控制器支持标准格式和扩展格式两种不同的帧格式,本设计采用标准格式。标识符作为报文的名称,在仲裁过程期间,它首先被发送到总线,在接收器的验收判断中和仲裁过程确定访问优先权中都要用到。远程发送请求位RTR决定发送的是远程帧还是数据帧。数据长度码DLC用来确定每帧发送几个字节的数据,最多8 B。SJA1000可以工作在标准CAN模式和增强型CAN模式两种模式。标准CAN模式提供11 bit标识符的识别,而增强型CAN模式支持29 bit标识符识别。本设计选择SJA1000工作在标准CAN模式,与DSP的CAN模块选择的数据格式相吻合。

3.2 SST89E564RD软件设计

SST89E564RD软件的设计是在KeilC下完成的,主要由初始化模块、采集模块和通信模块组成。

(1)初始化模块。单片机在SJA1000的复位模式下完成对CAN控制器的初始化,向其控制寄存器写入控制字,确定CAN控制器的工作方式。

(2)采集模块。摄像头传感器采集到的信息经信号调理电路处理后传输到单片机,单片机采用图像滤波算法对所有信息进行预处理。

(3)通信模块。把采集模块处理完的信息通过CAN总线与其他节点进行信息交互。

3.3 TMS320F2812软件设计

TMS320F2812的eCAN模块主要由CAN协议内核和消息控制器构成。协议内核主要完成消息解码并向接收缓冲器发送解码后的消息,同时根据CAN协议向总线发送消息,消息控制器决定对接收到的消息的取舍。TMS320F2812软件主要由初始化模块、通信模块和驱动模块组成。

(1)初始化模块。其完成对CAN控制层中的寄存器进行初始化,包括时钟使能、引脚定义、波特率的设定和收发邮箱的配置等。初始化模块流程图如图4所示。

(2)通信模块。它包括报文发送模块、报文接收模块和CAN出错管理模块。

(3)驱动模块。它包括转向控制模块和速度控制模块。由于智能车处于弯道和直道的转向模型不同,本系统在转向控制模块中采用了分段比例控制算法,而对智能车速度的调整既要快速又要准确,还不能频繁波动,本系统在速度控制模块中采用了PID控制算法。

系统采用SST89E564RD微处理器实时采集道路信息,采用TMS320F2812进行数据的综合处理,输出相应命令给执行机构,所有数据通过CAN总线交互,方便功能拓展。通过模拟测试和大量环境试验,以及对记录、实时检测、数据分析的整理,该智能车目前运行可靠。后续将增添无线模块节点,为该智能车添加遥控功能。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

北京2025年8月8日 /美通社/ -- 8月7日,浪潮信息发布面向万亿参数大模型的超节点AI服务器"元脑SD200"。该产品基于浪潮信息创新研发的多主机低延迟内存语义通信架构,以开放系统设计向上扩展...

关键字: 模型 节点 SD 通信

在工业自动化与智能交通领域,CAN总线因其高可靠性、抗干扰能力和实时性,成为设备间通信的核心协议。然而,单CAN总线存在单点故障风险,一旦总线节点或线路损坏,可能导致整个系统瘫痪。针对这一痛点,基于STM32的双CAN总...

关键字: STM32 CAN总线

香港2025年7月18日 /美通社/ -- 近日,中国移动国际有限公司(中移国际)宣布其参建的"东南亚-日本二号海缆"(SJC2)于2025年7月16日正式投产。 SJC2总长10,500公里,是中...

关键字: 新加坡 数字经济 数据中心 节点

CAN总线(Controller Area Network)‌是一种串行通信协议,旨在解决现代汽车中众多电子控制系统之间的通信问题。

关键字: CAN总线

控制器局域网总线(CAN,Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。

关键字: CAN控制器

杭州 2025年5月19日 /美通社/ -- 5月16-18日,以"瓯江论数 数安未来"为核心主题的2025数据安全发展大会在温州举行。大会由温州市人民政府主办,浙江大学计算机科学与技术学院、世界青...

关键字: 数据安全 节点 大屏 BSP

北京2025年4月14日 /美通社/ -- AI技术的迅猛发展带来了算力需求的激增,也导致数据中心能耗持续攀升。而服务器在数据中心的能耗占比接近50%,是节能降耗的关键所在。元脑服务器第八代平台在散热和供电领域实现了全面...

关键字: 数据中心 电源 散热器 节点

开启国产缺陷检测新纪元 苏州2025年3月26日 /美通社/ -- 3月26日,苏州天准科技股份有限公司(股票代码:688003.SH)宣布,旗下矽行半导体公司研发的明场纳米图形晶圆缺陷检测装备TB2000已正式通过厂...

关键字: 晶圆 节点 半导体产业 先进制程

在嵌入式系统开发中,CAN(Controller Area Network)总线因其高可靠性、实时性和抗干扰能力,广泛应用于汽车、工业自动化、智能设备等领域。本文将深入探讨嵌入式设备CAN总线的开发,从协议解析到错误处理...

关键字: 嵌入式 CAN总线

深圳2025年1月20日 /美通社/ -- 1月17日,荣耀终端股份有限公司发布公告,宣布了最新的高管任职:赵明先生因个人原因辞去公司董事、CEO等相关职务,董事会决定由李健...

关键字: 华为 节点 荣耀 平板
关闭