【综述】多核处理器芯片

文章目录

前言

Infineon处理器

AURIX™系列

TC399XX-256F300S

典型应用

开发工具

参考资料


前言

        见《【综述】DSP处理器芯片》

Infineon处理器

        AURIX™系列,基于TriCore内核,用于汽车和工业领域。

        XMC™系列,基于ARM® Cortex®-M内核,用于功率转换、工厂自动化、楼宇自控、交通和家用电器等领域。

        TRAVEO™ T2G系列,基于ARM® Cortex®内核,用于媒体和互联。

        PSoC™系列,基于ARM® Cortex®内核,属于嵌入式功率IC(片上系统)。

        传统产品 (C500-, C166-, XC166-, AUDO1 系列),多为8 bit和16 bit,用于细分的特定领域。

AURIX™系列

        AURIX™系列是AUDO™MAX的延续,其TriCore™ 内核是32 位处理器,它的架构是将微控制器的实时功能、DSP的计算算力以及RISC读写存储的高性能/价格优势结合在一个核中,非常适合安全关键型应用。

        TC2xx,第一代AURIX™,多达3个TriCore1.665nm工艺,最高频率300MHz。

        TC3xx,第二代AURIX™,多达6个TriCore1.6240nm工艺,频率300MHz。

        TC4xx(未量产),第三代AURIX™,多达6个TriCore1.8,28nm工艺(猜测),频率500MHz。

TC399XX-256F300S

        TC399XX-256F300S是第二代AURIX™中性能最强悍的一款芯片,名称中各个字段的含义如下:

        该芯片采用40nm工艺,频率300MHz,32bit处理器,6核(4 lock-stepped cores and 2 non lock-stepped cores),RAM 6.9M,ROM 16M,1 Gbit Ethernet,12 CAN FD。它的内部架构如下图所示:

典型应用

        TC399XX-256F300S拥有丰富的外设资源、强大的数据处理能力和很高的安全可靠性,在ADAS域控、传感器融合、自动驾驶和机器学习上面都可以应用,最能体现其各方面性能的应用是在多旋翼无人机上的应用,示例如下:

        无人机的多传感器输入融合,多电机驱动,和安全冗余,使用TC399或TC37x的多核架构,单片解决自动飞行、电机控制、雷达传感器、BMS和功率转换等,BOM成本和性能绝佳。示例如下:

        部分代码示例如下:

#include "Ifx_Types.h"
#include "IfxCpu.h"
#include "IfxAsclin_reg.h"
#include "IfxPort_reg.h"
#include "Scu/Std/IfxScuWdt.h"
#include "Port/Std/IfxPort.h"
#include "Test_Print.h"
#include "stdarg.h"#define USE_ASCLIN1 (STD_OFF)
#define ASCLIN0_BASE          (0xF0000600U)
#define ASCLIN1_BASE          (0xF0000700U)
#define ASCLIN_FLAGSCLEAR_MASK (0xFFFFFffFU)/* Macro for Unused parameters*/
#define UNUSED_PARAMETER(VariableName)          {if((VariableName) != 0U)\{/* Do Nothing */}}
static volatile Ifx_ASCLIN *psASCLIN0;#ifdef _TASKING_C_TRICORE_
#if (_TASKING_C_TRICORE_ == 1U)
#pragma section farbss="Shared.DEFAULT_RAM_8BIT"
#endif /* #if (_TASKING_C_TRICORE_ == 1U) */
#elif defined _GNU_C_TRICORE_
#if (_GNU_C_TRICORE_ == 1U)
#pragma section ".data.Shared.DEFAULT_RAM_8BIT" aw 1
#endif /* #if (_GNU_C_TRICORE_ == 1U) */
#elif defined _DIABDATA_C_TRICORE_
#if (_DIABDATA_C_TRICORE_ == 1U)
#pragma section DATA ".data.Shared.DEFAULT_RAM_8BIT" ".bss.Shared.DEFAULT_RAM_8BIT" far-absolute RW
#endif /* #if (_DIABDATA_C_TRICORE_ == 1U) */
#endifchar recieve_data[6] = {0};void InitSCI(void);
void print_f(const char *p_frm, ...);
void getline(char *p_line, uint32 n_max);void erase_line(char *p_line, uint32 *pos)
{uint32 cnt;for(cnt=0;cnt<*pos;cnt++){*p_line = 0;p_line++;put_char(BACKSPACE);put_char(' ');put_char(BACKSPACE);}*pos = 0;
}inline  void delay(void)
{    volatile int i;   for (i=0;i<100;i++);
}void put_buffer(char *p_line, uint32 n_max,const char *p_str,uint32 *pos)
{
/*  uint32 cnt;cnt = *pos; */while(*pos < n_max && *p_str !=0){*p_line = *p_str;put_char(*p_str);p_line++;p_str++;(*pos)++;}/* *pos = cnt; */
}int getlineWithPos(char *p_line, uint32 n_max, uint32 *pos)
{uint32 w_cnt;uint32 ret_val;int w_key;w_cnt = *pos;p_line += *pos;ret_val = 0;do{w_key = get_ch();if (w_key == -1){ret_val = 0;}else{if (w_key == CR || w_key == LF){*p_line = 0;ret_val = CR;}else{if (w_key == TAB){*p_line = 0; /* set the value to 0 so that the first part of the string can be analyzed */ret_val = TAB;}else{if (w_key == BACKSPACE || w_key == DEL){/* backspace or delete */if (w_cnt != 0){/* delete character */w_cnt--;p_line--;put_char(BACKSPACE);put_char(' '); put_char(BACKSPACE);}}else{if ((w_key != CNTLQ) && (w_key != CNTLS)){/* normal character*/{/* store/reflect character */*p_line = (char)w_key;put_char ((char)w_key);p_line++;w_cnt++;if (w_cnt == n_max)                  {/* limit reached */(void)beep();/* delete all characters */while (w_cnt != 0){w_cnt--;p_line--;put_char(BACKSPACE);put_char(' ');put_char(BACKSPACE);}}}}}}}}}while ((w_key != CR) && (w_key != LF) && (w_key != BACKSPACE) && \(w_key != DEL) && (w_key != TAB));*pos = w_cnt;return(ret_val);
}void buf_to_screen(char *text_buf)
/*~-*/
{/*~L*/while (*text_buf != 0)/*~-*/{/*~T*//* send character */put_char(*text_buf);text_buf++;/*~-*/}/*~E*/
/*~-*/
}int core0_main (void)
{IfxCpu_enableInterrupts();/** !!WATCHDOG0 AND SAFETY WATCHDOG ARE DISABLED HERE!!* Enable the watchdog in the demo if it is required and also service the watchdog periodically* */IfxScuWdt_disableCpuWatchdog (IfxScuWdt_getCpuWatchdogPassword ());IfxScuWdt_disableSafetyWatchdog (IfxScuWdt_getSafetyWatchdogPassword ());Test_InitPrint();IfxPort_setPinMode(&MODULE_P14, 0, IfxPort_Mode_outputPushPullAlt2);print_f("abcdef"); //--- for uart test//getline(recieve_data, 6); //--- for uart testwhile (1){}return (1);
}

开发工具

        AURIX™系列芯片的软件架构底层库工具链,示例如下:

        软件开发IDE HighTec示例如下:

参考资料

        AURIX™ TC39x User Manual.pdf

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/317454.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Power BI:如何将文件夹批量Excel(多sheet页)文件导入?

故事背景&#xff1a; 业务同事想用Power BI分析近两年市场费用。 数据源全部是Excel文件&#xff0c;并且以每月一个Excel文件的方式&#xff0c;统一存放到同一文件夹下面。 重点&#xff0c;每张Excel文件会有多张sheet页&#xff0c;用区分每家分公司的费用信息。 目前…

