0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

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

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

SCR的調(diào)試方法以及示例程序介紹

832065824 ? 來(lái)源:汽車電子嵌入式 ? 2023-01-16 09:31 ? 次閱讀

前言

SCR是Standby Controller的簡(jiǎn)稱,是以8051內(nèi)核為基礎(chǔ)的CPU。本視頻首先介紹了MCU的兩個(gè)域,接著介紹了SCR的架構(gòu),其中包括SCR和主核的通信,SCR喚醒源,SCR的外設(shè)資源等內(nèi)容,最后介紹了SCR的調(diào)試方法以及示例程序。

3f87cad6-9531-11ed-bfe3-dac502259ad0.png

正文

1.Overview

3fae480a-9531-11ed-bfe3-dac502259ad0.png

分離的IO:也就是一部分IO是處于High performance domain里面的,另一部分IO是處于low power domain里面的。

High performance domain一般使用Vext或者Vddm或者Vflex作為參考電源,Low power domanin使用Vevrsb作為參考電源的。

在TC3xxx芯片里面,Pin33和Pin34口是處在Low power domain的,是使用Vevrsb作為參考電源的。

2.System Architecture:Standby Domain

3fcf5a4a-9531-11ed-bfe3-dac502259ad0.png

深灰色:Swtich Off,在進(jìn)入到Standby模式后就被關(guān)閉了,因?yàn)镋VRC和EVR33都關(guān)掉了,所以TC3xx的內(nèi)核(Tricore)以及VDDP3已經(jīng)沒(méi)有電了,所以進(jìn)入Standby后內(nèi)核是斷電了的,那么從Standby喚醒走的流程和Power On Reset走的流程是差不多的。

淺灰色:Optional,可選的模塊,進(jìn)入到Standby模式后可以選擇開啟或者關(guān)閉。SCR(Standby Controller)和Wake-up Timer(WUT)以及Pin Wake-up unit等(灰色部分)是相互獨(dú)立的,一個(gè)選擇關(guān)閉后剩下的可以選擇關(guān)閉或者開啟。

白色:Always on,永遠(yuǎn)在工作的。EVR LDO Preregulator可以產(chǎn)生一個(gè)和內(nèi)核電壓一樣大小的電壓VDDPD= 1.25V,給Standby RAM(CPU0 dLMU...)以及EVRC,EVR33供電。PLPBG Low Power Bandgap是用來(lái)Monitor監(jiān)控SHPBG High Precision Bandgap的。

SHPBG High Precision Bandgap的作用是作為Second monitor的參考源,就是在做電源監(jiān)控的時(shí)候可以設(shè)置一個(gè)電源的范圍,采集電源ADC值和設(shè)置的電源電壓范圍進(jìn)行比較。SHPBG High Precision同時(shí)是SCR里面ADC的參考源。Pin Wake-up unit可以有PINA和PINB兩種喚醒源,而PORST/ESR1/PINA是處于Core Domain的,如果Core Domain和Standby Domain共軌的話,這些引腳(PINA/PINB)都是可以作喚醒源的。

400820e6-9531-11ed-bfe3-dac502259ad0.png

但是在上圖圖中Standby Domain和Core Domain用了獨(dú)立的電源,一旦Main Supply斷電的話,PINA就無(wú)法作為喚醒引腳了。這種獨(dú)立供電的方式除了SCR,WUT,PINB可以作為喚醒源外,VEXT(Core Domain的主電源)也可以作為喚醒源,比如VEXT上升到某個(gè)閾值的時(shí)候喚醒Core Domain(下降到某個(gè)閾值的時(shí)候進(jìn)入到Standby mode)

3.SCR Architecture

40254586-9531-11ed-bfe3-dac502259ad0.png

SCR本身是一個(gè)8051核,SCR的代碼是運(yùn)行在XRAM的,數(shù)據(jù)也存放在XRAM。存放在XRAM的數(shù)據(jù)如果要去訪問(wèn)的話,需要使用DBTR寄存器,當(dāng)成擴(kuò)展的ROM去訪問(wèn)它。

SCR和主核TriCore間有多種訪問(wèn)方式:

1)主核和SCR之間可以互相發(fā)送中斷

