版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第4章 S3C2410X系統(tǒng)結(jié)構(gòu),第4章 S3C2410X系統(tǒng)結(jié)構(gòu),4.1 S3C2410X概述4.2 存儲(chǔ)器4.3 I/O端口4.4 UART接口4.5 中斷控制器4.6 ADC和觸摸屏接口4.7 PWM和定時(shí)器,2,4.1 S3C2410X概述,4.1.1 主要特性4.1.2 系統(tǒng)結(jié)構(gòu)4.1.3 引腳信號(hào),3,4.1.1 主要特性,S3C2410X是韓國三星公司推出的16/32位RISC微控制
2、器,其CPU采用的是ARM920T內(nèi)核,加上豐富的片內(nèi)外設(shè),為手持設(shè)備和其它應(yīng)用,提供了低價(jià)格、低功耗、高性能微控制器的解決方案。,4,4.1.1 主要特性,具有16KB指令Cache、 16KB數(shù)據(jù)Cache和存儲(chǔ)器管理單元MMU。外部存儲(chǔ)器控制器,可擴(kuò)展8組,每組128MB,總?cè)萘窟_(dá)1GB;支持從Nand flash存儲(chǔ)器啟動(dòng)。55個(gè)中斷源,可以設(shè)定1個(gè)為快速中斷,有24個(gè)外部中斷,并且觸發(fā)方式可以設(shè)定。4通道的DMA,并且
3、有外部請求引腳。3個(gè)通道的UART,帶有16字節(jié)的TX/RX FIFO,支持IrDA1.0功能。具有2通道的SPI、1個(gè)通道的IIC串行總線接口和1個(gè)通道的IIS音頻總線接口。,5,4.1.1 主要特性,有2個(gè)USB主機(jī)總線的端口,1個(gè)USB設(shè)備總線的端口。有4個(gè)具有PWM功能的16位定時(shí)器和1個(gè)16位內(nèi)部定時(shí)器。8通道的10位A/D轉(zhuǎn)換器,最高速率可達(dá)500kB/s;提供有觸摸屏接口。具有117個(gè)通用I/O口和24通道的外
4、部中斷源。兼容MMC的SD卡接口。具有電源管理功能,可以使系統(tǒng)以普通方式、慢速方式、空閑方式和掉電方式工作??撮T狗定時(shí)器。,6,4.1.1 主要特性,具有日歷功能的RTC。有LCD控制器,支持4K色的STN和256K色的TFT,配置有DMA通道。具有PLL功能的時(shí)鐘發(fā)生器,時(shí)鐘頻率高達(dá)203MHz。雙電源系統(tǒng):1.8/2.0V內(nèi)核供電,3.3V存儲(chǔ)器和I/O供電。,7,4.1.2 系統(tǒng)結(jié)構(gòu),主要由兩大部分構(gòu)成:ARM9
5、20T內(nèi)核片內(nèi)外設(shè)。,,8,ARM920T內(nèi)核,ARM920T組成:ARM9內(nèi)核、ARM9TDMI、32KB的Cache、MMU。,9,片內(nèi)外設(shè),分為高速外設(shè)和低速外設(shè),分別用AHB總線和APB總線。,10,4.1.3 引腳信號(hào),S3C微控制器是272-FBGA封裝。addr0---addr26、Data0---data31、GPA0---GPA22GPB10、GPC15、GPD15、GPE15、GPF7、GPG15、
6、GPH10、EINT23、nGCS0—nGCS7、AIN7、IIC、SPI、OM0---OM3共有信號(hào)362位,實(shí)際大部分信號(hào)都是復(fù)用的,11,4.1.3 引腳信號(hào),12,4.1.3 引腳信號(hào),13,4.2 存儲(chǔ)器,4.2.1 存儲(chǔ)器配置4.2.2 Nand Flash及其控制器,14,4.2.1 存儲(chǔ)器配置,S3C2410X的存儲(chǔ)器管理器提供訪問外部存儲(chǔ)器的所有控制信號(hào):27位地址信號(hào)、32位數(shù)據(jù)信號(hào)、8個(gè)片選信
7、號(hào)、以及讀/寫控制信號(hào)等。S3C2410X的存儲(chǔ)空間分成8組,最大容量是1GBbank0---bank5為固定128MBbank6和bank7的容量可編程改變,可以是2、4、8、16、32、64、128MB,并且bank7的開始地址與bank6的結(jié)束地址相連接,但是二者的容量必須相等。bank0可以作為引導(dǎo)ROM,其數(shù)據(jù)線寬只能是16位和32位,復(fù)位時(shí)由OM0、OM1引腳確定;其它存儲(chǔ)器的數(shù)據(jù)線寬可以是8位、16位和32位。S
8、3C2410X的存儲(chǔ)器格式:可以編程設(shè)置為大端格式,也可以設(shè)置為小端格式。,15,16,4.2.1 存儲(chǔ)器配置,內(nèi)存控制器為訪問外部存儲(chǔ)空間提供存儲(chǔ)器控制信號(hào), S3C2410X存儲(chǔ)器控制器共有13個(gè)寄存器。,17,控制寄存器表,18,BWSCON總線寬度和等待控制寄存器,19,STn:控制存儲(chǔ)器組n的UB/LB引腳輸出信號(hào)。1:使UB/LB與nBE[3:0]相連;0:使UB/LB與nWBE[3:0]相連WSn:使用/禁用存儲(chǔ)器
9、組n的WAIT狀態(tài)1:使能WAIT;0:禁止WAITDWn:控制存儲(chǔ)器組n的數(shù)據(jù)線寬00:8位;01:16位;10:32位;11:保留,BANKCON0~5存儲(chǔ)器組控制寄存器,20,Tacs:設(shè)置nGCSn有效前地址的建立時(shí)間00:0個(gè);01:1個(gè);10:2個(gè);11:4個(gè)時(shí)鐘周期Tcos:設(shè)置nOE有效前片選信號(hào)的建立時(shí)間00:0個(gè);01:1個(gè);10:2個(gè);11:4個(gè)時(shí)鐘周期Tacc:訪問周期000:1個(gè);001:2個(gè)
10、;010:3個(gè);011:4個(gè)時(shí)鐘100:6個(gè):101:8個(gè);110:10個(gè);111:14個(gè),BANKCON0~5存儲(chǔ)器組控制寄存器,Tcoh:nOE無效后片選信號(hào)的保持時(shí)間00:0個(gè);01:1個(gè);10:2個(gè);11:4個(gè)時(shí)鐘Tcah: nGCSn無效后地址信號(hào)的保持時(shí)間00:0個(gè);01:1個(gè);10:2個(gè);11:4個(gè)時(shí)鐘Tacp:頁模式的訪問周期00:2個(gè);01:3個(gè);10:4個(gè);11:6個(gè)時(shí)鐘PMC:頁模式的配置,每次讀寫的
11、數(shù)據(jù)數(shù)00:1個(gè);01:4個(gè);10:8個(gè);11:16個(gè)注:00為通常模式。,21,BANKCON6/7存儲(chǔ)器組控制寄存器,MT:設(shè)置存儲(chǔ)器類型01、10:保留00:ROM或者SRAM,[3:0]為Tacp和PMC11:SDRAM, [3:0]為Trcd和SCANTrcd:由行地址信號(hào)切換到列地址信號(hào)的延時(shí)00:2個(gè)時(shí)鐘;01:3個(gè)時(shí)鐘;10:4個(gè)時(shí)鐘 SCAN:列地址位數(shù)00:8位;01:9位;10:10位,R
12、EFRESH刷新控制寄存器,REFEN:刷新控制。1:使能刷新;0:禁止刷新TREFMD:刷新方式。0:自動(dòng)刷新1:自刷新(SDRAM自己刷新)Trp:設(shè)置SDRAM行刷新時(shí)間(時(shí)鐘數(shù))00:2個(gè)時(shí)鐘;01:3個(gè);10:3個(gè);11:4個(gè)時(shí)鐘,,,REFRESH刷新控制寄存器,Tsrc:設(shè)置SDRAM行操作時(shí)間(時(shí)鐘數(shù))00:4個(gè)時(shí)鐘;01:5個(gè);10:6個(gè);11:7個(gè)時(shí)鐘 SDRAM的行周期= Trp + Tsr
13、c。刷新周期=(211- Refresh_count+1)/HCLK設(shè)刷新周期=15.6µs,HCLK=60MHz則刷新計(jì)數(shù)值=211+1-60×15.6=1113=0x459,BANKSIZE BANK6/7組控制寄存器,BURST_EN:ARM猝發(fā)操作控制0:禁止猝發(fā)操作;1:可猝發(fā)操作SCKE_EN:SDRAM省電模式控制0:關(guān)閉省電模式;1:使能省電模式SCLK_EN
14、:SCLK省電控制0:SCLK一直有效;1:SCLK只在訪問期間有效BK76MAP:控制BANK6/7的大小及映射100:2MB;101:4MB;110:8MB;111:16MB 000:32MB;001:64MB;010:128MB,MRSRB6/7(BANK6/7)模式設(shè)置寄存器,WBL:猝發(fā)寫的長度。0:固定長度;1:保留TM:測試模式。00:模式寄存器集;其它保留CL:列地址反應(yīng)時(shí)間000:1個(gè)時(shí)鐘;010
15、:2個(gè)時(shí)鐘;011:3個(gè)時(shí)鐘;其它保留BT:猝發(fā)類型0:連續(xù);1:保留BL:猝發(fā)時(shí)間000:1個(gè)時(shí)鐘;其它保留,4.2.2 Nand Flash及其控制器,Nor flash存儲(chǔ)器:讀速度高,而擦、寫速度低,容量小,價(jià)格高。 Nand flash存儲(chǔ)器:讀速度不如Nor flash,而擦、寫速度高,容量大,價(jià)格低。有取代磁盤的趨勢。因此,現(xiàn)在不少用戶從Nand flash啟動(dòng)和引導(dǎo)系統(tǒng),而在SDRAM上執(zhí) 行主程序
16、代碼。,Nand Flash控制器概述,S3C2410X微控制器從Nand flash的引導(dǎo)功能:其內(nèi)部有一個(gè)叫做“踏腳石(Steppingstone)”的SRAM緩沖器,系統(tǒng)啟動(dòng)時(shí),Nand flash存儲(chǔ)器開始的4KB代碼被自動(dòng)裝載到踏腳石中,然后系統(tǒng)自動(dòng)執(zhí)行這些載入的引導(dǎo)代碼。引導(dǎo)代碼執(zhí)行完畢后,自動(dòng)跳轉(zhuǎn)到SDRAM執(zhí)行。Nand flash操作的校驗(yàn)功能:使用S3C2410X內(nèi)部硬件ECC(糾錯(cuò)碼)功能可以對Nand flas
17、h的數(shù)據(jù)進(jìn)行有效性的檢測。,Nand Flash控制器主要特性,Nand Flash模式:支持讀/擦/編程N(yùn)and flash存儲(chǔ)器。自動(dòng)導(dǎo)入模式:復(fù)位后,引導(dǎo)代碼被送入Steppingstone,傳送后,引導(dǎo)代碼在 Steppingstone中執(zhí)行。 具有硬件ECC(糾錯(cuò)碼)功能:硬件產(chǎn)生糾錯(cuò)代碼。內(nèi)部4KB的SRAM緩沖器Steppingstone,在Nand flash引導(dǎo)后可以作為其他用途使用。,Nand Flash控制器
18、功能框圖,,Nand Flash 控制器的寄存器,有6個(gè)SFR寄存器,其基地址為0x4E000000,,NFCON---Flash配置寄存器,NFEN:NF控制器使能控制0:禁用1:使用IECC: ECC初始化控制位1:初始化ECCNFCE:NF片選信號(hào)nFCE有效電平設(shè)置0: nFCE為低有效;1: nFCE為高無效TACLE:ALE/CLE(持續(xù)時(shí)間設(shè)置值(0---7)持續(xù)時(shí)間= HCLK * (TACLS
19、+ 1),,,NFCON---Flash配置寄存器,TWRPH0:寫信號(hào)持續(xù)時(shí)間設(shè)置(0~7) 持續(xù)時(shí)間= HCLK * (TWRPH0+1) TWRPH1:寫信號(hào)無效后ALE/CLE保持時(shí)間設(shè)置(0~7)持續(xù)時(shí)間= HCLK * (TWRPH1+1),NFCMD/NFADDR/NFDATA,NFCMD--Flash命令寄存器NFADDR---Flash地址寄存器:高24位未用,低8位為Flash存儲(chǔ)器地址值NFD
20、ATA---Flash數(shù)據(jù)寄存器:高24位未用,低8位為讀入或者寫出的數(shù)據(jù),NFSTAT/NFECC,NFSTAT---Flash狀態(tài)寄存器RnB:Nand Flash存儲(chǔ)器狀態(tài)位0:存儲(chǔ)器忙;1:存儲(chǔ)器準(zhǔn)備好NFECC---Flash錯(cuò)誤校正碼寄存器,Nand Flash 控制器的工作原理,自動(dòng)導(dǎo)入啟動(dòng)代碼復(fù)位裝載前4KB代碼:如果自動(dòng)導(dǎo)入模式使能,Nand flash存儲(chǔ)器的前面4K字節(jié)被自動(dòng)拷貝到Steppin
21、gstone內(nèi)部緩沖器中。地址映射:Steppingstone被映射到nGCS0對應(yīng)的BANK0存儲(chǔ)空間。運(yùn)行前4KB代碼:CPU在Steppingstone的4KB內(nèi)部緩沖器中開始執(zhí)行引導(dǎo)代碼。,Nand Flash 控制器的工作原理,Nand FLASH訪問操作 配置Nand flash:寫NFCONF寄存器設(shè)置Nand flash命令:寫NFCMD寄存器設(shè)置Nand flash地址:寫NFADDR寄存器查詢Nand f
22、lash狀態(tài):通過讀NFSTAT寄存器來獲得Nand flash的狀態(tài)信息(在讀/寫操作之前檢查R/nB信號(hào)(準(zhǔn)備好/忙信號(hào))。 校驗(yàn):在讀寫操作后要查詢校驗(yàn)錯(cuò)誤代碼,對錯(cuò)誤進(jìn)行糾正。,Nand Flash 控制器的工作原理,系統(tǒng)引導(dǎo)和 Nand FLASH 配置OM[1:0] = 00:使能Nand flash控制器自動(dòng)導(dǎo)入模式; OM[3:0]為芯片引腳,設(shè)置引導(dǎo)模式、存儲(chǔ)器bank0的數(shù)據(jù)寬度、時(shí)鐘模式等。OM[1:0]
23、= 01、10:bank0數(shù)據(jù)寬度為16位、32位OM[1:0]=11:測試模式OM[3:2] :為時(shí)鐘源選擇Nand flash的存儲(chǔ)頁面大小應(yīng)該為512字節(jié),,Nand Flash 控制器的工作原理,Nand Flash操作的校驗(yàn)問題S3C2410A在寫/讀操作時(shí),每512字節(jié)數(shù)據(jù)自動(dòng)產(chǎn)生3字節(jié)的ECC奇偶代碼(24位)。 24位 ECC 奇偶代碼=18位行奇偶 + 6位列奇偶ECC模塊的工作及應(yīng)用: 當(dāng)MCU
24、寫數(shù)據(jù)到Nand時(shí),ECC模塊生成ECC代碼。 當(dāng)MCU從Nand讀數(shù)據(jù)時(shí),ECC產(chǎn)生模塊會(huì)生成ECC代碼,可以將它與先前寫入時(shí)產(chǎn) 生的ECC代碼比較。,4.3 I/O端口,4.3.1 概述4.3.2 I/O口寄存器4.3.3 應(yīng)用實(shí)例,4.3.1 概述,S3C2410X有117個(gè)輸入/輸出端口:這些端口都具有多功能,通過引腳配置寄存器,可以將其設(shè)置為所需要的功能,如I/O、中斷請求等,4.3.2 I/O口
25、寄存器,每一個(gè)端口都有4個(gè)寄存器,它們是:引腳配置寄存器、數(shù)據(jù)寄存器、引腳上拉寄存器等?;刂窞?x56000000。,端口A寄存器及引腳配置,GPADAT寄存器為準(zhǔn)備輸出的數(shù)據(jù),僅有輸出功能,其值為23位[22:0]從引腳輸入沒有意義。,GPACON--端口A引腳配置寄存器,端口B寄存器及引腳配置,GPBDAT:為準(zhǔn)備輸出或輸入的數(shù)據(jù),其值為11位[10:0]GPBUP:端口B上拉寄存器,位[10:0]有意義。 0:對應(yīng)引腳設(shè)置
26、為上拉1:無上拉功能當(dāng)B口引腳配置為非輸入/輸出功能時(shí), GPBDAT中的值沒有意義。,端口B引腳配置寄存器,端口C寄存器及引腳配置,GPCDAT:為準(zhǔn)備輸出或輸入的數(shù)據(jù),其值為16位[15:0]GPCUP:端口C上拉寄存器,位[15:0]有意義。0:對應(yīng)引腳設(shè)置為上拉1:無上拉功能注意: 當(dāng)C口引腳配置為非輸入/輸出功能時(shí), GPCDAT中的值沒有意義。,端口C引腳配置寄存器,端口C、D的[10]配置功能均為輸出給LCD顯
27、示器的。,端口D寄存器及引腳配置,GPDDAT:為準(zhǔn)備輸出或輸入的數(shù)據(jù),其值為16位[15:0]GPDUP:端口D上拉寄存器,位[15:0]有意義。 0:對應(yīng)引腳設(shè)置為上拉 1:無上拉功能初始化時(shí),[15:12]無上拉功能,而[11:0]有上拉,端口D引腳配置寄存器,nSS0 、nSS1為SPI0、SPI1為從機(jī)時(shí)的片選信號(hào),端口E寄存器及引腳配置,GPEDAT:為準(zhǔn)備輸出或輸入的數(shù)據(jù),其值為16位[15:0]GPEUP:端口
28、E上拉寄存器,位[15:0]有意義。0:對應(yīng)引腳設(shè)置為上拉1:無上拉功能初始化時(shí),各個(gè)引腳都有上拉功能。,,端口E引腳配置寄存器,端口F寄存器及引腳配置,GPFDAT:為準(zhǔn)備輸出或輸入的數(shù)據(jù),為8位[7:0]GPFUP:端口F上拉寄存器,位[7:0]有意義。 0:對應(yīng)引腳設(shè)置為上拉1:無上拉功能初始化時(shí),各個(gè)引腳都有上拉功能。,端口F引腳配置寄存器,端口G寄存器及引腳配置,GPGDAT:為準(zhǔn)備輸出或輸入的數(shù)據(jù),為16位[
29、15:0]GPGUP:端口G上拉寄存器,位[15:0]有意義。 0:對應(yīng)引腳設(shè)置為上拉1:無上拉功能初始化時(shí), [15:11]引腳無上拉功能,其它引腳有。,端口G引腳配置寄存器,端口H寄存器及引腳配置,GPHDAT---為準(zhǔn)備輸出或輸入的數(shù)據(jù),其值為11位[10:0]GPHUP---端口H上拉寄存器,位[10:0]有意義。 0:對應(yīng)引腳設(shè)置為上拉1:無上拉功能,端口H引腳配置寄存器,端口其它控制寄存器,,MISCCR---
30、混合控制寄存器,nEN_SCKE---SCLK使能位。在電源關(guān)閉模式下對SDRAM做保護(hù)0: 正常狀態(tài) 1:低電平nEN_SCLKx---SCLKx使能位。在電源關(guān)閉模式下對SDRAM做保護(hù)0:SCLKx= SCLK 1:低電平,MISCCR---混合控制寄存器,nRSTCON:對nRSTOUT軟件復(fù)位控制位0:使nRSTOUT為低電平1:使nRSTOUT為高電平USBSUSPND1:USB端口1模式0:正
31、常1:掛起USBSUSPND0:USB端口0模式同上CLKSEL1:CLKOUT1引腳輸出信號(hào)源選擇000:MPLL CLK001:UPLL CLK 010:FCLK011:HCLK100:PCLK 101:DCLK111x:保留CLKSEL0 :CLKOUT0引腳輸出信號(hào)源選擇 同上,MISCCR---混合控制寄存器,USBPAD---與USB連接選擇0:與USB設(shè)備連接1:與USB主機(jī)連接M
32、EM_HZ_CON---MEM高阻控制位0:Hi-Z 1:前一狀態(tài)SPUCR_L---數(shù)據(jù)口低16位[15:0]上拉控制位0:上拉1:無上拉SPUCR_H---數(shù)據(jù)口高16位[31:16]上拉控制位0:上拉1:無上拉,,DCLKCON--D時(shí)鐘控制寄存器,DCLK1(0)CMP:DCLK1(0)低電平時(shí)間所占的比例數(shù)。設(shè)該位值為m,m< DCLK1(0)DIV。則低、高電平持續(xù)時(shí)間的源周期數(shù)分別為:m
33、+1、CLK1(0)DIV-m DCLK1(0)DIV:DCLK1(0)分頻值DCLK1(0) frequency= source clock / ( DCLK1(0)DIV + 1 ),DCLKCON---D時(shí)鐘控制寄存器,DCLK1(0)SelCK---DCLK1(0) source clock 選擇0 : 源時(shí)鐘選擇PCLK1 : 源時(shí)鐘選擇UCLK ( USB )DCLK1(0)EN---DCLK1(0) Ena
34、ble0:禁止1:允許,一般狀態(tài)寄存器,GSTATUS3、4:復(fù)位時(shí)被清0,其它情況下其數(shù)據(jù)不變。用戶可以用于保存數(shù)據(jù)。,GSTATUS0--外部引腳狀態(tài)寄存器,nWEIT:引腳nWEIT狀態(tài),總線等待狀態(tài)nCON:引腳nCON狀態(tài),NAND Flash配置端口RnB:引腳R/nB狀態(tài):為FLASH的就緒/忙狀態(tài)nBATT_FLT:引腳nBATT_FLT狀態(tài),GSTATUS2--復(fù)位狀態(tài)寄存器,WDTRST---看門狗復(fù)位
35、狀態(tài)1:出現(xiàn)了看門狗定時(shí)器復(fù)位;對該位寫,則將該位清0OFFRST---掉電模式復(fù)位狀態(tài)。1:系統(tǒng)出現(xiàn)了從掉電模式喚醒復(fù)位;對該位寫,則將該位清0PWRST---上電復(fù)位狀態(tài)1:系統(tǒng)出現(xiàn)了上電復(fù)位;對該位寫,則將該位清0,4.3.3 應(yīng)用實(shí)例,利用GPIO的E、H口控制蜂鳴器及LED1~4。蜂鳴器鳴響一聲,燈LED1~4全部閃爍5次,然后依次按0~F的16進(jìn)制數(shù)閃燈。,4.4 UART接口,4.4.1 概述4.
36、4.2 工作原理4.4.3 UART專用寄存器4.4.4 UART應(yīng)用實(shí)例,4.4.1 概述,S3C2410 的UART(通用異步串行口)有3個(gè)獨(dú)立的異步串行I/O 端口:UART0、UART1、UART2,每個(gè)串口都可以在中斷和DMA 兩種模式下進(jìn)行收發(fā)。UART支持的最高波特率達(dá)230.4kbps。每個(gè)UART 包含:波特率發(fā)生器、接收器、發(fā)送器和控制單元。波特率發(fā)生器以PCLK或UCLK為時(shí)鐘源。發(fā)送器和接收器各包含
37、1個(gè)16 字節(jié)的FIFO 寄存器和移位寄存器。S3C2410 的3個(gè)UART都有遵從1.0規(guī)范的紅外傳輸功能, UART0、UART1有完整的握手信號(hào),可以連接MODEM。,4.4.1 概述,數(shù)據(jù)發(fā)送和接收:當(dāng)發(fā)送數(shù)據(jù)的時(shí)候,數(shù)據(jù)先寫到FIFO 然后拷貝到發(fā)送移位寄存器,在移位寄存器中,數(shù)據(jù)從輸出端口(TxDn)依次被移位輸出。對于被接收的數(shù)據(jù),也同樣從接收端口(RxDn)移位輸入到移位寄存器,然后拷貝到FIFO 中。,串行口結(jié)構(gòu)和
38、工作原理,主要有4部分構(gòu)成:接收器發(fā)送器波特率發(fā)生器控制邏輯,接收器/發(fā)送器的結(jié)構(gòu),4.4.2 工作原理,串行口的操作數(shù)據(jù)幀格式:可編程,包含1個(gè)開始位、5 到8 個(gè)數(shù)據(jù)位、1個(gè)可選的奇偶校驗(yàn)位、1個(gè)或2個(gè)停止位,通過線路控制器(ULCONn)來設(shè)置。發(fā)送中止信號(hào):迫使串口輸出邏輯0 ,這種狀態(tài)保持一個(gè)傳輸幀的時(shí)間長度。通常在一幀傳輸數(shù)據(jù)完整地傳輸完之后,再通過這個(gè)全0 狀態(tài)將中止信號(hào)發(fā)送給對方。中止信號(hào)發(fā)送之后,傳送數(shù)據(jù)
39、連續(xù)放到FIFO 中(在不使用FIFO 模式下,將被放到輸出保持寄存器)。接收器具有錯(cuò)誤檢測功能:可以檢測出溢出錯(cuò)誤,奇偶校驗(yàn)錯(cuò)誤,幀錯(cuò)誤和中止?fàn)顩r,每種情況下都會(huì)將一個(gè)錯(cuò)誤標(biāo)志在接收狀態(tài)寄存器置位。,,,,4.4.2 工作原理,串行口的波特率發(fā)生器UART 波特率產(chǎn)生器的時(shí)鐘源可以從內(nèi)部系統(tǒng)時(shí)鐘PCLK或UCLK 中來選擇。波特率決定于波特率除數(shù)寄存器(UBRDIVn)的值,波特率數(shù)與UBRDIVn 的關(guān)系為:UBRD
40、IVn=(int)(CLK/( f B*16))- 1 其中CLK為所選擇的時(shí)鐘頻率, f B為波特率。f B= CLK /( UBRDIVn + 1 )/ 16例如,如果波特率為115200bps 且PCLK 或UCLK 為40MHz,則UBRDIVn 為:UBRDIVn =(int) (40000000)(115200*16)) - 1= (int)(21.7) - 1 = 21- 1 = 20,,4.4.2
41、 工作原理,串行口波特率誤差極限在應(yīng)用中,實(shí)際波特率往往與理想波特率有差別,其誤差不能超過一定的范圍,其極限為:UART傳輸10bit數(shù)據(jù)的時(shí)間誤差應(yīng)該小于1.87%(3/160)。t_true = (UBRDIVn + 1)×16×10 / PCLKt_ideal = 10 / baud_rateUART error=( ( t_true – t_ideal ) / t_ideal )×10
42、0% t_true:實(shí)際的傳輸10bit所需時(shí)間t_ideal:理想情況下傳輸10位需要的時(shí)間,4.4.2 工作原理,串行口自動(dòng)流控制傳輸:自動(dòng)流控制是利用信號(hào)nRTS、nCTS來實(shí)現(xiàn)的接收數(shù)據(jù):只要接收FIFO中有兩個(gè)空字節(jié)就會(huì)使nRTS有效,使對方發(fā)送數(shù)據(jù)。發(fā)送數(shù)據(jù):只要nCTS有效,就會(huì)發(fā)送數(shù)據(jù)。這種自動(dòng)流控制應(yīng)用于對方也是UART設(shè)備。該功能在寄存器UMCONn中設(shè)置實(shí)現(xiàn)。,4.4.2 工作原理,使用FIFO進(jìn)行收
43、發(fā):主要是通過對FIFO狀態(tài)寄存器UFSTATn的查詢,確定進(jìn)行收發(fā)。使用FIFO進(jìn)行接收(請求發(fā)送):先要查詢FIFO狀態(tài)寄存器數(shù)據(jù)滿位是否為1,非1向?qū)Ψ桨l(fā)出“請求發(fā)送信號(hào)”;發(fā)送請求發(fā)送信號(hào)nRTS信號(hào)。使用FIFO進(jìn)行發(fā)送:查詢對方是否有請求發(fā)送要求;再查詢FIFO狀態(tài)寄存器UFSTATn的數(shù)據(jù)滿狀態(tài)位是否為1;向發(fā)送緩沖寄存器UTXHn寫發(fā)送的數(shù)據(jù)。,4.4.2 工作原理,不使用FIFO進(jìn)行收發(fā):主要是通過對
44、收/發(fā)狀態(tài)寄存器UTRSTATn的查詢,確定進(jìn)行收發(fā)。數(shù)據(jù)發(fā)送:查詢(UMSTATn[0])對方是否有請求發(fā)送; 再查詢發(fā)送/接收狀態(tài)寄存器UTRSTATn[1]的“發(fā)送緩沖器空”狀態(tài)位是否為1,如果是1,向發(fā)送緩沖寄存器UTXHn寫發(fā)送的數(shù)據(jù)。數(shù)據(jù)接收(請求發(fā)送):查詢UTRSTATn[0] “數(shù)據(jù)就緒狀態(tài)位”是否為1,如果是1,需要先讀取數(shù)據(jù); 請求對方發(fā)送數(shù)據(jù),使UARTn發(fā)出nRTS信號(hào)。,4.4.2 工作原理,
45、中斷或DMA請求:每個(gè)UART都有3類、7種事件產(chǎn)生中斷或DMA請求。3類請求:接收、發(fā)送和錯(cuò)誤中斷或DMA請求。7種請求事件:溢出錯(cuò)誤、奇偶校驗(yàn)錯(cuò)誤、幀格式錯(cuò)誤、接收超時(shí)、傳輸中止信號(hào)、接收器數(shù)據(jù)就緒、發(fā)送器空。接收中斷條件:非FIFO模式:接收緩沖寄存器收到數(shù)據(jù)后產(chǎn)生中斷請求。FIFO模式:Rx FIFO中數(shù)據(jù)的數(shù)目增加達(dá)到了觸發(fā)中斷的水平,或者超時(shí),產(chǎn)生中斷請求。,4.4.2 工作原理,發(fā)送中斷條件:非FIFO
46、模式:當(dāng)發(fā)送緩沖器空、發(fā)送移位器空時(shí)請求 FIFO模式:Tx FIFO中數(shù)據(jù)的數(shù)目減少到了觸發(fā)中斷的水平。錯(cuò)誤中斷情況:溢出錯(cuò)誤、奇偶檢驗(yàn)錯(cuò)誤、幀格式錯(cuò)誤、傳輸中止信號(hào)。非FIFO模式:只要有任何一個(gè)錯(cuò)誤出現(xiàn),就會(huì)產(chǎn)生中斷請求。FIFO模式:接收時(shí)出現(xiàn)了數(shù)據(jù)溢出、或幀格式錯(cuò)、奇偶校驗(yàn)錯(cuò)、傳輸中止信號(hào)錯(cuò)誤,都會(huì)產(chǎn)生中斷請求。,4.4.2 工作原理,循環(huán)檢測模式S3C2410X的每一個(gè)UART都提供有檢測功能,它是一種數(shù)據(jù)循環(huán)流
47、動(dòng)的自發(fā)、自收方式,數(shù)據(jù)從發(fā)送緩沖器傳送到TXD,數(shù)據(jù)不經(jīng)過引腳輸出,在內(nèi)部將數(shù)據(jù)傳到接收引腳RXD,再傳輸?shù)浇邮站彌_器。,4.4.3 UART專用寄存器,3個(gè)UART,每個(gè)有11個(gè)或9個(gè)專用寄存器,共31個(gè)SFR,ULCON--線路控制寄存器,UCON--控制寄存器,UCON--控制寄存器,UFCON-- FIFO控制寄存器,UMCON-- MODEM控制寄存器,UTRSTAT--發(fā)送/接收狀態(tài)寄存器,UFSTAT --FIFO狀態(tài)
48、寄存器,UMSTAT --MODEM狀態(tài)寄存器,UTxH--發(fā)送緩沖寄存器,URxH--接收緩沖寄存器,UBRDIV--波特率除數(shù)寄存器,4.4.4 UART應(yīng)用實(shí)例,編寫一程序,使用S3C2410X的UART2進(jìn)行串行自發(fā)自收數(shù)據(jù),要求用脈沖請求中斷的方式、使用收/發(fā)FIFO,8個(gè)數(shù)據(jù)位、1個(gè)停止位、不校驗(yàn),波特率為125kb/s。設(shè)Pclk為50MHz。提示:主程序?qū)ART2初始化、引腳配置、中斷初始化等,并進(jìn)行一次發(fā)送;中斷
49、服務(wù)程序進(jìn)行數(shù)據(jù)收發(fā),并且清除中斷請求標(biāo)志和中斷服務(wù)標(biāo)志,4.4.4 UART應(yīng)用實(shí)例,計(jì)算波特率除數(shù):UBRDIVn=24UART2控制寄存器:ULCON2=0b000 0011=0x03UCON2=0b000 0000 0101=0x05UFCON2=0b 1001 0001=0x91引腳配置 需要設(shè)置TxD2、RxD2,它們對應(yīng)GPH6、GPH7,在GPH配置寄存器GPHCON中的位置為:0b 1 0
50、 1 0 ** ** ** ** ** ** GPHCON=GPHCON&~(0xF<<12)|(0xA<<12),4.4.4 UART應(yīng)用實(shí)例,中斷寄存器設(shè)置INTMOD&=~(1<<15)INTMSK&=~(1<<15) PRIORITY:不設(shè)置,使用固定優(yōu)先級。INTSUBMSK&=~(7<<6)
51、在中斷服務(wù)程序中對寄存器的操作SRCPND&=~(1<<15)INTPND&=~(1<<15),4.4.4 UART應(yīng)用實(shí)例,#definedrUBRDIV2 (*(unsigned int*)0x50008028)#definedrULCON2 (*(unsigned int*)0x50008000)#defined rUCON2 (*(unsigned in
52、t*)0x50008004)#defined rUFCON2 (*(unsigned int*)0x50008008)#definedrrURXH (*(unsigned int*)0x50008024)#definedrrUTXH (*(unsigned int*)0x50008028)#definedrGPHCON #defined #definedr rINTMSK#definedr rI
53、NTSUBMSK,4.4.4 UART應(yīng)用實(shí)例,intrx_num=0, tx_num=0;voiduart2_text(void){inti;rUBRDIV2=24; rULCON2=0x03; rUCON2=0x05; rUFCON2=0x91;rUCON2=0x05;rGPHCON=rGPHCON&~(0xf<<12)|(0xa<<12)
54、; rINTMSK&=~(1<<15);rINTSUBMSK&=~(7<<6);,4.4.4 UART應(yīng)用實(shí)例,pISR_UART2 = (int)uart2_int;Uart_Printf("\n 2410 Board UART2 TEST!\n");for(i=0;i<8;i++)rUTXH2=i+1;while(rx_num&
55、lt;100);Uart_Printf(“tx_num: %d; rx_num: %d\n”, tx_num,rx_num);rINTMSK | =1<<15;rINTSUBMSK | =(7<<6);},4.4.4 UART應(yīng)用實(shí)例,void__irquart2_int(void){inti;//判斷是接收中斷?發(fā)送中斷?//發(fā)送,連續(xù)發(fā)8字節(jié),tx_num=20
56、0結(jié)束發(fā)//接收,連續(xù)收8字節(jié),rx_num=200結(jié)束收},4.5 中斷控制器,4.5.1 概述4.5.2 結(jié)構(gòu)和工作原理4.5.3 中斷控制寄存器4.5.4 應(yīng)用舉例,概 述,S3C2410X中斷控制器有56個(gè)中斷源,對外提供24個(gè)外中斷輸入引腳,內(nèi)部所有設(shè)備都有中斷請求信號(hào),例如DMA控制器、UART、IIC等等。S3C2410X的ARM920T內(nèi)核有兩個(gè)中斷,IRQ中斷和快速中斷FIQ。中斷仲裁:當(dāng)
57、中斷控制器接收到多個(gè)中斷請求時(shí),其內(nèi)的優(yōu)先級仲裁器裁決后向CPU發(fā)出優(yōu)先級最高的中斷請求信號(hào)或快速中斷請求信號(hào)。,4.5.2 結(jié)構(gòu)和工作原理,中斷系統(tǒng)結(jié)構(gòu):主要由中斷源和控制寄存器兩大部分構(gòu)成,其寄存器主要有4種:模式、屏蔽、優(yōu)先級、掛起(標(biāo)志)寄存器等。,中斷優(yōu)先級仲裁器,中斷系統(tǒng)有2級仲裁:第1級有6個(gè)仲裁器,第2級是1個(gè)總仲裁器。每一個(gè)仲裁器可以處理6路中斷。,4.5.3 中斷控制寄存器,中斷控制系統(tǒng)有8個(gè)專用寄存器,基地址為
58、0x4A000000,主要使用前6個(gè)寄存器。,SRCPND--中斷源掛起(標(biāo)志)寄存器,各位:1:對應(yīng)中斷源有請求;0:對應(yīng)中斷源無中斷請求必須在中斷處理程序中對其標(biāo)志位清除,其方法為寫1.,INTMOD--中斷模式寄存器,該寄存器是設(shè)置各中斷源是FIQ中斷還是IRQ中斷各位:1:對應(yīng)中斷源設(shè)為FIQ中斷模式;0:為IRQ中斷模式,INTMSK--中斷屏蔽寄存器,各位:1:屏蔽對應(yīng)中斷源;0:開放對應(yīng)中斷源,PRIORITY--
59、中斷優(yōu)先級寄存器,ARB_SELn:仲裁器n優(yōu)先級順序選擇位00:REQ0, 1, 2, 3, 4, 5; 01:REQ0, 2, 3, 4, 1, 510:REQ0, 3, 4, 1, 2, 5; 11:REQ0, 4, 1, 2, 3, 5ARB_MODEn:仲裁器n優(yōu)先級模式控制位0:優(yōu)先順序固定不變 1:優(yōu)先順序循環(huán),每響應(yīng)一次中斷,其順序循環(huán)改變一次,但REQ0、REQ5位置不變。,INTPND--中
60、斷服務(wù)(掛起)寄存器,中斷服務(wù)(掛起)寄存器的格式與中斷標(biāo)志寄存器、中斷模式寄存器的格式一樣。1:對應(yīng)的中斷源被響應(yīng),且正在執(zhí)行中斷服務(wù);0:對應(yīng)中斷源未被響應(yīng)。必須在中斷處理程序中對其服務(wù)標(biāo)志位清除,方法為對某位寫1便清除為0:即在清除SRCPND中相應(yīng)位后,要清除該寄存器相應(yīng)位。,INTOFFSET--中斷偏移寄存器,在中斷處理程序中對SRCPND和INTPND清0后, 該寄存器被自動(dòng)清0。,SUBSRCPND--子中斷源請求
61、標(biāo)志寄存器,對有多個(gè)中斷源的外設(shè),顯示其具體的中斷請求1:對應(yīng)的子中斷源有請求0:對應(yīng)的子中斷源無請求在中斷服務(wù)程序中,需要對其置1的標(biāo)志位清0。方法:對某位寫1便清0。,INTSUBMSK--子中斷源屏蔽寄存器,對有多個(gè)中斷源的外設(shè),對具體的中斷源進(jìn)行屏蔽1:屏蔽對應(yīng)的子中斷源0:開放對應(yīng)的子中斷源,4.5.3 中斷控制寄存器,除了8個(gè)專用寄存器,中斷控制系統(tǒng)還有9個(gè)外中斷寄存器:外中斷控制(觸發(fā)方式)寄存器、外中斷濾波寄
62、存器、外中斷屏蔽寄存器、外中斷掛起(請求)寄存器。這一部分寄存器的基地址為0x56000000。EXTINT0~2:主要設(shè)置各個(gè)外中斷源的觸發(fā)方式、濾波EINTFLT2~3:主要設(shè)置各個(gè)外中斷源的濾波器時(shí)鐘、與濾波器寬度。EINTMAK和EINTPEND:主要設(shè)置外中斷屏蔽和掛起,外中斷控制寄存器,EXTINT0--外中斷觸發(fā)方式控制寄存器0,EINT0~7:中斷請求信號(hào)觸發(fā)方式選擇000:低電平觸發(fā)001:高電平觸發(fā)
63、01x:下降沿觸發(fā)10x:上升沿觸發(fā)11x:雙邊沿觸發(fā)第3、7、11、15、19、23、27、31位保留,EXTINT1--外中斷觸發(fā)方式控制寄存器1,EINT8~15:中斷請求信號(hào)觸發(fā)方式選擇000:低電平觸發(fā)001:高電平觸發(fā)01x:下降沿觸發(fā)10x:上升沿觸發(fā)11x:雙邊沿觸發(fā)第3、7、11、15、19、23、27、31位保留,EXTINT2--外中斷觸發(fā)方式控制寄存器2,EINT16~23:外中斷請求信號(hào)
64、觸發(fā)方式選擇000:低電平觸發(fā)001:高電平觸發(fā)01x:下降沿觸發(fā)10x:上升沿觸發(fā)11x:雙邊沿觸發(fā)第3、7、11、15、19、23、27、31位:為FILTE各中斷源引腳濾波控制位0:禁止濾波1:使能濾波,EINTFLT2--外中斷濾波控制寄存器2,FLTCLK16~19:外中斷16~19濾波器時(shí)鐘選擇0:PCLK1:外部/振蕩時(shí)鐘(由OM引腳選擇)EINTFLT16~19:外中斷16~19濾波
65、器寬度(頻帶寬度),EINTFLT3--外中斷濾波控制寄存器3,FLTCLK20~23:外中斷20~23濾波器時(shí)鐘選擇0:PCLK1:外部/振蕩時(shí)鐘(由OM引腳選擇)EINTFLT20~23:外中斷20~23濾波器寬度(頻帶寬度),EINTMAK--外中斷屏蔽寄存器,各位:0:允許中斷1:禁止中斷EINT0--- 3不能在此被屏蔽,在INTMSK中屏蔽,EINTPEND--外中斷掛起(標(biāo)志)寄存器,各位:0:無中
66、斷請求1:有中斷請求對某位寫1,則清除相應(yīng)標(biāo)志,即清為0.,4.5.4 應(yīng)用舉例,例:試編寫程序,啟用外中斷0、外中斷1做外中斷實(shí)驗(yàn),要求用下降沿觸發(fā)。在中斷服務(wù)程序中,記錄中斷發(fā)生的次數(shù)。注意在中斷服務(wù)程序中,清除中斷請求標(biāo)志、中斷服務(wù)標(biāo)志(其操作會(huì)清除中斷偏移標(biāo)志)。,4.6 ADC和觸摸屏接口,4.6.1 概述4.6.2 結(jié)構(gòu)與工作原理4.6.3 ADC和觸摸屏專用寄存器4.6.4 應(yīng)用舉例,4.6.1
67、 概述,S3C2410X中集成了一個(gè)8通道10 位A/D 轉(zhuǎn)換器,A/D 轉(zhuǎn)換器自身具有采樣保持功能。并且S3C2410X的A/D 轉(zhuǎn)換器支持觸摸屏接口。A/D轉(zhuǎn)換器的主要特性:分辨率:10位;精度:±1LSB線性度誤差: ±1.5---2.0LSB最大轉(zhuǎn)換速率:500KSPS輸入電壓范圍:0~3.3v系統(tǒng)具有采樣保持功能常規(guī)轉(zhuǎn)換和低消耗功能獨(dú)立/自動(dòng)的X/Y 坐標(biāo)轉(zhuǎn)換模式,4.6.2 結(jié)構(gòu)與工作
68、原理,主要由6部分構(gòu)成信號(hào)輸入通道8轉(zhuǎn)1切換開關(guān)A/D轉(zhuǎn)換器控制邏輯中斷信號(hào)發(fā)生器觸摸屏接口,,A/D 轉(zhuǎn)換器原理結(jié)構(gòu),對PCLK時(shí)鐘進(jìn)行分頻后為A/D轉(zhuǎn)換時(shí)鐘A/D 轉(zhuǎn)換時(shí)鐘頻率?=PCLK /(預(yù)分頻值+1) 轉(zhuǎn)換時(shí)間=(1/?)*5即轉(zhuǎn)換時(shí)間需要5個(gè)時(shí)鐘時(shí)鐘最高頻率: 2.5MHz最短轉(zhuǎn)換時(shí)間: 2μs最高轉(zhuǎn)換速率:500KSPS,觸摸屏的結(jié)構(gòu)及工作原理,觸摸屏:根據(jù)工作原理的不同
69、分為表面聲波屏、電容屏、電阻屏和紅外屏4種電阻式觸摸屏原理:由3層透明薄膜構(gòu)成,有一層是電阻層,有一層是導(dǎo)電層,它們中間有一隔離層,當(dāng)某一點(diǎn)被按壓時(shí),在按壓點(diǎn)電阻層與導(dǎo)電層接觸,如果在電阻層的一邊接電源,另一邊接地,便可測量出按壓點(diǎn)的電壓,從而可算出其坐標(biāo)。,觸摸屏的結(jié)構(gòu)及工作原理,測X坐標(biāo),測Y,導(dǎo)通,測Y,截止,與地連通接X-,輸出3.3V接X+,測量X坐標(biāo):從XP輸出電壓給X+端,從XM輸出地電位給X-端;從YP腳輸入按壓點(diǎn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 嵌入式系統(tǒng)講義s3c2410x系統(tǒng)結(jié)構(gòu)
- 第四章3充電系統(tǒng)
- 第四章
- 第四章補(bǔ)體系統(tǒng)-2
- 鋼結(jié)構(gòu)第四章答案
- 基于s3c2410x的嵌入式圖像采集壓縮系統(tǒng)的設(shè)計(jì)
- 第四章x射線衍射儀
- 第四章 系統(tǒng)操作
- 第四章x射線衍射儀
- 第四章
- 第四章 混凝土結(jié)構(gòu)工程
- 第四章高聚物的結(jié)構(gòu)
- 第四章 c程序設(shè)計(jì)
- 基于s3c2410x的嵌入式gui的研究與應(yīng)用
- 第四章1、3、4
- 第四章.doc
- 第四章.doc
- 第四章.doc
- 第四章.doc
- 第四章.doc
評論
0/150
提交評論