微處理器系統結構及嵌入式系統設計:第十章 基于ARM微處理器的硬件系統設計_第1頁
微處理器系統結構及嵌入式系統設計:第十章 基于ARM微處理器的硬件系統設計_第2頁
微處理器系統結構及嵌入式系統設計:第十章 基于ARM微處理器的硬件系統設計_第3頁
微處理器系統結構及嵌入式系統設計:第十章 基于ARM微處理器的硬件系統設計_第4頁
微處理器系統結構及嵌入式系統設計:第十章 基于ARM微處理器的硬件系統設計_第5頁
已閱讀5頁,還剩29頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第十章基于ARM微處理器的

硬件系統設計2022/10/201本章主要內容掌握ARM微處理器最小硬件系統理解ARM存儲器接口設計ARM人機交互接口設計2電子工程學院ARM微處理器最小硬件系統最小硬件系統通常是指以嵌入式處理器為核心,包含電源、時鐘和復位等保障處理器正常工作的基本硬件電路還包括用于引導和裝載基本程序的存儲器電路,以及用于系統調試和監控的調試接口電路。3電子工程學院S3C2440A最小硬件系統ARM微處理器;電源模塊,包括CPU內核和I/O接口電源電源;時鐘模塊,包括系統主時鐘和實時時鐘;復位模塊,包括系統上電復位、手動復位和內部復位;存儲器模塊,包括程序保存存儲器和程序運行存儲器;JTAG調試接口模塊。4電子工程學院電源模塊電源模塊是系統工作的能量來源,其電壓、紋波、內阻和驅動能力等性能直接影響到系統工作的穩定性,因此電源模塊在系統設計中至關重要。電源電壓一定要在系統需求的范圍之內電源的驅動能力一定要能滿足整個系統的功率需求電源紋波和電路干擾的處理在設計PCB時需要對模擬電源和數字電源進行物理上的隔離5電子工程學院時鐘模塊時鐘模塊為系統提供同步工作信號,其穩定性直接關系到系統的工作穩定性。在ARM嵌入式系統中通常包括頻率較高的系統主時鐘和頻率較低的實時時鐘。時鐘經內部鎖相環后得到四組時鐘信號:FCLK:ARM920T內核HCLK:AHB總線、存儲器控制器、中斷控制器、LCD控制器、DMA控制器和USB主機模塊PCLK:訪問APB總線的外設,如WDT,I2S,I2C,PWM定時器,MMC接口,ADC,UART,GPIO,RTC和SPI等模塊UCLK:USB模塊需要的48MHz時鐘6電子工程學院復位模塊系統上電復位、手動復位和內部復位一般來說系統對外部復位信號波形有一定的要求,若不能滿足要求(例如持續時間過短),則系統將不能正常工作。7電子工程學院存儲器模塊為系統程序的保存和運行提供空間,在系統設計中主要根據處理器的存儲器接口選擇合適的存儲器芯片(存儲類型、容量、速度和接口類型)ARM最小系統中的存儲器通常包括存放程序的NANDFlash和用于程序運行的SDRAM。存儲器模塊通常掛接在ARM芯片的局部總線上(外部三總線)。存儲器模塊8電子工程學院ARM微處理器一般都采用JTAG作為基本調試接口nTRST,TMS,TCK,TDI和TDO調試接口9電子工程學院10.4人機交互接口

人機交互接口主要用于人與設備之間的信息交換,通常包括用于信息輸入的鍵盤、觸摸屏,以及信息輸出的各類顯示設備。

以S3C2440A的相關接口為例介紹各類接口硬件結構與使用:

