目錄
1 引言
2 嵌入式最小硬件系統
3 SEP3202簡述
4 最小系統硬件的選擇和單元電路的設計
4.1 電源電路
4.2 晶振電路
4.3 復位及喚醒電路
4.5 存儲器
4.5.1 FLASH存儲
4.5.2 SDRAM
4.6 串行接口電路設計
4.7 JTAG模塊
4.8 擴展功能(LED)
硬件工程師筆試面試相關文章鏈接
1 引言
嵌入式系統是以應用為中心,文章主要研究基于SEP3202(內嵌ARM7TDMI處理器內核)的嵌入式最小系統,圍繞其設計出相應的存儲器、總線擴展槽、電源電路、復位電路、JTAG、UART等一系列電路模塊。
2 嵌入式最小硬件系統
以ARM內核嵌入式微處理器為中心,具有完全相配接的Flash電路、SDRAM電路、JTAG電路、電源電路、晶振電路、復位信號電路和系統總線擴展等,保證嵌入式微處理器正常運行的系統,可稱為嵌入式最小系統。以ARM處理器為例,.一個典型的嵌入式最小系統,其構成模塊及其各部分功能下圖所示,其中ARM微處理器、FLASH和SDRAM模塊是嵌入式最小系統的核心部分。
微處理器—采用了SEP3203;
電源模塊—為SEP3203內核電路提供2.5V的工作電壓,為部分外圍芯片提供3.3V的工作電壓;
時鐘模塊(晶振)—通常經ARM內部鎖相環進行相應的倍頻,以提供系統各模塊運行所需的時鐘頻率輸入。32.768kHz給RTC和Reset模塊,產生計數時鐘,10MHz作為主時鐘源;
Flash存儲模塊—存放嵌入式操作系統、用戶應用程序或者其他在系統掉電后需要保存的用戶數據等;
SDRAM模塊—為系統運行提供動態存儲空間,是系統代碼運行的主要區域;
JTAG模塊—對芯片內部所有部件進行訪問,通過該接口對系統進行調試、編程等,實現對程序代碼的下載和調試;
UART模塊—用于系統與其他應用系統的短距離雙向串行通信;
復位模塊—實現對系統的復位;
系統總線擴展—引出地址總線、數據總線和必須的控制總線,便于用戶根據自身的特定需求,擴展外圍電路。
3 SEP3202簡述
SEP3203處理器內嵌由英國ARM公司提供的ARM7TDMI處理器內核,整個芯片可以運行在75MHz。集成了支持黑白,灰度,彩色的LCD控制器;多媒體加速模塊,用于提供多媒體處理定點矢量乘加的計算能力;支持低成本的NAND Flash 控制器并可從其直接啟動;支持多種外存類型:SRAM,NOR Flash,SDRAM;支持實時鐘(RTC);支持四通道的定時器和兩通道的PWM;支持用于連接觸摸屏通訊的SPI 協議;支持兩個UART 控制器,其中一個支持紅外傳輸;支持USB1.1 Device 控制器用于PC 與移動終端之間的高速信息傳輸;支持MMC/SD 卡控制器,用戶可以擴展系統的存儲能力和外設功能;支持兼容AC97 協議的控制器,用于音頻文件的播放和錄制。SEP3203 處理器內嵌20KByte 零等待的靜態存儲器(SRAM),用于多媒體處理時的核心代碼與數據的存放,用戶也可以將操作系統的核心代碼或LCD 幀緩存存放在該處理器中,用于提供更高的性能和更低的能量消耗;6 通道DMA 控制器,為用戶提供了高速的數據傳輸通道。
4 最小系統硬件的選擇和單元電路的設計
4.1 電源電路
電源電路的好壞,直接影響應用系統的穩定性、可靠性、功耗、成本及電池壽命和可靠性。電源系統的總體架構如下圖所示:
當電池電量充足時,由電池供給整個系統用電,當電池電量不足時,由5V輸入電源一方面對電池充電,另一方面供給整個系統。主要包括以下幾個部分:
3.3V~5V的DC-DC轉換器,給SEP3203及其他需要3.3V電源的外圍電路供電。
2.5V~5V的DC-DC轉換器,給SEP3203芯片內核電路供電。
上電順序為3.3V-2.5V。其中5V-2.5V轉換電路前面連接RC延遲網絡,可獲得比3.3V較晚些的上電時間,時間設為約10ms。
電源電路中使用了大量的去耦電容,用于濾除交流成分,使輸出的直流電源更平滑。同時,每個芯片的電源引腳和地之間都連接了這樣的去耦電容,以防止電源噪聲影響元件正常工作。
4.2 晶振電路
晶振電路為微處理器及其他電路提供工作時鐘,是系統必須的重要電路。本系統用兩個晶振電路分別為微處理器及其他電路提供工作時鐘,32.768kHz給RTC(實時時鐘電路)和Reset模塊,產生計數時鐘,10MHz作為主時鐘源。電路圖如下。其中CD4096是非門。
4.3 復位及喚醒電路
在應用系統中,復位電路主要完成系統的上電復位和系統在運行時用戶的按鍵復位功能。SEP3202中的Reset方案主要是產生整個系統工作需要的Reset信號,處理wakeup信號,對外接的不規則reset、wakeup信號進行規則化,避免誤觸發。外圍硬件復位電路如圖所示:
該復位電路的工作原理如下:在系統上電時,通過電阻R5向電容C5充電,當C5兩端的電壓未達到高電平的門限電壓時,RESET端輸出為低電平,系統處于復位狀態;當C5兩端的電壓達到高電平的門限電壓時,RESET端輸出為高電平,系統進入正常工作。當用戶按下按鈕K1時,C5兩端的電荷被釋放掉,RESET端輸出為低電平,系統進入復位狀態,再重復以上充電過程,系統進入正常工作狀態。其中具體參數為:復位響應點電壓(+2.9 ~3.00V),復位時間(140 ~ 560ms),有效復位條件(1V),并且支持手動復位功能。
除此之外,我們還增加了一個watchdog電路,用于監視系統狀態,防止系統鎖死。使能watchdog功能以后,需要軟件周期性復位,以避免該模塊產生中斷或者復位。
設計該模塊我們用到了芯片DS1232LPS。DS1232LP/DS1232LPS是一款低功耗的 Micro Monitor芯片,用于監視微處理器控制系統的三個關鍵條件:電源、軟件運行和外部故障。首先,DS1232LP/DS1232LPS精確的溫度補償電路用于監視 Vcc 狀態。一旦檢測到主電源失效,DS1232LP/DS1232LPS將產生一個掉電中斷信號,強制將處理器重置為有效狀態。當 Vcc 回到電壓容差范圍,重置信號至少保持 250ms 的有效狀態,以便恢復供電和保持處理器穩定。當軟件沒有對watchdog進行服務時,會產生timeout事件,通過配置中斷使能寄存器中的中斷位和reset請求位可以產生中斷和reset請求,如果需要屏蔽也可以通過配置這兩位來獲得(默認情況為屏蔽)。其電路圖如下:
因為SEP3203芯片有四種工作模式,即slow、normal、idle、sleep。為了幫助系統從idle模式或sleep模式中恢復過來,建立完善的、有效的喚醒機制是必須的,這將從硬件上保證系統不會癱瘓。
4.5 存儲器
存儲器是計算機硬件系統中用于存放程序和數據等二進制信息的部件,是計算機的記憶部件。CPU根據地址訪問存儲單元,讀出或寫入數據。從一個存儲單元讀出或寫入數據的時間稱為讀寫時間,兩次讀/寫操作之間的間隔稱為存取周期,這兩項是衡量存儲器存取速度的指標。
本次試驗,我們所選取的FLASH以及SDRAM的芯片如下所示:
型號 | 描述 |
W986416EH | SDRAM 64Mbit |
TE28F160 | NorFlash 16M bit |
4.5.1 FLASH存儲
FLASH即為閃存,有許多種種類,從結構上分主要有and、nand、nor、dinor等,其中nand和nor是目前主流的類型,在嵌入式系統中,一般用FLASH來存放需要永久保存的程序和數據,掉電后不會丟失。而用SDRAM來存放系統運行時的數據,掉電后則消失。
綜合各方面的性能,nand flash更優,它擁有較快的擦除和寫入速度(大多數的寫入操作需要先進行擦除操作);在更低的成本上獲得更大的容量;它的每個塊最大擦寫次數是100萬次,遠高于nor的10萬次,擁有更長的使用壽命;并且nand的擦除單元(nor的擦出塊單元為64~128KB,nand的擦除塊單元為8~32KB)更小,相應的擦除電路更簡單。
但是在nand flash中,位反轉的問題更加嚴重,在使用nand閃存時必須同時使用EDC/ECC算法來確保其可靠性,并且nand器件中的壞塊是隨機分布的,如果通過可靠的方法不能進行壞塊掃描,則將導致較高的故障率。
與此同時,nor閃存的連接方式類似于其他存儲器,并可以直接運行代碼,而不像nand器件上始終必須進行虛擬映射。并且在nor器件上運行代碼不需要任何的軟件支持,在進行寫入和擦除操作時,nor器件所需要的MTD(閃存技術驅動程序)相對較少,驅動程序還可用于對DiskOnChip產品進行仿零點和閃存管理,包括糾錯、壞塊處理和損耗平衡。
雖然nand的性能較好,但是Nor?Flash?帶有SRAM接口,有足夠的地址引腳,可以很容易的對存儲器內部的存儲單元進行直接尋址。在實際的系統中,可以根據需要選擇ARM處理器與Nor?Flash的連接方式。nor的操作最更加方便,電路也更為簡易易懂,因此本次試驗我們選擇了nor型的閃存。其電路圖如下所示:
4.5.2 SDRAM
SDRAM是對bank結構,例如在一個具有兩個bank的SDRAM的模組中,其中一個bank在進行預充電期間,另一個bank則馬上可以被讀取,這樣可以大大提高存儲器的訪問速度。在SDRAM芯片中一般會有實現bank選擇的引腳,用于實現多個bank的選擇。
目前常用的SDRAM為8bit/16bit數據寬度、工作電壓一般為3.3V,主要生產廠商為Micron、HynixI、Winbond等,若同類器件具有相同的電氣特性和封裝形式可通用。但在使用SDRAM時要注意ARM芯片是否具有獨立的SDRAM的刷新控制邏輯,若有可直接與SDRAM接口,若無則不能直接與SDRAM連接。
實驗中選用Winbond公司的64Mbit的SDRAM—W986416EH。其讀寫速度都高于SEP3203芯片的典型工作時鐘75MHz,從而消除了存儲器訪問瓶頸。
SDRAM通過對電容的充放電完成存儲操作,但因電容本身有漏電問題,所以內存中的數據要持續不斷地存取,存儲在SDRAM中的數據必須不斷地刷新以保持數據的完整性,否則數據將會丟失。通常使用特定的刷新電路來對SDRAM中存儲的數據進行刷新工作。
4.6 串行接口電路設計
UART通用異步收發器,是處理器總線與串行線接口的外圍設備。對于主機系統而言,UART就像一個能讀取和寫入的8位輸入和輸出端口,任何時候,對于主機要發送的數據,它只需要以字節格式把這些數據發送到UART,當UART從另一個串行裝置接收數據時,它把這些數據臨時緩存在它的FIFO中,然后通過內部寄存器位或通過一個硬件中新信號向主機指示這些數據的可用性。
UART收發字符位數是可配置的,可以是5~8位。在發送時,數據從數據總線上寫入32個字符深度的發送FIFO,然后再被送入移位寄存器,轉換成串行數據,從TXD引腳輸出。在接收時,數據從RXD引腳串行的接收,先送入接收移位寄存器,然后再送入32級半字長深度的FIFO。接收FIFO和發送FIFO都具有可屏蔽的可用軟件配置觸發沿的中斷,當FIFO中的數據量達到預先設定的數據量時,可發出中斷。同時,接收FIFO和發送FIFO都可以請求DMA。
SEP3203提供了串行接口,使用RS-232標準接口,近距離通信系統中可直接進行端對端的連接,但由于SEP3203系統中LVTTL電路的邏輯電平與RS-232標準邏輯電平不相匹配,二者間要進行正常的通信必須經過信號電平轉換,本系統使用MAX3221電平轉換電路,以RS-232標準9芯D型接口為例,要完成最基本的串行通信功能,只需要RXD(數據接收)、TXD(數據發送)和GND(地)端即可。串行接口電路如圖所示:
4.7 JTAG模塊
JTAG( Joint Test Action Group)是測試聯合行動組的簡稱。該委員會制定基于串行接口的測試標準——IEEE1149。這個標準描述了一個用于數字電路引腳信號電平訪問和控制的5引腳串行協議,并擴展到測試芯片的電路上。在JTAG邊界掃描測試接口的一般結構中,核邏輯與引腳之間的所有信號都被串行的掃描路徑截取。在正常工作模式下,掃描路徑能將邏輯核連接到引腳上;在測試模式下,掃描路徑能夠讀取原始數據并以新的數據代替。
支持這個測試標準的芯片必須提供5格專用信號接口:TMS(測試模式選擇)、TCK(測試時鐘)、TDI(測試數據串行輸入)、TDO(測試數據串行輸出)。以及可選引腳TRST(測試復位,低電平有效)。
JTAG 主要應用于:電路的邊界掃描測試和可編程芯片的在線系統編程。目前大多數ARM器件支持JTAG協議,標準JTAG接口是4線。通常所說的JTAG大致分兩類,一類用于測試芯片的電氣特性,檢測芯片是否有問題;一類用于Debug;一般支持JTAG的CPU內都包含了這兩個模塊。JTAG測試允許多個器件通過JTAG接口串連在一起,行程一個JTAG鏈,能實現對各個器件分別測試。測試電路的通常組織方式是將nTRST、TCK和TMS并行連接到每個芯片,將一個芯片的TDO連接到另一個芯片的TDI,這樣就可以使印制電路板測試接口同樣具有如上所述的5個信號。這里我們只需將所需接口引出。JTAG模塊采用20Pin的標準插頭,部分信號引腳要接上拉電阻。具體實現電路如下圖所示:
JTAG內部有一個狀態機,稱為TAP(Test Access Port)控制器,通過TCK、TMS進行狀態的改變,實現數據和指令的輸入。
JTAG測試電路的主要目的是測試印刷電路上走線與焊盤之間的連接。通過JTAG測試接口不僅可以控制芯片的輸出并觀察其輸入,還可以檢查芯片之間的板級聯接。JTAG電路在系統調試成功后,可以從應用系統中剔除以降低成本。
4.8 擴展功能(LED)
上圖為LED的實現電路圖。在實驗中運用LED功能時,可以利用相應軟件程序進行編程,調試運行后的發出的AXD調試命令可讓LED實現某種具體功能,如跑馬燈,數字時鐘顯示的。控制信號通過串口到達實驗板,經處理器達功能擴展接口與上圖所示的LED模塊相連。
硬件工程師筆試面試相關文章鏈接
1、硬件工程師筆面試真題匯總(2025版本)_硬件工程師面試題-CSDN博客https://blog.csdn.net/XU157303764/article/details/140742900?spm=1011.2415.3001.53312、硬件工程師筆試面試匯總_硬件工程師面試題-CSDN博客
https://blog.csdn.net/XU157303764/article/details/141904858?spm=1011.2415.3001.5331硬件工程師筆試面試學習匯總——器件篇目錄_硬件工程師筆試基礎知識-CSDN博客
https://blog.csdn.net/XU157303764/article/details/142316204?spm=1011.2415.3001.5331硬件工程師筆試面試知識器件篇——電阻_硬件工程師筆試基礎知識-CSDN博客
https://blog.csdn.net/XU157303764/article/details/141874163?spm=1011.2415.3001.5331硬件工程師筆試面試知識器件篇——電容-CSDN博客
https://blog.csdn.net/XU157303764/article/details/141899789?spm=1011.2415.3001.5331硬件工程師筆試面試知識器件篇——電感_硬件工程師電感-CSDN博客
https://blog.csdn.net/XU157303764/article/details/141902660?spm=1011.2415.3001.5331硬件工程師筆試面試知識器件篇——三極管_三極管面試-CSDN博客
https://blog.csdn.net/XU157303764/article/details/141903838?spm=1011.2415.3001.5331硬件工程師筆試面試知識器件篇——二極管_二極管面試問題-CSDN博客
https://blog.csdn.net/XU157303764/article/details/141903198?spm=1011.2415.3001.5331硬件工程師筆試面試——上拉電阻、下拉電阻_硬件面試一般問哪些 上拉電阻-CSDN博客
https://blog.csdn.net/XU157303764/article/details/141904259?spm=1011.2415.3001.5331硬件工程師筆試面試——繼電器_固態繼電器考試題-CSDN博客
https://blog.csdn.net/XU157303764/article/details/141942261?spm=1011.2415.3001.5331硬件工程師筆試面試——IGBT_igbt面試題目-CSDN博客
https://blog.csdn.net/XU157303764/article/details/142070424?spm=1011.2415.3001.5331硬件工程師筆試面試——MOS管_mos管面試問題-CSDN博客
https://blog.csdn.net/XU157303764/article/details/142073376?spm=1011.2415.3001.5331硬件工程師筆試面試——變壓器_變壓器電子工程師面試題目以及答案-CSDN博客
https://blog.csdn.net/XU157303764/article/details/142313787?spm=1011.2415.3001.5331硬件工程師筆試面試——保險絲_硬件設計保險絲-CSDN博客
https://blog.csdn.net/XU157303764/article/details/142314695?spm=1011.2415.3001.5331硬件工程師筆試面試——開關_開關電源面試筆試題-CSDN博客
https://blog.csdn.net/XU157303764/article/details/142314758?spm=1011.2415.3001.5331硬件工程師筆試面試——濾波器_濾波器面試-CSDN博客
https://blog.csdn.net/XU157303764/article/details/142314811?spm=1011.2415.3001.5331硬件工程師筆試面試——晶振_有源晶振筆試題-CSDN博客
https://blog.csdn.net/XU157303764/article/details/142314968?spm=1011.2415.3001.5331硬件工程師筆試面試——顯示器件_顯示器件設計工程師筆試-CSDN博客
https://blog.csdn.net/XU157303764/article/details/142315003?spm=1011.2415.3001.5331硬件工程師筆試面試——無線通訊模塊_關于wifi 的硬件工程師面試題-CSDN博客
https://blog.csdn.net/XU157303764/article/details/142315034?spm=1011.2415.3001.5331硬件工程師筆試面試——存儲器件-CSDN博客
https://blog.csdn.net/XU157303764/article/details/142315081?spm=1011.2415.3001.5331硬件工程師筆試面試——集成電路_集成電路理論題庫-CSDN博客
https://blog.csdn.net/XU157303764/article/details/142315158?spm=1011.2415.3001.5331硬件工程師筆試面試——電機_電機控制器硬件工程師面試-CSDN博客
https://blog.csdn.net/XU157303764/article/details/142315183?spm=1011.2415.3001.5331電器元件符號及封裝大全_海爾電視邏輯板上的22oj3是什么元件-CSDN博客
https://blog.csdn.net/XU157303764/article/details/144897502?spm=1011.2415.3001.5331運算放大電路匯總及電路仿真_用qucs仿真運算放大器-CSDN博客
https://blog.csdn.net/XU157303764/article/details/144974369?spm=1011.2415.3001.5331半波整流和全波整流電路匯總及電路仿真_半波整流電路和濾波電路仿真與調試的區別-CSDN博客
https://blog.csdn.net/XU157303764/article/details/145379301?spm=1011.2415.3001.5331濾波電路匯總_視頻濾波電路-CSDN博客
https://blog.csdn.net/XU157303764/article/details/145382488?spm=1011.2415.3001.5331開關電路匯總-CSDN博客
https://blog.csdn.net/XU157303764/article/details/145388966?spm=1011.2415.3001.5331AD電路仿真_ad仿真圖什么意思-CSDN博客
https://blog.csdn.net/XU157303764/article/details/145391047?spm=1011.2415.3001.533120個整流電路及仿真實驗匯總-CSDN博客
https://blog.csdn.net/XU157303764/article/details/145401280?spm=1011.2415.3001.5331萬用表使用-CSDN博客
https://blog.csdn.net/XU157303764/article/details/145402665?spm=1011.2415.3001.53312024美團秋招硬件開發筆試真題及答案解析_美團硬件開發筆試-CSDN博客
https://blog.csdn.net/XU157303764/article/details/145430040?spm=1011.2415.3001.53312024美團春招硬件開發筆試真題及答案解析_美團2025年春招第一場筆試【硬件開發方向】-CSDN博客
https://blog.csdn.net/XU157303764/article/details/145430447?spm=1011.2415.3001.53312024聯想春招硬件嵌入式開發真題及答案解析_聯想硬件筆試題-CSDN博客
https://blog.csdn.net/XU157303764/article/details/145430556?spm=1011.2415.3001.53312023聯想電子電路真題及答案解析_電子電路模擬卷及答案-CSDN博客
https://blog.csdn.net/XU157303764/article/details/145432109?spm=1011.2415.3001.53312022聯想硬件真題及答案解析-CSDN博客
https://blog.csdn.net/XU157303764/article/details/145435275?spm=1011.2415.3001.5331網易校招硬件研發工程師提前批真題及答案解析-CSDN博客
https://blog.csdn.net/XU157303764/article/details/145435462?spm=1011.2415.3001.5331網易校招硬件工程師正式批-CSDN博客
https://blog.csdn.net/XU157303764/article/details/145464105?spm=1011.2415.3001.53312019京東校招電氣工程師真題及答案解析-CSDN博客
https://blog.csdn.net/XU157303764/article/details/145540559?spm=1011.2415.3001.53312018京東秋招電氣工程師真題及答案解析_如圖所示復合管,已知v1的放大倍數為10-CSDN博客
https://blog.csdn.net/XU157303764/article/details/145560334?spm=1011.2415.3001.5331Altium Designer(AD)仿真實驗操作指南_altiumdesigner仿真教程-CSDN博客
https://blog.csdn.net/XU157303764/article/details/145694520?spm=1011.2415.3001.5331AD(Altium Designer)中英文界面切換操作指南_altium designer怎么改中文-CSDN博客
https://blog.csdn.net/XU157303764/article/details/145694259?spm=1011.2415.3001.5331AD(Altium Designer)創建及完成項目操作指南_altium designer新建項目-CSDN博客
https://blog.csdn.net/XU157303764/article/details/145716291?spm=1011.2415.3001.5331AD(Altium Designer)器件封裝——立創商城導出原理圖和PCB完成器件封裝操作指南_復制立創商城模型-CSDN博客
https://blog.csdn.net/XU157303764/article/details/145741894?spm=1011.2415.3001.5331AD(Altium Designer)三種方法導入圖片_ad導入圖片-CSDN博客
https://blog.csdn.net/XU157303764/article/details/145766000?spm=1011.2415.3001.5331AD(Altium Designer)已有封裝庫的基礎上添加器件封裝_altium designer pcb庫封裝-CSDN博客
https://blog.csdn.net/XU157303764/article/details/146427258?spm=1011.2415.3001.5331AD(Altium Designer)更換PCB文件的器件封裝_altium designer設計里已經生成pcb怎么更改-CSDN博客
https://blog.csdn.net/XU157303764/article/details/146448192?spm=1011.2415.3001.5331