【经验】用C语言抽象代码描述CAN控制器XL2515的初始化流程

2022-09-03 世强
CAN控制器,XL2515,信路达 CAN控制器,XL2515,信路达 CAN控制器,XL2515,信路达 CAN控制器,XL2515,信路达

随着汽车行业的高速发展,车上的功能越来越多,在本身MCU的CAN资源不足的情况下使用信路达推出的XL2515 CAN控制器来扩展CAN接口的也越来越多,今天我们就来详细看看如何使用这一款XL2515。


我们今天先说下XL2515的初始化,以C语言为例:


我们从下图的XL2515规格书中可以看到XL2515支持的SPI指令

首先我们先编写一个函数来完成XL2515相关复位、读、写、位修改指令操作。

入口参数:cmd: 对XL2515的相关命令; add: 地址信息; arg1,arg2: 命令的相关参数

返回:若命令要求有返回值,则返回相应的数据;如果没有返回值的,则返回0

unsigned char XL2515_SPI_CMD( unsigned char cmd, unsigned char addr, unsigned char arg1, unsigned char arg2 )

{

unsigned char data = 0x00;

switch(cmd)

{

case XL2515_CMD_RESET:

MCU_SPI_SendByte( XL2515_CMD_RESET );

break;

case XL2515_CMD_BITMOD:

MCU_SPI_SendByte( XL2515_CMD_BITMOD );

MCU_SPI_SendByte( addr );//地址字节

MCU_SPI_SendByte( arg1 );//屏蔽字节

MCU_SPI_SendByte( arg2 );//数据字节

break;

case XL2515_CMD_WRITE:

MCU_SPI_SendByte( XL2515_CMD_WRITE );

MCU_SPI_SendByte( addr );

MCU_SPI_SendByte( arg1 );

break;

case XL2515_CMD_READ:

MCU_SPI_SendByte( XL2515_CMD_READ );

MCU_SPI_SendByte( addr );

data = MCU_SPI_ReadByte();

break;

default:

data = 0x00;

break;

}

return data;

}

完成了XL2515指令后,初始化部分就可以直接调用这个函数了。

 

因为实际使用过程中初始化会根据应用不同设置的参数也不同(例如波特率),所以我们使用抽象代码来给大家描述一个完整的XL2515初始化流程。上图是我们下面代码中会用到的寄存器,其他抽象表述的相关寄存器的详细描述在XL2515的手册中也有类似的详细描述

void XL2515_Init()

{

//复位XL2515

XL2515_SPI_CMD( XL2515_CMD_RESET, 0, 0, 0 );

//进入配置模式

XL2515_SPI_CMD( XL2515_CMD_BITMOD, XL2515_CANCTRL, 0xe0, 0x80 );

//配置相关引脚

XL2515_SPI_CMD( XL2515_CMD_WRITE, XL2515_BFPCTRL, BFPCTRL_INIT_VAL, 0);

XL2515_SPI_CMD( XL2515_CMD_WRITE, XL2515_TXRTSCTRL, TXRTSCTRL_INIT_VAL, 0);

//设置波特率

XL2515_SPI_CMD( XL2515_CMD_WRITE, XL2515_CNF1, CNF1_INIT_VAL, 0 );

XL2515_SPI_CMD( XL2515_CMD_WRITE, XL2515_CNF2, CNF2_INIT_VAL, 0 );

XL2515_SPI_CMD( XL2515_CMD_WRITE, XL2515_CNF3, CNF3_INIT_VAL, 0 );

//配置中断

XL2515_SPI_CMD( XL2515_CMD_WRITE, XL2515_CANINTE, CANINTE_INIT_VAL, 0 );

XL2515_SPI_CMD( XL2515_CMD_WRITE, XL2515_CANINTF, CANINTF_INIT_VAL, 0 );

//复位XL2515的错误标志寄存器

XL2515_SPI_CMD( XL2515_CMD_WRITE, XL2515_EFLG, EFLG_INIT_VAL, 0);

//配置TXBnCTRL(发送缓冲器控制寄存器)

XL2515_SPI_CMD( XL2515_CMD_WRITE, XL2515_TXB0CTRL, TXBnCTRL_INIT_VAL, 0 );

XL2515_SPI_CMD( XL2515_CMD_WRITE, XL2515_TXB1CTRL, TXBnCTRL_INIT_VAL, 0 );

XL2515_SPI_CMD( XL2515_CMD_WRITE, XL2515_TXB2CTRL, TXBnCTRL_INIT_VAL, 0 );

//配置接收缓冲器控制寄存器

XL2515_SPI_CMD( XL2515_CMD_WRITE, XL2515_RXB0CTRL, RXB0CTRL_INIT_VAL, 0 );

XL2515_SPI_CMD( XL2515_CMD_WRITE, XL2515_RXB1CTRL, RXB1CTRL_INIT_VAL, 0 );

//配置XL2515的验收滤波寄存器

XL2515_SPI_CMD( XL2515_CMD_WRITE, XL2515_RXF0SIDL, RXF0SIDL_INIT_VAL, 0 );

XL2515_SPI_CMD( XL2515_CMD_WRITE, XL2515_RXF0SIDH, RXF0SIDH_INIT_VAL, 0 );

//配置XL2515的验收屏蔽寄存器

XL2515_SPI_CMD( XL2515_CMD_WRITE, XL2515_RXM0SIDL, RXM0SIDL_INIT_VAL, 0 );

XL2515_SPI_CMD( XL2515_CMD_WRITE, XL2515_RXM0SIDH, RXM0SIDH_INIT_VAL, 0 );

//进入正常工作模式

XL2515_SPI_CMD( XL2515_CMD_BITMOD, XL2515_CANCTRL, 0xe7, 0x04 );

}

 


