国产精品久久久久久亚洲,国产成人无码午夜视频在线观看 ,国产福利一区二区三区在线观看,国产av第一次处破,厨房玩弄丝袜人妻系列国产电影
您好,歡迎來到儀表展覽網(wǎng)!
請(qǐng)登錄
免費(fèi)注冊(cè)
分享
微信
新浪微博
人人網(wǎng)
QQ空間
開心網(wǎng)
豆瓣
會(huì)員服務(wù)
進(jìn)取版
標(biāo)準(zhǔn)版
尊貴版
|
設(shè)為首頁(yè)
|
收藏
|
導(dǎo)航
|
幫助
|
移動(dòng)端
|
官方微信掃一掃
微信掃一掃
收獲行業(yè)前沿信息
產(chǎn)品
資訊
請(qǐng)輸入產(chǎn)品名稱
噪聲分析儀
紡織檢測(cè)儀器
Toc分析儀
PT-303紅外測(cè)溫儀
轉(zhuǎn)矩測(cè)試儀
繼電保護(hù)試驗(yàn)儀
定氮儀
首頁(yè)
產(chǎn)品
專題
品牌
資料
展會(huì)
成功案例
網(wǎng)上展會(huì)
詞多 效果好 就選易搜寶!
江蘇中霍傳感科技有限公司
新增產(chǎn)品
|
公司簡(jiǎn)介
注冊(cè)時(shí)間:
2005-07-20
聯(lián)系人:
電話:
Email:
首頁(yè)
公司簡(jiǎn)介
產(chǎn)品目錄
公司新聞
技術(shù)文章
資料下載
成功案例
人才招聘
榮譽(yù)證書
聯(lián)系我們
產(chǎn)品目錄
齒輪轉(zhuǎn)速傳感器
0.00元專區(qū)(特采處理)
2021年霍爾傳感器選型
高精度電流傳感器
霍爾電流傳感器
閉環(huán)電流傳感器
開環(huán)電流傳感器
單電源3.3V,5V霍爾電流傳感器
閉環(huán)霍爾電流傳感器
開環(huán)霍爾電流傳感器
霍爾電壓傳感器
直流漏電流傳感器
霍爾電壓變送器
電流互感器
真有效值傳感器
當(dāng)前位置:
首頁(yè)
>>>
公司新聞
>
公司新聞
怎么保證MCU上電后RAM的初始值唯壹
由于工作的原因,筆者經(jīng)常接到工程師詢問MCU內(nèi)部的RAM上電之后的初始值到底是什么,有什么特性和規(guī)律。今天筆者就以設(shè)計(jì)過程中遇到的幾個(gè)問題與大家做一個(gè)交流。
首先明確一個(gè)問題,我們都知道,根據(jù)RAM的特性,MCU每次上電之后RAM里面的值是隨機(jī)的。也就是說RAM上電后的初始值可以是0xAA,也可以是0x55,也可以是其它任何的值,這個(gè)都是正常的。明確了這個(gè)基本原理之后,我們來看一下下面這個(gè)跟RAM的初始值的使用相關(guān)的一個(gè)問題。
設(shè)計(jì)出狀況
*近有工程師在開發(fā)的汽車娛樂系統(tǒng)中遇到了一種情況,就是他在使用RH850F1K的過程中,發(fā)現(xiàn)每次上電后RAM的值好像都是固定的。按照軟件設(shè)計(jì)的初衷,他想通過判斷RAM的值從而知道這次復(fù)位是掉電復(fù)位還是MCU內(nèi)部復(fù)位——比如“看門狗”復(fù)位。如果是掉電復(fù)位,則對(duì)RAM進(jìn)行初始化;如果是MCU內(nèi)部復(fù)位,則不對(duì)RAM進(jìn)行初始化,從而可以保持用戶之前的一些設(shè)置,比如頻道、界面信息等。
大致的設(shè)計(jì)思路和流程如下:
MCU復(fù)位后,軟件會(huì)判斷某個(gè)變量的值。如果不是0x55,就認(rèn)為這是上電復(fù)位,所有的RAM需要初始化,并把該變量的值寫為0x55;如果是0x55,就認(rèn)為這是“看門狗”復(fù)位,這時(shí)候則不改變一些變量的值,比如記錄里程相關(guān)的數(shù)據(jù)。
相關(guān)的C語言代碼如下:
if (variable != 0x55)
{
初始化所有變量;
variable = 0x55;
}
else
{
只改變部分變量的值;
}
在測(cè)試的過程中,測(cè)試工程師發(fā)現(xiàn)了一個(gè)問題:對(duì)于99%的MCU來講,上述的邏輯都是沒有問題的,但是對(duì)于個(gè)別MCU卻存在固定性的問題。
按照設(shè)計(jì)的初衷,本來我們認(rèn)為上電后RAM的值是隨機(jī)的,但是對(duì)于某些個(gè)別MCU來講,測(cè)試工程師發(fā)現(xiàn)上電后RAM的值會(huì)固定的是0x55,或者出現(xiàn)0x55的幾率非常高。
解決方法
針對(duì)這個(gè)現(xiàn)象,筆者也從單個(gè)MCU的特性方面做了解釋:首先還是回到文章*初提到的問題,根據(jù)RAM的特性,上電后RAM是任何值都是正常的,基于這個(gè)前提,我們可以說測(cè)試工程師遇到的現(xiàn)象是正常的。
那么,為什么個(gè)別MCU的RAM上電后會(huì)偏向于某個(gè)特定值呢?
半導(dǎo)體器件的設(shè)計(jì)是非常復(fù)雜的,外觀很小的一個(gè)芯片都是芯片內(nèi)部數(shù)百萬計(jì)的各種極其小的元器件搭建而成的,而這些的原材料基本都是硅。對(duì)于每個(gè)特定的芯片而言,其特性數(shù)據(jù)都是有一些偏好的,也包括上電后RAM的初始值,所以當(dāng)我們看每個(gè)MCU的電氣特性數(shù)據(jù)的時(shí)候,這些數(shù)據(jù)基本都是一個(gè)范圍值,而不是確定的值。
另外,上面軟件本身的設(shè)計(jì)也是有缺陷的,或者說魯棒性不好。假定上電后RAM的初始值是完全隨機(jī)的,那么這樣總會(huì)碰到隨機(jī)值恰好是0x55的情況?;谶@種考慮,我建議軟件工程師重新設(shè)計(jì)了判斷的條件。比如判斷RAM若干不連續(xù)地址的值,并且使用校驗(yàn)的算法,比如比較簡(jiǎn)單的校驗(yàn)和,這樣可靠性就大大提高了。
結(jié)語
筆者在工作過程中,遇到過多個(gè)類似的問題,這個(gè)問題也具有一定的普遍性,除了前面提到的汽車娛樂系統(tǒng),在車身、儀表,甚至工業(yè)應(yīng)用中的電表等都會(huì)涉及到,希望這篇文章能夠幫助設(shè)計(jì)工程師少走一些彎路。
上一篇:
八位MCU還有未來嗎?
下一篇:
國(guó)產(chǎn)MCU挑戰(zhàn)與機(jī)遇
若網(wǎng)站內(nèi)容侵犯到您的權(quán)益,請(qǐng)通過網(wǎng)站上的聯(lián)系方式及時(shí)聯(lián)系我們修改或刪除