06-CAN电路设计

视频链接

CAN硬件电路设计01_哔哩哔哩_bilibili

CAN电路设计

1、CAN简介

CAN:局域网(Control Area Network,CAN)是一种全数字、全开放的现场总线控制网络。目前CAN总线被广泛的应用在汽车电子领域和工业的现场总线中。

硬件电路设计核心:

单片机的电平是TTL电平;CAN的电平是以CANH、CANL两线之间的差分电压定义的;TTL电平与CAN电平不兼容;所以在设计电路的时候,必须要电平转换!

2、CAN电平

CAN控制器根据两根线上的电位差来判断总线电平。总线电平分为显性电平和隐形电平,总线必须处于两种电平之一。发送方通过使总线电平发生变化,将消息发送给接收方。

CAN 接口电平差分:

CAN2.0B规范定义了两种互补的逻辑数值:显性和隐性。同时传送显性和隐性位时,总线呈现显性状态;同时传送显性状态位时,总线呈现显性状态;同时传送隐性状态位时,总线呈现隐性状态。显性数值表示逻辑0,隐性数值表示逻辑1。

CAN 收发器芯片,型号为TJA1050 芯片。该芯片是控制器区域网络(CAN)协议控制器和物理总线之间的接口芯片。该器件为总线提供差分发射能力并为CAN 控制器提供差分接收能力。CAN接口与ZYNQ PL 之间的连接框图如下图所示:

CAN总线为什么要有120Ω的终端电阻?高频信号传输时,信号波长相对传输线较短,信号在传输线终端会形成反射波,干扰原信号,所以需要在传输线末端加终端电阻,使信号到达传输线末端后不反射.对于低频信号则不用。

总线的两端各要求有一个端接电阻(120欧)来做阻抗匹配,以减少回波反射。将端接电阻一分为二(120/2=60欧)再接电容(通常是4.7nF)到GND,这样有助于滤波总线上的共模干扰。

3、CAN接口电路的EMC设计方案

1.  CAN接口防静电设计

电路EMC设计说明:

1)电路滤波设计要点:

L1为共模电感,用于滤除差分线上的共模干扰,其阻抗选择范围为120Ω/100MHz ~2200Ω/100MHz,典型值选取600Ω/100MHz

C1C2为信号线上的滤波电容,给干扰提供低阻抗的回流路径,容值选取范围为22PF~1000pF,典型值选取100pF

C3为接口地和数字地之间的跨接电容,典型取值为1000pF,耐压要求达到2KV以上,C3容值可根据测试情况进行调整;

2)电路防护设计要点:

D1D2为瞬态抑制二极管,典型选值要求反向关断电压3.5V以上;因为TVS只是用来静电防护,TVS的功率不作要求。TVS管的结电容对信号传输有一定的影响,CAN接口推荐使用结电容小于100pFTVS管。

4、硬件实战

5、PCB设计方案

1、为了抑制内部单板高频噪声通过接口向外传导辐射,也为了增强单板对外部干扰的抗扰能力。在CAN接口处增加防护和滤波隔离器件,并以隔离器件位置大小为界,划分出接口地;

2、隔离带中可以选择性的增加电容作为两者地之间的连接,电容取值建议为1000pF;信号线串联共模电感滤波,且共模电感要求置于隔离带内;

