




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第5章嵌入式系統(tǒng)底層驅(qū)動(dòng)開發(fā)嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院5.1嵌入式C語言程序設(shè)計(jì)5.2Eclipse集成開發(fā)環(huán)境5.5S5PV210應(yīng)用電路設(shè)計(jì)5.4S5PV210驅(qū)動(dòng)仿真調(diào)試實(shí)驗(yàn)本章內(nèi)容淮陰工學(xué)院
電子信息工程學(xué)院嵌入式處理器及接口技術(shù)
在2016年6月排名使用著名的搜索引擎(諸如Google、MSN、Yahoo!、Wikipedia、YouTube以及Baidu等)進(jìn)行計(jì)算的TIOBE編程語言社區(qū)排行榜上,Java、C和C++仍然穩(wěn)定保持在前三甲。5.1嵌入式C語言程序設(shè)計(jì)
前
10名編程語言長(zhǎng)期走勢(shì)圖嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院C語言的優(yōu)點(diǎn)是運(yùn)行速度快、編譯效率高、移植性好和可讀性強(qiáng)。C語言支持模塊化程序設(shè)計(jì),支持自頂向下的結(jié)構(gòu)化程序設(shè)計(jì)方法。因此在嵌入式程序設(shè)計(jì)中經(jīng)常會(huì)用到C語言程序設(shè)計(jì)。嵌入式C語言程序設(shè)計(jì)是利用基本的C語言知識(shí),面向嵌入式工程實(shí)際應(yīng)用進(jìn)行程序設(shè)計(jì)。也就是說它首先是C語言程序設(shè)計(jì),因此必須符合C語言基本語法,只是它是面向嵌入式的應(yīng)用而設(shè)計(jì)的程序。5.1.1C語言嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院
C語言特性
嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院“=”和“==”復(fù)合賦值運(yùn)算符其它容易誤寫數(shù)組下標(biāo)break關(guān)鍵字八進(jìn)制數(shù)增量運(yùn)算符“++”和減量運(yùn)算符“--”邏輯與’&&’和邏輯或’||’的陷阱結(jié)構(gòu)體的填充5.1.2編譯器
對(duì)編譯器應(yīng)有如下認(rèn)識(shí):·嵌入式程序開發(fā)跟硬件密切相關(guān),需要使用C語言來讀寫底層寄存器、存取數(shù)據(jù)、控制硬件等,C語言和硬件之間由編譯器來聯(lián)系,一些C標(biāo)準(zhǔn)不支持的硬件特性操作,由編譯器提供?!R編可以很輕易的讀寫指定RAM地址、可以將代碼段放入指定的Flash地址、可以精確的設(shè)置變量在RAM中分布等等,所有這些操作,在深入了解編譯器后,也可以使用C語言實(shí)現(xiàn)?!語言標(biāo)準(zhǔn)并非完美,有著數(shù)目繁多的未定義行為,這些未定義行為完全由編譯器自主決定,了解你所用的編譯器對(duì)這些未定義行為的處理,是必要的。·
嵌入式編譯器對(duì)調(diào)試做了優(yōu)化,會(huì)提供一些工具,可以分析代碼性能,查看外設(shè)組件等,了解編譯器的這些特性有助于提高在線調(diào)試的效率?!ご送?,堆棧操作、代碼優(yōu)化、數(shù)據(jù)類型的范圍等等,都是要深入了解編譯器的理由?;搓幑W(xué)院
電子信息工程學(xué)院嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院嵌入式處理器及接口技術(shù)5.1.5未定義行為
C語言標(biāo)準(zhǔn)特別的規(guī)定某些行為是未定義的,編寫未定義行為的代碼,其輸出結(jié)果由編譯器決定。
C語言的未定義行為,使得C極度高效靈活并且給編譯器實(shí)現(xiàn)帶來了方便,但這并不利于優(yōu)質(zhì)嵌入式C程序的編寫。因?yàn)樵S多C語言中看起來有意義的東西都是未定義的,并且這也容易使你的代碼埋下隱患,并且不利于跨編譯器移植。5.1.4進(jìn)一步了解編譯器
1)
默認(rèn)情況下,char類型的數(shù)據(jù)項(xiàng)是無符號(hào)的,所以它的取值范圍是0~255;
2)
在所有的內(nèi)部和外部標(biāo)識(shí)符中,大寫和小寫字符不同;
5)通常局部變量保存在寄存器中,但當(dāng)局部變量太多放到棧里的時(shí)候,它們總是字對(duì)齊的。
4)壓縮類型的自然對(duì)齊方式為1。使用關(guān)鍵字__packed來壓縮特定結(jié)構(gòu),將所有有效類型的對(duì)齊邊界設(shè)置為1;
5)整數(shù)以二進(jìn)制補(bǔ)碼形式表示;浮點(diǎn)量按IEEE格式存儲(chǔ);
6)整數(shù)除法的余數(shù)的符號(hào)于被除數(shù)相同,由ISOC90標(biāo)準(zhǔn)得出;
7)如果整型值被截?cái)酁槎痰挠蟹?hào)整型,則通過放棄適當(dāng)數(shù)目的最高有效位來得到結(jié)果。如果原始數(shù)是太大的正或負(fù)數(shù),對(duì)于新的類型,無法保證結(jié)果的符號(hào)將于原始數(shù)相同?;搓幑W(xué)院
電子信息工程學(xué)院嵌入式處理器及接口技術(shù)
5.1.4進(jìn)一步了解編譯器
8)整型數(shù)超界不引發(fā)異常;像unsignedchartest;test=1000;這類是不會(huì)報(bào)錯(cuò)的;
9)在嚴(yán)格C中,枚舉值必須被表示為整型。
10)對(duì)于結(jié)構(gòu)體填充,根據(jù)定義結(jié)構(gòu)的方式,keilMDK編譯器用以下方式的一種來填充結(jié)構(gòu):定義為static或者extern的結(jié)構(gòu)用零填充;棧或堆上的結(jié)構(gòu)。
11)編譯器不對(duì)聲明為volatile類型的數(shù)據(jù)進(jìn)行優(yōu)化;
12)
__nop():延時(shí)一個(gè)指令周期,編譯器絕不會(huì)優(yōu)化它。
15)__align(n):指示編譯器在n字節(jié)邊界上對(duì)齊變量。對(duì)于局部變量,n的值為1、2、4、8;
14)__attribute__((at(address))):可以使用此變量屬性指定變量的絕對(duì)地址;
15)__inline:提示編譯器在合理的情況下內(nèi)聯(lián)編譯C或C++函數(shù)。嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院5.1.5防御性編程
嵌入式產(chǎn)品的可靠性自然與硬件密不可分,但在硬件確定、并且沒有第三方測(cè)試的前提下,使用防御性編程思想寫出的代碼,往往具有更高的穩(wěn)定性。防御性編程首先需要認(rèn)清C語言的種種缺陷和陷阱,C語言對(duì)于運(yùn)行時(shí)的檢查十分弱小,需要程序員謹(jǐn)慎的考慮代碼,在必要的時(shí)候增加判斷;防御性編程的另一個(gè)核心思想是假設(shè)代碼運(yùn)行在并不可靠的硬件上,外接干擾有可能會(huì)打亂程序執(zhí)行順序、更改RAM存儲(chǔ)數(shù)據(jù)等等。嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院5.1.6編程思想嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院1)整潔的樣式2)清晰的命名5)恰當(dāng)?shù)淖⑨?)數(shù)據(jù)結(jié)構(gòu)
《計(jì)算機(jī)程序結(jié)構(gòu)與說明》一書在開篇寫到:程序?qū)懗鰜硎墙o人看的,附帶能在機(jī)器上運(yùn)行。
5.2Eclipse集成開發(fā)環(huán)境
根據(jù)開發(fā)目標(biāo)平臺(tái)的不同,ARM提供不同的工具解決方案。(1)MDK-ARM
RealViewMicrocontrollerDevelopmentKit(簡(jiǎn)稱MDK)主要是為終端客戶提供價(jià)格低廉、功能強(qiáng)大的開發(fā)工具,集成了RealView編譯工具、KeiluVision開發(fā)環(huán)境,支持Atmel、Freescale、Luminary、NXP、OKI、Samsung、Sharp、ST、TI等廠家的基于ARM7、ARM9、Cortex-M1、Cortex-M5微控制處理器的仿真,提供非常高效的RTOSKernel。嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院5.2Eclipse集成開發(fā)環(huán)境(2)RVDS
RVDS是ARM公司繼SDT與ADS1.2之后主推的新一代開發(fā)工具,目前為RVDS4.1標(biāo)準(zhǔn)版和專業(yè)版2種版本。RVDS是專為SOC、FPGA以及ASIC用戶開發(fā)復(fù)雜嵌入式應(yīng)用程序或者和操作系統(tǒng)平臺(tái)組件接口而設(shè)計(jì)的開發(fā)工具。RVDS支持器件設(shè)計(jì),支持多核調(diào)試,支持基于所有ARM和Cortex系列CPU的程序開發(fā)。RVDS還可以和第三方軟件進(jìn)行很好的連接?;搓幑W(xué)院
電子信息工程學(xué)院嵌入式處理器及接口技術(shù)5.2Eclipse集成開發(fā)環(huán)境(5)ARMDS-5ARMDS-5從以下工具發(fā)展而來:DS-5<RVDS<ADS<SDT。目前RVDS、ADS和SDT都已經(jīng)停止更新,新項(xiàng)目推薦使用向后兼容的DS-5。ARMDS-5支持裸機(jī)程序、u-boot、Linux和AndroidKernel、驅(qū)動(dòng)、應(yīng)用程序開發(fā),以及FreescaleMQX、MicriumμC/OS、KeilRTX、ENEAOSE、FreeRTOS、ExpressLogicThreadX等實(shí)時(shí)操作系統(tǒng)。嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院5.2Eclipse集成開發(fā)環(huán)境(4)EclipseEclipse最初由OTI和IBM兩家公司的IDE產(chǎn)品開發(fā)組創(chuàng)建,起始于1999年4月。IBM提供了最初的Eclipse代碼基礎(chǔ),由IBM發(fā)起的Eclipse項(xiàng)目已經(jīng)發(fā)展成為一個(gè)龐大的Eclipse聯(lián)盟,有150多家軟件公司參與到Eclipse項(xiàng)目中,其中包括Borland、RationalSoftware、RedHat、Sybase及Oracle等。Eclipse是著名的開放源代碼、跨平臺(tái)的自由集成開發(fā)環(huán)境?;搓幑W(xué)院
電子信息工程學(xué)院嵌入式處理器及接口技術(shù)5.2Eclipse集成開發(fā)環(huán)境(5)AndroidStudio工具在GoogleI/O2015開發(fā)者大會(huì)上,谷歌隆重推出了全新的AndroidIDE——AndroidStudio。AndroidStudio基于Jetbrains公司的標(biāo)志性JavaIDE——IntelliJ(開發(fā)者社區(qū)開源版本)開發(fā),該產(chǎn)品在功能和設(shè)計(jì)上別具匠心,可以讓開發(fā)者更容易地處理開發(fā)和布局設(shè)計(jì)工作。嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院5.2.1Eclipse開發(fā)環(huán)境的安裝打開光盤下的目錄,如下表5-2所示。表5-2Eclipse開發(fā)環(huán)境配套軟件嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院5.2.1Eclipse開發(fā)環(huán)境的安裝1.安裝gcc編譯器
打開yagarto-bu-2.21_gcc-4.6.2-c-c++_nl1.19.0_gdb7.5.1_eabi_20111119.exe,這個(gè)工具為交叉編譯器。這里的安裝目錄需要記住,因?yàn)樵诤竺娴木幾g過程中,需要使用對(duì)應(yīng)的交叉編譯器。安裝過程如下圖5-4所示。圖5-4交叉編譯器安裝目錄安裝完成后,對(duì)應(yīng)的編譯器存放目錄為:D:\ProgramFiles\yagarto\bin?;搓幑W(xué)院
電子信息工程學(xué)院嵌入式處理器及接口技術(shù)
5.2.1Eclipse開發(fā)環(huán)境的安裝
2.安裝GNUmake工具打開yagarto-tools-20100705-setup.exe,并安裝。
5.安裝FS-JTAG工具打開Setup.exe。安裝過程如下圖5-5所示。圖5-5JTAG調(diào)試工具安裝步驟安裝完成后,桌面有如下圖標(biāo)。這個(gè)工具主要是用來仿真器連接目標(biāo)A8實(shí)驗(yàn)箱。嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院
5.2.1Eclipse開發(fā)環(huán)境的安裝
4.安裝JAVA開發(fā)包打開jre-6u7-windows-i586-p-s.exe。如果電腦上已經(jīng)安裝過JAVA此類的工具,則不需要再次安裝。
5.安裝Eclipse解壓05.Eclipse-cpp-helios-SR1-win52.zip壓縮包,解壓完成后,找到當(dāng)中的Eclipse.exe發(fā)送到桌面快捷方式,改名為Eclipse_c(這里的改名主要為區(qū)別Android高版本的Eclipse)。打開Eclipse_c,設(shè)置過程如下圖5-6所示,確定你的工程安裝目錄。如圖5-7所示,點(diǎn)擊最右邊的工作區(qū)按鈕,就進(jìn)入Eclipse_c主界面。嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院
5.2.1Eclipse開發(fā)環(huán)境的安裝
圖5-6Eclipse工作目錄
圖5-7Eclipse操作界面淮陰工學(xué)院
電子信息工程學(xué)院嵌入式處理器及接口技術(shù)5.2.1Eclipse開發(fā)環(huán)境的安裝6.ARM仿真器驅(qū)動(dòng)的安裝如圖5-8所示,實(shí)驗(yàn)選用Cortex-A8ARM仿真器,該款仿真器可以仿真Cortex-M5、ARM7、ARM9、ARM11、Cortex-A8等多個(gè)ARM處理器系列。它是一款基于開源的OpenOcd接口的仿真器,外觀和JLINK相同,并且提供良好的交互界面,有著很全的調(diào)試功能,再加上Eclipse這樣強(qiáng)大的集成開發(fā)環(huán)境,使得它同樣能成為工程師的首選。它既有USB特性,USB2.0全速接口、USB電源供電;又有JTAG特性,IEEE1149.1標(biāo)準(zhǔn);支持燒寫NOR/NANDFlash。圖5-8仿真器實(shí)物嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院5.2.2Eclipse的調(diào)試方法1)指定一個(gè)工程存放目錄2)創(chuàng)建一個(gè)工程5)新建一個(gè)MakeFile文件4)新建一個(gè)腳本文件5)新建一個(gè)匯編源文件6)編譯工程淮陰工學(xué)院
電子信息工程學(xué)院嵌入式處理器及接口技術(shù)5.3S5PV210應(yīng)用電路設(shè)計(jì)S5PV210又名“蜂鳥”,是三星推出的一款適用于智能手機(jī)和平板電腦等多媒體設(shè)備的應(yīng)用處理器,S5PV210采用了ARMCortex-A8內(nèi)核,ARMv7指令集,主頻可達(dá)1GHz,52/52KB的數(shù)據(jù)/指令一級(jí)緩存,512KB的二級(jí)緩存,CortexA8核通過AHB/AXI總線和存儲(chǔ)器、多媒體、系統(tǒng)外設(shè)及連接接口進(jìn)行交互,可實(shí)現(xiàn)每秒運(yùn)算2億條指令集的高性能運(yùn)算能力。如圖5-18所示為S5PV210芯片系統(tǒng)框圖,圖5-19所示為S5PV210底層引腳分布。嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院
5.3S5PV210應(yīng)用電路設(shè)計(jì)
圖5-18S5PV210芯片系統(tǒng)框圖淮陰工學(xué)院
電子信息工程學(xué)院嵌入式處理器及接口技術(shù)5.3S5PV210應(yīng)用電路設(shè)計(jì)圖5-19S5PV210底層引腳分布(584pin,F(xiàn)CFBGA)嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院5.3.1S5PV210芯片軟硬件資源S5PV210芯片數(shù)據(jù)及圖形圖像處理能力強(qiáng),通信接口豐富。具備以下特點(diǎn):(1)CortexA8內(nèi)核,NEON?SIMD協(xié)處理器、CPU主頻1GHz。(2)采用45nm低功率制程,CPU典型功耗:11mW。(5)支持1GBDDR2。(4)0.65mm引腳間距,17×17mm2FBGA封裝。(5)支持USBHOST2.0、USBOTG2.0。(6)4個(gè)SDIO/HS-MMC接口。嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院5.3.1S5PV210芯片軟硬件資源
(7)支持MPEG-4/2/1、H.264/H265、VC-1、DivX的視頻編解碼1080p@50fps(1080P是指分辨率,1920×1080像素,兩者相乘就知道約等于200萬像素(8)支持2D圖形加速,最大支持8000×8000分辨率。(9)支持5D圖形加速(PowerVRSGX540),OpenGL-1.1&2.0、OpenVG1.0(10)支持SD/MMC/SDIO接口存儲(chǔ)卡,最高支持52GB。(11)支持JPEG硬件編解碼,最大支持65556×65556分辨率。(12)視頻硬件編解碼,支持1080p@50fps。(15)HDMI、TV-OUT、CAMERA×2?;搓幑W(xué)院
電子信息工程學(xué)院嵌入式處理器及接口技術(shù)5.3.2CVT-S5PV210教學(xué)平臺(tái)1.CVT-S5PV210教學(xué)平臺(tái)硬件資源CVT-S5PV210教學(xué)平臺(tái)硬件主要由三個(gè)部分組成:核心板、底板和邊板組成。1)核心板核心板是嵌入式系統(tǒng)的最重要的組成部分,它由處理器、內(nèi)存、閃存、電源電路、時(shí)鐘電路、CPU擴(kuò)展接口組成。核心板嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院
5.3.2CVT-S5PV210教學(xué)平臺(tái)
2)底板底板作為CVT-S5PV210教學(xué)實(shí)驗(yàn)系統(tǒng)常用外設(shè)的擴(kuò)展板。它依托核心板,進(jìn)行相應(yīng)的功能擴(kuò)展,引申出不同的外設(shè)功能,如音頻、視頻、網(wǎng)絡(luò)、攝象頭、WIFI、指示及控制、數(shù)據(jù)采集等。底板上模塊包括7寸TFT真彩液晶顯示器,7寸電阻式或電容式觸摸屏;雙SD卡/MMC卡接口;視頻TV-OUT、VGA、HDMI高清輸出接口;視頻AV輸入接口;底板模塊淮陰工學(xué)院
電子信息工程學(xué)院嵌入式處理器及接口技術(shù)5.3.2CVT-S5PV210教學(xué)平臺(tái)
5)邊板邊板作為嵌入式相關(guān)接口的擴(kuò)展板,讓用戶可學(xué)習(xí)ARM+DSP雙處理器的方法,了解常用的控制單元如模擬電機(jī)及步進(jìn)電機(jī)的控制,常用指示單元跑馬燈、7段數(shù)碼管、點(diǎn)陣LED等的控制,常用傳感器采集等。也可選配GPS/GPRS模塊、RFID模塊。嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院
5.3.2CVT-S5PV210教學(xué)平臺(tái)
(1)邊板電源電路設(shè)計(jì)邊板的大部分電路需要用到5.5V電源,GPRS模塊需要用到4V電源,我們采用從底板傳過來的12V電源和5V電源,利用DC-DC轉(zhuǎn)換芯片,分別轉(zhuǎn)換為4V和5.5V電源。12V轉(zhuǎn)換為4V電源電路如圖5-52所示。5V轉(zhuǎn)換為5.5V電源電路如圖5-55所示。圖5-5212V轉(zhuǎn)換為4V電源電路
圖5-555V轉(zhuǎn)換為5.5V電源電路淮陰工學(xué)院
電子信息工程學(xué)院嵌入式處理器及接口技術(shù)
5.3.2CVT-S5PV210教學(xué)平臺(tái)
(2)邊板矩陣LED擴(kuò)展電路設(shè)計(jì)①地址譯碼電路:用于產(chǎn)生控制步進(jìn)電機(jī)、矩陣LED、7段數(shù)碼管、跑馬燈的不同的片選信號(hào)。
②矩陣LED控制電路如下圖所示。上面的電路建議學(xué)生采用PROTEL或者AltiumDesigner軟件進(jìn)行電路設(shè)計(jì)。
地址譯碼電路矩陣LED控制電路嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院5.4S5PV210驅(qū)動(dòng)仿真調(diào)試實(shí)驗(yàn)5.4.1GPIO接口
GPIO(GeneralPurposeIOPorts),即通用IO接口。在嵌入式系統(tǒng)中常常有數(shù)量眾多、結(jié)構(gòu)卻比較簡(jiǎn)單的外部設(shè)備/電路,有的需要CPU為之提供控制手段,有的則需要被CPU用做輸入信號(hào)。而且,只要有開/關(guān)兩種狀態(tài)就夠了。比如控制某個(gè)LED燈的亮與滅,或者通過獲取某個(gè)引腳的電平狀態(tài)來達(dá)到判斷外圍設(shè)備的狀態(tài)。對(duì)這些設(shè)備/電路的控制,使用傳統(tǒng)的串口或并口都不合適。所以在微控制器芯片上一般都會(huì)提供一個(gè)“通用可編程IO接口”,即GPIO。GPIO接口淮陰工學(xué)院
電子信息工程學(xué)院嵌入式處理器及接口技術(shù)GPIO端口的輸入輸出類型I/O類型I/O端口描述AGPA0、GPA1、GPC0、GPC1、GPD0、GPD1、GPE0、GPE1、GPF0、GPF1、GPF2、GPF5、GPH0、GPH1、GPH2、GPH5、GPI、GPJ0、GPJ1、GPJ2、GPJ5、GPJ4標(biāo)準(zhǔn)I/O(5.5V)BGPB、GPG0、GPG1、GPG2、GPG5、MP0快速I/O(5.5V)CMP1、MP2DRAMI/O(1.8V)表5-5GPIO端口的輸入輸出類型嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院GPIO常用寄存器(1)GPA0控制寄存器在S5PV210中,大多數(shù)的引腳都可復(fù)用,所以必須對(duì)每個(gè)引腳進(jìn)行配置。端口控制寄存器(GPnCON)定義了每個(gè)引腳的功能。如表5-4所示。表5-4GPA0CON控制寄存器淮陰工學(xué)院
電子信息工程學(xué)院嵌入式處理器及接口技術(shù)
GPIO常用寄存器
(2)GPA0數(shù)據(jù)寄存器如果端口被配置成了輸入端口,可以從GPnDAT的相應(yīng)位讀出數(shù)據(jù);如果端口被配置成了輸出端口,可以向GPnDAT的相應(yīng)位寫數(shù)據(jù)(1:高電平,0:低電平);如果端口被配置成了其他功能引腳,則未定義的值將被讀取。表5-5GPA0DAT數(shù)據(jù)寄存器GPA0DAT位初始狀態(tài)GPA0DAT[7:0][7:0]0x00(5)GPA0上/下拉寄存器GPA0PUD位說明初始狀態(tài)GPA0PUD[n][2n+1:2n],n=0~700=上拉/下拉禁止01=下拉使能10=上拉使能11=保留0x5555
表5-6GPA0PUD寄存器嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院
GPIO常用寄存器
(4)GPA0驅(qū)動(dòng)能力控制寄存器當(dāng)接口需要輸出外接發(fā)光二極管等器件時(shí),可選用此功能增大接口的驅(qū)動(dòng)能力,如不同驅(qū)動(dòng)能力(1mA、2mA、4mA、8mA)的IO驅(qū)動(dòng)。表5-7GPA0DRV寄存器GPA0DRV位說明初始狀態(tài)GPA0DRV[n][2n+1:2n],n=0~700=1×01=2×10=5×11=4×0x0000(5)GPA0掉電模式配置寄存器表5-8GPA0CONPDNGPA0CONPDN位說明初始狀態(tài)GPA0[n][2n+1:2n],n=0~700=輸出001=輸出110=輸入11=以前狀態(tài)0x00淮陰工學(xué)院
電子信息工程學(xué)院嵌入式處理器及接口技術(shù)GPIO常用寄存器(6)GPA0掉電上/下拉寄存器
表5-9GPA0PUDPDNGPA0CONPDN位說明初始狀態(tài)GPA0[n][2n+1:2n],n=0~700=上拉/下拉禁止01=下拉使能10=上拉使能11=保留0x00(7)GPIO中斷控制寄存器GPIO中斷有22組,分別為GPA0、GPA1、GPB、GPC0、GPC1、GPD0、GPD1、GPE0、GPE1、GPF0、GPF1、GPF2、GPF5、GPG0、GPG1、GPG2、GPG5、GPJ0、GPJ1、GPJ2、GPJ5和GPJ4。表5-10GPA0中斷控制寄存器(讀/寫)寄存器地址描述復(fù)位值GPA0_INT_CON0xE0200700中斷配置寄存器0x0GPA0_INT_MASK0xE0200900中斷屏蔽寄存器0x000000FFGPA0_INT_PEND0xE0200A00中斷掛起寄存器0x0嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院5.4.2串口通信1、串行通信接口規(guī)范串行通信接口電路一般由可編程的串行接口芯片、波特率發(fā)生器、EIA與TTL電平轉(zhuǎn)換器以及地址譯碼電路組成。采用的通信協(xié)議有兩類:異步協(xié)議和同步協(xié)議。串行通信字符格式嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院串口通信參數(shù)a)波特率:RS-252-C標(biāo)準(zhǔn)規(guī)定的數(shù)據(jù)傳輸速率為每秒50、75、100、150、500、600、1200、2400、4800、9600、119200波特。b)數(shù)據(jù)位:標(biāo)準(zhǔn)的值是5、7和8位,如何設(shè)置取決于你想傳送的信息。比如,標(biāo)準(zhǔn)的ASCII碼是0~127(7位);擴(kuò)展的ASCII碼是0~255(8位)。c)停止位:用于表示單個(gè)包的最后一位,典型的值為1、1.5和2位。由于數(shù)是在傳輸線上定時(shí)的,并且每一個(gè)設(shè)備有其自己的時(shí)鐘,很可能在通信中兩臺(tái)設(shè)備間出現(xiàn)了小小的不同步。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供計(jì)算機(jī)校正時(shí)鐘同步的機(jī)會(huì)。d)奇偶校驗(yàn)位:在串口通信中一種簡(jiǎn)單的檢錯(cuò)方式。對(duì)于偶和奇校驗(yàn)的情況,串口會(huì)設(shè)置校驗(yàn)位(數(shù)據(jù)位后面的一位),用一個(gè)值確保傳輸?shù)臄?shù)據(jù)有偶個(gè)或者奇?zhèn)€邏輯高位。例如,如果數(shù)據(jù)是011,那么對(duì)于偶校驗(yàn),校驗(yàn)位為0,保證邏輯高的位數(shù)是偶數(shù)個(gè)。如果是奇校驗(yàn),校驗(yàn)位位1,這樣就有5個(gè)邏輯高位。
串口通信的傳輸格式
串行通信字符格式淮陰工學(xué)院
電子信息工程學(xué)院嵌入式處理器及接口技術(shù)串行通信中,線路空閑時(shí),線路的TTL
電平總是高,經(jīng)反向RS252
的電平總是低。一個(gè)數(shù)據(jù)的開始RS252
線路為高電平,結(jié)束時(shí)Rs252
為低電平。數(shù)據(jù)總是從低位向高位一位一位的傳輸。示波器讀數(shù)時(shí),左邊是數(shù)據(jù)的高位。傳送數(shù)據(jù)為二進(jìn)制數(shù)、文本文件(ASCii碼)數(shù)據(jù)舉例傳輸字節(jié)型文件0X55對(duì)應(yīng)二進(jìn)制位01010101就是一個(gè)字節(jié),串口從低位開始10101010這樣高低電平即可傳輸出去。文本文件“0A”“0”對(duì)應(yīng)ASCLL碼48,即二進(jìn)制00110000一個(gè)字節(jié),“A”對(duì)應(yīng)ASCLL碼65,即二進(jìn)制01000001一個(gè)字節(jié);將這個(gè)文本文件傳輸出去共發(fā)送兩個(gè)字節(jié)。串口數(shù)據(jù)舉例例如,對(duì)于16進(jìn)制數(shù)據(jù)55aaH,當(dāng)采用8位數(shù)據(jù)位、1位停止位傳輸時(shí)。55H=01010101B,取反后10101010B,加入一個(gè)起始位1,一個(gè)停止位0,55H的數(shù)據(jù)格式為1010101010B;aaH=10101010B,取反后01010101B,加入一個(gè)起始位1,一個(gè)停止位0,55H的數(shù)據(jù)格式為1101010100B;
5.4.2串口通信
2)串行接口的物理層標(biāo)準(zhǔn)通用的串行I/O接口有許多種,現(xiàn)就最常見的兩種標(biāo)準(zhǔn)作簡(jiǎn)單介紹。(1)RS-252C下圖分別給出了DB-25和DB-9的引腳定義。DB-25和DB-9引腳定義嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院9芯信號(hào)方向來自縮寫描述1調(diào)制解調(diào)器CD載波檢測(cè)2調(diào)制解調(diào)器RXD接收數(shù)據(jù)5PCTXD發(fā)送數(shù)據(jù)4PCDTR數(shù)據(jù)終端準(zhǔn)備好5
GND信號(hào)地6調(diào)制解調(diào)器DSR通訊設(shè)備準(zhǔn)備好7PCRTS請(qǐng)求發(fā)送8調(diào)制解調(diào)器CTS允許發(fā)送9調(diào)制解調(diào)器RI響鈴指示器
5.4.2串口通信
(2)信號(hào)電平規(guī)定RS-252C規(guī)定了雙極性的信號(hào)邏輯電平,它是一套負(fù)邏輯定義:-5V到-15V之間的電平表示邏輯“1”;+5V到+15V之間的電平表示邏輯“0”。以上標(biāo)準(zhǔn)稱為EIA電平。PC/XT系列使用的信號(hào)電平是-12V和+12V,符合EIA標(biāo)準(zhǔn),但在計(jì)算機(jī)內(nèi)部流動(dòng)的信號(hào)都是TTL電平,高電平為5.5~5.0V,低電平為0.4V,因此兩者之間需要進(jìn)行電平轉(zhuǎn)換。常用專門的RS-252接口芯片,如SP5252、SP5220、MAX252、MC1488/1489等,在TTL電平和EIA電平之間實(shí)現(xiàn)相互轉(zhuǎn)換。PC/XT系列以這種方式進(jìn)行串行通信時(shí),在波特率不高于9600bps的情況下,理論上通信線的長(zhǎng)度限制為15米?;搓幑W(xué)院
電子信息工程學(xué)院嵌入式處理器及接口技術(shù)串口電路串口的電氣特性:1)RS-252串口通信最遠(yuǎn)距離是
50英尺(15.24m);2)RS252可做到雙向傳輸,全雙工通訊,最高傳輸速率
20kbps;5)RS-252C上傳送的數(shù)字量采用負(fù)邏輯,且與地對(duì)稱。5.4.3中斷系統(tǒng)
中斷是計(jì)算機(jī)中的一個(gè)十分重要的概念,在現(xiàn)代計(jì)算機(jī)中毫無例外地都要采用中斷技術(shù)。
在計(jì)算機(jī)執(zhí)行程序的過程中,由于出現(xiàn)某個(gè)特殊情況(或稱為"事件"),使得CPU中止現(xiàn)行程序,而轉(zhuǎn)去執(zhí)行處理該事件的處理程序(俗稱中斷處理或中斷服務(wù)程序),待中斷服務(wù)程序執(zhí)行完畢,再返回?cái)帱c(diǎn)繼續(xù)執(zhí)行原來的程序,這個(gè)過程稱為中斷。嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院
ARM中斷系統(tǒng)
在ARM體系結(jié)構(gòu)中,與中斷相關(guān)的硬件可以劃分為5類,它們分別是設(shè)備、中斷控制器和CPU。(1)設(shè)備:設(shè)備是發(fā)起中斷的源,當(dāng)設(shè)備需要請(qǐng)求某種服務(wù)的時(shí)候,它會(huì)發(fā)起一個(gè)硬件中斷信號(hào),通常,該信號(hào)會(huì)連接至中斷控制器,由中斷控制器做進(jìn)一步的處理?;搓幑W(xué)院
電子信息工程學(xué)院嵌入式處理器及接口技術(shù)ARM中斷系統(tǒng)(2)中斷控制器:中斷控制器負(fù)責(zé)收集所有中斷源發(fā)起的中斷,現(xiàn)有的中斷控制器幾乎都是可編程的,通過對(duì)中斷控制器的編程,我們可以控制每個(gè)中斷源的優(yōu)先級(jí)、中斷的類型,還可以打開和關(guān)閉某一個(gè)中斷源。(5)CPU:CPU是最終響應(yīng)中斷的部件,它通過對(duì)可編程中斷控制器的編程操作,控制和管理者系統(tǒng)中的每個(gè)中斷,當(dāng)中斷控制器最終判定一個(gè)中斷可以被處理時(shí),他會(huì)根據(jù)事先的設(shè)定,通知其中一個(gè)或者是某幾個(gè)CPU對(duì)該中斷進(jìn)行處理,嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院5.4.4AD轉(zhuǎn)換與觸摸屏控制1、AD轉(zhuǎn)換器將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)的電路,稱為模數(shù)轉(zhuǎn)換器(簡(jiǎn)稱a/d轉(zhuǎn)換器或adc,analogtodigitalconverter),A/D轉(zhuǎn)換的作用是將時(shí)間連續(xù)、幅值也連續(xù)的模擬量轉(zhuǎn)換為時(shí)間離散、幅值也離散的數(shù)字信號(hào),因此,A/D轉(zhuǎn)換一般要經(jīng)過取樣、保持、量化及編碼4個(gè)過程。在實(shí)際電路中,這些過程有的是合并進(jìn)行的,例如,取樣和保持,量化和編碼往往都是在轉(zhuǎn)換過程中同時(shí)實(shí)現(xiàn)的。轉(zhuǎn)換器嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院AD轉(zhuǎn)換器的主要技術(shù)指標(biāo)
(1)分辨率指數(shù)字量變化一個(gè)最小量時(shí)模擬信號(hào)的變化量,定義為滿刻度與2n的比值。(2)轉(zhuǎn)換速率是指完成一次從模擬轉(zhuǎn)換到數(shù)字的AD轉(zhuǎn)換所需的時(shí)間的倒數(shù)。(5)量化誤差是由于AD的有限分辯率而引起的誤差。(4)偏移誤差是輸入信號(hào)為零時(shí)輸出信號(hào)不為零的值,可外接電位器調(diào)至最小。(5)滿刻度誤差是滿度輸出時(shí)對(duì)應(yīng)的輸入信號(hào)與理想輸入信號(hào)值之差。
(6)線性度是實(shí)際轉(zhuǎn)換器的轉(zhuǎn)移函數(shù)與理想直線的最大偏移,不包括以上三種誤差。淮陰工學(xué)院
電子信息工程學(xué)院嵌入式處理器及接口技術(shù)觸摸屏1、觸摸屏控制為了操作上的方便,人們用觸摸屏來代替鼠標(biāo)或鍵盤。觸摸屏應(yīng)用范圍非常廣闊,主要是公共信息的查詢,如電信局、稅務(wù)局、銀行、電力等部門的業(yè)務(wù)查詢,城市街頭的信息查詢;此外應(yīng)用于領(lǐng)導(dǎo)辦公、工業(yè)控制、軍事指揮、電子游戲、點(diǎn)歌點(diǎn)菜、多媒體教學(xué)、房地產(chǎn)預(yù)售等。將來,觸摸屏還要走入家庭,進(jìn)入智能家居控制系統(tǒng)。嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院
觸摸屏
2、觸摸屏接口電路S5PV210芯片的觸摸屏接口與ADC接口是集成在一起的,使用一個(gè)共同的10位CMOSA/D轉(zhuǎn)換器。觸摸屏接口可以通過控制/選擇外部觸摸屏的XP/XM/YP/YM輸入端口得到X/Y位置坐標(biāo),它主要由三個(gè)部分組成:觸摸屏控制部分、ADC和中斷控制器。S5PV210提供兩套touch接口,它們共享一個(gè)ADC。下圖所示為S5PV210的Touch接口功能框圖?;搓幑W(xué)院
電子信息工程學(xué)院嵌入式處理器及接口技術(shù)5.4.5PWM定時(shí)器控制脈寬調(diào)制(PWM)是指用微處理器的數(shù)字輸出來對(duì)模擬電路進(jìn)行控制,是一種對(duì)模擬信號(hào)電平進(jìn)行數(shù)字編碼的方法。以數(shù)字方式控制模擬電路,可以大幅度降低系統(tǒng)的成本和功耗。許多微控制器內(nèi)都包含PWM控制器。PWM控制器嵌入式處理器及接口技術(shù)淮陰工學(xué)院
電子信息工程學(xué)院
5.4.5PWM定時(shí)器控制
5、S5PV210蜂鳴器實(shí)驗(yàn)1)實(shí)驗(yàn)原理蜂鳴器是通過I/O口的GPD0CON5來間接控制的,為了增加驅(qū)動(dòng)能力,增加了三級(jí)管驅(qū)動(dòng)電路。當(dāng)三極管的基極(B)為高電平即GPF15
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工地修電安全知識(shí)培訓(xùn)課件
- 數(shù)據(jù)結(jié)構(gòu)(Java語言描述)(第2版)課件 8.3 哈希沖突的解決方法
- 調(diào)研報(bào)告2020年薪酬調(diào)研報(bào)告3篇
- 2025年網(wǎng)絡(luò)編輯師考試:網(wǎng)絡(luò)編輯網(wǎng)絡(luò)安全法律法規(guī)執(zhí)行力度試卷
- 2025年臺(tái)灣省事業(yè)單位招聘考試公共基礎(chǔ)知識(shí)試題
- 2025年西安市事業(yè)單位招聘考試衛(wèi)生類醫(yī)學(xué)影像專業(yè)知識(shí)試卷
- 2025年稅務(wù)師考試稅收籌劃案例解析模擬試卷
- 2025年天車工職業(yè)素養(yǎng)與職業(yè)成長(zhǎng)路徑考試試卷
- 2025年事業(yè)單位招聘考試綜合類專業(yè)能力測(cè)試試卷(文秘類)全球糧食安全
- 2025年事業(yè)單位招聘考試教師體育學(xué)科專業(yè)知識(shí)試卷(體育教學(xué)評(píng)價(jià)與反饋)
- 2021年陜西省榆林市小升初數(shù)學(xué)試卷(含答案及解析)
- (2.3.1)-1.3藏醫(yī)藥的爭(zhēng)鳴和發(fā)展
- 如愿二聲部合唱簡(jiǎn)譜文檔
- HY/T 083-2005海草床生態(tài)監(jiān)測(cè)技術(shù)規(guī)程
- GA/T 1502-2018法庭科學(xué)視頻中人像動(dòng)態(tài)特征檢驗(yàn)技術(shù)規(guī)范
- 甲減基層指南解讀
- 資產(chǎn)評(píng)估事務(wù)所投標(biāo)服務(wù)方案總體工作方案評(píng)估工作關(guān)鍵性內(nèi)容及重難點(diǎn)分析
- Q∕SY 1356-2010 風(fēng)險(xiǎn)評(píng)估規(guī)范
- 拆卸與安裝油箱加油管
- 《綠色物流與綠色供應(yīng)鏈》PPT課件
- ISO13485-2016醫(yī)療器械質(zhì)量管理體系全套資料(手冊(cè)、程序文件、記錄表單)
評(píng)論
0/150
提交評(píng)論