版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 6.2 36.336.16.4 6.5 36.6 36.7 6.9 36.10 36.86.11 6.12 36.13 l簡介簡介 一個嵌入式處理器自己是不能獨立工作的,必須一個嵌入式處理器自己是不能獨立工作的,必須給它供電、加上時鐘信號、提供復位信號,如果芯片給它供電、加上時鐘信號、提供復位信號,如果芯片沒有片內程序存儲器,則還要加上存儲器系統(tǒng),然后沒有片內程序存儲器,則還要加上存儲器系統(tǒng),然后嵌入式處理器芯片才可能工作。這些提供嵌入式處理嵌入式處理器芯片才可能工作。這些提供嵌入式處理器運行所必須的條件的電路與嵌入式處理器共同構成器運行所必須的條件的電路與嵌入式處理器共同構成了這個嵌入式處
2、理器的最小系統(tǒng)。了這個嵌入式處理器的最小系統(tǒng)。返回嵌入式控制器時鐘系統(tǒng)調試測試接口復位及其配置系統(tǒng)存儲器系統(tǒng)供電系統(tǒng)(電源)可選,因為許多面向嵌入式領域的微控制器內部集成了程序和數據存儲器最小系統(tǒng)框圖最小系統(tǒng)框圖可選,但是在樣品階段通常都會設計這部分電路 電源系統(tǒng)為整個系統(tǒng)提供能量,是整個系統(tǒng)工作的基礎,電源系統(tǒng)為整個系統(tǒng)提供能量,是整個系統(tǒng)工作的基礎,具有極其重要的地位,但卻往往被忽略。如果電源系統(tǒng)處具有極其重要的地位,但卻往往被忽略。如果電源系統(tǒng)處理得好,整個系統(tǒng)的故障往往減少了一大半。理得好,整個系統(tǒng)的故障往往減少了一大半。 考慮因素:考慮因素: 輸出的電壓、電流、功率;輸出的電壓、電流
3、、功率; 輸入的電壓、電流;輸入的電壓、電流; 安全因素;安全因素; 電池兼容和電磁干擾;電池兼容和電磁干擾; 體積限制;體積限制; 功耗限制;功耗限制; 成本限制。成本限制。為為LCD 屏及屏及USB接口等供電接口等供電電源轉換模塊電源轉換模塊為為I/O供電供電S3C44B0X的內核的內核1時鐘源的設計時鐘源的設計微處理器微處理器X1X2CCXtal使用內部振蕩器使用外部時鐘源微處理器微處理器X1X2CClock可以使用穩(wěn)定的可以使用穩(wěn)定的時鐘信號源,如時鐘信號源,如有源晶振等。有源晶振等。外部晶振外部晶振 時鐘源的選擇 1. 1. 時鐘的作用時鐘的作用 作為作為CPU及外設定時與同步信號。
4、及外設定時與同步信號。 S3C44B0XS3C44B0X內部的時鐘發(fā)生器可以產生內部的時鐘發(fā)生器可以產生CPUCPU和外設所需和外設所需要的時鐘信號。要的時鐘信號。 S3C44B0XS3C44B0X的時鐘電源管理模塊集中管理時鐘脈沖的發(fā)的時鐘電源管理模塊集中管理時鐘脈沖的發(fā)生與電源生與電源。2. 2. 時鐘發(fā)生器的組成時鐘發(fā)生器的組成外部晶振外部晶振外部時鐘外部時鐘鎖相環(huán)電路鎖相環(huán)電路PLL輸出頻率輸出頻率供給供給CPU的主頻的主頻S3C44B0X的電源管理方案有五種:的電源管理方案有五種:正常模式(正常模式(Normal mode)低速模式(低速模式(Slow mode)空閑模式(空閑模式(
5、Idle mode)停止模式(停止模式(Stop mode)LCD的的SL空閑模式(空閑模式(SL Idle mode) 與時鐘發(fā)生器及電源管理有關的特殊功能與時鐘發(fā)生器及電源管理有關的特殊功能寄存器包括寄存器包括時鐘控制寄存器時鐘控制寄存器、時鐘低速控制寄時鐘低速控制寄存器存器和和鎖時計數寄存器等鎖時計數寄存器等。一、一、PLLCONPLLCON:控制:控制PLLPLL分頻,決定分頻,決定PLLPLL輸出頻率。輸出頻率。位位19:12(8位)位)11:10(2位)位)9:4(6位)位)3:2(2位位)1:0(2位)位)PLLCONMDIV保留保留PDIV 保留保留SDIV 含義含義主分頻控制
6、主分頻控制無意義無意義預分頻控制預分頻控制無意義無意義分頻后控制分頻后控制初始值初始值0 x380 x0800二、參數的范圍:二、參數的范圍:MDIV=0MDIV=0255; PDIV=0255; PDIV=063, SDIV=063, SDIV=03 3三、三、PLLPLL輸出頻率:輸出頻率: 其中:其中:m=MDIV+8, p=PDIV+2, s=SDIVm=MDIV+8, p=PDIV+2, s=SDIVPLL參數選擇原則:參數選擇原則:(1)fpllo 2s170 MHz且且S的值應該盡可能的大的值應該盡可能的大(2)1fin/p2(3)20MHzfpllo66MH已知:已知:fin=
7、20MHz,MDIV=100,PDIV=14,SDIV=2,fin=20MHz,MDIV=100,PDIV=14,SDIV=2,求求fpllofpllo解:解: m=MDIV+8m=MDIV+8108, p=PDIV+2108, p=PDIV+216, s=SDIV16, s=SDIV2,2,則則: :PLLPLL輸出頻率:輸出頻率:f fpllopllo=(m=(mfin) / (p fin) / (p 2 2s s) )10810820/(1620/(164)33.75MHz 4)33.75MHz 已知:已知:fin=11.0592MHz,fpllo=50MHzfin=11.0592MHz
8、,fpllo=50MHz試確定試確定PLLCONPLLCON的值。的值。解:解:由原則之一:由原則之一:1fin/p2,1fin/p2,知知11.0592/2p 11.0592,11.0592/2p 11.0592,可取值可取值6 61111(整數)(整數)P=6P=6時,時,PDIVPDIVp-2=4=p-2=4=000100000100由原則之二:由原則之二:fpllofpllo2 2s s170MHz,170MHz,即即2 2S S170/50 3.4 0fout=fin;SLOW_VAL=0低速分頻值4位編碼決定SLOW_BIT=1時低速分頻的值初始值鎖時計數寄存器鎖時計數寄存器CLK
9、TIMECLKTIME存放存放PLLPLL鎖時的計數值。共鎖時的計數值。共1212位。位。位位11:0位名位名稱稱LTIME CNT含義含義PLL鎖時計數值鎖時計數值初始初始值值頭文件頭文件.h中的宏定義中的宏定義#define FIN 8000000#define MCLK 64000000#if (MCLK=64000000)#define M_DIV (0 x38)#define P_DIV (0 x2)#define S_DIV (0 x1)#elif (MCLK=60000000)#define M_DIV (0 x34)#define P_DIV (0 x3)#define S_D
10、IV (0 x1)#endif在啟動代碼在啟動代碼.s文件中對文件中對PLLCON值的加載。值的加載。ldrr0,=PLLCON /* temporary setting of PLL */ldrr1,=(M_DIV12)+(P_DIV4)+S_DIV) /* Fin=8MHz,Fout=64MHz */strr1,1. 1. 復位電路的作用復位電路的作用 負責將處理器初始化為某個確定的狀態(tài)負責將處理器初始化為某個確定的狀態(tài) 。2. 2. S3C44B0X的復位的復位 復位引腳為復位引腳為nRESET ,至少保持,至少保持4個個MCLK時鐘周期時鐘周期的低電平的低電平 ,才能復位。,才能復位。
11、OM1=0且且OM0=1選選擇擇16位數據寬度位數據寬度 大小端格式選擇及數據寬度選擇連接電路大小端格式選擇及數據寬度選擇連接電路大端格式大端格式 小端格式小端格式 S3C44B0X的數據存儲模式有大端和小端的選擇的數據存儲模式有大端和小端的選擇 ,由引,由引腳腳ENDIAN 決定。決定。 OM1:OM0啟動啟動FLASH 的數據寬度的數據寬度 。 嵌入式系統(tǒng)使用的存儲器有多種類型,主要包嵌入式系統(tǒng)使用的存儲器有多種類型,主要包括括FlashFlash、EPROMEPROM、SDRAMSDRAM以及以及SRAMSRAM等,為滿足不同等,為滿足不同類型的存儲器對不同速度、不同類型、不同總路線寬類
12、型的存儲器對不同速度、不同類型、不同總路線寬度等的存儲器的管理和控制,存儲控制組件是必不可度等的存儲器的管理和控制,存儲控制組件是必不可少的。正是存儲控制器為片外存儲器訪問提供必要的少的。正是存儲控制器為片外存儲器訪問提供必要的控制信號,管理著片外存儲部件??刂菩盘?,管理著片外存儲部件。 表6.6 S3C44B0X不同存儲器組織的存儲器地址線與系統(tǒng)地址總線的連接存儲器地址線存儲器地址線8位存儲器組織下的位存儲器組織下的系統(tǒng)地址總線系統(tǒng)地址總線16位存儲器組織下位存儲器組織下的的系統(tǒng)地址總線系統(tǒng)地址總線32位存儲器組織下位存儲器組織下的的系統(tǒng)地址總線系統(tǒng)地址總線A0A0A1A2A1A1A2A3A
13、2A2A3A4A3A3A4A5::Am-1Am-1Am-2Am- 返回 總線寬度與等待控制寄存器總線寬度與等待控制寄存器BWSCONBWSCON1 1使能;使能;0 0禁止禁止(表示(表示SRAMSRAM映射在映射在BankiBanki時寫高時寫高/ /低字節(jié)使能)低字節(jié)使能)1 1等待;等待;0 0禁止等待禁止等待(表示(表示SRAMSRAM映射在映射在BankiBanki時等待)時等待)00=800=8位位,01=16,01=16位位,10=32,10=32位,位,1111不用不用00=800=8位位,01=16,01=16位位,10=32,10=32位,位,1111不用不用(DW0DW0
14、只讀,不可寫)只讀,不可寫)0 0小端模式;小端模式;1 1大端模式大端模式 返回 內存通道控制寄存器內存通道控制寄存器BANKCONiBANKCONi存儲器類型存儲器類型16:1514:1312:1110:87:65:4321:0ROM或或SRAMMT=00TacsTcosTaccTochTcahTacpPMCFP DRAM或或EDO DRAMMT=01或或10TrcdTcasTcpCANSDRAMMT=11TrcdCAN決定決定BANK6、7的類型的類型nGCSi選擇之前地址時鐘個數選擇之前地址時鐘個數0,1,2,4分頁模式配置分頁模式配置1,4,8,16個數據個數據訪問時鐘個數訪問時鐘個
15、數1,2,3,4,6,8,10,14保持保持nOE時鐘個數時鐘個數0,1,2,4,nGCSi選擇前的保持時鐘個數選擇前的保持時鐘個數0,1,2,4RAS到到CAS的延時時鐘個數的延時時鐘個數1,2,3,4頁訪問周期(時鐘個數)頁訪問周期(時鐘個數)2,3,4,6CAS脈沖寬度(時鐘個數)脈沖寬度(時鐘個數)1,2CAS預充電時間(時鐘個數)預充電時間(時鐘個數)1,2列地址位數列地址位數8,9,10,11位位選擇選擇nOE時鐘個數時鐘個數0,1,2,4,RAS到到CAS的延時時間的延時時間1,2,3, 返回 刷新控制寄存器刷新控制寄存器REFRESHREFRESH232221:2019:181
16、7:1615:121110:0REFENTREFMDTrpTrcTchr000Refresh CounterREFEN 刷新使能:刷新使能:0 = 禁止刷新,禁止刷新,1 = 刷新刷新 刷新模式:刷新模式:0 = CBR(CAS before RAS)/自動刷新自動刷新 1 = 自刷新(控制信號為電平)自刷新(控制信號為電平) 行預充電時間 DRAM :00 = 1.5 個時鐘 01 = 2.5 個時鐘 10 = 3.5 個時鐘 11 = 4.5 個時鐘SDRAM :00 = 2個時鐘 01 = 3個時鐘10 = 4個時鐘 11 = 不支持SDRAM RC最小時間:00 = 4個時鐘 01 =
17、 5個時鐘10 = 6個時鐘 11 = 7個時鐘CAS保持時間(DRAM): 00 = 1個時鐘 01 = 2個時鐘 10 = 3個時鐘 11 = 4個時鐘 刷新計數值:刷新周期刷新周期= (211-刷新計數值刷新計數值+1)/MCLK 返回 BankBank容量寄存器容量寄存器BANKSIZEBANKSIZE在在SDRAM訪問周期訪問周期SCLK使能位:使能位:0 =禁止,禁止,1 = 允許。允許。BK76MAP BANK6/7存儲器容量大小:存儲器容量大?。?00 =32M 100 = 2M 101 = 4M 110 = 8M432:0SCLKEN0BK76MAP 返回 SDRAMSDRA
18、M模式設置寄存器模式設置寄存器MRSRB6MRSRB6和和MRSRB7MRSRB711:1098:76:432:0保留WBLTMCLBTBLWBL(write burst length)寫突發(fā)脈沖長度:寫突發(fā)脈沖長度:0為推薦值為推薦值TM (Test mode)測試模式選擇:)測試模式選擇:00: 由模式寄存器設置由模式寄存器設置 01, 10, 11: 保留保留 CL (CAS latency)CAS發(fā)送時鐘發(fā)送時鐘000 = 1個時鐘個時鐘010 = 2個時鐘個時鐘011=3個時鐘個時鐘 其它其它=保留保留 BT (Burst type)突發(fā)類型:)突發(fā)類型:0: 順序(推薦)順序(推薦
19、) 1: 未用未用(Burst length)突發(fā)長度:)突發(fā)長度:000: 1,其余未用,其余未用 S3C44B0XS3C44B0X內部沒有存儲器,因此必須采用內部沒有存儲器,因此必須采用總線方式擴展外部存儲器,包括程序存儲器和總線方式擴展外部存儲器,包括程序存儲器和數據存儲器,此處主要介紹擴展外部存儲器的數據存儲器,此處主要介紹擴展外部存儲器的方法。方法。NOR FlashNand FlashF程序存儲器采用程序存儲器采用SST39VF160SST39VF160,它,它是是1M1M* *1616位的位的FlashFlash存儲器芯片。存儲器芯片。 FlashFlash的地址范圍為的地址范圍
20、為0 x000000000 x000000000 x001FFFFF0 x001FFFFF SDRAM SDRAM HY57V651620BHY57V651620B內內部有部有4 4個個1M1M1616的的存儲器陣列,所存儲器陣列,所以容量為以容量為211*2*16=222*16=4M*16=8MB 。 SDRAM SDRAM必須放必須放到到BANK6BANK6開始的開始的區(qū)域區(qū)域 。 SDRAMSDRAM地址范圍為地址范圍為0 x0C0000000 x0C0000000 x0C7FFFFF0 x0C7FFFFF。1 1. . ARMARM公司提供的標準公司提供的標準2020腳腳JTAGJTA
21、G仿真調試接口電路,仿真調試接口電路,芯片內部有芯片內部有JTAG CORE JTAG CORE 。2. S3C44B0X2. S3C44B0X通過外部通過外部JTAG/ICEJTAG/ICE端口支持端口支持ARMARM標準的嵌標準的嵌入式在線仿真,共有四個管腳:入式在線仿真,共有四個管腳:3. JTAG3. JTAG接口電路接口電路 TMSTMS:測試模式選擇測試模式選擇TDITDI:測試數據輸入測試數據輸入TDOTDO:測試數據輸出測試數據輸出TCKTCK:測試時鐘測試時鐘 1. 1.處理器通過處理器通過I/OI/O口和外圍硬件連接;口和外圍硬件連接; 2.ARM2.ARM芯片的芯片的I/
22、OI/O口通常都是和其他引腳復用的;口通常都是和其他引腳復用的; 3. 3.熟悉熟悉I/OI/O口的功能,通過特殊功能寄存器的配置對口的功能,通過特殊功能寄存器的配置對I/OI/O口進行編程;口進行編程; 4.S3C44B04.S3C44B0有有7171個通用可編程多功能輸入個通用可編程多功能輸入/ /輸出引腳,共輸出引腳,共7 7類端口,如下所示:類端口,如下所示:返回一、雙功能端口一、雙功能端口 A A,B B、D D端口具有兩種功能端口具有兩種功能二、三功能端口二、三功能端口 C C,E E、G G端口具有三種功能端口具有三種功能三、四功能端口三、四功能端口 F F端口具有四種功能端口具
23、有四種功能返回 每個端口都可以通過軟件設置來滿足各種每個端口都可以通過軟件設置來滿足各種各樣的系統(tǒng)設置和設計要求。每個端口的功能各樣的系統(tǒng)設置和設計要求。每個端口的功能通常都要在主程序開始前被定義。如果一個引通常都要在主程序開始前被定義。如果一個引腳的多功能沒有使用,那么這個引腳將被設置腳的多功能沒有使用,那么這個引腳將被設置為為I/OI/O端口。在引腳配置以前,需要對引腳的端口。在引腳配置以前,需要對引腳的初始化狀態(tài)進行設定來避免一些問題的出現(xiàn)。初始化狀態(tài)進行設定來避免一些問題的出現(xiàn)。 GPIOIISDIEINT5GPG5l引腳功能選擇使用示例引腳功能選擇使用示例 S3C44B0微控制器的引
24、腳一般是多個功能復用,但是同一引腳在同一 引腳在同一時刻只能使用其中一個功能,這可以通過設置PCONx寄存器來選擇。通過PCONG控制引腳功能1. 1.端口配置寄存器:端口配置寄存器:PCONAPCONAPCONGPCONG 決定決定AG各相應端口每個引腳的功能。各相應端口每個引腳的功能。2. 2.端口數據寄存器:端口數據寄存器:PDATAPDATAPDATGPDATG 寄存寄存I/O端口的數據。端口的數據。3. 3.端口上拉寄存器:端口上拉寄存器:PUPCPUPCPUPGPUPG 決定端口是否內部接通上拉電阻。決定端口是否內部接通上拉電阻。 0上拉;上拉;1禁止禁止4. 4.特殊上拉電阻控制
25、寄存器:特殊上拉電阻控制寄存器:SPUPRSPUPR 決定對數據總線引腳是否內部接上拉電阻。決定對數據總線引腳是否內部接上拉電阻。 0上拉;上拉;1禁止禁止返回例例1:設置:設置A端口均為輸出端口,并設置端口均為輸出端口,并設置PGA4,PGA6為為1,其他引腳均為,其他引腳均為0; 答案:答案:PCONA=0 x0; PDATA=0 x50;例例2:設置:設置C端口均為數據總線,并讀取數據總端口均為數據總線,并讀取數據總線的值,當值為線的值,當值為0 x80時,讓變量時,讓變量i=0,否則,否則i=1;答案:答案:PCONC=0 xAAAAAAAA; if(PDATC=0 x80) i=0;
26、 else i=1;1. 設置設置D端口的端口的PD0PD3分別為分別為VD0VD3功能,功能,其他其他D端口為輸出引腳,則端口為輸出引腳,則PCOND= ?2. 設置設置G端口的端口的PG6和和PG7分為分為EINT6和和EINT7,PG1為輸出端口,輸出值為為輸出端口,輸出值為1,其他為輸入端,其他為輸入端口,并且輸出端口使能上拉電阻,其他禁止,口,并且輸出端口使能上拉電阻,其他禁止,則則PCONG= ?,?,PUPG=?,?,PDATG=?端口初始化及簡單鍵盤端口初始化及簡單鍵盤I/O方式處理匯編程序:方式處理匯編程序:PCONG equ 0 x01D20040 ;G口配置寄存器地址口配
27、置寄存器地址PDATG equ 0 x01D20044 ;G口數據寄存器地址口數據寄存器地址PUPG equ 0 x01D20048 ;G口上拉電阻寄存器地址口上拉電阻寄存器地址MOV R0,#0LDR R1,=PCONGSTRH R0,R1 ;GPG口為輸入端口口為輸入端口MOV R1,PUPGSTRB R0,R1 ;GPG口內部上拉口內部上拉LDR R0,=PDATGLDR R1,R0 ;取鍵值取鍵值AND R1,#0 x0FC ;提取提取GP2GP7CMP R1,#0 x0FCBEQ LNOKEYCMP R1,#0 x0F8BEQ LKEY1CMP R1,#0 x0F4BEQ LKEY2
28、:LNOKEYLKEY1LKEY2:此處沒有消抖處理,如何消抖?此處沒有消抖處理,如何消抖?void PortInit(void)/端口初始化函數,本函數只針對圖端口初始化函數,本函數只針對圖6.17電路進行了鍵盤初始化電路進行了鍵盤初始化 rPCONG = rPCONG&0 xf; /設置設置PG2PG7為輸入功能為輸入功能 rPUDG = rPUDG | 0 xfC; /因為電路中因為電路中PG2PG7端口已接外部上拉,所以內部上拉端口已接外部上拉,所以內部上拉可不使用可不使用uint8 GetKey(void) /讀按鍵程序讀按鍵程序 KeyValue=0; if(rPDATG & (1
29、2) =0) /判斷判斷KEY1鍵是否按下鍵是否按下 longdelay(3); /延時函數,用于鍵盤消抖延時函數,用于鍵盤消抖 if(rPDATG & (12)=0) /再次判斷再次判斷KEY1鍵是否按下鍵是否按下 KeyValue = 1; else if(rPDATG & (13) =0) /判斷判斷KEY2鍵是否按下鍵是否按下 longdelay(3); if(rPDATG & (13) =0) KeyValue = 2; 。 。 return KeyValue; 單一單一LED顯示器應用:顯示顯示器應用:顯示“”。MOV R1,#0 x0C000000;指向指向nGCS6MOV R2
30、,#0 x4F ;”3”的代碼的代碼STRB R2,R1 ;送顯示代碼送顯示代碼中斷處理過程中斷處理過程中斷中斷的定義是什么?的定義是什么?返回 在響應一個特定中斷的時候,內核會執(zhí)行在響應一個特定中斷的時候,內核會執(zhí)行一個函數,該函數叫做一個函數,該函數叫做中斷處理程序中斷處理程序(interrupt handlerinterrupt handler)或中斷服務程序()或中斷服務程序(interrupt interrupt service routine(ISR)service routine(ISR)) 。產生中斷的每個設備都。產生中斷的每個設備都有相應的中斷處理程序。有相應的中斷處理程序。
31、 例如,由一個函數專門處理來自系統(tǒng)時鐘例如,由一個函數專門處理來自系統(tǒng)時鐘的中斷,而另外一個函數專門處理由鍵盤產生的中斷,而另外一個函數專門處理由鍵盤產生的中斷。的中斷。 1. 1.中斷模式中斷模式 FIQ模式和模式和IRQ模式模式 矢量中斷模式矢量中斷模式2. CPSR的的F位和位和I位位 1:表示不接受中斷請求;:表示不接受中斷請求; 0:表示接受中斷請求。:表示接受中斷請求。 一、中斷源一、中斷源共有共有3030個中斷源,其中:個中斷源,其中:(1 1)2626個中斷源是單獨的直接接到中斷控制器上個中斷源是單獨的直接接到中斷控制器上(2 2)4 4個外部中斷源(個外部中斷源(EINT4/
32、 EINT5/ EINT6/ EINT4/ EINT5/ EINT6/ EINT7EINT7)是通過邏輯或之后加到中斷控制器上的)是通過邏輯或之后加到中斷控制器上的另外兩個另外兩個UART0/1UART0/1錯誤中斷也是一個中斷控制器。錯誤中斷也是一個中斷控制器。二、中斷向量二、中斷向量各中斷源及向量地址各中斷源及向量地址所示。所示。返回向量中斷控制器概述向量中斷控制器概述 ARM7TDMIARM7TDMI內核具有兩個中斷輸入,分別為內核具有兩個中斷輸入,分別為IRQIRQ中斷和中斷和FIQFIQ中斷。但是芯片內外部有許多中斷源,中斷。但是芯片內外部有許多中斷源,最多可以有最多可以有3030個
33、中斷輸入請求。向量中斷控制器的個中斷輸入請求。向量中斷控制器的作用就是作用就是允許哪些中斷源可以產生中斷允許哪些中斷源可以產生中斷、可以產生可以產生哪類中斷哪類中斷、產生中斷后執(zhí)行哪段服務程序產生中斷后執(zhí)行哪段服務程序。ARM7TDMIIRQFIQVIC中斷請求輸入1中斷請求輸入30. . 1. 1.中斷控制寄存器中斷控制寄存器2. 2.中斷掛起寄存器中斷掛起寄存器 3. 3.中斷模式寄存器中斷模式寄存器 4. 4. 中斷屏蔽寄存器中斷屏蔽寄存器 5. 5.中斷服務掛起寄存器中斷服務掛起寄存器6. 6.外部中斷控制寄存器外部中斷控制寄存器7. 7.外部中斷請求寄存器外部中斷請求寄存器返回中斷控
34、制寄存器中斷控制寄存器INTCONINTCON(4 4位):位):決定決定IRQIRQ和和FIQFIQ中斷是否允許。中斷是否允許。格式:格式:位位3210SPUPR保留保留VIF說明說明00=矢量矢量中斷模中斷模式式1=非矢非矢量中斷量中斷模式模式0=IRQ中中斷斷允許允許1=IRQ中中斷斷禁止禁止0=FIQ中中斷斷允許允許1=FIQ中中斷斷禁止禁止初始值初始值0111地址:地址:0 x01E000000 x01E00000初值:初值:0 x07 (IRQ0 x07 (IRQ和和FIQFIQ全部禁止中斷全部禁止中斷) )示例:設定S3C44B0處理器的IRQ中斷允許,采用矢量中斷模式,不允許F
35、IQ中斷,則INTCON= ? 返回INTPNDINTPND(2626位,表位,表6-626-62), ,指示中斷請求狀態(tài)指示中斷請求狀態(tài)位名稱位名稱位位位名稱位名稱位位含義含義初始值初始值EINT025INT_TIMER1120=無請求無請求;1=有請求有請求全為全為0EINT124INT_TIMER211EINT223INT_TIMER310EINT322INT_TIMER49EINT4/5/6/721INT_TIMER58INT_TICK20INT_URXD07INT_ZDMA019INT_URXD16INT_ZDMA118INT_IIC5INT_BDMA017INT_SIO4INT_B
36、DMA116INT_UTXD13INT_WDT15INT_UTXD02INT_UERR0/114INT_RTC1INT_TIMER013INT_ADC0示例:查詢外部中斷3是否有中斷請求,應該使用什么判斷語句?答案:if( INTPND &0 x400000)!=0)返回 INTMODINTMOD(2626位):位):設置設置2626個中斷源中斷處于個中斷源中斷處于IRQIRQ還是還是FIQFIQ模式。模式。位名稱位名稱位位位名稱位名稱位位含義含義EINT025INT_TIMER1120=IRQ模式模式;1=FIQ模式模式EINT124INT_TIMER211EINT223INT_TIMER3
37、10EINT322INT_TIMER49EINT4/5/6/721INT_TIMER58INT_TICK20INT_URXD07INT_ZDMA019INT_URXD16INT_ZDMA118INT_IIC5INT_BDMA017INT_SIO4INT_BDMA116INT_UTXD13INT_WDT15INT_UTXD02INT_UERR0/114INT_RTC1INT_TIMER013INT_ADC0示例:設置S3C44B0處理器中的定時器0為快速中斷模式,其余全為普通中斷,則INTMOD= ?返回中斷屏蔽寄存器中斷屏蔽寄存器INTMSKINTMSK(2727位):位):決定決定2626個
38、中斷源中斷是否允許中斷響應。個中斷源中斷是否允許中斷響應。各位:各位:(1 1)25250 0位:位: 1 1禁止中斷禁止中斷 0 0允許中斷允許中斷(2 2)2626位(全局屏蔽):位(全局屏蔽):1 1禁止禁止 0 0允許允許必須滿足:必須滿足:全局允許且各自允許方可進入中斷響應!全局允許且各自允許方可進入中斷響應!位名稱位名稱位位位名稱位名稱位位含義含義保留保留27INT_TIMER013 0=服務允許服務允許; 1=屏蔽屏蔽Global26INT_TIMER112EINT025INT_TIMER211EINT124INT_TIMER310EINT223INT_TIMER49EINT32
39、2INT_TIMER58EINT4/5/6/721INT_URXD07INT_TICK20INT_URXD16INT_ZDMA019INT_IIC5INT_ZDMA118INT_SIO4INT_BDMA017INT_UTXD13INT_BDMA116INT_UTXD02INT_WDT15INT_RTC1INT_UERR0/114INT_ADC0示例:設置使定時器2中斷服務允許,其它中斷服務屏蔽,則INTMSK= ? 111 (126)|(111)正確答案:(126)|(111)返回中斷服務掛起寄存器(中斷服務掛起寄存器(2626位):位):I_ISPRI_ISPR只讀寄存器,只讀寄存器,反映反
40、映2626個中斷源中斷是否被響應。個中斷源中斷是否被響應。各位:各位:1 1中斷被響應中斷被響應 0 0中斷未被響應中斷未被響應中斷清除寄存器(中斷清除寄存器(2626位):位):I_ISPCI_ISPC和和F_ISPCF_ISPC清除清除2626個中斷源中某一中斷服務(結束)。個中斷源中某一中斷服務(結束)。各位:各位:1 1清除中斷請求清除中斷請求 0 0不變不變返回外部中斷控制寄存器外部中斷控制寄存器EXTINTEXTINT(1212位):位):決定決定8 8個外部中斷源(個外部中斷源(EINT0EINT07 7)的觸發(fā)方式)的觸發(fā)方式每個中斷源每個中斷源3 3位:位: 位位位名稱位名稱
41、描述描述30:28EINT7000低電平觸發(fā)低電平觸發(fā)001高電平觸發(fā)高電平觸發(fā)01X下降沿觸發(fā)下降沿觸發(fā) 10X上升沿觸發(fā)上升沿觸發(fā)11X雙邊沿觸發(fā)雙邊沿觸發(fā) 26:24EINT622:20EINT518:16EINT414:12EINT310:8EINT26:4EINT12:0EINT返回外部中斷請求寄存器外部中斷請求寄存器EXTINTPNDEXTINTPND(4 4位):位):記錄記錄4 4個外部中斷源(個外部中斷源(EINT4EINT47 7)的中斷請求狀態(tài):)的中斷請求狀態(tài):0 0無中斷申請無中斷申請 1 1有中斷申請有中斷申請位位3210EXTINTPNDEXINTPND3EXIN
42、TPND2EXINTPND1EXINTPND0含義含義1=EINT7有中斷有中斷同時同時INTPND21=11=EINT6有中斷有中斷同時同時INTPND21=11=EINT5有中斷有中斷同時同時INTPND21=11=EINT4有中斷有中斷同時同時INTPND21=1 示例:如何判斷外部中斷示例:如何判斷外部中斷7 7有中斷產生?有中斷產生? if(EXTINTPND&0 x8)!=Eint4567IsrpISR_EINT4567Eint4567IsrLDR PC, PC, #-0 xff00 x0000 00000 xFFFF FFFF用戶程序中斷服務程序異常向量表 實例:設置外部中斷4產
43、生向量IRQ中斷后,執(zhí)行中斷服務程序“Eint4567Isr( )”。.rPCONG = 0 xffff;rINTMOD = 0 x0; rINTCON = 0 x1; rINTMSK = (126 |121);pISR_EINT4567 = (int)Eint4567Isr; rEXTINT = rEXTINT | 0 x22220020;rI_ISPC |= BIT_EINT4567; rEXTINTPND = 0 xf; .C代碼:1. 1.設置引腳連接模塊,設置端設置引腳連接模塊,設置端口為外部中斷功能;口為外部中斷功能;步驟:步驟:2.2.設置所有中斷為設置所有中斷為IRQIRQ中斷
44、并中斷并允許允許IRQIRQ中斷;中斷;3.3.打開全局中斷使能和外部中打開全局中斷使能和外部中 斷斷45674567使能;使能;4.4.將外部中斷將外部中斷4 4的中斷服務程的中斷服務程序寫入對應向量地址寄存器序寫入對應向量地址寄存器中;中;6.6.清除外部中斷清除外部中斷4 4的標志的標志(1)(2)(3)(4)(6)(6)(2)5.5.設置中斷觸發(fā)方式設置中斷觸發(fā)方式(5)0 x0000 00000 xFFFF FFFF用戶程序中斷服務程序異常向量表1.正在執(zhí)行用戶程序;2.外部中斷4發(fā)生中斷;3.VIC硬件將中斷服務程序地址裝入pISR_EINT4567寄存器;4.程序跳轉至異常向量表
45、中IRQ入口0 x00180 x0018處;5.執(zhí)行指令跳轉至pISR_EINT4567寄存器中的中斷服務地址;6.中斷服務程序執(zhí)行完畢,返回被中斷的用戶程序繼續(xù)執(zhí)行被中斷的代碼。Eint4567Isr?pISR_EINT4567Eint4567IsrLDR PC, PC, #- 有一嵌入式系統(tǒng)采用有一嵌入式系統(tǒng)采用S3C44B0XS3C44B0X處理器,系統(tǒng)的外部中斷連處理器,系統(tǒng)的外部中斷連接如下圖所示,請針對此圖,要求接如下圖所示,請針對此圖,要求KEY1KEY1鍵按下,二極管鍵按下,二極管LED1LED1點點亮亮( (函數函數LedOn()LedOn()已知已知) );KEY2KEY2
46、鍵按下,二極管鍵按下,二極管LED1LED1熄滅熄滅( (函數函數LedOff()LedOff()已知已知) );KEY3KEY3鍵按下鍵按下LED1LED1閃爍閃爍(LedShine()(LedShine()已知已知) ),寫出外,寫出外部中斷的相關程序片段。部中斷的相關程序片段。 外部中斷初始化函數外部中斷初始化函數#define BIT_EINT1 (0 x124)#define BIT_EINT4567 (0 x121)#define BIT_GLOBAL (0 x126)void init_Eint(void) rINTCON = 0 x1; /使能使能IRQ中斷中斷 rINTMOD
47、 = 0 x0; /選擇選擇IRQ中斷模式中斷模式 rINTMSK = (BIT_GLOBAL |BIT_EINT4567| BIT_EINT1 ; pISR_EINT4567 = (int)Eint4567Isr; pISR_EINT1 = (int)Eint1Isr; rPCONG = rPCONG & (0 x32) & (0 xf8); rPUPG = 0 x0; rEXTINT = rEXTINT|(0 x44)|(0 x216)|(0 x220); rI_ISPC = rI_ISPC |BIT_EINT4567| BIT_EINT1; rEXTINTPND &= 0 x3; 中斷服
48、務程序中斷服務程序void Eint1Isr(void) /外部中斷外部中斷1服務程序服務程序 rI_ISPC &= BIT_EINT1; /清除掛起位清除掛起位 LedShine(); /LED1閃爍閃爍void Eint1Isr(void) /外部中斷外部中斷4/5/6/7服務程序服務程序 unsigned char which_int; which_int rEXTINTPND; rEXTINTPND0 xf; /清除清除 EXTINTPND寄存器寄存器 rI_ISPC &BIT_EINT4567;/清除掛起位清除掛起位 if(which_int & 0 x1) != 0) /外部中斷外
49、部中斷4產生中斷產生中斷 LedOn(); if(which_int & 0 x2) != 0) /外部中斷外部中斷5產生中斷產生中斷 LedOff();1. 1.定義定義:UART (Universal Asynchronous Receiver/Transmitter )通用異步收發(fā)器通用異步收發(fā)器,用于控制計算機,用于控制計算機與串行設備的接口;與串行設備的接口;2. S3C44B0XS3C44B0X的的UARTUART單元提供單元提供兩個兩個獨立的異步串行獨立的異步串行I/OI/O口,每口,每個通信口均可工作于中斷模式;個通信口均可工作于中斷模式;3.最高最高傳輸速率傳輸速率115.2
50、kbps115.2kbps;4.特性:特性:可編程波特率可編程波特率,紅外發(fā)送紅外發(fā)送/ /接收接收、一個開始位、一個一個開始位、一個或兩個停止位、或兩個停止位、5/6/7/85/6/7/8位的數據寬度和奇偶校驗;位的數據寬度和奇偶校驗;5.組成:組成:波特率發(fā)生器波特率發(fā)生器、接收器接收器、發(fā)送器發(fā)送器和和控制單元控制單元 返回 外圍設備總線外圍設備總線 發(fā)送部分發(fā)送部分 發(fā)送發(fā)送 FIFO(16 字節(jié)字節(jié)) 發(fā)送移位寄存器發(fā)送移位寄存器 控制單元控制單元 波特率發(fā)生器波特率發(fā)生器 時鐘源時鐘源 接收部分接收部分 接收接收 FIFO(16 字節(jié)字節(jié)) 接收接收移位寄存器移位寄存器 1.數據傳
51、輸數據傳輸2.數據接收數據接收3.中斷請求的產生中斷請求的產生4.波特率的產生波特率的產生5.紅外模式紅外模式操操作作簡單講:簡單講: 同步是指:同步是指:發(fā)送方發(fā)出數據后,等接收方發(fā)回響應以發(fā)送方發(fā)出數據后,等接收方發(fā)回響應以 后才發(fā)下一個數據包的通訊方式。后才發(fā)下一個數據包的通訊方式。 異步是指:異步是指:發(fā)送方發(fā)出數據后,不等接收方發(fā)回響發(fā)送方發(fā)出數據后,不等接收方發(fā)回響 應,接著發(fā)送下個數據包的通訊方式。應,接著發(fā)送下個數據包的通訊方式。 異步傳輸是以異步傳輸是以字符字符為傳輸單位,每個字符都要附加為傳輸單位,每個字符都要附加 1 1 位起始位和位起始位和 1 1 位停止位,以標記一個
52、字符的開始和結位停止位,以標記一個字符的開始和結束,并以此實現(xiàn)數據傳輸同步。束,并以此實現(xiàn)數據傳輸同步。 所謂異步傳輸是指字符與字符所謂異步傳輸是指字符與字符( (一個字符結束到下一個字符結束到下一個字符開始一個字符開始) )之間的時間間隔是可變的,并不需要嚴之間的時間間隔是可變的,并不需要嚴格地限制它們的時間關系。一個字符占用格地限制它們的時間關系。一個字符占用 5858位,具位,具體取決于數據所采用的字符集。體取決于數據所采用的字符集。 此外,還要附加此外,還要附加 1 1 位奇偶校驗位;位奇偶校驗位; 發(fā)送端與接收端除了采用相同的數據格式,還應當發(fā)送端與接收端除了采用相同的數據格式,還應
53、當采用相同的傳輸速率。采用相同的傳輸速率。 典型的速率有:典型的速率有:9600 b/s9600 b/s、56kb/s56kb/s、115.2kb/s115.2kb/s等。等。 同步傳輸是以同步傳輸是以數據塊數據塊為傳輸單位。每個數據塊的頭為傳輸單位。每個數據塊的頭部和尾部都要附加一個特殊的字符或比特序列,標記部和尾部都要附加一個特殊的字符或比特序列,標記一個數據塊的開始和結束,一般還要附加一個校驗序一個數據塊的開始和結束,一般還要附加一個校驗序列列( (如如1616位或位或3232位位CRCCRC校驗碼校驗碼) ),以便對數據塊進行差錯,以便對數據塊進行差錯控制??刂啤?所謂同步傳輸是指數據
54、塊與數據塊之間的時間間隔所謂同步傳輸是指數據塊與數據塊之間的時間間隔是固定的,必須嚴格地規(guī)定它們的時間關系。是固定的,必須嚴格地規(guī)定它們的時間關系。 使用使用UART0UART0通信需要兩個引腳,分別為:通信需要兩個引腳,分別為:引腳名稱引腳名稱類型類型描述描述RxD0輸入輸入串行輸入,接收數據串行輸入,接收數據TxD0輸出輸出串行輸出,發(fā)送數據串行輸出,發(fā)送數據S3C44B0S3C44B0的的I/OI/O電壓為電壓為3.3V3.3V(可承受(可承受5V5V),),連接時須注意電平的連接時須注意電平的匹配。匹配。與與PCPC機相連時,由于機相連時,由于PCPC機串口是機串口是RS232RS23
55、2電平,電平,所以連接時需要使用所以連接時需要使用RS232RS232轉換器。轉換器。S3C44B0PC機串口232電平轉換TxD0RxD0TxD0RxD0S3C44B0其它通信設備TxD0RxD0TxD0RxDUARTUART的特殊功能寄存器的特殊功能寄存器UART線控制寄存器線控制寄存器UART控制寄存器控制寄存器發(fā)送發(fā)送/接收狀態(tài)寄存器接收狀態(tài)寄存器UART發(fā)送發(fā)送/接收接收(緩沖區(qū)緩沖區(qū))寄存器寄存器UART波特率除數寄存器波特率除數寄存器FIFO控制寄存器控制寄存器Modem控制寄存器控制寄存器UART錯誤狀態(tài)寄存器錯誤狀態(tài)寄存器FIFO狀態(tài)寄存器狀態(tài)寄存器Modem狀態(tài)寄存器狀態(tài)寄
56、存器ULCON0ULCON0和和ULCON1ULCON1:P11D0D1D2D3D4D5D6D70位位65 : 321 :0功能功能紅外模式紅外模式奇偶校驗奇偶校驗停止位停止位數據位數數據位數停止位(12位)數據(58位)奇偶校驗位(可選)起始位ULCON寄存器:寄存器: ULCON控制發(fā)送和接收數據幀的格式??刂瓢l(fā)送和接收數據幀的格式。TXD位位65 : 321 :0功能功能紅外模式紅外模式奇偶校驗奇偶校驗停止位停止位數據位數數據位數數據位數:這些位控制數據長度。00:5位字符長度;01:6位字符長度;10:7位字符長度;11:8位字符長度;ULCON0ULCON0和和ULCON1ULCON
57、1:位位65 : 321 :0功能功能紅外模式紅外模式奇偶校驗奇偶校驗停止位停止位數據位數數據位數ULCON0ULCON0和和ULCON1ULCON1:停止位:控制每幀數據包含的停止位個數。0:1位停止位;1:2位停止位;位位65 : 321 :0功能功能紅外模式紅外模式奇偶校驗奇偶校驗停止位停止位數據位數數據位數ULCON0ULCON0和和ULCON1ULCON1:校驗位:控制校驗的使能和選擇。 0XX=無校驗無校驗 100=奇校驗奇校驗 101=偶校驗偶校驗 110=校驗位強置校驗位強置1 111=校驗位強清校驗位強清0 位位65 : 321 :0功能功能紅外模式紅外模式奇偶校驗奇偶校驗停
58、止位停止位數據位數數據位數紅外模式:是否選擇紅外模式。0:正常模式 1:紅外模式ULCON0ULCON0和和ULCON1ULCON1: 設置設置UART1為數據傳輸模式為為數據傳輸模式為7位數據位,位數據位,1位位停止位,偶校驗,正常模式,請問對哪個寄存器設停止位,偶校驗,正常模式,請問對哪個寄存器設置?值為多少?置?值為多少?位位65 : 321 :0功能功能紅外模式紅外模式奇偶校驗奇偶校驗停止位停止位數據位數數據位數1001010ULCON1=0 x2AULCON1=0 x2AUCON0UCON0和和UCON1:UCON1:位位9876543:21:0UCON0UCON1發(fā)送中發(fā)送中斷請求
59、斷請求類型類型接收中接收中斷請求斷請求類型類型接收超接收超時中斷時中斷使能使能接收錯接收錯誤中斷誤中斷使能使能回送模式回送模式發(fā)送發(fā)送中止信號中止信號發(fā)送模式發(fā)送模式接收模式接收模式含義含義0=脈沖脈沖1=電平電平0=脈沖脈沖1=電平電平0=禁止禁止1=允許允許0=禁止禁止1=允許允許0=正常模正常模式式1=回送?;厮湍J绞?=正常工作正常工作1=發(fā)中止信發(fā)中止信號號00=禁止禁止01=中斷請求中斷請求10=BDMA0請求請求11=BDMA1請求請求00= 禁止禁止01=中斷請求中斷請求10=BDMA0請請求求11=BDMA1請請求求示例:示例:寄存器寄存器UCON0=0 x245UCON0=0 x245,表示什么意,表示什么意思?思?UFCON0UFCON0和和UFCON1: UFCON1: 位位7:65:43210UFCON0UFCON1發(fā)送發(fā)送FIFO觸發(fā)電觸發(fā)電平平接收接收FIFO觸發(fā)電觸發(fā)電平平保保留留發(fā)送發(fā)送FIFO復位復位接收接收FIFO復位復位FIFO使能使能含義含義00=空空01=4字字節(jié)節(jié)10=8字字節(jié)節(jié)11=12字字節(jié)節(jié)00=4字字節(jié)節(jié)01=8字字節(jié)節(jié)10=12字字節(jié)節(jié)11=16字字節(jié)節(jié)0=正常正常1=發(fā)送發(fā)送FIFO復位復位0=正常正常1=發(fā)送發(fā)送FIFO復位復位0=FIFO禁禁止止1=FIFO使使能能UMCON0UMCON0和和UMCON1:UMC
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版企業(yè)信息工程系統(tǒng)性能評估委托合同3篇
- 2025版學校學生食堂餐具清洗消毒服務合同2篇
- 2025版工業(yè)產品設計勞務分包合同示范文本3篇
- 3簡歷篩選技巧
- 2025版新型木工機械設備租賃服務合同范本4篇
- 全新神州2025年度車輛租賃合同6篇
- 互聯(lián)網平臺未來發(fā)展趨勢與挑戰(zhàn)考核試卷
- 2025版建筑施工安全環(huán)保綜合服務合同2篇
- 2025版嬰幼兒輔食委托加工生產及質量控制合同3篇
- 2025版企業(yè)商標注冊委托代理服務合同2篇
- 數學-山東省2025年1月濟南市高三期末學習質量檢測濟南期末試題和答案
- 中儲糧黑龍江分公司社招2025年學習資料
- 湖南省長沙市2024-2025學年高一數學上學期期末考試試卷
- 船舶行業(yè)維修保養(yǎng)合同
- 2024年林地使用權轉讓協(xié)議書
- 春節(jié)期間化工企業(yè)安全生產注意安全生產
- 數字的秘密生活:最有趣的50個數學故事
- 移動商務內容運營(吳洪貴)任務一 移動商務內容運營關鍵要素分解
- 基于ADAMS的汽車懸架系統(tǒng)建模與優(yōu)化
- 當前中國個人極端暴力犯罪個案研究
- 中國象棋比賽規(guī)則
評論
0/150
提交評論