嵌入式系統(tǒng)(第5章 嵌入式系統(tǒng)硬件平臺(tái)及接口設(shè)計(jì))_第1頁(yè)
嵌入式系統(tǒng)(第5章 嵌入式系統(tǒng)硬件平臺(tái)及接口設(shè)計(jì))_第2頁(yè)
嵌入式系統(tǒng)(第5章 嵌入式系統(tǒng)硬件平臺(tái)及接口設(shè)計(jì))_第3頁(yè)
嵌入式系統(tǒng)(第5章 嵌入式系統(tǒng)硬件平臺(tái)及接口設(shè)計(jì))_第4頁(yè)
嵌入式系統(tǒng)(第5章 嵌入式系統(tǒng)硬件平臺(tái)及接口設(shè)計(jì))_第5頁(yè)
已閱讀5頁(yè),還剩115頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1嵌入式系統(tǒng)設(shè)計(jì)嵌入式系統(tǒng)設(shè)計(jì)ARMARM與與 C/OS-C/OS-2嵌入式系統(tǒng)的軟嵌入式系統(tǒng)的軟/硬件框架硬件框架機(jī)械裝置機(jī)械裝置嵌入式嵌入式微處理器微處理器SDRAMSDRAMROMROMI/OI/OA/DA/DD/AD/A人機(jī)交互接口人機(jī)交互接口通用接口通用接口實(shí)時(shí)操作系統(tǒng)(實(shí)時(shí)操作系統(tǒng)(RTOS)RTOS)圖形用戶圖形用戶接口接口BSP/HAL 硬件抽象層/板極支持包BSP/HAL 硬件抽象層/板極支持包任務(wù)管理任務(wù)管理文件系統(tǒng)文件系統(tǒng)應(yīng)用程序應(yīng)用程序嵌入式計(jì)算機(jī)系統(tǒng)嵌入式計(jì)算機(jī)系統(tǒng)傳感器1傳感器1傳感器2傳感器2傳感器N傳感器N.驅(qū)動(dòng)器1驅(qū)動(dòng)器1驅(qū)動(dòng)器2驅(qū)動(dòng)器2驅(qū)動(dòng)器N驅(qū)動(dòng)器N.硬件

2、層硬件層軟件層軟件層中間層中間層功能層功能層被控對(duì)象被控對(duì)象334嵌入式系統(tǒng)的設(shè)計(jì)步驟嵌入式系統(tǒng)的設(shè)計(jì)步驟體系結(jié)構(gòu)設(shè)計(jì)系統(tǒng)需求分析:規(guī)格說(shuō)明書(shū)機(jī)械系統(tǒng)設(shè)計(jì)硬件設(shè)計(jì)軟件設(shè)計(jì)系統(tǒng)集成系統(tǒng)測(cè)試產(chǎn)品51 1)需求分析階段)需求分析階段l分析用戶的需求分析用戶的需求l確定硬件軟件確定硬件軟件l檢查需求分析的結(jié)果檢查需求分析的結(jié)果l確定項(xiàng)目的約束條件確定項(xiàng)目的約束條件l概要設(shè)計(jì)概要設(shè)計(jì)6需求分析需求分析- -羅列用戶的需求羅列用戶的需求(1 1)系統(tǒng)用于什么任務(wù)?)系統(tǒng)用于什么任務(wù)?(2 2)系統(tǒng)從用戶或其他源接收什么輸入?)系統(tǒng)從用戶或其他源接收什么輸入?(3 3)系統(tǒng)從用戶或其他源輸出什么?)系統(tǒng)從用

3、戶或其他源輸出什么?(4 4)用戶想要如何同系統(tǒng)打交道?)用戶想要如何同系統(tǒng)打交道?(5 5)系統(tǒng)的重量和體積如何?)系統(tǒng)的重量和體積如何?(6 6)系統(tǒng)連接何種外設(shè)?)系統(tǒng)連接何種外設(shè)?(7 7)系統(tǒng)是否需要運(yùn)行某些現(xiàn)存的軟件?)系統(tǒng)是否需要運(yùn)行某些現(xiàn)存的軟件?(8 8)系統(tǒng)處理哪種類型的數(shù)據(jù)?)系統(tǒng)處理哪種類型的數(shù)據(jù)?(9 9)系統(tǒng)是否要與別的系統(tǒng)通訊?)系統(tǒng)是否要與別的系統(tǒng)通訊?(1010)系統(tǒng)是單機(jī)還是網(wǎng)絡(luò)系統(tǒng)?)系統(tǒng)是單機(jī)還是網(wǎng)絡(luò)系統(tǒng)?7需求分析需求分析- -羅列用戶的需求羅列用戶的需求(1111)系統(tǒng)的響應(yīng)時(shí)間是多少?)系統(tǒng)的響應(yīng)時(shí)間是多少?(1212)需要什么安全措施?)需要什么

4、安全措施?(1313)系統(tǒng)在什么樣的環(huán)境下運(yùn)行?)系統(tǒng)在什么樣的環(huán)境下運(yùn)行?(1414)外部存儲(chǔ)媒介和內(nèi)存需要多大?)外部存儲(chǔ)媒介和內(nèi)存需要多大?(1515)系統(tǒng)的可拆裝性,可靠性和牢固性的期望值是什么)系統(tǒng)的可拆裝性,可靠性和牢固性的期望值是什么(1616)如何給系統(tǒng)供電?)如何給系統(tǒng)供電?(1717)系統(tǒng)如何向用戶通報(bào)故障?)系統(tǒng)如何向用戶通報(bào)故障?(1818)是否需要任何手動(dòng)或機(jī)械代用裝置?)是否需要任何手動(dòng)或機(jī)械代用裝置?(1919)系統(tǒng)是否將具有遠(yuǎn)程診斷或更正問(wèn)題的功能?)系統(tǒng)是否將具有遠(yuǎn)程診斷或更正問(wèn)題的功能?(2020)其他問(wèn)題)其他問(wèn)題82 2)體系結(jié)構(gòu)設(shè)計(jì))體系結(jié)構(gòu)設(shè)計(jì)l決定

5、因素決定因素l系統(tǒng)是硬實(shí)時(shí)系統(tǒng)還是軟實(shí)時(shí)系統(tǒng)系統(tǒng)是硬實(shí)時(shí)系統(tǒng)還是軟實(shí)時(shí)系統(tǒng)l操作系統(tǒng)是否需要嵌入操作系統(tǒng)是否需要嵌入l物理系統(tǒng)的成本、尺寸和耗電量是否是產(chǎn)物理系統(tǒng)的成本、尺寸和耗電量是否是產(chǎn)品成功的關(guān)鍵因素品成功的關(guān)鍵因素l選擇處理器和相關(guān)硬件選擇處理器和相關(guān)硬件1.1.其他其他93 3)詳細(xì)設(shè)計(jì)階段)詳細(xì)設(shè)計(jì)階段- -硬件與軟件劃分硬件與軟件劃分決定哪些用硬件實(shí)現(xiàn),哪些用軟件實(shí)現(xiàn)?決定哪些用硬件實(shí)現(xiàn),哪些用軟件實(shí)現(xiàn)?例如:例如:l浮點(diǎn)運(yùn)算浮點(diǎn)運(yùn)算l網(wǎng)絡(luò)通信控制器實(shí)現(xiàn)的功能網(wǎng)絡(luò)通信控制器實(shí)現(xiàn)的功能l軟調(diào)制解調(diào)器軟調(diào)制解調(diào)器/ /硬調(diào)制解調(diào)器硬調(diào)制解調(diào)器1.1.軟件壓縮解壓軟件壓縮解壓/ /硬件

6、壓縮解壓圖像硬件壓縮解壓圖像10詳細(xì)設(shè)計(jì)階段詳細(xì)設(shè)計(jì)階段- -硬件設(shè)計(jì)硬件設(shè)計(jì)l設(shè)計(jì)硬件子系統(tǒng):設(shè)計(jì)硬件子系統(tǒng):top-downtop-down方法方法l分成模塊分成模塊l設(shè)計(jì)框圖設(shè)計(jì)框圖l例:例:CPUCPU子系統(tǒng)、存儲(chǔ)器子系統(tǒng)等子系統(tǒng)、存儲(chǔ)器子系統(tǒng)等l定義硬件接口定義硬件接口lI/OI/O端口端口l硬件寄存器硬件寄存器l共享內(nèi)存共享內(nèi)存l硬件中斷硬件中斷l(xiāng)存儲(chǔ)器空間分配存儲(chǔ)器空間分配l處理器的運(yùn)行速度處理器的運(yùn)行速度11詳細(xì)設(shè)計(jì)階段詳細(xì)設(shè)計(jì)階段- -軟件設(shè)計(jì)軟件設(shè)計(jì)設(shè)計(jì)軟件子系統(tǒng)設(shè)計(jì)軟件子系統(tǒng)總體設(shè)計(jì)、模塊設(shè)計(jì)總體設(shè)計(jì)、模塊設(shè)計(jì)定義軟件接口定義軟件接口模塊接口、函數(shù)接口模塊接口、函數(shù)接口1