2)Shawdow Register也就是映射寄存器相互訪問(wèn),比如在SCR設(shè)置了SCRINTEXCHG寄存器后,在Tricore的PMSWCR2.SCRINT寄存器位域就會(huì)相應(yīng)改變,利用這個(gè)特性可以做一些簡(jiǎn)單的調(diào)試,比如讓SCR全速運(yùn)行起來(lái),運(yùn)行到不同地方設(shè)置SCRINTEXCHG不同的值,在Tricore里面就可以通過(guò)PMSWCR2.SCRINT監(jiān)控SCR的運(yùn)行到哪里了。使用這種調(diào)試方式的話,Tricore就不能進(jìn)入休眠。

3)P33和P34這兩組pin腳可以歸屬于Tricore也可以歸屬于SCR,由PCSR寄存器配置。所以在進(jìn)入Standby之前需要將P33和P34的控制器權(quán)交給SCR。

404ed626-9531-11ed-bfe3-dac502259ad0.png

SCR除了普通的IO喚醒監(jiān)控外,還支持很多的外設(shè)喚醒監(jiān)控,比如特定幀CAN喚醒。

SCR支持多種喚醒源,用的比較多的是Software request,也就是往SCU_STDBYWKP.SCRWKP寄存器位域里面寫入1就喚醒主核了,大部分的喚醒功能都是用這個(gè)功能去做的。對(duì)于IO的將車,SCR有自己的外部中斷,但一個(gè)跳變沿過(guò)來(lái)的時(shí)候,首先會(huì)進(jìn)入到SCR的中斷,在中斷里面設(shè)置SCU_STDBYWKP.SCRWKP喚醒主核。

406f4c94-9531-11ed-bfe3-dac502259ad0.png

Aurix 1G上的SCR Block Diagram,Aurix 2G上的SCR相比于1G上的SCR做了一些改變,比如原來(lái)的XRAM是掛在SPI下面的,訪問(wèn)Aurix 1G的XRAM需要使用SPI接口。

4093f256-9531-11ed-bfe3-dac502259ad0.png

Aurix 2G的XRAM直接掛在SPB總線下面,訪問(wèn)XRAM直接通過(guò)通過(guò)地址訪問(wèn),更加便捷。

XC800核集成了T0 T1 UART三個(gè)外設(shè),其他的RTC,WDT,T2CCU,SSC都是擴(kuò)展的外設(shè)。SCR_P00.0 - SCR_P00.7對(duì)應(yīng)Tricore的SCR_P33.0 - SCR_P33.7,SCR_P01.0對(duì)應(yīng)Tricore的P34.1, SCR_P01.1- SCR_P01.7對(duì)應(yīng)Tricore的SCR_P33.9 - SCR_P33.15。

主核即使進(jìn)入休眠了,也可以通過(guò)OCDS/JTAG/DAP/SPD口來(lái)調(diào)試SCR。

40b72172-9531-11ed-bfe3-dac502259ad0.png

16-bit看門狗只有低八位可以設(shè)置。

可以選擇70KHz的Standby clock時(shí)鐘,也可以選擇100MHz的back up clock。

沒(méi)有喂狗或者錯(cuò)誤的窗口喂狗都會(huì)產(chǎn)生Watch Dog的Event,這個(gè)Event首先會(huì)產(chǎn)生一個(gè)NMI的中斷,類似一個(gè)Prewarning的中斷,這個(gè)中斷發(fā)生以后,再等0x30(48)個(gè)時(shí)鐘周期后發(fā)生Reset(Reset是Enabled),這個(gè)Prewarning的中斷(NMI)一旦發(fā)生以后,就算再去喂狗,依然在48個(gè)cycle以后還會(huì)發(fā)生Reset。

SCR的看門狗的Event(NMI Request)可以用來(lái)喚醒主核,前提是SCU_STDBYWKP.WDTWKSEL設(shè)置為1。

40de2696-9531-11ed-bfe3-dac502259ad0.png

RTC事件產(chǎn)生的Interrupt Request可以用來(lái)喚醒主核,前提是SCU_STDBYWKP.RTCWKSEL設(shè)置為1。

4105f004-9531-11ed-bfe3-dac502259ad0.png

T2CCU可以用來(lái)作PWM的輸入捕獲和PWM的輸出控制。

4131f2a8-9531-11ed-bfe3-dac502259ad0.png

4162ff2e-9531-11ed-bfe3-dac502259ad0.png

4187801a-9531-11ed-bfe3-dac502259ad0.png

