六、基于ARM的嵌入式系統(tǒng)硬件結(jié)構(gòu)設(shè)計_第1頁
六、基于ARM的嵌入式系統(tǒng)硬件結(jié)構(gòu)設(shè)計_第2頁
六、基于ARM的嵌入式系統(tǒng)硬件結(jié)構(gòu)設(shè)計_第3頁
六、基于ARM的嵌入式系統(tǒng)硬件結(jié)構(gòu)設(shè)計_第4頁
六、基于ARM的嵌入式系統(tǒng)硬件結(jié)構(gòu)設(shè)計_第5頁
已閱讀5頁,還剩79頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

嵌入式系統(tǒng)設(shè)計與實例開發(fā)——ARM與C/OS-Ⅱ第六講基于ARM的硬件系統(tǒng)結(jié)構(gòu)設(shè)計中國礦業(yè)大學(xué)信電學(xué)院電子信息學(xué)系程健本節(jié)提要要132546基于ARM的硬件系系統(tǒng)體系系結(jié)構(gòu)存儲器接接口設(shè)計計網(wǎng)絡(luò)接口口設(shè)計I/O接口設(shè)計計人機交互互接口設(shè)設(shè)計其它通訊訊接口設(shè)設(shè)計基于ARM的硬件設(shè)設(shè)計主要介紹紹基于ARM7的嵌入式式硬件開開發(fā)平臺臺的設(shè)計計方法,,包括結(jié)結(jié)構(gòu)、主主要接口口、存儲儲器選用用方案以以及外設(shè)設(shè)、顯示示等方面面的內(nèi)容容。嵌入式硬硬件開發(fā)發(fā)平臺的的體系結(jié)結(jié)構(gòu)外圍存儲儲器接口口設(shè)計方方法鍵盤、LCD等人機交交互接口口的設(shè)計計觸摸屏的的設(shè)計以太網(wǎng)設(shè)設(shè)計CAN總線設(shè)計計SamsungS3C44B0XSamsungS3C44B0X微處理器器是三星星公司專專為手持持設(shè)備和和一般應(yīng)應(yīng)用提供供的高性性價比和和高性能能的微控控制器解解決方案案,它使使用ARM7TDMI核,工作作在66MHZ。為了降低低系統(tǒng)總總成本和和減少外外圍器件件,這款款芯片中中還集成成了下列列部件::8KBCache、外部存儲儲器控制制器、LCD控制器、、4個DMA通道、2通道UART、1個多主I2C總線控制制器、1個IIS總線控制制器,5通道PWM定時器及及一個內(nèi)內(nèi)部定時時器、71個通用I/O口、8個外部中中斷源、、實時時時鐘、8通道10位ADC等?;贏RM的嵌入式式硬件平平臺體系系結(jié)構(gòu)基于ARM架構(gòu)的32位微處理器SamsungS3C44B0X2MBNORFlash(BIOS)8MBSDRM(系統(tǒng)內(nèi)存)16MBNANDFlash(硬盤)USB接口PDIUSBD12兩個RS-232串行通信接口JTAG調(diào)試端口LCD顯示鍵盤輸入TCP/IP協(xié)議CANBUS芯片體系系結(jié)構(gòu)S3C44B0X存儲系統(tǒng)統(tǒng)的特征征支持數(shù)據(jù)據(jù)存儲的的大/小端選擇擇(通過外部部引腳和和程序進進行選擇擇)地址空間間:具有有8個存儲體體,每個個存儲體體可達32Mb,總共可達達256MB。對所有存存儲體的的訪問大大小均可可進行改改變(8位/16位/32位)8個存儲體體中,Bank0-Bank5可支持ROM、SRAM;Bank6、Bank7可支持ROM、SRAM和FP/EDO/SDRAM等。復(fù)位后的的S3C44B0X的存儲器器映射表表

32MB

32MB

32MB

32MB

32MB

28MB

256MB

SA[27:0]

可存取

區(qū)域

特殊功能

寄存器(4MB)

SROM

(nGCS0)

SROM

(nGCS1)

SROM

(nGCS2)

SROM

(nGCS3)

SROM

(nGCS4)

SROM

(nGCS5)

SROM/DRAM/SDRAM

(nGCS6)

SROM/DRAM/SDRAM

(nGCS7)0x1000_0000

0x0e00_0000

0x0c00_0000

0x0e00_0000

0x0800_0000

0x0600_0000

0x0400_0000

0x0200_0000

0x01c0_0000

0x0000_0000

