嵌入式系統/術語
本頁將嘗試討論一些不同的重要術語,它甚至可能包含本書中使用的某些縮略詞的列表。
這裡我們將討論許多不同型別的晶片。
- 微處理器
- 這些晶片包含一個處理核心,偶爾還包含一些整合的外設。在另一個意義上,微處理器只是桌上型電腦中發現的 CPU。
- 微控制器
- 這些晶片是多合一的計算機晶片。它們包含一個處理核心、記憶體和整合的外設。從更廣義的角度來看,微控制器是嵌入式系統中使用的 CPU。
- 數字訊號處理器 (DSP)
- 在處理訊號方面,DSP 是“最佳的”。DSP 通常執行速度非常快,並且具有巨大的處理能力(對於嵌入式晶片而言)。數字訊號處理器和數字訊號處理領域非常龐大和複雜,因此需要單獨的書籍來介紹——數字訊號處理。
微控制器可以根據一些引數分為不同的類別,例如匯流排寬度(8 位、16 位等)、記憶體容量、速度和 I/O 引腳數量。
- 低端
- 低端晶片通常用於速度和功耗不是因素的簡單情況下。低端晶片是最便宜的,通常可以不到一美元,具體取決於購買的數量。低端晶片很少有許多 I/O 引腳(總共 4 個或 8 個),而且很少有任何特殊功能。幾乎所有低端晶片都是 8 位或更小。
- 中端晶片
- 中端晶片是“基本”的微控制器單元。它們不會像低端晶片那樣存在缺點,但同時它們更貴且更大。中端晶片是 8 位或 16 位寬,並且通常有很多可用的 I/O 引腳可以使用。中端晶片可能配備 ADC、穩壓器、運算放大器等。中端晶片的價格在 1 美元到 10 美元之間,可以購買到合理的晶片。
- 高階晶片
- 高階晶片用於必須使用功率和速度的情況下,但傳統的微處理器板(想想計算機主機板)太大或太貴。高階晶片將具有許多高階功能、更多可用記憶體和更大的可定址記憶體範圍。高階晶片可以是 8 位、16 位、32 位甚至 64 位,價格在 10 美元到 100 美元之間。
這將是本書中使用的多數縮略詞的功能列表。
- ADC
- ADC 代表模數轉換器。ADC 在其他文獻中也寫成“A/D”或“A2D”。
- DAC
- 與 ADC 完全相反,DAC 代表數模轉換器。也可以稱為“D/A”或“D2A”。
- RAM
- 隨機存取儲存器。RAM 是高速易失性儲存器。因此,斷電後儲存在 RAM 中的資料會丟失。
- ROM
- 只讀儲存器,ROM 是可以讀取但不能寫入或擦除的儲存器。ROM 比 RAM 便宜,而且在斷電後不會丟失資訊。
- OTP
- OTP 代表一次性可程式設計。OTP 晶片只能程式設計一次,通常透過物理過程或在晶片內部燃燒額外的導線來實現。如果 OTP 晶片程式設計錯誤,則無法修復,因此要小心使用它們。
在本書中,“燒錄”、“刷寫”、“安裝”或“下載”這些術語都具有相同的含義——將可執行映像放入嵌入式系統非易失性儲存器中的(半)自動化過程。
當某人調整原始碼並在 PC 上編譯了一個新的可執行映像後,該人將下載器連線到 PC 和嵌入式系統之間,然後單擊“執行”按鈕。然後,PC 將映像流式傳輸到下載器,下載器將映像燒錄到嵌入式系統中。
下載器被稱為“下載器”、“燒錄器”、“刷寫器”、“快閃記憶體下載器”、“程式設計介面”,或者——令人困惑地——“程式設計器”。
臺式 PC 和嵌入式系統之間有許多相似之處,包括使用的術語。不幸的是,某些術語在每個域中使用時具有完全不同的含義。單詞“程式設計”就是一個這樣的術語。
在臺式 PC 世界中,“程式設計”是指一個人在 PC 上編寫軟體的整個過程,經歷許多編輯-編譯-測試迴圈,以建立一個可執行映像。完成此任務的人被稱為“程式設計師”。
對於嵌入式系統,“程式設計”通常是指將可執行映像傳輸到裝置(在 PC 術語中稱為“安裝”)的特定步驟。“程式設計器”是將編譯後的程式碼燒錄到晶片中的裝置。編寫裝置程式碼的人通常被稱為開發人員。
在本書中,我們使用“程式設計”一詞來描述人類建立和測試軟體原始碼的行為。
請注意,其他文字可能會使用“程式設計”一詞——例如,當談論“高壓程式設計”、“批次程式設計”等——來描述我們所說的“安裝”。
討論“C++ 程式設計”、“彙編程式設計”、“結對程式設計”等的文字——使用“程式設計”的方式與我們相同。“C++ 程式設計師”、“Python 程式設計師”、“結對程式設計師”等指的是進行程式設計的人。
- 我們提到了運算放大器。很久以前,“模擬計算機”曾經完全由這種運算放大器、電阻和電容構成。如今,大多數嵌入式系統只有很少的運算放大器(如果有的話)——它們對於某些感測器訊號放大器、ADC 之前的抗混疊濾波器、DAC 之後的抗混疊濾波器以及嵌入在電源電路中的少量運算放大器仍然有用。