




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
5CHAPTER基于ARM的硬件系統設計Chap5基于ARM的硬件系統設計本節提要132546基于ARM的硬件系統體系結構存儲器接口設計網絡接口設計I/O接口設計人機交互接口設計其它通訊接口設計Chap5基于ARM的硬件系統設計ARM920T內核結構Chap5基于ARM的硬件系統設計S3C2410的內部結構Chap5基于ARM的硬件系統設計實驗平臺的體系結構2410核心資源總線隔離驅動168Pin擴展槽網卡設備LCD驅動音頻電路串口設備USB設備PCMCIAIDE/CF卡SD卡接口IO擴展電機等其他資源局部總線擴展總線Chap5基于ARM的硬件系統設計讀寫總線的時序圖穩態ReadWrite穩態Chap5基于ARM的硬件系統設計本節提要132546基于ARM的硬件系統體系結構存儲器接口設計網絡接口設計I/O接口設計人機交互接口設計其它通訊接口設計Chap5基于ARM的硬件系統設計2410的存儲器系統—可通過軟件選擇大小端—地址空間:每個Bank128Mbytes(總共1GB)—除bank0(16/32-bit)外,所有的Bank都可以通過編程選擇總線寬度=(8/16/32-bit)—共8個banks6個Bank用于控制ROM,SRAM,etc.剩余的兩個Bank用于控制ROM,SRAM,SDRAM,etc.—7個Bank固定起始地址;—最后一個Bank可調整起始地址;—最后兩個Bank大小可編程—所有Bank存儲周期可編程控制;Chap5基于ARM的硬件系統設計S3C2410的存儲器配置Chap5基于ARM的硬件系統設計Bank6/Bank7地址分布Chap5基于ARM的硬件系統設計Bank0總線寬度配置Chap5基于ARM的硬件系統設計與2片8位的ROM連接方法Chap5基于ARM的硬件系統設計與1片16位的ROM連接Chap5基于ARM的硬件系統設計S3C2410與2片8的FLASH的連接方法Chap5基于ARM的硬件系統設計與1片16M的SDRAM的連接方法Chap5基于ARM的硬件系統設計與1片16M的SDRAM的連接方法Chap5基于ARM的硬件系統設計NAND和NOR——性能比較NOR和NAND是現在市場上兩種主要的非易失閃存技術NOR的讀速度比NAND稍快一些NAND的寫入速度比NOR快很多NAND的擦除速度遠比NOR的快大多數寫入操作需要先進行擦除操作NAND的擦除單元更小,相應的擦除電路更少Chap5基于ARM的硬件系統設計接口差別NORflash帶有SRAM接口,線性尋址,可以很容易地存取其內部的每一個字節NANDflash使用復用接口和控制IO多次尋址存取數據NAND讀和寫操作采用512字節的塊,這一點有點像硬盤管理,此類操作易于取代硬盤等類似的塊設備Chap5基于ARM的硬件系統設計容量和成本NANDflash生產過程更為簡單,成本低常見的NORflash為128KB~16MB,而NANDflash通常有8~128MBNOR主要應用在代碼存儲介質中,NAND適合于數據存儲NAND在CompactFlash、SecureDigital、PCCards和MMC存儲卡市場上所占份額最大Chap5基于ARM的硬件系統設計可靠性和耐用性在NAND中每塊的最大擦寫次數是100萬次,而NOR的擦寫次數是10萬次位交換的問題NANDflash中更突出,需要ECC糾錯NANDflash中壞塊隨機分布,需要通過軟件標定——產品量產的問題Chap5基于ARM的硬件系統設計嵌入式系統中應用RAM的情況Chap5基于ARM的硬件系統設計本節提要132546基于ARM的硬件系統體系結構存儲器接口設計網絡接口設計I/O系統設計人機交互接口設計其它通訊接口設計Chap5基于ARM的硬件系統設計I/O子系統的層次模型I/O子系統:I/O設備、相關的設備驅動程序和I/O子系統組成嵌入式I/O子系統。I/O子系統的目標是對RTOS和應用程序員隱藏設備特定的信息,并且對系統的外圍I/O設備提供一個統一的訪問方法。Chap5基于ARM的硬件系統設計從不同角度看I/O系統從系統軟件開發者角度看,I/O操作意味著與設備的通信、對設備編程初始化和請示執行設備與系統之間的實際數據傳輸以及操作完成后通知請求者。系統軟件工程師必須理解設備的物理特性,如寄存器的定義和設備的訪問方法。從RTOS的角度看,I/O操作意味著對I/O請求定位正確的設備,對設備定位正確的設備驅動程序,并解決對設備驅動程序的請求。有時要求RTOS保證對設備的同步訪問。RTOS必須進行抽象,對應用程序員隱含設備的特性。從應用程序員角度看,目標是找到一個簡單、統一和精練的方法與系統中出現的所有類型的設備通信。Chap5基于ARM的硬件系統設計I/O接口的編址方式—端口映射
1)I/O接口獨立編址——端口映射方式這種編址方式是將存儲器地址空間和I/O接口地址空間分開設置,互不影響。設有專門的輸入指令(IN)和輸出指令(OUT)來完成I/O操作。主要優點:內存地址空間與I/O接口地址空間分開,互不影響,譯碼電路較簡單,并設有專門的I/O指令,所以編程序易于區分,且執行時間短,快速性好。缺點:只用I/O指令訪問I/O端口,功能有限且要采用專用I/O周期和專用I/O控制線,使微處理器復雜化。Chap5基于ARM的硬件系統設計I/O接口的編址方式——內存映射
1)2)I/O接口與存儲器統一編址方式——內存映射這種編址方式不區分存儲器地址空間和I/O接口地址空間,把所有的I/O接口的端口都當作是存儲器的一個單元對待,每個接口芯片都安排一個或幾個與存儲器統一編號的地址號。也不設專門的輸入/輸出指令,所有傳送和訪問存儲器的指令都可用來對I/O接口操作。主要優點:訪問內存的指令都可用于I/O操作,數據處理功能強;同時I/O接口可與存儲器部分共用譯碼和控制電路。缺點:一是I/O接口要占用存儲器地址空間的一部分;二是因不用專門的I/O指令,程序中較難區分I/O操作。
Chap5基于ARM的硬件系統設計DMAI/ODMAI/ODMA允許設備直接訪問內存而不用包含處理器,在數據傳輸操作開始之前,處理器設置DMA控制器,在數據傳輸期間,讀寫操作均不通過處理器。DMA傳輸速度取決于I/O設備的傳輸速度、內存設備的速度和DMA控制器的速度。通過指定源地址、目的內存地址和傳輸到DMA控制器長度,處理器建立傳輸操作。Chap5基于ARM的硬件系統設計字符模式設備與塊模式設備根據設備如何處理與系統之間的數據傳輸方法可將設備分為字符模式設備和塊模式設備字符模式設備:允許非結構的數據傳輸。數據傳輸典型地采用串行的形式,每次一個字節;字符設備通常是簡單的設備,如串口、鍵盤等;當系統到設備的傳輸速率高于設備的處理速率時,設備驅動程序開設緩沖區,緩存這些數據;塊模式設備:每次傳輸一個數據塊。采用硬件方式控制數據塊的大小,有時需要采用固定的傳輸協議,如USB、以太網等設備Chap5基于ARM的硬件系統設計建立通用的I/O接口函數Create()Open()Read()Write()Close()Loctl()Destroy()Driver_Create()Driver_Open()Driver_Read()Driver_Write()Driver_Close()Driver_Loctl()Driver_Destroy()I/O操作設備驅動程序應用設備Chap5基于ARM的硬件系統設計I/O接口設計
I/O接口電路也簡稱接口電路。它是主機和外圍設備之間交換信息的連接部件(電路)。它在主機和外圍設備之間的信息交換中起著橋梁和紐帶作用。設置接口電路的必要性:a)解決CPU和外圍設備之間的時序配合和通信聯絡問題。b)解決CPU和外圍設備之間的數據格式轉換和匹配問題。c)解決CPU的負載能力和外圍設備端口選擇問題。Chap5基于ARM的硬件系統設計本節提要132546基于ARM的硬件系統體系結構存儲器接口設計網絡接口設計I/O接口設計人機交互接口設計其它通訊接口設計Chap5基于ARM的硬件系統設計嵌入式開發板與PC機的串行通訊嵌入式開發板和PC機的通訊電纜可以按照如圖所示的方式連接。Chap5基于ARM的硬件系統設計2410的UARTS3C2410A的UART(UniversalAsynchronousReceiverandTransmitter)提供了三個獨立的異步串行I/O口,每一個都可以工作在中斷模式或DMA模式,即UART可以產生中斷或DMA請求以在CPU和UART之前傳送數據,使用系統時鐘,UART最高可以支持230.4Kbps的位傳輸率。如果采用外部帶時鐘的UART,則UART可以實現更度速度的傳輸;每個UART包括2個16Byte的接收/發送FIFO。Chap5基于ARM的硬件系統設計UART控制框圖Chap5基于ARM的硬件系統設計異步串行通訊簡介在一條傳輸線上完成單向傳輸。將傳輸數據的字符一位接一位的傳送。接收方對于同一條線上的一連串連續數學信號,首先將其分割成位,再按位組成字符。每個字符需要確定起始位和結束位,字符與字符間還可能有長度不定的空閑時間,因此傳輸效率較低。Chap5基于ARM的硬件系統設計字符串行輸出格式發送前:線路處于空閑狀態,連續發送“1”開始發送:首先,發送一位起始位“0”然后,發送連續的二進制位,數據位可以為5、6、7、8隨后,緊跟一位奇偶校驗位(可選擇奇/偶/無校驗)最后,發送停止位“1”,可以有1位、1.5位或2位停止位Chap5基于ARM的硬件系統設計串行通訊硬件規范及連接方法EIARS-232C
物理特征:DB-25DB-15DB-9信號連線:保護地、TXD/RXD、RTS/CTS、DCD、DSR、DTR、R1電平規定:-5V~-15V之間的電平表示邏輯“1”+5V~+15V之間的電平表示邏輯“0”Chap5基于ARM的硬件系統設計Chap5基于ARM的硬件系統設計UART的操作串口初始化發送數據接收數據Chap5基于ARM的硬件系統設計鍵盤接口設計鍵盤模塊可能用來輸入數字型數據或者選擇控制設備的操作模式。鍵盤有兩種方案:一是采用現有的一些芯片實現鍵盤掃描;再就是用軟件實現鍵盤掃描。嵌入式控制器的功能很強,可能允分利用這一資源。Chap5基于ARM的硬件系統設計一個瞬時接觸開關(按鈕)放置在每一行與線一列的交叉點。矩陣所需的鍵的數目顯然根據應用程序而不同。每一行由一個輸出端口的一位驅動,而每一列由一個電阻器上拉且供給輸入端口一位。鍵盤掃描陣列Chap5基于ARM的硬件系統設計鍵盤掃描過程就是讓微處理器按有規律的時間間隔查看鍵盤矩陣,以確定是否有鍵被按下。每個鍵被分配一個稱為掃描碼的唯一標識符。應用程序利用該掃描碼,根據按下的鍵來判定應該采取什么行動。
消抖算法:組合鍵處理鍵盤掃描方法Chap5基于ARM的硬件系統設計LCD接口設計LCD顯示模塊液晶顯示是一種被動的顯示,它不能發光,只能使用周圍環境的光。它顯示圖案或字符只需很小能量。液晶顯示所用的液晶材料是一種兼有液態和固體雙重性質的有機物,它的棒狀結構在液晶盒內一般平行排列,但在電場作用下能改變其排列方向。LCD的背光:EL(場致發光):2000-3000小時和LED光源:字符模式,50000小時Chap5基于ARM的硬件系統設計LCD的顯示方式反射型LCD:底偏光片后面加了一塊反射板,它一般在戶外和光線良好的辦公室使用。透射型LCD:底偏光片是透射偏光片,它需要連續使用背光源,一般在光線差的環境使用。透反射型LCD:是處于以上兩者之間,底偏光片能部分反光,一般也帶背光源,光線好的時候,可關掉背光源;光線差時,可點亮背光源使用LCD。Chap5基于ARM的硬件系統設計反射型LCD的結構Chap5基于ARM的硬件系統設計LCD通常由兩種方式,一種是帶有驅動芯片的LCD模塊,基本上屬于半成品一些新型的嵌入式處理器也可以直接使用芯片上的內置LCD控制器來構造顯示模塊,比如:s3c2410可以支持STN的彩色/灰度/單色三種模式和TFT模式,灰度模式下可支持4級灰度和16級灰度,彩色模式下最多支持256色,LCD的實際尺寸可支持到640X480。LCD的驅動方式Chap5基于ARM的硬件系統設計總線驅動方式一般帶有驅動模塊的LCD顯示屏使用這種驅動方式,由于LCD已經帶有驅動硬件電路,因此模塊給出的是總線接口,便于與單片機的總線進行接口。驅動模塊具有八位數據總線,外加一些電源接口和控制信號。而且自帶顯示緩存,只需要將要顯示的內容送到顯示緩存中就可以實現內容的顯示。由于只有八條數據線,因此常常通過引腳信號來實現地址與數據線復用,以達到把相應數據送到相應顯示緩存的目的。Chap5基于ARM的硬件系統設計控制器掃描方式S3C2410X中具有內置的LCD控制器,它具有將顯示緩存(在系統存儲器中)中的LCD圖象數據傳輸到外部LCD驅動電路的邏輯功能。S3C2410X中內置的LCD控制器可支持灰度LCD和彩色LCD。在灰度LCD上,使用基于時間的抖動算法(time-basedditheringalgorithm)和FRC(FrameRateControl)方法,可以支持單色、4級灰度和16級灰度模式的灰度LCD。在彩色LCD上,可以支持256級彩色。對于不同尺寸的LCD,具有不同數量的垂直和水平象素、數據接口的數據寬度、接口時間及刷新率,而LCD控制器可以進行編程控制相應的寄存器值,以適應不同的LCD顯示板。Chap5基于ARM的硬件系統設計嵌入式處理器與LCD的連接嵌入式處理器LCD模塊數據總線寄存器選擇使能信號有LCD控制器的嵌入式處理器LCDLCD控制信號線Chap5基于ARM的硬件系統設計
從系統結構上來講,由于顯示器模塊中已經有顯示存儲器。顯存中的每一個單元對應LCD上的一個點,只要顯存中的內容改變,顯示結果便進行刷新。于是便存在兩種刷新:1.直接根據系統要求對顯存進行修改,一種是只需修改相應的局部就可以,不需要判斷覆蓋等;另一種就是有覆蓋問題,計算起來比較復雜,而且每做一點小的屏幕改變就進行刷新,將增加系統負擔。2.專門開辟顯示內存,在需要刷新時候由程序進行顯示更新。這樣,不但可以減輕總線負荷,而且也比較合理,在有需要的時候進行統一的顯示更新,界面也可以比較美觀,不致由于無法預料的刷新動作導致顯示界面閃爍。LCD模塊的顯示控制Chap5基于ARM的硬件系統設計前后臺雙重顯示緩存的顯示模塊結構Chap5基于ARM的硬件系統設計LCD接口設計1、實現過程簡述:就是將要顯示的數據放到一個特定的地址,這個特定的地址就是framememory(幀存儲器),這塊空間是在系統內存中。然后LCD控制器將這些數據配合控制信號送到LCD驅動器完成顯示。有相應的寄存器來設定這個地址及其大小。與顯示數據相配合完成顯示的控制信號時序也是由相應的寄存器來完成的。這些寄存器都在LCD的控制器中。Chap5基于ARM的硬件系統設計LCD控制器框圖Chap5基于ARM的硬件系統設計主要的寄存器LCD控制寄存器(5個)幀緩沖開始地址寄存器(3個)臨時調色板寄存器(TempPaletteRegister)LCD中斷屏蔽寄存器(LCDInterruptMaskRegister)LPC3600控制寄存器(LPC3600ControlRegister)Chap5基于ARM的硬件系統設計LCD控制寄存器的設置LCD的控制寄存器主要用來設置產生符合LCD屏的時序信號,各個參數要參考具體屏的實際參數,各個參數如下圖所示,各個參數在控制寄存器中都由相應的域設置,系統中用的是TFT類型的LCD,時序圖如下:Chap5基于ARM的硬件系統設計觸摸屏接口設計觸摸屏的分類電阻式觸摸屏表面聲波觸摸屏紅外式觸摸屏電容式觸摸屏Chap5基于ARM的硬件系統設計電阻式觸摸屏電阻技術觸摸屏是一種對外界完全隔離的工作環境,故不怕灰塵、水汽和油污,可以用任何物體來觸摸,比較適合工業控制領域及辦公室內有限人的使用。分為四線電阻和五線電阻觸摸屏Chap5基于ARM的硬件系統設計四線電阻觸摸屏原理Chap5基于ARM的硬件系統設計測量原理在觸摸點X、Y坐標的測量過程中,測量電壓與測量點的等效電路圖所示,圖中P為測量點XVYYChap5基于ARM的硬件系統設計觸摸屏芯片Chap5基于ARM的硬件系統設計FM(ADS)7843的特點實現觸摸屏的驅動選擇控制(X、Y通道)對于輸入電壓或附加電壓進行AD轉換同步串行接口最大轉換速率125KHz可編程控制8位或者12位轉換模式工作電壓2.7V-5.0V兩個附加的輸入端口Chap5基于ARM的硬件系統設計FM7843與ARM的連接Chap5基于ARM的硬件系統設計AD7843的工作時序同步串口(SIO)向ADS7843發送控制字轉換完成后從ADS7843串口讀出電壓轉換值A/D轉換時序(每次轉換需要24個時鐘周期)Chap5基于ARM的硬件系統設計觸摸屏與LCD的配合FM7843送回控制器的X與Y值僅是對當前觸摸點的電壓值的A/D轉換值,它不具有實用價值。這個值的大小不但與觸摸屏的分辨率有關,而且也與觸摸屏與LCD貼合的情況有關。而且,LCD分辨率與觸摸屏的分辨率一般來說是不一樣,坐標也不一樣,因此,如果想得到體現LCD坐標的觸摸屏位置,還需要在程序中進行轉換。轉換公式如下:x=(x-TchScr_Xmin)*LCDWIDTH/(TchScr_Xmax-TchScr_Xmin)y=(y-TchScr_Ymin)*LCDHEIGHT/(TchScr_Ymax-TchScr_Ymin)其中,TchScr_Xmax、TchScr_Xmin、TchScr_Ymax和TchScr_Ymin是觸摸屏返回電壓值x、y軸的范圍,LCDWIDTH、LCDHEIGHT是液晶屏的寬度與高度。Chap5基于ARM的硬件系統設計觸摸屏(鍵盤)驅動程序結構Chap5基于ARM的硬件系統設計觸摸屏的驅動#defineADS7843_CTRL_START 0x80#defineADS7843_GET_X 0x50#defineADS7843_GET_Y 0x10#defineADS7843_CTRL_12MODE 0x0#defineADS7843_CTRL_8MODE 0x8#defineADS7843_CTRL_SER 0x4#defineADS7843_CTRL_DFR 0x0#defineADS7843_CTRL_DISPWD 0x3 //Disablepowerdown#defineADS7843_CTRL_ENPWD 0x0 //enablepowerdown#defineADS7843_PIN_CS (1<<6) //GPF6#defineADS7843_PIN_PEN (1<<5) //GPG5//#defineADS7843_PIN_BUSY (1<<6)/////////觸摸屏動作////////#defineTCHSCR_ACTION_NULL 0 #defineTCHSCR_ACTION_CLICK 1 //觸摸屏單擊#defineTCHSCR_ACTION_DBCLICK 2 //觸摸屏雙擊#defineTCHSCR_ACTION_DOWN 3 //觸摸屏按下#defineTCHSCR_ACTION_UP 4 //觸摸屏抬起#defineTCHSCR_ACTION_MOVE 5 //觸摸屏移動#defineTCHSCR_IsPenNotDown() (rPDATG&ADS7843_PIN_PEN)voidTchScr_init(void);voidTchScr_GetScrXY(int*x,int*y);Chap5基于ARM的硬件系統設計函數TchScrGetScrXY(int*x,int*y)的結構Chap5基于ARM的硬件系統設計讀取觸摸點坐標Chap5基于ARM的硬件系統設計本節提要132546基于ARM的硬件系統體系結構存儲器接口設計網絡接口設計I/O接口設計人機交互接口設計其它通訊接口設計Chap5基于ARM的硬件系統設計以太網接口的基本知識1、傳輸編碼曼徹斯特編碼差分曼徹斯特編碼Chap5基于ARM的硬件系統設計以太網協議以太網MAC層物理傳輸幀(IEEE802.3)PRSDDASATYPEDATAPADFCS56位8位48位48位16位不超過1500字節可選32位PR: 同步位,收發雙方的時鐘同步,也指明傳輸的速率(10M、100M)SD: 分隔位,表示下面跟著的是真正的數據,而不是同步時鐘DA: 目的地址,以太網的地址為48位地址。如果為都為F,則是廣播地址SA: 源地址,48位,表明該幀的數據是哪個網卡發的,即發送端網卡地址
TYPE:類型字段,表明該幀的數據是什么類型。如:0800H表示數據為IP包,0806H表示數據為ARP包,814CH是SNMP包,8137H為IPX/SPX包
DATA:數據段,該段數據不能超過1500字節。PAD:填充位。以太網幀傳輸的數據包最小不能小于60字節,當數據段不足46字節時,后面補000000.....(當然也可以補其它值)
FCS:32位CRC數據校驗位。該校驗由網卡自動完成Chap5基于ARM的硬件系統設計以太網的數據傳輸特點PR,SD,PAD,FCS這幾個數據段是由網卡自動產生的;只需要理解DA、SA、TYPE、DATA四個段的內容所有數據位的傳輸由低位開始(傳輸的位流使用曼徹斯特編碼)以太網的沖突退避算法是由硬件自動執行的DA+SA+TYPE+DATA+PAD最小為60字節,最大為1514字節以太網卡可以接收三種地址的數據,一個是廣播地位,一個是多播地址(在嵌入式的環境中一般不用),一個是它自已的地址任何兩個網卡的物理地址都是不一樣的,是世界上唯一的,網卡地址由專門機構分配。Chap5基于ARM的硬件系統設計嵌入式的以太網方案嵌入式處理器+網卡芯片(RTL8019)對嵌入式處理器沒有特殊要求,通用性強處理器和網絡數據交換通過外部總線,速度慢,不適合于100M網絡帶有以太網絡接口的嵌入式處理器處理器面向網絡應用處理器和網絡數據交換通過內部總線,速度快Chap5基于ARM的硬件系統設計RTL8019的原理框圖Chap5基于ARM的硬件系統設計嵌入式網絡接口的特點與常規的網卡設計思路不同的是,在嵌入式系統中,系統的精簡一直是個主要的原則。RTL8019AS作為網卡,時需要一片EEPROM作為配置存儲器,來確定通訊的端口地址,中斷地址,網卡的物理地址,工作模式,制造廠商等信息;而在嵌入式系統中,可以使用RTL8019AS的默認配置和一些管腳作為網卡的初始化方法。這樣可以節省配置存儲器,減小嵌入式硬件平臺的體積。Chap5基于ARM的硬件系統設計基于RTL8019的嵌入式以太網設計1RTL8019AS的初始化RTL8019支持即插即用模式和非即插即用模式。在嵌入式系統中,網卡的外設通常是不經常插拔的,所以,為了系統的精簡,配置RTL8019為非即插即用模式。有著固定的中斷,有著固定的端口地址,假設是端口是0x300(這里的端口是相對于ISA總線來說的端口,對于ARM的總線,需要重新計算地址)。這些配置可以通過RTL8019的外部管腳,在系統上電復位的時候,自動配置起來。Chap5基于ARM的硬件系統設計關于RTL8019的RAMRTL8019含有16K字節的RAM,地址為0x4000-0x7fff(指的是RTL8019內部的存儲地址,是RTL8019工作用的存儲器,可以通過遠程DMA訪問),每256個字節稱為一頁,共有64頁。頁的地址就是地址的高8位,頁地址為0x40--0x7f。這16k的ram的一部分用來存放接收的數據包,一部分用來存儲待發送的數據包Chap5基于ARM的硬件系統設計2通過RTL8019AS發送數據
作為一個集成的以太網芯片,數據的發送校驗,總線數據包的碰撞檢測與避免是由芯片自己完成的。只需要配置發送數據的物理層地址的源地址、目的地址、數據包類型以及發送的數據就可以了。Chap5基于ARM的硬件系統設計3、通過RTL8019AS接收數據
在RTL8019的初始化程序中已經設置好了接收緩沖區的位置,并且配置好了中斷的模式。當有一個正確的數據包到達的時候,RTL8019會產生一個中斷信號,在ARM中斷處理程序中,接收數據。數據的接收比較簡單,即通過遠端DMA把數據從RTL8019的RAM空間讀回ARM中處理。Chap5基于ARM的硬件系統設計TCP/IP協議的層次應用層(Application)BSD套接字(BSDSockets)傳輸層(Transport)TCP、UDP網絡層(Network)IP、ARP、ICMP、IGMP數據鏈路層(DataLink)IEEE802.3EthernetMAC物理層(Physical)Chap5基于ARM的硬件系統設計嵌入式以太網中主要處理的協議ARP(AddressResolationProtocol)
地址解析協議ICMP(InternetControlMessagesProtocol)
網絡控制報文協議(用來與其它主機交換錯誤報文和其它重要信息,常用的網絡診斷工具ping和traceroute)IP(InternetProtocol)網際協議TCP(TransferControlProtocol)
傳輸控制協議UDP(UserDatagramProtocol)
用戶數據包協議Chap5基于ARM的硬件系統設計ARP地址解析協議網絡層用32bit的IP地址來標識不同的主機,而鏈路層使用48bit的物理(MAC)地址來標識不同的以太網接口。只知道目的主機的IP地址并不能發送數據幀給它,必須知道目的主機網絡接口的MAC地址才能發送數據幀。ARP的功能是實現從IP地址到對應物理地址的轉換。
源主機發送一份包含目的主機IP地址的ARP請求數據幀給網上的每個主機,稱作ARP廣播,目的主機的ARP收到這份廣播報文后,識別出這是發送端在尋問它的IP地址,于是發送一個包含目的主機IP地址及對應的MAC地址的ARP回答給源主機。每臺主機上都有一個ARP高速緩存,存放最近的IP地址到硬件地址之間的映射記錄。通常每一項的生存時間為20分鐘Chap5基于ARM的硬件系統設計ICMP網絡控制報文協議IP層的附屬協議,IP層用它來與其他主機或路由器交換錯誤報文和其他重要控制信息。ICMP報文是在IP數據包內部被傳輸的。兩個實用的網絡診斷工具,Ping和Traceroute(Tracert),都是利用該協議工作的。Chap5基于ARM的硬件系統設計IP網際協議IP工作在網絡層,是TCP/IP協議族中最為核心的協議。所有的TCP,UDP,ICMP以及IGMP數據都以IP數據包格式傳輸。IP數據包最長可達65535字節,其中報頭占32bit的數目。包含各32bit的源IP地址和目的IP地址。在嵌入式應用中,簡化設計,IP數據包長度等于數據鏈路層的數據長度。Chap5基于ARM的硬件系統設計TCP傳輸控制協議TCP是一個面向連接的可靠的傳輸層協議。TCP為兩臺主機提供高可靠性的端到端數據通信。主要包括:發送方把應用程序交給它的數據分成合適的小塊,并添加附加信息(TCP頭),包括順序號,源、目的端口,控制、糾錯信息等字段,稱為TCP數據包。并將TCP數據包交給下面的網絡層處理。接受方確認接收到的TCP數據包,重組并將數據送往高層。Chap5基于ARM的硬件系統設計UDP協議UDP是一種無連接不可靠的傳輸層協議。把應用程序傳來的數據加上UDP頭(包括端口號,段長等字段),作為UDP數據包發送出去,但是并不保證它們能到達目的地。可靠性由應用層來提供。就象發送一封寫有地址的一般信件,卻不保證它能到達。Chap5基于ARM的硬件系統設計基于ARM和uCOS-II的TCP/IP協議向ARM和uC/OS移植一個TCP/IP協議棧采用uC/OS自帶的TCP/IP協議棧Chap5基于ARM的硬件系統設計BSD套接字(BSDSockets)BSDSockets使用的最廣泛的網絡程序編程方法,主要用于應用程序的編寫,用于網絡上主機與主機之間的相互通信UNIX,Linux,VxWorks均支持BSDSockets,Windows的Winsock基本上是來自BSDSocketsSocket分為StreamSockets和DataSocketsStreamSockets是可靠性的雙向數據傳輸,使用TCP協議DataSockets是不可靠連接,使用UDP協議Chap5基于ARM的硬件系統設計套接字的使用UDP服務器端和一個UDP客戶端通信的程序過程創建一個Socket
sFd=socket(AF_INET,SOCK_DGRAM,0)把Socket和本機的IP,UDP口綁定
bind(sFd,(structsockaddr*)&serverAddr, sockAddrSize)循環等待,接收(recvfrom)或者發送(sendfrom)信息關閉Socket,通信終止
close(sFd)
Chap5基于ARM的硬件系統設計本節提要132546基于ARM的硬件系統體系結構存儲器接口
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025網站會員服務合同樣本
- 2025技術咨詢服務合同范本3
- 個人買房協議書
- 2025珠海市商業室內裝飾裝修合同范本
- 2025版機械設備購銷合同范本
- 婚內酗酒協議書模板
- 2025年03月新疆吐魯番市引進各類人才489人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- Unit 11 Rules Matters 第三課時Developing the Topic(含答案)仁愛版2024七下英語日清限時練
- 2025年03月宿城區事業單位統一工作人員5人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 濟寧職業技術學院《語言藝術與寫作》2023-2024學年第二學期期末試卷
- 浙江宇翔職業技術學院單招職測參考試題庫(含答案)
- 給小學生科普地質學知識
- 課程與教學評價課件
- 提高手衛生正確率品管圈課件
- 中醫護理技術穴位貼敷
- 物業保盤行動策劃方案
- 分布式光伏高處作業專項施工方案
- 《狼王夢》小學讀后感400字
- 中國居民膳食指南(全)
- 水泥脫硝安全專篇
- 社會工作者綜合能力(中級)講義
評論
0/150
提交評論