7、2詳細(xì)設(shè)計(jì)階段詳細(xì)設(shè)計(jì)階段- -檢查設(shè)計(jì)檢查設(shè)計(jì)l小項(xiàng)目小項(xiàng)目l自己審查設(shè)計(jì)文檔自己審查設(shè)計(jì)文檔l中等項(xiàng)目中等項(xiàng)目l拿給同事朋友并向他們解釋你的設(shè)計(jì)拿給同事朋友并向他們解釋你的設(shè)計(jì) l大型項(xiàng)目大型項(xiàng)目- -審查會(huì)審查會(huì)l設(shè)計(jì)者應(yīng)作一個(gè)更正式的報(bào)告。由于這是一設(shè)計(jì)者應(yīng)作一個(gè)更正式的報(bào)告。由于這是一個(gè)設(shè)計(jì)審查會(huì),召集一群人,主要由工程師個(gè)設(shè)計(jì)審查會(huì),召集一群人,主要由工程師組成,并盡可能包括一些對(duì)項(xiàng)目有不同看法組成,并盡可能包括一些對(duì)項(xiàng)目有不同看法角度的成員,如做市場(chǎng)的人員、最終用戶角度的成員,如做市場(chǎng)的人員、最終用戶 134 4)系統(tǒng)集成)系統(tǒng)集成把系統(tǒng)的軟件、硬件和執(zhí)行裝置集成在一起,把系統(tǒng)的

8、軟件、硬件和執(zhí)行裝置集成在一起,進(jìn)行調(diào)試,發(fā)現(xiàn)并改進(jìn)設(shè)計(jì)過(guò)程中的錯(cuò)誤。進(jìn)行調(diào)試,發(fā)現(xiàn)并改進(jìn)設(shè)計(jì)過(guò)程中的錯(cuò)誤。5 5)系統(tǒng)測(cè)試)系統(tǒng)測(cè)試對(duì)設(shè)計(jì)好的系統(tǒng)進(jìn)行測(cè)試,看其是否滿足給定對(duì)設(shè)計(jì)好的系統(tǒng)進(jìn)行測(cè)試,看其是否滿足給定的要求。的要求。14嵌入式系統(tǒng)的硬件體系結(jié)構(gòu)嵌入式系統(tǒng)的硬件體系結(jié)構(gòu)通用嵌入式微處理器應(yīng)用軟件數(shù)據(jù)可重構(gòu)計(jì)算部件配置存儲(chǔ)器數(shù)據(jù)ASIC數(shù)據(jù)通用微處理器可重構(gòu)計(jì)算機(jī)ASIC15基于基于ARM和和FPGA的嵌入式系統(tǒng)可重構(gòu)設(shè)計(jì)的嵌入式系統(tǒng)可重構(gòu)設(shè)計(jì)ARM7TDMI嵌入式微處理器內(nèi)存8MBSDRAM電子硬盤(pán)16MBFLASHBIOS1MBFLASH微處理器模塊FPGA配置存儲(chǔ)器輸入輸出接口

9、FPGAI/O模塊16S3C2410的內(nèi)部結(jié)構(gòu)172410的存儲(chǔ)器系統(tǒng)的存儲(chǔ)器系統(tǒng) 可通過(guò)軟件選擇大小端可通過(guò)軟件選擇大小端 地址空間地址空間:每個(gè)每個(gè)Bank 128Mbytes (總共總共 1GB) 共共 8 個(gè)個(gè)banksl6個(gè)個(gè)Bank用于控制用于控制 ROM, SRAM, etc.l剩余的兩個(gè)剩余的兩個(gè)Bank用于控制用于控制 ROM, SRAM, SDRAM, etc . 除除 bank0 (16/32-bit) 外,所有的外,所有的Bank都可以通過(guò)編程選擇總線都可以通過(guò)編程選擇總線寬度寬度= (8/16/32-bit) 7個(gè)個(gè)Bank固定起始地址;固定起始地址; 最后一個(gè)最后一

10、個(gè)Bank可調(diào)整起始地址;可調(diào)整起始地址; 最后兩個(gè)最后兩個(gè)Bank大小可編程大小可編程所有所有Bank存儲(chǔ)周期可編程控制;存儲(chǔ)周期可編程控制;18S3C2410的存儲(chǔ)器配置的存儲(chǔ)器配置19實(shí)驗(yàn)平臺(tái)的體系結(jié)構(gòu)20基于基于ARM的嵌入式系統(tǒng)硬件結(jié)構(gòu)設(shè)計(jì)的嵌入式系統(tǒng)硬件結(jié)構(gòu)設(shè)計(jì)主要介紹基于主要介紹基于ARM7的嵌入式硬件開(kāi)發(fā)平的嵌入式硬件開(kāi)發(fā)平臺(tái)的設(shè)計(jì)方法,包括結(jié)構(gòu)、主要接口、存儲(chǔ)器臺(tái)的設(shè)計(jì)方法,包括結(jié)構(gòu)、主要接口、存儲(chǔ)器選用方案以及外設(shè)、顯示等方面的內(nèi)容。選用方案以及外設(shè)、顯示等方面的內(nèi)容。 l嵌入式硬件開(kāi)發(fā)平臺(tái)的體系結(jié)構(gòu)嵌入式硬件開(kāi)發(fā)平臺(tái)的體系結(jié)構(gòu)l外圍存儲(chǔ)器接口設(shè)計(jì)方法外圍存儲(chǔ)器接口設(shè)計(jì)方法

11、l鍵盤(pán)、鍵盤(pán)、LCD等人機(jī)交互接口的設(shè)計(jì)等人機(jī)交互接口的設(shè)計(jì)l觸摸屏的設(shè)計(jì)觸摸屏的設(shè)計(jì)l以太網(wǎng)設(shè)計(jì)以太網(wǎng)設(shè)計(jì)21基于基于ARMARM的嵌入式硬件平臺(tái)體系結(jié)構(gòu)的嵌入式硬件平臺(tái)體系結(jié)構(gòu)22ARM實(shí)驗(yàn)平臺(tái)與實(shí)驗(yàn)平臺(tái)與PC機(jī)連接關(guān)系框圖機(jī)連接關(guān)系框圖基于ARM架構(gòu)的32位微處理器SamsungS3C44B0X1MB線性Flash(BIOS)8MBSDRM(系統(tǒng)內(nèi)存)16MB非線性Flash( 硬盤(pán))USB接口USBN9603兩個(gè)RS-232串行通信接口JTAG調(diào)試端口LCD顯示鍵盤(pán)輸入TCP/IP協(xié)議CAN BUSARM硬件開(kāi)發(fā)平臺(tái)PC機(jī)USB口并口RS232Jtag電纜網(wǎng)口23嵌入式開(kāi)發(fā)板與嵌入式開(kāi)

12、發(fā)板與PCPC機(jī)的串行通訊機(jī)的串行通訊嵌入式開(kāi)發(fā)板和嵌入式開(kāi)發(fā)板和PC機(jī)的通訊電纜可以按照如圖機(jī)的通訊電纜可以按照如圖所示的方式連接。所示的方式連接。24lARMARM架構(gòu)的處理器有的帶有指令快存和數(shù)據(jù)快架構(gòu)的處理器有的帶有指令快存和數(shù)據(jù)快存。但是片內(nèi)都不帶有存。但是片內(nèi)都不帶有RAMRAM和和ROMROM。 系統(tǒng)所需的系統(tǒng)所需的RAMRAM和和ROMROM(包括閃存)都通過(guò)總線外接。(包括閃存)都通過(guò)總線外接。l快存(快存(CacheCache)是一種小容量、高速度的存儲(chǔ))是一種小容量、高速度的存儲(chǔ)器,用于處理器與主存之間存放當(dāng)前被使用的主器,用于處理器與主存之間存放當(dāng)前被使用的主存內(nèi)容,以

13、減少訪問(wèn)主存的等待時(shí)間。存內(nèi)容,以減少訪問(wèn)主存的等待時(shí)間。2525 高速緩沖存儲(chǔ)器工作原理高速緩沖存儲(chǔ)器工作原理26存儲(chǔ)系統(tǒng)的構(gòu)成分析存儲(chǔ)系統(tǒng)的構(gòu)成分析以基于以基于S3C44B0XS3C44B0X的存儲(chǔ)系統(tǒng)為例:的存儲(chǔ)系統(tǒng)為例: v支持?jǐn)?shù)據(jù)存儲(chǔ)的大支持?jǐn)?shù)據(jù)存儲(chǔ)的大/ /小端選擇小端選擇( (通過(guò)外部引腳和程序通過(guò)外部引腳和程序進(jìn)行選擇進(jìn)行選擇) )v地址空間:具有地址空間:具有8 8個(gè)存儲(chǔ)體,每個(gè)存儲(chǔ)體可達(dá)個(gè)存儲(chǔ)體,每個(gè)存儲(chǔ)體可達(dá)32Mb32Mb,總共可達(dá)總共可達(dá)256MB256MB。v對(duì)所有存儲(chǔ)體的訪問(wèn)大小均可進(jìn)行改變(對(duì)所有存儲(chǔ)體的訪問(wèn)大小均可進(jìn)行改變(8 8位位1616位位3232位)位

14、)v8 8個(gè)個(gè)BankBank中,中,Bank0Bank0Bank5Bank5可支持可支持ROMROM、SRAMSRAM;Bank6Bank6、Bank7Bank7可支持可支持ROMROM、SRAMSRAM和和EDOEDOSDRAMSDRAM等。等。27典型系統(tǒng)中存儲(chǔ)體的分配情況典型系統(tǒng)中存儲(chǔ)體的分配情況存儲(chǔ)體存儲(chǔ)體與存儲(chǔ)體的接口與存儲(chǔ)體的接口Bank0BIOS 512K2FlashBank116M Flash 硬盤(pán)硬盤(pán)Bank2USB接口接口Bank3LCD顯示模塊顯示模塊Bank4保留保留Bank5保留保留Bank6系統(tǒng)內(nèi)存系統(tǒng)內(nèi)存SDRAMBank7保留保留28系統(tǒng)的存儲(chǔ)空間分配系統(tǒng)的存

