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

下載本文檔

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

文檔簡介

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

2、層硬件層軟件層軟件層中間層中間層功能層功能層被控對象被控對象334嵌入式系統(tǒng)的設(shè)計步驟嵌入式系統(tǒng)的設(shè)計步驟體系結(jié)構(gòu)設(shè)計系統(tǒng)需求分析:規(guī)格說明書機(jī)械系統(tǒng)設(shè)計硬件設(shè)計軟件設(shè)計系統(tǒng)集成系統(tǒng)測試產(chǎn)品51 1)需求分析階段)需求分析階段l分析用戶的需求分析用戶的需求l確定硬件軟件確定硬件軟件l檢查需求分析的結(jié)果檢查需求分析的結(jié)果l確定項目的約束條件確定項目的約束條件l概要設(shè)計概要設(shè)計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)是否需要運行某些現(xiàn)存的軟件?)系統(tǒng)是否需要運行某些現(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)時間是多少?)系統(tǒng)的響應(yīng)時間是多少?(1212)需要什么安全措施?)需要什么

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

5、因素決定因素l系統(tǒng)是硬實時系統(tǒng)還是軟實時系統(tǒng)系統(tǒng)是硬實時系統(tǒng)還是軟實時系統(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è)計階段)詳細(xì)設(shè)計階段- -硬件與軟件劃分硬件與軟件劃分決定哪些用硬件實現(xiàn),哪些用軟件實現(xiàn)?決定哪些用硬件實現(xiàn),哪些用軟件實現(xiàn)?例如:例如:l浮點運算浮點運算l網(wǎng)絡(luò)通信控制器實現(xiàn)的功能網(wǎng)絡(luò)通信控制器實現(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è)計階段詳細(xì)設(shè)計階段- -硬件設(shè)計硬件設(shè)計l設(shè)計硬件子系統(tǒng):設(shè)計硬件子系統(tǒng):top-downtop-down方法方法l分成模塊分成模塊l設(shè)計框圖設(shè)計框圖l例:例:CPUCPU子系統(tǒng)、存儲器子系統(tǒng)等子系統(tǒng)、存儲器子系統(tǒng)等l定義硬件接口定義硬件接口lI/OI/O端口端口l硬件寄存器硬件寄存器l共享內(nèi)存共享內(nèi)存l硬件中斷硬件中斷l(xiāng)存儲器空間分配存儲器空間分配l處理器的運行速度處理器的運行速度11詳細(xì)設(shè)計階段詳細(xì)設(shè)計階段- -軟件設(shè)計軟件設(shè)計設(shè)計軟件子系統(tǒng)設(shè)計軟件子系統(tǒng)總體設(shè)計、模塊設(shè)計總體設(shè)計、模塊設(shè)計定義軟件接口定義軟件接口模塊接口、函數(shù)接口模塊接口、函數(shù)接口1

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

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

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

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

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

