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