2023年蓝桥杯C++A组第三题:更小的数(双指针解法)

题目描述 小蓝有一个长度均为 n 且仅由数字字符 0 ∼ 9 组成的字符串&#xff0c;下标从 0 到 n − 1&#xff0c;你可以将其视作是一个具有 n 位的十进制数字 num&#xff0c;小蓝可以从 num 中选出一段连续的子串并将子串进行反转&#xff0c;最多反转一次。小蓝想要将选出的…

使用 Python 和 OpenCV 进行实时目标检测的详解

使用到的模型文件我已经上传了&#xff0c;但是不知道能否通过审核&#xff0c;无法通过审核的话&#xff0c;就只能 靠大家自己发挥实力了&#xff0c;^_^ 目录 简介 代码介绍 代码拆解讲解 1.首先&#xff0c;让我们导入需要用到的库&#xff1a; 2.然后&#xff0c;设…

ansible-playbook离线升级centos内核

目录 概述实践ansible目录结构关键代码执行效果 结束 概述 内核离线包官网下载地址如下&#xff1a; 地址 实践 ansible目录结构 如对 ansible 不熟悉&#xff0c;离线包下载有问题&#xff0c;请至此地址下载&#xff0c;按本文操作可直接使用。 相关文章链接如下 文章地…

水电气能耗管理云平台

安科瑞薛瑶瑶18701709087/17343930412 能耗管理云平台采用泛在物联、云计算、大数据、移动通讯、智能传感器等技术手段可为用户提供能源数据采集、统计分析、能效分析、用能预警、设备管理等服务&#xff0c;平台可以广泛应用于多种领域。

Centos的一些基础命令

CentOS是一个基于开源代码构建的免费Linux发行版&#xff0c;它由Red Hat Enterprise Linux (RHEL) 的源代码重新编译而成。由于 CentOS是基于RHEL构建的&#xff0c;因此它与RHEL具有非常类似的特性和功能&#xff0c;包括稳定性、安全性和可靠性。并且大部分的 Linux 命令在C…

基于H.264的RTP打包中的组合封包以及分片封包结构图简介及抓包分析;FU-A FU-B STAP-A STAP-B简介;

H.264视频流的RTP封装类型分析&#xff1a; 前言&#xff1a; 1.RTP打包原则&#xff1a; RTP的包长度必须要小于MTU(最大传输单元)&#xff0c;IP协议中MTU的最大长度为1500字节。除去IP报头&#xff08;20字节&#xff09;、UDP报头&#xff08;8字节&#xff09;、RTP头&a…

ZISUOJ 高级语言程序设计实训-基础C(部分题)

说明&#xff1a; 有几个题是不会讲的&#xff0c;我只能保证大家拿保底分。 题目列表&#xff1a; 问题 A: 求平均数1 思路&#xff1a; 送分题…… 参考题解&#xff1a; #include <iostream> #include <iomanip> using std::cin; using std::cout;int main(…

Django后台项目开发实战二

我们的需求是开发职位管理系统 三个功能&#xff1a; 管理员发布职位候选人能浏览职位用户能投递职位 第二阶段 创建应用 jobs&#xff0c;实现职位数据的建模 python manage.py startapp jobs 然后再 setting .py 注册应用&#xff0c;只需添加应用名称到最后一行 INST…

git 的迁移

现象是gitlab经常会挂掉&#xff0c;linux会显示磁盘空间不足&#xff0c;实际上&#xff0c;我们linux某个目录的空间是4T。这个空间应该是足够的。猜测是gitlab的安装目录不对导致的空间不足。 1、查找原因 用rpm 安装gitlab会有自己的目录&#xff0c;很多安装文件会在opt…

【华为】华为防火墙双机热备

【华为】华为防火墙双机热备 实验需求实验拓扑配置FW5-M前骤单臂路由和VRRP划分防火墙基本区域部署HRP&#xff08;华为心跳协议&#xff09; FW6-B前骤单臂路由和VRRP划分防火墙基本区域部署HRP&#xff08;华为心跳协议&#xff09; LSW2PC NATSNAT &#xff1a;Easy IPDNAT&…

