服務熱線
0755-88364040
18902464556
8 位與 32 位 MCB:微控制器基礎知識
嚴格來說,8 位微控制器在任何特定時間處理 8 位數據。 MCU 使用的位數(有時稱為位深度或數據寬度)告訴您寄存器的大小(每個寄存器 8 位)、內存地址的數量(僅 2^8 = 256 個地址)以及它們的最大數量可以處理(同樣,2^8 = 256 個整數,或整數 0 到 255)。 8 位微控制器具有有限的尋址能力,但一些 8 位微控制器使用分頁,其中頁面寄存器的內容決定使用哪個板載存儲體。
32 位微控制器理論上可以處理達到 2^32 的數字。它們具有 32 位算術邏輯單元、寄存器和總線寬度。一般來說,這意味著 32 位可以處理四倍的數據量,使其在技術上更高效。但是,8 位和 32 位微控制器之間還存在超出算術運算的其他差異。
算術運算
一個限制應該是顯而易見的,即對算術運算的限制。 8 位微控制器通常只允許輸出從 0 到 255(或從 -127 到 128)范圍內的數字的算術運算,盡管可以在兩個線程之間共享更大的數字。這引入了一些編程復雜性,因為線程不會在硬件級別自動發生。
一般來說,使用數據寬度較大的微控制器可以進行較大的計算。一個 32 位微控制器可以處理從 0 到 4,294,967,295 的無符號數(我會讓讀者找出有符號數的范圍!)。如果您使用 C 之類的高級編程語言或專有 IDE(例如 AtmelStudio),您應該可以訪問支持更大數字或使用科學記數法的庫。
8、16 和 32 位微控制器的外形尺寸
如果聽起來 32 位微控制器總是比 8 位微控制器安裝在更大的封裝中,這并不總是正確的。一些 8 位、16 位和 32 位微控制器具有相同的外形尺寸(例如,Microchip 提供了一系列具有不同位寬的微控制器,它們都采用 TQFP-64 封裝)。 8 位微控制器采用 DIP 封裝,如常見的 Arduino 板。
8 位(左)和 32 位(右)微控制器的兩種常見封裝。
嵌入式軟件和內存使用
在軟件層面,代碼中使用的數據類型也將決定使用哪種類型的微控制器。例如,在 8 位微控制器中聲明的無符號整數將僅消耗 1 個字節。 32 位微控制器中的相同變量消耗 4 個字節的數據。你可能會說“等等,一個 32 位 MCU 有 1600 萬倍的地址,如果它使用 4 個字節,我們在乎什么?”可用唯一地址的最大數量與放置在微控制器上的實際內存量無關。片上存儲器通常處于 KB 級別,因此代碼中所需的數據量很重要。
決定是 8 位還是 32 位微控制器不僅僅涉及數據寬度。考慮 8 位和 32 位微控制器之間的主要差異將幫助您為您的設計做出最佳決策。
速度和內存
與 8 位微控制器相比,32 位微控制器的主要優勢之一是其卓越的處理速度。典型的 8 位微控制器通常以 8 Mhz 運行,而 32 位微控制器的時鐘頻率可達數百 Mhz。如果您使用微控制器打開機械繼電器,您可能不會注意到嵌入式數據處理速度的差異;但是,當您運行需要大量數據處理應用程序的應用程序時,這一點很快就會變得明顯。例如,每天處理數千筆交易的門禁控制器需要一個 32 位微控制器處理器。
8 位微控制器價格便宜且易于使用。事實上,它們在許多應用中經過四年的發展仍然非常流行。但是,如果您正在開發需要大量內部隨機存取存儲器 (RAM) 的產品,那么您可能需要將 8 位替換為 32 位。 32 位微控制器的 RAM 通常是 8 位微控制器的 8 倍。如果您需要一個巨大的緩沖區來存儲音頻數據,那么 32 針微控制器是更好的處理器應用選項。
如果您的設計離不開速度,請購買 32 位微控制器。
嵌入式系統設計的基礎包括根據項目要求創建所需外圍設備的列表。如果您需要以太網、通用串行總線(USB 堆棧)、多個通用異步收發器設備 (UARTS) 和控制器局域網 (CAN) 總線,則 8 位微控制器將是不夠的。您可能需要考慮添加外圍芯片,這可能比單獨使用 32 位微控制器的成本更高。
通常,與 8 位微控制器相比,32 位微控制器功能豐富。憑借卓越的處理速度,32 位微控制器可以高效地處理多個外設。但是,請記住,32 位微控制器會消耗更多功率,尤其是在所有嵌入式系統和外圍設備都打開的情況下。
硬件設計和學習曲線
公平地說,帶有 32 位微控制器的 PCB(通常有 100 多個引腳)比 8 位微控制器更復雜,8 位微控制器很少超過 30。組裝方面,焊接 SOIC 封裝絕對比 Quad Flat 容易封裝 (QFP) 或球柵陣列 (BGA) 封裝。 SOIC 封裝上的更寬間距也減少了質量問題。如果 8 位微控制器設備足以滿足您的項目,請不要選擇 32 引腳微控制器。否則,請在 PCB 設計軟件中使用預先構建的封裝以最大程度地縮短設計時間。
當您搜索微控制器的編程教程時,您會發現大多數教程都使用 8 位微控制器,例如 8051 或 Arduino,這是一種流行的基于 8 位的微控制器板。這是因為使用 8 位微控制器更容易上手。 32 位微控制器具有更復雜的架構,需要更長的時間來熟悉。如果您正在創建一個簡單的代碼生產計數器,那么請固件工程師花一周時間研究微控制器是不劃算的,因為他可以使用 8 位微控制器以更便宜的價格設置整個固件。
32 位微控制器應用
32 位微控制器有很多應用,但這應該是關于何時不使用 32 位微控制器的討論。一般來說,任何需要計算不可避免地涉及大量數字并且必須更快地計算的應用程序都應該使用 16 位或 32 位微控制器。一些示例操作包括 FFT 計算、圖像處理、高質量音頻或視頻以及邊緣計算應用程序。一些涉及機器學習或 AI 的內存和處理密集型任務最好使用更強大的東西來實現,例如 ARM MCU 或單板計算機。如果您需要收集模擬信號的測量值,32 位微控制器不一定比 8 位微控制器好。微控制器引用的位深度不等同于內置模數轉換器 (ADC) 的位深度。市售微控制器將包括一個板載 ADC,其速率可達到 8 位、10 位、12 位或 16 位。對于移動應用,32 位微控制器將以更高的功耗為代價提供更密集的計算。
可以使用 32 位微控制器更快地完成重要計算,然后讓 CPU 長時間處于睡眠模式。然而,這并不意味著 32 位微控制器更節能。與類似的 32 位設備相比,8 位微控制器通常會提供更長的電池壽命并具有更好的外圍功能平衡。為您的 PCB 設計選擇最佳 MCU 要為您的 PCB 設計選擇最佳微控制器,同時最大限度地減少時間和總成本,有必要仔細評估 8 位與 32 位微控制器的主要優勢和劣勢。通過考慮速度、復雜性、外圍設備和閃存等設計要求,您可以在為您的設計選擇最佳微控制器時最大限度地減少決策癱瘓和潛在的挫折。如果您需要使用易于使用的 PCB 布局工具,其中包括構建高質量可制造電路板所需的一切,那么 CircuitMaker 就是您的最佳選擇。除了易于使用的 PCB 設計軟件外。
您可以將您的設計數據上傳和存儲在云中,并且您可以通過您的網絡瀏覽器在安全平臺中輕松查看您的項目。