0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AUTOSAR MCAL-基于Infineon TC3xx芯片的ADC模塊

832065824 ? 來源:汽車電子嵌入式 ? 2023-01-29 16:45 ? 次閱讀

前言

MCAL的作用是隔離硬件,對(duì)上提供統(tǒng)一的標(biāo)準(zhǔn)接口。前面的MCAL_ADC文章<<AUTOSAR-MCAL--ADC模塊詳解>>已經(jīng)基于RenesasRH850芯片詳細(xì)介紹過ADC模塊了,由于最近開始使用Infineon TC3xx芯片,在配置ADC模塊的時(shí)候發(fā)現(xiàn)ADC模塊對(duì)上提供的標(biāo)準(zhǔn)接口是一樣的,在切換芯片的時(shí)候,IoHwAb_ADC模塊基本不用修改,但是對(duì)于具體ADC模塊的配置,和芯片特性強(qiáng)相關(guān)的地方還是有很多地方(AUTOSAR MCAL標(biāo)準(zhǔn)定義的配置項(xiàng)都是一樣的),本文將詳細(xì)介紹基于Infineon TC3xx芯片MCAL_ADC模塊特有的一些配置功能。

正文

1.TC377芯片ADC硬件資源

在配置一個(gè)MCAL模塊的時(shí)候主要關(guān)注這個(gè)模塊的三個(gè)特性:

1)ADC硬件單元:ADC模塊有多少個(gè)ADC硬件單元Unit,每個(gè)Unit有多少個(gè)通道Channel,這樣我們就可以知道這個(gè)ADC模塊最大可以配置多少路ADC數(shù)據(jù)了。

2) ADC時(shí)鐘源:知道ADC時(shí)鐘源和可以使用的分頻系數(shù)就可以知道ADC模塊最大/小的使用時(shí)鐘頻率了(時(shí)鐘頻率在ADC模塊作用不是特別明顯,在配置PWM/ICU模塊的時(shí)候就非常重要)。

3) ADC中斷源:使用ADC轉(zhuǎn)換完成中斷的話就需要知道使用的中斷源,也就是每個(gè)Unit/Group的中斷號(hào),這個(gè)中斷號(hào)在配置OS的ISR的時(shí)候需要用到。

Note: 如果是新手的話,查看TC3xx系列芯片共有的特性應(yīng)該查看下圖的文檔:

5728403e-99c4-11ed-bfe3-dac502259ad0.png

查看TC37x具體芯片的硬件資源情況需要查看下圖的另一份文檔:

5741e89a-99c4-11ed-bfe3-dac502259ad0.png

兩份文檔需要結(jié)合起來看,才能找到自己想要的東西。

1.1ADC硬件單元

57554c1e-99c4-11ed-bfe3-dac502259ad0.png

TC37xx有8組ADC采集單元,Group0-8是Primary Groups,Group8-11是Secondary Groups,每組Primary Group有8個(gè)Channels,每組Secondary Group有18個(gè)Channels,總共可以同時(shí)采集8*4 + 16*4 = 96路ADC值。

57872c98-99c4-11ed-bfe3-dac502259ad0.png

1.2.ADC時(shí)鐘源

5796a38a-99c4-11ed-bfe3-dac502259ad0.png

ADC模塊使用fADC作息模塊參考時(shí)鐘,fADC的具體配置在MCU模塊(后面分析TC3xxMCU模塊的時(shí)候再具體分析)。

1.3ADC中斷源

57a352b0-99c4-11ed-bfe3-dac502259ad0.png

Group0-3的ISR中斷地址計(jì)算公式為:0x670 + x*0x10 + y*0x4,其中x為Group號(hào),也就是0/1/2/3,y是選擇那一路Service Request輸出。

那這個(gè)y值怎么確定?-- 見下文分析

57d451d0-99c4-11ed-bfe3-dac502259ad0.png

Group 0可以配置使用G0SR0-3中的一路作為中斷輸入請(qǐng)求信號(hào)

57e8390c-99c4-11ed-bfe3-dac502259ad0.png