15、儲(chǔ)空間分配lBank0:1Bank0:1片片2MB NOR Flash2MB NOR Flash,放置系統(tǒng)引導(dǎo)程序,系統(tǒng)上,放置系統(tǒng)引導(dǎo)程序,系統(tǒng)上電復(fù)位后,電復(fù)位后,PCPC指針自動(dòng)指向指針自動(dòng)指向Bank0Bank0的第一個(gè)單元,進(jìn)行的第一個(gè)單元,進(jìn)行系統(tǒng)自舉。以便從硬盤(pán)中將系統(tǒng)文件和用戶應(yīng)用程序復(fù)系統(tǒng)自舉。以便從硬盤(pán)中將系統(tǒng)文件和用戶應(yīng)用程序復(fù)制到制到SDRAMSDRAM內(nèi)存中執(zhí)行。內(nèi)存中執(zhí)行。lBank1Bank1:非線性尋址。:非線性尋址。Bank1Bank1上接上接16M NAND Flash16M NAND Flash,當(dāng)做,當(dāng)做系統(tǒng)硬盤(pán)使用,可以構(gòu)造文件系統(tǒng),存放海量數(shù)據(jù)。系統(tǒng)

16、硬盤(pán)使用,可以構(gòu)造文件系統(tǒng),存放海量數(shù)據(jù)。l用用SDRAMSDRAM當(dāng)作系統(tǒng)內(nèi)存,只有當(dāng)作系統(tǒng)內(nèi)存,只有Bank6/Bank7Bank6/Bank7能支持能支持SDRAMSDRAM,所以將,所以將SDRAMSDRAM接在接在Bank6Bank6上。上。lBank2Bank2:PDIUSBD12PDIUSBD12。USBUSB設(shè)備端接口芯片,占用系統(tǒng)外設(shè)備端接口芯片,占用系統(tǒng)外部中斷部中斷0 0。8 8位數(shù)據(jù)總線。位數(shù)據(jù)總線。29lBank5Bank5:RTL8019ASRTL8019AS,ISAISA總線兼容的總線兼容的10M10M以太網(wǎng)(以太網(wǎng)(PHYPHYMACMAC層)控制芯片。占用系統(tǒng)

17、外部中斷層)控制芯片。占用系統(tǒng)外部中斷1 1,1616位數(shù)據(jù)總線位數(shù)據(jù)總線;擴(kuò)展;擴(kuò)展IOIO口口lBank6Bank6:SDRAMSDRAM,起始地址為,起始地址為0 xC0000000 xC000000。在。在SDRAMSDRAM中,前中,前512Kbyte512Kbyte的空間劃分出來(lái),作為系統(tǒng)的的空間劃分出來(lái),作為系統(tǒng)的LCDLCD顯示緩沖區(qū)顯示緩沖區(qū)使用(更新其中的數(shù)據(jù),就可以更新使用(更新其中的數(shù)據(jù),就可以更新LCDLCD的顯示)。系的顯示)。系統(tǒng)的程序存儲(chǔ)空間從統(tǒng)的程序存儲(chǔ)空間從0 xC0800000 xC080000開(kāi)始。也就是,引導(dǎo)系開(kāi)始。也就是,引導(dǎo)系統(tǒng)的時(shí)候,需要把統(tǒng)的時(shí)

18、候,需要把system.binsystem.bin文件復(fù)制到文件復(fù)制到0 xC0800000 xC080000開(kāi)開(kāi)始的地址空間,把始的地址空間,把PCPC指針指向指針指向0 xC0800000 xC080000。303) Boot Loader3) Boot Loader的任務(wù)的任務(wù)lBoot LoaderBoot Loader是系統(tǒng)加電后首先運(yùn)行的一段代碼,完成是系統(tǒng)加電后首先運(yùn)行的一段代碼,完成整個(gè)系統(tǒng)的加載啟動(dòng)任務(wù)。它首先完成系統(tǒng)硬件的初始整個(gè)系統(tǒng)的加載啟動(dòng)任務(wù)。它首先完成系統(tǒng)硬件的初始化,包括時(shí)鐘的設(shè)置、存儲(chǔ)器的映射等。并設(shè)置堆棧指化,包括時(shí)鐘的設(shè)置、存儲(chǔ)器的映射等。并設(shè)置堆棧指針,然

19、后跳轉(zhuǎn)到操作系統(tǒng)內(nèi)核入口,如系統(tǒng)在加電或復(fù)針,然后跳轉(zhuǎn)到操作系統(tǒng)內(nèi)核入口,如系統(tǒng)在加電或復(fù)位時(shí)通常從地址位時(shí)通常從地址0 x000000000 x00000000處開(kāi)始執(zhí)行,而在這個(gè)地址處開(kāi)始執(zhí)行,而在這個(gè)地址處安排的通常就是系統(tǒng)的處安排的通常就是系統(tǒng)的Boot LoaderBoot Loader程序。程序。l每種嵌入式微處理器體系結(jié)構(gòu)都有不同的每種嵌入式微處理器體系結(jié)構(gòu)都有不同的Boot LoaderBoot Loader。通常,。通常, Boot LoaderBoot Loader只有幾十只有幾十KBKB的大小,其作用相當(dāng)?shù)拇笮?,其作用相?dāng)于普通于普通pcpc機(jī)的機(jī)的BIOSBIOS,是在

20、系統(tǒng)復(fù)位后執(zhí)行的第一段代碼,是在系統(tǒng)復(fù)位后執(zhí)行的第一段代碼31Boot Loader Boot Loader 的操作模式的操作模式啟動(dòng)加載模式啟動(dòng)加載模式(AutonomousAutonomous) : Boot Loader Boot Loader 從目標(biāo)機(jī)的固體存儲(chǔ)設(shè)備上將操作系統(tǒng)加載到從目標(biāo)機(jī)的固體存儲(chǔ)設(shè)備上將操作系統(tǒng)加載到RAMRAM中運(yùn)中運(yùn)行,整個(gè)過(guò)程并沒(méi)有用戶的介入。這種模式是行,整個(gè)過(guò)程并沒(méi)有用戶的介入。這種模式是 Boot Boot Loader Loader 的正常工作模式,因此在嵌入式產(chǎn)品發(fā)布的的正常工作模式,因此在嵌入式產(chǎn)品發(fā)布的時(shí)侯,時(shí)侯,Boot Loader Boo

21、t Loader 顯然必須工作在這種模式下。顯然必須工作在這種模式下。32下載模式:目標(biāo)機(jī)中的下載模式:目標(biāo)機(jī)中的Boot Loader Boot Loader 通過(guò)串通過(guò)串口或網(wǎng)絡(luò)連接等通信手段從宿主機(jī)上下載口或網(wǎng)絡(luò)連接等通信手段從宿主機(jī)上下載文件,如操作系統(tǒng)的內(nèi)核映像和根文件的文件,如操作系統(tǒng)的內(nèi)核映像和根文件的映像等。從宿主級(jí)上下載的文件通常首先映像等。從宿主級(jí)上下載的文件通常首先被被Boot Loader Boot Loader 保存到目標(biāo)機(jī)的保存到目標(biāo)機(jī)的RAMRAM中,然中,然后再被后再被Boot Loader Boot Loader 寫(xiě)到目標(biāo)機(jī)的寫(xiě)到目標(biāo)機(jī)的FlashFlash中

