結(jié)合應(yīng)用筆記3936 (Maxim USB庫)說明在同一個基于ARM的硬件環(huán)境下構(gòu)建USB主機(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軟件、ARM軟件的開發(fā)工具有疑問,請聯(lián)系Keil公司:http://www.keil.com/。 硬件配置 圖1中豎著放置的電路板是MAX3421E EVKIT-1。如圖1所示,MAX3420E外圍控制器連接到其中一個ARM SPI口,并連接到標有“3420P” (P表示外圍)的USB B口(J5)。MAX3421E主機/外設(shè)控制器接到另一個ARM SPI口,并連接到標有“3421P”(J2)和“3421H”(J1)的接口(H表示主機)。由于USB庫程序?qū)AX3421E作為主機,所以評估板中間的USB接口(J2)未使用。 MCB2130(P1)有兩個串行接口,主機程序使用其中一個將USB描述信息發(fā)送到運行終端仿真程序的PC機。終端程序,如Tera Term Pro,可以仿真終端(VT100),識別由程序發(fā)出的特殊的“換碼”序列,清除屏幕并將光標移到起始位置。終端程序的設(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主機即可為雙板系統(tǒng)提供5V電源。有些USB集線器可能無法提供驅(qū)動板子的足夠電流,所以最好直接從PC機的備用USB口上取電。 Maxim評估板上有三個USB接口,如上所述,B口連接到MAX3420E,圖1標有3420E P。MAX3421E (即可作為USB主機也可作為外設(shè))連接到兩個USB口(3421P和3421H)。這些接口將D+和D-引腳接到一起,并在某一時刻只接通一個。USB庫程序不使用中間的USB口(3421P)。 MAX3420E和MAX3421E連接到ARM微控制器兩個獨立的SPI口。這種配置便于對同時運行同一個程序的主機和外設(shè)進行寫操作,同時也能提供一個理想的USB訓(xùn)練和調(diào)試系統(tǒng)。主機可將USB請求發(fā)送給外圍設(shè)備,外圍設(shè)備產(chǎn)生響應(yīng),主機再對結(jié)果進行評估,所有操作都在一個C程序里。圖1中黑色的USB線用于連接MAX3420E和MAX3421E。 Keil MCB2130板可以從Keil和其它渠道獲得。上述Maxim網(wǎng)頁提供了Keil產(chǎn)品的最新信息。 MAX3421E EVKIT-1結(jié)構(gòu)框圖 由于U1以主機方式操作,系統(tǒng)必須給USB A口(J1)提供電源VBUS。通過連接到J3-3的飛線,我們給評估板提供5V電源。該5V電源可以從Keil板上標有“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板準備工作 圖3顯示有一個檢測點(紅圈,在板子的右上部分)。從這點可以引出Maxim評估板所需的5V電源。這個5v電源實際來自于Keil板上USB電源接口的VBUS引腳(圖4)。 Keil μVision3 ARM開發(fā)軟件演示版可從http://www.keil.com/下載,與Maxim軟件包一起提供的μVision3工程文件是由可下載Keil文件工具mdk303a.exe創(chuàng)建的。由于有兩個工程文件是Keil公司在其開發(fā)環(huán)境下提供的,因此必須使用這種版本的工程文件(這兩個文件并不包含在Maxim USBLab10.zip文件中)。Maxim USBLab工程文件安裝在路徑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軟件后,找到Maxim USBLab10文件夾并雙擊文件Maxim USBLab.Uv2。這樣就在正確設(shè)置下打開該工程文件。點擊“Rebuid All Target Files”按鈕,工程文件就能編譯。如果有ULINK單元并安裝了USB 驅(qū)動,可以點擊“Star/Stop Debug Session”按鈕運行、修改和調(diào)試Maxim例程。 運行固件的三種方法 1.下載并查看Maxim USBLab.hex 從Maxim網(wǎng)站可以下載Maxim USB庫(hex)文件,它包含在應(yīng)用筆記3936 (Maxim USB庫),是Keil壓縮工程文件的一部分。可以通過免費的插件(Flash Magic,圖5所示)將hex文件下載到LPC2138閃存內(nèi),該插件可以在http://www.esacademy.com/上獲得。在使用該插件之前,核對Options/Advanced Options/Hardware Config下的說明部分。 在Keil板上,運行Flash Magic插件時,使用P2串行接口并將J7接到ISP上。 注意:移開J7之后S2將不再作為INT1中斷源。由于Maxim 應(yīng)用程序?qū)NT1用于其它目的,可以把J7放在ISP上。 如果有Keil ULINK JTAG單元,則可編譯Maxim示例代碼,通過JTAG接口下載并調(diào)試它。也可以設(shè)置斷點并單步調(diào)試代碼。這是一種快速學(xué)習(xí)USB的好方法——研究并修改工作主機和/或外圍設(shè)備代碼,以滿足我們的目的。 用于ARM的演示版Keil μVision3擁有μVision3的全部功能,代碼大小被限制在16kB。Maxim USB庫工程文件(Maxim USBLab.Uv2)在“Thumb only”模式下編譯,以保證該工程代碼的容量在限制范圍內(nèi)。 3.完全開發(fā) 對于正式開發(fā)工作,建議購買全功能版Keil μVision3 ARM工具箱。這樣能不受16kB的限制,適用于更廣泛的應(yīng)用程序(高達512kB的LPC2138閃存)。 |