微處理器系統(tǒng)結(jié)構(gòu)與嵌入式系統(tǒng)設(shè)計(jì):第10章 基于ARM微處理器的硬件系統(tǒng)設(shè)計(jì)_第1頁(yè)
微處理器系統(tǒng)結(jié)構(gòu)與嵌入式系統(tǒng)設(shè)計(jì):第10章 基于ARM微處理器的硬件系統(tǒng)設(shè)計(jì)_第2頁(yè)
微處理器系統(tǒng)結(jié)構(gòu)與嵌入式系統(tǒng)設(shè)計(jì):第10章 基于ARM微處理器的硬件系統(tǒng)設(shè)計(jì)_第3頁(yè)
微處理器系統(tǒng)結(jié)構(gòu)與嵌入式系統(tǒng)設(shè)計(jì):第10章 基于ARM微處理器的硬件系統(tǒng)設(shè)計(jì)_第4頁(yè)
微處理器系統(tǒng)結(jié)構(gòu)與嵌入式系統(tǒng)設(shè)計(jì):第10章 基于ARM微處理器的硬件系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、微處理器系統(tǒng)結(jié)構(gòu)與嵌入式系統(tǒng)設(shè)計(jì)第十章 基于ARM微處理器的硬件系統(tǒng)設(shè)計(jì)1、基于ARM微處理器的系統(tǒng)設(shè)計(jì)概述2、基于ARM內(nèi)核的常用微處理器簡(jiǎn)介飛思卡爾i.MX27、三星S3C2440A、其他 3、ARM微處理器最小硬件系統(tǒng)電源、時(shí)鐘、復(fù)位、存儲(chǔ)器、調(diào)試接口4、人機(jī)交互接口鍵盤(pán)與LED接口、LCD顯示接口、觸摸屏接口5、通信接口串行通信接口、其他通信接口第十章 習(xí)題作業(yè):2、4、610思考:1、3、5 第 十 章 結(jié) 束基于ARM內(nèi)核的常用微處理器簡(jiǎn)介ARM微處理器有多種內(nèi)核結(jié)構(gòu),還有多種多樣的內(nèi)部功能配置組合,所以在設(shè)計(jì)一個(gè)系統(tǒng)時(shí)選擇最合適的ARM芯片是非常重要的。 一些主流的ARM9處理器

2、芯片如:飛思卡爾:MC9328MX27三星:S3C2440A Atmel公司:AT91SAM9263 意法半導(dǎo)體:STR91x 恩智浦半導(dǎo)體:LPC2000 系列三星公司推出的基于ARM內(nèi)核的微處理器主要面向消費(fèi)類(lèi)便攜式設(shè)備,為手持設(shè)備和一般應(yīng)用提供了高性價(jià)比和高性能的微控制器解決方案。包括:采用ARM7TDMI內(nèi)核的S3C44B0和S3C3410采用ARM926EJ-S內(nèi)核的S3C2412,S3C2413,S3C2416,S3C2450和S3C24A0采用ARM920T內(nèi)核的S3C2410,S3C2440,S3C2442和S3C2443采用ARM1176JZF內(nèi)核的S3C6400等三星公司采

3、用ARM內(nèi)核的微處理器主要按照應(yīng)用來(lái)劃分,如通用型32位MCU主要采用ARM7TDMI內(nèi)核,面向CAN/LIN總線、以太網(wǎng)、發(fā)動(dòng)機(jī)控制和RFID等應(yīng)用場(chǎng)合。 三星公司的ARM微處理器芯片三星公司S3C2440AARM芯片的選型性能參數(shù)的考慮ARM核版本工作頻率內(nèi)部存儲(chǔ)器容量電源控制DSP協(xié)處理器功耗外設(shè)接口的考慮USB接口RTCGPIO數(shù)量其他因素芯片封裝的選擇芯片的封裝有很多種類(lèi)型,如:DIP、QFP、PGA、BGA等在散熱性能、信號(hào)完整性特性、體積大小等方面的要求ARM微處理器最小硬件系統(tǒng)的設(shè)計(jì)ARM微處理器;電源模塊,包括CPU內(nèi)核和I/O接口電源電源;時(shí)鐘模塊,包括系統(tǒng)主時(shí)鐘和實(shí)時(shí)時(shí)鐘