2MB/4MB/8MB/16MB/32MB2MB/4MB/8MB/16MB/32MB系統(tǒng)的存存儲空間間分配Bank0:1片2MBNORFlash,放置系系統(tǒng)引導(dǎo)導(dǎo)程序,,系統(tǒng)上上電復(fù)位位后,PC指針自動動指向Bank0的第一個個單元,,進行系系統(tǒng)自舉舉。。Bank1:K9F2808(三星16MbyteFlash),非線性尋尋址。具具體的時時序可以以參考K9F2808的datasheetBank2:PDIUSBD12。USB設(shè)備端接接口芯片片,占用用系統(tǒng)外外部中斷斷0。8位數(shù)據(jù)總總線。Bank3、Bank4未接設(shè)備備??梢砸怨U展展使用Bank5:RTL8019AS,ISA總線兼容容的10M以太網(wǎng)((PHY+MAC層)控制制芯片。。占用系系統(tǒng)外部部中斷1,16位數(shù)據(jù)總總線;擴擴展IO口Bank6:SDRAM,起始地址址為0xC000000。在SDRAM中,前512Kbyte的空間劃劃分出來來,作為為系統(tǒng)的的LCD顯示緩沖沖區(qū)使用用(更新新其中的的數(shù)據(jù),,就可以以更新LCD的顯示))。系統(tǒng)統(tǒng)的程序序存儲空空間從0xC080000開始。也也就是,,引導(dǎo)系系統(tǒng)的時時候,需需要把system..bin文件復(fù)制制到0xC080000開始的地地址空間間,把PC指針指向向0xC080000。Bank7:未使用。。可以擴擴展另一一片SDRAM,或者其他他的外設(shè)設(shè)。系統(tǒng)的同同步串行行口(SIO),連接著觸觸摸屏控控制芯片片F(xiàn)M7843(與ADS7843完全兼容容);CAN總線控制制芯片MCP2510;Max504(D/A);鍵盤盤和LED掃描芯片片ZLG7289。在同步步串行口口上,還還可以擴擴展其他他的芯片片。通過過IO口控制設(shè)設(shè)備的片片選信號號(CS)來防止設(shè)設(shè)備的沖沖突。注:系統(tǒng)統(tǒng)的外部部總線主主要有16位和8位。原理理圖設(shè)計計的時候候需要注注意16總線和8位總線的的區(qū)別。。在連接接不同總總線寬度度的外設(shè)設(shè),地址址是否需需要依次次向后錯錯位。本節(jié)提要要132546基于ARM的硬件系系統(tǒng)體系系結(jié)構(gòu)存儲器接接口設(shè)計計網(wǎng)絡(luò)接口口設(shè)計I/O接口設(shè)計計人機交互互接口設(shè)設(shè)計其它通訊訊接口設(shè)設(shè)計S3C44B0X與FLASH的連接((HalfWord方式)使用Bank0上的1片2MBflash來放置系系統(tǒng)BIOS,系統(tǒng)上電電以后,,PC指針自動動指向Bank0的第一個個單元,,開始進進行系統(tǒng)統(tǒng)自舉。。系統(tǒng)自自舉完成成以后,,便從硬硬盤中將將系統(tǒng)文文件和用用戶應(yīng)用用程序復(fù)復(fù)制到SDRAM內(nèi)存中執(zhí)執(zhí)行。Bank1上接16MNANDFlash,當做系統(tǒng)統(tǒng)硬盤使使用,可可以構(gòu)造造文件系系統(tǒng),存存放海量量數(shù)據(jù)。。用SDRAM當作系統(tǒng)統(tǒng)內(nèi)存,,只有Bank6/Bank7能支持SDRAM,所以將SDRAM接在Bank6上。如果果同時使使用Bank6/Bank7,則要求連連接相同同容量的的存儲器器,而且且其地址址空間在在物理上上是連續(xù)續(xù)的。存儲器接接口設(shè)計計NAND和NOR———性能比較較NOR和NAND是現(xiàn)在市市場上兩兩種主要要的非易易失閃存存技術(shù)NOR的讀速度度比NAND稍快一些些NAND的寫入速速度比NOR快很多NAND的擦除速速度遠比比NOR的快大多數(shù)寫寫入操作作需要先先進行擦擦除操作作NAND的擦除單單元更小小,相應(yīng)應(yīng)的擦除除電路更更少接口差別別NORflash帶有SRAM接口,線線性尋址址,可以以很容易易地存取取其內(nèi)部部的每一一個字節(jié)節(jié)NANDflash使用復(fù)用用接口和和控制IO多次尋址址存取數(shù)數(shù)據(jù)NAND讀和寫操操作采用用512字節(jié)的塊塊,這一一點有點點像硬盤盤管理此此類操作作易于取取代硬盤盤等類似似的塊設(shè)設(shè)備容量和成成本NANDflash生產(chǎn)過程程更為簡簡單,成成本低常見的NORflash為128KB~16MB,而NANDflash通常有8~128MBNOR主要應(yīng)用用在代碼碼存儲介介質(zhì)中,,NAND適合于數(shù)數(shù)據(jù)存儲儲NAND在CompactFlash、SecureDigital、PCCards和MMC存儲卡市市場上所所占份額額最大可靠性和和耐用性性在NAND中每每塊的最最大擦寫寫次數(shù)是是100萬次,,而NOR的擦擦寫次數(shù)數(shù)是10萬次位交換的的問題NANDflash中更突突出,需需要ECC糾錯錯NANDflash中壞塊塊隨機分分布,需需要通過過軟件標標定———產(chǎn)品量產(chǎn)產(chǎn)的問題題關(guān)于BOOTROMBank0:系統(tǒng)的啟啟動ROM(FlashRom)。在系統(tǒng)復(fù)復(fù)位的時時候,處處理器的的PC(程序計數(shù)數(shù)器)指指針指向向0x0地址。在在Bank0的起始地地址的程程序,就就是系統(tǒng)統(tǒng)的初始始化程序序。此程程序的主主要任務(wù)務(wù)是:1、管理處處理器的的中斷服服務(wù)程序序處理器的的中斷是是從0x0地址開始始,引導(dǎo)導(dǎo)ROM負責(zé)把這這一部分分的中斷斷映射到到另一個個區(qū)域,,以便系系統(tǒng)處理理。具體體的做法法,可以以參考44binit.s里面的代代碼。((這部分分代碼是是三星主主頁可以以提供,,它把系系統(tǒng)的中中斷,映映射到了了不同的的指針所所指向的的地址空空間(主主要就是是系統(tǒng)RAM的空間)))。2、初始化化硬件平平臺,配配置其他他的BankS3C44B0X的Bank0是通過外外部的一一個管腳腳提供的的上拉、、下拉電電阻來配配置的。。主要包包括:數(shù)數(shù)據(jù)位數(shù)數(shù)(8位、16位、32位),數(shù)數(shù)據(jù)格式式(大端端、小端端)。而而其他的的Bank的配置,,以及讀讀寫周期期等信息息是靠Bank0內(nèi)部的代代碼配置置相應(yīng)的的寄存器器來實現(xiàn)現(xiàn)的。同同時,系系統(tǒng)的引引導(dǎo)Rom也負責(zé)配配置系統(tǒng)統(tǒng)的其他他的一些些寄存器器,比如如,系統(tǒng)統(tǒng)的PLL(鎖頻環(huán)))配置,,系統(tǒng)的的IO口等一些些端口功功能的配配置等等等。3、系統(tǒng)自自動檢測測引導(dǎo)Rom負責(zé)檢測測系統(tǒng)的的啟動所所必須的的外設(shè)是是否正常常。主要要是系統(tǒng)統(tǒng)的SDRAM的檢測。。4、系統(tǒng)的的軟件設(shè)設(shè)置,更更新系統(tǒng)統(tǒng)(system..bin)用戶可以以在系統(tǒng)統(tǒng)啟動的的時候,,按任意意鍵,進進入系統(tǒng)統(tǒng)的軟件件設(shè)置狀狀態(tài)。通通過引導(dǎo)導(dǎo)Rom設(shè)置或者者查看系系統(tǒng)的一一些軟件件信息。。包括::通過開開啟USB端口;更更新系統(tǒng)統(tǒng)文件system..bin;LCD顯示測試試;演示示程序的的裝載測測試;鍵鍵盤測試試;觸摸摸屏的坐坐標校準準;觸摸摸屏測試試;以太太網(wǎng)地址址的設(shè)置置等本節(jié)提要要132546基于ARM的硬件系系統(tǒng)體系系結(jié)構(gòu)存儲器接接口設(shè)計計網(wǎng)絡(luò)接口口設(shè)計I/O系統(tǒng)設(shè)計計人機交互互接口設(shè)設(shè)計其它通訊訊接口設(shè)設(shè)計I/O子系統(tǒng)的的層次模模型I/O子系統(tǒng)::I/O設(shè)備、相相關(guān)的設(shè)設(shè)備驅(qū)動動程序和和I/O子系統(tǒng)組組成嵌入入式I/O子系統(tǒng)。。I/O子系統(tǒng)的的目標是是對RTOS和應(yīng)用程程序員隱隱藏設(shè)備備特定的的信息,,并且對對系統(tǒng)的的外圍I/O設(shè)備提供供一個統(tǒng)統(tǒng)一的訪訪問方法法。從不同角角度看I/O系統(tǒng)從系統(tǒng)軟軟件開發(fā)發(fā)者角度度看,I/O操作意味味著與設(shè)設(shè)備的通通信、對對設(shè)備編編程初始始化和請請示執(zhí)行行設(shè)備與與系統(tǒng)之之間的實實際數(shù)據(jù)據(jù)傳輸以以及操作作完成后后通知請請求者。。系統(tǒng)軟軟件工程程師必須須理解設(shè)設(shè)備的物物理特性性,如寄寄存器的的定義和和設(shè)備的的訪問方方法。從RTOS的角度看看,I/O操作意味味著對I/O請求定位位正確的的設(shè)備,,對設(shè)備備定位正正確的設(shè)設(shè)備驅(qū)動動程序,,并解決決對設(shè)備備驅(qū)動程程序的請請求。有有時要求求RTOS保證對設(shè)設(shè)備的同同步訪問問。RTOS必須進行行抽象,,對應(yīng)用用程序員員隱含設(shè)設(shè)備的特特性。從應(yīng)用程程序員角角度看,,目標是找找到一個個簡單、、統(tǒng)一和和精練的的方法與與系統(tǒng)中中出現(xiàn)的的所有類類型的設(shè)設(shè)備。I/O接口的編編址方式式——端口映射射1)I/O接口獨立立編址——端口映射射方式這種編址址方式是是將存儲儲器地址址空間和和I/O接口地址址空間分分開設(shè)置置,互不不影響。。設(shè)有專專門的輸輸入指令令(IN)和輸出出指令((OUT)來完成成I/O操作。主要優(yōu)點點:內(nèi)存地址址空間與與I/O接口地址址空間分分開,互互不影響響,譯碼碼電路較較簡單,,并設(shè)有有專門的的I/O指令,所所以編程程序易于于區(qū)分,,且執(zhí)行行時間短短,快速速性好。。缺點:只用I/O指令訪問問I/O端口,功功能有限限且要采采用專用用I/O周期和專專用I/O控制線,,使微處處理器復(fù)復(fù)雜化。。I/O接口的編編址方式式——內(nèi)存映射射1)2)I/O接口與存存儲器統(tǒng)統(tǒng)一編址址方式——內(nèi)存映射射這種編址址方式不不區(qū)分存存儲器地地址空間間和I/O接口地址址空間,,把所有有的I/O接口的端端口都當當作是存存儲器的的一個單單元對待待,每個個接口芯芯片都安安排一個個或幾個個與存儲儲器統(tǒng)一一編號的的地址號號。也不不設(shè)專門門的輸入入/輸出指令令,所有有傳送和和訪問存存儲器的的指令都都可用來來對I/O接口操作作。主要優(yōu)點點:訪問內(nèi)存存的指令令都可用用于I/O操作,數(shù)數(shù)據(jù)處理理功能強強;同時時I/O接口可與與存儲器器部分共共用譯碼碼和控制制電路。。缺點:一是I/O接口要占占用存儲儲器地址址空間的的一部分分;二是是因不用用專門的的I/O指令,程程序中較較難區(qū)分分I/O操作。DMAI/ODMAI/ODMA允許設(shè)備備直接訪訪問內(nèi)存存而不用用包含處處理器,,在數(shù)據(jù)據(jù)傳輸操操作開始始之前,,處理器器設(shè)置DMA控制器,,在數(shù)據(jù)據(jù)傳輸期期間,讀讀寫操作作均不通通過處理理器。DMA傳輸速度度取決于于I/O設(shè)備的傳傳輸速度度、內(nèi)存存設(shè)備的的速度和和DMA控制器的的速度。。通過指定定源地址址、目的的內(nèi)存地地址和傳傳輸?shù)紻MA控制器長長度,處處理器建建立傳輸輸操作。。I/O接口設(shè)計計I/O接口電路路也簡稱稱接口電電路。它它是主機機和外圍圍設(shè)備之之間交換換信息的的連接部部件(電電路)。。它在主主機和外外圍設(shè)備備之間的的信息交交換中起起著橋梁梁和紐帶帶作用。。設(shè)置接接口電路路的必要要性:a)解決CPU和外圍設(shè)設(shè)備之間間的時序序配合和和通信聯(lián)聯(lián)絡(luò)問題題。b)解決CPU和外圍設(shè)設(shè)備之間間的數(shù)據(jù)據(jù)格式轉(zhuǎn)轉(zhuǎn)換和匹匹配問題題。c)解決CPU的負載能能力和外外圍設(shè)備備端口選選擇問題題。S3C44B0X的I/O接口ARM系統(tǒng)完成成I/O功能的標標準方法法是使用用存儲器器映射I/O。這種方方法使用用特定的的存儲器器地址。。當從這這些地址址加載或或向這些些地址存存儲時,,它們提提供I/O功能。典典型情況況下,從從存儲器器映射I/O地址加載載用于輸輸入,而而向存儲儲器映射射I/O地址存儲儲用于輸輸出。S3C44B0X有71個多功能能輸入\輸出管腳腳,構(gòu)成成了7組I/O接口:兩個9位的輸入入/輸出接口口(E和F)兩個8位的輸入入/輸出接口口(D和G)一個16位的輸入入/輸出接口口(C)一個10位的輸出出接口((A)一個11位的輸出出接口((B)本節(jié)提要要132546基于ARM的硬件系系統(tǒng)體系系結(jié)構(gòu)存儲器接接口設(shè)計計網(wǎng)絡(luò)接口口設(shè)計I/O接口設(shè)計計人機交互互接口設(shè)設(shè)計其它通訊訊接口設(shè)設(shè)計嵌入式開開發(fā)板與與PC機的串行行通訊嵌入式開開發(fā)板和和PC機的通訊訊電纜可可以按照照如圖所所示的方方式連接接。鍵盤接口口設(shè)計鍵盤模塊塊可能用用來輸入入數(shù)字型型數(shù)據(jù)或或者選擇擇控制設(shè)設(shè)備的操操作模式式。鍵盤有兩兩種方案案:一是是采用現(xiàn)現(xiàn)有的一一些芯片片實現(xiàn)鍵鍵盤掃描描;再就就是用軟軟件實現(xiàn)現(xiàn)鍵盤掃掃描。嵌嵌入式控控制器的的功能很很強,可可能允分分利用這這一資源源。一個瞬時時接觸開開關(guān)(按按鈕)放放置在每每一行與與線一列列的交叉叉點。矩矩陣所需需的鍵的的數(shù)目顯顯然根據(jù)據(jù)應(yīng)用程程序而不不同。每每一行由由一個輸輸出端口口的一位位驅(qū)動,,而每一一列由一一個電阻阻器上拉拉且供給給輸入端端口一位位。鍵盤掃描描陣列鍵盤掃描描過程就就是讓微微處理器器按有規(guī)規(guī)律的時時間間隔隔查看鍵鍵盤矩陣陣,以確確定是否否有鍵被被按下。。每個鍵鍵被分配配一個稱稱為掃描描碼的唯唯一標識識符。應(yīng)應(yīng)用程序序利用該該掃描碼碼,根據(jù)據(jù)按下的的鍵來判判定應(yīng)該該采取什什么行動動。消抖算法法:組合鍵處處理鍵盤掃描描方法LCD接口設(shè)計計LCD顯示模塊塊液晶顯示示是一種種被動的的顯示,,它不能能發(fā)光,,只能使使用周圍圍環(huán)境的的光。它它顯示圖圖案或字字符只需需很小能能量。液液晶顯示示所用的的液晶材材料是一一種兼有有液態(tài)和和固體雙雙重性質(zhì)質(zhì)的有機機物,它它的棒狀狀結(jié)構(gòu)在在液晶盒盒內(nèi)一般般平行排排列,但但在電場場作用下下能改變變其排列列方向。。LCD的背光::EL(場致發(fā)發(fā)光)::2000-3000小時和LED光源:字字符模式式,50000小時LCD的顯示方方式反射型LCD:底偏光光片后面面加了一一塊反射射板,它它一般在在戶外和和光線良良好的辦辦公室使使用。透射型LCD:底偏光光片是透透射偏光光片,它它需要連連續(xù)使用用背光源源,一般般在光線線差的環(huán)環(huán)境使用用。透反射型型LCD:是處于于以上兩兩者之間間,底偏偏光片能能部分反反光,一一般也帶帶背光源源,光線線好的時時候,可可關(guān)掉背背光源;;光線差差時,可可點亮背背光源使使用LCD。反射型LCD的結(jié)構(gòu)LCD通常由兩兩種方式式,一種種是帶有有驅(qū)動芯芯片的LCD模塊,基基本上屬屬于半成成品一些新型型的嵌入入式處理理器也可可以直接接使用芯芯片上的的內(nèi)置LCD控制器來來構(gòu)造顯顯示模塊塊,比如如:s3c44b0可以支持持STN的彩色/灰度/單色三種種模式,,灰度模模式下可可支持4級灰度和和16級灰度,,彩色模模式下最最多支持持256色,LCD的實際尺尺寸可支支持到640X480。LCD的驅(qū)動方方式嵌入式處處理器與與LCD的連接嵌入式處處理器LCD模模塊數(shù)據(jù)總線線寄存器選選擇使能信號號有LCD控制器器的嵌入入式處理理器LCDLCD控控制信號號線從系統(tǒng)結(jié)結(jié)構(gòu)上來來講,由由于顯示示器模塊塊中已經(jīng)經(jīng)有顯示示存儲器器。顯存存中的每每一個單單元對應(yīng)應(yīng)LCD上的一個個點,只只要顯存存中的內(nèi)內(nèi)容改變變,顯示示結(jié)果便便進行刷刷新。于于是便存存在兩種種刷新::1.直接根根據(jù)系統(tǒng)統(tǒng)要求對對顯存進進行修改改,一種種是只需需修改相相應(yīng)的局局部就可可以,不不需要判判斷覆蓋蓋等;另另一種就就是有覆覆蓋問題題,計算算起來比比較復(fù)雜雜,而且且每做一一點小的的屏幕改改變就進進行刷新新,將增增加系統(tǒng)統(tǒng)負擔。。2.專門開開辟顯示示內(nèi)存,,在需要要刷新時時候由程程序進行行顯示更更新。這這樣,不不但可以以減輕總總線負荷荷,而且且也比較較合理,,在有需需要的時時候進行行統(tǒng)一的的顯示更更新,界界面也可可以比較較美觀,,不致由由于無法法預(yù)料的的刷新動動作導(dǎo)致致顯示界界面閃爍爍。LCD模塊的顯顯示控制制前后臺雙雙重顯示示緩存的的顯示模模塊結(jié)構(gòu)構(gòu)觸摸屏接接口設(shè)計計觸摸屏的的分類電阻式觸觸摸屏表面聲波波觸摸屏屏紅外式觸觸摸屏電容式觸觸摸屏電阻式觸觸摸屏電阻技術(shù)術(shù)觸摸屏屏是一種種對外界界完全隔隔離的工工作環(huán)境境,故不不怕灰塵塵、水汽汽和油污污,可以以用任何何物體來來觸摸,,比較適適合工業(yè)業(yè)控制領(lǐng)領(lǐng)域及辦辦公室內(nèi)內(nèi)有限人人的使用用。分為四線線電阻和和五線電電阻觸摸摸屏四線電阻阻觸摸屏屏原理測量原理理在觸摸點點X、Y坐標的測測量過程程中,測測量電壓壓與測量量點的等等效電路路圖所示示,圖中中P為測量點點XVYY觸摸屏芯芯片F(xiàn)M(ADS))7843的特點實現(xiàn)觸摸摸屏的驅(qū)驅(qū)動選擇擇控制((X、Y通道)對于輸入入電壓或或附加電電壓進行行AD轉(zhuǎn)換同步串行行接口最大轉(zhuǎn)換換速率125KHz可編程控控制8位或者12位轉(zhuǎn)換模模式工作電壓壓2.7V-5..0V兩個附加加的輸入入端口FM7843與ARM的連接AD7843的工作時時序同步串口口(SIO)向ADS7843發(fā)送控制制字轉(zhuǎn)換完成成后從ADS7843串口讀出出電壓轉(zhuǎn)轉(zhuǎn)換值A(chǔ)/D轉(zhuǎn)換時序序(每次次轉(zhuǎn)換需需要24個時鐘周周期)觸摸屏的的驅(qū)動#defineADS7843__CTRL_START0x80#defineADS7843__GET_X0x50#defineADS7843__GET_Y0x10#defineADS7843__CTRL_12MODE0x0#defineADS7843__CTRL_8MODE0x8#defineADS7843__CTRL_SER0x4#defineADS7843__CTRL_DFR0x0#defineADS7843__CTRL_DISPWD0x3 ///Disablepowerdown#defineADS7843__CTRL_ENPWD0x0///enablepowerdown#defineADS7843__PIN_CS((1<<<6)///GPF6#defineADS7843__PIN_PEN((1<<<5)///GPG5//#defineADS7843_PIN__BUSY((1<<<6)///////////觸觸摸屏動動作///////////#defineTCHSCR_ACTION__NULL0#defineTCHSCR_ACTION__CLICK1///觸觸摸屏單單擊#defineTCHSCR_ACTION__DBCLICK2///觸摸摸屏雙擊擊#defineTCHSCR_ACTION__DOWN3///觸摸摸屏按下下#defineTCHSCR_ACTION__UP4 ///觸摸屏屏抬起#defineTCHSCR_ACTION__MOVE5///觸摸摸屏移動動#defineTCHSCR_IsPenNotDown(()((rPDATG&ADS7843_PIN_PEN))voidTchScr_init(void));voidTchScr_GetScrXY(int**x,,int**y);;函數(shù)TchScrGetScrXY(int*x,int*y)的結(jié)構(gòu)本節(jié)提要要132546基于ARM的硬件系系統(tǒng)體系系結(jié)構(gòu)存儲器接接口設(shè)計計網(wǎng)絡(luò)接口口設(shè)計I/O接口設(shè)計計人機交互互接口設(shè)設(shè)計其它通訊訊接口設(shè)設(shè)計以太網(wǎng)接接口的基基本知識識1、傳輸輸編碼曼徹斯特特編碼差分曼徹徹斯特編編碼以太網(wǎng)協(xié)協(xié)議以太網(wǎng)MAC層物理傳傳輸幀((IEEE802.3)PRSDDASATYPEDATAPADFCS56位8位48位48位16位不超過1500字節(jié)可選32位PR: 同步步位,收收發(fā)雙方方的時鐘鐘同步,,也指明明傳輸?shù)牡乃俾剩ǎ?0M、100M)SD:分隔位,表示下面面跟著的的是真正正的數(shù)據(jù)據(jù),而不是同同步時鐘鐘DA: 目的地址,以太網(wǎng)的的地址為為48位地址。。如果為為都為F,則是廣播播地址SA:源地址,48位,表明該幀幀的數(shù)據(jù)據(jù)是哪個個網(wǎng)卡發(fā)發(fā)的,即發(fā)送端端網(wǎng)卡地地址TYPE:類型字字段,表表明該幀幀的數(shù)據(jù)據(jù)是什么么類型。。如:0800H表示數(shù)據(jù)據(jù)為IP包,0806H表示數(shù)據(jù)據(jù)為ARP包,814CH是SNMP包,8137H為IPX//SPX包DATA:數(shù)據(jù)段段,該段段數(shù)據(jù)不不能超過過1500字節(jié)。PAD:填充充位。以以太網(wǎng)幀幀傳輸?shù)牡臄?shù)據(jù)包包最小不不能小于于60字節(jié),當數(shù)據(jù)段段不足46字節(jié)時,,后面補補000000.......(當然也可可以補其其它值)FCS::32位CRC數(shù)據(jù)校驗驗位。該該校驗由由網(wǎng)卡自自動完成成以太網(wǎng)的的數(shù)據(jù)傳傳輸特點點PR,SD,PAD,,FCS這幾個數(shù)數(shù)據(jù)段是是由網(wǎng)卡卡自動產(chǎn)產(chǎn)生的;;只需要要理解DA、SA、TYPE、DATA四個段的的內(nèi)容所有數(shù)據(jù)據(jù)位的傳傳輸由低低位開始始(傳輸?shù)奈晃涣魇褂糜寐鼜厮顾固鼐幋a碼)以太網(wǎng)的的沖突退退避算法法是由硬硬件自動動執(zhí)行的的DA+SA+TYPE+DATA++PAD最小為60字節(jié),最大為1514字節(jié)以太網(wǎng)卡卡可以接接收三種種地址的的數(shù)據(jù),,一個是是廣播地地位,一一個是多多播地址址(在嵌入式式的環(huán)境境中一般般不用),一個是是它自已已的地址址任何兩個個網(wǎng)卡的的物理地地址都是是不一樣樣的,是是世界上上唯一的的,網(wǎng)卡卡地址由由專門機機構(gòu)分配配。嵌入式的的以太網(wǎng)網(wǎng)方案嵌入式處處理器++網(wǎng)卡芯芯片(RTL8019)對嵌入式式處理器器沒有特特殊要求求,通用用性強處理器和和網(wǎng)絡(luò)數(shù)數(shù)據(jù)交換換通過外外部總線線,速度度慢,不不適合于于100M網(wǎng)絡(luò)帶有以太太網(wǎng)絡(luò)接接口的嵌嵌入式處處理器處理器面面向網(wǎng)絡(luò)絡(luò)應(yīng)用處理器和和網(wǎng)絡(luò)數(shù)數(shù)據(jù)交換換通過內(nèi)內(nèi)部總線線,速度度快RTL8019的原理框框圖嵌入式網(wǎng)網(wǎng)絡(luò)接口口的特點點與常規(guī)的的網(wǎng)卡設(shè)設(shè)計思路路不同的的是,在在嵌入式式系統(tǒng)中中,系統(tǒng)統(tǒng)的精簡簡一直是是個主要要的原則則。RTL8019AS作為網(wǎng)卡卡,時需需要一片片EEPROM作為配置置存儲器器,來確確定通訊訊的端口口地址,,中斷地地址,網(wǎng)網(wǎng)卡的物物理地址址,工作作模式,,制造廠廠商等信信息;而在嵌入入式系統(tǒng)統(tǒng)中,可可以使用用RTL8019AS的默認配配置和一一些管腳腳作為網(wǎng)網(wǎng)卡的初初始化方方法。這這樣可以以節(jié)省配配置存儲儲器,減減小嵌入入式硬件件平臺的的體積。?;赗TL8019的嵌入式式以太網(wǎng)網(wǎng)設(shè)計1RTL8019AS的初始化化RTL8019支持即插插即用模模式和非非即插即即用模式式。在嵌嵌入式系系統(tǒng)中,,網(wǎng)卡的的外設(shè)通通常是不不經(jīng)常插插拔的,,所以,,為了系系統(tǒng)的精精簡,配配置RTL8019為非即插插即用模模式。有有著固定定的中斷斷,有著著固定的的端口地地址,假假設(shè)是端端口是0x300(這里的的端口是是相對于于ISA總線來說說的端口口,對于于ARM的總線,,需要重重新計算算地址))。這些些配置可可以通過過RTL8019的外部管管腳,在在系統(tǒng)上上電復(fù)位位的時候候,自動動配置起起來。關(guān)于RTL8019的RAMRTL8019含有16K字節(jié)的RAM,地址為為0x4000--0x7fff(指的是RTL8019內(nèi)部的存存儲地址址,是RTL8019工作用的的存儲器器,可以以通過遠遠程DMA訪問),,每256個字節(jié)稱稱為一頁頁,共有有64頁。頁的的地址就就是地址址的高8位,頁地地址為0x40--0x7f。這16k的ram的一部分分用來存存放接收收的數(shù)據(jù)據(jù)包,一一部分用用來存儲儲待發(fā)送送的數(shù)據(jù)據(jù)包2通過RTL8019AS發(fā)送數(shù)據(jù)據(jù)作為一個個集成的的以太網(wǎng)網(wǎng)芯片,,數(shù)據(jù)的的發(fā)送校校驗,總總線數(shù)據(jù)據(jù)包的碰碰撞檢測測與避免免是由芯芯片自己己完成的的。我們們只需要要配置發(fā)發(fā)送數(shù)據(jù)據(jù)的物理理層地址址的源地地址、目目的地址址、數(shù)據(jù)據(jù)包類型型以及發(fā)發(fā)送的數(shù)數(shù)據(jù)就可可以了。。3、通過RTL8019AS接收數(shù)據(jù)據(jù)在RTL8019的初始化化程序中中已經(jīng)設(shè)設(shè)置好了了接收緩緩沖區(qū)的的位置,,并且配配置好了了中斷的的模式。。當有一一個正確確的數(shù)據(jù)據(jù)包到達達的時候候,RTL8019會產(chǎn)生一一個中斷斷信號,,在ARM中斷處理理程序中中,接收收數(shù)據(jù)。。數(shù)據(jù)的接接收比較較簡單,,即通過過遠端DMA把數(shù)據(jù)從從RTL8019的RAM空間讀回回ARM中處理。。TCP//IP協(xié)議的層層次應(yīng)用層(Application)BSD套接字(BSDSockets)傳輸層(Transport)TCP、UDP網(wǎng)絡(luò)層(Network)IP、ARP、ICMP、IGMP數(shù)據(jù)鏈路層(DataLink)IEEE802.3EthernetMAC物理層(Physical)嵌入式以以太網(wǎng)中中主要處處理的協(xié)協(xié)議ARP((AddressResolationProtocol)地址解析析協(xié)議ICMP(InternetControlMessagesProtocol)網(wǎng)絡(luò)控制報文文協(xié)議IP(InternetProtocol)網(wǎng)際協(xié)議議TCP((TransferControlProtocol)傳輸控制制協(xié)議UDP((UserDatagramProtocol)用戶數(shù)據(jù)據(jù)包協(xié)議議ARP地址解析析協(xié)議網(wǎng)絡(luò)層用用32bit的IP地址來標標識不同同的主機機,而鏈鏈路層使使用48bit的物理((MAC)地址來來標識不不同的以以太網(wǎng)接接口。只只知道目目的主機機的IP地址并不不能發(fā)送送數(shù)據(jù)幀幀給它,,必須知知道目的的主機網(wǎng)網(wǎng)絡(luò)接口口的MAC地址才能能發(fā)送數(shù)數(shù)據(jù)幀。。ARP的功能是是實現(xiàn)從從IP地址到對對應(yīng)物理理地址的的轉(zhuǎn)換。。源主機發(fā)發(fā)送一份份包含目目的主機機IP地址的ARP請求數(shù)據(jù)據(jù)幀給網(wǎng)網(wǎng)上的每每個主機機,稱作ARP廣播,目目的主機機的ARP收到這份份廣播報報文后,,識別出出這是發(fā)發(fā)送端在在尋問它它的IP地址,于于是發(fā)送送一個包包含目的的主機IP地址及對對應(yīng)的MAC地址的ARP回答給源源主機。。每臺主機機上都有有一個ARP高速緩存存,存放放最近的的IP地址到硬硬件地址址之間的的映射記記錄。通通常每一一項的生生存時間間為20分鐘ICMP網(wǎng)絡(luò)控制報文文協(xié)議IP層的附屬屬協(xié)議,,IP層用它來來與其他他主機或或路由器器交換錯錯誤報文文和其他他重要控控制信息息。ICMP報文是在在IP數(shù)據(jù)包內(nèi)內(nèi)部被傳傳輸?shù)?。。兩個實用用的網(wǎng)絡(luò)絡(luò)診斷工工具,Ping和Traceroute(Tracert),都是利利用該協(xié)協(xié)議工作作的。IP網(wǎng)際協(xié)議議IP工作在網(wǎng)網(wǎng)絡(luò)層,,是TCP//IP協(xié)議族中中最為核核心的協(xié)協(xié)議。所所有的TCP,UDP,ICMP以及IGMP數(shù)據(jù)都以以IP數(shù)據(jù)包格格式傳輸輸。IP數(shù)據(jù)包最最長可達達65535字節(jié),其中報頭頭占32bit的數(shù)目。。包含各各32bit的源IP地址和目目的IP地址。在在嵌入式式應(yīng)用中中,簡化化設(shè)計,,IP數(shù)據(jù)包長長度等于于數(shù)據(jù)鏈鏈路層的的數(shù)據(jù)長長度。TCP傳輸控制制協(xié)議TCP是一個面面向連接接的可靠靠的傳輸輸層協(xié)議議。TCP為兩臺主機提供供高可靠靠性的端端到端數(shù)數(shù)據(jù)通信信。主要要包括:發(fā)送方把把應(yīng)用程程序交給給它的數(shù)數(shù)據(jù)分成成合適的的小塊,,并添加加附加信信息(TCP頭),包包括順序序號,源源、目的的端口,,控制、、糾錯信信息等字字段,稱稱為TCP數(shù)據(jù)包。。并將TCP數(shù)據(jù)包交交給下面面的網(wǎng)絡(luò)絡(luò)層處理理。接受方確確認接收收到的TCP數(shù)據(jù)包,,重組并并將數(shù)據(jù)據(jù)送往高高層。UDP協(xié)議UDP是一種無無連接不不可靠的的傳輸層層協(xié)議。。把應(yīng)用程程序傳來來的數(shù)據(jù)據(jù)加上UDP頭(包括括端口號號,段長長等字段段),作作為UDP數(shù)據(jù)包發(fā)發(fā)送出去去,但是是并不保保證它們們能到達達目的地地??煽靠啃杂蓱?yīng)應(yīng)用層來來提供。。就象發(fā)發(fā)送一封封寫有地地址的一一般信件件,卻不不保證它它能到達達。關(guān)于端口口TCP和UDP采用16位的端口口號來識別上上層的TCP用戶,即即上層應(yīng)應(yīng)用協(xié)議議如FTP,,TELNET等。常見的TCP//IP服務(wù)都用用1-255之間的端端口號。。例如FTP服務(wù)的TCP端口號都都是21,Telnet服務(wù)的TCP端口號都都是23256-1023之間的端端口號通通常都是是提供一一些特定定的Unix服務(wù)TCP//IP臨時端口口分配1024-5000之間的端端口號基于ARM和uCOS-II的TCP//IP協(xié)議向ARM和uC/OS移植一個個TCP//IP協(xié)議棧采用uC/OS自帶的TCP//IP協(xié)議棧BSD套接字(BSDSockets))BSDSockets使用的最最廣泛的的網(wǎng)絡(luò)程程序編程程方法,,主要用用于應(yīng)用用程序的的編寫,,用于網(wǎng)網(wǎng)絡(luò)上主主機與主主機之間間的相互互通信UNIX,Linux,VxWorks均支持BSDSockets,Windows的Winsock基本上是是來自BSDSocketsSocket分為StreamSockets和DataSocketsStreamSockets是可靠性性的雙向向數(shù)據(jù)傳傳輸,使使用TCP協(xié)議DataSockets是不可靠靠連接,,使用UDP協(xié)議套接字的的使用UDP服務(wù)器端端和一個個UDP客戶端通通信的程程序過程程創(chuàng)建一個個SocketsFd=socket(AF__INET,SOCK_DGRAM,0)把Socket和本機的的IP,UDP口綁定bind(sFd,(structsockaddr*)&&serverAddr,sockAddrSize)循環(huán)等待待,接收(recvfrom)或者發(fā)發(fā)送(sendfrom)信息關(guān)閉Socket,,通信終止止close(sFd)本節(jié)提要要132546基于A

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論