- 博客(30)
- 资源 (2)
- 收藏
- 关注
原创 CMAC算法原理
2、K1 通过以下运算导出:若 L 的最高有效位等于 0,则 K1 是 L 的左移 1 位。3、K2 通过如下运算导出:若 K1 的最高有效位等于 0,则 K2 是 K1 的左移 1 位。采用了 AES 算法中的类似 CBC 模式的加密方式,即对前一个分组的密文与当前分组的明文进行异或操作后在加密,2、分块处理:首先将消息分成多个固定长度的块,若消息长度不是块大小的倍数,则可以使用填充来将其填充到合适的大小。1、子密钥计算,通过主密钥生成子密钥(key1,key2),子密钥用于最后一个块处理;
2025-03-20 22:55:57
309
原创 AES算法介绍
希望大佬们可以关注下博主微信公众号,后续微信公众号会持续更新相关文章:AES(Advanced Encryption Standard)算法是一种对称加密算法,是由美国国家标准与技术研究院(NIST)在 2001 年发布,旨在取代早期的数据加密标准(DES),并提供更高的安全性,目前该算法被广泛用于各种安全需求中,AES算法以其高度的安全性核效率成为目前最流行的对称加密算法之一。字节替换:属于非线性替换,具体为通过一个替换表(S 盒)对每个字节进行查表替换,查表时将每一个字节。
2025-03-20 22:47:34
1185
原创 ESP32S3----SD卡挂载测试
ESP32-S3 的 SDMMC 主机外设共有两个卡槽,用于插入 SD 卡、连接 SDIO 设备或 eMMC 芯片,每个卡槽均可单独使用。两个卡槽都支持 1、4、8 线的 SD 接口。本次实验用的开发板采用了 1-SD 模式,即 1 条数据线。原理图如下:目前市面上的 TF 卡,32GB 以下一般是 FAT32 系统,32GB 以上一般是 exFAT 系统。可在电脑 U 盘图片上右键菜单选择属性,可查看文件系统名称。ESP32 IDF 目前只支持 FAT32 系统,不支持 exFAT 系统。
2025-03-14 16:36:06
827
原创 AutoSar架构----------NVM模块介绍
NVM 就是非易失性存储器,对于非易失性存储器,有多种不同的物理存储介质,例如常见的 Flash,EEPROM 等。整个 NVM 存储协议栈的软件模块架构图如下所示:NVM 与其它模块之间的交互情况如下所示:Nvm 模块有一个虚拟的线性 32 位地址空间,该空间由 16 位 block num 与 16 位 block address offset。NVM - BswM:NVM 提供接口至 BswM 完成初始化,NvMReadAll 读取操作;
2025-03-14 10:04:30
429
原创 AutoSar架构-----XCP模块与协议介绍
XCP 一般要求如下图:XCP(Universal Meaurement and Calibration Protocol) 协议中的"X"表示的是可变的传输层协议,如下图:XCP 帧包含三部分:Header+Packet+Tail。如下图:其中,帧头(Header)、帧尾(Tail)依赖不同传输层,其中若传输层使用 CAN,则不需要帧头(Header),如下图:真正重要的是深色部分,这部分内容与传输层无关,即 XCP协议栈真正要处理的数据内容,它主要分为三部分内容 ID 域、时间戳域和数据域。
2025-03-13 22:17:08
1068
原创 ESP32S3----QMI8658姿态传感器
QMI8658 是一个姿态传感器,内部集成 3 轴加速度传感器和 3 轴陀螺仪传感器,支持 SPI 和 I2C 通信,本开发板使用的 I2C 接口QMI8658 的 7 位 I2C 地址为 0x6A。姿态传感器 QMI8658 在电路板上的位置如下图所示,小圆点位于芯片左下角下图是芯片各个轴的坐标方向图:X 和 Y 方向的倾角数据,分别是 X 和 Y 轴相对于 XY 平面的夹角大小,也就是相当于水平面的倾角大小。Z 方向的倾角数据,并不是相对于水平面的夹角,而是重力矢量与 Z 轴的夹角。
2025-03-10 15:15:16
414
原创 英飞凌TC3XX芯片---------CAN模块详解
CAN 总线是一种广泛应用于汽车、工业控制和其他领域的串行通信协议,CAN 英文名称:Controller Area Network。最初由德国的 Bosch 公司开发,用于汽车电子系统之间的通信。CAN 总线具有高可靠性、抗干扰能力强和实时性好等特点,因此被广泛应用于需要可靠数据传输的领域。CAN2.0B 协议中的 CAN 最多支持 29 位 ID,但是网络架构中使用的一般是 11 位的标准帧 ID。如下图是标准 CAN FD 帧数据结构:关于 CAN 协议相关内容,本文不作阐述。
2025-03-04 09:48:06
1091
原创 UDS诊断-------$85服务
ControlDTCSetting(0x85)服务用于客户端控制服务器中诊断故障代码(DTC)状态位的更新,可停止或恢复 DTC 状态位的更新操作。该服务在车辆诊断中起到重要作用,例如在故障排查和诊断数据管理过程中,能灵活控制 DTC 状态位的记录与更新,确保诊断信息的准确性和及时性。3、ControlDTCSetting 仅用于开启或关闭 DTC 状态位的更新,并非用于关闭故障监测或禁用故障弱化策略,不建议将故障弱化或故障安全策略直接与 DTC 状态位关联。
2025-02-20 17:18:32
276
原创 UDS诊断协议-----------$14 服务
客户端使用 ClearDiagnosticInformation 服务清除一个或多个服务器内存中的诊断信息。当 ClearDiagnosticInformation 服务完全处理完毕时,服务器应发送肯定的响应。即使没有存储 DTC,服务器也应发送肯定响应。客户端的请求消息包含一个参数,参数 groupOfDTC 允许客户端清除一组 DTC 或特定的 DTC。请求格式如下图所示:其中 groupOfDTC 的定义及值的范围详细如下表:肯定响应格式如下图:14 服务支持如下图的否定响应码:NRC 的处理逻辑如下
2025-02-17 13:52:37
203
原创 UDS诊断$19 服务
1、DTC 概念根据 ISO14229-1 规定故障码由四字节组成,如下表所示:其中 DTCHighByte、DTCMiddleByte、DTCLowByte 表示服务中的故障诊断码。StatusOfDTC 表示故障状态。DTCHighByte & DTCMiddleByte 两字节表示故障内码,对应五位故障内码,如下图:第一位是字母,代表汽车动力、底盘、车身、网络、通信分别用 P(00)、C(01)、B(10)、U(11) 所示。第二位数字是 0、1、2 或 3 表示故障类型。
2025-02-14 13:45:43
627
原创 UDS协议介绍-------28服务
2、大多数情况下应用在刷写ECU的过程中,即在预编程条件下执行28服务功能寻址便可以抑制总线应用报文与网络管理报文的发送与接收,以便减少网络总线负载,提高ECU下载效率,同时刷写结束后也要执行28服务使能对应控制报文的发送与接收,在此过程中一般会配合85服务一起使用。根据ISO14229-1标准中所述,诊断服务28服务主要用于网络中的报文发送与接收,例如控制应用报文的发送与接收,又或是控制网络管理报文的发送与接收。communicationType(00--FF):控制通信报文种类,如下表2所示。
2024-09-19 16:02:14
2468
原创 UDS协议介绍-------10服务
1、$10诊断服务根据<<1SO14229-1>>标准文档中针对10服务做了详细说明,主要体现以下几点:10服务是用来使能Server(即ECU)不同诊断会话的一种服务不同的诊断会话则规定了Server在相应session可以开启的功能权限在不同的诊断会话则因使用对应的数据链路层的时间参数其中最核心的是诊断服务权限控制,如下图所示:明确规定了不同诊断服务在默认会话和非默认会话下的可用性,其中“X”则代表可用,“not applicable"则代表不可用。
2024-09-13 16:27:12
1201
原创 TC3xx系列芯片--EVADC模块介绍
逐次逼近式转换,当开始采样时,将SAR寄存器的最高位置1,其余位清零,并由DAC输出与该值匹配的电压,与输入电压进行比较,若输入电压大于该电压,则保留最高位,否则最高位清零;在AD转换的使用中,最常用的是一个转换请求执行一组通道转换,而这组通道需要一个载体,告诉硬件哪些通道是需要执行的,其顺序如何,这个载体就是转换队列(Request Queue)。ADC的硬件引脚连接不像Port模块,能够灵活配置,它的连接比较固定,例如硬件引脚的AN0对应的就是EVADC模块的G0CH0,AN8对应的就是G1CH0。
2024-09-13 13:40:45
1435
原创 TC3xx系列芯片--Port&Dio模块介绍
还有一种特殊的输出模式,即最下边的HW_OUT控制模式,当Pin脚配置为该输出时,由外设直接控制,例如RGMII/RMII/MII信号,AD输出信号,与ALT不同的是需要额外通过PCSR寄存器使能。(x=0,4,8,12),位清除寄存器Pn_OMCR和Pn_OMCRx(x=0,4,8,12),以及位操作寄存器Pn_OMR。对于这个修改是直接作用于OUT寄存器的,因此不用担心OUT不同步的问题,另外该寄存器是虚拟的,没有存储位的,也就是说写这个寄存器相当于执行一种操作,而不是修改某个值,回读的话也是0。
2024-09-09 16:15:48
1616
原创 TC3xx系列芯片--中断系统IR模块详解
由图可知整个中断系统包含来自软硬件的中断源,一个中断路由器IR,和对应的服务提供者,服务提供者可以是CPU或者DMA,所以在这里中断请求的术语称之为Service Request,服务请求,因为它可能触发一个CPU中断,也可能是触发一个DMA转换。整个中断响应流程,其实CPU在响应中断的时候,主要做的事情就是保护上下文、切换系统模式、切换中断环境,这在任何一个系统中都是必需的,而TC3xx得益于其独特的硬件上下文自动保存机制,省去了软件压栈的时间,对中断的实时性有较好的优化作用。广义的中断概念包括以下。
2024-09-06 21:50:41
1280
原创 TC3xx系列芯片--STM模块介绍
STM是Aurix2G TC3xx内部63位的系统定时器,提供最高100MHz精度的定时功能,每款芯片的模块数量与。因此,STM的比较中断逻辑适合作为EcuM或者Wdg的定时中断,不适合作为OS Counter的触发源,STM的时钟来自系统时钟,与CPU同源,最大支持100MHz,与系统时钟的倍数关系取决于STM分频寄存器。表示从计时器的第10位往后取17位,与比较寄存器STM_CAP0的前17位进行比较,匹配则产生中断。STM中每个模块提供了两个32位比较寄存器,用来实现定时功能。
2024-09-03 16:43:26
1146
原创 英飞凌Aurix2G TC3xx系列--系统时钟详解
fGTM:GTM模块主时钟,可变时钟源,当CCUCON0.GTMDIV=1时,fGTM=fSPB*2;fQSPI:QSPI模块主时钟,可变时钟源,通过CCUCON1.CLKSELQSPI选择时钟源,通过CCUCON1.QSPIDIV配置。在DataSheet中对FDCO时钟输入范围限制在10MHz---40MHz,也就是在20MHzfOSC下,P的范围为0/1,一般。fhsct三个输出时钟。这里也是将P-DIV设置为0,外设时钟的设置需要考虑外设一般的使用情况,且要与CPU尽量避开倍数关系,
2024-09-02 17:43:02
1731
原创 AutoSar架构下的EcuM模块介绍
EcuM Module 是AutoSar架构下的基础软件模块,主要有以下几个功能。1、初始化和反初始化系统OS,及SchM与BswM基础软件驱动模块的初始化。2、管理ECU的sleep与shutdown模式3、管理ECU的唤醒事件。Ecu启动状态流程如下图所示:EcuM模块初始化主要在函数EcuM_Init()中完成。主要完成如下几个步骤:在AutoSar架构中将初始化模块分成了四个Block,如下图所示:在EcuM_AL_DriverInitZero中初始化Block0相关的模块。
2024-07-17 17:18:16
547
原创 ESP32驱动SD卡实战
SD卡有SD、MiniSD和microSD三种类型。可以访问如下链接查看更多规定。最新SD卡规格的参数如下图所示:其中脚位数对应实卡上的金手指数,不同的类型的卡的触点数量不同,访问的速度也不同。SD卡常见的两种访问接口模式是SDIO模式和SPI模式。
2024-07-14 23:10:59
2999
原创 ESP32S3使用xl9555扩展IO
XL9555 是一款24引脚的CMOS器件,支持IIC总线或SMBus接口进行驱动。XL9555 器件是一个 16位通用并行输入输出(GPIO)扩展器,可用其GPIO连接按键、LED、传感器等,解决需要额外的 I/O 的需求。XL9555有如下特性:⚫ IIC总线至16位GPIO 扩展器⚫ 工作电源电压范围为2.3 V至 5.5 V⚫ 低待机电流消耗⚫ 5 V容错I/O 端口⚫ 400 kHz快速模式IIC 总线时钟频率。
2024-06-16 16:03:17
3693
原创 ESP32 Menuconfig 菜单配置介绍
若打开,设备在启动时,GPIO输入保持在预设的配置电平,则将自动触发出厂重置功能。6.Enable protection for unmapped memory regions:开启内存保护,默认配置开启。Optimize for performance (-O2):配置引导加载程序编译器优化性能。Debug without optimization (-O0):无配置引导加载程序编译器优化。Debug(-Og):配置引导加载程序编译器优化调试。Size(-Os):配置引导加载程序编译器优化大小。
2024-06-14 21:24:43
1872
原创 ESP32 系统定时器(SYSTIMER)
ESP32-S3芯片内置一组52位系统定时器。该定时器可用于生成操作系统所需的滴答定时器,也可用作普通定时器生成周期或单次延时中断。系统定时器内置两个计数器(UNIT0和UNIT1)及三个比较器(COMP0, COMP1和COMP2)。比较器用于监控计数器的计数值是否达到报警值。如下图。
2024-06-13 23:36:40
558
原创 ESP32分区表介绍
1、先按照如下图打开自定义分区表功能2、在Vscode中按下”快捷键打开命令面板,并在搜索栏内输入“打开分区表编辑器”,按下图配置各个分区大小首先按下"Add New Row”选项添加子分区条目然后设置条目的类型,偏移和大小。最后按下“Save”保存.Name字段Name 字段可以是任何有意义的名称,但不能超过 16 个字节,其中包括一个空字节(之后的内容将被截断)。该字段对 ESP32-S3 并不是特别重要。Type字段。
2024-06-06 23:15:08
1546
原创 SPI外设
SPI是一种高速的全双工、同步、串行的通信总线。通信总线上允许挂载一个主设备和一个或多个从设备。SPI通信标准为4根线分别为:MOSI(Master Out/Slave In)主数据输出,从数据输入,用于主机向从机发送数据。MISO(Master In/Slave Out)主数据输入,从数据输出,用于从机向主机发送数据。SCLK(Serial Clock) 时钟信号,由主设备产生,决定通信的速率。CS(Chip Select):从设备片选信号,由主设备产生,低电平时选中从设备。
2024-06-01 23:48:36
1292
北斗通信和北斗定位入门篇.pdf
2019-12-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人