ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

英飞凌AURIX™ TC3xx平台:从芯片到自动驾驶软硬件一体化开发实战

英飞凌AURIX™ TC3xx平台:从芯片到自动驾驶软硬件一体化开发实战 1. 从芯片到平台英飞凌的自动驾驶战略转型如果你在汽车电子圈待过几年大概会记得英飞凌Infineon这个名字过去很长一段时间里它给人的印象就是“那个做功率半导体和微控制器的德国大厂”。在汽车领域它的AURIX™系列MCU是发动机控制器、车身域控制器里的常客稳定、可靠但似乎和“酷炫”的自动驾驶关系不大。然而最近几年风向明显变了。无论是行业内的技术论坛还是像“英飞凌杯”全国大学生智能汽车竞赛这样的校园赛事英飞凌的TC3xx系列芯片和相关的开发平台正成为自动驾驶功能开发的热门选择。这背后正是英飞凌从单一芯片供应商向“软硬件相结合的自动驾驶平台”提供商的战略转身。这个转变绝非偶然。自动驾驶的复杂度呈指数级增长它不再是一个功能而是一个庞大的系统工程。主机厂和Tier 1们面临的核心痛点是什么是算力焦虑吗是但不全是。更深层次的挑战在于如何高效、可靠地整合来自不同供应商的传感器、执行器、算法和中间件并确保整个系统在功能安全ISO 26262和信息安全ISO/SAE 21434上达到车规级要求。自己从零开始搭建周期长、风险高、成本难以控制。这时一个预集成、预验证、开放且灵活的“平台”价值就凸显出来了。英飞凌提出的“软硬件相结合的平台”其核心思路就是提供一套从底层芯片、硬件参考设计到中间件、基础软件乃至上层应用示例和开发工具的完整解决方案。它想解决的正是上述的整合难题。这个平台不是要做一个封闭的“黑盒子”让客户直接用而是提供一个坚实、可信赖的“地基”和丰富的“建筑材料”让开发者能更专注于建造属于自己的、差异化的“上层建筑”——也就是具体的自动驾驶功能和应用。对于工程团队来说这意味着可以大幅缩短底层软硬件的适配和验证周期将宝贵的研发资源投入到核心算法和功能开发上。接下来我们就深入拆解这个平台的构成看看它到底提供了什么以及在实际项目中该如何用好它。2. 硬件基石AURIX™ TC3xx与雷达芯片的黄金组合任何平台的根基都是硬件。英飞凌自动驾驶平台的硬件核心可以概括为“大脑”与“眼睛”的协同。2.1 “大脑”核心AURIX™ TC3xx系列微控制器提到英飞凌的汽车MCUAURIX™是绕不开的名字。在自动驾驶领域TC3xx系列尤其是TC397、TC387等高性能多核型号扮演着中央处理器的角色。为什么是它首先是极致的功能安全FuSa设计。这是AURIX™的基因。它内置了多个锁步核Lockstep Core即一个核心执行运算另一个完全相同的核心同步执行并比对结果一旦出现差异系统能立即检测并进入安全状态。这对于负责车辆控制如转向、制动的自动驾驶域控制器ADCU或区域控制器ZCU至关重要是满足ASIL-D最高安全等级要求的硬件基础。很多竞品芯片需要外搭安全监控芯片才能达到同样等级而AURIX™在单芯片内就实现了。其次是强大的实时性和多核处理能力。TC3xx系列通常包含多个TriCore™内核这些内核并非同质化的。例如它可能包含高性能的“P”核Performance Core处理复杂的感知融合算法也包含高确定性的“E”核Efficiency Core负责硬实时任务如电机控制或通信调度。这种异构多核架构配合硬件实现的通信外设如MultiCAN FD、以太网TSN确保了在复杂多任务环境下关键任务的响应时间是可预测、有保障的。在做底层软件架构设计时我们可以根据任务的关键度和实时性要求将任务合理地分配到不同的核上这是平台能稳定运行的前提。2.2 “眼睛”利器雷达传感器芯片组自动驾驶的感知层毫米波雷达因其不受天气光照影响、能直接测速测距的优点成为不可或缺的传感器。英飞凌在此领域同样深耕多年其RXS8160PL77GHz雷达收发器与AURIX™ TC3xx的组合构成了一个非常典型的“传感-处理”硬件单元。这个组合的优势在于深度优化与协同。RXS8160PL提供高精度的射频前端而复杂的雷达信号处理如FFT、CFAR、聚类跟踪等算法则可以高效地在TC3xx的硬件加速单元如GTM、DSADC和CPU核上运行。英飞凌提供的雷达开发套件如DEMO SAMPLE DRIVER KIT和底层驱动已经为这两者的通信通常通过SPI或LVDS和数据流处理做好了优化。这意味着开发者拿到硬件后无需从零开始调试射频与数字间的接口可以快速聚焦于上层雷达点云处理和目标识别算法的开发。对于初创公司或高校团队比如参加“英飞凌杯”智能车竞赛的队伍这种开箱即用的体验能极大降低入门门槛。2.3 硬件参考设计从评估板到量产桥接仅有芯片还不够。英飞凌及其生态伙伴会提供丰富的硬件参考设计。例如针对ADAS域控制器可能有基于TC397PMIC电源管理芯片高速存储的完整板级方案。这些参考设计的价值在于降低硬件设计风险提供了经过信号完整性、电源完整性和EMC测试的PCB布局布线参考尤其是处理高速信号如DDR、以太网和模拟信号如雷达时能避免很多坑。加速电源和时钟树设计汽车电子对电源轨的时序、精度、监控有严苛要求参考设计提供了已验证的电源树方案。预集成关键外设如车载以太网PHY、CAN FD收发器、安全存储等确保了基础功能的可靠性。在实际项目中我们的硬件团队通常会以这些参考设计为起点根据具体的功能需求如需要接入的摄像头/激光雷达接口数量进行裁剪和扩展这比从头画原理图、做Layout要高效和安全得多。3. 软件栈从裸机驱动到AUTOSAR Adaptive的生态支撑硬件是躯体软件是灵魂。英飞凌平台的“软硬件结合”其“软”的部分是一套层次清晰、不断演进的软件生态系统。3.1 底层基础MCAL与驱动最底层是微控制器抽象层MCAL。这是与AURIX™芯片寄存器直接打交道的软件层负责控制具体的硬件模块如GPIO、ADC、PWM、CAN、以太网等。英飞凌提供符合AUTOSAR标准的MCAL包。对于开发者而言我们通常不直接修改MCAL而是通过配置工具如英飞凌的DAVE™或第三方工具EB tresos来生成配置代码。这里的一个关键经验是务必仔细核对芯片数据手册与MCAL配置的匹配度。例如某个定时器通道的特定工作模式是否被MCAL完全支持在项目早期就进行简单的驱动测试能避免后期集成时发现硬件功能无法调通的尴尬。3.2 核心中间件AUTOSAR Classic与Adaptive对于传统的实时控制功能如底盘控制、基本的感知融合AUTOSAR Classic CPClassic Platform仍是主流。英飞凌的TC3xx对AUTOSAR CP有非常好的支持众多软件供应商如Vector, ETAS, Elektrobit都提供成熟的AUTOSAR CP基础软件栈。平台的价值在于它确保了芯片、MCAL和这些商业或开源AUTOSAR栈之间经过了兼容性测试减少了集成时的摩擦。而对于需要高算力、复杂算法和灵活软件更新的高阶自动驾驶功能AUTOSAR Adaptive APAdaptive Platform和基于POSIX的操作系统如Linux, QNX成为趋势。英飞凌的路线图也紧跟这一变化。其平台开始提供对Adaptive AUTOSAR和车载Linux如通过与Red Hat等伙伴合作的支持。例如在域控制器架构中可以用TC3xx的某些核运行AUTOSAR CP处理安全实时任务同时搭配一颗高性能的SoC可能是英飞凌未来的产品或其他合作伙伴的芯片运行Linux和AUTOSAR AP处理AI算法和复杂应用。平台需要解决的就是这两类异构系统之间的可靠通信如通过SOME/IP over Ethernet和协同管理。3.3 开发工具链编译器与调试器“英飞凌tc264的编译器”这个热搜词反映了很多开发者特别是学生和工程师在工具链上遇到的切实问题。TC264是较老的型号其编译器可能是Tasking或HighTec的授权、版本兼容性常让人头疼。对于主流的TC3xx系列英飞凌主要推荐或合作的是以下工具编译器通常使用Tasking for TriCore或GCC for TriCore。商业项目多选用Tasking因其优化程度高、对TriCore架构支持更完善而对成本敏感或开源项目GCC是一个选择。这里有个坑需要注意不同版本的编译器甚至同一版本的不同优化等级-O0, -O1, -O2可能会对代码执行时序产生微妙影响尤其是涉及精密时序控制如PWM生成、ADC采样同步时。在项目早期就锁定编译器版本并进行全功能测试是避免后期莫名bug的好习惯。调试器Lauterbach的TRACE32是功能强大的行业标准支持深度的运行时追踪和性能分析但价格昂贵。英飞凌也支持更经济的J-Link等调试器。对于初学者使用英飞凌官方提供的开发板如AURIX™ TC397 Evaluation Board搭配其免费的开发环境如基于Eclipse的集成环境上手是最快的。代码配置与生成工具如前所述的DAVE™以及用于AUTOSAR配置的EB tresos Studio等。这些工具通过图形化界面生成底层配置代码能提升效率但必须理解其生成的代码逻辑不能完全当“黑盒”。3.4 示例代码与算法库平台会提供大量的“Getting Started”示例和驱动程序示例。这些代码是快速上手的关键。但我的建议是把这些示例当作“字典”和“测试用例”而不是“脚手架”。直接在其基础上大规模修改来构建项目后期维护会非常痛苦。更好的做法是参考示例的接口调用方式和初始化流程将其精髓融入到自己项目的架构中。此外英飞凌及其算法伙伴可能会提供一些优化的基础算法库如数学函数库、雷达信号处理库等在需要极致性能的场景下值得评估。4. 生态构建伙伴、竞赛与开发者社区“携手生态伙伴”不是一句空话。英飞凌的自动驾驶平台是一个典型的“朋友圈”模式它的强大与否很大程度上取决于生态的丰富度。4.1 技术伙伴的垂直整合英飞凌会与不同类型的伙伴深度合作软件中间件伙伴如Vector, ETAS, Elektrobit等AUTOSAR解决方案商确保基础软件栈的稳定。操作系统与云伙伴如BlackBerry QNX, Red Hat, AWS等为Adaptive平台和云端开发提供支持。算法与感知伙伴提供视觉感知、雷达感知、融合定位等专用算法与英飞凌的硬件形成打包方案。工具链与服务伙伴提供仿真、测试、验证工具以及工程服务。对于采用该平台的客户来说这意味着当遇到一个特定领域的问题比如如何将某个深度学习框架部署到平台上有很大概率能找到已经做过适配和优化的合作伙伴方案从而降低自行研发的风险和成本。4.2 “英飞凌杯”与开发者赋能“英飞凌杯”全国大学生智能汽车竞赛和“英飞凌挑战赛”是生态建设中非常高明的一环。它们不仅是品牌宣传更是长期的开发者培养和技术下沉。培养未来工程师让成千上万的学生在求学阶段就深入接触AURIX™芯片和真实的嵌入式控制问题如电机驱动、循迹、避障。这些学生毕业后进入汽车行业自然会将英飞凌平台作为首选技术方案之一。我面试过不少应届生在“英飞凌杯”中历练过的对MCU外设、实时系统、控制算法的理解明显更扎实。反馈与改进学生们的创意和遇到的问题是对平台易用性、文档完整性的极限测试。很多工具链的“坑”比如前面提到的编译器问题和文档的模糊之处都是在海量的学生使用中被暴露和反馈的从而推动官方持续改进。社区活力围绕竞赛和开发形成了活跃的线上社区如相关论坛、GitHub开源项目。开发者们在社区里分享代码、讨论问题、创作教程这种Peer-to-Peer的支持网络是官方文档之外极其宝贵的资源。善于利用社区搜索往往能更快地解决具体的技术难题。4.3 文档与知识库平台的另一个软实力是文档。英飞凌的芯片文档Data Sheet, User Manual以详尽和严谨著称但有时也因过于庞大而让新手望而生畏。平台化的好处在于它会提供更多面向具体应用场景的“应用笔记”Application Note、参考设计报告和“常见问题解答”FAQ。例如如何基于TC3xx和雷达芯片搭建一个角雷达原型这样的文档会一步步讲解硬件连接、软件框架、配置参数和测试方法实用性极强。在启动一个新项目时花时间系统性地检索和阅读相关的应用笔记常常能事半功倍。5. 实战指南如何基于该平台启动一个自动驾驶功能原型假设我们现在要基于英飞凌的平台快速开发一个自动泊车APA的功能原型。以下是一个大致的实战路径和关键决策点。5.1 需求分析与硬件选型首先明确原型需求需要处理哪些传感器比如4个环视摄像头、12个超声波雷达、可能还需要前向毫米波雷达。需要控制哪些执行器EPS转向、ESP制动、变速箱挡位。计算需求如何图像拼接、空车位识别、路径规划、轨迹跟踪控制。基于此进行硬件选型主控芯片TC397TP可能是合适的选择。它多核能力强可用于分配任务某些核处理超声波雷达信号和车辆总线通信CAN某些核运行摄像头鱼眼矫正和拼接的算法可能需要借助硬件加速某些核负责核心的路径规划和车辆模型预测控制。传感器接口评估TC397的摄像头接口如CSI是否满足四路摄像头数据接入的带宽或是否需要外接解串器。超声波雷达通常通过CAN或LIN接入TC397的MultiCAN FD完全够用。硬件平台优先选择英飞凌或其合作伙伴提供的、基于TC397的域控制器开发板。这能省去硬件设计时间并确保电源、时钟、内存等基础子系统稳定。5.2 软件架构搭建这是核心环节决定后续开发效率。操作系统/运行环境对于APA这种混合了实时控制轨迹跟踪和中等算力感知视觉处理的系统一种常见的架构是采用AUTOSAR CP与一个轻量级RTOS如FreeRTOS结合的模式。将最底层的车辆控制、传感器驱动、安全监控放在AUTOSAR CP中确保其实时性和安全性将图像处理、规划算法放在FreeRTOS的任务中利用其较好的多任务调度和丰富的开源组件。也可以探索在TC3xx上部署Adaptive AUTOSAR的可行性。模块划分与通信清晰划分软件模块如“传感输入模块”、“车位识别模块”、“路径规划模块”、“车辆控制模块”、“诊断与安全监控模块”。模块间通过明确的接口如函数调用、消息队列、共享内存进行通信。务必在早期定义好关键数据如目标车位坐标、规划路径、控制命令的结构体和通信协议避免后期联调时出现数据格式对不上的混乱。基础软件集成根据架构集成相应的MCAL、通信栈CAN, Ethernet、存储驱动等。充分利用配置工具生成初始化代码。5.3 核心算法开发与集成感知算法对于环视车位识别可以基于开源计算机视觉库如OpenCV进行开发但需要考虑在TC3xx上运行的效率。可能需要将部分算法如Sobel边缘检测用汇编或利用芯片的DSP指令进行优化。英飞凌可能提供一些图像处理的基础库可以咨询评估。控制算法轨迹跟踪控制器如PID、模型预测控制MPC是核心。这部分代码对实时性要求高需要精心设计任务周期和中断。利用TC3xx的GTM通用定时器模块产生精确的定时中断来触发控制任务。仿真与MIL/HIL测试在将算法刷入实车之前必须进行充分的仿真测试。可以使用Matlab/Simulink建立车辆动力学模型和停车场环境模型进行模型在环MIL测试验证算法逻辑。然后将生成的C代码与实际的软件框架集成通过硬件在环HIL测试台架验证代码在真实ECU上的运行时序和与总线信号的交互。英飞凌平台通常与dSPACE、NI等HIL厂商有良好的兼容性。5.4 调试、优化与安全考量性能剖析使用调试器如TRACE32的性能分析功能找出代码中的热点Hot Spot和瓶颈。可能是某个图像处理函数耗时过长也可能是任务切换过于频繁。针对性地进行优化优化算法、启用缓存、调整内存访问模式、合理分配任务到不同核。功能安全即使是一个原型也需要有基本的功能安全思维。利用TC3xx的内置安全机制如定期检查看门狗、内存ECC错误。在软件中设计简单的监控逻辑例如检查规划出的路径是否合理曲率是否过大、是否与障碍物冲突一旦发现异常触发降级策略如平稳停车、报警。持续集成建立简单的CI流程确保每次代码提交都能自动编译、进行基本的单元测试和静态代码分析如检查MISRA C规则这对于保证代码质量、尤其是多人协作时至关重要。从一颗强大的芯片到一个预集成的硬件参考设计再到层层递进的软件栈和活跃的开发者生态英飞凌正在构建的是一个旨在降低自动驾驶开发门槛、提升开发效率与系统可靠性的“交钥匙”工程基础。对于开发者而言理解这个平台的全貌意味着我们能更明智地选择技术路线更高效地利用现有资源将精力聚焦于创造真正差异化的价值。无论是参加“英飞凌杯”的学生还是开发量产车型的工程师这个平台提供的不仅仅是一套工具更是一个经过验证的、通往自动驾驶世界的可靠起点。在实际操作中我的体会是尽早吃透官方文档和参考设计积极参与社区交流同时保持对自身系统架构的清晰思考是驾驭好这个平台、让它真正为项目赋能的关键。
返回列表