国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

TC3xx內部模塊框圖和各種內部總線及存儲器訪問方式

832065824 ? 來源:汽車電子嵌入式 ? 作者:汽車電子嵌入式 ? 2022-11-04 14:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

TriCore是英飛凌自主開發的私有內核。早在2000年,英飛凌發布了第一代TriCore單片機產品。英飛凌為TriCore申請了注冊商標,在一個內核架構里集成了RISC精簡指令集單片機,MCU微控制器DSP數字信號處理的功能,是一款計算能力強大的32位實時單片機內核架構。TC3xx系列MCU是基于TC1.6P作為其內核的。本系列文章將記錄Infineon芯片的學習筆記。本文首先介紹TC3xx的內部模塊框圖和各種內部總線以及存儲器訪問方式,接著介紹TC1.6.2的內核架構,這其中主要介紹了尋址方式,通用寄存器,上下文管理,中斷機制,Trap機制,MPU機制等內容。

c77e21ec-5bfc-11ed-a3b6-dac502259ad0.png

1.Architectural Overview

c797935c-5bfc-11ed-a3b6-dac502259ad0.png

圖1:TC3xx相比于TC2xx改進部分

如圖一所示,TC3xx內部最多支持6個核,這些核間使用SRI總線進行通信,每個核都有自己的Memory。TC3xx在核架構上相比于TC2xx做了如下改進:

1.1 Performanc

1)支持Tricore 1.6.2的內核

2)增加了新的指令

3)最多支持6個核,最大主頻達到300MHz

4)每個CPU有自Local的Flash bank,也就是說有自己的Local的總線可以訪問自己Local的Flash bank,速度更快

5)

1.2 Memories

1)更大的SRAM

2)更強大的內存保護單元MPU。數據和代碼保護的Register的設置更多。

1.3 ADC

1)TC2xx有隊列模式,自動掃描模式,背景掃描模式,TC3xx只有隊列掃描模式,更加的靈活。

1.4 Delta-Sigma

1.5 HSM

1)支持非對稱加密算法

1.6 Standby control unit

專門的低功耗管理單元

1.7 IO Pads

支持5/3.3v兩種硬件系統

1.8 Ethernet

1)支持千M以太網,支持一部分TSN/AVB的功能

1.9 Safety

1.10 ADAS

增強的SPU

c7d1ca72-5bfc-11ed-a3b6-dac502259ad0.png

圖2:TC3xx系列資源概況

2.Memory Concept

2.1 Memory architecture

c8089f20-5bfc-11ed-a3b6-dac502259ad0.png

圖3:TC3xx內存架構

主要關注PFlash和LMU部分。

每個CPU都可以通過一個私有的LPB總線訪問各自3M的PFlash的bank,訪問速度比較快。外部有個LMU的Ram,分為兩種,一種叫dLMU,另一種叫LMU。每個cpu可以通過私有的總線訪問dLMU,對于LMU,CPU只能通過SRI總線來訪問,速度相對dLMU的訪問較慢。

c8388cb2-5bfc-11ed-a3b6-dac502259ad0.png

圖4:TC3xx內存訪問速度

PSPR,DSPR,DLMU都是Local的SRAM,CPU訪問自己的Local Ram的熟讀非常的快,例如CPU讀寫local DSPR都是0等待時間的。CPU也能范圍其他核的Local Ram,但是讀/寫/取指的速度就會變慢。

c87f0ade-5bfc-11ed-a3b6-dac502259ad0.png

圖5:內存范圍起始地址

對于同一款內存可以使用cache的訪問方式或者非cache的訪問方式。例如對于PFLASH的訪問如果使用cache則起始地址是0x80000000,非cache的訪問方式的起始地址是0xA0000000。同樣,LMU也存在0x90000000/0xB00000000兩個起始地址。

對于每個CPU內部的PSPR和DSPR都不需要使用cache,CPU等待時間是0ws。

每個CPU都有3M的local PFLASH的bank,CPU通過LPB總線訪問PFLASH。這個LPB總線在使能了AB SWAP之后就會被disable掉,這么做的原因是為了讓code運行在A Bank還是B Bank的performence都是一樣的(是能ab swap和disable lpb總線的操作在UCB的一塊區域操作)。

2.2 Memory and connectivity

