緒論
結(jié)合應(yīng)用筆記3936,"Maxim庫"說明在同一個基于ARM?的硬件環(huán)境下構(gòu)建USB主機(jī)(MAX3421E)和外設(shè)(MAX3420E) C程序、Keil?工程文件。該評估系統(tǒng)硬件包括以下部分:- MAX3421E EVKIT-1
- Keil MCB2130
該應(yīng)用筆記解釋了如何配置本評估板的各種元器件。
其它資料及聯(lián)絡(luò)信息
有關(guān)MAX3420E和MAX3421E的資料可以從Maxim網(wǎng)站下載,可以獲得數(shù)據(jù)資料、關(guān)于Maxim USB庫程序的其它應(yīng)用筆記及其它與MAX3420E和MAX3421E相關(guān)的應(yīng)用筆記、申請樣品的途徑。如果對MCB2130電路板或Keil Software?、ARM軟件的開發(fā)工具有疑問,請聯(lián)系Keil公司:www.keil.com。
硬件配置
圖1. Maxim MAX3421E EVKIT-1插入Keil MCB2130電路板。
圖1所示為雙板配置,其中藍(lán)色的是Keil MCB2130板,包括一片Philips? LPC2138、ARM7?微控制器。LPC2138提供兩個SPI硬件單元,每個單元連接一個USB控制器。
圖1中豎著放置的電路板是MAX3421E EVKIT-1。如圖1所示,MAX3420E外圍控制器連接到其中一個ARM SPI口,并連接到標(biāo)有“3420P” (P表示外圍)的USB B口(J5)。MAX3421E主機(jī)/外設(shè)控制器接到另一個ARM SPI口,并連接到標(biāo)有“3421P” (J2)和“3421H” (J1)的接口(H表示主機(jī))。由于USB庫程序?qū)AX3421E作為主機(jī),所以評估板中間的USB接口(J2)未使用。
MCB2130 (P1)有兩個串行接口,主機(jī)程序使用其中一個將USB描述信息發(fā)送到運行終端仿真程序的PC機(jī)。終端程序,如Tera Term Pro,可以仿真終端(VT100),識別由程序發(fā)出的特殊的“換碼”序列,清除屏幕并將光標(biāo)移到起始位置。終端程序的設(shè)置為38400,N,8,1,沒有流控制。
圖1中的米色盒子和排線為Keil ULINK? JTAG下載調(diào)試器,由Keil μVision3開發(fā)環(huán)境支持。MCB2130板帶有μVision3評估程序(Keil工具箱的全功能版本)。評估板將程序代碼限制在16kB。
在雙板配置中有四個USB接口,Keil MCB2130板上的USB接口只接VBUS和地。將該接口插入USB主機(jī)即可為雙板系統(tǒng)提供5V電源。有些USB集線器可能無法提供驅(qū)動板子的足夠電流,所以最好直接從PC機(jī)的備用USB口上取電。
Maxim評估板上有三個USB接口,如上所述,B口連接到MAX3420E,圖1標(biāo)有3420E P。MAX3421E (即可作為USB主機(jī)也可作為外設(shè))連接到兩個USB口(3421P和3421H)。這些接口將D+和D-引腳接到一起,并在某一時刻只接通一個。USB庫程序不使用中間的USB口(3421P)。
MAX3420E和MAX3421E連接到ARM微控制器兩個獨立的SPI口。這種配置便于對同時運行同一個程序的主機(jī)和外設(shè)進(jìn)行寫操作,同時也能提供一個理想的USB訓(xùn)練和調(diào)試系統(tǒng)。主機(jī)可將USB請求發(fā)送給外圍設(shè)備,外圍設(shè)備產(chǎn)生響應(yīng),主機(jī)再對結(jié)果進(jìn)行評估,所有操作都在一個C程序里。圖1中黑色的USB線用于連接MAX3420E和MAX3421E。
Keil MCB2130板可以從Keil和其它渠道獲得。上述Maxim網(wǎng)頁提供了Keil產(chǎn)品的最新信息。
MAX3421E EVKIT-1結(jié)構(gòu)框圖
圖2. MAX3421E EVKIT-1結(jié)構(gòu)框圖,圖中橢圓陰影部分為應(yīng)用程序模塊。
圖2提供了兩個USB控制器與USB口的連接方式(J1、J2、J5)。將36引腳插頭(J4)插入Keil MCB2310開發(fā)板。本設(shè)計使用了ARM處理器兩個獨立的SPI端口,方便對兩個USB控制器(U1和U2)獨立操作。主機(jī)程序以后臺方式運行(main{}中的程序),外圍程序通過LPC2138 中斷EINT0調(diào)用。
由于U1以主機(jī)方式操作,系統(tǒng)必須給USB A口(J1)提供電源VBUS。通過連接到J3-3的飛線,我們給評估板提供5V電源。該5V電源可以從Keil板上標(biāo)有“5V IN”的測試點引出,也可以由一個實驗室電源提供。U3 (MAX4793)控制VBUS的通斷并提供限流。U3通過其GPO-7引腳控制VBUS給J1供電,并可檢測出GPIN-0的過流(超過300mA)。
評估板上的按鈕和指示燈接到兩個控制器,U1驅(qū)動一個7段數(shù)碼管并連接至4個按鈕(PB1-PB4)。U2驅(qū)動4個LED并連接到按鈕PB5至PB8。
Keil MCB2130板準(zhǔn)備工作
圖3. 將36引腳插頭安裝到圖中紅框所示區(qū)域
Keil MCB2310板設(shè)計了用于安裝多個2引腳和8引腳接頭的區(qū)域(圖3)。Maxim評估板通過一個36引腳的插頭(板上已附)連接到Keil MCB2310,其中包括3.3V電源引腳、三組8引腳接頭和兩個GND引腳(圖3紅線區(qū)域所示)。因為Keil板上各接頭間有間隙,因此在安裝36引腳接頭前應(yīng)該將某些引腳去掉。在確信不需要的引腳已經(jīng)從接頭上拿掉之后再將插頭安裝到Keil板上。
圖3顯示有一個檢測點(紅圈,在板子的右上部分)。從這點可以引出Maxim評估板所需的5V電源。這個5V電源實際來自于Keil板上USB電源接口的VBUS引腳(圖4)。
圖4. 通過飛線為Maxim評估板提供VBUS。
Keil軟件安裝
Keil μVision3 ARM開發(fā)軟件演示版可從www.keil.com下載,與Maxim軟件包一起提供的μVision3工程文件是由可下載Keil文件工具mdk303a.exe創(chuàng)建的。由于有兩個工程文件是Keil公司在其開發(fā)環(huán)境下提供的,因此必須使用這種版本的工程文件(這兩個文件并不包含在MaximUSBLab10.zip文件中)。MaximUSBLab工程文件安裝在路徑C:\Keil下,當(dāng)安裝Keil演示工具箱時,一定使用缺省安裝目錄C:\Keil,以保證Keil文件正確的路徑。對于Keil中mdk303a.exe工具箱而言,Keil提供的兩個文件路徑名為:
C:\Keil\ARM\RV30\Boards\Keil\MCB2130\Blinky\startup.s
C:\Keil\ARM\RV30\Boards\Keil\MCB2130\Blinky\retarget.c
Keil演示版工程包括很多版本的“Blinky”。一定要使用和MCB2310板相對應(yīng)的文件,Maxim的軟件使用MCB2310。
如果有Keil ULINK JTAG調(diào)試單元,則需要從Keil網(wǎng)站上下載USB驅(qū)動。Maxim程序已經(jīng)使用3071.zip文件(從Keil網(wǎng)站上下載)檢測過。在安裝了演示版μVision開發(fā)軟件之后,雙擊該文件即能安裝USB驅(qū)動,將μVision3和ULINK單元連接。
安裝完演示版Keil軟件后,找到MaximUSBLab10文件夾并雙擊文件MaximUSBLab.Uv2。這樣就在正確設(shè)置下打開該工程文件。點擊“Rebuid All Target Files”按鈕,工程文件就能編譯。如果有ULINK單元并安裝了USB 驅(qū)動,可以點擊“Star/Stop Debug Session”按鈕運行、修改和調(diào)試Maxim例程。
運行固件的三種方法
- 下載并查看MaximUSBLab.hex
從Maxim網(wǎng)站可以下載Maxim USB庫(hex)文件,它包含在應(yīng)用筆記3936,"Maxim USB庫,是Keil壓縮工程文件的一部分??梢酝ㄟ^免費的插件(Flash Magic,圖5所示)將hex文件下載到LPC2138閃存內(nèi),該插件可以在www.esacademy.com上獲得。在使用該插件之前,核對Options/Advanced Options/Hardware Config下的說明部分。
在Keil板上,運行Flash Magic插件時,使用P2串行接口并將J7接到ISP上。
注意:移開J7之后S2將不再作為INT1中斷源。由于Maxim 應(yīng)用程序?qū)NT1用于其它目的,可以把J7放在ISP上。
圖5. Flash Magic用于MCB2310的典型設(shè)置
圖6. 首先設(shè)置選項
- 調(diào)試和修改(受限制)
如果有Keil ULINK JTAG單元,則可編譯Maxim示例代碼,通過JTAG接口下載并調(diào)試它。也可以設(shè)置斷點并單步調(diào)試代碼。這是一種快速學(xué)習(xí)USB的好方法——研究并修改工作主機(jī)和/或外圍設(shè)備代碼,以滿足我們的目的。
用于ARM的演示版Keil μVision3擁有μVision3的全部功能,代碼大小被限制在16kB。Maxim USB庫工程文件(MaximUSBLab.Uv2)在“Thumb only”模式下編譯,以保證該工程代碼的容量在限制范圍內(nèi)。
- 完全開發(fā)
對于正式開發(fā)工作,建議購買全功能版Keil μVision3 ARM工具箱。這樣能不受16kB的限制,適用于更廣泛的應(yīng)用程序(高達(dá)512kB的LPC2138閃存)。
評論
查看更多