22、中。這種模式通常在第。這種模式通常在第1 1次安裝操作系統(tǒng)內(nèi)核次安裝操作系統(tǒng)內(nèi)核和根文件系統(tǒng)時(shí)被使用,另外系統(tǒng)更新時(shí)和根文件系統(tǒng)時(shí)被使用,另外系統(tǒng)更新時(shí)也會(huì)使用這種方式。也會(huì)使用這種方式。334 4)存儲(chǔ)管理單元)存儲(chǔ)管理單元MMUMMU 虛擬內(nèi)存管理占用了相當(dāng)一部分系統(tǒng)資源,因此在虛擬內(nèi)存管理占用了相當(dāng)一部分系統(tǒng)資源,因此在系統(tǒng)資源非常有限的嵌入式系統(tǒng)中可不采用虛擬內(nèi)存系統(tǒng)資源非常有限的嵌入式系統(tǒng)中可不采用虛擬內(nèi)存管理,使用不帶有管理,使用不帶有MMUMMU的微處理器。這樣要采用動(dòng)態(tài)的微處理器。這樣要采用動(dòng)態(tài)內(nèi)存管理方式,即當(dāng)程序的某一部分需要使用內(nèi)存時(shí)內(nèi)存管理方式,即當(dāng)程序的某一部分需要使

23、用內(nèi)存時(shí),利用操作系統(tǒng)提供的分配函數(shù)來(lái)處理,一旦使用完,利用操作系統(tǒng)提供的分配函數(shù)來(lái)處理,一旦使用完畢,可通過(guò)釋放函數(shù)來(lái)釋放所占用的內(nèi)存,這樣內(nèi)存畢,可通過(guò)釋放函數(shù)來(lái)釋放所占用的內(nèi)存,這樣內(nèi)存就可以重復(fù)使用。就可以重復(fù)使用。 34 但在具有但在具有MMUMMU的的ARMARM系統(tǒng)中,存儲(chǔ)管理單元系統(tǒng)中,存儲(chǔ)管理單元MMUMMU主要完成工作:主要完成工作:l虛擬存儲(chǔ)空間到物理存儲(chǔ)空間的映射。在虛擬存儲(chǔ)空間到物理存儲(chǔ)空間的映射。在ARMARM中采用了頁(yè)式虛擬存儲(chǔ)管理。中采用了頁(yè)式虛擬存儲(chǔ)管理。l存儲(chǔ)器訪問(wèn)權(quán)限的控制。存儲(chǔ)器訪問(wèn)權(quán)限的控制。l設(shè)置虛擬存儲(chǔ)空間的緩沖的特性。設(shè)置虛擬存儲(chǔ)空間的緩沖的特性

24、。352410的UARTl S3C2410A S3C2410A 的的UART (Universal Asynchronous Receiver UART (Universal Asynchronous Receiver and Transmitter) and Transmitter) 提供了三個(gè)獨(dú)立的異步串行提供了三個(gè)獨(dú)立的異步串行I/OI/O口,每口,每一個(gè)都可以工作在中斷模式或一個(gè)都可以工作在中斷模式或DMADMA模式,即模式,即UARTUART可以產(chǎn)生中可以產(chǎn)生中斷或斷或DMADMA請(qǐng)求以在請(qǐng)求以在CPUCPU和和UARTUART之前傳送數(shù)據(jù),使用系統(tǒng)時(shí)鐘之前傳送數(shù)據(jù),使用系統(tǒng)時(shí)鐘,U

25、ARTUART最高可以支持最高可以支持230.4K bps 230.4K bps 的位傳輸率。的位傳輸率。l如果采用外部帶時(shí)鐘的如果采用外部帶時(shí)鐘的UARTUART,則,則UARTUART可以實(shí)現(xiàn)更度速度的可以實(shí)現(xiàn)更度速度的傳輸;傳輸;l每個(gè)每個(gè)UARTUART包括包括2 2個(gè)個(gè)16Byte16Byte的接收的接收/ /發(fā)送發(fā)送FIFOFIFO。36UART控制框圖37異步串行通訊簡(jiǎn)介l在一條傳輸線上完成單向傳輸。在一條傳輸線上完成單向傳輸。l將傳輸數(shù)據(jù)的字符一位接一位的傳送。將傳輸數(shù)據(jù)的字符一位接一位的傳送。l接收方對(duì)于同一條線上的一連串連續(xù)數(shù)學(xué)信號(hào),首先將接收方對(duì)于同一條線上的一連串連續(xù)數(shù)

26、學(xué)信號(hào),首先將其分割成位,再按位組成字符。其分割成位,再按位組成字符。l每個(gè)字符需要確定起始位和結(jié)束位,字符與字符間還可每個(gè)字符需要確定起始位和結(jié)束位,字符與字符間還可能有長(zhǎng)度不定的空閑時(shí)間,因此傳輸效率較低。能有長(zhǎng)度不定的空閑時(shí)間,因此傳輸效率較低。38字符串行輸出格式:發(fā)送前:線路處于空閑狀態(tài),連續(xù)發(fā)送發(fā)送前:線路處于空閑狀態(tài),連續(xù)發(fā)送 “1”開(kāi)始發(fā)送:首先,發(fā)送一位起始位開(kāi)始發(fā)送:首先,發(fā)送一位起始位 “0” 然后,發(fā)送連續(xù)的二進(jìn)制位,數(shù)據(jù)位可以為然后,發(fā)送連續(xù)的二進(jìn)制位,數(shù)據(jù)位可以為5、6、7、8 隨后,緊跟一位奇偶校驗(yàn)位(可選擇奇隨后,緊跟一位奇偶校驗(yàn)位(可選擇奇/偶偶/無(wú)校驗(yàn))無(wú)校

27、驗(yàn)) 最后,發(fā)送停止位最后,發(fā)送停止位 “1”,可以有,可以有1位、位、1.5位或位或2位停止位位停止位39串行通訊硬件規(guī)范及連接方法lEIA RS-232C 物理特征:物理特征: DB-25 DB-15 DB-9 信號(hào)連線:保護(hù)地、信號(hào)連線:保護(hù)地、TXD/RXD、RTS/CTS、DCD、 DSR、DTR、R1 電平規(guī)定:電平規(guī)定:-5V -15V 之間的電平表示邏輯之間的電平表示邏輯 “1” +5V +15V 之間的電平表示邏輯之間的電平表示邏輯 “0”4041UART的操作串口初始化串口初始化發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù)接收數(shù)據(jù)接收數(shù)據(jù)42人機(jī)交互接口人機(jī)交互接口43嵌入式開(kāi)發(fā)板與PC機(jī)的串行通訊嵌

28、入式開(kāi)發(fā)板和嵌入式開(kāi)發(fā)板和PC機(jī)的通訊電纜可以按照如圖所示的方式連接。機(jī)的通訊電纜可以按照如圖所示的方式連接。44人機(jī)交互接口人機(jī)交互接口LCD顯示模塊顯示模塊液晶顯示是一種被動(dòng)的顯示,它不能發(fā)液晶顯示是一種被動(dòng)的顯示,它不能發(fā)光,只能使用周?chē)h(huán)境的光。它顯示圖案或光,只能使用周?chē)h(huán)境的光。它顯示圖案或字符只需很小能量。液晶顯示所用的液晶材字符只需很小能量。液晶顯示所用的液晶材料是一種兼有液態(tài)和固體雙重性質(zhì)的有機(jī)物料是一種兼有液態(tài)和固體雙重性質(zhì)的有機(jī)物,它的棒狀結(jié)構(gòu)在液晶盒內(nèi)一般平行排列,它的棒狀結(jié)構(gòu)在液晶盒內(nèi)一般平行排列,但在電場(chǎng)作用下能改變其排列方向但在電場(chǎng)作用下能改變其排列方向45LCD

29、LCD有三種顯示方式有三種顯示方式LCD有三種顯示方式:反射型,透射型和透有三種顯示方式:反射型,透射型和透反射型。反射型。(1)反射型反射型LCD的底偏光片后面加了一塊反射的底偏光片后面加了一塊反射板,它一般在戶外和光線良好的辦公室使用。板,它一般在戶外和光線良好的辦公室使用。(2)透射型透射型LCD的底偏光片是透射偏光片,它的底偏光片是透射偏光片,它需要連續(xù)使用背光源,一般在光線差的環(huán)境使用需要連續(xù)使用背光源,一般在光線差的環(huán)境使用。(3)透反射型透反射型LCD是處于以上兩者之間,底偏是處于以上兩者之間,底偏光片能部分反光,一般也帶背光源,光線好的時(shí)光片能部分反光,一般也帶背光源,光線好的

30、時(shí)候,可關(guān)掉背光源;光線差時(shí),可點(diǎn)亮背光源使候,可關(guān)掉背光源;光線差時(shí),可點(diǎn)亮背光源使用用LCD。46反射型反射型LCD的結(jié)構(gòu)的結(jié)構(gòu)47lLCD顯示方式還分正性和負(fù)性。正性顯示方式還分正性和負(fù)性。正性LCD呈現(xiàn)白底黑字,在反射和透反射型呈現(xiàn)白底黑字,在反射和透反射型LCD中顯示中顯示最佳;負(fù)性最佳;負(fù)性LCD呈現(xiàn)黑底白字,一般用于透射呈現(xiàn)黑底白字,一般用于透射型型LCD,加上背光源,字體清晰,易于閱讀。,加上背光源,字體清晰,易于閱讀。正顯模式(白底黑字)負(fù)顯模式(黑底白字)48lLCD通常有兩種方式,一種是帶有驅(qū)動(dòng)芯通常有兩種方式,一種是帶有驅(qū)動(dòng)芯片的片的LCD模塊,基本上屬于半成品模塊,基