3、防护器件及滤波器件要靠近接口位置处摆放且要求摆放紧凑整齐,信号线上的防护器件TVS管与滤波电容要下接至接口地;按照信号流向摆放器件,走线时要尽量避免走线曲折的情况;

 4、共模电感及跨接电容要置于隔离带中。

 5、接口及接口滤波防护电路周边不能走线且不能放置高速或敏感的器件;

 6、隔离带下面投影层要做掏空处理,禁止走线。

  • 21
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
概述 随着科技的发展,数字仪表的应用越来越广泛,逐渐替代传统型机械仪表。本应用就是基于ART-Pi开发板,使用RT-Thread系统设计开发的,面向工程机械行业的数字仪表。本应用通过CAN总线采集发动机和控制器参数,将发动机转速、冷却液温度、燃油液位等参数直观的显示出来。 开发环境硬件:ART-Pi+自制扩展板+自制屏幕 RT-Thread版本:4.0.3 开发工具及版本:RT-Thread Studio 1.1.5 RT-Thread使用情况概述程序基于ART-Pi开发板模板工程创建,BSP版本为1.0.1,RT-Thread版本为4.0.3。 程序中使用的组件包括UART设备驱动、CAN设备驱动、I2C设备驱动、PIN设备驱动、ADC设备驱动等,使用touchgfx库和gt9147软件包,其中对touchgfx库文件和gt9147软件包根据硬件资源进行适当修改。硬件方面使用了GPIO、UART、I2C、SDRAM、LCD、FDCAN、ADC等。 硬件框架 硬件结构框图如上图所示,核心板为ART-Pi开发板,板载SPI flash,SDRAM和RGB888接口。RGB888接口与LCD显示屏连接,用于显示数据;LED指示系统运行状态,系统运行后,LED以2Hz频率闪烁;CAN模块通过扩展板与ART-Pi连接,使用TJA1050 CAN收发器,与其它CAN设备进行数据交互;ART-Pi接收CAN模块数据,并传输给LCD,同时根据当前档位,发送转速控制数据,控制发动机转速。(程序中所有CAN数据帧均为模拟ID,与实际ID不同) 软件框架说明系统读取ADC数值,根据ADC数值发送转速控制数据,外部CAN设备接收到转速控制数据后,控制发动机转速,并将转速发出,系统接收外部CAN设备发送转速、水温、油位等数据,与ADC档位一起传输到LCD数据传输模块,LCD数据传输模块将档位、转速、水温、油位数据传输到LCD显示模块,将数据显示到屏幕上。 软件模块说明ADC模块:adc_thread_entry为ADC模块采集进程,间隔100ms采集电位计AD值。 CAN处理模块:CAN处理模块分为接收模块和发送模块。can_rx_thread为CAN接收进程,接收发动机转速、燃油液位和水温数据。can_tx_thread为CAN发送进程,根据ADC模块采集电位计AD值转换成的档位,向外发送控制转速。 LCD数据处理模块:LCD数据处理模块使用信号队列向LCD发送档位、转速、水温、燃油液位数据。LCD数据处理模块作为ART-Pi硬件与LCD显示之间的一个桥梁,将ART-Pi数据传输给touchgfx的model,实现硬件与touchgfx数据交互。 LCD显示模块: Touchgfx使用MVP架构实现和硬件的双向交互。如下图所示,Model提供数据,View负责显示,Presenter负责逻辑的处理。 程序中,在Model模块的Model::tick函数中接收消息队列数据,当当前显示页面为仪表盘页面时,将数据变化传输到Presenter,再将数据发送给View将数据显示处理。 界面进入仪表显示界面后,会将页面更新通知到Model,使Model中的数据更新有效,使页面在进入仪表盘页面时转速、水温、油位等数据及时更新。 演示效果视频: 视频内容说明:视频中左侧为CAN分析仪,主要用于数据对比显示,对比显LCD显示数据和CAN数据差异;右下角为串口转CAN上位机(下称上位机),用于与ART-Pi进行CAN数据交互,模拟CAN控制器。ART-Pi上面背有一个扩展板,使用一个系统运行指示LED,一个电位计和一路CAN。系统启动后,LED开始闪烁。电位计用于调整档位,ART-Pi根据档位发送转速控制帧数据,上位机接收到ART-Pi发送转速后,按设定转速发出转速;同时上位机可以发出水温和油位数据显示到LCD屏幕上。上位机无数据发出后3秒,仪表数据清零,指针复位。 比赛感悟本次比赛是我第一次接触RT-Thread系统,通过近一段时间学习,逐渐掌握了一些RT-Thread系统的工作方式,了解其运行机制。通过RT-Thread Studio进行简单的配置,即可让系统运行起来,减少了很多系统方面的设置,对初学者比较容易上手。 网站的文档中心就是一个学习的宝库,里面涉及内容广泛、详细,并配有详细的示例说明,初学者基本可以只通过文档就可以把单片机基本外设功能实现,对初学者学习能起到很大的作用。社区论坛有大量的开发者在使用中提出的问题,通过问题检索,方便查找自己在学习中遇到的问题,同时官方提供的讨论群非常活跃,回答问题及时,大大的赞。RT-Thread提供了各类最新、最流行的软件包,可以很方便的添加到工程中,对项目快速开发提供了很大的帮助。 最后感谢主办方、承办方、赞助商提供了

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值