『壹』 單片機程序中的底層驅動程序和應用程序
驅動程序與硬體相關,編寫驅動程序要非常了解硬體,同時給應用層提供API函數介面,應用層可以調用這些介面去訪問硬體而不必了解硬體.
應用程序是根據實際應用去編寫.
比如說你有一個應用是控制每天早上六點鍾開燈.應用程序只負責在適當的時間做適當的事(到六點了,我要開燈了,按下按鍵);具體它不知道為什麼按下鍵就能開燈,因為按下鍵後開燈的事情就是驅動程序完成了.
『貳』 常見嵌入式系統有哪些
一個嵌入式系統裝置一般都由嵌入式計算機系統和執行裝置組成,嵌入式計算機系統是整個嵌入式系統的核心,由硬體層、中間層、系統軟體層和應用軟體層組成。執行裝置也稱為被控對象,它可以接受嵌入式計算機系統發出的控制命令,執行所規定的操作或任務。執行裝置可以很簡單,如手機上的一個微小型的電機,當手機處於震動接收狀態時打開;也可以很復雜,如SONY智能機器狗,上面集成了多個微小型控制電機和多種感測器,從而可以執行各種復雜的動作和感受各種狀態信息。
硬體層
硬體層中包含嵌入式微處理器、存儲器(SDRAM、ROM、Flash等)、通用設備介面和I/O介面(A/D、D/A、I/O等)。在一片嵌入式處理器基礎上添加電源電路、時鍾電路和存儲器電路,就構成了一個嵌入式核心控制模塊。其中操作系統和應用程序都可以固化在ROM中。
(1)嵌入式微處理器
嵌入式系統硬體層的核心是嵌入式微處理器,嵌入式微處理器與通用CPU最大的不同在於嵌入式微處理器大多工作在為特定用戶群所專用設計的系統中,它將通用CPU許多由板卡完成的任務集成在晶元內部,從而有利於嵌入式系統在設計時趨於小型化,同時還具有很高的效率和可靠性。
嵌入式微處理器的體系結構可以採用馮·諾依曼體系或哈佛體系結構;指令系統可以選用精簡指令系統(RecedInstructionSet Computer,RISC)和復雜指令系統CISC(Complex Instruction Set Computer,CISC)。RISC計算機在通道中只包含最有用的指令,確保數據通道快速執行每一條指令,從而提高了執行效率並使CPU硬體結構設計變得更為簡單。
嵌入式微處理器有各種不同的體系,即使在同一體系中也可能具有不同的時鍾頻率和數據匯流排寬度,或集成了不同的外設和介面。據不完全統計,全世界嵌入式微處理器已經超過1000多種,體系結構有30多個系列,其中主流的體系有ARM、MIPS、PowerPC、X86和SH等。但與全球PC市場不同的是,沒有一種嵌入式微處理器可以主導市場,僅以32位的產品而言,就有100種以上的嵌入式微處理器。嵌入式微處理器的選擇是根據具體的應用而決定的。
(2)存儲器
嵌入式系統需要存儲器來存放和執行代碼。嵌入式系統的存儲器包含Cache、主存和輔助存儲器。
1、Cache
Cache是一種容量小、速度快的存儲器陣列它位於主存和嵌入式微處理器內核之間,存放的是一段時間微處理器使用最多的程序代碼和數據。在需要進行數據讀取操作時,微處理器盡可能的從Cache中讀取數據,而不是從主存中讀取,這樣就大大改善了系統的性能,提高了微處理器和主存之間的數據傳輸速率。Cache的主要目標就是:減小存儲器(如主存和輔助存儲器)給微處理器內核造成的存儲器訪問瓶頸,使處理速度更快,實時性更強。
在嵌入式系統中Cache全部集成在嵌入式微處理器內,可分為數據Cache、指令Cache或混合Cache,Cache的大小依不同處理器而定。一般中高檔的嵌入式微處理器才會把Cache集成進去。
2、主存
主存是嵌入式微處理器能直接訪問的寄存器,用來存放系統和用戶的程序及數據。它可以位於微處理器的內部或外部,其容量為256KB~1GB,根據具體的應用而定,一般片內存儲器容量小,速度快,片外存儲器容量大。
『叄』 單片機TCP/IP協議棧都有哪些
TCP/IP協議,或稱為TCP/IP協議棧,或互聯網協議系列。
TCP/IP協議棧
(按TCP/IP參考模型劃分)
應用層 FTP SMTP HTTP ...
傳輸層 TCP UDP
網路層 IP ICMP ARP
鏈路層 乙太網 令牌環 FDDI ...
包含了一系列構成互聯網基礎的網路協議。
這些協議最早發源於美國國防部的DARPA互聯網項目。
TCP/IP字面上代表了兩個協議:TCP傳輸控制協議和IP互聯網協議。
時間回放到1983年1月1日,在這天,互聯網的前身Arpanet中,TCP/IP協議取代了舊的網路核心協議NCP(Network Core Protocol),從而成為今天的互聯網的基石。最早的的TCP/IP由Vinton Cerf和Robert Kahn兩位開發,慢慢地通過競爭戰勝了其它一些網路協議的方案,比如國際標准化組織ISO的OSI模型。TCP/IP的蓬勃發展發生在上世紀的90年代中期。當時一些重要而可靠的工具的出世,例如頁面描述語言HTML和瀏覽器Mosaic,導致了互聯網應用的飛束發展。
隨著互聯網的發展,目前流行的IPv4協議(IP Version 4,IP版本四)已經接近它的功能上限。IPv4最致命的兩個缺陷在於:
地址只有32位,IP地址空間有限;
不支持服務等級(Quality of Service, Qos)的想法,無法管理帶寬和優先順序,故而不能很好的支持現今越來越多的實時的語音和視頻應用。因此IPv6 (IP Version 6, IP版本六) 浮出海面,用以取代IPv4。
TCP/IP成功的另一個因素在與對為數眾多的低層協議的支持。這些低層協議對應與OSI模型 中的第一層(物理層)和第二層(數據鏈路層)。每層的所有協議幾乎都有一半數量的支持TCP/IP,例如: 乙太網(Ethernet),令牌環(Token Ring),光纖數據分布介面(FDDI),端對端協議( PPP),X.25,幀中繼(Frame Relay),ATM,Sonet, SDH等。
TCP/IP協議棧組成
整個通信網路的任務,可以劃分成不同的功能塊,即抽象成所謂的 」 層」 。用於互聯網的協議可以比照TCP/IP參考模型進行分類。TCP/IP協議棧起始於第三層協議IP(互聯網協議) 。所有這些協議都在相應的RFC文檔中討論及標准化。重要的協議在相應的RFC文檔中均標記了狀態: 「必須「 (required) ,「推薦「 (recommended) ,「可選「 (elective) 。其它的協議還可能有「 試驗「(experimental) 或「 歷史「(historic) 的狀態。
必須協議
所有的TCP/IP應用都必須實現IP和ICMP。對於一個路由器(router) 而言,有這兩個協議就可以運作了,雖然從應用的角度來看,這樣一個路由器 意義不大。實際的路由器一般還需要運行許多「推薦「使用的協議,以及一些其它的協議。
在幾乎所有連接到互聯網上的計算機上都存在的IPv4 協議出生在1981年,今天的版本和最早的版本並沒有多少改變。升級版IPv6 的工作始於1995年,目的在與取代IPv4。ICMP 協議主要用於收集有關網路的信息查找錯誤等工作。
推薦協議
每一個應用層(TCP/IP參考模型 的最高層) 一般都會使用到兩個傳輸層協議之一: 面向連接的TCP傳輸控制協議和無連接的包傳輸的UDP用戶數據報文協議 。 其它的一些推薦協議有:
TELNET (Teletype over the Network, 網路電傳) ,通過一個終端(terminal)登陸到網路(運行在TCP協議上)。
FTP (File Transfer Protocol, 文件傳輸協議) ,由名知義(運行在TCP協議上) 。
SMTP (Simple Mail Transfer Protocol,簡單郵件傳輸協議) ,用來發送電子郵件(運行在TCP協議上) 。
DNS (Domain Name Service,域名服務) ,用於完成地址查找,郵件轉發等工作(運行在TCP和UDP協議上) 。
ECHO (Echo Protocol, 回繞協議) ,用於查錯及測量應答時間(運行在TCP和UDP協議上) 。
NTP (Network Time Protocol,網路時間協議) ,用於網路同步(運行在UDP協議上) 。
SNMP (Simple Network Management Protocol, 簡單網路管理協議) ,用於網路信息的收集和網路管理。
BOOTP (Boot Protocol,啟動協議) ,應用於無盤設備(運行在UDP協議上)。
可選協議
最常用的一些有
支撐萬維網WWW的超文本傳輸協議HTTP,
動態配置IP地址的DHCP(Dynamic Host Configuration Protocol,動態主機配置協議),
收郵件用的POP3 (Post Office Protocol, version 3, 郵局協議) ,
用於加密安全登陸用的SSH (Secure Shell,用於替代安全性差的TELNET) ,
用於動態解析乙太網硬體地址的ARP (Address Resolution Protocol,地址解析協議) 。
範例: 不同計算機運行的不同協議
一個簡單的路由器上可能會實現ARP, IP, ICMP, UDP, SNMP, RIP。
WWW用戶端使用ARP, IP, ICMP, UDP, TCP, DNS, HTTP, FTP。
一台用戶電腦上還會運行如TELNET, SMTP, POP3, SNMP, ECHO, DHCP, SSH, NTP。
無盤設備可能會在固件比如ROM中實現了ARP, IP, ICMP, UDP, BOOT, TFTP (均為面向數據報的協議,實現起來相對簡單)。
『肆』 嵌入式系統體系結構
嵌入式系統體系結構
所有帶有數字介面的設備,如手錶、微波爐、錄像機、汽車等,都使用嵌入式系統,有些嵌入式系統還包含操作系統,但大多數嵌入式系統都是由單個程序實現整個控制邏輯。下面是我整理的關於嵌入式系統體系結構,歡迎大家參考!
嵌入式系統體系結構:
嵌入式系統的組成包含了硬體層、中間層、系統軟體層和應用軟體層。
1、硬體層:嵌入式微處理器、存儲器、通用設備介面和I/O介面。
嵌入式核心模塊=微處理器+電源電路+時鍾電路+存儲器
Cache:位於主存和嵌入式微處理器內核之間,存放的是最近一段時間微處理器使用最多的程序代碼和數據。它的主要目標是減小存儲器給微處理器內核造成的存儲器訪問瓶頸,使處理速度更快。
2、中間層(也稱為硬體抽象層HAL或者板級支持包BSP).
它將系統上層軟體和底層硬體分離開來,使系統上層軟體開發人員無需關系底層硬體的具體情況,根據BSP層提供的介面開發即可。BSP有兩個特點:硬體相關性和操作系統相關性。
設計一個完整的BSP需要完成兩部分工作:
A、 嵌入式系統的硬體初始化和BSP功能。
片級初始化:純硬體的初始化過程,把嵌入式微處理器從上電的默認狀態逐步設置成系統所要求的工作狀態。
板級初始化:包含軟硬體兩部分在內的初始化過程,為隨後的系統初始化和應用程序建立硬體和軟體的運行環境。
系統級初始化:以軟體為主的初始化過程,進行操作系統的初始化。
B、 設計硬體相關的設備驅動。
3、系統軟體層:由RTOS、文件系統、GUI、網路系統及通用組件模塊組成。
RTOS是嵌入式應用軟體的基礎和開發平台。
4、應用軟體:由基於實時系統開發的應用程序組成。
嵌入式晶元體系結構介紹
1.嵌入式微處理器(Micro Processor Unit,MPU)
嵌入式微處理器是由通用計算機中的CPU演變而來的。它的特徵是具有32位以上的處理器,具有較高的性能,當然其價格也相應較高。但與計算機處理器不同的是,在實際嵌入式應用中,只保留和嵌入式應用緊密相關的功能硬體,去除其他的冗餘功能部分,這樣就以最低的功耗和資源實現嵌入式應用的特殊要求。和工業控制計算機相比,嵌入式微處理器具有體積小、重量輕、成本低、可靠性高的優點。目前主要的嵌入式處理器類型有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM/ StrongARM系列等。其中Arm/StrongArm是專為手持設備開發的嵌入式微處理器,屬於中檔的價位。
Power PC:
由IBM、Apple和Motorola聯合開發,並製造出基於PowerPC的多處理器計算機。PowerPC架構具有可伸縮性好、方便靈活的特點。主要有以下產品使用Power PC微處理器
蘋果公司:Power Macintosh系列、PowerBook系列(1995年以後的產品)、iBook系列、iMac系列(2005年以前的產品)、eMac系列產品。
任天堂:GameCube 和 Wii。
Sony:PlayStation 3。
MIPS:
MIPS是世界上很流行的一種RISC處理器。MIPS的意思“無內部互鎖流水級的微處理器”(Microprocessor without interlocked piped stages),其機制是盡量利用軟體辦法避免流水線中的數據相關問題。它最早是在80年代初期由斯坦福(Stanford)大學Hennessy教授領導的研究小組研製出來的。MIPS公司的R系列就是在此基礎上開發的RISC工業產品的微處理器。這些系列產品為很多計算機公司採用構成各種工作站和計算機系統。MIPS技術公司是美國著名的晶元設計公司,它採用精簡指令系統計算結構(RISC)來設計晶元。和英特爾採用的復雜指令系統計算結構(CISC)相比,RISC具有設計更簡單、設計周期更短等優點,並可以應用更多先進的`技術,開發更快的下一代處理器。MIPS是出現最早的商業RISC架構晶元之一,新的架構集成了所有原來MIPS指令集,並增加了許多更強大的功能。MIPS處理器是八十年代中期RISC CPU設計的一大熱點。MIPS是賣的最好的RISC CPU,可以從任何地方,如Sony, Nintendo的游戲機,Cisco的路由器和SGI超級計算機,看見MIPS產品在銷售。目前隨著RISC體系結構遭到x86晶元的競爭,MIPS有可能是起初RISC CPU設計中唯一的一個在本世紀盈利的。和英特爾相比,MIPS的授權費用比較低,也就為除英特爾外的大多數晶元廠商所採用。
2.嵌入式微控制器(Microcontroller Unit, MCU)
嵌入式微控制器的典型代表是單片機,從70年代末單片機出現到今天,雖然已經經過了20多年的歷史,但這種8位的電子器件目前在嵌入式設備中仍然有著極其廣泛的應用。單片機晶元內部集成ROM/EPROM、RAM、匯流排、匯流排邏輯、定時/計數器、看門狗、I/O、串列口、脈寬調制輸出、A/D、D/A、Flash RAM、EEPROM等各種必要功能和外設。和嵌入式微處理器相比,微控制器的最大特點是單片化,體積大大減小,從而使功耗和成本下降、可靠性提高。微控制器是目前嵌入式系統工業的主流。微控制器的片上外設資源一般比較豐富,適合於控制,因此稱微控制器。由於MCU低廉的價格,優良的功能,所以擁有的品種和數量最多,比較有代表性的包括8051、MCS-251、MCS-96/196/296、P51XA、C166/167、68K系列以及 MCU 8XC930/931、C540、C541,並且有支持I2C、CAN-Bus、LCD及眾多專用MCU和兼容系列。目前MCU占嵌入式系統約70%的市場份額。近來Atmel出產的Avr單片機由於其集成了FPGA等器件,所以具有很高的性價比,勢必將推動單片機獲得更高的發展。
3.嵌入式DSP處理器(Embedded Digital Signal Processor, EDSP)
DSP處理器是專門用於信號處理方面的處理器,其在系統結構和指令演算法方面進行了特殊設計,具有很高的編譯效率和指令的執行速度。在數字濾波、FFT、譜分析等各種儀器上DSP獲得了大規模的應用。DSP的理論演算法在70年代就已經出現,但是由於專門的DSP處理器還未出現,所以這種理論演算法只能通過MPU等由分立元件實現。MPU較低的處理速度無法滿足DSP的演算法要求,其應用領域僅僅局限於一些尖端的高科技領域。隨著大規模集成電路技術發展,1982年世界上誕生了首枚DSP晶元。其運算速度比MPU快了幾十倍,在語音合成和編碼解碼器中得到了廣泛應用。至80年代中期,隨著CMOS技術的進步與發展,第二代基於CMOS工藝的DSP晶元應運而生,其存儲容量和運算速度都得到成倍提高,成為語音處理、圖像硬體處理技術的基礎。到80年代後期,DSP的運算速度進一步提高,應用領域也從上述范圍擴大到了通信和計算機方面。90年代後,DSP發展到了第五代產品,集成度更高,使用范圍也更加廣闊。目前最為廣泛應用的是TI的TMS320C2000/C5000系列,另外如Intel的MCS-296和Siemens的TriCore也有各自的應用范圍。根據晶元廠商採用不同的IP核,可以分為以下幾類:
StarCore
Freescale
飛思卡爾數字信號處理器採用StarCore技術,是業內最高性能的可編程器件,可滿足基帶、航空航天、國防、醫療和測試與測量市場的需求。我們設計的StarCore DSP系列產品提供全面靈活擴展的解決方案,幫助客戶加快產品上市。StarCore DSP具有低功耗、低成本的顯著特點,是下一代設計的理想解決方案。通過新一代創新實現更加智能的世界。多核晶元主要包括:MSC8122: 帶有乙太網的四核16位DSP,MSC8126: 帶有乙太網、TCOP和VCOP的四核16位DSP,MSC8144: 四核DSP,MSC8152: 高性能雙核DSP,MSC8154: 高性能四核DSP,MSC8154E: 帶有安全功能的高性能四核DSP,MSC8156: 高性能六核DSP,MSC8156E: 帶有安全功能的高性能六核DSP,MSC8157: MSC8157寬頻無線接入DSP,MSC8158: MSC8158寬頻無線接入DSP,MSC8252: 高性能雙核DSP,MSC8254: 高性能四核DSP,MSC8256: 高性能六核DSP 。單核晶元主要包括: MSC8151: 高性能單核DSP,MSC8251: 高性能單核DSP。
4.嵌入式片上系統(System On Chip)
SoC追求產品系統最大包容的集成器件,是目前嵌入式應用領域的熱門話題之一。SOC最大的特點是成功實現了軟硬體無縫結合,直接在處理器片內嵌入操作系統的代碼模塊。而且SOC具有極高的綜合性,在一個矽片內部運用VHDL等硬體描述語言,實現一個復雜的系統。用戶不需要再像傳統的系統設計一樣,繪制龐大復雜的電路板,一點點的連接焊制,只需要使用精確的語言,綜合時序設計直接在器件庫中調用各種通用處理器的標准,然後通過模擬之後就可以直接交付晶元廠商進行生產。由於絕大部分系統構件都是在系統內部,整個系統就特別簡潔,不僅減小了系統的體積和功耗,而且提高了系統的可靠性,提高了設計生產效率。由於SOC往往是專用的,所以大部分都不為用戶所知,比較典型的SOC產品是Philips的Smart XA。少數通用系列如Siemens的TriCore,Motorola的M-Core,某些ARM系列器件,Echelon和Motorola聯合研製的Neuron晶元等。預計不久的將來,一些大的晶元公司將通過推出成熟的、能佔領多數市場的SOC晶元,一舉擊退競爭者。SOC晶元也將在聲音、圖像、影視、網路及系統邏輯等應用領域中發揮重要作用。
;