4、;復(fù)位模塊,包括系統(tǒng)上電復(fù)位、手動(dòng)復(fù)位和內(nèi)部復(fù)位;存儲(chǔ)器模塊,包括程序保存存儲(chǔ)器(FLASH)和程序運(yùn)行存儲(chǔ)器(SDRAM);JTAG調(diào)試接口模塊。 最小硬件系統(tǒng)通常是指以嵌入式處理器為核心,包含電源、時(shí)鐘和復(fù)位等保障處理器正常工作的基本硬件電路 。S3C2440A最小硬件系統(tǒng):電源模塊電源模塊是系統(tǒng)工作的能量來(lái)源,其電壓、紋波、內(nèi)阻和驅(qū)動(dòng)能力等性能直接影響到系統(tǒng)工作的穩(wěn)定性,因此電源模塊在系統(tǒng)設(shè)計(jì)中至關(guān)重要。電源電壓一定要在系統(tǒng)需求的范圍之內(nèi)電源的驅(qū)動(dòng)能力一定要能滿足整個(gè)系統(tǒng)的功率需求電源紋波和電路干擾的處理在設(shè)計(jì)PCB時(shí)需要對(duì)模擬電源和數(shù)字電源進(jìn)行物理上的隔離S3C2440A最小硬件系統(tǒng):

5、時(shí)鐘模塊時(shí)鐘模塊為系統(tǒng)提供同步工作信號(hào),其穩(wěn)定性直接關(guān)系到系統(tǒng)的工作穩(wěn)定性。在ARM嵌入式系統(tǒng)中通常包括頻率較高的系統(tǒng)主時(shí)鐘和頻率較低的實(shí)時(shí)時(shí)鐘。時(shí)鐘經(jīng)內(nèi)部鎖相環(huán)后得到四組時(shí)鐘信號(hào):FCLK:ARM920T內(nèi)核HCLK:AHB總線、存儲(chǔ)器控制器、中斷控制器、LCD控制器、DMA控制器和USB主機(jī)模塊PCLK:訪問(wèn)APB總線的外設(shè),如WDT,I2S,I2C,PWM定時(shí)器,MMC接口,ADC,UART,GPIO,RTC和SPI等模塊UCLK:USB模塊需要的48 MHz時(shí)鐘S3C2440A最小硬件系統(tǒng):復(fù)位模塊系統(tǒng)上電復(fù)位、手動(dòng)復(fù)位和內(nèi)部復(fù)位一般來(lái)說(shuō)系統(tǒng)對(duì)外部復(fù)位信號(hào)波形有一定的要求,若不能滿足要

6、求(例如持續(xù)時(shí)間過(guò)短),則系統(tǒng)將不能正常工作。 存儲(chǔ)器模塊為系統(tǒng)程序的保存和運(yùn)行提供空間,在系統(tǒng)設(shè)計(jì)中主要根據(jù)處理器的存儲(chǔ)器接口選擇合適的存儲(chǔ)器芯片(存儲(chǔ)類(lèi)型、容量、速度和接口類(lèi)型 )ARM最小系統(tǒng)中的存儲(chǔ)器通常包括存放程序的NAND Flash和用于程序運(yùn)行的SDRAM。存儲(chǔ)器模塊通常掛接在ARM芯片的局部總線上(外部三總線)。S3C2440A最小硬件系統(tǒng):存儲(chǔ)器模塊“Steppingstone”為系統(tǒng)從外部Flash存儲(chǔ)器引導(dǎo)提供支持使用16位存儲(chǔ)芯片構(gòu)造32位寬存儲(chǔ)器系統(tǒng)ARM微處理器一般都采用JTAG作為基本調(diào)試接口nTRST,TMS,TCK,TDI和TDOS3C2440A最小硬件系統(tǒng)

7、:調(diào)試接口人機(jī)交互接口 人機(jī)交互接口主要用于人與設(shè)備之間的信息交換,通常包括用于信息輸入的鍵盤(pán)、觸摸屏,以及信息輸出的各類(lèi)顯示設(shè)備。 以S3C2440A的相關(guān)接口為例介紹各類(lèi)接口硬件結(jié)構(gòu)與使用:鍵盤(pán)與LED接口LCD顯示接口觸摸屏接口鍵盤(pán)與LED接口按鍵和LED是最常用的兩種輸入輸出器件,使用它們可以實(shí)現(xiàn)簡(jiǎn)單的信號(hào)輸入和輸出,在嵌入式系統(tǒng)中有重要用途。這類(lèi)簡(jiǎn)單外設(shè)與處理器進(jìn)行連接時(shí),通常有兩種方式:一是使用處理器的GPIO直接控制,由處理器運(yùn)行相應(yīng)軟件來(lái)實(shí)現(xiàn)所需功能;二是使用專(zhuān)用的控制芯片來(lái)獲取按鍵信息以及驅(qū)動(dòng)顯示。GPIO(General Purpose Input)可以實(shí)現(xiàn)任何一般用途的信

8、號(hào)輸入/輸出。ARM處理器芯片的大部分引腳都可以通過(guò)設(shè)定相應(yīng)的控制寄存器實(shí)現(xiàn)基本的GPIO功能,并可編程設(shè)置信號(hào)方向、電平上拉/下拉等功能。在S3C2440A中共有130個(gè)多功能I/O引腳,這些引腳除了可以作為某個(gè)特殊功能使用外,均可以配置成GPIO模式,并分為以下八組:Port A(GPA):25個(gè)輸出端口Port B(GPB):11個(gè)輸入/輸出端口Port C(GPC):16個(gè)輸入/輸出端口Port D(GPD):16個(gè)輸入/輸出端口Port E(GPE):16個(gè)輸入/輸出端口Port F(GPF):8個(gè)輸入/輸出端口Port G(GPG):16個(gè)輸入/輸出端口Port H(GPH):9個(gè)

9、輸入/輸出端口Port J(GPJ):13個(gè)輸入/輸出端口GPIO例10.1:使用S3C2440A的端口G的第47引腳驅(qū)動(dòng)四個(gè)LED,并點(diǎn)亮GPG4引腳的LED。每組GPIO端口均有各自的寄存器組,主要包括端口配置寄存器(GPxCON)、端口數(shù)據(jù)寄存器(GPxDAT)、端口上拉寄存器(GPxUP)。寄存器名地址讀寫(xiě)屬性功能復(fù)位值GPGCON0 x56000060可讀可寫(xiě)配置引腳功能為輸入/輸出/其他0 x00GPGDAT0 x56000064可讀可寫(xiě)G端口數(shù)據(jù)寄存器未定義GPGUP0 x56000068可讀可寫(xiě)上拉配置寄存器低電平0有效0 xFC00G端口共有16個(gè)GPIO引腳,寄存器GPGC

10、ON寬度為32位,每個(gè)引腳的功能各由2位來(lái)選擇控制,第4引腳的控制位如下:GPGCON寄存器位功能選擇GPG715:1400=輸入 01=輸出10=EINT15 11=保留GPG613:1200=輸入 01=輸出10=EINT14 11=保留GPG511:1000=輸入 01=輸出10=EINT13 11=保留GPG49:800=輸入 01=輸出10=EINT12 11=保留寄存器GPGDAT和GPGUP寬度均為16位,各引腳按其編號(hào)與相應(yīng)的寄存器位對(duì)應(yīng)。GPGDAT中存放的即為需要輸出的數(shù)據(jù),根據(jù)硬件電路連接圖可知,要將第4引腳LED點(diǎn)亮,則對(duì)應(yīng)的引腳應(yīng)輸出低電平,所以寄存器GPGDAT中的

11、7:4位應(yīng)設(shè)置為二進(jìn)制值1110。本例中端口為輸出功能,因此寄存器GPGUP中對(duì)應(yīng)各位均設(shè)置為1,將上拉電阻斷開(kāi)。GPGCONEQU0 x56000060GPGDATEQU0 x56000064GPUPEQU0 x56000068;配置GPGCON寄存器,設(shè)置相關(guān)引腳為輸出功能LDRR0, =GPGCON LDRR1, R0 BICR1, R1, #0 x0000FF00 ORRR1, R1, #0 x00005500 STRR1, R0;配置GPGUP寄存器,斷開(kāi)各上拉電阻LDRR0, =GPGUPLDRR1, R0ORRR1, R1, #0 x00F0STRR1, R0;輸出驅(qū)動(dòng)數(shù)據(jù),點(diǎn)亮

12、GPG4引腳對(duì)應(yīng)的LEDLDRR2, =GPGDATLDRR3, R2ORRR3, R3, #0 x00F0BICR3, R3, #0 x0010STRR3, R2使用GPIO的問(wèn)題:按鍵或LED數(shù)量較大時(shí),由于處理器GPIO數(shù)量有限,無(wú)法滿足硬件電路設(shè)計(jì)需求;采用GPIO的驅(qū)動(dòng)方式需要CPU執(zhí)行軟件來(lái)完成相應(yīng)的功能,需占用大量的處理器時(shí)間,在多任務(wù)系統(tǒng)中很難滿足實(shí)時(shí)性要求。采用專(zhuān)用的控制芯片來(lái)驅(qū)動(dòng)鍵盤(pán)及數(shù)碼管直接驅(qū)動(dòng)數(shù)碼管/同時(shí)掃描管理多個(gè)按鍵/內(nèi)含有顯示譯碼器有多種控制指令,如消隱、閃爍、左移、右移、段尋址等。通常采用I2C等串行總線與系統(tǒng)連接專(zhuān)用控制芯片矩陣鍵盤(pán)結(jié)構(gòu) 288位并行輸入端口

13、8位并行輸出端口+5V10k10k10k10k第0行第1行第2行第7行第0列第1列第2列第3列第7列初始化鍵盤(pán)2022/7/1629/ 32GPGCONEQU0 x56000060GPUPEQU0 x56000068AREA key_init, CODE, READONLY;配置GPGCON寄存器,設(shè)置相關(guān)引腳為輸出功能LDRR0, =GPGCON LDRR1, R0 BICR1, R1, #0 xFFFFFFFF ORRR1, R1, #0 x55550000 STRR1, R0;配置GPGUP寄存器,斷開(kāi)各上拉電阻LDRR0, =GPGUPLDRR1, R0ORRR1, R1, #0 xF

14、FFFSTRR1, R0MOVPC, LRGPGDATEQU0 x56000064AREA key_scan, CODE, READONLYCheck:;查看是否有鍵按下LDRR0, =GPGDATMOVR1, #0 x0STRR1, R0 LDRR1, R0 ANDR1, R1, #0 x000000FF TSTR1, #0 x000000FF BEQCheck2022/7/1630/ 32LDRR2, =0 x0000FEFFMOVR3, #0 x0MOVR4, #0 x0Scan: ;掃描鍵盤(pán)確定按鍵值MOVR5, R2, LSL R3STRR5, R0LDRR6, R0ANDR6, R

15、6, #0 x000000FFTSTR6, #0 x000000FFBNEDecodeADDR3, #0 x1CMPR3, #0 x8BNEScanMOVPC, LRDecode: /解碼MOVR2, #0 x00000001TSTR6, R2, LSL R4ADDNE R4, #0 x1BNEDecodeMOVPC, LR2022/7/1631/ 32在嵌入式系統(tǒng)中常用的LCD產(chǎn)品主要有兩種:一種是帶有驅(qū)動(dòng)電路的LCD顯示模塊;另一種則僅是LCD顯示屏,沒(méi)有驅(qū)動(dòng)電路,需要與驅(qū)動(dòng)電路配合使用。在常見(jiàn)的ARM處理器芯片中,通常都帶有LCD控制器,可以直接驅(qū)動(dòng)多種LCD顯示屏。S3C2440A中的

16、LCD控制器模塊,可以直接與STN或TFT等多種不同分辨率的單色/彩色LCD連接,具有將顯示緩存(在系統(tǒng)存儲(chǔ)器中)中的LCD圖象數(shù)據(jù)傳輸?shù)酵獠縇CD 驅(qū)動(dòng)電路的邏輯功能,驅(qū)動(dòng)其完成各類(lèi)數(shù)據(jù)的顯示。LCD顯示接口按照觸摸屏的工作原理和感應(yīng)觸摸信息的介質(zhì)來(lái)分,常見(jiàn)的觸摸屏有四類(lèi):電阻式電容式紅外線式表面聲波式觸摸屏接口電阻屏根據(jù)引出線數(shù)多少,可分為四線、五線、六線等多線電阻觸摸屏。S3C2440A處理器中內(nèi)置了A/D轉(zhuǎn)換器,并提供了一個(gè)專(zhuān)用的四線電阻式觸摸屏接口,此接口引出了四根信號(hào)線XP,XM,YP,YM,分別對(duì)應(yīng)觸摸屏上的X,X,Y,Y,因此在硬件接口設(shè)計(jì)上十分簡(jiǎn)潔。通信接口 通信接口通常用于

17、嵌入式設(shè)備與其他設(shè)備進(jìn)行信息交換,由于各類(lèi)設(shè)備性能指標(biāo)差異巨大,要實(shí)現(xiàn)信息的傳遞需要進(jìn)行速率、電平、時(shí)序、信息格式等多方面的轉(zhuǎn)換和匹配,所以該類(lèi)接口種類(lèi)十分豐富。串行通信SCI接口其他通信接口S3C2440中的UART模塊接口初始化:ULCON、UCON、UFCON、UMCON、UBRDIV數(shù)據(jù)傳遞:UTRSTAT、UFSTAT、UTXH、URXH接收錯(cuò)誤狀況:UERSTATS3C2440A中UART0的相關(guān)寄存器例10.2:UART0采用查詢方式進(jìn)行數(shù)據(jù)通信,要求使用8位數(shù)據(jù)位,1位停止位,奇校驗(yàn),傳輸速率115200bps,不使用FIFO,關(guān)閉流控制,處理器外設(shè)時(shí)鐘PCLK=66.68MH

18、z。步驟1:接口初始化設(shè)置幀格式、時(shí)鐘來(lái)源、收發(fā)模式、中斷配置、FIFO的使用、波特率計(jì)算等步驟2:數(shù)據(jù)傳遞:可選擇使用查詢方式或中斷方式傳遞主要用于幀格式配置ULCON0=0 x23步驟1:UART0的初始化配置ULCON0線路控制寄存器主要用于時(shí)鐘源選擇、收發(fā)模式、中斷配置等UCON0=0 x0005步驟1:UART0的初始化配置UCON0控制寄存器主要用于使能FIFO及相關(guān)參數(shù)配置UFCON0=0 x00步驟1:UART0的初始化配置UFCON0 FIFO控制寄存器主要用于設(shè)置UART模塊與Modem相關(guān)參數(shù)UFCON0=0 x00步驟1:UART0的初始化配置UMCON0調(diào)制解調(diào)器控制

19、寄存器步驟1:UART0的初始化配置UBRDIV0波特率控制寄存器UBRDIV= int (UART時(shí)鐘頻率/(波特率16) ) 1采用66.68MHz的PCLK作為時(shí)鐘源,為得到115200bps的速率,則:UBRDIV= int (66.68M/(11520016) ) 1 =int(36.176) 1=35實(shí)際波特率=UART時(shí)鐘頻率/(UBRDIV+1)16) =66.68M/(35+1) 16)115764bps實(shí)際的工作速率與理論值之間存在偏差:(115764 115200)/115200100% = +0.49%初始化程序段ULCON0EQU0 x50000000UCON0EQU

20、0 x50000004UFCON0EQU0 x50000008UMCON0EQU0 x5000000CUBRDIV0EQU0 x50000028LDRR2, =ULCON0;配置ULCON0寄存器MOVR3, #0 x23STRBR3, R2LDRR2, =UCON0;配置UCON0寄存器MOVR3, #0 x05STRHR3, R2LDRR2, =UFCON0;配置UFCON0寄存器MOVR3, #0 x00STRR3, R2LDRR2, =UMCON0 ;配置UMCON0寄存器MOVR3, #0 x00STRR3, R2LDRR2, =UBRDIV0;配置UBRDIV0寄存器MOVR3, #35STRHR3, R2步驟2:使用UART0進(jìn)行數(shù)據(jù)收發(fā)使用UTRSTAT0、UTXH0、URXH0進(jìn)行狀態(tài)的判斷并完成通信。收/發(fā)示例程序段UTRSTAT0EQU0 x50000010UTXH0EQU0 x50000020;假設(shè)系統(tǒng)采用小端存儲(chǔ)URXH0EQU0 x50000024;假設(shè)系統(tǒng)采用小端存儲(chǔ)TLOOP:LD

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論