12、發(fā)板與PCPC機(jī)的串行通訊機(jī)的串行通訊嵌入式開發(fā)板和嵌入式開發(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(包括閃存)都通過總線外接。(包括閃存)都通過總線外接。l快存(快存(CacheCache)是一種小容量、高速度的存儲)是一種小容量、高速度的存儲器,用于處理器與主存之間存放當(dāng)前被使用的主器,用于處理器與主存之間存放當(dāng)前被使用的主存內(nèi)容,以

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

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

15、儲空間分配lBank0:1Bank0:1片片2MB NOR Flash2MB NOR Flash,放置系統(tǒng)引導(dǎo)程序,系統(tǒng)上,放置系統(tǒng)引導(dǎo)程序,系統(tǒng)上電復(fù)位后,電復(fù)位后,PCPC指針自動指向指針自動指向Bank0Bank0的第一個單元,進(jìn)行的第一個單元,進(jìn)行系統(tǒng)自舉。以便從硬盤中將系統(tǒng)文件和用戶應(yīng)用程序復(fù)系統(tǒng)自舉。以便從硬盤中將系統(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)硬盤使用,可以構(gòu)造文件系統(tǒng),存放海量數(shù)據(jù)。系統(tǒng)

16、硬盤使用,可以構(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的空間劃分出來,作為系統(tǒng)的的空間劃分出來,作為系統(tǒng)的LCDLCD顯示緩沖區(qū)顯示緩沖區(qū)使用(更新其中的數(shù)據(jù),就可以更新使用(更新其中的數(shù)據(jù),就可以更新LCDLCD的顯示)。系的顯示)。系統(tǒng)的程序存儲空間從統(tǒng)的程序存儲空間從0 xC0800000 xC080000開始。也就是,引導(dǎo)系開始。也就是,引導(dǎo)系統(tǒng)的時候,需要把統(tǒng)的時

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

19、后跳轉(zhuǎn)到操作系統(tǒng)內(nèi)核入口,如系統(tǒng)在加電或復(fù)針,然后跳轉(zhuǎn)到操作系統(tǒng)內(nèi)核入口,如系統(tǒng)在加電或復(fù)位時通常從地址位時通常從地址0 x000000000 x00000000處開始執(zhí)行,而在這個地址處開始執(zhí)行,而在這個地址處安排的通常就是系統(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 的操作模式的操作模式啟動加載模式啟動加載模式(AutonomousAutonomous) : Boot Loader Boot Loader 從目標(biāo)機(jī)的固體存儲設(shè)備上將操作系統(tǒng)加載到從目標(biāo)機(jī)的固體存儲設(shè)備上將操作系統(tǒng)加載到RAMRAM中運中運行,整個過程并沒有用戶的介入。這種模式是行,整個過程并沒有用戶的介入。這種模式是 Boot Boot Loader Loader 的正常工作模式,因此在嵌入式產(chǎn)品發(fā)布的的正常工作模式,因此在嵌入式產(chǎn)品發(fā)布的時侯,時侯,Boot Loader Boo

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

22、中。這種模式通常在第。這種模式通常在第1 1次安裝操作系統(tǒng)內(nèi)核次安裝操作系統(tǒng)內(nèi)核和根文件系統(tǒng)時被使用,另外系統(tǒng)更新時和根文件系統(tǒng)時被使用,另外系統(tǒng)更新時也會使用這種方式。也會使用這種方式。334 4)存儲管理單元)存儲管理單元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的微處理器。這樣要采用動態(tài)的微處理器。這樣要采用動態(tài)內(nèi)存管理方式,即當(dāng)程序的某一部分需要使用內(nèi)存時內(nèi)存管理方式,即當(dāng)程序的某一部分需要使

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

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

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

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

27、驗) 最后,發(fā)送停止位最后,發(fā)送停止位 “1”,可以有,可以有1位、位、1.5位或位或2位停止位位停止位39串行通訊硬件規(guī)范及連接方法lEIA RS-232C 物理特征:物理特征: DB-25 DB-15 DB-9 信號連線:保護(hù)地、信號連線:保護(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嵌入式開發(fā)板與PC機(jī)的串行通訊嵌

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

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

30、時候,可關(guān)掉背光源;光線差時,可點亮背光源使候,可關(guā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ū)動芯通常有兩種方式,一種是帶有驅(qū)動芯片的片的LCD模塊,基本上屬于半成品模塊,基

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

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

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

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

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

36、的方法。l駐留監(jiān)控軟件駐留監(jiān)控軟件 駐留監(jiān)控程序運行在目標(biāo)板上,駐留監(jiān)控程序運行在目標(biāo)板上,PC機(jī)端調(diào)試軟件可通過并口、串機(jī)端調(diào)試軟件可通過并口、串口、網(wǎng)口與之交互,以完成程序執(zhí)行、存儲器及寄存器讀寫、斷口、網(wǎng)口與之交互,以完成程序執(zhí)行、存儲器及寄存器讀寫、斷點設(shè)置等任務(wù)點設(shè)置等任務(wù)lJTAG仿真器仿真器 通過通過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é)構(gòu)較復(fù)雜,價格昂貴,通常用于ARM硬件開發(fā)中硬件開發(fā)中64ARM的的JTAG調(diào)試結(jié)構(gòu)調(diào)試結(jié)構(gòu)AngelJTAG65宿主機(jī)調(diào)試器宿主機(jī)調(diào)試器l宿主機(jī)調(diào)試器通過固定的協(xié)議控制下位機(jī)(協(xié)議轉(zhuǎn)換器宿主機(jī)調(diào)試器通過固定的協(xié)議控制下位機(jī)(協(xié)議轉(zhuǎn)換器)。比如,)。比如,SDT中通過中通過Angel協(xié)議或者第三方調(diào)試器所協(xié)議或者第三方調(diào)試器所提供的協(xié)議提供的協(xié)議l宿主機(jī)調(diào)試器只發(fā)送宏觀的命令,比如:宿主機(jī)調(diào)試器只發(fā)送宏觀的命令,比如:程序運行、終止。讀內(nèi)存、程序運行、終止。讀內(nèi)存、ARM寄存器等寄存器

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

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

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

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

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

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

