1. gzyueqian
      18078865874

      嵌入式開發(fā):2種嵌入式硬件版本控制技術(shù)

      更新時(shí)間: 2022-05-10 09:38:10來(lái)源: 粵嵌教育瀏覽量:8261

        當(dāng)談到嵌入式系統(tǒng)版本控制時(shí),我們經(jīng)常會(huì)立即跳到軟件上。嵌入式開發(fā)人員經(jīng)常更改軟件并仔細(xì)管理這些更改至關(guān)重要,但對(duì)硬件進(jìn)行版本控制也是如此。一個(gè)小的硬件更改可能會(huì)使每個(gè)版本的軟件都過(guò)時(shí),直到該硬件更改為止。在今天的文章中,我們將研究?jī)煞N技術(shù)來(lái)對(duì)軟件可讀的硬件進(jìn)行版本化,以便軟件可以確保它與兼容的硬件版本配對(duì)。

        











        技巧 #1 – 使用 GPIO 對(duì) PCB 版本進(jìn)行硬編碼

        第一個(gè)技術(shù)是如何使用微控制器上的 GPIO 線來(lái)提供可讀的 PCB 版本號(hào)。幾乎每一個(gè) PCB 都會(huì)在 PCB 絲印上標(biāo)注硬件版本號(hào),但系統(tǒng)軟件無(wú)法像人類那樣讀取絲印。硬件在版本之間可能會(huì)有很大變化,確保某個(gè)軟件版本在特定硬件上運(yùn)行至關(guān)重要。為此,軟件需要能夠直接從 PCB 讀取硬件版本號(hào),以確保它在兼容的硬件上運(yùn)行。

        對(duì)硬件進(jìn)行版本控制的常用方法是使用一些備用 GPIO 線作為專用硬件版本號(hào)。每條 GPIO 線可以拉到 VCC(代表 1)或接地(代表 0)。如果使用二進(jìn)制表示,兩個(gè) GPIO 將提供最多四個(gè)版本,而三個(gè) GPIO 將提供八個(gè)版本,如下所示:

        






        軟件啟動(dòng)時(shí),可以初始化GPIO線,然后讀取PCB版本號(hào),判斷軟件是否支持硬件。如果一切正常,則該軟件將運(yùn)行該應(yīng)用程序。

        不過(guò),使用 GPIO 線有一些問(wèn)題。首先,微控制器上必須有空閑的 GPIO 線。如果設(shè)計(jì)密集或使用低引腳數(shù)微控制器,則可能沒(méi)有兩個(gè)或三個(gè) GPIO 線可用于版本控制。其次,我們需要確保用于將 GPIO 線拉高或拉低的電阻器的尺寸大致相同,這樣我們最終不會(huì)產(chǎn)生大的泄漏電流。第三,在制造板子時(shí),嵌入式開發(fā)人員需要驗(yàn)證版本號(hào)是否已正確更新,以免由于制造錯(cuò)誤而導(dǎo)致板子版本號(hào)錯(cuò)誤。

        技巧#2——使用模數(shù)轉(zhuǎn)換器到硬代碼版本

        并非所有系統(tǒng)都有兩個(gè)或三個(gè)可用的空閑 GPIO 線。對(duì) PCB 進(jìn)行版本控制的另一種解決方案是利用免費(fèi)的模數(shù) (ADC) 通道。ADC 通道的電壓范圍通常為 0 至 3.3 伏(盡管有些可能為 0 – 1.7 或 0 – 5.0),我們可以將其分解為不同的電壓范圍以表示不同的電路板版本。例如,一個(gè)標(biāo)準(zhǔn)的 12 位 ADC 通道的范圍為 0 – 4095,我們可以將其分成八個(gè)不同的版本,如下所示:

        


        目標(biāo)是創(chuàng)建一個(gè)電阻梯形電路,其中梯形的中點(diǎn)連接到 ADC 引腳。應(yīng)選擇電阻器的值,使其落在我們范圍的中點(diǎn)范圍內(nèi)。例如,版本一應(yīng)選擇產(chǎn)生約 0.206 電壓的電阻器,對(duì)應(yīng)于約 256 個(gè)計(jì)數(shù)。當(dāng)電路板的第 2 版準(zhǔn)備就緒時(shí),梯形電阻器會(huì)更新以產(chǎn)生約 0.618 的電壓,對(duì)應(yīng)于約 768 個(gè)計(jì)數(shù)。當(dāng)系統(tǒng)啟動(dòng)時(shí),軟件會(huì)讀取模擬電壓,然后確定 PCB 的版本以及軟件是否與該硬件版本兼容。

        現(xiàn)在在使用 ADC 版本控制方案時(shí)有幾點(diǎn)需要考慮。首先,你可以通過(guò)簡(jiǎn)單地調(diào)整范圍輕松地將這個(gè)系統(tǒng)擴(kuò)展到八個(gè)以上的版本。這比必須添加額外的 GPIO 引腳才能達(dá)到更高的版本號(hào)要好。第二,就像GPIO技術(shù)一樣,需要適當(dāng)選擇電阻值,以最大限度地降低漏電流。最小化此電流的一種方法是讓 GPIO 線為 VCC 供電,以便在不需要時(shí)可以關(guān)閉版本電路。雖然這確實(shí)需要使用一個(gè)額外的引腳,但對(duì)于低功耗系統(tǒng)可以節(jié)省寶貴的泄漏電流。第三,你需要選擇精度高的元件,1%或更好,并且在產(chǎn)品的生命周期內(nèi)不會(huì)出現(xiàn)太大的降額。這將防止第 1 版硬件在 5 年或 10 年內(nèi)突然變成第 2 版或第 3 版。

        結(jié)論

        正如我們?cè)谖恼轮锌吹降哪菢樱?a href="http://m.jkendeljohnson.com/" target="_blank">嵌入式開發(fā)人員可以通過(guò)幾種不同的方式對(duì)硬件進(jìn)行版本控制,以便軟件可以驗(yàn)證它們是否在已知的硬件版本上運(yùn)行,這可以防止硬件/軟件不匹配,并確保系統(tǒng)本身可以驗(yàn)證其配置是否正確。


      免費(fèi)預(yù)約試聽(tīng)課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 色就是色亚洲欧洲视频 | 亚洲精品AⅤ在线观看 | 亚洲日韩高清aⅴ在线观看 日韩中文精品在线专区 | 精品熟女少妇a∨免费久久1 | 亚洲国产欧美在线一区 | 在线播放国产不卡免费视频 |