版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、15C H A P T E R基于基于ARM的硬的硬件系統(tǒng)設(shè)計件系統(tǒng)設(shè)計2本節(jié)提要基于基于ARM的硬件系統(tǒng)體系結(jié)構(gòu)的硬件系統(tǒng)體系結(jié)構(gòu)存儲器接口設(shè)計存儲器接口設(shè)計網(wǎng)絡(luò)接口設(shè)計網(wǎng)絡(luò)接口設(shè)計I/OI/O接口設(shè)計接口設(shè)計人機交互接口設(shè)計人機交互接口設(shè)計其它通訊接口設(shè)計其它通訊接口設(shè)計3ARM920T內(nèi)核結(jié)構(gòu)4S3C2410的內(nèi)部結(jié)構(gòu)5實驗平臺的體系結(jié)構(gòu)2410核心資源總線隔離驅(qū)動168Pin擴展槽網(wǎng)卡設(shè)備LCD驅(qū)動音頻電路串口設(shè)備USB設(shè)備PCMCIAIDE/CF卡SD卡接口IO擴展電機等其他資源局部總線擴展總線6讀寫總線的時序圖穩(wěn)態(tài)穩(wěn)態(tài)ReadWrite穩(wěn)態(tài)穩(wěn)態(tài)7本節(jié)提要基于基于ARM的硬件系統(tǒng)體系
2、結(jié)構(gòu)的硬件系統(tǒng)體系結(jié)構(gòu)存儲器接口設(shè)計存儲器接口設(shè)計網(wǎng)絡(luò)接口設(shè)計網(wǎng)絡(luò)接口設(shè)計I/OI/O接口設(shè)計接口設(shè)計人機交互接口設(shè)計人機交互接口設(shè)計其它通訊接口設(shè)計其它通訊接口設(shè)計82410的存儲器系統(tǒng) 可通過軟件選擇大小端 地址空間:每個Bank 128Mbytes (總共 1GB)除 bank0 (16/32-bit) 外,所有的Bank都可以通過編程選擇總線寬度= (8/16/32-bit) 共 8 個banksn6個Bank用于控制 ROM, SRAM, etc.n剩余的兩個Bank用于控制 ROM, SRAM, SDRAM, etc . 7個Bank固定起始地址; 最后一個Bank可調(diào)整起始地址;
3、 最后兩個Bank大小可編程所有Bank存儲周期可編程控制;9S3C2410的存儲器配置10Bank6/Bank7地址分布11Bank0總線寬度配置12與2片8位的ROM連接方法13與1片16位的ROM連接14S3C2410與2片8的FLASH的連接方法15與1片16M的SDRAM的連接方法16與1片16M的SDRAM的連接方法17NAND和NOR性能比較nNOR和NAND是現(xiàn)在市場上兩種主要的非易失閃存技術(shù)nNOR的讀速度比NAND稍快一些nNAND的寫入速度比NOR快很多nNAND的擦除速度遠比NOR的快n大多數(shù)寫入操作需要先進行擦除操作nNAND的擦除單元更小,相應(yīng)的擦除電路更少18接口
4、差別nNOR flash帶有SRAM接口,線性尋址,可以很容易地存取其內(nèi)部的每一個字節(jié)nNAND flash使用復(fù)用接口和控制IO多次尋址存取數(shù)據(jù)nNAND讀和寫操作采用512字節(jié)的塊,這一點有點像硬盤管理,此類操作易于取代硬盤等類似的塊設(shè)備19容量和成本nNAND flash生產(chǎn)過程更為簡單,成本低n常見的NOR flash為128KB16MB,而NAND flash通常有8128MBnNOR主要應(yīng)用在代碼存儲介質(zhì)中,NAND適合于數(shù)據(jù)存儲nNAND在CompactFlash、Secure Digital、PC Cards和MMC存儲卡市場上所占份額最大20可靠性和耐用性n在NAND中每塊的
5、最大擦寫次數(shù)是100萬次,而NOR的擦寫次數(shù)是10萬次n位交換的問題NAND flash中更突出,需要ECC糾錯nNAND flash中壞塊隨機分布,需要通過軟件標定產(chǎn)品量產(chǎn)的問題21嵌入式系統(tǒng)中應(yīng)用RAM的情況22本節(jié)提要基于基于ARM的硬件系統(tǒng)體系結(jié)構(gòu)的硬件系統(tǒng)體系結(jié)構(gòu)存儲器接口設(shè)計存儲器接口設(shè)計網(wǎng)絡(luò)接口設(shè)計網(wǎng)絡(luò)接口設(shè)計I/O系統(tǒng)設(shè)計系統(tǒng)設(shè)計人機交互接口設(shè)計人機交互接口設(shè)計其它通訊接口設(shè)計其它通訊接口設(shè)計23I/OI/O子系統(tǒng)的層次模型子系統(tǒng)的層次模型nI/O子系統(tǒng):I/O設(shè)備、相關(guān)的設(shè)備驅(qū)動程序和I/O子系統(tǒng)組成嵌入式I/O子系統(tǒng)。nI/O子系統(tǒng)的目標是對RTOS和應(yīng)用程序員隱藏設(shè)備特定
6、的信息,并且對系統(tǒng)的外圍I/O設(shè)備提供一個統(tǒng)一的訪問方法。設(shè)備驅(qū)動程序I/O設(shè)備硬件RTOSI/O子系統(tǒng)應(yīng)用程序中斷處理程序24從不同角度看I/O系統(tǒng)n從系統(tǒng)軟件開發(fā)者角度看,I/O操作意味著與設(shè)備的通信、對設(shè)備編程初始化和請示執(zhí)行設(shè)備與系統(tǒng)之間的實際數(shù)據(jù)傳輸以及操作完成后通知請求者。系統(tǒng)軟件工程師必須理解設(shè)備的物理特性,如寄存器的定義和設(shè)備的訪問方法。n從RTOS的角度看,I/O操作意味著對I/O請求定位正確的設(shè)備,對設(shè)備定位正確的設(shè)備驅(qū)動程序,并解決對設(shè)備驅(qū)動程序的請求。有時要求RTOS保證對設(shè)備的同步訪問。RTOS必須進行抽象,對應(yīng)用程序員隱含設(shè)備的特性。n從應(yīng)用程序員角度看,目標是找到
7、一個簡單、統(tǒng)一和精練的方法與系統(tǒng)中出現(xiàn)的所有類型的設(shè)備通信。 25I/O接口的編址方式端口映射1)I/O接口獨立編址端口映射方式n這種編址方式是將存儲器地址空間和I/O接口地址空間分開設(shè)置,互不影響。設(shè)有專門的輸入指令(IN)和輸出指令(OUT)來完成I/O操作。I/O設(shè)備10X00000XFFFFI/O設(shè)備2I/O地址空間0X0000系統(tǒng)地址空間0XFFFF主要優(yōu)點:主要優(yōu)點:內(nèi)存地址空間與內(nèi)存地址空間與I/OI/O接口地址空間分開,互不影響,譯碼電接口地址空間分開,互不影響,譯碼電路較簡單,并設(shè)有專門的路較簡單,并設(shè)有專門的I/OI/O指令,所以編程序易于區(qū)分,且執(zhí)行時間指令,所以編程序易
8、于區(qū)分,且執(zhí)行時間短,快速性好。短,快速性好。缺點:缺點:只用只用I/OI/O指令訪問指令訪問I/OI/O端口,功能有限且要采用專用端口,功能有限且要采用專用I/OI/O周期和專周期和專用用I/OI/O控制線,使微處理器復(fù)雜化??刂凭€,使微處理器復(fù)雜化。26I/O接口的編址方式內(nèi)存映射1)2)I/O接口與存儲器統(tǒng)一編址方式內(nèi)存映射n這種編址方式不區(qū)分存儲器地址空間和I/O接口地址空間,把所有的I/O接口的端口都當作是存儲器的一個單元對待,每個接口芯片都安排一個或幾個與存儲器統(tǒng)一編號的地址號。也不設(shè)專門的輸入/輸出指令,所有傳送和訪問存儲器的指令都可用來對I/O接口操作。I/O設(shè)備10X0000
9、0XFFFFI/O設(shè)備2保留I/O地址空間I/O設(shè)備硬件系統(tǒng)地址空間應(yīng)用使用地址空間應(yīng)用使用地址空間主要優(yōu)點:主要優(yōu)點:訪問內(nèi)存的指令都可用于訪問內(nèi)存的指令都可用于I/OI/O操作,數(shù)據(jù)處理功能強;同時操作,數(shù)據(jù)處理功能強;同時I/OI/O接口可與存儲器部分共用譯碼和控制電路。接口可與存儲器部分共用譯碼和控制電路。缺點:缺點:一是一是I/OI/O接口要占用存儲器地址空間的一部分;二是因不用專門接口要占用存儲器地址空間的一部分;二是因不用專門的的I/OI/O指令,程序中較難區(qū)分指令,程序中較難區(qū)分I/OI/O操作。操作。 27DMA I/ODMA I/OnDMA允許設(shè)備直接訪問內(nèi)存而不用包含處理
10、器,在數(shù)據(jù)傳輸操作開始之前,處理器設(shè)置DMA控制器,在數(shù)據(jù)傳輸期間,讀寫操作均不通過處理器。nDMA傳輸速度取決于I/O設(shè)備的傳輸速度、內(nèi)存設(shè)備的速度和DMA控制器的速度。n通過指定源地址、目的內(nèi)存地址和傳輸?shù)紻MA控制器長度,處理器建立傳輸操作。CPUDMA控制器主存儲器I/O設(shè)備28字符模式設(shè)備與塊模式設(shè)備 根據(jù)設(shè)備如何處理與系統(tǒng)之間的數(shù)據(jù)傳輸方法可將設(shè)備分為字符模式設(shè)備和塊模式設(shè)備n字符模式設(shè)備:允許非結(jié)構(gòu)的數(shù)據(jù)傳輸。數(shù)據(jù)傳輸?shù)湫偷夭捎么械男问?,每次一個字節(jié);字符設(shè)備通常是簡單的設(shè)備,如串口、鍵盤等;當系統(tǒng)到設(shè)備的傳輸速率高于設(shè)備的處理速率時,設(shè)備驅(qū)動程序開設(shè)緩沖區(qū),緩存這些數(shù)據(jù);n塊
11、模式設(shè)備:每次傳輸一個數(shù)據(jù)塊。采用硬件方式控制數(shù)據(jù)塊的大小,有時需要采用固定的傳輸協(xié)議,如USB、以太網(wǎng)等設(shè)備29建立通用的I/O接口函數(shù)Create()Open()Read()Write()Close()Loctl()Destroy()Driver_Create()Driver_Open()Driver_Read()Driver_Write()Driver_Close()Driver_Loctl()Driver_Destroy()I/OI/O操作操作設(shè)備驅(qū)動程序設(shè)備驅(qū)動程序應(yīng)應(yīng) 用用設(shè)設(shè) 備備30I/O接口設(shè)計 I/O接口電路也簡稱接口電路。它是主機和外圍設(shè)備之間交換信息的連接部件(電路)。
12、它在主機和外圍設(shè)備之間的信息交換中起著橋梁和紐帶作用。設(shè)置接口電路的必要性:a)解決CPU和外圍設(shè)備之間的時序配合和通信聯(lián)絡(luò)問題。b)解決CPU和外圍設(shè)備之間的數(shù)據(jù)格式轉(zhuǎn)換和匹配問題。c)解決CPU的負載能力和外圍設(shè)備端口選擇問題。31本節(jié)提要本節(jié)提要基于基于ARM的硬件系統(tǒng)體系結(jié)構(gòu)的硬件系統(tǒng)體系結(jié)構(gòu)存儲器接口設(shè)計存儲器接口設(shè)計網(wǎng)絡(luò)接口設(shè)計網(wǎng)絡(luò)接口設(shè)計I/OI/O接口設(shè)計接口設(shè)計人機交互接口設(shè)計人機交互接口設(shè)計其它通訊接口設(shè)計其它通訊接口設(shè)計32嵌入式開發(fā)板與PC機的串行通訊嵌入式開發(fā)板和PC機的通訊電纜可以按照如圖所示的方式連接。332410的UARTn S3C2410A 的UART (Un
13、iversal Asynchronous Receiver and Transmitter) 提供了三個獨立的異步串行I/O口,每一個都可以工作在中斷模式或DMA模式,即UART可以產(chǎn)生中斷或DMA請求以在CPU和UART之前傳送數(shù)據(jù),使用系統(tǒng)時鐘,UART最高可以支持230.4K bps 的位傳輸率。n如果采用外部帶時鐘的UART,則UART可以實現(xiàn)更度速度的傳輸;n每個UART包括2個16Byte的接收/發(fā)送FIFO。34UART控制框圖35異步串行通訊簡介n在一條傳輸線上完成單向傳輸。n將傳輸數(shù)據(jù)的字符一位接一位的傳送。n接收方對于同一條線上的一連串連續(xù)數(shù)學信號,首先將其分割成位,再按位
14、組成字符。n每個字符需要確定起始位和結(jié)束位,字符與字符間還可能有長度不定的空閑時間,因此傳輸效率較低。36字符串行輸出格式發(fā)送前:線路處于空閑狀態(tài),連續(xù)發(fā)送 “1”開始發(fā)送:首先,發(fā)送一位起始位 “0” 然后,發(fā)送連續(xù)的二進制位,數(shù)據(jù)位可以為5、6、7、8 隨后,緊跟一位奇偶校驗位(可選擇奇/偶/無校驗) 最后,發(fā)送停止位 “1”,可以有1位、1.5位或2位停止位37串行通訊硬件規(guī)范及連接方法nEIA RS-232C 物理特征: DB-25 DB-15 DB-9 信號連線:保護地、TXD/RXD、RTS/CTS、DCD、 DSR、DTR、R1 電平規(guī)定:-5V -15V 之間的電平表示邏輯 “
15、1” +5V +15V 之間的電平表示邏輯 “0”3839UART的操作串口初始化串口初始化發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù)接收數(shù)據(jù)接收數(shù)據(jù)40鍵盤接口設(shè)計n鍵盤模塊可能用來輸入數(shù)字型數(shù)據(jù)或者選擇控制設(shè)備的操作模式。n鍵盤有兩種方案:一是采用現(xiàn)有的一些芯片實現(xiàn)鍵盤掃描;再就是用軟件實現(xiàn)鍵盤掃描。嵌入式控制器的功能很強,可能允分利用這一資源。41一個瞬時接觸開關(guān)(按鈕)放置在每一行與線一列的交叉點。矩陣所需的鍵的數(shù)目顯然根據(jù)應(yīng)用程序而不同。每一行由一個輸出端口的一位驅(qū)動,而每一列由一個電阻器上拉且供給輸入端口一位。鍵盤掃描陣列42鍵盤掃描過程就是讓微處理器按有規(guī)律的時間間隔查看鍵盤矩陣,以確定是否有鍵被按下。每
16、個鍵被分配一個稱為掃描碼的唯一標識符。應(yīng)用程序利用該掃描碼,根據(jù)按下的鍵來判定應(yīng)該采取什么行動。 n消抖算法:n組合鍵處理鍵盤掃描方法43LCD接口設(shè)計LCD顯示模塊液晶顯示是一種被動的顯示,它不能發(fā)光,只能使用周圍環(huán)境的光。它顯示圖案或字符只需很小能量。液晶顯示所用的液晶材料是一種兼有液態(tài)和固體雙重性質(zhì)的有機物,它的棒狀結(jié)構(gòu)在液晶盒內(nèi)一般平行排列,但在電場作用下能改變其排列方向。nLCD的背光:nEL(場致發(fā)光):2000-3000小時n和LED光源:字符模式,50000小時44LCD的顯示方式n反射型LCD:底偏光片后面加了一塊反射板,它一般在戶外和光線良好的辦公室使用。n透射型LCD:底
17、偏光片是透射偏光片,它需要連續(xù)使用背光源,一般在光線差的環(huán)境使用。n透反射型LCD:是處于以上兩者之間,底偏光片能部分反光,一般也帶背光源,光線好的時候,可關(guān)掉背光源;光線差時,可點亮背光源使用LCD。45反射型LCD的結(jié)構(gòu)46nLCD通常由兩種方式,一種是帶有驅(qū)動芯片的LCD模塊,基本上屬于半成品n一些新型的嵌入式處理器也可以直接使用芯片上的內(nèi)置LCD控制器來構(gòu)造顯示模塊,比如:s3c2410可以支持STN的彩色/灰度/單色三種模式和TFT模式,灰度模式下可支持4級灰度和16級灰度,彩色模式下最多支持256色,LCD的實際尺寸可支持到640X480。LCD的驅(qū)動方式47總線驅(qū)動方式n一般帶有
18、驅(qū)動模塊的LCD顯示屏使用這種驅(qū)動方式,由于LCD已經(jīng)帶有驅(qū)動硬件電路,因此模塊給出的是總線接口,便于與單片機的總線進行接口。n驅(qū)動模塊具有八位數(shù)據(jù)總線,外加一些電源接口和控制信號。而且自帶顯示緩存,只需要將要顯示的內(nèi)容送到顯示緩存中就可以實現(xiàn)內(nèi)容的顯示。由于只有八條數(shù)據(jù)線,因此常常通過引腳信號來實現(xiàn)地址與數(shù)據(jù)線復(fù)用,以達到把相應(yīng)數(shù)據(jù)送到相應(yīng)顯示緩存的目的。48控制器掃描方式nS3C2410X中具有內(nèi)置的LCD控制器,它具有將顯示緩存(在系統(tǒng)存儲器中)中的LCD圖象數(shù)據(jù)傳輸?shù)酵獠縇CD驅(qū)動電路的邏輯功能。nS3C2410X中內(nèi)置的LCD控制器可支持灰度LCD和彩色LCD。在灰度LCD上,使用基
19、于時間的抖動算法(time-based dithering algorithm)和FRC (Frame Rate Control)方法,可以支持單色、4級灰度和16級灰度模式的灰度LCD。 在彩色LCD上,可以支持256級彩色。對于不同尺寸的LCD,具有不同數(shù)量的垂直和水平象素、數(shù)據(jù)接口的數(shù)據(jù)寬度、接口時間及刷新率,而LCD控制器可以進行編程控制相應(yīng)的寄存器值,以適應(yīng)不同的LCD顯示板。49嵌入式處理器與LCD的連接嵌入嵌入式處式處理器理器LCD模塊模塊數(shù)據(jù)數(shù)據(jù)總線總線寄存器選擇寄存器選擇使能信號使能信號有有LCD控制控制器的嵌入式器的嵌入式處理器處理器LCDLCD控制信控制信號線號線50 從
20、系統(tǒng)結(jié)構(gòu)上來講,由于顯示器模塊中已經(jīng)有顯示存儲器。顯存中的每一個單元對應(yīng)LCD上的一個點,只要顯存中的內(nèi)容改變,顯示結(jié)果便進行刷新。于是便存在兩種刷新:1直接根據(jù)系統(tǒng)要求對顯存進行修改,一種是只需修改相應(yīng)的局部就可以,不需要判斷覆蓋等;另一種就是有覆蓋問題,計算起來比較復(fù)雜,而且每做一點小的屏幕改變就進行刷新,將增加系統(tǒng)負擔。2 專門開辟顯示內(nèi)存,在需要刷新時候由程序進行顯示更新。這樣,不但可以減輕總線負荷,而且也比較合理,在有需要的時候進行統(tǒng)一的顯示更新,界面也可以比較美觀,不致由于無法預(yù)料的刷新動作導(dǎo)致顯示界面閃爍。LCD模塊的顯示控制51前后臺雙重顯示緩存的顯示前后臺雙重顯示緩存的顯示模
21、塊結(jié)構(gòu)模塊結(jié)構(gòu) 52LCDLCD接口設(shè)計接口設(shè)計1 1、實現(xiàn)過程簡述:、實現(xiàn)過程簡述: 就是將要顯示的數(shù)據(jù)放到一個特定的地址,這個特定的就是將要顯示的數(shù)據(jù)放到一個特定的地址,這個特定的地址就是地址就是frame memoryframe memory(幀存儲器),這塊空間是在系(幀存儲器),這塊空間是在系統(tǒng)內(nèi)存中。統(tǒng)內(nèi)存中。 然后然后LCDLCD控制器將這些數(shù)據(jù)配合控制信號送到控制器將這些數(shù)據(jù)配合控制信號送到LCDLCD驅(qū)動驅(qū)動器完成顯示。器完成顯示。 有相應(yīng)的寄存器來設(shè)定這個地址及其大小。與顯示數(shù)據(jù)有相應(yīng)的寄存器來設(shè)定這個地址及其大小。與顯示數(shù)據(jù)相配合完成顯示的控制信號時序也是由相應(yīng)的寄存器來
22、相配合完成顯示的控制信號時序也是由相應(yīng)的寄存器來完成的。這些寄存器都在完成的。這些寄存器都在LCDLCD的控制器中。的控制器中。53LCDLCD控制器框圖控制器框圖54主要的寄存器主要的寄存器nLCD控制寄存器(5個)n幀緩沖開始地址寄存器(3個)n臨時調(diào)色板寄存器(Temp Palette Register)nLCD中斷屏蔽寄存器(LCD Interrupt Mask Register)nLPC3600控制寄存器(LPC3600 Control Register )55LCDLCD控制寄存器的設(shè)置控制寄存器的設(shè)置n LCD的控制寄存器主要用來設(shè)置產(chǎn)生符合LCD屏的時序信號,各個參數(shù)要參考具體
23、屏的實際參數(shù),各個參數(shù)如下圖所示,各個參數(shù)在控制寄存器中都由相應(yīng)的域設(shè)置,系統(tǒng)中用的是TFT類型的LCD,時序圖如下:56觸摸屏接口設(shè)計觸摸屏接口設(shè)計觸摸屏的分類n電阻式觸摸屏 n表面聲波觸摸屏 n紅外式觸摸屏 n電容式觸摸屏57電阻式觸摸屏電阻式觸摸屏n電阻技術(shù)觸摸屏是一種對外界完全隔離的工作環(huán)境,故不怕灰塵、水汽和油污,可以用任何物體來觸摸,比較適合工業(yè)控制領(lǐng)域及辦公室內(nèi)有限人的使用。n分為四線電阻和五線電阻觸摸屏58四線電阻觸摸屏原理四線電阻觸摸屏原理59測量原理測量原理n在觸摸點X、Y坐標的測量過程中,測量電壓與測量點的等效電路圖所示,圖中P為測量點 XVYY60觸摸屏芯片61FM(A
24、DS)7843的特點的特點n實現(xiàn)觸摸屏的驅(qū)動選擇控制(X、Y通道)n對于輸入電壓或附加電壓進行AD轉(zhuǎn)換n同步串行接口n最大轉(zhuǎn)換速率125KHzn可編程控制8位或者12位轉(zhuǎn)換模式n工作電壓2.7V-5.0Vn兩個附加的輸入端口62FM7843FM7843與與ARMARM的連接的連接63AD7843AD7843的工作時序的工作時序n同步串口(SIO)向ADS7843發(fā)送控制字n轉(zhuǎn)換完成后從ADS7843串口讀出電壓轉(zhuǎn)換值 A/DA/D轉(zhuǎn)換時序(每次轉(zhuǎn)換需要轉(zhuǎn)換時序(每次轉(zhuǎn)換需要2424個時鐘周期)個時鐘周期)64觸摸屏與觸摸屏與LCDLCD的配合的配合nFM 7843送回控制器的X與Y值僅是對當前
25、觸摸點的電壓值的A/D轉(zhuǎn)換值,它不具有實用價值。這個值的大小不但與觸摸屏的分辨率有關(guān),而且也與觸摸屏與LCD貼合的情況有關(guān)。而且,LCD分辨率與觸摸屏的分辨率一般來說是不一樣,坐標也不一樣,因此,如果想得到體現(xiàn)LCD坐標的觸摸屏位置,還需要在程序中進行轉(zhuǎn)換。轉(zhuǎn)換公式如下: nx=(x-TchScr_Xmin)*LCDWIDTH/(TchScr_Xmax-TchScr_Xmin)ny=(y-TchScr_Ymin)*LCDHEIGHT/(TchScr_Ymax-TchScr_Ymin)n其中,TchScr_Xmax、TchScr_Xmin、TchScr_Ymax和TchScr_Ymin是觸摸屏返
26、回電壓值x、y軸的范圍,LCDWIDTH、LCDHEIGHT是液晶屏的寬度與高度。65觸摸屏(鍵盤)驅(qū)動程序結(jié)構(gòu)觸摸屏(鍵盤)驅(qū)動程序結(jié)構(gòu)66觸摸屏的驅(qū)動觸摸屏的驅(qū)動#define ADS7843_CTRL_START0 x80#define ADS7843_GET_X0 x50#define ADS7843_GET_Y0 x10#define ADS7843_CTRL_12MODE0 x0#define ADS7843_CTRL_8MODE0 x8#define ADS7843_CTRL_SER0 x4#define ADS7843_CTRL_DFR0 x0#define ADS7843_C
27、TRL_DISPWD0 x3/ Disable power down#define ADS7843_CTRL_ENPWD0 x0/ enable power down#define ADS7843_PIN_CS(16)/GPF6#define ADS7843_PIN_PEN (15)/GPG5/#define ADS7843_PIN_BUSY(16)/觸摸屏動作/#define TCHSCR_ACTION_NULL0#define TCHSCR_ACTION_CLICK1/觸摸屏單擊#define TCHSCR_ACTION_DBCLICK2/觸摸屏雙擊#define TCHSCR_ACTIO
28、N_DOWN3/觸摸屏按下#define TCHSCR_ACTION_UP4/觸摸屏抬起#define TCHSCR_ACTION_MOVE5/觸摸屏移動#define TCHSCR_IsPenNotDown()(rPDATG&ADS7843_PIN_PEN)void TchScr_init(void);void TchScr_GetScrXY(int *x, int *y);67函數(shù)函數(shù)TchScrGetScrXY(int TchScrGetScrXY(int * *x, int x, int * *y)y)的結(jié)構(gòu)的結(jié)構(gòu)68讀取觸摸點坐標讀取觸摸點坐標69本節(jié)提要本節(jié)提要基于基于ARM的硬件
29、系統(tǒng)體系結(jié)構(gòu)的硬件系統(tǒng)體系結(jié)構(gòu)存儲器接口設(shè)計存儲器接口設(shè)計網(wǎng)絡(luò)接口設(shè)計網(wǎng)絡(luò)接口設(shè)計I/OI/O接口設(shè)計接口設(shè)計人機交互接口設(shè)計人機交互接口設(shè)計其它通訊接口設(shè)計其它通訊接口設(shè)計70以太網(wǎng)接口的基本知識以太網(wǎng)接口的基本知識 1、傳輸編碼n曼徹斯特編碼n差分曼徹斯特編碼71以太網(wǎng)協(xié)議以太網(wǎng)協(xié)議 n以太網(wǎng)以太網(wǎng)MACMAC層物理傳輸幀層物理傳輸幀 (IEEE802.3 IEEE802.3 )PRSDDASATYPEDATAPADFCS56位8位48位48位16位不超過1500字節(jié)可選32位PRPR:同步位,收發(fā)雙方的時鐘同步,也指明傳輸?shù)乃俾剩ㄍ轿?,收發(fā)雙方的時鐘同步,也指明傳輸?shù)乃俾剩?0M10M
30、、100M100M)SDSD:分隔位分隔位, ,表示下面跟著的是真正的數(shù)據(jù)表示下面跟著的是真正的數(shù)據(jù), ,而不是同步時鐘而不是同步時鐘DADA:目目的地址的地址, ,以太網(wǎng)的地址為以太網(wǎng)的地址為4848位地址。如果為都為位地址。如果為都為F,F,則是廣播地址則是廣播地址SASA:源地址源地址,48,48位位, ,表明該幀的數(shù)據(jù)是哪個網(wǎng)卡發(fā)的表明該幀的數(shù)據(jù)是哪個網(wǎng)卡發(fā)的, ,即發(fā)送端網(wǎng)卡地址即發(fā)送端網(wǎng)卡地址TYPETYPE:類型字段,表明該幀的數(shù)據(jù)是什么類型。如:類型字段,表明該幀的數(shù)據(jù)是什么類型。如:0800H 0800H 表示數(shù)據(jù)為表示數(shù)據(jù)為IPIP 包,包,0806H0806H表示數(shù)據(jù)為表
31、示數(shù)據(jù)為ARPARP包,包,814CH814CH是是SNMPSNMP包,包,8137H8137H為為IPX/SPXIPX/SPX包包 DATADATA:數(shù)據(jù)段,該段數(shù)據(jù)不能超過:數(shù)據(jù)段,該段數(shù)據(jù)不能超過15001500字節(jié)。字節(jié)。PADPAD: 填充位。以太網(wǎng)幀傳輸?shù)臄?shù)據(jù)包最小不能小于填充位。以太網(wǎng)幀傳輸?shù)臄?shù)據(jù)包最小不能小于6060字節(jié)字節(jié), , 當數(shù)據(jù)段不當數(shù)據(jù)段不 足足4646字節(jié)時,后面補字節(jié)時,后面補000000.(000000.(當然也可以補其它值當然也可以補其它值) )FCS: 32FCS: 32位位CRCCRC數(shù)據(jù)校驗位。該校驗由網(wǎng)卡自動完成數(shù)據(jù)校驗位。該校驗由網(wǎng)卡自動完成72以
32、太網(wǎng)的數(shù)據(jù)傳輸特點以太網(wǎng)的數(shù)據(jù)傳輸特點nPR,SD,PAD,FCS這幾個數(shù)據(jù)段是由網(wǎng)卡自動產(chǎn)生的;只需要理解DADA、SASA、TYPETYPE、DATADATA四個段的內(nèi)容n所有數(shù)據(jù)位的傳輸由低位開始(傳輸?shù)奈涣魇褂寐鼜厮固鼐幋a) n以太網(wǎng)的沖突退避算法是由硬件自動執(zhí)行的nDA+SA+TYPE+DATA+PAD最小為60字節(jié),最大為1514字節(jié)n以太網(wǎng)卡可以接收三種地址的數(shù)據(jù),一個是廣播地位,一個是多播地址(在嵌入式的環(huán)境中一般不用),一個是它自已的地址n任何兩個網(wǎng)卡的物理地址都是不一樣的,是世界上唯一的,網(wǎng)卡地址由專門機構(gòu)分配。73嵌入式的以太網(wǎng)方案嵌入式的以太網(wǎng)方案n嵌入式處理器網(wǎng)卡芯片
33、(RTL8019)n對嵌入式處理器沒有特殊要求,通用性強n處理器和網(wǎng)絡(luò)數(shù)據(jù)交換通過外部總線,速度慢,不適合于100M網(wǎng)絡(luò)n帶有以太網(wǎng)絡(luò)接口的嵌入式處理器n處理器面向網(wǎng)絡(luò)應(yīng)用n處理器和網(wǎng)絡(luò)數(shù)據(jù)交換通過內(nèi)部總線,速度快74RTL8019RTL8019的原理框圖的原理框圖75嵌入式網(wǎng)絡(luò)接口的特點嵌入式網(wǎng)絡(luò)接口的特點n與常規(guī)的網(wǎng)卡設(shè)計思路不同的是,在嵌入式系統(tǒng)中,系統(tǒng)的精簡一直是個主要的原則。RTL8019AS作為網(wǎng)卡,時需要一片EEPROM作為配置存儲器,來確定通訊的端口地址,中斷地址,網(wǎng)卡的物理地址,工作模式,制造廠商等信息;n而在嵌入式系統(tǒng)中,可以使用RTL8019AS的默認配置和一些管腳作為網(wǎng)
34、卡的初始化方法。這樣可以節(jié)省配置存儲器,減小嵌入式硬件平臺的體積。76基于基于RTL8019RTL8019的嵌入式以太網(wǎng)設(shè)的嵌入式以太網(wǎng)設(shè)計計1 RTL8019AS1 RTL8019AS的初始化的初始化 RTL8019支持即插即用模式和非即插即用模式。在嵌入式系統(tǒng)中,網(wǎng)卡的外設(shè)通常是不經(jīng)常插拔的,所以,為了系統(tǒng)的精簡,配置RTL8019為非即插即用模式。有著固定的中斷,有著固定的端口地址,假設(shè)是端口是0 x300(這里的端口是相對于ISA總線來說的端口,對于ARM的總線,需要重新計算地址)。這些配置可以通過RTL8019的外部管腳,在系統(tǒng)上電復(fù)位的時候,自動配置起來。 77關(guān)于關(guān)于RTL801
35、9RTL8019的的RAMRAMnRTL8019含有16K字節(jié)的RAM,地址為0 x4000-0 x7fff(指的是RTL8019內(nèi)部的存儲地址,是RTL8019工作用的存儲器,可以通過遠程DMA訪問),每256個字節(jié)稱為一頁,共有64頁。頁的地址就是地址的高8位,頁地址為0 x40-0 x7f。這16k的ram的一部分用來存放接收的數(shù)據(jù)包,一部分用來存儲待發(fā)送的數(shù)據(jù)包 782 2 通過通過RTL8019ASRTL8019AS發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù) 作為一個集成的以太網(wǎng)芯片,數(shù)據(jù)的發(fā)送校驗,總線數(shù)據(jù)包的碰撞檢測與避免是由芯片自己完成的。我們只需要配置發(fā)送數(shù)據(jù)的物理層地址的源地址、目的地址、數(shù)據(jù)包類型
36、以及發(fā)送的數(shù)據(jù)就可以了。793 3、通過、通過RTL8019ASRTL8019AS接收數(shù)據(jù)接收數(shù)據(jù)n在RTL8019的初始化程序中已經(jīng)設(shè)置好了接收緩沖區(qū)的位置,并且配置好了中斷的模式。當有一個正確的數(shù)據(jù)包到達的時候,RTL8019會產(chǎn)生一個中斷信號,在ARM中斷處理程序中,接收數(shù)據(jù)。n數(shù)據(jù)的接收比較簡單,即通過遠端DMA把數(shù)據(jù)從RTL8019的RAM空間讀回ARM中處理。80TCP/IP TCP/IP 協(xié)議的層次協(xié)議的層次應(yīng)用層(Application) BSD套接字(BSD Sockets) 傳輸層 (Transport) TCP、UDP網(wǎng)絡(luò)層 (Network) IP、ARP、ICMP、I
37、GMP數(shù)據(jù)鏈路層(Data Link) IEEE802.3 Ethernet MAC物理層 (Physical) 81嵌入式以太網(wǎng)中主要處理的協(xié)嵌入式以太網(wǎng)中主要處理的協(xié)議議nARP(Address Resolation Protocol)地址解析協(xié)議 nICMPICMP (Internet Control Messages Protocol)網(wǎng)絡(luò)控制報文協(xié)議(用來與其它主機交換錯誤報文和其它重要信息,常用的網(wǎng)絡(luò)診斷工具ping和traceroute)nIP(IP(Internet Protocol) 網(wǎng)際協(xié)議nTCP(Transfer Control Protocol) 傳輸控制協(xié)議nUDP
38、(User Datagram Protocol)用戶數(shù)據(jù)包協(xié)議82ARPARP地址解析協(xié)議地址解析協(xié)議n網(wǎng)絡(luò)層用32 bit的IP地址來標識不同的主機,而鏈路層使用48 bit的物理(MAC)地址來標識不同的以太網(wǎng)接口。只知道目的主機的IP地址并不能發(fā)送數(shù)據(jù)幀給它,必須知道目的主機網(wǎng)絡(luò)接口的MAC地址才能發(fā)送數(shù)據(jù)幀。nARP的功能是實現(xiàn)從IP地址到對應(yīng)物理地址的轉(zhuǎn)換。 源主機發(fā)送一份包含目的主機IP地址的ARP請求數(shù)據(jù)幀給網(wǎng)上的每個主機,稱作ARP廣播,目的主機的ARP收到這份廣播報文后,識別出這是發(fā)送端在尋問它的IP地址,于是發(fā)送一個包含目的主機IP地址及對應(yīng)的MAC地址的ARP回答給源主機
39、。n每臺主機上都有一個ARP高速緩存,存放最近的IP地址到硬件地址之間的映射記錄。通常每一項的生存時間為20分鐘83ICMPICMP網(wǎng)絡(luò)控制報文協(xié)議網(wǎng)絡(luò)控制報文協(xié)議 nIP層的附屬協(xié)議,IP層用它來與其他主機或路由器交換錯誤報文和其他重要控制信息。nICMP報文是在IP數(shù)據(jù)包內(nèi)部被傳輸?shù)摹兩個實用的網(wǎng)絡(luò)診斷工具,Ping和Traceroute(Tracert),都是利用該協(xié)議工作的。84IPIP網(wǎng)際協(xié)議網(wǎng)際協(xié)議nIP工作在網(wǎng)絡(luò)層,是TCP/IP協(xié)議族中最為核心的協(xié)議。所有的TCP,UDP,ICMP以及IGMP數(shù)據(jù)都以IP數(shù)據(jù)包格式傳輸。nIP數(shù)據(jù)包最長可達65535字節(jié),其中報頭占32 bi
40、t的數(shù)目。包含各32 bit的源IP地址和目的IP地址。在嵌入式應(yīng)用中,簡化設(shè)計,IP數(shù)據(jù)包長度等于數(shù)據(jù)鏈路層的數(shù)據(jù)長度。85TCPTCP傳輸控制協(xié)議傳輸控制協(xié)議 TCP是一個面向連接的可靠的傳輸層協(xié)議。TCP為兩臺兩臺主機提供高可靠性的端到端數(shù)據(jù)通信。主要包括:n發(fā)送方把應(yīng)用程序交給它的數(shù)據(jù)分成合適的小塊,并添加附加信息(TCP頭),包括順序號,源、目的端口,控制、糾錯信息等字段,稱為TCP數(shù)據(jù)包。并將TCP數(shù)據(jù)包交給下面的網(wǎng)絡(luò)層處理。n接受方確認接收到的TCP數(shù)據(jù)包,重組并將數(shù)據(jù)送往高層。86UDPUDP協(xié)議協(xié)議 nUDP是一種無連接不可靠的傳輸層協(xié)議。n把應(yīng)用程序傳來的數(shù)據(jù)加上UDP頭(
41、包括端口號,段長等字段),作為UDP數(shù)據(jù)包發(fā)送出去,但是并不保證它們能到達目的地??煽啃杂蓱?yīng)用層來提供。就象發(fā)送一封寫有地址的一般信件,卻不保證它能到達。87基于基于ARMARM和和uCOS-IIuCOS-II的的TCP/IPTCP/IP協(xié)協(xié)議議 n向ARM和uC/OS移植一個TCP/IP協(xié)議棧n采用uC/OS自帶的TCP/IP協(xié)議棧88BSDBSD套接字套接字(BSD Sockets) (BSD Sockets) nBSD Sockets使用的最廣泛的網(wǎng)絡(luò)程序編程方法,主要用于應(yīng)用程序的編寫,用于網(wǎng)絡(luò)上主機與主機之間的相互通信nUNIX,Linux,VxWorks均支持BSD Sockets
42、,Windows的Winsock基本上是來自BSD SocketsnSocket分為Stream Sockets和Data SocketsnStream Sockets是可靠性的雙向數(shù)據(jù)傳輸,使用TCP協(xié)議nData Sockets是不可靠連接,使用UDP協(xié)議89套接字的使用套接字的使用UDP服務(wù)器端和一個UDP客戶端通信的程序過程n創(chuàng)建一個SocketSocketsFd =socketsocket (AF_INET, SOCK_DGRAM, 0) n把Socket和本機的IP,UDP口綁定bindbind (sFd, (struct sockaddr *) &serverAddr, sockAddrSize) n循環(huán)等待,接收(recvfromrecvfrom)或者發(fā)送(sendfrom)信息n關(guān)閉Socket,通信終止 closeclose (sFd)90本節(jié)提要本節(jié)提要基于基
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年四川省樂山市峨眉山市綏山鎮(zhèn)招聘社區(qū)工作者考前自測高頻考點模擬試題(共500題)含答案
- 2025幼兒園師德計劃
- 2025年第一學期高三班主任工作計劃范文
- 2025年四年級德育工作計劃
- 控煙管理及獎懲制度范文
- 2025年小學英語科第二學期教研工作計劃范文
- 2025年法律顧問工作計劃
- Unit2 Morals and Virtues Listening and Speaking 說課稿-2023-2024學年高中英語人教版(2019)必修第三冊
- 2025年社區(qū)衛(wèi)生服務(wù)站工作計劃
- 2025年審計工作計劃例文參考
- 《中國近現(xiàn)代史綱要(2023版)》課后習題答案合集匯編
- 腰椎間盤突出癥的射頻治療
- 2023屆河南省洛陽市平頂山市許昌市濟源市高三一模語文試題
- 【超星爾雅學習通】《老子》《論語》今讀網(wǎng)課章節(jié)答案
- 配電箱采購技術(shù)要求
- 上海外國語大學附屬外國語學校2020-2021七年級下學期期中英語試卷+答案
- 綠色施工措施措施 四節(jié)一環(huán)保
- TCSES 71-2022 二氧化碳地質(zhì)利用與封存項目泄漏風險評價規(guī)范
- GB/T 8561-2001專業(yè)技術(shù)職務(wù)代碼
- GB/T 7661-2009光學零件氣泡度
- GB/T 4745-2012紡織品防水性能的檢測和評價沾水法
評論
0/150
提交評論