c89ddafe-5bfc-11ed-a3b6-dac502259ad0.png

圖6:CPU內部總線連接圖

CPU通過SRI Master Interface連接到其他core的SRI Slave Interface來范圍其他核的memory。

2.3 Memory map

c8c4bb9c-5bfc-11ed-a3b6-dac502259ad0.png

c980d71e-5bfc-11ed-a3b6-dac502259ad0.png

c9b24696-5bfc-11ed-a3b6-dac502259ad0.png

圖7:內存映射圖

3.On-chip Bus Connectivity

ca229662-5bfc-11ed-a3b6-dac502259ad0.png

圖8:SRI總線

Tricore里面,內核之間的相互訪問和通信都是通過SRI總線進行的。Tricore 1.6.2里面SRI總線有3個Domain,Domain 1包括CPU0-3,通過SRI0進行相互訪問。其他類似。SRI直接通過S2S Bridge連接。

ca521428-5bfc-11ed-a3b6-dac502259ad0.png

圖9:SRI總線連接圖

ca709e16-5bfc-11ed-a3b6-dac502259ad0.png

圖10:SRI總線間最差延遲時間

ca9cfbbe-5bfc-11ed-a3b6-dac502259ad0.png

圖11:TC39x內部SRI總線連接圖

每個SRI總線都有一個SRI Master Interface和一個SRI Slave Interface,對于一個SRI總線的SRI Slave Interface就存在同一時間多個SRI Master Interface訪問的問題,那么就需要SRI具有仲裁的功能。

4.TC1.6.2 Architecture

4.1 TriCore concept

cacc021a-5bfc-11ed-a3b6-dac502259ad0.png

圖12:TriCore定義

TriCore的含義:既有RISC精簡指令集的特性,也集成了DSP數字信號處理器的性能,同時也可以實現實時控制。

cb520ab8-5bfc-11ed-a3b6-dac502259ad0.png

圖13:英飛凌TriCore的發展圖

4.2 Address range

cb810cfa-5bfc-11ed-a3b6-dac502259ad0.png

圖14:TriCore的尋址空間

4G的尋址空間,16個Segment,小端系統。

4.3 Pipeline

cbea91ca-5bfc-11ed-a3b6-dac502259ad0.png

圖15:Pipline

整型的Pipline主要組數據的運算,類似數據的加減乘除。Load/Store Pipline主要用來做數據的讀取和存儲,Loop Pipline主要做數據的循環處理。三個Pipline可以并行處理。

4.4 Instructions

cc566f26-5bfc-11ed-a3b6-dac502259ad0.png

ccbecf94-5bfc-11ed-a3b6-dac502259ad0.png

圖16:指令

支持16位和32位指令格式,op1的bit 0為1則是32位指令,op1的bit 0為0則是16位指令。

支持位操作

支持MAC乘加指令,除法指令,單周期多數據處理指令SIMD。

4.5 Data Types

ccf75af8-5bfc-11ed-a3b6-dac502259ad0.png

圖17:支持的數據類型

支持大部分數據類型。

4.6 Addressing Modes

cd265740-5bfc-11ed-a3b6-dac502259ad0.png

圖18:尋址方式

支持絕對地址尋址,相對地址尋址,先加減后運算尋址,先運算后加減尋址。

4.7 Core Registers

cd54f5f0-5bfc-11ed-a3b6-dac502259ad0.png

cd74d0f0-5bfc-11ed-a3b6-dac502259ad0.png

圖19:核寄存器

通用寄存器:和ARM核(r0 - r15)不一樣,數據寄存器和地址寄存器分開。數據運算和地址運算不沖突,這樣可以提高尋址和數據處理的效率。

系統寄存器:PC指針,程序狀態字寄存器,系統控制寄存器(比如設置系統在Run/Halt/Sleep狀態)

上下文寄存器:

中斷和陷阱控制寄存器:ICR寄存器可以控制全局中斷的開關。BIV是中斷向量表的起始地址,BTV是陷阱向量表的起始地址。

內存保護寄存器:

棧中斷寄存器:通用寄存器里面的A10是user stack pointer,而ISP是interrupt stack pointer,通過PSW寄存器可以設置是否使用ISP,如果使用了ISP的話,通常情況下系統使用A10作為棧指針,一旦產生中斷后系統把ISP指向的地址賦值給A10,也就是中斷使用另一塊內存作為棧空間。

