<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[m0_66746512的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/m0_66746512</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; m0_66746512]]></copyright><item><title><![CDATA[服务层-系统服务]]></title><link>https://blog.youkuaiyun.com/m0_66746512/article/details/145956748</link><guid>https://blog.youkuaiyun.com/m0_66746512/article/details/145956748</guid><author>m0_66746512</author><pubDate>Mon, 03 Mar 2025 22:22:17 +0800</pubDate><description><![CDATA[确保系统能够高效地管理多个任务，支持多任务并发执行，满足汽车系统对实时性的要求。：确保系统中不同任务和模块之间的同步和协调，提高系统的实时性和可靠性。：支持车辆的故障诊断和故障码管理，确保系统能够及时检测和报告故障。：确保系统能够在不同工作模式下正确运行，支持系统的灵活性和适应性。：确保系统中不同模块之间的通信顺畅，支持数据的可靠传输。：确保系统的数据安全和完整性，支持加密通信和数据保护。：提高系统的可靠性和稳定性，防止系统因故障而停止响应。：确保系统中的时间一致性和定时操作的准确性。]]></description><category></category></item><item><title><![CDATA[ECU抽象-I/O硬件抽象]]></title><link>https://blog.youkuaiyun.com/m0_66746512/article/details/145999872</link><guid>https://blog.youkuaiyun.com/m0_66746512/article/details/145999872</guid><author>m0_66746512</author><pubDate>Mon, 03 Mar 2025 21:29:06 +0800</pubDate><description><![CDATA[I/O 硬件抽象（I/O Hardware Abstraction）是 AUTOSAR 架构中 ECU 抽象层（ECU Abstraction Layer）的一部分，其主要目的是将底层硬件相关的 I/O 操作进行抽象化和统一管理，从而为上层应用提供与硬件无关的访问方式。这一模块对底层硬件的电学特性和具体实现进行屏蔽，使得上层应用能够以逻辑信号的形式访问 I/O 设备，而无需关心其具体物理特性。]]></description><category></category></item><item><title><![CDATA[ECU抽象-通信硬件抽象]]></title><link>https://blog.youkuaiyun.com/m0_66746512/article/details/145999268</link><guid>https://blog.youkuaiyun.com/m0_66746512/article/details/145999268</guid><author>m0_66746512</author><pubDate>Mon, 03 Mar 2025 21:06:41 +0800</pubDate><description><![CDATA[这是提供给上层服务层（如PDU路由模块、通信栈模块等）的接口。在这一层，上层服务无需关注具体CAN控制器的物理实现或其功能特性，所有访问均通过标准化接口进行调用。（Drivers for external CAN ASIC）：用于支持外部CAN控制器（如通过SPI或其他总线扩展的CAN控制器）（CAN Transceiver Driver）：负责控制外部CAN收发器的工作状态（如正常模式、待机模式等）。]]></description><category></category></item><item><title><![CDATA[ECU抽象-存储器硬件抽象]]></title><link>https://blog.youkuaiyun.com/m0_66746512/article/details/145997127</link><guid>https://blog.youkuaiyun.com/m0_66746512/article/details/145997127</guid><author>m0_66746512</author><pubDate>Mon, 03 Mar 2025 20:45:04 +0800</pubDate><description><![CDATA[提供统一的存储访问接口，上层服务通过该接口访问存储器，无需了解存储设备的具体类型或硬件实现方式。]]></description><category></category></item><item><title><![CDATA[软件开发过程和V流程]]></title><link>https://blog.youkuaiyun.com/m0_66746512/article/details/145340376</link><guid>https://blog.youkuaiyun.com/m0_66746512/article/details/145340376</guid><author>m0_66746512</author><pubDate>Mon, 03 Mar 2025 19:22:03 +0800</pubDate><description><![CDATA[SYS.2 系统需求分析：SYS.3 系统架构设计：SYS.4 系统集成和集成测试：SYS.5 系统合格性测试：SWE.1 软件需求分析：SWE.2 软件架构设计：SWE.3 软件详细设计和单元构建：SWE.4 软件单元验证：SWE.5 软件集成和集成测试：SWE.6 软件合格性测试：主要步骤：主要步骤：主要步骤：主要步骤：]]></description><category></category></item><item><title><![CDATA[ECU抽象-板载设备抽象]]></title><link>https://blog.youkuaiyun.com/m0_66746512/article/details/145992603</link><guid>https://blog.youkuaiyun.com/m0_66746512/article/details/145992603</guid><author>m0_66746512</author><pubDate>Mon, 03 Mar 2025 16:56:06 +0800</pubDate><description><![CDATA[如下图，内部看门狗通过MCAL中看门狗驱动，外部看门狗通过MCAL的通信驱动中的SPI，但是ECU抽象把这两个统一为统一接口。这样，服务层在访问这些看门狗时，不需要关心是访问内部看门狗还是外部看门狗，从而减少了复杂性并提高了系统的可维护性。为了提高系统的通用性和简化上层服务的调用，板载设备抽象层提供了统一的接口，这些驱动程序通过微控制器抽象层访问 ECU 车载设备。板载设备抽象层包含了 ECU 车载设备的驱动程序。具体来说，板载设备抽象层将看门狗设备分为。，但无论是内部看门狗还是外部看门狗，]]></description><category></category></item><item><title><![CDATA[Autosar精华]]></title><link>https://blog.youkuaiyun.com/m0_66746512/article/details/145954619</link><guid>https://blog.youkuaiyun.com/m0_66746512/article/details/145954619</guid><author>m0_66746512</author><pubDate>Sun, 02 Mar 2025 22:54:41 +0800</pubDate><description><![CDATA[ECU抽象层负责提供统一的访问接口，使得上层软件模块可以和通信，内存或I/O资源进行交互。将具体硬件细节隐藏在ECU抽象层之后。]]></description><category></category></item><item><title><![CDATA[MCAL-I/O驱动]]></title><link>https://blog.youkuaiyun.com/m0_66746512/article/details/145971126</link><guid>https://blog.youkuaiyun.com/m0_66746512/article/details/145971126</guid><author>m0_66746512</author><pubDate>Sun, 02 Mar 2025 22:52:53 +0800</pubDate><description><![CDATA[PORT 驱动初始化是对微控制器的整个 PORT 模块进行初始化配置。]]></description><category></category></item><item><title><![CDATA[使用SPI总线与外部传感器通信，使用ECU抽象]]></title><link>https://blog.youkuaiyun.com/m0_66746512/article/details/145971461</link><guid>https://blog.youkuaiyun.com/m0_66746512/article/details/145971461</guid><author>m0_66746512</author><pubDate>Sun, 02 Mar 2025 22:15:02 +0800</pubDate><description><![CDATA[首先，MCAL层提供了针对特定微控制器的SPI驱动实现。在这个例子中，SpiDriverAbstraction。，使得应用程序可以更容易地使用SPI功能，函数用于初始化SPI硬件，而。分别用于发送和接收数据。]]></description><category></category></item><item><title><![CDATA[MCAL-通信驱动]]></title><link>https://blog.youkuaiyun.com/m0_66746512/article/details/145970613</link><guid>https://blog.youkuaiyun.com/m0_66746512/article/details/145970613</guid><author>m0_66746512</author><pubDate>Sun, 02 Mar 2025 21:49:46 +0800</pubDate><description><![CDATA[根据数据使用情况定义 SPI 通道，配置缓冲区。]]></description><category></category></item><item><title><![CDATA[MCAL-存储器驱动]]></title><link>https://blog.youkuaiyun.com/m0_66746512/article/details/145963051</link><guid>https://blog.youkuaiyun.com/m0_66746512/article/details/145963051</guid><author>m0_66746512</author><pubDate>Sun, 02 Mar 2025 21:05:51 +0800</pubDate><description><![CDATA[存储器驱动由四部分组成。]]></description><category></category></item><item><title><![CDATA[MCAL-微控制器驱动]]></title><link>https://blog.youkuaiyun.com/m0_66746512/article/details/145962712</link><guid>https://blog.youkuaiyun.com/m0_66746512/article/details/145962712</guid><author>m0_66746512</author><pubDate>Sun, 02 Mar 2025 14:09:45 +0800</pubDate><description><![CDATA[GPT Driver: AUTOSAR中有两类定时器，。该模块使用定时器单元的硬件定时器通道，为操作系统或其他基础软件模块提供计时功能。单次触发（One-Shot Mode）：计时器计数到设定值后停止，触发中断。连续模式（Continuous Mode）：循环计数，周期性触发中断。通过定时器中断触发Runnable（如100ms任务）。配置占空比和频率，驱动电机或LED。测量外部信号脉宽或频率（如传感器信号）。]]></description><category></category></item><item><title><![CDATA[实现两个SWC通过RTE通信(如“传感器SWC”发送数据→“控制算法SWC”处理)]]></title><link>https://blog.youkuaiyun.com/m0_66746512/article/details/145955864</link><guid>https://blog.youkuaiyun.com/m0_66746512/article/details/145955864</guid><author>m0_66746512</author><pubDate>Sat, 01 Mar 2025 23:33:50 +0800</pubDate><description><![CDATA[创建Runnable：ReadTemperature_Runnable。（发送数据）：P_Port_Temperature。（接收数据）：R_Port_Temperature。验证控制算法SWC是否在85°C时触发保护逻辑。：接收温度数据，若超过阈值则触发保护逻辑。：周期100ms，读取模拟温度值并发送。中注入温度数据（如70°C、85°C）。：周期100ms，读取温度数据并处理。到100ms周期任务（例如。到同一100ms周期任务，（与传感器SWC一致）。，触发周期100ms。，触发周期100ms。]]></description><category></category></item><item><title><![CDATA[设计一个“车速计算”SWC，通过Sender-Receiver端口输出车速信号。]]></title><link>https://blog.youkuaiyun.com/m0_66746512/article/details/145955184</link><guid>https://blog.youkuaiyun.com/m0_66746512/article/details/145955184</guid><author>m0_66746512</author><pubDate>Sat, 01 Mar 2025 23:18:09 +0800</pubDate><description><![CDATA[功能目标：根据车轮脉冲信号（轮速传感器输入）计算当前车速，并将结果通过Sender端口发送给其他SWC。输入：轮速脉冲数（如，类型）。输出：车速（如，类型，单位）。触发方式：周期性计算（例如每10ms执行一次）。输入接口（Require Port）：端口类型：（接收轮速脉冲数）。数据接口：（数据类型）。输出接口（Provide Port）：端口类型：（发送车速）。数据接口：（数据类型）。使用工具（如DaVinci Developer或ISOLAR-A）：新建一个 Atomic SWC，命名为。添加两个端口：]]></description><category></category></item><item><title><![CDATA[示例：设计一个“车速计算”SWC，通过Client-Server端口输出车速信号。]]></title><link>https://blog.youkuaiyun.com/m0_66746512/article/details/145955445</link><guid>https://blog.youkuaiyun.com/m0_66746512/article/details/145955445</guid><author>m0_66746512</author><pubDate>Sat, 01 Mar 2025 23:12:42 +0800</pubDate><description><![CDATA[在DaVinci Configurator中生成RTE代码，客户端调用代码会自动生成。若轮速脉冲通过硬件输入，需配置MCAL的GPT（通用定时器）模块捕获脉冲。（通过Sender-Receiver接收轮速脉冲，用于内部计算）。检查Client-Server接口的匹配性（操作名称、参数类型）。输入：无（或可包含请求参数，如是否需要滤波后的车速）。（Server Port）映射到RTE服务接口。若需要将车速通过诊断服务（UDS）上报，需配置。：无脉冲输入时调用服务，验证状态码。：根据轮速脉冲信号计算车速，]]></description><category></category></item><item><title><![CDATA[AUTOSAR]]></title><link>https://blog.youkuaiyun.com/m0_66746512/article/details/145380924</link><guid>https://blog.youkuaiyun.com/m0_66746512/article/details/145380924</guid><author>m0_66746512</author><pubDate>Mon, 27 Jan 2025 22:57:27 +0800</pubDate><description><![CDATA[AUTOSAR 的计划项目主要有三项，，包括制定无缝的软件架构堆叠流程并将应用软件整合至ECU中；，作为应用软件整合标准，以便软件构件在不同的汽车平台上复用。]]></description><category></category></item><item><title><![CDATA[面试（十一）]]></title><link>https://blog.youkuaiyun.com/m0_66746512/article/details/144078459</link><guid>https://blog.youkuaiyun.com/m0_66746512/article/details/144078459</guid><author>m0_66746512</author><pubDate>Wed, 27 Nov 2024 22:13:30 +0800</pubDate><description><![CDATA[当有任务需要执行时，从线程池中取出一个空闲的线程来处理任务，任务完成后该线程不会被销毁而是返回到线程池中等待下一次使用。服务端采用单线程，当accept一个请求后，在recv或send调用阻塞时，将无法accept其他请求(必须等上一个请求处recv或send完)，无法处理并发。服务端采用多线程，当accept一个请求后，开启线程进行recv，可以完成并发处理，当随着请求数增加需要增加系统线程。1. 共享内存：同一进程内的所有线程共享相同的地址空间，所以一个线程可以直接访问另一个线程的数据。]]></description><category></category></item><item><title><![CDATA[CAN协议]]></title><link>https://blog.youkuaiyun.com/m0_66746512/article/details/143307284</link><guid>https://blog.youkuaiyun.com/m0_66746512/article/details/143307284</guid><author>m0_66746512</author><pubDate>Sat, 02 Nov 2024 13:25:41 +0800</pubDate><description><![CDATA[当外界有强电场或电磁干扰时，由于两根信号线受到的影响基本相同，因此它们之间的电压差（即差分信号）受到的影响较小。广播式地向总线上发送自己的信息，这也是为什么我们能周期性地获得比如五门一盖、座椅占位状态、整车电源模式等报文（在差分传输应用中，双绞线不仅可以降低自身对外界的干扰，同时可以消除与外界干扰源的电容耦合和感应耦合。②在空闲时收紧信号，使得高低两条线的电压一致，即为。）：标识符，区分功能，同时决定优先级（根据仲裁规则，）：扩展标志位，区分标准格式和扩展格式（）：保留位，为后续协议升级留下空间，比如。]]></description><category></category></item><item><title><![CDATA[CAN诊断]]></title><link>https://blog.youkuaiyun.com/m0_66746512/article/details/143420029</link><guid>https://blog.youkuaiyun.com/m0_66746512/article/details/143420029</guid><author>m0_66746512</author><pubDate>Fri, 01 Nov 2024 12:02:48 +0800</pubDate><description><![CDATA[诊断请求格式诊断响应格式数据长度限制物理寻址方式功能寻址方式。]]></description><category></category></item><item><title><![CDATA[CRC校验]]></title><link>https://blog.youkuaiyun.com/m0_66746512/article/details/143269027</link><guid>https://blog.youkuaiyun.com/m0_66746512/article/details/143269027</guid><author>m0_66746512</author><pubDate>Sun, 27 Oct 2024 21:29:17 +0800</pubDate><description><![CDATA[模二加法和模二减法的结果是相同的，并且与异或(XOR)运算的结果是一致的。奇数个1相加得1，偶数个1相加得0模二乘除法和普通乘除法一样演算，唯一的区别是，这里重点关注模二除法，因为它与CRC算法密切相关，它有三个性质1. 当最后余数的位数小于除数位数时，除法停止2.当被除数的位数小于除数位数时，则商数为0，被除数就是余数3.只要被除数或部分余数的位数与除数一样多，且最高位为1，不管其他位是什么数，皆可商1。]]></description><category></category></item></channel></rss>