《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于SPI芯片MAX3420的USB控制器接口設計
基于SPI芯片MAX3420的USB控制器接口設計
單片機及嵌入式系統應用
盧珞先,羅婷
摘要: 本文介紹了如何使用MAX3420進行USB接口擴展。MAX3420提供了SPI接口,只需3~4根線便可實現USB接口
關鍵詞: 軟件 MAX3420 SPI USB
Abstract:
Key words :

目前,USB接口的使用越來越廣泛,許多設備上都提供了USB接口。傳統的USB控制器需要使用包括數據線和控制線在內的十多根線,占用了大量的CPU資源。而現代設備正在向體積小、功能強的方向發展,CPU更是要求表貼封裝,功耗低,其自身資源非常有限,所以在擴展接口方面必須要盡可能少地占用已有芯片資源。本文介紹了如何使用MAX3420進行USB接口擴展。MAX3420提供了SPI接口,只需3~4根線便可實現USB接口。

1 MAX3420簡介

MAX3420是Maxim公司推出的一款全速USB外設,包括必要的數字邏輯和模擬電路,支持USB2.O協議。MAX3420內建全速收發器,支持±15kV的ESD保護,可以編程控制USB總線的連接和斷開;內含的串行接口引擎可以控制底層的USB協議細節,如錯誤校驗和總線重連接。MAX3420通過SPI接口操作其內部寄存器,工作頻率為26 MHz,任何支持SPI主模式的CPU只使用3~4根線便可增加USB功能。

2 MAX3420的外圍電路

作為一款全速USB外設,MAX3420的外圍電路并不復雜,如圖1所示,圖中采用USB自身供電方式,右上角的3.3V穩壓器表示產生3.3 V電壓、為CPU供電的電壓轉換芯片,常用的有AS2830、LMlll7等。與CPU連接的引腳共有6個,其名稱和功能如表l所列。其中,USB配置必需的引腳是SCLK、SS和MISO三個。芯片的供電電壓為0~4 V,可以采用3.3 V供電;采用12 MHz晶振,內部鎖相環進行4倍頻;還提供了4個通用輸出口和4個通用輸入口,便于CPU的I/O口擴展。

帶有SPI接口的CPU,與MAX3420的接口十分方便;如果不帶SPI接口,則也可用I/O口來實現SPI的功能。圖2為CPU與MAX3420的接口原理圖。

3 MAX3420的工作方式

MAX3420的SPI接口可工作于以下兩種工作方式:全雙工方式(MOSI輸入/MISO輸出)和半雙工方式(MOSI輸入/輸出)。

3.1 全雙工方式

全雙工方式下的讀操作:

①SS為高,MAX3420未選中,MISO為高阻態。
②當SCLK為靜止態時,SS了,低,MAX3420選中;打開MISO輸出緩沖,將要發送數據的最高位送到MISO輸出。
③SPI主方式下,首先的8個時鐘脈沖將命令由MOSI發送;MISO在SCLK上升沿輸出USB狀態位。
④8個時鐘脈沖以后,SS為高,MAX3420停止工作,MISO輸出高阻態。在SCLK下降沿,下一個輸出數據的最高位在MISO順序輸出。

全雙工方式下的寫操作:

①SPI主方式下設置時鐘為靜止態,SS為高。
②SS為低,將要寫的數據的最高位放到MOSI輸入。
③SPI主方式下.首先的8個時鐘脈沖將命令由MOSI發送;MISO在SCLK上升沿輸出USB狀態位。
④8個時鐘脈沖以后,SS為高,MAX3420停止工作。

全雙工方式下的讀/寫時序圖如圖3所示。

3.2 半雙工方式

半雙工方式下MISO為高阻態,MOSI為雙向。由于只有一根線,因此半雙工方式下USB狀態位不再有效。半雙工方式下的讀/寫操作:

①SS為高,MAX3420未選中,MOSI可以為任意值。
②當SCLK為靜止態時,SS為低,MAX3420選中;將要寫的數據的最高位送到MOSI輸入。
③SPI主控制器打開輸出驅動,首先的8個時鐘脈沖將命令在SCLK上升沿由MOSI發送;8個時鐘脈沖后,SS為高。
④如果要寫SPI數據,則SPI主控制器保持打開輸出驅動,在SCLK脈沖下,順序將數據位送到MOSI引腳;如果要讀SPI數據,則在8個時鐘脈沖后,SPI主控制器關閉輸出驅動,開始從MOSI按時鐘脈沖讀入數據。
⑤SS為高.MAX3420停止工作。

半雙工方式下的讀/寫時序圖如圖4所示。

4 USB程序流程

MAX3420共有4個端點,即EP0~EP3。其中:EP0為64字節的雙向控制端點;EPl為2×64個字節的雙緩沖、批處理/中斷輸出端點;EP2為2×64個字節的雙緩沖、批處理/中斷輸入端點;EP3為64字節的批處理/中斷輸入端點。EPO主要用于枚舉過程中發送命令,EP1和EP2主要用于完成大批量數據的收發。如圖5所示,USB2.0協議由硬件接入層、中間層及上層應用3部分構成。其中:硬件接入層是與CPU緊密聯系的,其他兩層是與硬件無關的。硬件接入層主要實現了兩個函數outport()和inport()。這兩個函數是整個USB協議在硬件上運行的基礎,只要在硬件接入層針對不同的CPU和MAX3420實現了這兩個函數,便可以保證USB接口的正常工作。

本文以PICl8F2520和MAX3420為例,在全雙工方式下說明以上兩個函數的示意性代碼。
void outport(unsigned char port,unsigned char value){
使能CPU的SPI模式;

設置CUP的SPI為主共和方式,MAX3420的SPI為從工作方式;

使能CPU的SPI模式;

設置CPU的SPI為主工作方式,MAX3420的SPI為從工作方式;

USB2.0協議規定USB接口工作于被動工作方式,協議中間層主要包括總線重連接、EP0收發和中斷處理等幾部分,其工作流程如圖6所示。協議上層應用程序由程序員按照規范根據具體需要編寫。

5 總 結

將MAX3420用于汽車車載故障診斷儀的USB接口設計,實際傳輸速率可達20 Mbps左右,完全可以滿足對汽車總線上傳輸數據的實時采集要求;總共占用CPU的6個引腳,用于與MAX3420的控制、數據接口,實際使用效果良好。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产精品1区2区3区 国产精品1区2区 | 黄网站色视频免费观看 | 97色在线观看免费视频 | 成人性爱视频在线观看 | 久久99热不卡精品免费观看 | 四虎在线视频免费观看 | 欧美一区二区三区在线观看不卡 | 日本一区二区不卡久久入口 | 国产亚洲精品片a77777 | 成人嫩草影院免费网址 | 欧美精品亚洲精品日韩经典 | 青青草久久伊人 | 成人激情综合网 | 欧美精品超清在线播放 | 久热香蕉视频 | 美国免费视频 | 国产一国产一级毛片视频在线 | 国产人成午夜免电影观看 | 国产一区二区视频在线观看 | 激情五月综合 | 国产在线精品福利一区二区三区 | 男女免费网站 | 国产福利在线永久视频下载 | 欧美操穴视频 | 久久国产精品系列 | 最新国产成人综合在线观看 | 欧美日韩亚洲一区二区三区在线观看 | 精品久久久久久国产 | 日韩精品在线观看视频 | 五月婷婷激情在线 | 亚洲国产精品综合久久 | 久久精品国产99精品最新 | 国产精品永久免费视频观看 | 五月婷婷伊人 | 久久网站免费 | 色婷婷在线视频 | 国产精品日日爱 | 国内精品久久影视 | 免费精品一区二区三区第35 | 亚洲精品免费日日日夜夜夜夜 | 欧美日韩第一页 |