訪問核寄存器只能只用專用的MTCR,MFCR指令。

A11類似ARM核里面的LR寄存器。

所謂Global Address也就是進入中斷或者進行函數調用的時候是不存這些內容的。

數據和地址寄存器可以兩個合起來作為一個64位的寄存器(P0/D0)。

4.8 Context Management

cd9f54a6-5bfc-11ed-a3b6-dac502259ad0.png

圖20:上下文管理

cdd01c3a-5bfc-11ed-a3b6-dac502259ad0.png

圖21:上下文存儲區域

TriCore的上下文處理比較特殊。對于通用MCU(ARM 核)在進入中斷或者函數調用時候的上下文內容一般存放在棧里面的,但是TriCore的上下文存放在一個叫CSA的區域的。Upper Context 的內容由硬件自動處理,而Lower Context的內容需要一些特殊的指令操作。

ce0d2526-5bfc-11ed-a3b6-dac502259ad0.png

圖21:上下文事件和指令

對于絕大部分簡單的ISR, Trap, 函數調用都比較簡單的話只要保存Upper context就足夠了,也就不會產生后面的BISR,SVLCX,STLCX,STUCX指令。

ce3efe52-5bfc-11ed-a3b6-dac502259ad0.png

圖22:CSA存放地址

CSA可以存放在DSPR(一般存放在這里),DLMU,External Memory里面,通過修改連接ld文件來配置。

FCX: 指向空閑的CSA的起始地址。

PCX: 指向已經使用的CSA的地址。

LCX: 指向空閑CSA的結束地址。

4.8 Interrupt System

ce694518-5bfc-11ed-a3b6-dac502259ad0.png

ce8fdad4-5bfc-11ed-a3b6-dac502259ad0.png

cec9de78-5bfc-11ed-a3b6-dac502259ad0.png

圖23:中斷系統

TriCore 1.6.2中最多有7個中斷服務提供對象,分別是CPU0-5以及DMA。每一個Service Provider對應一個中斷控制單元ICU,中斷服務請求節點SRN最多有1024個,8個GPSR可以用作軟中斷做來核間通信。

cef89a7e-5bfc-11ed-a3b6-dac502259ad0.png

圖24:中斷仲裁

ICU能夠仲裁處理多個SRN同時的請求。

cf1d5396-5bfc-11ed-a3b6-dac502259ad0.png

圖25:中斷保護

中斷寄存器也有保護機制,SRC有ECC的保護措施,在寫完SRC寄存器后會自動生產一個ECC的Code,然后這個SRC的內容在被讀取的時候就會做ECC的check。

SRC寄存器的權限也可以設置。比如,每個Bus Master總線都會有一個TAG-ID,我們可以設置SRC寄存器可以被哪些TAG-ID表示的總線訪問。

cf442fca-5bfc-11ed-a3b6-dac502259ad0.png

圖26:服務請求控制寄存器SRC

cf6304a4-5bfc-11ed-a3b6-dac502259ad0.png

圖27:中斷控制寄存器ICR和中斷向量表地址寄存器BIV

VSS寄存器設置中斷向量表是8字節對齊還是32字節對齊。

cf8ed8b8-5bfc-11ed-a3b6-dac502259ad0.png

圖28:中斷向量表

在TricCore里面,中斷向量表不是固定的,是跟著中斷優先級走的,也就是整個中斷向量表內中斷服務的排序是會跟著中斷優先級的變化而變化的(和其他內核不一樣)。

d02a596e-5bfc-11ed-a3b6-dac502259ad0.png

圖29:中斷處理過程

4.9 DMA service requests

d0c8261c-5bfc-11ed-a3b6-dac502259ad0.png

圖30:DMA服務請求

SRN目標也可以選擇DMA的,選擇DMA的時候,TOS要設置成1。中斷優先級要設置成和DMA的通道號一樣,也就是中斷優先級在選擇DMA的時候就是DMA的通道號,這個很關鍵。

4.10 Traps

d0fab8fc-5bfc-11ed-a3b6-dac502259ad0.png

圖31:Trap

Trap的概念就類似ARM里面的Exception vector異常向量。Trap也有自己的Trap向量表,Trap是為了檢查一些非法的訪問,例如NMI中斷,內存保護。Trap有自己的類型TCN和ID TIN。