通過配置GxSEVNP寄存器的SEViNP位域可以選擇使用那一路Service Request Line。

不過需要注意的是在EB的MCAL_ADC配置項(xiàng)里面沒有關(guān)于每個(gè)Group的Service Request的配置項(xiàng),所以GxSEVNP寄存器的SEViNP位域?yàn)槟J(rèn)值0。

綜上所訴,我們得出Group0使用的中斷服務(wù)的地址為:

Group0的ISR中斷地址:0x670 + 0*0x10 + 0*0x4 = 0x670,其他Group使用的中斷服務(wù)的地址以此類推。

2. TC3XX MCAL特有的配置

2.1 External Multiplexer Control

580ba59a-99c4-11ed-bfe3-dac502259ad0.png

在TC3xx的ADC模塊的General配置屬性里面有關(guān)于Emux相關(guān)的配置選項(xiàng),這些配置參數(shù)不是AUTOSAR_MCAL標(biāo)準(zhǔn)定義的,是TC3xx芯片特有的。

5819d82c-99c4-11ed-bfe3-dac502259ad0.png

從上文可以 得知TC37x總共可以同時(shí)采集96路ADC,如果項(xiàng)目中采集的ADC超過96路(芯片引腳又足夠用)該怎么辦?-- 換更多Pin腳的芯片顯然不劃算,那就可以考慮TC3xx的EVADC模塊硬件實(shí)現(xiàn)的外部多路復(fù)用器的功能,簡(jiǎn)單的來講,就是使用一路ADC通道可以采集最多八路的ADC信號(hào),具體由Emux相關(guān)寄存器配置實(shí)現(xiàn)。

一般情況,ADC通道足夠,在配置MCAL_ADC的時(shí)候不用配置EMUX,了解有這個(gè)特性即可。

2.2 Input Class Register

58244230-99c4-11ed-bfe3-dac502259ad0.png

在ADC 模塊的頂層配置容器里面有一個(gè)全局(Global)的配置容器ADCGlobalInputClass。

584ba7d0-99c4-11ed-bfe3-dac502259ad0.png

在AdcHwUnit配置容易下面有一個(gè)AdcHwUnitInputClass的子配置。

58715796-99c4-11ed-bfe3-dac502259ad0.png

AdcChannel配置容器下的每一路Channel都會(huì)引用一個(gè)AdcInputClass,可以選擇Globl的InputClass,也可以選擇每一個(gè)HwUinit下的Input Class。

那這個(gè)Input Class 到底是什么了? -- 查看芯片手冊(cè)

58876f90-99c4-11ed-bfe3-dac502259ad0.png

配置InputClass其實(shí)就是配置GxlCLASSi和GLOBICLASSi系列寄存器。

58b57db8-99c4-11ed-bfe3-dac502259ad0.png

翻譯過來就是:全局輸入類寄存器為通過其通道控制寄存器GxCHCTRy中的位字段ICLSEL選擇它們的相應(yīng)組的每個(gè)通道定義采樣時(shí)間和數(shù)據(jù)轉(zhuǎn)換模式。

58d5b3a8-99c4-11ed-bfe3-dac502259ad0.png

翻譯過來:特定于組的輸入類寄存器為通過其通道控制寄存器GxCHCTRy中的位字段ICLSEL選擇它們的任何組的每個(gè)通道定義采樣時(shí)間和數(shù)據(jù)轉(zhuǎn)換模式。

也就是說Input Class在配置每個(gè)AdcChannel的采樣時(shí)間、轉(zhuǎn)換模式(具體哪些模式可以參考芯片手冊(cè))、預(yù)充電時(shí)間等輸入屬性,個(gè)人覺得如果沒有特殊性能要求的話,這些可選屬性維持默認(rèn)配置就可以了。

3.總結(jié)