44、定義#define ZLG7289_CMD_RST0 xA4/復(fù)位#define ZLG7289_CMD_TEST0 xBF/測試模式#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/段點亮指令#define ZLG7289_CMD_HDOT0 xC0/段關(guān)閉指令#define ZLG7289_CMD_RDKEY0 x15/讀鍵盤數(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è)計嵌入式以太網(wǎng)設(shè)計84以太網(wǎng)接口的基本知識以太網(wǎng)接口的基本知識 1、傳輸編碼、傳輸編碼l曼徹斯特編碼曼徹斯特編碼l差分曼徹斯特編碼差分曼徹斯特編碼85以太網(wǎng)協(xié)議以太網(wǎng)協(xié)議 l以

47、太網(wǎng)以太網(wǎng)MAC層物理傳輸幀層物理傳輸幀 (IEEE802.3 )PRSDDASATYPEDATAPADFCS56位8位48位48位16位不超過1500字節(jié)可選32位PR:同步位,收發(fā)雙方的時鐘同步,也指明傳輸?shù)乃俾剩?0M、100M)SD:分隔位,表示下面跟著的是真正的數(shù)據(jù),而不是同步時鐘DA:目的地址,以太網(wǎng)的地址為48位地址。如果為都為F,則是廣播地址SA:源地址,48位,表明該幀的數(shù)據(jù)是哪個網(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ù)不能超過1500字節(jié)。PAD: 填充位。以太網(wǎng)幀傳輸?shù)臄?shù)據(jù)包最小不能小于60字節(jié), 當(dāng)數(shù)據(jù)段不足46字節(jié)時,后面補(bǔ)000000.(當(dāng)然也可以補(bǔ)其它值)FCS: 32位CRC數(shù)據(jù)校驗位。該校驗由網(wǎng)卡自動完成86以太網(wǎng)的數(shù)據(jù)傳輸特點以太網(wǎng)的數(shù)據(jù)傳輸特點lPR,SD,PAD,FCS這幾個數(shù)據(jù)段是由網(wǎng)卡自動產(chǎn)生的;只需要理這幾個數(shù)據(jù)段是由網(wǎng)卡自動產(chǎn)生的;只需要理解解DA、SA、TYPE、DATA四個段的內(nèi)容四個段的內(nèi)容l所有數(shù)據(jù)位的傳輸由低位開始所有數(shù)據(jù)位的傳輸由低位開始(傳輸?shù)奈涣魇褂寐鼜厮固鼐幋a傳輸?shù)奈涣魇褂寐鼜厮固鼐幋a) l以太網(wǎng)的沖突退避算法是由硬件自動執(zhí)行的以太網(wǎng)

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