31、本上屬于半成品l如果有需要,也可以直接使用芯片上的內(nèi)如果有需要,也可以直接使用芯片上的內(nèi)置置LCD控制器來(lái)構(gòu)造顯示模塊,它可以支持彩控制器來(lái)構(gòu)造顯示模塊,它可以支持彩色色/灰度灰度/單色三種模式,灰度模式下可支持單色三種模式,灰度模式下可支持4級(jí)級(jí)灰度和灰度和16級(jí)灰度,彩色模式下最多支持級(jí)灰度,彩色模式下最多支持256色色.49嵌入式處理器與嵌入式處理器與LCD的連接的連接嵌入嵌入式處式處理器理器LCD模塊模塊數(shù)據(jù)數(shù)據(jù)總線總線寄存器選擇寄存器選擇使能信號(hào)使能信號(hào)50鍵盤(pán)模塊鍵盤(pán)模塊l鍵盤(pán)模塊可以用來(lái)輸入數(shù)字型數(shù)據(jù)或者鍵盤(pán)模塊可以用來(lái)輸入數(shù)字型數(shù)據(jù)或者選擇控制設(shè)備的操作模式。選擇控制設(shè)備的操作

32、模式。l鍵盤(pán)有兩種方案:一是采用現(xiàn)有的一些鍵盤(pán)有兩種方案:一是采用現(xiàn)有的一些芯片實(shí)現(xiàn)鍵盤(pán)掃描;再就是用軟件實(shí)現(xiàn)鍵盤(pán)芯片實(shí)現(xiàn)鍵盤(pán)掃描;再就是用軟件實(shí)現(xiàn)鍵盤(pán)掃描。嵌入式控制器的功能很強(qiáng),能允分利掃描。嵌入式控制器的功能很強(qiáng),能允分利用這一資源用這一資源。51處理器I/O口VC C 簡(jiǎn)單鍵盤(pán)電路簡(jiǎn)單鍵盤(pán)電路按鍵抖動(dòng)按鍵抖動(dòng)52一個(gè)瞬時(shí)接觸開(kāi)一個(gè)瞬時(shí)接觸開(kāi)關(guān)(按鈕)放置在每關(guān)(按鈕)放置在每一行與線一列的交叉一行與線一列的交叉點(diǎn)。矩陣所需的鍵的點(diǎn)。矩陣所需的鍵的數(shù)目顯然根據(jù)應(yīng)用程數(shù)目顯然根據(jù)應(yīng)用程序而不同。每一行由序而不同。每一行由一個(gè)輸出端口的一位一個(gè)輸出端口的一位驅(qū)動(dòng),而每一列由一驅(qū)動(dòng),而每一列由

33、一個(gè)電阻器上拉且供給個(gè)電阻器上拉且供給輸入端口一位。輸入端口一位。A1A2A353A1A2A354l鍵盤(pán)掃描過(guò)程就是讓微處理器按有規(guī)律鍵盤(pán)掃描過(guò)程就是讓微處理器按有規(guī)律的時(shí)間間隔查看鍵盤(pán)矩陣,以確定是否有鍵的時(shí)間間隔查看鍵盤(pán)矩陣,以確定是否有鍵被按下。每個(gè)鍵被分配一個(gè)稱為掃描碼的唯被按下。每個(gè)鍵被分配一個(gè)稱為掃描碼的唯一標(biāo)識(shí)符。應(yīng)用程序利用該掃描碼,根據(jù)按一標(biāo)識(shí)符。應(yīng)用程序利用該掃描碼,根據(jù)按下的鍵來(lái)判定應(yīng)該采取什么行動(dòng)。下的鍵來(lái)判定應(yīng)該采取什么行動(dòng)。 55觸摸屏設(shè)計(jì)觸摸屏設(shè)計(jì)56觸摸屏分類觸摸屏分類l電阻式觸摸屏電阻式觸摸屏 l表面聲波觸摸屏表面聲波觸摸屏 l紅外式觸摸屏紅外式觸摸屏 l電容

34、式觸摸屏電容式觸摸屏57電阻式觸摸屏電阻式觸摸屏l電阻技術(shù)觸摸屏是一種對(duì)外界完全隔離的工作環(huán)境,故不怕灰塵電阻技術(shù)觸摸屏是一種對(duì)外界完全隔離的工作環(huán)境,故不怕灰塵、水汽和油污,可以用任何物體來(lái)觸摸,比較適合工業(yè)控制領(lǐng)域、水汽和油污,可以用任何物體來(lái)觸摸,比較適合工業(yè)控制領(lǐng)域及辦公室內(nèi)使用。及辦公室內(nèi)使用。 l分為四線電阻和五線電阻觸摸屏分為四線電阻和五線電阻觸摸屏58四線電阻觸摸屏原理四線電阻觸摸屏原理59測(cè)量原理測(cè)量原理l在觸摸點(diǎn)在觸摸點(diǎn)X、Y坐標(biāo)的測(cè)量過(guò)程中,測(cè)量電壓與測(cè)量點(diǎn)的等效電路圖所示,圖坐標(biāo)的測(cè)量過(guò)程中,測(cè)量電壓與測(cè)量點(diǎn)的等效電路圖所示,圖中中P為測(cè)量點(diǎn)為測(cè)量點(diǎn) XVYY60ARM

35、 JTAG調(diào)試調(diào)試61什么是什么是JTAG?lJTAG是是Joint Test Action Group的縮寫(xiě);的縮寫(xiě);是是IEEE1149.1標(biāo)準(zhǔn)標(biāo)準(zhǔn)lJTAG的建立使得集成電路固定在的建立使得集成電路固定在PCB上,只通過(guò)邊界上,只通過(guò)邊界掃描便可以被測(cè)試掃描便可以被測(cè)試l在在ARM7TDMI處理器中,可以通過(guò)處理器中,可以通過(guò)JTAG直接控制直接控制ARM的內(nèi)部總線,的內(nèi)部總線,IO口等信息,從而達(dá)到調(diào)試的目的口等信息,從而達(dá)到調(diào)試的目的6263幾種常用的調(diào)試方法幾種常用的調(diào)試方法l指令集模擬器指令集模擬器 一種利用一種利用PC機(jī)端的仿真開(kāi)發(fā)軟件模擬調(diào)試的方法。機(jī)端的仿真開(kāi)發(fā)軟件模擬調(diào)試

36、的方法。l駐留監(jiān)控軟件駐留監(jiān)控軟件 駐留監(jiān)控程序運(yùn)行在目標(biāo)板上,駐留監(jiān)控程序運(yùn)行在目標(biāo)板上,PC機(jī)端調(diào)試軟件可通過(guò)并口、串機(jī)端調(diào)試軟件可通過(guò)并口、串口、網(wǎng)口與之交互,以完成程序執(zhí)行、存儲(chǔ)器及寄存器讀寫(xiě)、斷口、網(wǎng)口與之交互,以完成程序執(zhí)行、存儲(chǔ)器及寄存器讀寫(xiě)、斷點(diǎn)設(shè)置等任務(wù)點(diǎn)設(shè)置等任務(wù)lJTAG仿真器仿真器 通過(guò)通過(guò)ARM芯片的芯片的JTAG邊界掃描口與邊界掃描口與ARM核進(jìn)行通信,不占用目核進(jìn)行通信,不占用目標(biāo)板的資源,是目前使用最廣泛的調(diào)試手段標(biāo)板的資源,是目前使用最廣泛的調(diào)試手段l在線仿真器在線仿真器(In-Circuit Emulator,ICE) 使用仿真頭代替目標(biāo)板上的使用仿真頭代替

37、目標(biāo)板上的CPU,可以完全仿真,可以完全仿真ARM芯片的行為芯片的行為。但結(jié)構(gòu)較復(fù)雜,價(jià)格昂貴,通常用于。但結(jié)構(gòu)較復(fù)雜,價(jià)格昂貴,通常用于ARM硬件開(kāi)發(fā)中硬件開(kāi)發(fā)中64ARM的的JTAG調(diào)試結(jié)構(gòu)調(diào)試結(jié)構(gòu)AngelJTAG65宿主機(jī)調(diào)試器宿主機(jī)調(diào)試器l宿主機(jī)調(diào)試器通過(guò)固定的協(xié)議控制下位機(jī)(協(xié)議轉(zhuǎn)換器宿主機(jī)調(diào)試器通過(guò)固定的協(xié)議控制下位機(jī)(協(xié)議轉(zhuǎn)換器)。比如,)。比如,SDT中通過(guò)中通過(guò)Angel協(xié)議或者第三方調(diào)試器所協(xié)議或者第三方調(diào)試器所提供的協(xié)議提供的協(xié)議l宿主機(jī)調(diào)試器只發(fā)送宏觀的命令,比如:宿主機(jī)調(diào)試器只發(fā)送宏觀的命令,比如:程序運(yùn)行、終止。讀內(nèi)存、程序運(yùn)行、終止。讀內(nèi)存、ARM寄存器等寄存器