鍵盤與LED接口LCD顯示接口觸摸屏接口10電子工程學院鍵盤與LED接口按鍵和LED是最常用的兩種輸入輸出器件,使用它們可以實現簡單的信號輸入和輸出,在嵌入式系統中有重要用途。這類簡單外設與處理器進行連接時,通常有兩種方式:一是使用處理器的GPIO直接控制,由處理器運行相應軟件來實現所需功能;二是使用專用的控制芯片來獲取按鍵信息以及驅動顯示。GPIO(GeneralPurposeInput)可以實現任何一般用途的信號輸入/輸出。ARM處理器芯片的大部分引腳都可以通過設定相應的控制寄存器實現基本的GPIO功能,并可編程設置信號方向、電平上拉/下拉等功能。11電子工程學院在S3C2440A中共有130個多功能I/O引腳,這些引腳除了可以作為某個特殊功能使用外,均可以配置成GPIO模式,并分為以下八組:PortA(GPA):25個輸出端口PortB(GPB):11個輸入/輸出端口PortC(GPC):16個輸入/輸出端口PortD(GPD):16個輸入/輸出端口PortE(GPE):16個輸入/輸出端口PortF(GPF):8個輸入/輸出端口PortG(GPG):16個輸入/輸出端口PortH(GPH):9個輸入/輸出端口PortJ(GPJ):13個輸入/輸出端口GPIO12電子工程學院例10.1:使用S3C2440A的端口G的第4~7引腳驅動四個LED,并點亮GPG4引腳的LED。13電子工程學院每組GPIO端口均有各自的寄存器組,主要包括端口配置寄存器(GPxCON)、端口數據寄存器(GPxDAT)、端口上拉寄存器(GPxUP)。寄存器名地址讀寫屬性功能復位值GPGCON0x56000060可讀可寫配置引腳功能為輸入/輸出/其他0x00GPGDAT0x56000064可讀可寫G端口數據寄存器未定義GPGUP0x56000068可讀可寫上拉配置寄存器低電平0有效0xFC0014電子工程學院G端口共有16個GPIO引腳,寄存器GPGCON寬度為32位,每個引腳的功能各由2位來選擇控制,第4~7引腳的控制位如下:GPGCON寄存器位功能選擇GPG7[15:14]00=輸入

01=輸出10=EINT[15]11=保留GPG6[13:12]00=輸入

01=輸出10=EINT[14]11=保留GPG5[11:10]00=輸入

01=輸出10=EINT[13]11=保留GPG4[9:8]00=輸入

01=輸出10=EINT[12]11=保留15電子工程學院寄存器GPGDAT和GPGUP寬度均為16位,各引腳按其編號與相應的寄存器位對應。GPGDAT中存放的即為需要輸出的數據,根據硬件電路連接圖可知,要將第4引腳LED點亮,則對應的引腳應輸出低電平,所以寄存器GPGDAT中的[7:4]位應設置為二進制值1110。本例中端口為輸出功能,因此寄存器GPGUP中對應各位均設置為1,將上拉電阻斷開。16電子工程學院GPGCON EQU 0x56000060GPGDAT EQU 0x56000064GPUP EQU 0x56000068;配置GPGCON寄存器,設置相關引腳為輸出功能 LDR R0,=GPGCON LDR R1,[R0] BIC R1,R1,#0x0000FF00 ORR R1,R1,#0x00005500 STR R1,[R0];配置GPGUP寄存器,斷開各上拉電阻 LDR R0,=GPGUP LDR R1,[R0] ORR R1,R1,#0x00F0 STR R1,[R0];輸出驅動數據,點亮GPG4引腳對應的LED LDR R2,=GPGDAT LDR R3,[R2] ORR R3,R3,#0x00F0 BIC R3,R3,#0x0010 STR R3,[R2]17電子工程學院使用GPIO的問題:按鍵或LED數量較大時,由于處理器GPIO數量有限,無法滿足硬件電路設計需求;采用GPIO的驅動方式需要CPU執行軟件來完成相應的功能,需占用大量的處理器時間,在多任務系統中很難滿足實時性要求。采用專用的控制芯片來驅動鍵盤及數碼管直接驅動數碼管/同時掃描管理多個按鍵/內含有顯示譯碼器有多種控制指令,如消隱、閃爍、左移、右移、段尋址等。通常采用I2C等串行總線與系統連接專用控制芯片18電子工程學院在嵌入式系統中常用的LCD產品主要有兩種:一種是帶有驅動電路的LCD顯示模塊;另一種則僅是LCD顯示屏,沒有驅動電路,需要與驅動電路配合使用。在常見的ARM處理器芯片中,通常都帶有LCD控制器,可以直接驅動多種LCD顯示屏。S3C2440A中的LCD控制器模塊,可以直接與STN或TFT等多種不同分辨率的單色/彩色LCD連接,具有將顯示緩存(在系統存儲器中)中的LCD圖象數據傳輸到外部LCD驅動電路的邏輯功能,驅動其完成各類數據的顯示。LCD顯示接口19電子工程學院按照觸摸屏的工作原理和感應觸摸信息的介質來分,常見的觸摸屏有四類:電阻式電容式紅外線式表面聲波式觸摸屏接口電阻屏根據引出線數多少,可分為四線、五線、六線等多線電阻觸摸屏。20電子工程學院S3C2440A處理器中內置了A/D轉換器,并提供了一個專用的四線電阻式觸摸屏接口,此接口引出了四根信號線XP,XM,YP,YM,分別對應觸摸屏上的X+,X-,Y+,Y-,因此在硬件接口設計上十分簡潔。21電子工程學院通信接口