在SCR里面有一個(gè)Wake-up CAN的通道,不是我們常規(guī)見(jiàn)的CAN Node,僅僅嵌入了CAN的一個(gè)Filter,但我們收到的CAN Frame和Filter中預(yù)設(shè)的ID匹配的話,就產(chǎn)生一個(gè)Wake-up的Event,不是通常意義上的CAN Module,只能收不能發(fā)CAN報(bào)文。收?qǐng)?bào)文的引腳也有很多個(gè),如圖所示。

4.Debug System

41ac7d02-9531-11ed-bfe3-dac502259ad0.png

調(diào)試SCR可以使用主核的DAP口(主核不能休眠),也可以使用SCR私有的DAP口。

41ce97c0-9531-11ed-bfe3-dac502259ad0.png

兩種調(diào)試SCR的方法:

方法1:SCR的SCRINTEXCHG寄存器映射到shadow Register,也就是主核的PMSWCR2.SCRINT,SCR在不同的地方設(shè)置SCRINTEXCHG不同的值,Tricore中查看PMSWCR2.SCRINT值就可以知道SCR的當(dāng)前的狀態(tài)。

方式2:主核訪問(wèn)XRAM,可以直接通過(guò)地址訪問(wèn),SCR訪問(wèn)XRAM需要使用DPTR指令,當(dāng)成擴(kuò)展的RAM來(lái)使用。

可以在XRAM里面開辟一個(gè)區(qū)域,比如說(shuō)這個(gè)區(qū)域的前面一段是SCRto Tricore的信息,后面半段是Tricore to SCR的信息,通過(guò)這種方式可以作一些參數(shù)的交互。

5.SCR SW Framework

41e9da62-9531-11ed-bfe3-dac502259ad0.png

SCR的代碼放在SCR的目錄下面,SCR的編譯器Config_8051_Tasking目錄下的Config_Tasking.mk里面(主要就是設(shè)置c51的編譯器路徑,Taking支持c51芯片的編譯),編譯完成后就會(huì)產(chǎn)生.Hex文件,使用0_Utilities目錄下的Hex2CArrray tool將.Hex轉(zhuǎn)成CArray這樣的C文件。

420eb29c-9531-11ed-bfe3-dac502259ad0.png

在運(yùn)行SCR之前,第一步是使能SCR,第二部是把SCR mode設(shè)置為Programmer Mode(SCR boot mode,通過(guò)寄存器設(shè)置),第三步就是把CArray里面內(nèi)容寫道XRAM里面,第四步把SCR的boot mode設(shè)置為Normal mode,SCR就跑起來(lái)了,SCR跑起來(lái)以后,MCU就可以進(jìn)入它的Standby mode,在進(jìn)入Standby mode之前需要把喚醒源配置好。






審核編輯:劉清

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

    關(guān)注

    146

    文章

    16667

    瀏覽量

    347831
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5253

    瀏覽量

    119212
  • SCR
    SCR
    +關(guān)注

    關(guān)注

    2

    文章

    149

    瀏覽量

    44010
  • PIN管
    +關(guān)注

    關(guān)注

    0

    文章

    36

    瀏覽量

    6276