授权代理商:世强先进(深圳)科技股份有限公司
技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 0

本文由土肥圆提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。

评论

   |   

提交评论

全部评论(0

暂无评论

相关推荐

【经验】用C语言抽象代码描述XL2515 CAN控制器的发送例程

随着汽车行业的高速发展,车上的功能越来越多,在本身MCU的CAN资源不足的情况下使用信路达推出的XL2515 CAN控制器来扩展CAN接口的也越来越多,我们就来详细看看如何使用这一款XL2515,今天讲XL2515的发送,依然以C语言为例。

设计经验    发布时间 : 2022-09-09

【经验】信路达XL2515 CAN控制器发送复位命令及读写操作的方法分析

信路达推出的XL2515是一款独立CAN控制器,用于主控没有集成CAN控制器模块或者CAN控制器模块不够的情况。XL2515可以和MCP2515软硬件兼容。本篇文章来分析一下如何向XL2515发送复位命令,以及读写数据。

设计经验    发布时间 : 2023-06-29

【经验】用C语言抽象代码描述XL2515 CAN控制器的接收例程

随着汽车行业的高速发展,车上的功能越来越多,在本身MCU的CAN资源不足的情况下使用信路达推出的XL2515 CAN控制器来扩展CAN接口的也越来越多,今天我们就来详细看看如何使用这一款XL2515。

设计经验    发布时间 : 2022-09-08

【选型】国产带SPI接口的独立CAN控制器XL2515-TSS可替代MCP2515T-I/ST,性能参数基本一致

信路达推出的XL2515-TSS是带SPI接口的独立CAN控制器,本文将对比信路达的XL2515-TSS和MicroChip的MCP2515T-I/ST的主要参数,讨论两者替换的可行性。

器件选型    发布时间 : 2021-07-08

数据手册  -  信路达  - Rev 1.1  - 2023/12/27 PDF 英文 下载

【应用】SPI独立接口的国产CAN协议控制器解决充电桩多路CAN需求

本文介绍信路达SPI接口独立CAN控制器XL2515实现充电桩应用串口SPI转CAN。支持CAN技术规范2.0A/B,传输速率达1Mbps;高速SPI接口,支持SP1 0.0和1.1 两种模式;可编程时钟脉冲输出引脚,可作其他芯片时钟信号源。

应用方案    发布时间 : 2023-03-11

【选型】国产CAN扩展芯片可替代MCP2515,性能参数基本一致,满足应用需求

在当下的芯慌环境下,工业储能项目的开发中,采用信路达CAN扩展芯片XL2515-TSS或芯力特的SIT2515T-I/ST替代Microchip的MCP2515T-I/ST是完全满足使用要求的。

器件选型    发布时间 : 2021-10-14

数据手册  -  信路达  - Rev 20.24.1  - 2023/12/27 PDF 英文 下载

【选型】国产CAN收发器XL1050可Pin-Pin替换TJA1050T,助力工业控制信号传输

本文重点推荐信路达的XL1050,可Pin-Pin替换TJA1050T进行差分信号传输。XL1050相比TJA1050T,I/O口支持电压既支持3.3V、又支持5V的CAN总线和控制器;两者引脚分布和定义完全相同,无需改版,可以实现兼容设计。

器件选型    发布时间 : 2021-06-27

信路达-其他厂牌对照表

型号- AS179-92LF,XD71055,XD4052,L293B,XL2981,OP07CSZ,TD62004APG,MCP2551T-I/SN,MIC2026-1YM-TR,L297D013TR,OP07CDR,XL62783,L297,OP07EPZ,XD82C55-5,M54563P,XA214-G4C,XL41T56,XB402U,AP1682MTR-G1,CD4052BE,MCP2515T-E/SO,AD7705BNZ,A2982SLWTR-T,MIC2026-2YM-TR,XL07Z,XL9910,UC3845BD1013TR,XL2525Z,AS214-92LF,XL2515-TSS,MT8870DE1,MSM82C55A-2VJ3,TD62004AFG,UDN2981LW-T,UPD71055L-10,LM217LD13TR,XL62004,UDN2981A,XL2551,UPD82C55AC-2,XL62003,SG2525AP013TR,XD2981,M41T56M6F,AP4310AMTR-G1,TD62003APG,UPD71055C,XD54563,XD54562,XP71055,XL7705B,UC3842BD1013TR,ULN2803APG,CM8870PI,XD74HC597,TD62783AFWG,L293DD013TR,XD297,HV9910BLG-G,TBD62083AFWG,XL293-20,MMIC,XL62083,XL217,XL1682,XL4310,AS213-92LF,XL297,XZ298N,OP07DRZ,OP07CPZ,UPD8255AC-5,XD293-16,L298N,XA213-G4J,XD62004,XD62002,XD2803,XD62003,XA17-G4K,XD2804,TD62783APG,MCP2515T-I/ST,TD62003AFG,AP1682EMTR-G1,XP8255,BCR402UE6327,ULN2804AFWG,XD8870,UC3843BD1013TR,M54562P,XL2804,TD62002APG,XD8255-2,XL2026-2,XL2026-1,AD7705BRZ-REEL,XD07,SG3525AP013TR,XL3525Z,L291,XL2982SL,XD7705B,ULN2804APG,XL3842,XL3843,XL2515,XL3845,XD62783,74HC597N

对照表  -  信路达  - 2023/5/29 PDF 中文 下载

信路达(XINLUDA)电源管理/运算放大器/数据转换/模拟开关/逻辑器件选型指南

描述- XINLUDA was founded in 2018, and is a high-tech enterprise integrating integrated circuit design, product application solution development and sales into a whole industrial chain, which can provide customers with one-stop services.

型号- XD71055,XH2596-12,XL285-2.5,XD293-8,XL33035,XL2981,XD74C923,XL386,XL1413,XD3485,XD13600,XL9555SS,XL258,XL17358,XD14016,XL494,XL1881,XL485CS,XL1403,XT285-2.5,XD74C922,XL3140,XD74LS93,XL124,XD3140,XD74LS95,XL9910,XL2843,XL2845,XD74LS90,XL33290,XL3232-TS,XL2515-TSS,XD13700,XL232-TS,XL2113SPBF,XL239,XL8574ATM,XL62004,XD74LS83,XL4067-SS,XL3485,XD74LS86,XL62003,XD74LS85,XD2981,XB402U-L27,XL2003-TS,XA2163,XB3480M3-3.3,XL324TSS,XL75176AD,XL7650-8,XL7135CD,XLV358D,XL2903-TS,XL224,XL2110PBF,XL7705B,XL75176AP,XL8574ATS,XD386-1,XH2576-ADJ,XL74LS04,XL7555,XL74LS06,XL74LS07,XL8574T,XL9555D,XL74LS00,XL2543,XL74LS02,XA2179-S13,XD4136,XH2596-5.0,XL9170,XD2515,XD3846,XD297,XL2594-5.0,XL393-KR,XT336-5.0,XL2803AG,XL293-20,XL339,XL336-5.0,XL217,XL1682,XL74LS11,XL331,XL2594-ADJ,XL74LS14,XZ298N,XL74LS10,XD2525,XD62004,XD62002,XD62003,XH2576-5.0,XL567,XL324,XL74LS08,XL8870,XL7660,XP8255,XH2596-ADJ,XL74LS27,XD8870,XD7660,XL13085,XT78L05,XL74LS20,XD33035,XL8574TM,XD8255-2,XL2112SPBF,XD393,XL8574TS,XL293D-8,XL555,XL485-SS,XD833,XLV358-MS,XD14553,XL317,XD9170,XD7705B,XL298P,XL74HC597-TS,XL3842,XL551,XL3844,XD7555,XL3843,XL74LS30,XL3846,XL2515,XL3845,XL74LS32,XL1307,XL549,XL548,XL224-TS,XD4052,XD74LS181,XD754410,XD4051,XD3085,XL9535,XD4053,XD74LS30,XL2904D,XL5615,XL2902,XL74HC165,XL2901,XD4059,XH2596-3.3,XL2903,XD3403,XD3525,XD3526,XLB574AT,XD14538,XD494,XA2214-S14,XD8574AP,XD2907-14,XL9555QF24,XB385M3-2.5,XD258,XH2576-12,XL236-2.5,XD74LS194,XL1000,XD4060,XD74LS20,XD74LS192,XD74LS21,XD74LS193,XD74LS190,XD2543N,XL62783,XL82C251,XD4066,XL4514,XD4069,XD82C55-5,XA214-G4C,XD7219,XL232Z,XL2904-KR,XD124,XD485,XD74HC165,XD33063,XH2576-3.3,XL7221,XL2112PBF,XL232K,XL13700,XD17358,XL2594-12,XD74LS27,XL4067,XD74LS163,XL2903-KR,XD74LS161,XD74LS283,XL07Z,XD7221,XL7219,XD74LS10,XD74LS160,XL2525Z,XD4514,XD14514,XD232,XD231,XD4518,XD14518,XD0832CC,XD7650-14,XD74LS14,XL293-TS,XD74LS279,XD74LS11,XD239,XD358,XD74LS157,XD74LS154,XL2113PBF,XB431-LM,XL2551,XD1307,XL3526,XL193,XD2902N,XD5615,XD74LS08,XD2901,XD2903,XD54563,XD2904,XD54562,XP71055,XD74LS02,XD74LS00,XL620,XD14069,XD74LS06,XD74LS07,XD74LS04,XL2525K,XL13600,XL3085,XD224,XD74LS166,XL386-MS,XL5532,XL3232,XD40192,XD74LS75,XD74LS76,XD74LS73,XD74LS74,XT385-1.2,XL2803A,XD1413,XL74HC245,XD74HC597,XD331,XL358D,XD4538,XD34063,XL2902-TS,XD74LS138,XD74LS139,XB431-TL,XD17324,XD339,XL74LS157,XL1050,XL62083,XD74LS132,XL1051,XL1042,XL74HC165-TS,XD74LS153,XL33063,XL1044,XL4310,XD74LS151,XD14051,XD14052,XL297,XD14053,XD13085,XL385-1.2,XL4558,XD7650-8,XD7135,XD2002,XD1403,XD2003,XL74HC595,XD293-16,XD2004,XL74HC597,XL393-TS,XA213-G4J,XD74HC245,XL293-KR,XD1881,XB61040,XD2803,XL78L05A,XA17-G4K,XD2804,XL74LS148,XD74LS147,XD74LS148,XD74LS145,XB61041,XD567,XD324,XL1040,XL358-KR,XL34063,XL9555,XD74LS54,XL285-1.2,XL2003,XL2004,XD74LS51,XD4553,XL258-KR,XL2515QF20,XL2804,XD8574P,XD551,XL2026-2,XL2026-1,XB385M3-1.2,XL74LS139,XL74LS138,XD07,XT336-2.5,XL158,XD74LS112,XL336-2.5,XL3525Z,XL2982SL,XD555,XL833,XL393,XL2110,XD74LS42,XL385-2.5,XL2112,XL2113,XD74HC4514Z,XD3232,XL3525K,XL74C922,XD62783,XD3914,XB3480M3-5.0,XT385-2.5,XL2110SPBF,XD74LS248,XD74LS47,XD549,XD548,XD74LS247,XL9535QF24,XD74LS48,XL0832DR,XL74C923

选型指南  -  信路达  - 2024/6/7 PDF 英文 下载

【应用】信路达CAN收发器XL1040助力3KW壁挂式交流充电桩充电控制单元,通信速率可达1Mbps,容错电压正负40V

信路达作为国产模拟器件厂商,推出CAN收发器XL1040设计在3KW壁挂式交流充电桩充电控制单元,满足系统对于功能性能的要求且降低了成本,CAN收发器产品成本下降10%以上,提高了系统的可靠性和抗干扰能力;3KW壁挂式交流充电桩在某公共建筑12个月实地运行测试,CAN收发器通讯正常。

应用方案    发布时间 : 2023-06-21

信路达集成电路&器件选型表

信路达提供CAN接口集成电路,数模转换器,LED驱动器,功率因数控制器,接口芯片,语音解码器,数字开关,接收器,视频同步分离器和编码译码过滤器的参数选型,工作电压(V):3.5V~30V;容错电压(V):-42V-42V;多种封装:SOP8,DIP-20,DIP-8,DIP-16,SOP16。

产品型号
品类
产品名称
工作电压(V)
容错电压(V)
共模电压(V)
最大速率(M)
低功耗模式
封装
XL2551
CAN接口集成电路
High-speed CAN Transceiver
4.5V-5.5V
-42V-42V
-12V-12V
1M
standby
SOP8

选型表  -  信路达 立即选型

XL2515 Stand-Alone CAN Controller with SPI Interface

型号- XL2515-TSS,XL2515,XL2515QF20

数据手册  -  信路达  - Rev 1.0  - 2023/6/13 PDF 英文 下载

展开更多

电子商城

查看更多

品牌:信路达

品类:CAN接口IC

价格:¥7.0000

现货: 8

品牌:信路达

品类:CAN接口IC

价格:¥3.7030

现货: 88

品牌:信路达

品类:CAN接口IC

价格:¥1.1059

现货: 0

品牌:芯力特

品类:CAN控制器

价格:¥8.5800

现货: 494

品牌:优恩半导体

品类:CAN串口芯片

价格:¥9.0000

现货: 180

品牌:华冠半导体

品类:独立CAN控制器

价格:¥3.5295

现货: 30

品牌:芯力特

品类:接口芯片

价格:¥2.2000

现货: 10

品牌:芯力特

品类:CAN控制器

价格:¥6.8600

现货: 0

品牌:瑞纳捷

品类:接口芯片

价格:¥1.0833

现货: 0

品牌:瑞纳捷

品类:接口芯片

价格:¥2.0000

现货: 0

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:Advanced Digital Chips

品类:CAN 控制器

价格:¥15.4100

现货:1,998

品牌:

品类:

价格:

现货:

服务

查看更多

压力传感器定制

可定制板装式压力传感器支持产品量程从5inch水柱到100 psi气压;数字输出压力传感器压力范围0.5~60inH2O,温度补偿范围-20~85ºС;模拟和数字低压传感器可以直接与微控制器通信,具备多种小型SIP和DIP封装可选择。

提交需求>

液冷板/液冷机箱定制

定制水冷板尺寸30*30mm~1000*1000 mm,厚度1mm~50mm,散热能力最高50KW,承压可达3MPA;液冷机箱散热能力达500W~100KW。项目单次采购额需满足1万元以上,或年需求5万元以上。

提交需求>

查看更多

授权代理品牌:接插件及结构件

查看更多

授权代理品牌:部件、组件及配件

查看更多

授权代理品牌:电源及模块

查看更多

授权代理品牌:电子材料

查看更多

授权代理品牌:仪器仪表及测试配组件

查看更多

授权代理品牌:电工工具及材料

查看更多

授权代理品牌:机械电子元件

查看更多

授权代理品牌:加工与定制

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面