【图解CCP协议的CAN通信过程】-2_Polling模式观测变量/信号

4 篇文章 12 订阅

 

目录

1、Polling模式-观测一个信号

2、Polling模式-观测两个信号

3、Polling模式-观测更多信号

4、报文注释

4.1 Short Upload短上传

5、结尾


关键字:

CCP:Can Calibration Protocol

CRO:Command Receive Object

DTO:Data Transmission Object

 

本文旨在帮助大家理解CCP中Polling通信过程。

 

相关推荐阅读(点击下方5个链接即可):

1、如何使用CANape实现XCP/CCP“Measurement测量”和“Calibration标定”变量

2、如何使用CANape查看CAN Message ID和Signal信号

3、【图解CCP协议的CAN通信过程】-1_打开关闭CANape软件过程

4、【图解CCP协议的CAN通信过程】-3_DAQ通信观测变量/信号

5、【图解CCP协议的CAN通信过程】-4_Calibration标定过程

 

ASAM MCD-1 CCP是在标定工具(如CANape,INCA..)和ECU之间定义了CAN特定的标定协议。本文旨在帮助大家理解CCP的通信过程(如果有选择,ASAM建议使用ASAM MCD-1 XCP)。

打开CANape软件,点击Start按钮后,截取到的CAN报文;

 

1、Polling模式-观测一个信号

  37.082710 1  667     Rx   d 8 0F 08 01 00 00 00 28 8C
  37.083081 1  771     Rx   d 8 FF 00 08 00 01 00 84 B8

  37.268597 1  667     Rx   d 8 0F 09 01 00 00 00 28 8C
  37.268968 1  771     Rx   d 8 FF 00 09 00 01 00 84 B8

  37.476217 1  667     Rx   d 8 0F 0A 01 00 00 00 28 8C
  37.476587 1  771     Rx   d 8 FF 00 0A 00 01 00 84 B8

 

2、Polling模式-观测两个信号

 109.184669 1  667             Rx   d 8 0F 9F 01 00 00 00 16 E2
 109.185038 1  771             Rx   d 8 FF 00 9F 00 01 00 84 B8

 109.193870 1  667             Rx   d 8 0F A0 01 00 00 00 28 8C
 109.194236 1  771             Rx   d 8 FF 00 A0 00 01 00 84 B8

 109.378565 1  667             Rx   d 8 0F A1 01 00 00 00 16 E2
 109.378932 1  771             Rx   d 8 FF 00 A1 00 01 00 84 B8

 109.389283 1  667             Rx   d 8 0F A2 01 00 00 00 28 8C
 109.390002 1  771             Rx   d 8 FF 00 A2 00 01 00 84 B8

 109.584818 1  667             Rx   d 8 0F A3 01 00 00 00 16 E2
 109.585183 1  771             Rx   d 8 FF 00 A3 00 01 00 84 B8

 109.595747 1  667             Rx   d 8 0F A4 01 00 00 00 28 8C
 109.596114 1  771             Rx   d 8 FF 00 A4 00 01 00 84 B8

 

3、Polling模式-观测更多信号

注意:Polling模式下,如果观测的信号太多,会导致那些观测周期较短信号的观测周期拉长。

 

/*************************第一个循环*****************************/
  52.297584 1  667             Rx   d 8 0F 5A 02 00 00 00 29 A5
  52.297955 1  771             Rx   d 8 FF 00 5A 00 00 00 84 B8
  
  52.308618 1  667             Rx   d 8 0F 5B 02 00 00 00 17 24
  52.308990 1  771             Rx   d 8 FF 00 5B FF FD 00 84 B8
  
  52.319657 1  667             Rx   d 8 0F 5C 02 00 00 00 17 20
  52.320030 1  771             Rx   d 8 FF 00 5C FF FE 00 84 B8
  
  52.330703 1  667             Rx   d 8 0F 5D 02 00 00 00 17 1E
  52.331089 1  771             Rx   d 8 FF 00 5D 00 00 00 84 B8
  
  52.341717 1  667             Rx   d 8 0F 5E 02 00 00 00 17 22
  52.342185 1  771             Rx   d 8 FF 00 5E 00 01 00 84 B8
  
  52.352825 1  667             Rx   d 8 0F 5F 02 00 00 00 17 1C
  52.353546 1  771             Rx   d 8 FF 00 5F 00 00 00 84 B8
  
  52.363613 1  667             Rx   d 8 0F 60 02 00 00 00 17 1A
  52.364084 1  771             Rx   d 8 FF 00 60 00 00 00 84 B8
  
  52.374530 1  667             Rx   d 8 0F 61 02 00 00 00 17 27
  52.374897 1  771             Rx   d 8 FF 00 61 05 DC 00 84 B8
  
  52.385386 1  667             Rx   d 8 0F 62 01 00 00 00 17 29
  52.385751 1  771             Rx   d 8 FF 00 62 06 DC 00 84 B8
  
  52.396355 1  667             Rx   d 8 0F 63 02 00 00 00 17 26
  52.396722 1  771             Rx   d 8 FF 00 63 00 05 00 84 B8
  
  52.407337 1  667             Rx   d 8 0F 64 02 00 00 00 2C 70
  52.407704 1  771             Rx   d 8 FF 00 64 10 A7 00 84 B8
  
  52.418378 1  667             Rx   d 8 0F 65 02 00 00 00 2C 56
  52.419076 1  771             Rx   d 8 FF 00 65 0C B1 00 84 B8
  
  52.429275 1  667             Rx   d 8 0F 66 02 00 00 00 2C 3C
  52.429977 1  771             Rx   d 8 FF 00 66 0D 0A 00 84 B8
  
  52.440296 1  667             Rx   d 8 0F 67 02 00 00 00 2C 22
  52.441005 1  771             Rx   d 8 FF 00 67 0C BB 00 84 B8
  
  52.451361 1  667             Rx   d 8 0F 68 01 00 00 00 16 E2
  52.452081 1  771             Rx   d 8 FF 00 68 00 BB 00 84 B8
  
  52.462192 1  667             Rx   d 8 0F 69 01 00 00 00 28 8C
  52.462654 1  771             Rx   d 8 FF 00 69 00 BB 00 84 B8
  
