資源描述:
《基于ARM的嵌入式系統(tǒng)硬件結(jié)構(gòu)設(shè)計(jì)ppt課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開發(fā)——ARM與?C/OS-Ⅱ第五講基于ARM的硬件系統(tǒng)結(jié)構(gòu)設(shè)計(jì)北京航空航天大學(xué)嵌入式機(jī)電控制研究室魏洪興本節(jié)提要132546基于ARM的硬件系統(tǒng)體系結(jié)構(gòu)存儲(chǔ)器接口設(shè)計(jì)網(wǎng)絡(luò)接口設(shè)計(jì)I/O接口設(shè)計(jì)人機(jī)交互接口設(shè)計(jì)其它通訊接口設(shè)計(jì)基于ARM的硬件設(shè)計(jì)主要介紹基于ARM7的嵌入式硬件開發(fā)平臺(tái)的設(shè)計(jì)方法,包括結(jié)構(gòu)、主要接口、存儲(chǔ)器選用方案以及外設(shè)、顯示等方面的內(nèi)容。嵌入式硬件開發(fā)平臺(tái)的體系結(jié)構(gòu)外圍存儲(chǔ)器接口設(shè)計(jì)方法鍵盤、LCD等人機(jī)交互接口的設(shè)計(jì)觸摸屏的設(shè)計(jì)以太網(wǎng)設(shè)計(jì)CAN總線設(shè)計(jì)SamsungS3C44B0XSamsungS3C44B0X微處理器
2、是三星公司專為手持設(shè)備和一般應(yīng)用提供的高性價(jià)比和高性能的微控制器解決方案,它使用ARM7TDMI核,工作在66MHZ。為了降低系統(tǒng)總成本和減少外圍器件,這款芯片中還集成了下列部件:8KBCache、外部存儲(chǔ)器控制器、LCD控制器、4個(gè)DMA通道、2通道UART、1個(gè)多主I2C總線控制器、1個(gè)IIS總線控制器,5通道PWM定時(shí)器及一個(gè)內(nèi)部定時(shí)器、71個(gè)通用I/O口、8個(gè)外部中斷源、實(shí)時(shí)時(shí)鐘、8通道10位ADC等?;贏RM的嵌入式硬件平臺(tái)體系結(jié)構(gòu)芯片體系結(jié)構(gòu)S3C44B0X存儲(chǔ)系統(tǒng)的特征支持?jǐn)?shù)據(jù)存儲(chǔ)的大/小端選擇(通過外部引腳進(jìn)行選擇)地址空間:具有8個(gè)存儲(chǔ)體,
3、每個(gè)存儲(chǔ)體可達(dá)32Mb,總共可達(dá)256Mb。對(duì)所有存儲(chǔ)體的訪問大小均可進(jìn)行改變(8位/16位/32位)8個(gè)存儲(chǔ)體中,Bank0-Bank5可支持ROM、SRAM;Bank6、Bank7可支持ROM、SRAM和FP/EDO/SDRAM等。7個(gè)存儲(chǔ)體的起始地址固定,1個(gè)存儲(chǔ)體的起始地址可變。復(fù)位后的S3C44B0X的存儲(chǔ)器映射表系統(tǒng)的存儲(chǔ)空間分配Bank0:兩片512KFlash,放置系統(tǒng)引導(dǎo)程序,系統(tǒng)上電復(fù)位后,PC指針自動(dòng)指向Bank0的第一個(gè)單元,進(jìn)行系統(tǒng)自舉。。Bank1:K9F2808(三星16MbyteFlash),非線性尋址。具體的時(shí)序可以參考K9F
4、2808的datasheetBank2:USBN9603。USB設(shè)備端接口芯片,占用系統(tǒng)外部中斷0。8位數(shù)據(jù)總線。Bank3、Bank4未接設(shè)備??梢怨U(kuò)展使用Bank5:RTL8019AS,ISA總線兼容的10M以太網(wǎng)(PHY+MAC層)控制芯片。占用系統(tǒng)外部中斷1,16位數(shù)據(jù)總線Bank6:SDRAM,起始地址為0xC000000。在SDRAM中,前512Kbyte的空間劃分出來,作為系統(tǒng)的LCD顯示緩沖區(qū)使用(更新其中的數(shù)據(jù),就可以更新LCD的顯示)。系統(tǒng)的程序存儲(chǔ)空間從0xC080000開始。也就是,引導(dǎo)系統(tǒng)的時(shí)候,需要把system.bin文件復(fù)制到
5、0xC080000開始的地址空間,把PC指針指向0xC080000。Bank7:未使用??梢詳U(kuò)展另一片SDRAM,或者其他的外設(shè)。系統(tǒng)的同步串行口(SIO),連接著觸摸屏控制芯片F(xiàn)M7843(與ADS7843完全兼容)。在同步串行口上,還可以擴(kuò)展其他的芯片??縄O口控制設(shè)備的片選信號(hào)(CS)來防止設(shè)備的沖突。注:系統(tǒng)的擴(kuò)展接口上,A0的標(biāo)號(hào),連接在S3C44B0X的ADDR1上,后面的地址依次向后錯(cuò)位。本節(jié)提要132546基于ARM的硬件系統(tǒng)體系結(jié)構(gòu)存儲(chǔ)器接口設(shè)計(jì)網(wǎng)絡(luò)接口設(shè)計(jì)I/O接口設(shè)計(jì)人機(jī)交互接口設(shè)計(jì)其它通訊接口設(shè)計(jì)S3C44B0X與FLASH的連接(Ha
6、lfWord方式)使用Bank0上的兩片512Kb×2來放置系統(tǒng)BIOS,系統(tǒng)上電以后,PC指針自動(dòng)指向Bank0的第一個(gè)單元,開始進(jìn)行系統(tǒng)自舉。系統(tǒng)自舉完成以后,便從硬盤中將系統(tǒng)文件和用戶應(yīng)用程序復(fù)制到SDRAM內(nèi)存中執(zhí)行。Bank1上接16M非線性Flash,當(dāng)做系統(tǒng)硬盤使用,可以構(gòu)造文件系統(tǒng),存放海量數(shù)據(jù)。用SDRAM當(dāng)作系統(tǒng)內(nèi)存,只有Bank6/Bank7能支持SDRAM,所以將SDRAM接在Bank6上。如果同時(shí)使用Bank6/Bank7,則要求連接相同容量的存儲(chǔ)器,而且其地址空間在物理上是連續(xù)的。存儲(chǔ)器接口設(shè)計(jì)關(guān)于BOOTROMBank0:系統(tǒng)的啟
7、動(dòng)ROM(FlashRom)。在系統(tǒng)復(fù)位的時(shí)候,處理器的PC(程序計(jì)數(shù)器)指針指向0x0地址。在Bank0的起始地址的程序,就是系統(tǒng)的初始化程序。此程序的主要任務(wù)是:1、管理處理器的中斷服務(wù)程序處理器的中斷是從0x0地址開始,引導(dǎo)ROM負(fù)責(zé)把這一部分的中斷映射到另一個(gè)區(qū)域,以便系統(tǒng)處理。具體的做法,可以參考44binit.s里面的代碼。(這部分代碼是三星主頁可以提供,它把系統(tǒng)的中斷,映射到了不同的指針?biāo)赶虻牡刂房臻g(主要就是系統(tǒng)RAM的空間))。2、初始化硬件平臺(tái),配置其他的BankS3C44B0X的Bank0是通過外部的一個(gè)管腳提供的上拉、下拉電阻來配置的
8、。主要包括:數(shù)據(jù)位數(shù)(8位、16位、3