一推薦使用獨(dú)立的上/下電時序管理芯片:SLG7RN46137V
1SLG7RN46137V芯片已經(jīng)編程燒錄完畢,直接貼片使用即可。
2高壓伺服、交流伺服、變頻器、壓力變送器、中壓伺服應(yīng)用中,強(qiáng)烈推薦使用獨(dú)立的上電時序管理芯片。
因?yàn)檫@類似系統(tǒng)的干擾信號相對比較大,如 “振鈴干擾”、“電容退耦”等原因,導(dǎo)致弱電控制部分的控制信號,較容易被高壓部分干擾。使用獨(dú)立的上電/下電管理芯片,可以有效的規(guī)避這個問題。
3PLC控制器、PLC耦合器、一網(wǎng)到底PLC-DIDO模塊,可以暫時不考慮。
4RZ/T2M、RZ/T2L、RZ/N2L系列,上電和下電管理時序說明如下:
低電壓的先上電,高電壓的后上電;高電壓的先掉電,低電壓的后掉電。這樣的時序要求其實(shí)對于分立式DCDC的供電設(shè)計邏輯控制是比較復(fù)雜的。
詳細(xì)的時序圖如下:
上圖中紅框里面的這個時序,是最為關(guān)鍵的。如果1.8v跌落后,3.3v依然持續(xù)供電,會導(dǎo)致RZ/T2M、RZ/N2L、RZT2L芯片損壞。
二推薦使用的PMIC:DA9061-16AM1 & DA9061-16AM
1AM1和AMC僅僅是芯片包裝方式的不同。芯片本身并未明顯不同。
2早期的這份文檔(2.7以及之前),此處描述有明顯錯誤。
DA9061-00AMx,為空白片。
DA9061-16AMx,為編程片,無需燒錄,購買后直接焊接。上電時序和電源管理邏輯,已經(jīng)在出廠之前燒錄到了芯片內(nèi)部。
應(yīng)用細(xì)節(jié)描述
RZ/T2M和RZ/N2L芯片內(nèi)部的供電結(jié)構(gòu)的原因,導(dǎo)致3.3v,1.8v,1.2v的上電時序有較為嚴(yán)格的時序要求。
PMIC的上電和掉電時序,是完全可以由內(nèi)部OTP控制的。目前PMIC的完整料號是DA9061-16AM1,其中16AM1代表這個OTP已經(jīng)被燒錄,并可以支持RZ/T2M、RZ/N2L。
下單和訂購樣品的時候,直接選擇DA9061-16AM1或者DA9061-16AMC即可。不要訂購空白片DA9061-00AM1。
此設(shè)計已經(jīng)在瑞薩中國的EVK上進(jìn)行過驗(yàn)證。不用擔(dān)心匹配性、穩(wěn)定性問題。
三IAR編譯環(huán)境使用小技巧
1IAR打“編譯”專用補(bǔ)丁
如您不評估Profinet,請使用IAR 9.30.1或以上,比如9.32.1。官方例程均基于該版本(IAR 9.30.1),可以跳過下面的所有敘述。
a) IAR85和IAR92,無法編譯R52 CORE的 RZ/T2M和RZ/N2L。所以需要打補(bǔ)丁。
b) IAR9.3x 版本,可以編譯RZT2M和RZN2L。
①如果使用IAR85和IAR92,需要手動打補(bǔ)丁進(jìn)行編譯。
②實(shí)測,IAR 8.5.x,IAR 9.2.X系列,打過補(bǔ)丁后,均可正常編譯出 可執(zhí)行文件。
③編譯器補(bǔ)丁如下。
④打補(bǔ)丁的方法。
Please copy and overwrite the files of "config" and "Patch" to the
把這兩個文件復(fù)制到
注意:這個編譯補(bǔ)丁,和PN demo的運(yùn)行補(bǔ)丁,不是同一個概念,請勿混淆。
2編譯例程不通過時,請嘗試以下修改和對策
● 編譯路徑太深,或者某一級的目錄的名字太長。
●編譯的目錄中有文中路徑。
●把需要編譯的目錄,復(fù)制到某個盤符的根目錄,或者桌面。
● ECAT例程,需要按照ecat例程中的pdf文件指導(dǎo),自己生成ecat源碼。
3如何簡單的判斷是否堆棧溢出
①首先找到工程目錄下的startup_ram.asm文件,這個文件在RZT1上是loader_init.asm文件。
②找到下面的類似于clear bss段。這個區(qū)域在RZT1上是“l(fā)oader_bss_init:”部分。
③加入如下代碼:給每個stack設(shè)置初始值為特定的 0x55,0x66,0x77等。
原理:一旦程序異常復(fù)位,并進(jìn)入“abort handler”或者“hard fault”后,可以立刻查看如下堆棧段,是否有被“撐爆”的情況。即如果堆棧段 頂端出現(xiàn)非“0x55,0x66,0x77”的數(shù)據(jù),即可認(rèn)為棧溢出 出現(xiàn)過。
左右滑動查看完整內(nèi)容
;-----------------------------------------add stack init to 0x55----------------------------------- cstack_set55: ldr r0, =0x55555555 ldr r1, =SFB(CSTACK) ldr r2, =SFE(CSTACK) cmp r2, r1 beq svcstack_set66 set_loader_cstack: strb r0, [r1], #0 add r1, r1, #1 cmp r2, r1 bne set_loader_cstack dsb ; Ensuring data-changing svcstack_set66: ldr r0, =0x66666666 ldr r1, =SFB(SVC_STACK) ldr r2, =SFE(SVC_STACK) cmp r2, r1 beq IRQSTACK_set77 set_loader_svcstack: strb r0, [r1], #0 add r1, r1, #1 cmp r2, r1 bne set_loader_svcstack dsb ; Ensuring data-changing IRQSTACK_set77: ldr r0, =0x77777777 ldr r1, =SFB(IRQ_STACK) ldr r2, =SFE(IRQ_STACK) cmp r2, r1 beq FIQSTACK_set88 set_loader_irqstack: strb r0, [r1], #0 add r1, r1, #1 cmp r2, r1 bne set_loader_irqstack dsb ; Ensuring data-changing FIQSTACK_set88: ldr r0, =0x88888888 ldr r1, =SFB(FIQ_STACK) ldr r2, =SFE(FIQ_STACK) cmp r2, r1 beq UNDSTACK_set99 set_loader_fiqstack: strb r0, [r1], #0 add r1, r1, #1 cmp r2, r1 bne set_loader_fiqstack dsb ; Ensuring data-changing UNDSTACK_set99: ldr r0, =0x99999999 ldr r1, =SFB(UND_STACK) ldr r2, =SFE(UND_STACK) cmp r2, r1 beq ABTSTACK_setAA set_loader_undstack: strb r0, [r1], #0 add r1, r1, #1 cmp r2, r1 bne set_loader_undstack dsb ; Ensuring data-changing ABTSTACK_setAA: ldr r0, =0xAAAAAAAA ldr r1, =SFB(ABT_STACK) ldr r2, =SFE(ABT_STACK) cmp r2, r1 beq jump_loader_init2 set_loader_abtstack: strb r0, [r1], #0 add r1, r1, #1 cmp r2, r1 bne set_loader_abtstack dsb ; Ensuring data-changing ;---------------------------------------end---------------------------------------
審核編輯:湯梓紅
-
控制器
+關(guān)注
關(guān)注
112文章
16376瀏覽量
178221 -
變頻器
+關(guān)注
關(guān)注
251文章
6558瀏覽量
144862 -
IAR
+關(guān)注
關(guān)注
5文章
352瀏覽量
36693 -
時序圖
+關(guān)注
關(guān)注
2文章
58瀏覽量
22459 -
DCDC
+關(guān)注
關(guān)注
29文章
818瀏覽量
71316
原文標(biāo)題:RZ/T2M RZ/N2L RZ/T2L系列應(yīng)用心得(3-上)
文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論