現(xiàn)在的芯片手冊(cè)基本都快上萬頁了,在接觸一塊新的芯片的時(shí)候先把芯片手冊(cè)看完,基本是不可能的,就算看完也記不住,所有只有等需要解決疑惑的時(shí)候帶著問題的查手冊(cè),才是比較合適的學(xué)習(xí)方法。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 模塊
    +關(guān)注

    關(guān)注

    7

    文章

    2777

    瀏覽量

    49205
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8901

    瀏覽量

    153056
  • adc
    adc
    +關(guān)注

    關(guān)注

    99

    文章

    6618

    瀏覽量

    547915
  • AUTOSAR
    +關(guān)注

    關(guān)注

    10

    文章

    370

    瀏覽量

    22339
  • Infineon
    +關(guān)注

    關(guān)注

    2

    文章

    98

    瀏覽量

    29820

原文標(biāo)題:AUTOSAR MCAL-基于Infineon TC3xx芯片的ADC模塊

文章出處:【微信號(hào):汽車電子嵌入式,微信公眾號(hào):汽車電子嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    英飛凌TC3XX系列多核MCU學(xué)習(xí)筆記(1)

    聲明:本文是在學(xué)習(xí)英飛凌 TC3XX系列多核 MCU 過程中整理的筆記,便于后期復(fù)習(xí)!
    發(fā)表于 09-19 09:54 ?3353次閱讀
    英飛凌<b class='flag-5'>TC3XX</b>系列多核MCU學(xué)習(xí)筆記(1)

    TC3xx芯片的Endinit功能詳解

    上鎖Endinit。那什么是Endinit功能了? -- 本文就來詳細(xì)解鎖TC3xx芯片的Endinit機(jī)制。
    的頭像 發(fā)表于 11-27 09:23 ?3005次閱讀
    <b class='flag-5'>TC3xx</b><b class='flag-5'>芯片</b>的Endinit功能詳解

    TC3xx芯片時(shí)鐘系統(tǒng)的鎖相環(huán)PLL詳解

    的Tick數(shù)就是基于模塊時(shí)鐘的)。本系列文章就來詳細(xì)介紹TC3xx芯片的時(shí)鐘系統(tǒng)及其具體配置。本文為TC3xx芯片時(shí)鐘系統(tǒng)的鎖相環(huán)PLL詳解
    的頭像 發(fā)表于 12-01 09:37 ?3393次閱讀
    <b class='flag-5'>TC3xx</b><b class='flag-5'>芯片</b>時(shí)鐘系統(tǒng)的鎖相環(huán)PLL詳解

    英飛凌TC3xx系列安全管理單元的使用

    本篇文檔主要用來介紹英飛凌基于AURIX-2G TriCore 1.6.2架構(gòu)的 TC3xx系列安全管理單元的使用。
    的頭像 發(fā)表于 12-07 09:29 ?2897次閱讀
    英飛凌<b class='flag-5'>TC3xx</b>系列安全管理單元的使用

    TC3XX寄存器讀寫時(shí)間過長(zhǎng)怎么解決?

    我目前在做TC3XX底層代碼優(yōu)化,經(jīng)過之前多次測(cè)試目前可以確定該系列芯片對(duì)單個(gè)寄存器地址的讀寫耗時(shí)超過100us。請(qǐng)問對(duì)于寄存器讀寫耗時(shí)你們官方有沒有確切的文件說明?還有就是既然寄存器讀寫時(shí)間那么長(zhǎng)100M的外設(shè)總線時(shí)鐘是否有意義?
    發(fā)表于 01-25 06:56

    TC3xx系列怎么禁用trap?

    目前在TC3xx調(diào)試flash讀寫功能,單獨(dú)運(yùn)行flash相關(guān)功能沒有問題,但將flash相關(guān)功能集成到工程中。操作pflash就會(huì)進(jìn)入trap中,查看了一些帖子說是要禁掉trap?請(qǐng)問怎么禁用trap?目前沒找到相關(guān)函數(shù)
    發(fā)表于 01-31 06:21

    TC3xx系列是否支持RTC功能?

    請(qǐng)教各位,TC3xx系列芯片是否支持RTC功能,目前要記錄snapshot的時(shí)間點(diǎn)(年月日時(shí)分秒)。
    發(fā)表于 02-02 07:53

    TC3xx的HSM中有沒有單調(diào)計(jì)數(shù)器?

    你好, 我看到 OPTIGA 有單調(diào)計(jì)數(shù)器,但我在 TC3xx 的 HSM 中確實(shí)找不到單調(diào)計(jì)數(shù)器。 能否確認(rèn)TC3xx的HSM中沒有單調(diào)計(jì)數(shù)器?
    發(fā)表于 03-05 07:56

    請(qǐng)問tc3xx如何配置多個(gè)dedicatedRxBuffersNumber?

    tc3xx如何配置多個(gè)dedicatedRxBuffersNumber?
    發(fā)表于 04-21 07:53

    英飛凌TC3XX MCAL CAN模塊簡(jiǎn)析

    英飛凌的芯片在汽車電子里用得可謂是頗多,剛好小編也用過,最近剛好在摸TC3系列的CAN模塊,剛好簡(jiǎn)單寫寫。
    的頭像 發(fā)表于 03-07 09:29 ?3018次閱讀

    AURIX? TC3xx NVM是非易失性存儲(chǔ)器學(xué)習(xí)筆記

    TC3xx芯片最多有6個(gè)內(nèi)核,每個(gè)核有自己的私有的Memory以及共有的Memory。
    發(fā)表于 06-19 09:09 ?9156次閱讀
    AURIX? <b class='flag-5'>TC3xx</b> NVM是非易失性存儲(chǔ)器學(xué)習(xí)筆記

    AURIX?嵌入式軟件: 增強(qiáng)型MC-ISAR TC3xx MCAL增加了符合ASIL D和SIL-2標(biāo)準(zhǔn)的驅(qū)動(dòng)程序,以支持AUTOSARv4.4.0

    ? TC3xx MCAL。這將加快OEM廠商的軟件開發(fā)。針對(duì)ASIL D應(yīng)用,MC-ISAR TC3xx路線圖已更新,以提供符合ASIL D標(biāo)準(zhǔn)的驅(qū)動(dòng)程序。通過即將推出的維護(hù)版2.25.0,該驅(qū)動(dòng)程序?qū)?/div>
    發(fā)表于 07-04 16:07 ?525次閱讀
    AURIX?嵌入式軟件: 增強(qiáng)型MC-ISAR <b class='flag-5'>TC3xx</b> <b class='flag-5'>MCAL</b>增加了符合ASIL D和SIL-2標(biāo)準(zhǔn)的驅(qū)動(dòng)程序,以支持AUTOSARv4.4.0

    TC3xx芯片DMU介紹

    AUTOSAR架構(gòu)圖下的Fls模塊對(duì)上(Fee)模塊提供統(tǒng)一的標(biāo)準(zhǔn)接口,但是具體的實(shí)現(xiàn)因不同的芯片而不一樣,Infineon公司的Fls
    的頭像 發(fā)表于 08-31 14:10 ?2524次閱讀
    <b class='flag-5'>TC3xx</b><b class='flag-5'>芯片</b>DMU介紹

    TC3xx芯片的MPU功能詳解

    在前面的文章文章中我們介紹了RH850-U2A的內(nèi)存保護(hù)單元(MPU),了解了MPU的概念以及在RH850-U2A上的具體使用流程,但是對(duì)于TC3xx系列芯片的的MPU功能不甚了解。本文就來詳細(xì)介紹下
    的頭像 發(fā)表于 09-19 11:42 ?3220次閱讀
    <b class='flag-5'>TC3xx</b><b class='flag-5'>芯片</b>的MPU功能詳解

    深入解析TC3xx芯片中的SMU模塊應(yīng)用

    TC3xx芯片是德國(guó)英飛凌半導(dǎo)體公司推出的汽車級(jí)處理器芯片系列,其中的SMU(System Management Unit)模塊是其重要組成部分之一。SMU
    的頭像 發(fā)表于 03-01 18:08 ?2286次閱讀

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品