




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1TM第第9講講 S3C44B0硬件結構與關鍵技術分析硬件結構與關鍵技術分析 S3C44B0是基于是基于ARM7TDMI架構的,架構的,S3C2410是基于是基于ARM920T架構的。當前,這兩款芯片在嵌入架構的。當前,這兩款芯片在嵌入式開發領域廣泛應用。式開發領域廣泛應用。 本章主要介紹本章主要介紹S3C44B0的硬件資源和整體架構,的硬件資源和整體架構,對其存儲控制器、對其存儲控制器、NAND Flash控制原理、時鐘電源控制原理、時鐘電源管理、通用管理、通用I/O接口和中斷控制器作了詳細介紹,并接口和中斷控制器作了詳細介紹,并通過一定的實例來加深讀者對關鍵技術的理解。通過一定的實例來加深
2、讀者對關鍵技術的理解。2TM2S3C44B0微控制器微控制器n帶帶8KB Cache的的ARM7TDMI核。核。n內置系統存儲控制器(片選邏輯,支持內置系統存儲控制器(片選邏輯,支持ROM、SRAM、Flash、FP/EDO/SDRAM)。)。nLCD控制器(支持控制器(支持256色的色的STN,集成,集成1個個DMA控制器)。控制器)。n2個通用個通用DMA控制器(控制器(ZDMA)/2個外圍個外圍DMA控制器(控制器(BDMA)。)。n2個帶硬件握手的個帶硬件握手的UART控制器(符合控制器(符合550標準)標準)/1個個SIO。n1個支持多主設備的個支持多主設備的I2C控制器。控制器。n
3、1個個IIS總線控制器。總線控制器。3TM3n5個個PWM定時器和定時器和1個內部定時器。個內部定時器。n看門狗定時器看門狗定時器Watch Dog。n71個通用可編程的個通用可編程的I/O口和口和8個外部中斷源。個外部中斷源。n具有具有8通道輸入的通道輸入的10位位ADC。n具有日歷功能的實時時鐘具有日歷功能的實時時鐘RTC。n功率控制模式:功率控制模式:Nomal、Slow、Idle和和Stop。n帶鎖相環帶鎖相環PLL的片內時鐘發生器。的片內時鐘發生器。4TM4S3C44B0內內部部結結構構5TM5看門狗定時器看門狗定時器n看門狗定時器(看門狗定時器(WDT,Watch Dog Time
4、r)實際上是一個)實際上是一個計數器,一般給看門狗一個大數,程序開始運行后看門狗開計數器,一般給看門狗一個大數,程序開始運行后看門狗開始倒計數。如果程序運行正常,過一段時間始倒計數。如果程序運行正常,過一段時間CPU應發出指令應發出指令讓看門狗復位,重新開始倒計數,即讓看門狗復位,重新開始倒計數,即“喂狗喂狗”,以防止復位,以防止復位信號的發生。如果看門狗減到信號的發生。如果看門狗減到0就認為程序沒有正常工作,就認為程序沒有正常工作,強制整個系統復位。強制整個系統復位。n看門狗的作用就是防止程序發生死循環,或者說程序跑飛。看門狗的作用就是防止程序發生死循環,或者說程序跑飛。nS3C44B0X在
5、使用嵌入式在使用嵌入式ICE來調試時,看門狗定時器不能來調試時,看門狗定時器不能被操作。因此,信號在調試模式下,即使看門狗的定時器定被操作。因此,信號在調試模式下,即使看門狗的定時器定時時間到了,也不會產生復位信號。時時間到了,也不會產生復位信號。6TM6n看門狗定時器對微控制器提供了獨立的保護系統,當系統看門狗定時器對微控制器提供了獨立的保護系統,當系統出現故障時,在可選的超時周期之后,看門狗將以出現故障時,在可選的超時周期之后,看門狗將以RESET信號作出響應。即當信號作出響應。即當WatchDog在你的程序陷入死循環的在你的程序陷入死循環的時候,可以讓系統復位而不用整個系統斷電,從而保護
6、你時候,可以讓系統復位而不用整個系統斷電,從而保護你的硬件電路。的硬件電路。n汽車電子系統需要監控電路監測故障容限或安全性。看門汽車電子系統需要監控電路監測故障容限或安全性。看門狗定時器可理想滿足這類需求,通過對微控制器正常工作狗定時器可理想滿足這類需求,通過對微控制器正常工作條件下產生的周期脈沖進行檢測,偵測電路或條件下產生的周期脈沖進行檢測,偵測電路或IC的失效狀的失效狀態,一旦發生故障可立即切換到備份態,一旦發生故障可立即切換到備份/冗余系統。冗余系統。 看門狗定時器看門狗定時器7TM7PWM脈寬調制脈寬調制nPWM是是“Pulse Width Modulation”即脈沖寬度調制,簡即
7、脈沖寬度調制,簡稱脈寬調制。稱脈寬調制。 n脈寬調制脈寬調制PWM一種是利用微處理器的數字輸出對模擬電路一種是利用微處理器的數字輸出對模擬電路進行控制的非常有效的技術,廣泛應用在從測量、通信到功進行控制的非常有效的技術,廣泛應用在從測量、通信到功率控制與變換的許多領域中。率控制與變換的許多領域中。 nPWM是一種對模擬信號電平進行數字編碼的方法。通過高是一種對模擬信號電平進行數字編碼的方法。通過高分辨率計數器的使用,方波的占空比被調制用來對一個具體分辨率計數器的使用,方波的占空比被調制用來對一個具體的模擬信號的電平進行編碼。的模擬信號的電平進行編碼。n其中:占空比和調制頻率是兩個主要參數其中:
8、占空比和調制頻率是兩個主要參數8TM8PWM脈寬調制脈寬調制n占空比占空比是指在一個周期內,接通信號與周期的比值是指在一個周期內,接通信號與周期的比值105070n占空比為占空比為10%的的PWM輸出,即在信號周期中,輸出,即在信號周期中,10%的時間的時間通通(高電平高電平),其余,其余90%的時間斷。的時間斷。n另外兩個顯示的分別是占空比為另外兩個顯示的分別是占空比為50%和和70%的的PWM輸出。輸出。n這三種這三種PWM輸出的編碼分別是強度為滿度值的輸出的編碼分別是強度為滿度值的10%及及50%和和70%的的3種不同模擬信號值。種不同模擬信號值。9TM9PWM脈寬調制脈寬調制燈燈 開關
9、開關n調制頻率調制頻率是周期的倒數。是周期的倒數。n例如圖中使用例如圖中使用9V電池給一個白熾燈泡供電。如果將連接電池電池給一個白熾燈泡供電。如果將連接電池和燈泡的開關閉合和燈泡的開關閉合50ms,則燈泡在這段時間中將得到,則燈泡在這段時間中將得到9V供供電,如果在下一個電,如果在下一個50ms中將開關斷開,燈泡得到的供電將中將開關斷開,燈泡得到的供電將為為0V。如果在。如果在1s內將此過程重復內將此過程重復10次,燈泡將會點亮。次,燈泡將會點亮。n因占空比是因占空比是50%,因此像連接到了一個,因此像連接到了一個4.5V電池電池(9V的的50%) n因因T=1s/10次次=0.1s,因此調制
10、頻率為,因此調制頻率為1/T=1/0.1s=10Hz10TM10PWM定時器定時器nS3C44B0的的PWM定時器具有定時器具有6個個16位定時器,每個位定時器,每個定時器可以按照中斷模式或定時器可以按照中斷模式或DMA模式工作。模式工作。n定時器定時器0,1,2,3和和4具有具有PWM輸出功能。輸出功能。n定時器定時器5是一個內部定時器不具有對外輸出口線。是一個內部定時器不具有對外輸出口線。n定時器定時器0具有死區發生器,通常用于大電流設備應用。用具有死區發生器,通常用于大電流設備應用。用于在開關設備的斷開和另一個開關設備的閉合之間插入于在開關設備的斷開和另一個開關設備的閉合之間插入一個時間
11、缺口。這個時間缺口阻止兩個開關設備處于同一個時間缺口。這個時間缺口阻止兩個開關設備處于同時閉合的狀態,即使是非常短的時間。時閉合的狀態,即使是非常短的時間。n例如:通過例如:通過PWM控制器控制蜂鳴器的發生控制器控制蜂鳴器的發生11TM11S3C44B0存儲控制器存儲控制器n存儲器是嵌入式系統的重要組成部分,在嵌存儲器是嵌入式系統的重要組成部分,在嵌入式開發中,擴展存儲器是重要的一步。入式開發中,擴展存儲器是重要的一步。nS3C44B0和和S3C2410的存儲器控制器提供訪的存儲器控制器提供訪問外部存儲器所需要的存儲器控制信號,便問外部存儲器所需要的存儲器控制信號,便于擴展外部存儲器。于擴展外
12、部存儲器。12TM12S3C44B0存儲控制與地址空間存儲控制與地址空間n存儲格式小存儲格式小/大端選擇大端選擇13TM13nS3C44B0存儲空間共有存儲空間共有8個個Bank,每個,每個Bank為為32MB,總共,總共256MB。n8個個Bank中:中:nBank0 Bank5這這6個為個為ROM、SRAM等類型的等類型的Bank,起始地址都是固定的。起始地址都是固定的。nBank6、 Bank7這兩個可做這兩個可做SROM、SDRAM、FP/EDO/SDRAM等類型的等類型的Bank;nBank6、 Bank7這兩個的大小是可選的,因此,這兩個的大小是可選的,因此,Bank6的起始地址固
13、定,但的起始地址固定,但Bank7的起始地址是可變的;但的起始地址是可變的;但Bank6和和Bank7必須有相同的存儲器大小。必須有相同的存儲器大小。 (見教材表(見教材表9-2) 14TM14 地地址址空空間間分分布布 專用功能專用功能寄存器寄存器Bank6Bank7大小可選大小可選15TM15 S3C44B0的的Bank6/7地址分布地址分布 16TM16S3C44B0存儲位寬控制存儲位寬控制n S3C44B0存儲器數據寬度選擇存儲器數據寬度選擇 S3C44B0的的Bank0數據總線(數據總線(nGCS0)寬度可配置成)寬度可配置成8/16/32bit;又因;又因為為BANK0是是ROM區
14、的引導(映射到區的引導(映射到0 x0000 0000),總線寬度需在),總線寬度需在ROM訪問前確定,在復位時根據訪問前確定,在復位時根據OM1:0的邏輯電平來確定。的邏輯電平來確定。17TM17nS3C44B0存儲器接口存儲器接口18TM18ROM接口接口n 4片片8位位ROM存儲器接口存儲器接口 u 讀讀/寫寫32位寬度數據時位寬度數據時 CPU 存儲器存儲器地址線地址線 A2 A019TM19n16位位ROM存儲器接口存儲器接口u 讀讀/寫寫16位寬度數據時位寬度數據時 CPU 存儲器存儲器地址線地址線 A1 A020TM20nSDRAM接口接口地址線連與地址線連與ROM同理同理u 讀
15、讀/寫寫16位寬度數據時位寬度數據時 CPU 存儲器存儲器地址線地址線 A1 A021TM21u 讀讀/寫寫32位寬度數據時位寬度數據時 CPU 存儲器存儲器地址線地址線 A2 A022TM22S3C44B0存儲控制寄存器存儲控制寄存器 n總線寬度和等待控制寄存器(總線寬度和等待控制寄存器(BWSCON)詳細信息見教材詳細信息見教材ARM嵌入式系統結構與編程嵌入式系統結構與編程 227頁表頁表9-623TM23n總線控制寄存器總線控制寄存器(1)()(BANKCONn:nGCS0-nGCS5):):總線控制寄存器總線控制寄存器BANKCON0 BANKCON5位位詳細信息見教材詳細信息見教材2
16、27頁表頁表9-724TM24(2)()(BANKCONn :nGCS6-nGCS7):):總線控制寄存器總線控制寄存器BANKCON6BANKCON7位位 詳細信息見教材詳細信息見教材229頁表頁表9-825TM25n刷新控制寄存器(刷新控制寄存器(REFRESH)n刷新控制寄存器刷新控制寄存器REFRESH詳細信息見詳細信息見230頁表頁表9-926TM26nBANKSIZE 寄存器(寄存器(BANKSIZE)BANKSIZE 寄存器位詳細信息見教材寄存器位詳細信息見教材231頁表頁表9-1027TM27SDRAM接口電路設計接口電路設計nSDRAM的行地址線和列地址線是分時復用的,也就是
17、地址的行地址線和列地址線是分時復用的,也就是地址線要分兩次送出,先送行地址線,再送列地址線。線要分兩次送出,先送行地址線,再送列地址線。 nHY57V561620是現代公司生產的容量為是現代公司生產的容量為32MB(4M x 16bit x 4Bank)的)的SDRAM 28TM28HY57V561620內部原理內部原理 29TM29jnS3C2410與與HY57V561620的接口電路詳細信息見教材的接口電路詳細信息見教材233頁表頁表9-1230TM30S3C44B0存儲器初始化實例存儲器初始化實例例:使用一條例:使用一條STM指令完成指令完成13個控制寄存器的初始化。個控制寄存器的初始化
18、。 當系統復位后,通過當系統復位后,通過LDMIA和和STMIA命令來設置命令來設置BWSCON, BANCON0-7,REFRESH,BANKSIZ,MRSRB6/7這這13個控制寄存器。個控制寄存器。LDR R0, =SMRDATALDMIA R0, R1-R13 ;將;將R0R0+13*4的字數據讀到的字數據讀到R1R13中,中, ;即下面;即下面DATA區的區的13個字數據讀到個字數據讀到R1R13中中LDR R0, =0 x01C80000 ; BWSCON 寄存器地址寄存器地址STMIA R0, R1-R13 ;將;將R1R13中的字數據存入中的字數據存入R0R0+13*4中中 ;
19、即將;即將DATA區的字數據存入區的字數據存入13個控制寄存器個控制寄存器SMRDATA DATADCD 0 x22221210 ; BWSCONDCD 0 x00000600 ; GCS031TM31DCD 0 x00000700; GCS1DCD 0 x00000700 ; GCS2DCD 0 x00000700; GCS3DCD 0 x00000700; GCS4DCD 0 x00000700 ; GCS5DCD 0 x0001002A ; GCS6, EDO DRAM (Trcd=3) ; (Tcas=2, Tcp=1, CAN=10bit)DCD 0 x0001002A ; GCS7
20、, EDO DRAMDCD 0 x00960000 + 953 ; Refresh(REFEN=1, TREFMD=0) ; (Trp=3, Trc=5, Tchr=3)DCD 0 x0 ; Bank Size, 32MB/32MBDCD 0 x20 ; MRSR 6(CL=2)DCD 0 x20 ; MRSR 7(CL=2)32TM32S3C44B0時鐘電源管理時鐘電源管理nS3C44B0的電源管理有五種模式:的電源管理有五種模式:n正常模式正常模式n低速模式低速模式n空閑模式空閑模式n停止模式停止模式nLCD的的SL空閑模式空閑模式 nS3C44B0的時鐘生成器能夠為的時鐘生成器能夠為CP
21、U和外設產生和外設產生所需的時鐘信號,且可以控制每個外設提供或所需的時鐘信號,且可以控制每個外設提供或斷開時鐘,以減少電源消耗。斷開時鐘,以減少電源消耗。33TM33S3C44B0時鐘管理時鐘管理 S3C44B0的時鐘發生器模塊的時鐘發生器模塊主時鐘源來自外部晶振或外部時鐘。主時鐘源來自外部晶振或外部時鐘。連接到外部的連接到外部的晶體振蕩器晶體振蕩器PLL鎖相環,把低頻率震蕩輸出鎖相環,把低頻率震蕩輸出作為它的輸入,然后產生滿足作為它的輸入,然后產生滿足S3C44B0需求的高頻率時鐘。需求的高頻率時鐘。34TM342時鐘源的選擇:時鐘源的選擇:n控制模式引腳(控制模式引腳(OM3和和OM2)與
22、)與S3C44B0時鐘源選擇的結時鐘源選擇的結合關系如表合關系如表9-18所示。所示。OM3:2狀態通過查閱狀態通過查閱OM3和和OM2引引腳在腳在nRESET上升沿時的值內部鎖存的。上升沿時的值內部鎖存的。35TM35n五種電源管理模式分別是:五種電源管理模式分別是:n正常模式:用來支持正常模式:用來支持CPU和所有外設的時鐘。且用戶可以選擇斷開和所有外設的時鐘。且用戶可以選擇斷開外設的的電源管理來減少消耗。外設的的電源管理來減少消耗。n低速模式:不使用低速模式:不使用PLL鎖相環直接種用外部時鐘作為主時鐘。電源鎖相環直接種用外部時鐘作為主時鐘。電源消耗只依賴于外部時鐘頻率。消耗只依賴于外部
23、時鐘頻率。n空閑模式:只斷開空閑模式:只斷開CPU內核的時鐘,但為所有外設提供時鐘。內核的時鐘,但為所有外設提供時鐘。CPU內核的電源消耗被減少了,任何中斷請求可使內核的電源消耗被減少了,任何中斷請求可使CPU從空閑模式被喚從空閑模式被喚醒。醒。n停止模式:通過禁止停止模式:通過禁止PLL鎖相環來凍結鎖相環來凍結CPU和所有外設的時鐘。和所有外設的時鐘。CPU的外部中斷可使之從停止模式被喚醒。的外部中斷可使之從停止模式被喚醒。nLCD的的SL空閑模式空閑模式 :使得:使得LCD控制器得以工作。除了控制器得以工作。除了LCD控制器外控制器外的的CPU及外設的時鐘被停止,此模式電源消耗比空閑模式小
24、。及外設的時鐘被停止,此模式電源消耗比空閑模式小。36TM36上電復位上電復位n晶振開始振蕩數毫秒后,當晶振開始振蕩數毫秒后,當S3C44B0OSC時鐘穩時鐘穩定后定后nRESET得到釋放,得到釋放,PLL開始根據默認的開始根據默認的PLL配置進行運作。配置進行運作。nPLL在上電復位后變得不穩定,所以在上電復位后變得不穩定,所以Fin代替代替Fpllo在在S/W更新更新PLLCON的配置前直接反饋到的配置前直接反饋到Fout。n用戶在復位后想使用用戶在復位后想使用PLLCON寄存器的默認值,也寄存器的默認值,也需要通過需要通過S/W寫入相同的值給寫入相同的值給PLLCON寄存器。寄存器。 3
25、7TM37上電復位時鐘鎖定上電復位時鐘鎖定 38TM38n在正常模式下的操作,如果用戶希望通過寫在正常模式下的操作,如果用戶希望通過寫PMS值值的方法改變頻率,的方法改變頻率,PLL鎖定時間會自動寫入。在鎖鎖定時間會自動寫入。在鎖定時間里,時鐘不支持內部模塊。定時間里,時鐘不支持內部模塊。 39TM39S3C44B0時鐘與電源管理專用寄存器時鐘與電源管理專用寄存器n鎖時計數寄存器鎖時計數寄存器LOCKTIME 、PLL配置寄配置寄存器存器 、時鐘控制寄存器(、時鐘控制寄存器(CLKCON) 、低、低速時鐘控制寄存器(速時鐘控制寄存器(CLKSLOW) 詳細描述詳細描述信息信息見教材第見教材第2
26、46-250頁頁40TM40S3C44B0通用通用 I/O端口端口nS3C44B0有有71個多功能輸入個多功能輸入/輸出引腳。輸出引腳。有如下有如下7個端口個端口n一個一個10位輸入位輸入/輸出端口(端口輸出端口(端口A)n一個一個11位輸入位輸入/輸出端口(端口輸出端口(端口B)n一個一個16位輸入位輸入/輸出端口(端口輸出端口(端口C)n兩個兩個8位輸入位輸入/輸出端口(端口輸出端口(端口D 和和G)n兩個兩個9位輸入位輸入/輸出端口(端口輸出端口(端口E 和和F)41TM41端口控制描述端口控制描述1端口配置寄存器端口配置寄存器n在在S3C44B0中,大多數引腳是復合式的。所以,需要決定
27、中,大多數引腳是復合式的。所以,需要決定每個引腳所選擇的功能。端口控制寄存器決定每個引腳的每個引腳所選擇的功能。端口控制寄存器決定每個引腳的功能。功能。n在在S3C44B0中,如果中,如果PG0-PG7用于在掉電模式下的喚醒用于在掉電模式下的喚醒信號,這些端口需要配置成中斷模式。信號,這些端口需要配置成中斷模式。2端口數據寄存器端口數據寄存器n如果這些端口被配置成輸出端口,數據可以從相應的位如果這些端口被配置成輸出端口,數據可以從相應的位被寫入。被寫入。n如果這些端口被配置成輸入端口,數據可以從相應的位如果這些端口被配置成輸入端口,數據可以從相應的位讀出。讀出。42TM423端口上拉寄存器端口
28、上拉寄存器n端口上拉寄存器控制每個端口組的上拉電阻使能端口上拉寄存器控制每個端口組的上拉電阻使能/禁止。禁止。當相應的位置當相應的位置0,引腳的上拉電阻被使能。為,引腳的上拉電阻被使能。為1時,上拉時,上拉電阻被禁止。電阻被禁止。4外部中斷控制寄存器外部中斷控制寄存器nS3C44B0 的的8個外部中斷通過多種信號方法被請求。個外部中斷通過多種信號方法被請求。 nEXTINT寄存器可以設置外部中斷觸發方式。寄存器可以設置外部中斷觸發方式。43TM43通用通用I/O接口設計實例接口設計實例例:例:LED與蜂鳴器接口電與蜂鳴器接口電路路S3C44B0的端口的端口A的的第第0、1、2、3管腳分管腳分別
29、與別與LED相連,端口相連,端口E的第的第0管腳用來控制管腳用來控制蜂鳴器。蜂鳴器。 n根據根據LED的硬件電路圖,實現的硬件電路圖,實現LED的循環閃爍:的循環閃爍:LED1亮亮 延時延時,LED4滅滅- LED2亮亮 延時,延時,LED1滅滅- LED3亮亮 延時,延時,LED2滅滅- LED4亮亮 延時,延時,LED3滅滅- 蜂鳴器開蜂鳴器開 延時,蜂延時,蜂鳴器關鳴器關,如此無限循環,實現,如此無限循環,實現LED霓虹燈式的循環閃爍霓虹燈式的循環閃爍 。44TM44/*文件名:文件名:GPIO_Test.c版本號:版本號:V1.0創建日期創建日期:2008-7-1作者作者:FE2000
30、硬件描述硬件描述:S3C44B0 GPA0GPA3分別接分別接LED1LED4,GPE0控制蜂鳴器。控制蜂鳴器。主要函數描述主要函數描述:函數函數LED1_delayLED4_delay用于實現用于實現LED1LED4亮滅控制并延時。亮滅控制并延時。修改日志:修改日志:*/*定義定義S3C44B0內部端口寄存器地址內部端口寄存器地址*/#define rPCONA(*(volatile unsigned *)0 x1d20000) /定義端口定義端口A配置寄存器配置寄存器rPCONA#define rPDATA(*(volatile unsigned *)0 x1d20004) /定義端口定義
31、端口A數據寄存器數據寄存器rPDATA#define rPCONE(*(volatile unsigned *)0 x1d20028) /定義端口定義端口E配置寄存器配置寄存器rPCONE#define rPDATE(*(volatile unsigned *)0 x1d2002c) /定義端口定義端口E數據寄存器數據寄存器rPDATE#define rPUPE(*(volatile unsigned *)0 x1d20030) /定義端口定義端口E上拉電阻寄存器上拉電阻寄存器rPUPE/*S3C44B0端口配置端口配置*/rPCONA = rPCONA & 0 xFFFFFFF0 /GPA0
32、GPA3設置為輸出設置為輸出rPCONE = rPCONE & 0 xFFFFFFFD rPCONE = rPCONE | 0 xFFFFFFFD /GPE0設置為輸出設置為輸出具體代碼見教材具體代碼見教材P27627945TM45/*函數名稱函數名稱:Delay功能描述功能描述:Delay函數實現軟件延時函數實現軟件延時.入口參數入口參數:Time延時參數延時參數出口參數出口參數:無無*/Void Delay(int Time) unsigned int I; for(i=0;i LED2亮亮 延時,延時,LED1滅滅- LED3亮亮 延時,延時,LED2滅滅- LED4亮亮 延時,延時,L
33、ED3滅滅- 蜂鳴器開蜂鳴器開 延時,蜂鳴器關延時,蜂鳴器關入口參數入口參數:無無出口參數出口參數:無無*/void Main() while(1) LED1_Delay(1);LED4_Delay(0);LED2_Delay(1);LED1_Delay(0);LED3_Delay(1);LED2_Delay(0);LED4_Delay(1);LED3_Delay(0);Beep_Delay(1);Beep_Delay(0);49TM49程序中:程序中:/*定義定義S3C44B0內部端口寄存器地址內部端口寄存器地址*/#define rPCONA(*(volatile unsigned *)0
34、 x1d20000) /定義端口定義端口A配置寄存器配置寄存器rPCONA#define rPDATA(*(volatile unsigned *)0 x1d20004) /定義端口定義端口A數據寄存器數據寄存器rPDATA#define rPCONE(*(volatile unsigned *)0 x1d20028) /定義端口定義端口E配置寄存器配置寄存器rPCONE#define rPDATE(*(volatile unsigned *)0 x1d2002c) /定義端口定義端口E數據寄存器數據寄存器rPDATE#define rPUPE(*(volatile unsigned *)0
35、x1d20030) /定義端口定義端口E上拉電阻寄存器上拉電阻寄存器rPUPE/*S3C44B0端口配置端口配置*/rPCONA = rPCONA & 0 xFFFFFFF0 /PA0PA3設置為輸出設置為輸出rPCONE = rPCONE & 0 xFFFFFFFD rPCONE = rPCONE | 0 xFFFFFFFD /PE0設置為輸出設置為輸出端口端口A(控制寄存器(控制寄存器PCONA,數據寄存器數據寄存器PDATA)各寄存器的具體位信息見教材各寄存器的具體位信息見教材P251表表9-2450TM5051TM51程序中:程序中:/*定義定義S3C44B0內部端口寄存器地址內部端口
36、寄存器地址*/#define rPCONA(*(volatile unsigned *)0 x1d20000) /定義端口定義端口A配置寄存器配置寄存器rPCONA#define rPDATA(*(volatile unsigned *)0 x1d20004) /定義端口定義端口A數據寄存器數據寄存器rPDATA#define rPCONE(*(volatile unsigned *)0 x1d20028) /定義端口定義端口E配置寄存器配置寄存器rPCONE#define rPDATE(*(volatile unsigned *)0 x1d2002c) /定義端口定義端口E數據寄存器數據寄存
37、器rPDATE#define rPUPE(*(volatile unsigned *)0 x1d20030) /定義端口定義端口E上拉電阻寄存器上拉電阻寄存器rPUPE/*S3C44B0端口配置端口配置*/rPCONA = rPCONA & 0 xFFFFFFF0 /PA0PA3設置為輸出設置為輸出rPCONE = rPCONE & 0 xFFFFFFFD rPCONE = rPCONE | 0 xFFFFFFFD /PE0設置為輸出設置為輸出端口端口E(控制寄存器(控制寄存器PCONE,數據寄存器數據寄存器PDATE,上拉電阻使能寄存器上拉電阻使能寄存器PUPE)各寄存器的具體位信息見教材各
38、寄存器的具體位信息見教材P255頁表頁表9-28寄存器寄存器 地址地址 讀讀/寫寫 描述描述 復位值復位值 PCONE 0 x01D20028 R/W 配置端口 E 的引腳 0 x00 PDATE 0 x01D2002C R/W 端口 E 的數據寄存器 未定義 PUPE 0 x01D20030 R/W 端口 E 上拉電阻使能寄存器 0 x0052TM52S3C44B0中斷機制中斷機制n中斷是中斷是CPU在程序運行過程中,被內部或外在程序運行過程中,被內部或外部的事件所打斷,轉去執行一段預先安排好部的事件所打斷,轉去執行一段預先安排好的中斷服務程序,中斷服務程序執行完畢后的中斷服務程序,中斷服務
39、程序執行完畢后,又返回原來的斷點,繼續執行原來的程序,又返回原來的斷點,繼續執行原來的程序。nS3C44B0內部集成了中斷控制器,能夠管理內部集成了中斷控制器,能夠管理30個中斷源。個中斷源。53TM53n26個獨立的外部中斷個獨立的外部中斷n4個通過或門共用一根個通過或門共用一根中斷請求線的外部中斷中斷請求線的外部中斷4/5/6/7n2個通過或門共用一根個通過或門共用一根中斷請求線的中斷請求線的UART錯錯誤中斷誤中斷0/1說明:對于共用中斷請說明:對于共用中斷請求線的中斷發生時,需求線的中斷發生時,需要在中斷服務程序中進要在中斷服務程序中進行查詢以進一步確定中行查詢以進一步確定中斷源。斷源
40、。54TM54中斷優先級產生模塊中斷優先級產生模塊n由由1個主單元和個主單元和4個從單元組成個從單元組成n主單元管理主單元管理4個從單元和個從單元和2個中斷源個中斷源n從單元有從單元有4個可編程優先級中斷源個可編程優先級中斷源sGN和和2個固定優先級中斷源個固定優先級中斷源sGKn;2個固定優先級中斷源在個固定優先級中斷源在6個中斷源中個中斷源中優先級最低優先級最低55TM55中斷優先級約定中斷優先級約定n從優先級單元中:從優先級單元中:sGA、sGB、sGC、sGD的優先級的優先級sGKAsGKB。其。其中,中,sGA、sGB、sGC、sGD的優先的優先級通過編程配置。級通過編程配置。n主優
41、先級單元中:主優先級單元中:mGA、mGB、mGC、mGD的優先級的優先級mGKAmGKB。其中,。其中,mGA、mGB、mGC、mGD的優先級通過編程配置。的優先級通過編程配置。n所以所以mGKA和和mGKB在其他中斷源中在其他中斷源中優先級最低。優先級最低。56TM56n非向量中斷方式非向量中斷方式n中斷源產生中斷后,從中斷源產生中斷后,從0 x18 處取指執行處取指執行n向量中斷方式向量中斷方式n中斷源產生中斷后,跳轉到中斷源產生中斷后,跳轉到0 x18 處,并忽略處,并忽略0 x18 處指令,由處理器處指令,由處理器識別中斷后自動產生一個跳轉到中斷源向量地址的分支指令,并填充識別中斷后
42、自動產生一個跳轉到中斷源向量地址的分支指令,并填充總線執行總線上新的指令;在各中斷源對應的中斷向量地址中,存放總線執行總線上新的指令;在各中斷源對應的中斷向量地址中,存放著跳轉到相應中斷服務程序的指令代碼。著跳轉到相應中斷服務程序的指令代碼。0 x18中斷服務入口0 x18中斷服務入口S3C44B0的的IRQ中斷分為向量中斷與非向量中斷中斷分為向量中斷與非向量中斷57TM57向量中斷與非向量中斷處理過程向量中斷與非向量中斷處理過程IRQs 中斷中斷非向量中斷非向量中斷INTCON V= 1向量中斷向量中斷INTCON V= 0中斷服務入口地址表中斷服務入口地址表地址映射中斷控制器地址映射中斷控
43、制器讀取讀取I_ISPR寄存器寄存器并計算偏移量并計算偏移量26個中斷源個中斷源EINT0/1/2 PowerDownEINT0/1/2 PowerDown 中斷初始化時要對中斷控制寄存器中斷初始化時要對中斷控制寄存器INTCON進行配置,設置進行配置,設置V來選擇向量來選擇向量模式還是非向量模式。模式還是非向量模式。58TM58S3C44B0 中斷控制特殊功能寄存器中斷控制特殊功能寄存器n使用使用S3C44B0中斷控制時,要能夠完成這些功能的中斷控制時,要能夠完成這些功能的寄存器的初始化。主要寄存器有:寄存器的初始化。主要寄存器有:n中斷控制寄存器中斷控制寄存器INTCONn中斷掛起寄存器中
44、斷掛起寄存器INTPNDn中斷模式寄存器中斷模式寄存器INTMODn中斷屏蔽寄存器中斷屏蔽寄存器INTMSKnIRQ向量模式相關寄存器向量模式相關寄存器 59TM59中斷控制寄存器中斷控制寄存器INTCON見見P284頁表頁表9-51 60TM60中斷掛起寄存器中斷掛起寄存器 INTPND見見P284頁表頁表9-52所示所示n每一個中斷源對應著一位。只有未被屏蔽且具有每一個中斷源對應著一位。只有未被屏蔽且具有最高優先級、在源掛起寄存器中等待處理的中斷最高優先級、在源掛起寄存器中等待處理的中斷請求,其對應的中斷掛起位被置請求,其對應的中斷掛起位被置1。nS3C44B0在中斷服務程序中必須加入對在
45、中斷服務程序中必須加入對I_ISPC和和F_ISPC寫寫1的操作來清除掛起條件,準備接收下的操作來清除掛起條件,準備接收下一次中斷。一次中斷。61TM61中斷模式寄存器中斷模式寄存器INTMOD見見P286表表9-53nARM處理器的中斷模式有兩種:處理器的中斷模式有兩種:IRQ模式和模式和FIQ模式。模式。n每一個中斷源對應著一位。當中斷源的模式位設每一個中斷源對應著一位。當中斷源的模式位設置為置為0時,中斷會按時,中斷會按IRQ模式來處理;當模式位設模式來處理;當模式位設置為置為1時,對應的中斷會按時,對應的中斷會按FIQ模式來處理。模式來處理。n某一時刻只能有一個中斷源在某一時刻只能有一
46、個中斷源在FIQ模式下處理,模式下處理,即即INTMOD寄存器只有一位可以設置為寄存器只有一位可以設置為1。62TM62中斷屏蔽寄存器中斷屏蔽寄存器INTMSK見見P288表表9-54n每一個中斷源對應著一位;每一個中斷源對應著一位;n如果某位設置為如果某位設置為1,則該位所對應的中斷請求不會,則該位所對應的中斷請求不會被處理;被處理;n如果某位設置為如果某位設置為0,則該位所對應的中斷請求才會,則該位所對應的中斷請求才會被處理;被處理;n如果全局屏蔽位被設置為如果全局屏蔽位被設置為1,則所有的中斷請求都,則所有的中斷請求都不會被處理。不會被處理。 63TM63S3C44B0向量模式相關寄存器
47、向量模式相關寄存器見見P290表表9-55n對對S3C44B0中的優先級產生模塊的設置通過對寄中的優先級產生模塊的設置通過對寄存器存器I_PSLV、I_PMST、I_CSLV、C_CMST的設的設置來完成。置來完成。n如果幾個中斷源同時發出中斷請求,則可通過讀如果幾個中斷源同時發出中斷請求,則可通過讀I_ISPR寄存器可獲知前具有最高優先級的中斷源寄存器可獲知前具有最高優先級的中斷源。64TM647個外部中斷的中斷控制寄存器個外部中斷的中斷控制寄存器EXTINT見見P258頁表頁表9-3265TM657個外部中斷的中斷掛起寄存器個外部中斷的中斷掛起寄存器EXINTPND見見P259頁表頁表9-
48、33n外部中斷請求(外部中斷請求(4,5,6,7)是)是或或關系,中共享相同的中斷請求線,提供一關系,中共享相同的中斷請求線,提供一個中斷信號給中斷控制器。個中斷信號給中斷控制器。n當每個外部中斷請求中斷,相應位將會被設置成當每個外部中斷請求中斷,相應位將會被設置成1。n中斷服務例程必須在清除外部掛起條件中斷服務例程必須在清除外部掛起條件EXINTPND后清除中斷掛起條件后清除中斷掛起條件INTPND66TM66S3C44B0中斷接口實例中斷接口實例 部分函數代碼見部分函數代碼見P298n圖為一個圖為一個3*3的的 矩陣鍵盤,矩陣鍵盤,3條行線接條行線接GPC02,3條列線接條列線接GPC35
49、,鍵盤中斷,鍵盤中斷從從EXINT6輸入。輸入。n行線由行線由CPU送出低電平送出低電平n當按鍵當按鍵K19中任一按鍵按中任一按鍵按下時,行線和列線短路,列下時,行線和列線短路,列線被拉低,經過與門后,線被拉低,經過與門后,EXINT6產生低電平向產生低電平向CPU發出中斷請求。發出中斷請求。n當當CPU受理中斷后,進入受理中斷后,進入相應中斷服務程序,進行按相應中斷服務程序,進行按鍵判斷和鍵值計算。鍵判斷和鍵值計算。67TM67基于基于ARMARM的嵌入式硬件平臺體系結構的嵌入式硬件平臺體系結構UP-NET ARM3000UP-NET ARM300068TM68nS3C44B0XS3C44B
50、0X把外部復位信號,也作為一個中斷來處理。在系統復把外部復位信號,也作為一個中斷來處理。在系統復位的時候位的時候, ,程序(程序(PCPC)指針被設置成)指針被設置成0 0,使程序跳轉到,使程序跳轉到0 x000000000 x00000000開始運行。此空間對應的是開始運行。此空間對應的是Bank0Bank0。因為在系統的。因為在系統的1MB1MB的線性的線性FlashFlash和處理器的和處理器的Bank0Bank0相連接。在線性相連接。在線性FlashFlash里存儲里存儲的是供系統的初始化的程序。此程序負責配置處理器的結構、的是供系統的初始化的程序。此程序負責配置處理器的結構、工作模式
51、以及自動檢測嵌入式控制器的各個硬件是否工作正常工作模式以及自動檢測嵌入式控制器的各個硬件是否工作正常。此程序負責把存儲在。此程序負責把存儲在16MB16MB的非線性處理器里面的的非線性處理器里面的system.binsystem.bin文件復制到文件復制到0 xc5f00000 xc5f0000地址(此地址是系統地址(此地址是系統8MB8MB的的SDRAMSDRAM的首地的首地址址) )。引導程序把程序(。引導程序把程序(PCPC)指針指向)指針指向0 xc0000000 xc000000地址,系統開地址,系統開始運行。始運行。nsystem.binsystem.bin是嵌入式操作系統引導的執
52、行文件。編譯以后的操是嵌入式操作系統引導的執行文件。編譯以后的操作系統和應用程序就是這個文件。作系統和應用程序就是這個文件。 69TM69S3C44B0XS3C44B0X存儲系統的特征存儲系統的特征 l支持數據存儲的大支持數據存儲的大/ /小端選擇小端選擇( (通過外部引腳進行選擇通過外部引腳進行選擇) )l地址空間:具有地址空間:具有8 8個存儲體,每個存儲體可達個存儲體,每個存儲體可達32Mb32Mb,總共可,總共可達達256Mb256Mb。l 對所有存儲體的訪問大小均可進行改變(對所有存儲體的訪問大小均可進行改變(8 8位位1616位位3232位位)l8 8個存儲體中,個存儲體中,Ban
53、k0Bank0Bank5Bank5可支持可支持ROMROM、SRAMSRAM;Bank6Bank6、Bank7Bank7可支持可支持ROMROM、SRAMSRAM和和FPFPEDOEDOSDRAMSDRAM等。等。l7 7個存儲體的起始地址固定,個存儲體的起始地址固定,1 1個存儲體的起始地址可變。個存儲體的起始地址可變。 70TM70典型系統中存儲體的分配情典型系統中存儲體的分配情況況存儲體存儲體與存儲體的接口與存儲體的接口Bank0Bank0BIOS 512KBIOS 512K2Flash2FlashBank1Bank116M Flash 16M Flash 硬盤硬盤Bank2Bank2U
54、SBUSB接口接口Bank3Bank3LCDLCD顯示模塊顯示模塊Bank4Bank4保留保留Bank5Bank5保留保留Bank6Bank6系統內存系統內存SDRAMSDRAMBank7Bank7保留保留71TM71復位后的復位后的S3C44B0XS3C44B0X的存儲器映射表的存儲器映射表 2MB/4MB/8MB/16MB/32MB 2MB/4MB/8MB/16MB/32MB 32MB 32MB 32MB 32MB 32MB 28MB 256MB SA27:0 可存取 區域 參 見 表 7-1 特殊功能 寄存器(4MB) SROM (nGCS1) SROM (nGCS1) SROM (nG
55、CS2) SROM (nGCS3) SROM (nGCS4) SROM (nGCS5) SROM/DRAM/SDRAM (nGCS6) SROM/DRAM/SDRAM (Ngcs7) 0 x1000_0000 0 x0e00_0000 0 x0c00_0000 0 x0e00_0000 0 x0800_0000 0 x0600_0000 0 x0400_0000 0 x0200_0000 0 x01c0_0000 0 x0000_0000 72TM72n使用使用Bank0Bank0上的兩片上的兩片512Kb512Kb2 2來放置系統來放置系統BIOSBIOS,系統上電,系統上電以后,以后,PC
56、PC指針自動指向指針自動指向Bank0Bank0的第一個單元,開始進行系的第一個單元,開始進行系統自舉。系統自舉完成以后,便從硬盤中將系統文件和用統自舉。系統自舉完成以后,便從硬盤中將系統文件和用戶應用程序復制到戶應用程序復制到SDRAMSDRAM內存中執行。內存中執行。nBank1Bank1上接上接16M16M非線性非線性FlashFlash,當做系統硬盤使用,可以構,當做系統硬盤使用,可以構造文件系統,存放海量數據。造文件系統,存放海量數據。n用用SDRAMSDRAM當作系統內存,只有當作系統內存,只有Bank6/Bank7Bank6/Bank7能支持能支持SDRAMSDRAM,所以將所以
57、將SDRAMSDRAM接在接在Bank6Bank6上。如果同時使用上。如果同時使用Bank6/Bank7Bank6/Bank7,則要求連接相同容量的存儲,而且其地址空間在物理上是則要求連接相同容量的存儲,而且其地址空間在物理上是連續的。連續的。73TM73nBank0Bank0:系統的啟動:系統的啟動ROMROM(Flash RomFlash Rom)。在系統復位的)。在系統復位的時候,處理器的時候,處理器的PCPC(程序計數器)指針指向(程序計數器)指針指向0 x00 x0地址。地址。在在Bank0Bank0的起始地址的程序,就是系統的初始化程序。的起始地址的程序,就是系統的初始化程序。此程
58、序的主要任務是:此程序的主要任務是:1 1、管理處理器的中斷服務程序、管理處理器的中斷服務程序n處理器的中斷是從處理器的中斷是從0 x00 x0地址開始,引導地址開始,引導ROMROM負責把這一負責把這一部分的中斷映射到另一個區域,以便系統處理。具體部分的中斷映射到另一個區域,以便系統處理。具體的做法,可以參考的做法,可以參考44binit.s44binit.s里面的代碼。(這部分代里面的代碼。(這部分代碼是三星主頁可以提供,它把系統的中斷,映射到了碼是三星主頁可以提供,它把系統的中斷,映射到了不同的指針所指向的地址空間(主要就是系統不同的指針所指向的地址空間(主要就是系統RAMRAM的空的空間)。間)。74TM742 2、初始化硬件平臺,配置其他的、初始化硬件平臺,配置其他的BankBanknS3C44B0XS3C44B0X的的Bank0Bank0是通過外部的一個管腳提供的上是通過外部的一個管腳提供的上拉、下拉電阻來配置的。主要包括:數據位數(拉、下拉電阻來配置的。主要包括:數據位數
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 體驗2024年體育經紀人試題
- 體育經紀人資格考試中的團隊合作精神 試題及答案
- 《艾索美拉唑》課件
- 高效學習籃球裁判員考試要點試題及答案
- 《企業信息戰略》課件
- 定期評估效果2024年體育經紀人資格試題及答案
- 提升應試能力的無人機駕駛員執照考試試題及答案
- 2024年籃球裁判員考試高清視頻解讀與試題及答案
- 備考2024年裁判員的試題與答案
- 賽場上裁判員應知應會試題及答案
- 大部分分校:地域文化形考任務三-國開(CQ)-國開期末復習資料
- 2024年全國中學生生物學聯賽試題含答案
- 《人工智能基礎》課件-AI的前世今生:她從哪里來
- 數獨題目高級50題(后附答案)
- 全媒體運營師-國家職業標準(2023年版)
- 2023年浙江高職考數學真題卷
- 深圳市失業人員停止領取失業保險待遇申請表樣表
- JIS G4305-2021 冷軋不銹鋼板材、薄板材和帶材
- 《觀潮》學歷案案例
- 附件:湖北省重點水利水電工程施工招標投標評分標準-鄂水
- 無人售貨機(自動售貨機)框架合作協議模板
評論
0/150
提交評論