【導(dǎo)讀】本文介紹了嵌入式系統(tǒng)外設(shè)器件的選擇,包括存儲器、時鐘源、定時器、通信接口和輸入/輸出接口等。文章介紹了多種存儲器類型及其選擇考慮因素,多種時鐘源的類型及其選擇考慮因素。強調(diào)了定時器精度和計時范圍的重要性。文章還介紹了通信接口類型、常見通信協(xié)議及其選擇因素,以及主要的輸入/輸出接口等,并總結(jié)了選擇這些外設(shè)器件時的關(guān)鍵考量。
文章概述
本文介紹了嵌入式系統(tǒng)外設(shè)器件的選擇,包括存儲器、時鐘源、定時器、通信接口和輸入/輸出接口等。文章介紹了多種存儲器類型及其選擇考慮因素,多種時鐘源的類型及其選擇考慮因素。強調(diào)了定時器精度和計時范圍的重要性。文章還介紹了通信接口類型、常見通信協(xié)議及其選擇因素,以及主要的輸入/輸出接口等,并總結(jié)了選擇這些外設(shè)器件時的關(guān)鍵考量。
嵌入式系統(tǒng)除了最重要的為處理器選擇之外,配合的相關(guān)外設(shè)器件也是嵌入式系統(tǒng)的重要組成部分,包括內(nèi)存、時鐘(振蕩器)、定時器、通信接口、輸入/輸出、模擬數(shù)字轉(zhuǎn)換等器件,都可視系統(tǒng)的實際需求來進行選擇。本文將為您介紹上述外設(shè)器件的類型與選擇的考慮要素。
存儲器的種類眾多且特性不同
在嵌入式系統(tǒng)中,存儲器是一個關(guān)鍵的器件,它用于存儲程序代碼、數(shù)據(jù),以及系統(tǒng)執(zhí)行所需的其他信息。除了微控制器在IC封裝中內(nèi)置的內(nèi)存和存儲空間之外,也可以增加外部存儲器,且存儲器的類型相當(dāng)多樣,每種類型的存儲器都有其獨特的用途。
首先,嵌入式系統(tǒng)中常見的閃存是一種非易失性存儲器,這意味著如果系統(tǒng)重置或斷電也不會被擦除,通常用于存儲程序代碼、固件和其他常駐應(yīng)用數(shù)據(jù)。它具有快速讀取速度,且相對較低的功耗。閃存有不同類型,包括NOR和NAND,具有不同的讀寫特性和應(yīng)用場景。
另一種常見的存儲器則是隨機存取存儲器(RAM),RAM是一種易失性存儲器,用于臨時存儲程序執(zhí)行所需的數(shù)據(jù)。它具有快速的讀寫速度,但系統(tǒng)重置或斷電后會失去存儲的數(shù)據(jù)。在嵌入式系統(tǒng)中,常見的RAM類型包括SRAM(靜態(tài)隨機存取存儲器)和DRAM(動態(tài)隨機存取存儲器)。
EEPROM(電可擦除可編程只讀存儲器)則是一種可擦除并且不易失去數(shù)據(jù)的存儲器,這意味著如果系統(tǒng)重置或斷電也不會被擦除,通常用于存儲配置信息、校正數(shù)據(jù)和其他需要保留的非易失性數(shù)據(jù)。
另外,有些系統(tǒng)還可外接存儲卡和嵌入式多媒體卡,包括SD卡、MicroSD卡等外部存儲設(shè)備,它們通常用于擴展嵌入式系統(tǒng)的存儲容量。
由于不同類型的存儲器有不同的價格,因此成本是一個重要的考慮因素。此外存儲器的讀取和寫入速度影響系統(tǒng)的性能,特別是對于需要高效率的應(yīng)用,便必須選擇速度較快的存儲器。
系統(tǒng)所需的存儲器容量也應(yīng)符合應(yīng)用的需求,進而確保足夠的空間來存放程序代碼、數(shù)據(jù)和其他必要的信息。此外,不同類型的存儲器有不同的功耗特性,特別是對于移動和電池供電的嵌入式系統(tǒng),通常需要采用功耗較低的存儲器。
嵌入式系統(tǒng)通常要求耐久性,有些應(yīng)用需要存儲器具有較長的生命周期,并能夠承受多次寫入和擦除。另一方面,部分嵌入式系統(tǒng)可能需要在單一芯片上集成多種類型的存儲器,這將有助于節(jié)省空間和簡化設(shè)計,一些應(yīng)用也可能需要支持外部存儲設(shè)備,例如存儲卡,以滿足擴展性需求。
時鐘源可確保同步系統(tǒng)中的各種操作
時鐘源可確保同步系統(tǒng)中的各種操作
在嵌入式系統(tǒng)中使用的微控制器可能包含內(nèi)部電阻、電容、電路振蕩器(RC振蕩器),或依賴某種類型的外部頻率源來保持時間和周期一致。在嵌入式系統(tǒng)中,時鐘源是一個關(guān)鍵的器件,用于同步系統(tǒng)中的各種操作,包括處理器的計算、外部設(shè)備的通信等,以下為您介紹各種不同特性的時鐘源。
RC振蕩器(RC oscillator)是一種只用電阻和電容構(gòu)成的振蕩器,其與溫度相關(guān),頻率信號可能有1-5%的變化,它們確實可以滿足一些較慢頻率定時需求(例如低頻模擬數(shù)字轉(zhuǎn)換)。
晶體振蕩器(Crystal Oscillator)常見于外部振蕩器電路,具有精確度高、穩(wěn)定性好的特性,晶體振蕩器通常以百萬分之一(PPM)為單位測量其變化,而不是百分比(如RC振蕩器),通常用于需要高精度定時的應(yīng)用,常搭配微控制器、微處理器和其他需要穩(wěn)定定時的器件。
陶瓷振蕩器(Ceramic Resonator)的成本較低,但精確度和穩(wěn)定性可能較晶體振蕩器差,陶瓷諧振器的公差在十分之一范圍內(nèi),因此適用于對定時要求不苛刻的應(yīng)用,以及對成本較為敏感的場合。
MEMS振蕩器(Micro-Electro-Mechanical Systems Oscillator)則具備體積小、耐震動、低功耗的特性,但精度一般較晶體振蕩器差,適用于尺寸有限、低功耗、耐震動的應(yīng)用,如移動設(shè)備和嵌入式傳感器。
振蕩器模塊(Oscillator Module)則整合了振蕩器和相關(guān)的電路器件,提供方便的外部時鐘源,可簡化系統(tǒng)設(shè)計,常見于一些集成度高的嵌入式系統(tǒng)。
另一種GPS模塊則是通過接收全球定位系統(tǒng)(GPS)信號,來提供高精度的時鐘同步,常用于需要高度精確同步的應(yīng)用,例如通信系統(tǒng)、科學(xué)儀器等。
實時時鐘RTC(Real-Time Clock)則是具有低功耗的特性,能在掉電狀態(tài)下保持時間計數(shù),主要用于需要在斷電時保持時間計數(shù)的應(yīng)用。
在選擇嵌入式系統(tǒng)中的時鐘源時,應(yīng)先考慮時鐘源的精確度和穩(wěn)定性,此外,成本、功耗、集成度與應(yīng)用的外部環(huán)境條件(如溫度、震動),都會影響時鐘源的選擇。
在嵌入式系統(tǒng)中,定時器則是一種常見的硬件模塊,用于產(chǎn)生準(zhǔn)確的時間基線,以執(zhí)行定時和計數(shù)操作。常見的定時器(Timer)用于執(zhí)行定時操作,例如產(chǎn)生精確的時間延遲、計算時間間隔等,常見于需要時間控制的應(yīng)用,如通信協(xié)議、傳感器讀取等。
計數(shù)器(Counter)則用于計數(shù)外部事件的發(fā)生次數(shù),例如脈沖計數(shù)、頻率計數(shù)等,常用于需要計算事件發(fā)生頻率或計數(shù)的場景中使用,如計步器、計量儀表。
在選擇嵌入式系統(tǒng)中的定時器時,應(yīng)先考慮定時器的精度,不同的計時器具有不同的精度,選擇時應(yīng)根據(jù)應(yīng)用需求確定精度水平。另外,定時器的計時范圍(定時器和計數(shù)器)也應(yīng)該滿足應(yīng)用的時間要求。
實現(xiàn)不同硬件之間數(shù)據(jù)交換的通信接口
在嵌入式系統(tǒng)中,通信接口是實現(xiàn)不同硬件模塊之間數(shù)據(jù)交換的重要元器件,通??梢苑殖刹⑿型ㄐ藕痛型ㄐ艃煞N類型。并行通信同時發(fā)送多位的數(shù)據(jù),因此需要數(shù)據(jù)總線硬件,通常由多條線路組成,在允許更快的數(shù)據(jù)傳輸?shù)耐瑫r,并行通信還使用所連接裝置的更多I/O端口,并且需要復(fù)雜的布線配置。串行通信則通過一條電線在配對設(shè)備上一次只發(fā)送一位數(shù)據(jù),設(shè)備通信僅使用一個I/O端口,可降低設(shè)備總體復(fù)雜度和成本。
串行通信可以進一步分為兩個子組,這取決于它們是否使用頻率信號來控制和同步鏈接設(shè)備之間的數(shù)據(jù)通信(稱為同步和異步)。異步串行意味著數(shù)據(jù)可以在不需要頻率信號的情況下傳輸。同步串行則需要所有設(shè)備之間共享頻率信號來控制數(shù)據(jù)通信。雖然同步串行確實需要跨所有設(shè)備的另一個定時信號,但它確實使通信速度更快。
在傳輸模式上,又可分成單工、半雙工和全雙工,單工是從來源到目的的單向數(shù)據(jù)流,半雙工則允許從配對設(shè)備雙向傳輸數(shù)據(jù),但在給定時間內(nèi)只能傳輸一個方向,全雙工則可允許兩個設(shè)備可以同時在兩個方向上傳輸和接收數(shù)據(jù)。
I2C總線協(xié)議
常見的通信協(xié)議包括I2C總線協(xié)議,這是一種兩線串行連接,旨在允許多個端點與一個或多個控制器進行通信。I2C是一種半雙工協(xié)議,允許控制器單元和許多端點發(fā)送和接收數(shù)據(jù)。該協(xié)議的速度范圍為0.1至5 Mbit/s(取決于總線配置),常見于連接低速外設(shè),例如溫度傳感器、EEPROM等。
串行外設(shè)接口(SPI)協(xié)議
串行外設(shè)接口(SPI)則是一種全雙工、同步串行連接,需要3線或4線連接。SPI連接需要在總線上所有參與者共享的同步頻率信號,這樣可以實現(xiàn)更高的數(shù)據(jù)率。當(dāng)兩個點彼此靠近時,可以達(dá)到高達(dá)60 Mbps的速度。SPI的缺點是需要更多I/O引腳和連接,常用于連接具有SPI接口的器件,如內(nèi)存、傳感器、顯示器等。
通用異步收發(fā)器(UART)協(xié)議
通用異步收發(fā)器(UART)則是雙向異步串行連接,可設(shè)定為單工、半雙工或全雙工。數(shù)據(jù)速度較慢且僅充當(dāng)一對一通信,有些設(shè)備可能有多個UART電路,允許多個設(shè)備進行通信,常見于連接嵌入式系統(tǒng)和外部設(shè)備,例如傳感器、GPS模塊等。
其他常見的通信協(xié)議還包括CAN(Controller Area Network)、Ethernet(以太網(wǎng))、USB(Universal Serial Bus)、無線通信接口等,在設(shè)計時選擇通信接口時,可依據(jù)應(yīng)用所需的數(shù)據(jù)速率、傳輸距離、功耗、成本、集成度、實時性等,根據(jù)具體應(yīng)用需求來選擇適合的通信接口,例如嵌入式控制系統(tǒng)、傳感器網(wǎng)絡(luò)、通信設(shè)備等。
嵌入式系統(tǒng)中的輸入/輸出(I/O)接口是用來連接和控制外部設(shè)備、傳感器、顯示器等的關(guān)鍵器件。常見的I/O接口如GPIO(通用輸入/輸出)具有通用性,可設(shè)置為輸入或輸出模式,用于連接各種外部設(shè)備,是通用用途的I/O連接接口,如按鈕、LED、開關(guān)等。
此外,還需要使用ADC(模擬數(shù)字轉(zhuǎn)換器)來將模擬信號轉(zhuǎn)換為數(shù)字信號,用于傳感器數(shù)據(jù)的讀取,如溫度、光照等。反之,還有DAC(數(shù)字模擬轉(zhuǎn)換器),用于將數(shù)字信號轉(zhuǎn)換為模擬信號,用于產(chǎn)生模擬輸出,如音頻輸出。
結(jié)語
嵌入式系統(tǒng)所需的外設(shè)器件相當(dāng)廣泛,選擇也相當(dāng)多樣化,可依照具體應(yīng)用需求來挑選合適的器件。
本文轉(zhuǎn)載自:DigiKey電子技術(shù)臺
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請聯(lián)系小編進行處理。
推薦閱讀: