1. gzyueqian
      13352868059

      嵌入式開發:2種嵌入式硬件版本控制技術

      更新時間: 2022-05-10 09:38:10來源: 粵嵌教育瀏覽量:8164

        當談到嵌入式系統版本控制時,我們經常會立即跳到軟件上。嵌入式開發人員經常更改軟件并仔細管理這些更改至關重要,但對硬件進行版本控制也是如此。一個小的硬件更改可能會使每個版本的軟件都過時,直到該硬件更改為止。在今天的文章中,我們將研究兩種技術來對軟件可讀的硬件進行版本化,以便軟件可以確保它與兼容的硬件版本配對。

        











        技巧 #1 – 使用 GPIO 對 PCB 版本進行硬編碼

        第一個技術是如何使用微控制器上的 GPIO 線來提供可讀的 PCB 版本號。幾乎每一個 PCB 都會在 PCB 絲印上標注硬件版本號,但系統軟件無法像人類那樣讀取絲印。硬件在版本之間可能會有很大變化,確保某個軟件版本在特定硬件上運行至關重要。為此,軟件需要能夠直接從 PCB 讀取硬件版本號,以確保它在兼容的硬件上運行。

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

        






        軟件啟動時,可以初始化GPIO線,然后讀取PCB版本號,判斷軟件是否支持硬件。如果一切正常,則該軟件將運行該應用程序。

        不過,使用 GPIO 線有一些問題。首先,微控制器上必須有空閑的 GPIO 線。如果設計密集或使用低引腳數微控制器,則可能沒有兩個或三個 GPIO 線可用于版本控制。其次,我們需要確保用于將 GPIO 線拉高或拉低的電阻器的尺寸大致相同,這樣我們最終不會產生大的泄漏電流。第三,在制造板子時,嵌入式開發人員需要驗證版本號是否已正確更新,以免由于制造錯誤而導致板子版本號錯誤。

        技巧#2——使用模數轉換器到硬代碼版本

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

        


        目標是創建一個電阻梯形電路,其中梯形的中點連接到 ADC 引腳。應選擇電阻器的值,使其落在我們范圍的中點范圍內。例如,版本一應選擇產生約 0.206 電壓的電阻器,對應于約 256 個計數。當電路板的第 2 版準備就緒時,梯形電阻器會更新以產生約 0.618 的電壓,對應于約 768 個計數。當系統啟動時,軟件會讀取模擬電壓,然后確定 PCB 的版本以及軟件是否與該硬件版本兼容。

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

        結論

        正如我們在文章中看到的那樣,嵌入式開發人員可以通過幾種不同的方式對硬件進行版本控制,以便軟件可以驗證它們是否在已知的硬件版本上運行,這可以防止硬件/軟件不匹配,并確保系統本身可以驗證其配置是否正確。


      免費預約試聽課

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

      
      

      1. 亚洲日本久久一区二区va | 日本精品久久久久一区二区三区 | 欧美一级高清在线观看 | 色在线中文字幕大 | 在线观看国产欧美美女乳头 | 六月婷婷国外视频在线 |