/*************************第二个循环*****************************/
  52.473769 1  667             Rx   d 8 0F 6A 02 00 00 00 29 A5
  52.474140 1  771             Rx   d 8 FF 00 6A 00 00 00 84 B8
  
  52.484136 1  667             Rx   d 8 0F 6B 02 00 00 00 17 24
  52.484602 1  771             Rx   d 8 FF 00 6B FF FD 00 84 B8
  
  52.495121 1  667             Rx   d 8 0F 6C 02 00 00 00 17 20
  52.495835 1  771             Rx   d 8 FF 00 6C FF FE 00 84 B8
  
  52.506329 1  667             Rx   d 8 0F 6D 02 00 00 00 17 1E
  52.506700 1  771             Rx   d 8 FF 00 6D 00 00 00 84 B8
  
  52.517272 1  667             Rx   d 8 0F 6E 02 00 00 00 17 22
  52.517643 1  771             Rx   d 8 FF 00 6E 00 01 00 84 B8

 

4、报文注释

4.1 Short Upload短上传

  37.082710 1  667     Rx   d 8 0F 08 01 00 00 00 28 8C

  37.083081 1  771     Rx   d 8 FF 00 08 00 01 00 84 B8

 

CTO请求报文格式:

Position(Byte)

Type

Description

Log报文

0

byte

Command Code = SHORT_UP 0x0F

命令代码= SHORT_UP 0x0F

0F

1

byte

Command Counter = CTR

命令计数器

08

2

byte

Size of data block to be uploaded in bytes(1...5)

要上传的数据块的大小,以字节为单位(1 ... 5)

注意:这里的“数据块”可以理解为“观测量的信号长度:uint8=1; uint16=2; uint32=4…

01

3

byte

Address extension

地址扩展

00

4~7

unsigned long

Address

地址

00 00 28 8C

 

DTO响应报文格式:

Position(Byte)

Type

Description

Log报文

0

byte

Packet ID: 0xFF

包标识:0xFF

FF

1

byte

Command Return Code

命令返回码

00

2

byte

Command Counter = CTR

命令计数器

08

3~7

bytes

requested data bytes

请求的数据字节

00 01 00 84 B8

 

相关推荐阅读(点击下方两个链接即可):

1、如何使用CANape实现XCP/CCP“Measurement测量”和“Calibration标定”变量

2、如何使用CANape查看CAN Message ID和Signal信号

3、【图解CCP协议的CAN通信过程】-1_打开关闭CANape软件过程

4、【图解CCP协议的CAN通信过程】-3_DAQ通信观测变量/信号

5、【图解CCP协议的CAN通信过程】-4_Calibration标定过程

 

5、结尾

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
/* DriverLib Includes */ #include <ti/devices/msp432e4/driverlib/driverlib.h> /* Standard Includes */ #include <stdint.h> #include <stdbool.h> uint32_t systemClock; void PWM_init(){ TIMER2->CTL &=~TIMER_CTL_TAEN;//关闭定时器TA,以便进行相关配置 TIMER2->CFG |= TIMER_CFG_16_BIT ;//写入0x4,选择16位定时器 TIMER2->TAMR &=~TIMER_TAMR_TACMR;//清除CMR //按顺序配置为启用PWM模式,周期模式 TIMER2->TAMR |= TIMER_TAMR_TAAMS+TIMER_TAMR_TAMR_PERIOD; TIMER2->CTL &=~ TIMER_CTL_TAPWML;//默认输出状态,置1为反向输出 //输出为2KHZ方波,占空比为66%,因为系统时钟为120兆HZ。具体频率可以参考下面的写法修改。 TIMER2->TAILR =systemClock/2000; TIMER2->TAMATCHR=systemClock/6000; TIMER2->CTL |= TIMER_CTL_TAEN;//打开定时器TA //目前还不会下面三个定义,直接套用官方库函数,其次是底层定义里面没有PCTL中PCMn的相关定义 MAP_GPIOPinConfigure(GPIO_PM0_T2CCP0); MAP_GPIOPinTypeTimer(GPIO_PORTM_BASE, GPIO_PIN_0 ); MAP_TimerEnable(TIMER2_BASE, TIMER_A); } void gpio_init(){ //led_init GPION->DIR|=BIT1+BIT0;//D1,D2 light on GPION->DEN|=BIT1+BIT0; } int main(void) { //修改系统时钟为120兆HZ systemClock = MAP_SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ | SYSCTL_OSC_MAIN | SYSCTL_USE_PLL | SYSCTL_CFG_VCO_480), 120000000); //和打开GPIO时钟一样,这里打开TIMER2时钟 SYSCTL->RCGCTIMER|=SYSCTL_RCGCTIMER_R2; while((SYSCTL->RCGCTIMER & SYSCTL_RCGCTIMER_R2) == 0){}; SYSCTL->RCGCGPIO |= SYSCTL_RCGCGPIO_R12+SYSCTL_RCGCGPIO_R11; // activate clock for Port M,N while((SYSCTL->RCGCGPIO & (SYSCTL_PRGPIO_R12+SYSCTL_RCGCGPIO_R11)) == 0){}; // wait for preparation of Port M,N PWM_init(); gpio_init(); while(1){ GPION->DATA |=BIT0;//亮一个灯证明系统正常运行 } }
07-09

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汽车电子助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值