50、l對嵌入式處理器沒有特殊要求,通用性強(qiáng)對嵌入式處理器沒有特殊要求,通用性強(qiáng)l處理器和網(wǎng)絡(luò)數(shù)據(jù)交換通過外部總線,速度慢,不適合于處理器和網(wǎng)絡(luò)數(shù)據(jù)交換通過外部總線,速度慢,不適合于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ù)交換通過內(nèi)部總線,速度快處理器和網(wǎng)絡(luò)數(shù)據(jù)交換通過內(nèi)部總線,速度快88RTL8019的原理框圖的原理框圖89嵌入式網(wǎng)絡(luò)接口的特點嵌入式網(wǎng)絡(luò)接口的特點l與常規(guī)的網(wǎng)卡設(shè)計思路不同的是,在嵌入式系統(tǒng)中,系統(tǒng)的精簡與常規(guī)的網(wǎng)卡設(shè)計思路不同的是,在嵌入式系統(tǒng)中,系統(tǒng)的精簡一直是個主要的原則。一直是個主

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

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

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

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

55、設(shè)置好了接收緩沖區(qū)的位置,并的初始化程序中已經(jīng)設(shè)置好了接收緩沖區(qū)的位置,并且配置好了中斷的模式。當(dāng)有一個正確的數(shù)據(jù)包到達(dá)的時候,且配置好了中斷的模式。當(dāng)有一個正確的數(shù)據(jù)包到達(dá)的時候,RTL8019會產(chǎn)生一個中斷信號,在會產(chǎn)生一個中斷信號,在ARM中斷處理程序中,接收數(shù)中斷處理程序中,接收數(shù)據(jù)。據(jù)。l數(shù)據(jù)的接收比較簡單,即通過遠(yuǎn)端數(shù)據(jù)的接收比較簡單,即通過遠(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ò)控制報文協(xié)議控制報文協(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地址來標(biāo)識不同的主機(jī),而鏈路層使用地址來標(biāo)識不同的主機(jī),而鏈路層使用48 bit的物的物理(理(MAC)地址來標(biāo)識不同的以太網(wǎng)接口。只知道目的主機(jī)的)地址來標(biāo)識不同的以太網(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的功能是實現(xiàn)從IP地址到對應(yīng)物理地址的轉(zhuǎn)換。 源主機(jī)發(fā)送一份包含目的主機(jī)源主機(jī)發(fā)送一份包含目的主機(jī)I

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

59、議 lIP層的附屬協(xié)議,層的附屬協(xié)議,IP層用它來與其他主機(jī)或路由器交換錯誤報文和其層用它來與其他主機(jī)或路由器交換錯誤報文和其他重要控制信息。他重要控制信息。lICMP報文是在報文是在IP數(shù)據(jù)包內(nèi)部被傳輸?shù)?。?shù)據(jù)包內(nèi)部被傳輸?shù)摹兩個實用的網(wǎng)絡(luò)診斷工具,兩個實用的網(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ù)包最長可達(dá)數(shù)據(jù)包最長可達(dá)65535字節(jié)字節(jié),其中報頭占其中報頭占32 bit的數(shù)目。包含各的數(shù)目。包含各32 bit的源的源IP地址和目的地址和目的IP地址。在嵌入式應(yīng)用中,簡化設(shè)計,地址。在嵌入式應(yīng)用中,簡化設(shè)計,IP數(shù)據(jù)包長度等于數(shù)據(jù)鏈路層的數(shù)據(jù)長度。數(shù)據(jù)包長度等于數(shù)據(jù)鏈路層的數(shù)據(jù)長度。99TCP傳輸控制協(xié)議傳輸控制協(xié)議lTCP是一個面向連接的可靠的傳輸層協(xié)議。是一個面向連接的可靠的傳輸層協(xié)議。TCP為為兩臺主機(jī)提供主機(jī)提供高可靠性的端到端數(shù)據(jù)通信。主要包括高可靠性的端到端數(shù)據(jù)通信。主要包括:l發(fā)送方把應(yīng)用程序交給它的數(shù)據(jù)分成合適的小塊,并添加附發(fā)送方把應(yīng)用程序交給它的數(shù)據(jù)分成合適的小

溫馨提示

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

評論

0/150

提交評論