DSP实时分析平台设计方案:924-6U CPCI振动数据DSP实时分析平台

6U CPCI振动数据DSP实时分析平台 一、产品概述 基于CPCI结构完成40路AD输入&#xff0c;30路DA输出的信号处理平台&#xff0c;处理平台采用双DSPFPGA的结构&#xff0c;DSP采用TI公司新一代DSP TMS320C6678&#xff0c;FPGA采用Xilinx V5 5VLX110T-1FF1136芯片&#xff…

如何在Spring Boot中配置数据库密码加密

如何在Spring Boot中配置数据库密码加密&#xff1f; alibaba/druid Wiki GitHub 使用ConfigFilter alibaba/druid Wiki GitHub 巧用Druid数据源实现数据库连接密码的加密解密功能 import com.alibaba.druid.filter.config.ConfigTools;public class Testttt {public stat…

【IDEA】IDEA自带Maven/JDK,不需要下载

IDEA是由Java编写的&#xff0c;为了保证其运行&#xff0c;内部是自带JDK的。IDEA 2021 及 之后的版本是自带Maven的&#xff1a; 视频连接&#xff1a; https://www.bilibili.com/video/BV1Cs4y1b7JC?p4&spm_id_frompageDriver&vd_source5534adbd427e3b01c725714cd…

状态模式和策略模式对比

状态模式和策略模式都是行为型设计模式&#xff0c;它们的主要目标都是将变化的行为封装起来&#xff0c;使得程序更加灵活和可维护。之所以将状态模式和策略模式进行比较&#xff0c;主要是因为两个设计模式的类图相似度较高。但是&#xff0c;从状态模式和策略模式的应用场景…

Redisson分布式锁,重试锁和锁续命的原理

RedissonLock 锁重试原理 tryLock有三个三个参数&#xff0c;第一个是等待时间&#xff0c;第二个是锁失效后自动释放的时间,不填默认为-1&#xff0c;第三个是时间单位&#xff1b; 当设置了第一个参数&#xff0c;那这个锁就成了可重试锁&#xff1b;获取锁失败后&#xff0c…

大数据分析与内存计算学习笔记

一、Scala编程初级实践 1.计算级数&#xff1a; 请用脚本的方式编程计算并输出下列级数的前n项之和Sn&#xff0c;直到Sn刚好大于或等于q为止&#xff0c;其中q为大于0的整数&#xff0c;其值通过键盘输入。&#xff08;不使用脚本执行方式可写Java代码转换成Scala代码执行&a…

【R语言数据分析】数据类型与数据结构

R的数据类型有数值型num&#xff0c;字符型chr&#xff0c;逻辑型logi等等。 R最常处理的数据结构是&#xff1a;向量&#xff0c;数据框&#xff0c;矩阵&#xff0c;列表。 向量有数值型向量&#xff0c;字符型向量&#xff0c;逻辑型向量等&#xff0c;字符型向量就是反应…

普通屏幕已过时?裸眼3D屏幕显示效果更胜一筹!

随着多媒体技术的迅猛进步&#xff0c;我们日常生活中的内容展现方式&#xff0c;已经经历了前所未有的变革。在这其中&#xff0c;裸眼3D屏幕的应用&#xff0c;无疑是最为引人注目的亮点&#xff0c;它相较于传统屏幕&#xff0c;在显示效果上展现出了鲜明的优势&#xff0c;…

ComfyUI最新InsightFaceLoader节点无法安装的问题

最近更新一个工作流。里面有一些爆红节点&#xff0c;很正常的想到去Manager安装&#xff0c;于是乎开启Clash猫远程安装。装完了还是有一些报错&#xff0c;InsightFaceLoader也无法安装&#xff0c;很奇怪&#xff0c;很常用的节点啊。 一查是ComfyUI_IPAdapter_plus模块的。…