38、等l通訊的介質(zhì)可以是串口、并口、以太網(wǎng)、通訊的介質(zhì)可以是串口、并口、以太網(wǎng)、USB等等66JTAG與與AngellJTAG調(diào)試:協(xié)議轉(zhuǎn)換器解釋上位機(jī)傳送過(guò)來(lái)的命令,調(diào)試:協(xié)議轉(zhuǎn)換器解釋上位機(jī)傳送過(guò)來(lái)的命令,通過(guò)通過(guò)JTAG控制控制ARM執(zhí)行。執(zhí)行。lAngel調(diào)試:協(xié)議轉(zhuǎn)換器可以直接做為目標(biāo)板的調(diào)試:協(xié)議轉(zhuǎn)換器可以直接做為目標(biāo)板的Firmware(固件固件)的一部分。直接執(zhí)行從宿主機(jī)傳送過(guò)的一部分。直接執(zhí)行從宿主機(jī)傳送過(guò)來(lái)的調(diào)試命令;并回送相應(yīng)的數(shù)據(jù)。來(lái)的調(diào)試命令;并回送相應(yīng)的數(shù)據(jù)。lAngel可以節(jié)省專門(mén)的可以節(jié)省專門(mén)的JTAG仿真器,但是,它需要軟仿真器,但是,它需要軟件,或者是嵌入式操作

39、系統(tǒng)的支持,做不到完全的實(shí)件,或者是嵌入式操作系統(tǒng)的支持,做不到完全的實(shí)時(shí)仿真。而時(shí)仿真。而JTAG仿真是通過(guò)硬件和控制仿真是通過(guò)硬件和控制ARM的的EmbeddedICE實(shí)現(xiàn)的,可以做到實(shí)時(shí)仿真。實(shí)現(xiàn)的,可以做到實(shí)時(shí)仿真。67 實(shí)驗(yàn)二講解實(shí)驗(yàn)二講解68鍵盤(pán)及鍵盤(pán)及LED驅(qū)動(dòng)實(shí)驗(yàn)驅(qū)動(dòng)實(shí)驗(yàn)6970一、實(shí)驗(yàn)?zāi)康囊弧?shí)驗(yàn)?zāi)康?學(xué)習(xí)鍵盤(pán)及學(xué)習(xí)鍵盤(pán)及LED 驅(qū)動(dòng)原理。驅(qū)動(dòng)原理。2掌握掌握zlg7289 芯片的使用方法。芯片的使用方法。二、實(shí)驗(yàn)內(nèi)容二、實(shí)驗(yàn)內(nèi)容 通過(guò)通過(guò)zlg7289 芯片驅(qū)動(dòng)芯片驅(qū)動(dòng)12 鍵(鍵(3 x 4)的)的鍵盤(pán)和鍵盤(pán)和8 個(gè)共陰極個(gè)共陰極LED,將按鍵值在,將按鍵值在LED 上顯

40、示出來(lái)。上顯示出來(lái)。717273ZLG7289A的指令分為三種類型:純指令的指令分為三種類型:純指令、帶有數(shù)據(jù)的指令和讀鍵盤(pán)數(shù)據(jù)指令。、帶有數(shù)據(jù)的指令和讀鍵盤(pán)數(shù)據(jù)指令。l復(fù)位指令復(fù)位指令 WriteSDIO(0 xA4)l測(cè)試指令測(cè)試指令 WriteSDIO(0 xBF)l左移指令左移指令 WriteSDIO(0 xA1)l右移指令右移指令 WriteSDIO(0 xA0)ZLG7289純指令(單字節(jié)指令)純指令(單字節(jié)指令)74雙字節(jié)指令雙字節(jié)指令(長(zhǎng)度為長(zhǎng)度為16位位,分兩次傳送分兩次傳送)l寫(xiě)數(shù)據(jù)指令寫(xiě)數(shù)據(jù)指令(方式方式0譯碼)譯碼) WriteSDIO(0 x8?); ?指定位,即在第

41、幾個(gè)數(shù)碼管指定位,即在第幾個(gè)數(shù)碼管 上顯示,開(kāi)發(fā)板最左邊管為上顯示,開(kāi)發(fā)板最左邊管為 No.1, 依次類推依次類推,見(jiàn)下表見(jiàn)下表WriteSDIO(?); ? 是欲顯示的數(shù)字是欲顯示的數(shù)字(09)A2A1A0數(shù)碼管編號(hào)000No.1001No.2010No.3011No.4100No.5101No.6110No.7111No.875l寫(xiě)數(shù)據(jù)指令寫(xiě)數(shù)據(jù)指令(方式方式1譯碼)譯碼) WriteSDIO(0 xC?); WriteSDIO(?); 含義同上條指令含義同上條指令l消隱指令消隱指令 WriteSDIO(0 x98); WriteSDIO(0 x?); ?中的每一個(gè)二進(jìn)制位均對(duì)應(yīng)著一個(gè)數(shù)碼

42、管中的每一個(gè)二進(jìn)制位均對(duì)應(yīng)著一個(gè)數(shù)碼管,0=消隱消隱,1=顯示顯示76l閃爍指令閃爍指令 WriteSDIO(0 x88); WriteSDIO(0 x?); ?中的每一個(gè)二進(jìn)制位均對(duì)應(yīng)著一個(gè)數(shù)碼管中的每一個(gè)二進(jìn)制位均對(duì)應(yīng)著一個(gè)數(shù)碼管,0=閃爍閃爍,1=不閃不閃77需要?jiǎng)邮志帉?xiě)的內(nèi)容需要?jiǎng)邮志帉?xiě)的內(nèi)容:在在zlg7289.c中中7289驅(qū)動(dòng)函數(shù)驅(qū)動(dòng)函數(shù)ZLG7289_ENABLE( ) 發(fā)復(fù)位命令發(fā)復(fù)位命令 WriteSDIO(0 xA4)ZLG7289_DISABLE( )延時(shí)延時(shí)Zlg 7289復(fù)位子函數(shù)流程圖復(fù)位子函數(shù)流程圖78從從7289讀取鍵值流程圖讀取鍵值流程圖ZLG7289_EN

43、ABLE()ZLG7289_DISABLE()讀取鍵制值讀取鍵制值ReadSDIO( )發(fā)送讀取鍵值命令發(fā)送讀取鍵值命令WriteSDIO(0 x15)79main.c中主函數(shù)流程圖中主函數(shù)流程圖開(kāi)發(fā)板初始化開(kāi)發(fā)板初始化7289復(fù)位復(fù)位鍵值讀取鍵值讀取延時(shí)延時(shí)開(kāi)啟開(kāi)啟7289發(fā)送個(gè)位數(shù)發(fā)送個(gè)位數(shù)延時(shí)延時(shí)鍵值鍵值9?發(fā)送十位數(shù)發(fā)送十位數(shù)顯示十、個(gè)位數(shù)顯示十、個(gè)位數(shù)只顯示個(gè)位只顯示個(gè)位關(guān)閉關(guān)閉7289是是否否80main.c中主函數(shù)流程圖中主函數(shù)流程圖開(kāi)發(fā)板初始化7289復(fù)位鍵值讀取延時(shí)開(kāi)啟7289發(fā)送個(gè)位數(shù)延時(shí)鍵值9?發(fā)送十位數(shù)顯示十、個(gè)位數(shù)只顯示個(gè)位關(guān)閉7289是否817289命令字定義命令字

44、定義#define ZLG7289_CMD_RST0 xA4/復(fù)位#define ZLG7289_CMD_TEST0 xBF/測(cè)試模式#define ZLG7289_CMD_LSHIFT0 xA1/左移#define ZLG7289_CMD_RSHIFT0 xA0/右移#define ZLG7289_CMD_CLSHIFT 0 xA3/循環(huán)左移#define ZLG7289_CMD_CRSHIFT 0 xA2/循環(huán)右移#define ZLG7289_CMD_DATA00 x80/下載數(shù)據(jù)且按方式0 譯碼#define ZLG7289_CMD_DATA10 xC8/下載數(shù)據(jù)且按方式1 譯碼#de

45、fine ZLG7289_CMD_DATA30 x90/下載數(shù)據(jù)但不譯碼#define ZLG7289_CMD_FLASH0 x88/閃爍控制#define ZLG7289_CMD_HIDE0 x98/消隱控制#define ZLG7289_CMD_LDOT0 xE0/段點(diǎn)亮指令#define ZLG7289_CMD_HDOT0 xC0/段關(guān)閉指令#define ZLG7289_CMD_RDKEY0 x15/讀鍵盤(pán)數(shù)據(jù)指令82DEF.h中定義的數(shù)據(jù)類型中定義的數(shù)據(jù)類型:#define U32 unsigned int#define BOOL int#define U16 unsigned sh

