内容简介
《英飞凌多核单片机应用技术:AURIXTM三天入门篇》以车用缸内直喷汽油机(GDI)电子控制单元(ECU)*小系统的实现为目标,系统介绍英飞凌新一代32位多核AuRIXTM单片机主要模块的原理、特点及其应用方法和例程,让读者能够快速掌握新一代先进多核单片机的应用技术,提升电子控制器的开发能力。所列举的例程,可以作为构建GDI ECU基础软件的重要组成部分。
内页插图
目录
精彩书摘
《英飞凌多核单片机应用技术:AURIXTM三天入门篇(附光盘)》:
8.2.2节无刷直流电机换相控制中指出,获得表征电机位置的霍尔信号后,根据换相真值表产生控制功率管导通状态的PWM调制序列,就能控制电机的运转。在CCU6中,三个输入CCPOSO、CCPOS1和CCPOS2可用作霍尔传感器或反电动势检测信号的输入,多通道模式又能同时对六个功率管进行输出调制。因此,基于CCU6模块能较为快速简单地实现无刷单机的控制。
CCU6通过特定的寄存器MCMOUT和MCMOUTS实现了电机控制所需的霍尔序列和相应调制序列之间的联系,该寄存器中存放着当前实际的霍尔序列(MCMOUT.CURH)、下次期望的霍尔序列(MCMOUT.EXPH)以及相应的输出序列(MCMOUT.MCMP)。当采样的霍尔序列和期望序列匹配时,输出新的调制序列。
由上述分析可知,在CCU6中要实现对无刷直流电机的控制,主要包括霍尔信号的采样、霍尔序列及输出调制序列的更新及输出影子寄存器到输出寄存器的更新三个关键步骤。
1.霍尔信号的采样
霍尔的采样频率由CCU6的模块时钟频率决定。配置T12的模式选择寄存器T12M-SEL中的捕获/比较模式选择位MSEL6x(x=0,1,2)为1000B,即可使其处于霍尔传感器模式。
……
前言/序言
AURIXTM是一座奇妙的汽车电子殿堂,里面蕴含了无数精英在汽车电子领域的智慧,科学的体系架构,高效的数据总线,便捷的信息通信,完备的信号采集,灵活的信号合成,缜密的时钟系统,新颖的运算协同,丰富的事件调度,清晰的存储管理等,无不彰显着汽车电子设计大师们的深厚功底和独具匠心。
AtJRIXTM系列单片机产品具有从512 KB到8 MB的不同FLASH,同时具有TQFP80到LFBGA516各种封装,可满足开发者的不同应用和开发需求。AURIXTM系列单片机具有显著优势,数据处理能力最高可达1 300 DMIPS,其高端产品具备8 MB FLASH及640 KB SRAM,可满足高速数据处理的应用需求。针对《道路车辆功能安全》标准(IS026262),AURIXTM可支持ASIL-D的最高安全等级。同时,AURIXTM具有非常丰富的外设,以满足日益增长的车载控制和网络通信需求。
本书以车用缸内直喷汽油机(GDI)电子控制单元(ECU)最小系统的实现为目标,系统介绍英飞凌新一代32位多核AuRIXTM单片机主要模块的原理、特点及其应用方法和例程,让读者能够快速掌握新一代先进多核单片机的应用技术,提升电子控制器的开发能力。所列举的例程,可以作为构建GDI ECU基础软件的重要组成部分。本书共分九章,前8章为AURIXTM的主要模块,第9章为开发工具与开发环境搭建,具体如下。
第1章主要介绍了汽车电子发展趋势、发动机控制系统简介、英飞凌32位单片机历史、AURIXTM系列单片机特点及资源。
第2章主要介绍缸内直喷汽油机(GDI)控制器最小系统,同时分析AuRIXTM单片机资源在GDI控制器上的分配。
第3章至第8章从功能应用角度分别介绍了AURIXTM单片机的CPU、RAM、FLASH、A/D、DMA、I/O、GTM、CAN、OSPI、ASCLIN、CCU6、STM、时钟和中断等主要模块的功能特点、原理结构、应用方法与应用例程。
第3章为多核架构与存储空间,介绍了多核CPU、RAM和FLASH的应用。
第4章为信号采集与数据传输,介绍了A/D和DMA的原理以及它们之间的联合应用和I/O原理与应用。
第5章为GTM与驱动波形合成,详细介绍了AURIXTM单片机一个非常重要的特色模块GTM的原理和结构。以发动机转速测量、PWM输出、喷油器驱动波形合成为例,介绍了GTM关键功能的应用方法。并以发动机控制中两个基础模块EP和CSG模块的开发为例,介绍了GTM特色功能的应用方法。
第6章为通信与外设管理,详细介绍了MultiCAN+、QSPI和ASCLIN等三个主要通信模块的原理结构及其在外设管理中的应用。
第7章为时钟与系统管理,详细介绍了AURIXTM单片机的时钟控制单元SCU与看门狗、系统时钟模块STM及单片机中断系统的原理、结构与例程。
第8章为CCU6与电机控制,以无刷直流电机控制为背景,介绍了CCU6模块的结构和原理及其在无刷直流电机控制中的应用方法和例程。
第9章为AURIXTM开发环境与系统集成,介绍了常用的编译和调试工具及其集成环境,基础驱动程序的生成工具等。
本书附赠光盘中包括了各模块应用实例代码,读者可将代码导入编译环境进行编译调试。
本书的适用对象为工业和消费电子、汽车电子等应用领域的工程技术人员以及相关专业的本科生和研究生,可有力促进读者掌握现代先进的嵌入式控制软硬件开发技术。
本书由天津大学谢辉、英飞凌汽车电子事业部徐辉任主编;天津大学李颖、张淑芳和谭从民老师,谢辉教授的研究生吴超、邹栋、于海鹏、阮迪望、姚冬春以及英飞凌科技(中国)有限公司汽车电子事业部张立红、陈汉顺参与编写。本书第1章由张立红、吴超、邹栋、李颖共同编写,第2章由邹栋编写,第3章由陈汉顺、谭从民共同编写,第4、7章由李颖、于海鹏共同编写,第5章由吴超编写,第6章由张淑芳、姚冬春、邹栋共同编写,第8章由阮迪望编写,第9章由李颖、阮迪望共同编写。全书由谢辉和徐辉负责策划与统稿。
由于编者水平有限,编写时间仓促,书中错误和不妥之处在所难免,恳请广大读者批评指正。
编者
2017年6月29日
AURIX™多核微控制器开发实战指南 深入探索AURIX™的强大能力,开启嵌入式系统新篇章 AURIX™系列微控制器以其强大的多核处理能力、丰富的片上资源以及在汽车电子、工业控制、航空航天等高端应用领域的卓越表现,正逐渐成为嵌入式系统设计者的首选。本书并非专注于某一本特定书籍,而是致力于为读者提供一个全面、深入且贴近实践的AURIX™多核微控制器应用技术学习框架。我们将从基础概念出发,逐步引导您掌握AURIX™系列微控制器的核心架构、开发流程、软件工具链以及高级应用技巧,帮助您快速掌握这一强大的开发平台,高效地完成各类复杂的嵌入式项目。 第一章:AURIX™多核微控制器概览与核心架构解析 本章将为您揭开AURIX™系列微控制器的神秘面纱。我们将从宏观角度介绍AURIX™的定位、发展历程以及其在现代嵌入式系统中的重要地位。重点将放在AURIX™系列最核心的亮点——多核架构。您将深入了解其采用的TriCore™架构,包括其指令集、流水线、缓存机制以及多核协同工作的基本原理。我们将详细阐述多核处理器如何通过共享资源(如内存、外设)和独立的计算单元,实现高性能、高效率的并行处理。此外,本章还将介绍AURIX™系列中不同型号的微控制器,分析它们在核心数量、主频、内存大小、外设配置等方面的差异,帮助您根据项目需求选择最合适的AURIX™芯片。通过本章的学习,您将对AURIX™的硬件基础建立起扎实的认识,为后续的深入学习打下坚实的基础。 第二章:AURIX™开发环境搭建与工具链介绍 高效的开发环境是成功项目开发的关键。本章将带领您一步步搭建起完整的AURIX™开发环境。我们将详细介绍行业内主流的AURIX™集成开发环境(IDE),如AURIX™ Development Studio(ADS),并指导您完成软件的安装、配置以及项目创建的全过程。您将学习如何设置编译器、调试器,以及如何导入和管理项目文件。此外,我们还将重点介绍AURIX™开发过程中不可或缺的各种工具,包括但不限于: 编译器与链接器: 理解TriCore™指令集的编译原理,掌握链接脚本的编写与优化,确保代码的高效生成与内存分配。 调试器: 学习使用仿真器(如iLLD Debugger)和硬件调试器(如HSWAG, J-Trace)进行程序的在线调试,包括设置断点、单步执行、查看内存和寄存器状态等。 代码生成器与配置工具: 介绍如ASCET、AURIX™ Code Generator等工具,它们能够自动化生成大量配置代码和驱动程序,显著提高开发效率。 RTOS(实时操作系统): 探讨常用的AURIX™兼容RTOS,如FreeRTOS、Zephyr等,以及如何将其集成到AURIX™项目中,实现任务调度、多任务并发等高级功能。 配置与仿真工具: 介绍如AURIX™ Power Architecture Simulator,它能帮助您在没有物理硬件的情况下进行初步的软件验证。 通过本章的学习,您将能够独立搭建起高效的AURIX™开发环境,并熟练运用各种工具进行开发与调试,为后续的实际开发打下坚实基础。 第三章:AURIX™基础外设驱动与接口编程 深入了解AURIX™芯片的各种片上外设,并掌握它们的驱动编程是实现具体应用的前提。本章将聚焦AURIX™系列微控制器中最常用的基础外设,为您提供详尽的驱动编程指南。我们将重点讲解以下外设的原理、寄存器配置以及API接口使用: GPIO(通用输入输出): 学习如何配置GPIO引脚的输入/输出模式、上拉/下拉电阻,以及如何进行高低电平的读写操作,实现与外部器件的基本交互。 UART(通用异步收发传输器): 掌握UART的波特率设置、数据位、停止位、校验位配置,实现与PC或其他设备的串行通信,用于调试信息输出或数据传输。 SPI(串行外设接口): 学习SPI的主/从模式配置、时钟极性与相位设置,掌握与SPI外设(如传感器、存储器)进行高效通信的方法。 I2C(集成电路总线): 理解I2C的总线仲裁、地址寻址机制,掌握与I2C设备(如EEPROM、ADC)进行数据读写。 ADC(模数转换器): 学习ADC的采样模式、转换精度、参考电压设置,以及如何读取模拟信号的数字值,实现对物理量的采集。 Timer/Counter(定时器/计数器): 掌握定时器的工作模式(如周期定时、单次定时)、预分频器设置,以及如何利用定时器实现延时、脉冲生成、PWM输出等功能。 中断控制器: 深入理解AURIX™的中断机制,学习如何配置中断源、中断优先级,编写中断服务例程(ISR),实现对异步事件的快速响应。 我们将通过大量的代码示例,清晰地展示如何利用AURIX™的软件库(如iLLD - Infineon Low-Level Driver)或直接寄存器操作来实现这些外设的驱动。本章旨在让您具备独立开发和集成各种基础外设驱动的能力,为构建复杂的嵌入式应用奠定坚实基础。 第四章:AURIX™多核协同与任务管理 AURIX™系列微控制器的核心优势在于其多核架构。本章将深入探讨如何在多核环境下实现高效的协同工作与任务管理。您将学习: 多核启动与初始化: 理解多核处理器是如何被启动和初始化的,包括主核的引导、从核的唤醒以及各核之间的同步机制。 核间通信(IPC - Inter-Processor Communication): 介绍AURIX™提供的多种IPC机制,如Message Buffers (MBX)、Events、Semaphores等,学习如何安全高效地在不同核之间传递数据和同步任务。 共享资源管理: 探讨在多核环境下访问共享内存、外设时可能出现的竞态条件,学习使用互斥锁(Mutexes)、信号量(Semaphores)等同步原语来保护共享资源,避免数据损坏。 任务划分与负载均衡: 分析如何根据项目需求将任务合理地划分到不同的核上,实现计算资源的有效利用和负载均衡,最大化系统的吞吐量和响应速度。 RTOS在多核环境下的应用: 深入讲解如何利用RTOS(如FreeRTOS、Zephyr)在多核AURIX™平台上实现更复杂的任务调度、优先级管理、进程间通信等高级功能,构建出结构清晰、可维护性强的嵌入式系统。 通过本章的学习,您将能够充分发挥AURIX™多核处理器的潜力,设计出高性能、高可靠性的多核嵌入式应用。 第五章:AURIX™通信协议栈与网络应用 在当今互联互通的时代,嵌入式设备的通信能力至关重要。本章将为您介绍AURIX™系列微控制器在各类通信协议栈上的应用。我们将重点关注: CAN FD(Controller Area Network Flexible Data-Rate): 作为汽车电子领域的主流通信总线,我们将深入讲解CAN FD的帧格式、通信速率、错误检测机制,以及如何在AURIX™上配置和使用CAN FD控制器,实现可靠的节点间通信。 Ethernet(以太网): 学习如何在AURIX™上配置和驱动以太网控制器,包括TCP/IP协议栈的集成与应用,实现与PC、服务器或其他网络设备的通信,构建物联网(IoT)应用。 LIN(Local Interconnect Network): 介绍LIN总线在汽车舒适性电子中的应用,学习LIN的主从节点配置,以及在AURIX™上实现LIN通信的方法。 其他通信接口: 根据AURIX™型号的不同,我们还将简要介绍其他常用通信接口,如USB、FlexRay等,并提供相关的开发资源指引。 本章将通过实际案例,展示如何利用AURIX™的强大通信能力,构建出满足各种行业需求的嵌入式通信解决方案。 第六章:AURIX™高级应用技术与性能优化 在掌握了AURIX™的基础开发与应用后,本章将引导您进入更高级的技术领域,并提供性能优化的策略。我们将探讨: DMA(Direct Memory Access): 深入理解DMA的工作原理,学习如何配置DMA控制器,实现CPU与外设之间的高效数据传输,减轻CPU负担,提高系统性能。 LLWU(Low-Latency Wake-up Unit): 学习如何利用LLWU实现低功耗模式下的快速唤醒,优化系统的能耗表现。 安全特性: 介绍AURIX™系列在安全性方面的设计,包括硬件加密引擎、安全存储、内存保护单元(MPU)等,以及如何在应用中利用这些特性来保护敏感数据和代码。 代码优化技术: 提供一系列的性能优化技巧,包括算法优化、代码重构、编译器选项配置、多核协同优化等,帮助您充分挖掘AURIX™的性能潜力。 故障注入与容错设计: 探讨在关键应用中如何进行故障注入测试,以及如何设计容错机制,提高系统的鲁棒性和可靠性。 本章旨在提升您的AURIX™开发技能,让您能够设计出兼具高性能、高效率和高可靠性的复杂嵌入式系统。 第七章:AURIX™实际项目开发案例分析 理论知识的掌握需要通过实际项目来巩固和升华。本章将为您呈现 AURIX™在不同领域的实际项目开发案例。我们将挑选具有代表性的项目,例如: 汽车电子控制单元(ECU)开发: 演示如何利用AURIX™实现发动机控制、车身电子控制等功能,重点讲解多核协同、CAN FD通信以及实时性要求。 工业自动化控制器开发: 展示如何利用AURIX™构建高性能的PLC(可编程逻辑控制器)或运动控制器,涉及实时任务调度、多种传感器/执行器接口以及工业通信协议。 嵌入式安全模块开发: 介绍如何利用AURIX™的硬件安全特性,构建安全启动、安全通信等功能模块。 通过对这些实际项目的深入剖析,您将能够更直观地理解AURIX™的应用场景,学习到开发过程中遇到的挑战及解决方案,并将所学知识融会贯通,应用于您自己的项目中。 结论: 本书旨在成为您学习和掌握AURIX™多核微控制器应用技术的全面指南。通过循序渐进的章节安排,从基础概念到高级应用,再到实际案例分析,我们力求为您提供一个清晰、实用且深入的学习路径。希望本书能激发您对AURIX™技术的浓厚兴趣,并帮助您在嵌入式系统开发领域取得更大的成就。