通信接口通常用于嵌入式設備與其他設備進行信息交換,由于各類設備性能指標差異巨大,要實現信息的傳遞需要進行速率、電平、時序、信息格式等多方面的轉換和匹配,所以該類接口種類十分豐富。串行通信SCI接口其他通信接口22電子工程學院S3C2440中的UART模塊23電子工程學院接口初始化:ULCON、UCON、UFCON、UMCON、UBRDIV數據傳遞:UTRSTAT、UFSTAT、UTXH、URXH接收錯誤狀況:UERSTATS3C2440A中UART0的相關寄存器24電子工程學院例10.2:UART0采用查詢方式進行數據通信,要求使用8位數據位,1位停止位,奇校驗,傳輸速率115200bps,不使用FIFO,關閉流控制,處理器外設時鐘PCLK=66.68MHz。步驟1:接口初始化設置幀格式、時鐘來源、收發模式、中斷配置、FIFO的使用、波特率計算等步驟2:數據傳遞:可選擇使用查詢方式或中斷方式傳遞25電子工程學院主要用于幀格式配置 ULCON0=0x23步驟1:UART0的初始化①配置ULCON0線路控制寄存器26電子工程學院主要用于時鐘源選擇、收發模式、中斷配置等 UCON0=0x0005步驟1:UART0的初始化②配置UCON0控制寄存器27電子工程學院主要用于使能FIFO及相關參數配置 UFCON0=0x00步驟1:UART0的初始化③配置UFCON0FIFO控制寄存器28電子工程學院主要用于設置UART模塊與Modem相關參數 UFCON0=0x00步驟1:UART0的初始化④配置UMCON0調制解調器控制寄存器29電子工程學院步驟1:UART0的初始化⑤配置UBRDIV0波特率控制寄存器UBRDIV=int(UART時鐘頻率/(波特率×16))–1采用66.68MHz的PCLK作為時鐘源,為得到115200bps的速率,則:UBRDIV=int(66.68M/(115200×16))–1 =int(36.176)–1=35實際波特率=UART時鐘頻率/((UBRDIV+1)×16)=66.68M/((35+1)×16)≈115764bps實際的工作速率與理論值之間存在偏差:(115764–115200)/115200×100%=+0.49%30電子工程學院初始化程序段ULCON0 EQU 0x50000000UCON0 EQU 0x50000004UFCON0 EQU 0x50000008UMCON0 EQU 0x5000000CUBRDIV0 EQU 0x50000028 LDR R2,=ULCON0 ;配置ULCON0寄存器 MOV R3,#0x23 STRB R3,[R2] LDR R2,=UCON0 ;配置UCON0寄存器 MOV R3,#0x05 STRH R3,[R2] LDR R2,=UFCON0 ;配置UFCON0寄存器 MOV R3,#0x00 STR R3,[R2] LDR R2,=UMCON0 ;配置UMCON0寄存器 MOV R3,#0x00 STR R3,[R2] LDR R2,=UBRDIV0 ;配置UBRDIV0寄存器 MOV R3,#35 STRH R3,[R2]31電子工程學院步驟2:使用UART0進行數據收發使用UTRSTAT0、UTXH0、URXH0進行狀態的判斷并完成通信32電子工程學院收/發示例程序段UTRSTAT0 EQU 0x50000010UTXH0 EQU 0x50000020 ;假設系統采用小端存儲URXH0 EQU 0x50000024 ;假設系統采用小端存儲…………TLOOP LDR R0,=UTRSTAT0;讀取UART0收發狀態寄存器的值 TST R0,#0x02 ;判斷發送緩沖區是否空閑 BEQ TLO

溫馨提示

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

評論

0/150

提交評論