




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、ARM嵌入式接口技術(shù)應(yīng)用 -提高篇眾多領(lǐng)域中抽象出六大常見應(yīng)用模塊最后對嵌入式實時操作系統(tǒng)COS-II作了重點(diǎn)闡述,并對獨(dú)自研發(fā)的操作系統(tǒng)移植代碼作了重點(diǎn)剖析。章節(jié)目錄第一章ARM實驗板硬件結(jié)構(gòu)與開發(fā)環(huán)境第二章串行通信 第三章存儲器件 第四章時鐘控制模塊 第五章人機(jī)交互輸出接口 第六章人機(jī)交互輸入接口 第七章模/數(shù)與數(shù)/模轉(zhuǎn)換 第八章C/OS-嵌入式操作系統(tǒng)的移植 第九章 電機(jī)控制 第一章 ARM實驗板硬件結(jié)構(gòu)與開發(fā)環(huán)境一、 硬件平臺功能模塊介紹二、 開發(fā)環(huán)境與JTAG下載環(huán)境介紹三、 蜂鳴器范例程序的燒寫與調(diào)試四、 附錄-LPC2220的簡要介紹 一、硬件平臺部分功能模塊1、串行通信:SPI
2、、I2C、UART、RS232、RS4852、存儲器操作:EEPROM、SRAM、Nor-FLASH、Nand-FLASH3、片內(nèi)功能模塊:定時器、計數(shù)器、看門狗、PWM、實時時鐘、低功耗4、人機(jī)交互:矩陣式鍵盤、觸摸屏、聲音電路、數(shù)碼管、顯示屏、蜂鳴器5、數(shù)模和模數(shù)轉(zhuǎn)換、數(shù)字電位器7、嵌入式操作系統(tǒng)uCOS-II平臺上的相關(guān)實驗,等等更多實驗。6、步進(jìn)電機(jī)和直流電機(jī)(實驗箱上完成 )。可開展的實驗1.1 RS232和RS485串行通信接口 LPC2220內(nèi)部的UART0模塊與SP3232E芯片構(gòu)成RS232通信模塊;SP3232E芯片是RS232通信轉(zhuǎn)換芯片;UART1模塊與MAX483芯片
3、構(gòu)成RS485通信模塊。MAX483是5V工作電源的半雙工的RS485通信轉(zhuǎn)換芯片。 流水燈接口74HC164是一款串/并轉(zhuǎn)換芯片,ARM可以通過串行通信方式把數(shù)據(jù)發(fā)送到74HC164芯片中,然后74HC164把接收到的數(shù)據(jù)輸出到并行端口QAQH上。每個輸出端都連接了一個LED燈。1.3 LCM接口液晶顯示器件具有顯示信息量大、低壓、低功耗、長壽命、無輻射、無污染的優(yōu)異特性,在顯示領(lǐng)域占據(jù)了重要地位。LPC2220采用間接訪問方式連接LM2068圖形液晶模塊,該液晶模塊沒有地址總線,顯示地址和顯示數(shù)據(jù)均通過Q1Q8共8根I/O線傳送。EEPROM接口電路 EEPROM是一種價格便宜、接口簡單、
4、應(yīng)用廣泛的存儲器件,主要應(yīng)用于保存關(guān)鍵數(shù)據(jù)且數(shù)據(jù)量不大的場合。本系統(tǒng)采用的是CAT24WC16芯片,ARM芯片提供的是漏極開路的I2C總線 ,時鐘線和數(shù)據(jù)線上都要接一個上拉電阻 存儲器接口核心板上擴(kuò)展了16 Mbit FLASH(SST39VF1601)和4 Mbit SRAM,其中FLASH用來保存用戶的程序代碼,SRAM用來存儲程序運(yùn)行時的數(shù)據(jù)。 1.6 Nand-Flash接口K9F6408U0C是三星公司生產(chǎn)的與非型64 Mbit FLASH存儲器,它具有工作電壓低、擦寫速度快、體積小等優(yōu)點(diǎn),正成為大型數(shù)據(jù)如語音、數(shù)字圖像、文件等系統(tǒng)數(shù)據(jù)的載體。 1.7 ADC接口LPC2220系列A
5、RM具有8路10位 ADC轉(zhuǎn)換器,其參考電壓為。本實驗板提供了兩路電壓信號測量輸入通道ADC1和ADC2,其中每1個通道又有兩個可選擇的信號輸入源 。1.8 DAC接口DAC7512N是一款35V電源供電的DAC芯片,通過SPI接口接收數(shù)字量數(shù)據(jù),再將數(shù)字量數(shù)據(jù)轉(zhuǎn)換成相對應(yīng)的電壓模擬量輸出。 1.9 數(shù)碼管接口本實驗板采用了4位1體的共陽極數(shù)碼管,4位1體的數(shù)碼管總共需要12個I/O控制端口,其中4個I/O口用于控制數(shù)碼管的位選端,另外8個I/O口用于控制數(shù)碼管的段選端 。74HC595芯片把從ARM接收到的串行數(shù)據(jù)并行輸出到QAQH端口上,進(jìn)而控制數(shù)碼管的段選端(A1A4)輸入數(shù)據(jù)。2.0
6、蜂鳴器和喇叭接口在發(fā)聲電路設(shè)計上,本實驗板準(zhǔn)備了兩路發(fā)聲電路:蜂鳴器、喇叭。兩路發(fā)聲電路分別通過兩路I/O口SPK、BEE進(jìn)行控制。 2.1 鍵盤接口鍵盤按照結(jié)構(gòu)形式可分兩大類:編碼鍵盤和非編碼鍵盤。本實驗板具有16個按鍵,采用非編碼式,4行4列矩陣式排列。2.2 觸摸屏接口本實驗板采用電阻四線式觸摸屏,觸摸屏采用ADS7843芯片進(jìn)行控制。ADS7843芯片的通信引腳和控制引腳連接LPC2220處理器的I/O口上。2.3 計數(shù)接口本實驗板設(shè)計了兩路計數(shù)接口電路,外部脈沖信號可以連接Count接頭的1、2腳或者3、4腳。JS1和JS2兩個端口連接LPC2220的捕獲引腳,實現(xiàn)對外部脈沖計數(shù)。2
7、.4 PWM接口PWM輸出電路可以輸出一個PWM波形,匹配輸出電路也可以產(chǎn)生一個脈沖波形。在PWM和MAT都各自連接了一個集成運(yùn)算放大電路,放大倍數(shù)由RP1、RP2電位計調(diào)節(jié),信號放大之后再由4線接口輸出。2.5 實驗板結(jié)構(gòu) 電源插座2. 外部電壓測試端口3. 按鍵區(qū)域(17個按鍵)4. RS232接口5. 4位數(shù)碼管6. 觸摸屏接口7. 液晶屏接口8. 液晶屏亮度調(diào)節(jié)旋鈕9. 8個LED燈10.核心板插座11.喇叭接口燈外部測試端口13.蜂鳴器14.電位器區(qū)域采樣源設(shè)置跳線16.外部端口連接區(qū)域 二、開發(fā)環(huán)境ADS集成開發(fā)環(huán)境,其成熟版本為。支持軟件調(diào)試及JTAG硬件仿真調(diào)試,支持匯編、C和
8、C+源程序,具有編譯效率高,系統(tǒng)庫功能強(qiáng)等特點(diǎn)。名稱描述使用方法代碼生成工具ARM匯編器,ARM的C、C編譯器,Thumb的C、C編譯器,ARM連接器由Code Warrior IDE調(diào)用集成開發(fā)環(huán)境Code Warrior IDE工程管理,編譯鏈接調(diào)試器AXD,ADW/ADU,armsd仿真調(diào)試指令模擬器ARMulator由AXD調(diào)用ARM開發(fā)包一些底層的程序例子,使用程序由Code Warrior IDE調(diào)用ARM應(yīng)用庫C、C函數(shù)庫等用戶程序使用集成開發(fā)環(huán)境的組成 1.1 Code Warrior IDE 簡介使用了Code Warrior IDE集成開發(fā)環(huán)境,用戶在這個IDE集成開發(fā)環(huán)境
9、下可以方便的編寫程序并管理好整個工程項目。1.2 AXD調(diào)試器簡介ADX調(diào)試器為ARM擴(kuò)展調(diào)試器。AXD能夠裝載映像文件到目標(biāo)內(nèi)存,具有單步、全速和斷點(diǎn)等調(diào)試功能,可以觀察變量、寄存器和內(nèi)存的數(shù)據(jù)等等。三、 蜂鳴器程序范例實驗?zāi)康模和ㄟ^編寫一個簡單的程序,熟悉的開發(fā)環(huán)境和調(diào)試環(huán)境,掌握如何通過JTAG接口把程序燒寫到實驗板上。有關(guān)ARM匯編指令和軟件的詳細(xì)介紹請參考本套書中的第一本“入門篇”。實驗內(nèi)容:編寫一個簡單的程序,控制蜂鳴器間斷地產(chǎn)生蜂鳴聲。實驗電路如圖,蜂鳴器的控制引腳BEE連接ARM芯片的。當(dāng)為高電平時,三極管Q7導(dǎo)通,蜂鳴器蜂鳴;當(dāng)為低電平時,三極管Q7截止,蜂鳴器停止蜂鳴。1.
10、1 蜂鳴器程序#include “”/包含所有的頭文件定義/* 名稱:DelayMS()* 功能:軟件延時* 入口參數(shù):dly延時參數(shù),大約延時dly毫秒*/void DelayMS(uint32 dly) uint32 i; for(; dly0; dly-) for(i=0; i5000; i+);/* 名稱:main()* 功能:控制蜂鳴器蜂鳴。*/int main(void) IO1DIR = IO1DIR | (124); / 設(shè)置控制蜂鳴器引腳為I/O輸出 while(1) IO1CLR = (124);/ P1.24 = 0, 關(guān)閉蜂鳴器 DelayMS(100); IO1SET
11、 = (124);/ P1.24 = 1, 打開蜂鳴器 DelayMS(100); 1.2 建立工程選擇Windows操作系統(tǒng)的“開始”“所有程序”“”“CodeWarrior for ARM Developer Suite” 命令啟動Metrowerks CodeWarrior或雙擊CodeWarrior for ARM Developer Suite快捷方式啟動。 選擇“QuickStart_ARM”工程模板;在“Project name:”中輸入工程文件名,例如命名為BEE,點(diǎn)擊“Location:”文本框的“Set”按鈕,瀏覽選擇想要將該工程保存的路徑(注意:路徑名最好是英文的),將這
12、些設(shè)置好后,點(diǎn)擊“確定”,即可建立一個新的名為的工程。1.3 編輯程序新建的工程項目已經(jīng)包含了一些基本的程序文件(啟動代碼文件和,在“*.h”組中有所需的頭文件,主程序文件) 。我們在user組中雙擊,打開main文件,然后輸入程序清單所示的程序 。在工程項目視圖中單擊“Make”圖標(biāo)對工程進(jìn)行編譯鏈接,(或者按快捷鍵F7)。編譯后,將會彈出一個“Errors & Warnings”對話框,報告編譯信息 1.4 程序下載當(dāng)工程編譯鏈接通過后,會在相應(yīng)的工程目錄(如“E:testBEEBEE_DataFlash”)生成一個可執(zhí)行映象文件和二進(jìn)制可執(zhí)行文件BEE.bin 。二進(jìn)制可執(zhí)行文件是用來程
13、序下載的,而可執(zhí)行映像文件是用來程序調(diào)試的。接下來我們的工作是先把二進(jìn)制可執(zhí)行文件下載到ARM實驗板上,下載步驟如下: 首先將JTAG仿真器的25針接口通過并口延長線與PC機(jī)的并口連接,將JTAG仿真器的另外一頭連接到實驗板的下載口上,再使用配套USB線(5V)給實驗板供電。 打開H-JTAG Server軟件,單擊菜單“Settings”“Jtag Settings” 。彈出Jtag Settings對話框,選擇Wiggler下載器。 單擊菜單“Operations”“Detect Target”,此時H-JTAG軟件進(jìn)行目標(biāo)板的連接,如果檢測到目標(biāo)板,會在在主界面的中央部分會顯示芯片的類型
14、和其 32 位芯片ID。如果檢測失敗,或者芯片無法識別,H-JTAG將會顯示UNKNOWN,提示用戶 H-JTAG無法檢測/識別目標(biāo)開放板。 單擊菜單“Flasher”“Start H-Flasher”,彈出H-Flasher燒寫向?qū)А6M(jìn)制文件的燒寫一共分為4步,即Flash選擇存儲器配置初始化芯片腳本編程下載。 在向?qū)У谝徊疆?dāng)中,選擇Flash芯片型號。根據(jù)實驗板的具體情況,我們選擇SST廠商,在SST廠商芯片中選擇具體型號為SST39VF1601。 在向?qū)У牡诙?,是對存儲器進(jìn)行配置。 SST39VF1601只支持 16-BIT 模式,所以位寬采用默認(rèn)設(shè)置。 根據(jù) LPC2220的數(shù)據(jù)手
15、冊,我們需要對三個寄存器進(jìn)行設(shè)置: PINSEL20 xE002C014 BCFG0 0 xFFE00000 BCFG10 xFFE00004。 在配置好后,在編程向?qū)У牡谒牟街?,就可以?FLASH 執(zhí)行不同的操作了。選擇文件格式為二進(jìn)制(Plain Binary Format),燒寫的目的地址為 0 x80000000,設(shè)置如圖所示。然后開始燒寫。燒寫完成后,H-FLASHER 會提示燒寫并驗證成功。1.5 程序的調(diào)試啟動AXD調(diào)試環(huán)境后,單擊菜單“Options”“Configure Target”,彈出“Choose Target”對話框在圖所示的配置窗口中,點(diǎn)擊 Add 按鈕添加驅(qū)動
16、程序,用戶會看到選擇 DLL 文件的對話框。在對話框里選擇 H-JTAG 安裝目錄下的 ,然后點(diǎn)擊確定。 添加“”文件后,“Choose Target”對話框中會多一個“H-JTAG”選項,選中“H-JTAG”選項。如圖,點(diǎn)擊 OK,AXD的配置就全部完成了。打開“Load Image”對話框,在該對話框中找到剛剛生成的可執(zhí)行映象文件“”,如圖所示。單擊“打開”按鈕后,AXD調(diào)試環(huán)境就裝載了可執(zhí)行映像文件。 程序下載完畢后,程序運(yùn)行指針會自動跳到第一條語句(啟動代碼) 。單擊AXD調(diào)試環(huán)境工具條中得運(yùn)行鍵即可運(yùn)行 四、附錄 - LPC2220簡要介紹LPC2220是基于一個支持實時仿真和跟蹤的
17、32位ARM7TDMI-S核,QFP144封裝的芯片。LPC2220芯片內(nèi)部功能模塊包括: 1) 8路10位A/D轉(zhuǎn)換器,轉(zhuǎn)換時間低至。 2) 2個32位定時器、PWM單元、實時時鐘和看門狗。 3) 多個串行接口,包括2 個16C550工業(yè)標(biāo)準(zhǔn) UART、高速I2C接口和2個SPI接口。 4) 一個向量中斷控制器,可程序配置優(yōu)先級和向量地址。 5) 多達(dá)76個通用I/O口,9個邊沿或電平觸發(fā)的外部中斷引腳。 6) 通過外部存儲器接口可將存儲器配置成4組,每組的容量高達(dá)16Mb,數(shù)據(jù)寬度為8/16/32位。 7) EmbeddedICE-RT和嵌入式跟蹤接口使用片內(nèi)RealMonitor軟件對任
18、務(wù)進(jìn)行實時調(diào)試并支持對執(zhí)行代碼進(jìn)行無干擾的高速實時跟蹤。 8) 雙電源環(huán)境下工作,CPU內(nèi)核工作電壓范圍:1.95 V(1.8 V0.15 V) ;I/O操作電壓范圍:3.6 V(3.3 V10%),可承受5V電壓 LPC2220引腳描述LPC2220的芯片引腳與LPC221X(如LPC2220、LPC2214)系列的芯片引腳是兼容的。除電源引腳(如V18、V3、Vs等)、晶振引腳(XTAL1、XTAL2)和復(fù)位引腳(RESET)外,其他的引腳都具備多種功能,通過寄存器的配置可以讓其工作在某種功能下。 1.2 LPC2220的引腳功能的設(shè)置ARM芯片中往往一個引腳可以具有多個功能,即引腳復(fù)用。
19、通過配置相關(guān)寄存器來選擇引腳具體的功能。在LPC2220芯片中,有一個引腳連接模塊專門管理引腳的功能選擇。這個引腳連接模塊包含3個寄存器:PINSEL0、PINSEL1、PINSEL2。名稱描述訪問復(fù)位值地址PINSEL0引腳選擇寄存器0讀/寫0 x0000 00000 xE002 C000PINSEL1引腳選擇寄存器1讀/寫0 x1540 00000 xE002 C004PINSEL2引腳選擇寄存器2讀/寫見表1- 80 xE002 C0141.3 引腳功能選擇寄存器0PINSEL0引腳名稱00011011復(fù)位值1:0P0.0GPIO (P0.0)TxD(UART0)PWM1保留003:2P
20、0.1GPIO (P0.1)RxD(UART0)PWM3EINT0005:4P0.2GPIO (P0.2)SCL(I2C)捕獲0.0(TIMER0)保留007:6P0.3GPIO (P0.3)SDA(I2C)匹配0.0(TIMER0)EINT1009:8P0.4GPIO (P0.4)SCK(SPI0)捕獲0.1(TIMER0)保留0011:10P0.5GPIO (P0.5)MISO(SPI0)匹配0.1(TIMER0)保留0013:12P0.6GPIO (P0.6)MOSI(SPI0)捕獲0.2(TIMER0)保留0015:14P0.7GPIO (P0.7)SSEL(SPI0)PWM2EINT
21、20017:16P0.8GPIO (P0.8)TxD(UART1)PWM4保留0019:18P0.9GPIO (P0.9)RxD(UART1)PWM6EINT30021:20P0.10GPIO (P0.10)RTS(UART1)捕獲1.0(TIMER1)保留0023:22P0.11GPIO (P0.11)CTS(UART1)捕獲1.1(TIMER1)保留0025:24P0.12GPIO (P0.12)DSR(UART1)匹配1.0(TIMER1)保留0027:26P0.13GPIO (P0.13)DTR(UART1)匹配1.1(TIMER1)保留0029:28P0.14GPIO (P0.14)
22、CD(UART1)EINT1保留0031:30P0.15GPIO (P0.15)RI(UART1)EINT2保留00 1.4 引腳功能選擇寄存器1PINSEL1引腳名稱00011011復(fù)位值1:0P0.16GPIO (P0.16)EINT0匹配0.2保留003:2P0.17GPIO (P0.17)捕獲1.2SCK(SPI1)匹配1.2005:4P0.18GPIO (P0.18)捕獲1.3MISO(SPI1)匹配1.3007:6P0.19GPIO (P0.19)匹配1.2MOSI(SPI1)匹配1.3009:8P0.20GPIO (P0.20)匹配1.3SSEL(SPI1)EINT30011:10P0.21GPIO (P0.21)PWM5保留捕獲1.30013:12P0.22GPIO (P0.22)保留捕獲0.0匹配0.00015:14P0.23GPIO (P0.23)保留保留保留0017:16P0.24GPIO (P0.24)保留保留保留0019:18P0.25GPIO (P0.25)保留保留保留0021:20P0.26GPIO (P0.26)保留
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 養(yǎng)豬采購合同范例
- 98勞務(wù)合同范例
- 再婚合同范例
- 九陽股賒銷合同范例
- 養(yǎng)豬分紅合同范例
- 代理門店轉(zhuǎn)讓合同范例
- 個人轉(zhuǎn)讓汽車合同范例
- Coolpo基于FMEA模型的國際外包風(fēng)險管理
- 外源氮對錳介導(dǎo)凋落物難降解有機(jī)碳轉(zhuǎn)化過程的影響
- 上海精裝修房買賣合同范例
- 醫(yī)院培訓(xùn)課件:《多發(fā)性骨髓瘤》
- 2025年遼寧石化職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫審定版
- 安徽省六校2024-2025學(xué)年高三下學(xué)期2月素質(zhì)檢測考試生物學(xué)試題(含解析)
- 2025年湖南省長沙市單招職業(yè)傾向性測試題庫及參考答案
- 十八項核心制度培訓(xùn)課件
- 2024年遠(yuǎn)程教育行業(yè)市場運(yùn)營現(xiàn)狀及行業(yè)發(fā)展趨勢報告
- 2025年2月上海市高三聯(lián)考高考調(diào)研英語試題(答案詳解)
- 2024-2025學(xué)年六年級上學(xué)期數(shù)學(xué)第三單元3.1-搭積木比賽(教案)
- DeepSeek從入門到精通
- 植保機(jī)械技術(shù)培訓(xùn)課件
- 2024年水利工程建設(shè)行業(yè)市場發(fā)展監(jiān)測及投資潛力預(yù)測報告
評論
0/150
提交評論