46、ort#define S32 int#define S16 short int#define U8 unsigned char#define S8 char#define u32 unsigned int#define u16 unsigned short#define s32 int#define s16 short int#define u8 unsigned char#define s8 char83嵌入式以太網(wǎng)設(shè)計(jì)嵌入式以太網(wǎng)設(shè)計(jì)84以太網(wǎng)接口的基本知識(shí)以太網(wǎng)接口的基本知識(shí) 1、傳輸編碼、傳輸編碼l曼徹斯特編碼曼徹斯特編碼l差分曼徹斯特編碼差分曼徹斯特編碼85以太網(wǎng)協(xié)議以太網(wǎng)協(xié)議 l以

47、太網(wǎng)以太網(wǎng)MAC層物理傳輸幀層物理傳輸幀 (IEEE802.3 )PRSDDASATYPEDATAPADFCS56位8位48位48位16位不超過(guò)1500字節(jié)可選32位PR:同步位,收發(fā)雙方的時(shí)鐘同步,也指明傳輸?shù)乃俾剩?0M、100M)SD:分隔位,表示下面跟著的是真正的數(shù)據(jù),而不是同步時(shí)鐘DA:目的地址,以太網(wǎng)的地址為48位地址。如果為都為F,則是廣播地址SA:源地址,48位,表明該幀的數(shù)據(jù)是哪個(gè)網(wǎng)卡發(fā)的,即發(fā)送端的網(wǎng)卡地址TYPE:類型字段,表明該幀的數(shù)據(jù)是什么類型的數(shù)據(jù)。如:0800H 表示數(shù)據(jù)為IP包,0806H表示數(shù)據(jù)為ARP包,814CH是SNMP包,8137H 為IPX/SPX包

48、 DATA:數(shù)據(jù)段,該段數(shù)據(jù)不能超過(guò)1500字節(jié)。PAD: 填充位。以太網(wǎng)幀傳輸?shù)臄?shù)據(jù)包最小不能小于60字節(jié), 當(dāng)數(shù)據(jù)段不足46字節(jié)時(shí),后面補(bǔ)000000.(當(dāng)然也可以補(bǔ)其它值)FCS: 32位CRC數(shù)據(jù)校驗(yàn)位。該校驗(yàn)由網(wǎng)卡自動(dòng)完成86以太網(wǎng)的數(shù)據(jù)傳輸特點(diǎn)以太網(wǎng)的數(shù)據(jù)傳輸特點(diǎn)lPR,SD,PAD,FCS這幾個(gè)數(shù)據(jù)段是由網(wǎng)卡自動(dòng)產(chǎn)生的;只需要理這幾個(gè)數(shù)據(jù)段是由網(wǎng)卡自動(dòng)產(chǎn)生的;只需要理解解DA、SA、TYPE、DATA四個(gè)段的內(nèi)容四個(gè)段的內(nèi)容l所有數(shù)據(jù)位的傳輸由低位開(kāi)始所有數(shù)據(jù)位的傳輸由低位開(kāi)始(傳輸?shù)奈涣魇褂寐鼜厮固鼐幋a傳輸?shù)奈涣魇褂寐鼜厮固鼐幋a) l以太網(wǎng)的沖突退避算法是由硬件自動(dòng)執(zhí)行的以太網(wǎng)

49、的沖突退避算法是由硬件自動(dòng)執(zhí)行的lDA+SA+TYPE+DATA+PAD最小為最小為60字節(jié)字節(jié),最大為最大為1514字節(jié)字節(jié)l以太網(wǎng)卡可以接收三種地址的數(shù)據(jù),一個(gè)是廣播地位,一個(gè)是多以太網(wǎng)卡可以接收三種地址的數(shù)據(jù),一個(gè)是廣播地位,一個(gè)是多播地址播地址(在嵌入式的環(huán)境中一般不用在嵌入式的環(huán)境中一般不用),一個(gè)是它自已的地址,一個(gè)是它自已的地址l任何兩個(gè)網(wǎng)卡的物理地址都是不一樣的,是世界上唯一的,網(wǎng)卡任何兩個(gè)網(wǎng)卡的物理地址都是不一樣的,是世界上唯一的,網(wǎng)卡地址由專門(mén)機(jī)構(gòu)分配。地址由專門(mén)機(jī)構(gòu)分配。87嵌入式的以太網(wǎng)方案嵌入式的以太網(wǎng)方案l嵌入式處理器網(wǎng)卡芯片(嵌入式處理器網(wǎng)卡芯片(RTL8019)

50、l對(duì)嵌入式處理器沒(méi)有特殊要求,通用性強(qiáng)對(duì)嵌入式處理器沒(méi)有特殊要求,通用性強(qiáng)l處理器和網(wǎng)絡(luò)數(shù)據(jù)交換通過(guò)外部總線,速度慢,不適合于處理器和網(wǎng)絡(luò)數(shù)據(jù)交換通過(guò)外部總線,速度慢,不適合于100M網(wǎng)絡(luò)網(wǎng)絡(luò)l帶有以太網(wǎng)絡(luò)接口的嵌入式處理器帶有以太網(wǎng)絡(luò)接口的嵌入式處理器l處理器面向網(wǎng)絡(luò)應(yīng)用處理器面向網(wǎng)絡(luò)應(yīng)用l處理器和網(wǎng)絡(luò)數(shù)據(jù)交換通過(guò)內(nèi)部總線,速度快處理器和網(wǎng)絡(luò)數(shù)據(jù)交換通過(guò)內(nèi)部總線,速度快88RTL8019的原理框圖的原理框圖89嵌入式網(wǎng)絡(luò)接口的特點(diǎn)嵌入式網(wǎng)絡(luò)接口的特點(diǎn)l與常規(guī)的網(wǎng)卡設(shè)計(jì)思路不同的是,在嵌入式系統(tǒng)中,系統(tǒng)的精簡(jiǎn)與常規(guī)的網(wǎng)卡設(shè)計(jì)思路不同的是,在嵌入式系統(tǒng)中,系統(tǒng)的精簡(jiǎn)一直是個(gè)主要的原則。一直是個(gè)主

51、要的原則。RTL8019AS作為網(wǎng)卡,時(shí)需要一片作為網(wǎng)卡,時(shí)需要一片EEPROM作為配置存儲(chǔ)器,來(lái)確定通訊的端口地址,中斷地址,作為配置存儲(chǔ)器,來(lái)確定通訊的端口地址,中斷地址,網(wǎng)卡的物理地址,工作模式,制造廠商等信息;網(wǎng)卡的物理地址,工作模式,制造廠商等信息;l而在嵌入式系統(tǒng)中,可以使用而在嵌入式系統(tǒng)中,可以使用RTL8019AS的默認(rèn)配置和一些管腳的默認(rèn)配置和一些管腳作為網(wǎng)卡的初始化方法。這樣可以節(jié)省配置存儲(chǔ)器,減小嵌入式作為網(wǎng)卡的初始化方法。這樣可以節(jié)省配置存儲(chǔ)器,減小嵌入式硬件平臺(tái)的體積。硬件平臺(tái)的體積。90基于基于RTL8019在嵌入式以太網(wǎng)設(shè)計(jì)在嵌入式以太網(wǎng)設(shè)計(jì)1 RTL8019AS

52、的初始化 RTL8019支持即插即用模式和非即插即用模式。在嵌入式系統(tǒng)中支持即插即用模式和非即插即用模式。在嵌入式系統(tǒng)中,網(wǎng)卡的外設(shè)通常是不經(jīng)常插拔的,所以,為了系統(tǒng)的精簡(jiǎn),配,網(wǎng)卡的外設(shè)通常是不經(jīng)常插拔的,所以,為了系統(tǒng)的精簡(jiǎn),配置置RTL8019為非即插即用模式。有著固定的中斷,有著固定的端為非即插即用模式。有著固定的中斷,有著固定的端口地址,假設(shè)是端口是口地址,假設(shè)是端口是0 x300(這里的端口是相對(duì)于(這里的端口是相對(duì)于ISA總線來(lái)說(shuō)總線來(lái)說(shuō)的端口,對(duì)于的端口,對(duì)于ARM的總線,需要重新計(jì)算地址)。這些配置可以的總線,需要重新計(jì)算地址)。這些配置可以通過(guò)通過(guò)RTL8019的外部管腳,

53、在系統(tǒng)上電復(fù)位的時(shí)候,自動(dòng)配置起的外部管腳,在系統(tǒng)上電復(fù)位的時(shí)候,自動(dòng)配置起來(lái)。來(lái)。 91關(guān)于關(guān)于RTL8019的的RAMlRTL8019含有含有16K字節(jié)的字節(jié)的RAM,地址為,地址為0 x4000-0 x7fff(指的是指的是RTL8019內(nèi)部的存儲(chǔ)地址,而不是內(nèi)部的存儲(chǔ)地址,而不是ISA總線的地址,是總線的地址,是RTL8019工作用的存儲(chǔ)器,可以通過(guò)遠(yuǎn)程工作用的存儲(chǔ)器,可以通過(guò)遠(yuǎn)程DMA訪問(wèn)),每訪問(wèn)),每256個(gè)字節(jié)稱為個(gè)字節(jié)稱為一頁(yè),共有一頁(yè),共有64頁(yè)。頁(yè)的地址就是地址的高頁(yè)。頁(yè)的地址就是地址的高8位,頁(yè)地址為位,頁(yè)地址為0 x40-0 x7f。這。這16k的的ram的一部分用來(lái)

