導(dǎo)語(yǔ):
本案例中的一個(gè)問(wèn)題可能是很多***的通病,可以提供一種解決思路。
很多國(guó)產(chǎn)基于ARM內(nèi)核的廠商都是從平板起家,對(duì)于工控的應(yīng)用場(chǎng)合還是處于剛起步的階段,在國(guó)產(chǎn)化的潮流下,很多芯片的bug也只能與供應(yīng)商一起解決。本案例中的一個(gè)問(wèn)題可能是很多***的通病,可以提供一種解決思路。
1問(wèn)題描述
我們的產(chǎn)品使用了國(guó)內(nèi)某知名芯片廠商提供的方案,該芯片是其第一款用于工業(yè)產(chǎn)品的主CPU,綜合貿(mào)易戰(zhàn)和性價(jià)比的考慮,我們第一次嘗試國(guó)產(chǎn)的主芯片替代TI的,在實(shí)際使用過(guò)程中,出現(xiàn)以下的現(xiàn)象:
1、我們?cè)O(shè)置為開(kāi)機(jī)自動(dòng)啟動(dòng),無(wú)需人工按下開(kāi)關(guān)機(jī),這是工控的正常需求;
2、在冷啟動(dòng)(關(guān)機(jī)30mim后再啟動(dòng)),設(shè)備啟動(dòng)正常;
3、熱啟動(dòng)(關(guān)機(jī)后20min內(nèi)啟動(dòng)),設(shè)備后很大概率不能啟動(dòng),間隔時(shí)間越短,啟動(dòng)失敗的概率越大。
2原因分析
經(jīng)過(guò)多次的排查分析,我們找到了失敗的規(guī)律,使用示波器掛載在主芯片的VDD3.3V端,如果設(shè)備啟動(dòng)時(shí),芯片的VDD3.3V的電壓大于2V,則啟動(dòng)100%失敗,如果VDD3.3V的電壓小于1V,則啟動(dòng)100%成功。說(shuō)明該主芯片啟動(dòng)時(shí),芯片的VDD不能有過(guò)高的電壓。
但是由于我們是工控產(chǎn)品,工控產(chǎn)品為了應(yīng)對(duì)浪涌以及電壓跌落,內(nèi)置的電容都較多,VDD3.3V上的總電容超過(guò)了500uF,當(dāng)產(chǎn)品掉電以后,負(fù)載變輕,電容的放電時(shí)間更長(zhǎng)。
最初我們有考慮過(guò)增加放電電阻加快放電時(shí)間。但是帶來(lái)2個(gè)問(wèn)題:
(1)、產(chǎn)品的功耗增加
(2)、功率增加影響掉電保存。
經(jīng)過(guò)廠家的連續(xù)攻關(guān)一個(gè)多月,問(wèn)題依然無(wú)解;廠家也認(rèn)可是他們的問(wèn)題,無(wú)耐技術(shù)能力有限,不過(guò)廠商提供了一個(gè)思路,該主芯片是基于平板電腦開(kāi)發(fā)的,平板電腦上有一個(gè)開(kāi)機(jī)按鍵power-on(對(duì)地短路),設(shè)備在關(guān)機(jī)時(shí),長(zhǎng)按超過(guò)1S,設(shè)備則開(kāi)機(jī),此時(shí)無(wú)需關(guān)注VDD電壓是否有電壓;在開(kāi)機(jī)狀態(tài)時(shí),長(zhǎng)按超過(guò)6S,則設(shè)備強(qiáng)行關(guān)機(jī)。
3解決方案
經(jīng)過(guò)廠家的指引,我們只要設(shè)計(jì)一個(gè)電路,模擬人工開(kāi)關(guān)機(jī)動(dòng)作即可,要求如下:
1、在開(kāi)機(jī)時(shí),強(qiáng)制將Power-on引腳對(duì)地短路1S以上,無(wú)論是冷啟動(dòng)還是熱啟動(dòng),為了留足余量,該時(shí)間設(shè)置為2S,設(shè)備啟動(dòng)后2S后,將該引腳與地?cái)嚅_(kāi),避免設(shè)備強(qiáng)行關(guān)機(jī)。
2、正常工作時(shí),該引腳與地?cái)嚅_(kāi),避免設(shè)備強(qiáng)行關(guān)機(jī)。
3、本次關(guān)機(jī)與下一次開(kāi)機(jī)之間,超過(guò)1S(考慮人操作很少在1s內(nèi)開(kāi)關(guān)機(jī)兩次),需要能正常啟動(dòng)。
4、為了保證可靠性,不能用軟件實(shí)現(xiàn);
經(jīng)過(guò)內(nèi)部的討論以及仿真,決定采用如下的方案:
S1模擬用戶的開(kāi)關(guān)機(jī)
C點(diǎn)為控制芯片的開(kāi)關(guān)機(jī)
D點(diǎn)模擬芯片的內(nèi)部的VDD電源。
1、用戶開(kāi)機(jī)時(shí),電流通過(guò)S1、R1、C1、R1,開(kāi)機(jī)瞬間,電容相當(dāng)于短路,因此電容的下端即B點(diǎn)電壓為高電平,此高電平只要大于3.6V,即可以將mos管Q1打開(kāi),將C點(diǎn)進(jìn)行對(duì)地短路,實(shí)現(xiàn)開(kāi)機(jī)時(shí)進(jìn)行對(duì)地短路的需求。
2、R1、R2構(gòu)成一個(gè)分壓電路,上電瞬間,C1的兩端電壓相等,都是12V,隨著C1被充電,C1的上端電壓被抬高,下端電壓被降低。
3、當(dāng)C1 的下端電壓降低到小于3.6V時(shí),mos管關(guān)閉,C點(diǎn)電壓為高電平,即模擬按鍵開(kāi)關(guān)斷開(kāi)。
4、當(dāng)VCC24V掉電時(shí),即S1連接到地,C1上的電容通過(guò)D2、D1進(jìn)行放電,瞬間即可以將C1的電放完,避免下次上電時(shí),由于C1上有過(guò)高的電壓,導(dǎo)致充電的時(shí)間較短。
仿真圖
理論計(jì)算過(guò)程:
電容的充電計(jì)算公式可以適用以下公式:t = RC*Ln[(V1-V0)/(V1-Vt)],其中的含義如下圖所示,經(jīng)過(guò)計(jì)算,按照上圖1中的參數(shù)計(jì)算,理論的第一次上電的延遲短路的時(shí)間為2.38S。實(shí)際仿真上電延遲短路的時(shí)間為2.5S,理論是仿真數(shù)據(jù)相當(dāng)。值得注意的是,第一次斷電時(shí)間1S后馬上上電,上電的延遲時(shí)間只有1.7S,比第一上電快很多,原因是第一次斷電后電容還有電,再次充電的時(shí)間不是從0開(kāi)始,導(dǎo)致充電的時(shí)間變短,因此實(shí)際設(shè)計(jì)過(guò)程,應(yīng)該需要定義后兩次開(kāi)關(guān)機(jī)的最快時(shí)間,本次最快設(shè)計(jì)為1S。
參數(shù)選擇
兩次開(kāi)關(guān)機(jī)的上下電波形。
4總結(jié)
本次純硬件的方案模擬人工開(kāi)關(guān)機(jī),主要利用了RC充放電、MOS管開(kāi)啟電壓約3.5V,二極管單向?qū)ǖ墓δ?,讀者在復(fù)用過(guò)程,還需要注意以下3點(diǎn):
1、仿真沒(méi)有考慮二極管的漏電流,二極管的漏電流可達(dá)10uA,如果電阻R1、R2的值太大,二極管的漏電流不得不考慮,否則會(huì)嚴(yán)重影響理論計(jì)算和仿真。
2、Mos管是電壓導(dǎo)通型,對(duì)干擾很敏感。實(shí)際使用過(guò)程中,來(lái)自VCC24V的電取自電源端口,干擾非常大,因此最好經(jīng)過(guò)π型的高阻抗濾波,例如使用1500Ω以上的磁珠構(gòu)成π型濾波。
3、規(guī)格中必須定義兩次開(kāi)關(guān)機(jī)的最短時(shí)間,時(shí)間太短的話,由于電容沒(méi)有放完電,會(huì)嚴(yán)重影響下次的充電時(shí)間。
審核編輯:湯梓紅
-
芯片
+關(guān)注
關(guān)注
457文章
51285瀏覽量
427843 -
二極管
+關(guān)注
關(guān)注
147文章
9759瀏覽量
167737 -
ARM
+關(guān)注
關(guān)注
134文章
9180瀏覽量
369476 -
內(nèi)核
+關(guān)注
關(guān)注
3文章
1384瀏覽量
40444 -
cpu
+關(guān)注
關(guān)注
68文章
10914瀏覽量
213153
原文標(biāo)題:避坑指南|純硬件方案模擬手動(dòng)開(kāi)關(guān)機(jī),解決國(guó)產(chǎn)CPU斷電間隔短無(wú)法啟動(dòng)問(wèn)題
文章出處:【微信號(hào):創(chuàng)易棧,微信公眾號(hào):創(chuàng)易?!繗g迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
純硬件電路如何實(shí)現(xiàn)一鍵開(kāi)關(guān)機(jī)功能
![<b class='flag-5'>純</b><b class='flag-5'>硬件</b>電路如何實(shí)現(xiàn)一鍵<b class='flag-5'>開(kāi)關(guān)機(jī)</b>功能](https://file.elecfans.com/web2/M00/31/00/poYBAGIN9pqAYCGbAAIBJKonOtA676.png)
單鍵開(kāi)關(guān)機(jī)
求教一個(gè)按鍵開(kāi)關(guān)機(jī)的硬件電路搭建問(wèn)題
請(qǐng)問(wèn)手機(jī)單鍵開(kāi)關(guān)機(jī)的原理是什么?
教你NAS網(wǎng)絡(luò)存儲(chǔ)設(shè)備中如何設(shè)置自動(dòng)開(kāi)關(guān)機(jī)
電腦如何正確開(kāi)關(guān)機(jī)?
單片機(jī)一鍵開(kāi)關(guān)機(jī)電路的相關(guān)資料分享
RK3399 linux掉電開(kāi)關(guān)機(jī)出現(xiàn)系統(tǒng)無(wú)法啟動(dòng)的問(wèn)題如何解決
電腦自動(dòng)開(kāi)關(guān)機(jī)的方法 電腦定時(shí)開(kāi)關(guān)機(jī)
基于查表的定時(shí)開(kāi)關(guān)機(jī)判斷方法
![基于查表的定時(shí)<b class='flag-5'>開(kāi)關(guān)機(jī)</b>判斷方法](https://file1.elecfans.com//web2/M00/A5/91/wKgZomUMOQqAWQ9gAACzHHc4UXU850.jpg)
學(xué)生用計(jì)算機(jī)怎么開(kāi)關(guān)機(jī),電腦如何正確開(kāi)關(guān)機(jī)? 電腦開(kāi)關(guān)機(jī)的正確步驟
![學(xué)生用計(jì)算機(jī)怎么<b class='flag-5'>開(kāi)關(guān)機(jī)</b>,電腦如何正確<b class='flag-5'>開(kāi)關(guān)機(jī)</b>? 電腦<b class='flag-5'>開(kāi)關(guān)機(jī)</b>的正確步驟](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
MCU無(wú)法啟動(dòng)問(wèn)題
![MCU<b class='flag-5'>無(wú)法</b><b class='flag-5'>啟動(dòng)問(wèn)</b>題](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
python socket使用UDP控制繼電器進(jìn)行硬件產(chǎn)品循環(huán)開(kāi)關(guān)機(jī)測(cè)試
![python socket使用UDP控制繼電器進(jìn)行<b class='flag-5'>硬件</b>產(chǎn)品循環(huán)<b class='flag-5'>開(kāi)關(guān)機(jī)</b>測(cè)試](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評(píng)論