原文標(biāo)題:AURIX? TC3xx 休眠控制SCR

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ARM_KIT_示例程序

    ARM KIT 示例程序_2008,有需要的下來(lái)看看。
    發(fā)表于 02-18 15:11 ?19次下載

    遍歷圖像像素的14種方法_OpenCV2版書本配套示例程序24

    遍歷圖像像素的14種方法_OpenCV2版書本配套示例程序24,來(lái)自一本國(guó)外OpenCV2書籍的示例-遍歷圖像像素的14種方法
    發(fā)表于 06-06 15:20 ?0次下載

    TR5001T設(shè)備介紹程序調(diào)試方法

    TR5001設(shè)備介紹程序調(diào)試方法程序調(diào)試技巧。
    發(fā)表于 06-16 18:21 ?0次下載

    MATLAB程序調(diào)試方法及工具介紹

    MATLAB程序設(shè)計(jì)之MATLAB程序調(diào)試方法及工具介紹
    的頭像 發(fā)表于 07-13 17:50 ?6674次閱讀
    MATLAB<b class='flag-5'>程序</b><b class='flag-5'>調(diào)試</b>的<b class='flag-5'>方法</b>及工具<b class='flag-5'>介紹</b>

    DPDK安裝教程和DPDK程序運(yùn)行收發(fā)包示例程序及性能對(duì)比實(shí)驗(yàn)的詳細(xì)概述

    本文檔的主要內(nèi)容詳細(xì)介紹的是DPDK安裝教程和DPDK程序運(yùn)行收發(fā)包示例程序及性能對(duì)比實(shí)驗(yàn)的詳細(xì)概述。
    發(fā)表于 09-03 08:00 ?0次下載
    DPDK安裝教程和DPDK<b class='flag-5'>程序</b>運(yùn)行收發(fā)包<b class='flag-5'>示例程序</b>及性能對(duì)比實(shí)驗(yàn)的詳細(xì)概述

    MPU6050傳感器九軸的示例程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是MPU6050傳感器九軸的示例程序免費(fèi)下載。
    發(fā)表于 08-21 17:43 ?31次下載
    MPU6050傳感器九軸的<b class='flag-5'>示例程序</b>免費(fèi)下載

    軟件進(jìn)行濾波方法示例程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是軟件進(jìn)行濾波方法示例C應(yīng)用程序免費(fèi)下載。
    發(fā)表于 11-04 08:00 ?3次下載
    軟件進(jìn)行濾波<b class='flag-5'>方法</b>的<b class='flag-5'>示例程序</b>免費(fèi)下載

    LabVIEW初級(jí)教程之屬性節(jié)點(diǎn)初級(jí)課程的示例程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是LabVIEW初級(jí)教程之屬性節(jié)點(diǎn)初級(jí)課程的示例程序免費(fèi)下載
    發(fā)表于 01-17 16:19 ?22次下載
    LabVIEW初級(jí)教程之屬性節(jié)點(diǎn)初級(jí)課程的<b class='flag-5'>示例程序</b>免費(fèi)下載

    Python使用示例程序和工程文件免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是Python使用示例程序和工程文件免費(fèi)下載。
    發(fā)表于 06-15 08:00 ?6次下載
    Python使用<b class='flag-5'>示例程序</b>和工程文件免費(fèi)下載

    《我和 LabVIEW》示例程序分享

    《我和 LabVIEW》示例程序分享
    發(fā)表于 12-07 17:30 ?17次下載

    介紹 I/O 腳本示例程序(740 系列的模擬器調(diào)試器)

    介紹 I/O 腳本示例程序(740 系列的模擬器調(diào)試器)
    發(fā)表于 05-11 18:52 ?0次下載
    <b class='flag-5'>介紹</b> I/O 腳本<b class='flag-5'>示例程序</b>(740 系列的模擬器<b class='flag-5'>調(diào)試</b>器)

    介紹 I/O 腳本示例程序(用于 M32C/90、M32C/80、M16C/80、M16C/70 系列的模擬器調(diào)試器)

    介紹 I/O 腳本示例程序(用于 M32C/90、M32C/80、M16C/80、M16C/70 系列的模擬器調(diào)試器)
    發(fā)表于 05-11 18:52 ?0次下載
    <b class='flag-5'>介紹</b> I/O 腳本<b class='flag-5'>示例程序</b>(用于 M32C/90、M32C/80、M16C/80、M16C/70 系列的模擬器<b class='flag-5'>調(diào)試</b>器)

    介紹 I/O 腳本示例程序(740 系列的模擬器調(diào)試器)

    介紹 I/O 腳本示例程序(740 系列的模擬器調(diào)試器)
    發(fā)表于 06-28 19:15 ?0次下載
    <b class='flag-5'>介紹</b> I/O 腳本<b class='flag-5'>示例程序</b>(740 系列的模擬器<b class='flag-5'>調(diào)試</b>器)

    介紹 I/O 腳本示例程序(用于 M32C/90、M32C/80、M16C/80、M16C/70 系列的模擬器調(diào)試器)

    介紹 I/O 腳本示例程序(用于 M32C/90、M32C/80、M16C/80、M16C/70 系列的模擬器調(diào)試器)
    發(fā)表于 06-28 19:16 ?0次下載
    <b class='flag-5'>介紹</b> I/O 腳本<b class='flag-5'>示例程序</b>(用于 M32C/90、M32C/80、M16C/80、M16C/70 系列的模擬器<b class='flag-5'>調(diào)試</b>器)

    CP Software Cluster示例程序介紹

    AUTOSAR組織展示了基于ST Stellar系列單片機(jī)實(shí)現(xiàn)的CP Software Cluster示例程序,如圖3所示。 圖3 CP Software Cluster示例程序總覽 示例程序將軟件
    的頭像 發(fā)表于 09-13 17:13 ?832次閱讀
    CP Software Cluster<b class='flag-5'>示例程序</b><b class='flag-5'>介紹</b>