d151b0bc-5bfc-11ed-a3b6-dac502259ad0.png

圖32:Trap類型

Trap類型一般有兩種劃分方式,同步或者異步,硬件或者軟件。

同步Trap:CPU在執行的過程中發生的Trap,比如說中斷溢出,取值錯誤,內存非法訪問等。Trap發生的時候,CPU會把Trap發生的指令的下一條指令作為返回地址保存到A11寄存器當中,所以在Trap的handler里面可以讀取A11來定位Trap發生的位置。

異步Trap:和中斷類似,一般由外設或一些協處理器的錯誤造成的。比如說FPU上發生的一些Trap。異步Trap發生的時候,A11中的內容不具備參考意義的。

硬件Trap:比如說CPU執行的指令是非法的,內存保護錯誤等。

軟件Trap:軟件調用了一些系統調用指令,比如assert。

d1f8ee90-5bfc-11ed-a3b6-dac502259ad0.png

d257cd98-5bfc-11ed-a3b6-dac502259ad0.png

圖33:具體的Trap

d291b6e8-5bfc-11ed-a3b6-dac502259ad0.png

圖34:Trap處理過程

關鍵點,D15保存了Trap的ID號,可以在handler中讀取D15獲取Trap ID。

d2d81b2e-5bfc-11ed-a3b6-dac502259ad0.png

圖35:Trap保護機制

4.11 Permission Privilege Levels

d3019e9a-5bfc-11ed-a3b6-dac502259ad0.png

圖36:權限設置

d32c1c24-5bfc-11ed-a3b6-dac502259ad0.png

d358e4d4-5bfc-11ed-a3b6-dac502259ad0.png

d3874a86-5bfc-11ed-a3b6-dac502259ad0.png

圖37:不同模式下的訪問權限

User0模式允許訪問外設寄存器,不允許訪問內核寄存器,也不允許訪問中斷系統寄存器。

User1模式可以訪問中斷系統寄存器。

Supervisor模式可以訪問核寄存器。

4.12 Memory protection

d3a7324c-5bfc-11ed-a3b6-dac502259ad0.png

d3d632cc-5bfc-11ed-a3b6-dac502259ad0.png

圖38:內存保護

實際上就是6組MPU保護,6*18的數據保護,6*10的代碼保護。

Bus MPU: 可以設置哪些Master Interface可以訪問Local SRAM

d402f122-5bfc-11ed-a3b6-dac502259ad0.png

d42c199e-5bfc-11ed-a3b6-dac502259ad0.png

圖38:增強的內存保護

4.13 Temporal Task Protection

實時操作系統對于內存訪問錯誤可以通過MPU內存保護來識別和定位問題,但是對于任務超時該怎么來監控了?-- TriCore提供了時間任務保護機制來實現任務超時監控。

d4537318-5bfc-11ed-a3b6-dac502259ad0.png

d4ed8c64-5bfc-11ed-a3b6-dac502259ad0.png

d5099ddc-5bfc-11ed-a3b6-dac502259ad0.png

圖39:時間任務保護

5.Summary

d5a32eac-5bfc-11ed-a3b6-dac502259ad0.png

d5d39be6-5bfc-11ed-a3b6-dac502259ad0.png

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 英飛凌
    +關注

    關注

    68

    文章

    2518

    瀏覽量

    142886
  • 存儲器
    +關注

    關注

    39

    文章

    7739

    瀏覽量

    171675
  • 總線
    +關注

    關注

    10

    文章

    3040

    瀏覽量

    91660

原文標題:學習筆記 | Aurix TC3xx Architecture