54、存放接收的數(shù)據(jù)包,一部分用來(lái)的一部分用來(lái)存放接收的數(shù)據(jù)包,一部分用來(lái)存儲(chǔ)待發(fā)送的數(shù)據(jù)包存儲(chǔ)待發(fā)送的數(shù)據(jù)包 922 通過(guò)通過(guò)RTL8019AS發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù) 作為一個(gè)集成的以太網(wǎng)芯片,數(shù)據(jù)的發(fā)送校驗(yàn),總線數(shù)據(jù)包的碰作為一個(gè)集成的以太網(wǎng)芯片,數(shù)據(jù)的發(fā)送校驗(yàn),總線數(shù)據(jù)包的碰撞檢測(cè)與避免是由芯片自己完成的。我們只需要配置發(fā)送數(shù)據(jù)的撞檢測(cè)與避免是由芯片自己完成的。我們只需要配置發(fā)送數(shù)據(jù)的物理層地址的源地址、目的地址、數(shù)據(jù)包類型以及發(fā)送的數(shù)據(jù)就物理層地址的源地址、目的地址、數(shù)據(jù)包類型以及發(fā)送的數(shù)據(jù)就可以了??梢粤?。933、通過(guò)、通過(guò)RTL8019AS接收數(shù)據(jù)接收數(shù)據(jù)l在在RTL8019的初始化程序中已經(jīng)

55、設(shè)置好了接收緩沖區(qū)的位置,并的初始化程序中已經(jīng)設(shè)置好了接收緩沖區(qū)的位置,并且配置好了中斷的模式。當(dāng)有一個(gè)正確的數(shù)據(jù)包到達(dá)的時(shí)候,且配置好了中斷的模式。當(dāng)有一個(gè)正確的數(shù)據(jù)包到達(dá)的時(shí)候,RTL8019會(huì)產(chǎn)生一個(gè)中斷信號(hào),在會(huì)產(chǎn)生一個(gè)中斷信號(hào),在ARM中斷處理程序中,接收數(shù)中斷處理程序中,接收數(shù)據(jù)。據(jù)。l數(shù)據(jù)的接收比較簡(jiǎn)單,即通過(guò)遠(yuǎn)端數(shù)據(jù)的接收比較簡(jiǎn)單,即通過(guò)遠(yuǎn)端DMA把數(shù)據(jù)從把數(shù)據(jù)從RTL8019的的RAM空間讀回空間讀回ARM中處理。中處理。94TCP/IP 協(xié)議的層次協(xié)議的層次應(yīng)用層(Application) BSD套接字(BSD Sockets) 傳輸層 (Transport) TCP、UD

56、P網(wǎng)絡(luò)層 (Network) IP、ARP、ICMP、IGMP數(shù)據(jù)鏈路層(Data Link) IEEE802.3 Ethernet MAC物理層 (Physical) 95嵌入式以太網(wǎng)中主要處理的協(xié)議嵌入式以太網(wǎng)中主要處理的協(xié)議lARP(Address Resolation Protocol)地址解析協(xié)議地址解析協(xié)議 lICMP (Internet Control Messages Protocol)網(wǎng)絡(luò)網(wǎng)絡(luò)控制報(bào)文協(xié)議控制報(bào)文協(xié)議lIP(Internet Protocol) 網(wǎng)際協(xié)議網(wǎng)際協(xié)議lTCP(Transfer Control Protocol) 傳輸控制協(xié)議傳輸控制協(xié)議lUDP(U

57、ser Datagram Protocol)用戶數(shù)據(jù)包協(xié)議用戶數(shù)據(jù)包協(xié)議96ARP地址解析協(xié)議地址解析協(xié)議l網(wǎng)絡(luò)層用網(wǎng)絡(luò)層用32 bit的的IP地址來(lái)標(biāo)識(shí)不同的主機(jī),而鏈路層使用地址來(lái)標(biāo)識(shí)不同的主機(jī),而鏈路層使用48 bit的物的物理(理(MAC)地址來(lái)標(biāo)識(shí)不同的以太網(wǎng)接口。只知道目的主機(jī)的)地址來(lái)標(biāo)識(shí)不同的以太網(wǎng)接口。只知道目的主機(jī)的IP地址地址并不能發(fā)送數(shù)據(jù)幀給它,必須知道目的主機(jī)網(wǎng)絡(luò)接口的并不能發(fā)送數(shù)據(jù)幀給它,必須知道目的主機(jī)網(wǎng)絡(luò)接口的MAC地址才地址才能發(fā)送數(shù)據(jù)幀。能發(fā)送數(shù)據(jù)幀。lARP的功能是實(shí)現(xiàn)從IP地址到對(duì)應(yīng)物理地址的轉(zhuǎn)換。 源主機(jī)發(fā)送一份包含目的主機(jī)源主機(jī)發(fā)送一份包含目的主機(jī)I

58、P地址的地址的ARP請(qǐng)求數(shù)據(jù)幀給網(wǎng)上的每個(gè)請(qǐng)求數(shù)據(jù)幀給網(wǎng)上的每個(gè)主機(jī)主機(jī),稱作稱作ARP廣播,目的主機(jī)的廣播,目的主機(jī)的ARP收到這份廣播報(bào)文后,識(shí)別出收到這份廣播報(bào)文后,識(shí)別出這是發(fā)送端在尋問(wèn)它的這是發(fā)送端在尋問(wèn)它的IP地址,于是發(fā)送一個(gè)包含目的主機(jī)地址,于是發(fā)送一個(gè)包含目的主機(jī)IP地址及地址及對(duì)應(yīng)的對(duì)應(yīng)的MAC地址的地址的ARP回答給源主機(jī)。回答給源主機(jī)。l每臺(tái)主機(jī)上都有一個(gè)每臺(tái)主機(jī)上都有一個(gè)ARP高速緩存,存放最近的,存放最近的IP地址到硬件地址之地址到硬件地址之間的映射記錄。通常每一項(xiàng)的生存時(shí)間為間的映射記錄。通常每一項(xiàng)的生存時(shí)間為20分鐘分鐘97ICMP網(wǎng)絡(luò)網(wǎng)絡(luò)控制報(bào)文協(xié)議控制報(bào)文協(xié)

59、議 lIP層的附屬協(xié)議,層的附屬協(xié)議,IP層用它來(lái)與其他主機(jī)或路由器交換錯(cuò)誤報(bào)文和其層用它來(lái)與其他主機(jī)或路由器交換錯(cuò)誤報(bào)文和其他重要控制信息。他重要控制信息。lICMP報(bào)文是在報(bào)文是在IP數(shù)據(jù)包內(nèi)部被傳輸?shù)摹?shù)據(jù)包內(nèi)部被傳輸?shù)摹兩個(gè)實(shí)用的網(wǎng)絡(luò)診斷工具,兩個(gè)實(shí)用的網(wǎng)絡(luò)診斷工具,Ping和和Traceroute(Tracert),都是利用該,都是利用該協(xié)議工作的。協(xié)議工作的。98IP網(wǎng)際協(xié)議網(wǎng)際協(xié)議lIP工作在網(wǎng)絡(luò)層,是工作在網(wǎng)絡(luò)層,是TCP/IP協(xié)議族中最為核心的協(xié)議。所有的協(xié)議族中最為核心的協(xié)議。所有的TCP,UDP,ICMP以及以及IGMP數(shù)據(jù)都以數(shù)據(jù)都以IP數(shù)據(jù)包格式傳輸。數(shù)據(jù)包格式傳輸

60、。lIP數(shù)據(jù)包最長(zhǎng)可達(dá)數(shù)據(jù)包最長(zhǎng)可達(dá)65535字節(jié)字節(jié),其中報(bào)頭占其中報(bào)頭占32 bit的數(shù)目。包含各的數(shù)目。包含各32 bit的源的源IP地址和目的地址和目的IP地址。在嵌入式應(yīng)用中,簡(jiǎn)化設(shè)計(jì),地址。在嵌入式應(yīng)用中,簡(jiǎn)化設(shè)計(jì),IP數(shù)據(jù)包長(zhǎng)度等于數(shù)據(jù)鏈路層的數(shù)據(jù)長(zhǎng)度。數(shù)據(jù)包長(zhǎng)度等于數(shù)據(jù)鏈路層的數(shù)據(jù)長(zhǎng)度。99TCP傳輸控制協(xié)議傳輸控制協(xié)議lTCP是一個(gè)面向連接的可靠的傳輸層協(xié)議。是一個(gè)面向連接的可靠的傳輸層協(xié)議。TCP為為兩臺(tái)主機(jī)提供主機(jī)提供高可靠性的端到端數(shù)據(jù)通信。主要包括高可靠性的端到端數(shù)據(jù)通信。主要包括:l發(fā)送方把應(yīng)用程序交給它的數(shù)據(jù)分成合適的小塊,并添加附發(fā)送方把應(yīng)用程序交給它的數(shù)據(jù)分成合適的小

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論