Python 编程 mysql linux Android google Ubuntu Windows java centos 程序员 apache 云计算 wordpress Firefox 微软 php shell 开源 nginx

深入淺出Linux設備驅動》第二章 驅動設計的硬件基礎(1)

本章描述了底層驅動軟件工程師的基本硬件基礎,並給出了嵌入式系統硬件原理和分析方法的完整、簡明的全景圖。
2.1部分介紹了應用於特定領域的微控制器、微處理器、數字信號處理器和處理器的特點,並分析了處理器的體系結構和指令集。
2.2部分總結和總結了嵌入式系統和CPU中使用的各種內存的接口、應用領域和特點。
2.3部分分析了常用的外設接口和總線工作模式,包括串口、I2C、USB、以太網接口、ISA、PCI和CPCI。
在嵌入式系統的硬件電路中經常使用CPLD和FPGA。作為驅動工程師,我們不需要掌握CPLD和FPGA的開發方法,但是我們需要知道他們在電路中能做什麽,2.4部分解釋這一點。
2.5~2.7節給出了實際項目開發過程中的硬件分析方法,包括如何分析原理圖、時序分析以及如何快速從芯片庫中獲取有效的信息。
2.8部分介紹了如何使用萬用表、示波器、邏輯分析儀等調試過程中常用的儀器儀表。
2.1處理器
2.1.1通用處理器
通用處理器(GPP)並不優化特定應用程序的體系結構和指令集,它具有通用的體系結構和指令集,以支持復雜的操作,並容易地添加新開發的功能。一般來說,嵌入式微處理器(MCU)和微處理器(MPU)將包含一個通用處理器核心。
MPU通常代表CPU(中央處理單元),而MCU強調CPU、存儲器和外圍電路在單個芯片中的集成。在早期,微控制器被稱為單片微型計算機,這意味著計算機被集成到一個芯片中。嵌入式微控制器又稱為SoC,意味著整個系統是在一個芯片上設計的。在推出MCU時,芯片廠商往往有清晰的市場定位,如PDA、MP3和ADSL。定位不同的產品可能包含共同的CPU核心,但是集成的擴展電路是不同的。圖2.1顯示了集成外圍電路的MCU的典型結構。
例如,英特爾的80386屬於微處理器,80386處理器、芯片單元、中斷控制、定時器、看門狗定時器、串行I/O、DMA和總線仲裁、DRAM控制器、366EX的內部集成是80386微處理器的微控制器版本。然而,諸如GPP、MCU和MPU等概念非常模糊,很多地方沒有區分它們,並且清楚地區分這些概念在技術本身中不是非常重要的。
圖2.1單片機的典型內部結構
嵌入式微控制器通常由CPU核心和多個外圍電路進行集成。目前主流的CPU核心包括:
先進的RISC機器的ARM
ARM內核的設計技術已經被授權給數百個半導體制造商來制造不同的SoC芯片。ARM的功耗非常低。它被廣泛應用於當今最活躍的WLAN、3G、手機終端、手持設備、有線網絡通信設備等方面。
矽圖形的MIPS
兩個最重要的MIPS芯片供應商是PMC和IDT,PMC Siela的MIPS處理器,這是思科公司在高端路由器上大量使用的。IDT公司集成了MIPS內核上的PCI接口,廣泛用於以太網交換。此外,還嘗試為下端通信產品添加HDLC、以太網、串口、SDRAM控制器、芯片、DMA控制器等外圍接口。
IBM和摩托羅拉的PowerPC
PowerPC處理器是通信和工業控制領域中應用最廣泛的處理器。包括華為和中興在內的通信公司廣泛使用PowerPC。PCMPC860和MPC8260是最經典的兩個PowerPC內核嵌入式處理器。
摩托羅拉獨特的內核68 K/冷火
68 K內核是嵌入式領域中應用最廣泛的內核,其最著名的芯片是68360。CaldFi火繼承了68 K的特性,使其兼容。CORDFARES內核用於DSP模塊、CAN總線模塊和通用嵌入式處理器集成的外圍設備。它廣泛應用於工業控制、機器人研究和家電控制等領域。
提示:摩托羅拉半導體部已獨立於飛思卡爾半導體公司(飛思卡爾半導體公司)。由於歷史原因,摩托羅拉仍在前一篇文章中使用。
中央處理單元的體系結構可以分為兩類,一類是馮諾依曼結構,另一種是哈佛結構。
馮諾依曼結構,也稱為普林斯頓結構,是一種將程序指令存儲器與數據存儲器相結合的存儲器結構。程序指令存儲地址和數據存儲地址指向同一存儲器的不同物理位置,因此程序指令和數據寬度是相同的。哈佛結構單獨存儲程序指令和數據,指令和數據可以具有不同的數據寬度。此外,哈佛結構還使用獨立的程序總線和數據總線,作為CPU與每個存儲器之間的特殊通信路徑,具有較高的執行效率。圖2.2描繪了馮諾依曼結構與哈佛結構的區別。
圖2.2馮諾依曼結構和哈佛結構
從指令集的角度來看,中央處理單元也可以分為兩類,即RISC(精簡指令集計算機)和CISC(復雜指令集計算機)。CSIC強調增強指令和減少目標代碼數量的能力,但是指令復雜,指令周期長;而RISC強調指令的最小集合,指令在一個周期內執行,但目標代碼將更大。ARM、MIPS、PowerPC等CPU內核采用RISC指令集。目前,RISC與CSIC二者的整合是非常明顯的。
2.1.2數字信號處理器
數字信號處理器(DSP)是為通信、圖像、語音和視頻處理而設計的。它包含一個獨立的硬件乘法器和乘法指令在一個周期內完成,並在卷積、數字濾波、FFT(快速Fu Liye變換)、相關性、矩陣運算等算法中進行大量的重復乘法優化。
DSP通常使用一種改進的哈佛架構,如圖2.3所示,它具有獨立的地址總線和數據總線,兩個總線由程序存儲器和數據存儲器共享。
DSP分為兩類,一類是定點DSP,另一類是浮點DSP。浮點DSP浮點運算是硬件實現的,可以在一個周期內完成,其浮點處理速度比定點DSP的浮點處理速度快。定點DSP只能通過定點運算來模擬浮點運算。
Ti(Ti)和美國模擬元件公司(ADI)是世界上DSP的兩個主要制造商。
TI公司的TMS320 DSP平臺包含了許多系列功能:2000系列、3000系列、4000系列、5000系列、6000系列,工程師們也將其稱為2X、3X、4X、5X、6X。除了2000和5000系列是定點DSP之外,其余都是浮點DSP。
ADI主要有16位定點21xx系列、32位浮點SARC系列、TigelSARC系列自SARC系列和BiffFink系列高性能16位DSP信號處理能力和通用微控制器方便。
圖2.3改進哈佛結構
通用處理器和數字信號處理器也有相互融合的趨勢,例如,數字信號控制器(DSC)是MCU DSP,而BiffFink系列屬於DSC。目前,芯片制造商已經推出了許多ARM DSP雙核處理器。
除了上面描述的通用微控制器和數字信號處理器之外,還為特定領域設計了一些特殊處理器(ASP),這些處理器專為某些特定的應用而設計,例如專門用於HDTV、ADSL、電纜調制解調器等的處理器。
網絡處理器是一種可編程設備,可應用於電信領域中的各種任務,如分組處理、協議分析、路由查找、聲音/數據融合、防火墻、QoS等。網絡處理器設備通常由多個微代碼處理器和多個硬件協處理器組成,多個微碼處理器在網絡處理器中並行處理,並且處理流程由預先編譯的微代碼控制。對於一些復雜的標準操作(如內存操作、路由表查找算法、QoS擁塞控制算法、流量調度算法等),采用硬件協處理器進一步提高處理性能,從而實現業務柔性的有機結合。性能和高性能。
IMTIM6400是一種典型的多通道數字音視頻編碼系統級芯片,支持MPEG4/2/1視頻壓縮編碼標準,支持I、P和B幀壓縮,可以支持48/44.1/32/24/22.05/16kHz音頻采樣。它運行在內部ROM或外部擴展ROM中存儲的固件,為了壓縮視頻、音頻數據和存儲編碼流,一般外部需要擴展SDRAM,SDRAM的大小與壓縮圖像的大小和模式有關。
對於某些應用,ASIC的使用通常是一種低成本和高性能的解決方案。ASIC是專為特定的應用而設計的,不具備或需要靈活的編程能力。例如,ADV202是實現JPEG2000編解碼器ASIC的單片ADI。
在實際工程的硬件方案中,通常根據應用的要求,選擇通用處理器、數字信號處理器、專用域處理器或ASIC之一。在復雜系統中,這些芯片可以同時存在,相互協作,發揮各自的優勢。例如,在智能手機中,可以使用MCU來處理圖形用戶界面和用戶的按鍵輸入,並運行多任務操作系統,使用DSP進行音頻和視頻編解碼器,並在無線電頻率上使用ASIC。
通過2.1節的內容,我們可以畫出處理器的分類,如圖2.4所示。
 

延伸阅读

    评论