文章出處:【微信號:汽車電子嵌入式,微信公眾號:汽車電子嵌入式】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    CW32F030 RAM存儲器的介紹

    時鐘頻率進行訪問 ?支持奇偶校驗功能 3 RAM 存儲器操作 用戶可執行的 RAM 存儲器操作包括:讀操作、寫操作。 對 RAM 的讀寫操作支持 8bit、16bit 和
    發表于 01-12 06:33

    請問單片機程序存儲器64KB是外擴的還是外擴加內部的呢?

    單片機程序存儲器64KB是外擴的還是外擴加內部的呢?
    發表于 01-06 08:24

    AURIX? TC3xx 電機控制電源板:設計解析與特性洞察

    AURIX? TC3xx 電機控制電源板:設計解析與特性洞察 一、引言 作為一名電子工程師,在電機控制領域不斷探索新的解決方案是我們的日常工作。今天要給大家介紹的 AURIX? TC3xx 電機控制
    的頭像 發表于 12-21 15:50 ?575次閱讀

    英飛凌AURIX? TC3xx安全應用套件快速上手

    英飛凌AURIX? TC3xx安全應用套件快速上手 在電子工程師的日常工作中,快速且有效地掌握新的硬件套件是一項必備技能。今天,我們就來探討一下英飛凌AURIX? TC3xx安全應用套件的快速啟動
    的頭像 發表于 12-19 14:30 ?514次閱讀

    請問如何利用CW32L083系列微控制內部Flash存儲器進行程序升級和數據存儲

    如何利用CW32L083系列微控制內部Flash存儲器進行程序升級和數據存儲
    發表于 12-15 07:39

    芯源的片上存儲器介紹

    片上FLASH 閃存由兩部分物理區域組成:主FLASH 存儲器和啟動程序存儲器。 ●● 主 FLASH 存儲器,共 64KB,地址空間為 0x0000 0000 - 0x0000 FFFF。該區
    發表于 11-12 07:34

    Everspin存儲器8位并行總線MRAM概述

    在需要高速數據寫入與極致可靠性的工業與數據中心應用中,Everspin推出的8位位并行接口MRAM樹立了性能與耐用性的新標桿。這款Everspin存儲器MRAM與SRAM引腳兼容的存儲器,以高達35
    的頭像 發表于 10-24 16:36 ?656次閱讀

    請問如何僅使用軟件和 TC375 精簡板來測量函數調用的堆棧使用情況?

    我想測量 AURIX TriCore? TC3xx 項目的函數調用的堆棧使用情況。 我不知道該怎么做。 我知道事實上作為硬件我只有一個 TC375 lite 開發板,沒有 BlueBox 或任何
    發表于 08-08 07:28

    TC3XX 的端口可以同時被 EvADC 和 DSADC 用于 ADC 轉換嗎?

    1、TC3XX 的端口可以同時被 EvADC 和 DSADC 用于 ADC 轉換嗎? 例如,TC36X系列的AN1引腳 2、同時重新分配同一個引腳,是否會影響EVAADC和DSADC的轉換結果的精度和速度?
    發表于 08-07 08:19

    兩片TC3XX芯片之間的時鐘同步可以實現嗎?

    實現兩片TC3XX芯片之間的時鐘同步,希望兩片芯片的PWM輸出能夠同步。類似功能的芯片能實現上述操作嗎?期待你的答復。非常感謝!!!
    發表于 08-04 07:51

    TC3XX /TC1.6.2OCDS如何通過軟件啟用核心調試控制

    如何通過軟件啟用核心調試控制?也就是說可以通過軟件讀取DBGSR.DE =1。參考TriCore? TM TC1.6.2 核心架構手冊第 1 卷。
    發表于 07-30 06:27

    CYPD3177-24LQXQT是否實現內部存儲器

    CYPD3177-24LQXQT 是否實現內部存儲器?(例如 內存)? BCR 數據表中似乎沒有提及這一點。
    發表于 05-07 07:23

    請問tc3xx如何配置多個dedicatedRxBuffersNumber?

    tc3xx如何配置多個dedicatedRxBuffersNumber?
    發表于 04-21 07:53

    瑞薩RA系列MCU FSP庫開發實戰指南(09)存儲器映射

    3.3 存儲器映射 前文所述,寄存與RAM、FLASH一樣都是芯片內部的一種存儲設備。那么,當我們需要訪問它們的時候,我們需要知道它們的
    的頭像 發表于 04-16 15:52 ?1599次閱讀
    瑞薩RA系列MCU FSP庫開發實戰指南(09)<b class='flag-5'>存儲器</b>映射

    請問STM32訪問FPGA內部SRAM部分區域為何只能讀不能寫?

    采用STM32F427+FPGA+Flash。 STM32通過FMC總線訪問FPGA內部SRAM,起始地址為0x60000000; Flash中存儲FPGA的配置數據,STM32和FP
    發表于 03-12 07:59