本帖最后由 小猪siyuan 于 2022-9-14 16:14 编辑
前言 硬件说明: l MCU: GD32C103120M,128K,32k RAM. l 输入:USB5V. l OBD功能口定义:OBD(2,10)VPWM、OBD7(K线)、OBD 6(CAN H)、OBD 14(CAN L)、OBD 15(L线).
软件说明: 一、汽车CAN2.0(双线OBD 6、14) 1、支持波特率:1M、800K、500K、250K、125K、100K、62K、50K、33.3K、25K 二、汽车CAN FD(双线OBD 6、14) 1、仲裁区波特率:1M、500K 2、数据区波特率5M 4M 2M 1M 三、汽车KWP/LIN(OBD7)总线数据采集说明 1、波特率:5、4800、9600、10416、57600、115200 BPS 三、SAE J1850(OBD2、10) 1、PWM 协议发送接收 2、VPW 协议发送接收
CAN 2.0 ISO-15765 500K1. 电路图
2. 例程说明
(1) 硬件连接用OBD 一分2线接上开发板与CAN 采集器,采集器设置波特率500K不过滤采样。
3. 软件设计 CAN1 接单片机 PB8 PB9,500K波特率循环发送 CAN 标准帧扩展帧数据
(1) main主要流程//初始化IO设置波特率can_configEx(can_500k); //设置过滤器 CAN_setAllfit();//设置不过滤ID //发送标准帧SendISO15765Data(SendData,0xfc00);//15765 STCAN //发送扩展帧SendISO15765Data(SendData,0x18DB33F1);//15765 EXCAN
Main() 主要代码 can_configEx(can_500k);//500K 波特率 //CAN1_Config16BitFilter(0xFC00,0xFD00);//设置过滤ID CAN_setAllfit();//设置不过滤ID /* main loop */ while (1) { SendISO15765Data(SendData,0xfc00);//15765STCAN Delay_ms(100); SendISO15765Data(SendData,0x18DB33F1);//15765EXCAN Delay_ms(100); }
4. PC平台效果 EcuSimulator 工具设置CAN2.0 500K不过滤,显示数据如下图所示
单片机代码地址 https://github.com/siyuan1644/GD32_CAN-2.0-ISO-15765.git 硬件地址
|