音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

一種基于SPI芯片的USB控制器接口設(shè)計

出處:單片機及嵌入式系統(tǒng)應(yīng)用 發(fā)布于:2011-09-04 21:18:26

  MAX3420是Maxim公司近年來新推出的一款USB外設(shè)。該器件采用SPI接口方式,相對于傳統(tǒng)的并行接口方式,大大減少了芯片引腳,且其工作速率仍可達到26 MHz。本文介紹了使用MAX3420作為USB控制器,并通過SPI接口進行數(shù)據(jù)換。

  1 MAX3420簡介

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

  2 MAX3420的外圍電路

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

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

  3 MAX3420的工作方式

  全雙工即Full duplex Communication,是指在通信的任意時刻,線路上存在A到B和B到A的雙向信號傳輸。在全雙工方式下,通信系統(tǒng)的每一端都設(shè)置了發(fā)送器和接收器,因此,能控制數(shù)據(jù)同時在兩個方向上傳送。全雙工方式無需進行方向的切換,因此,沒有切換操作所產(chǎn)生的時間延遲,這對那些不能有時間延誤的交互式應(yīng)用(例如遠程監(jiān)測和控制系統(tǒng))十分有利。這種方式要求通訊雙方均有發(fā)送器和接收器,同時,需要2根數(shù)據(jù)線傳送數(shù)據(jù)信號。

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

  3.1 全雙工方式

  全雙工方式下的讀操作:

 ?、賁S為高,MAX3420未選中,MISO為高阻態(tài)。

 ?、诋擲CLK為靜止態(tài)時,SS了,低,MAX3420選中;打開MISO輸出緩沖,將要發(fā)送數(shù)據(jù)的位送到MISO輸出。

 ?、跾PI主方式下,首先的8個時鐘脈沖將命令由MOSI發(fā)送;MISO在SCLK上升沿輸出USB狀態(tài)位。

  ④8個時鐘脈沖以后,SS為高,MAX3420停止工作,MISO輸出高阻態(tài)。在SCLK下降沿,下一個輸出數(shù)據(jù)的位在MISO順序輸出。

  全雙工方式下的寫操作:

 ?、賁PI主方式下設(shè)置時鐘為靜止態(tài),SS為高。

 ?、赟S為低,將要寫的數(shù)據(jù)的位放到MOSI輸入。

 ?、跾PI主方式下。首先的8個時鐘脈沖將命令由MOSI發(fā)送;MISO在SCLK上升沿輸出USB狀態(tài)位。

 ?、?個時鐘脈沖以后,SS為高,MAX3420停止工作。

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

  3.2 半雙工方式

  半雙工(Half Duplex)數(shù)據(jù)傳輸指數(shù)據(jù)可以在一個信號載體的兩個方向上傳輸,但是不能同時傳輸。例如,在一個局域網(wǎng)上使用具有半雙工傳輸?shù)募夹g(shù),一個工作站可以在線上發(fā)送數(shù)據(jù),然后立即在線上接收數(shù)據(jù),這些數(shù)據(jù)來自數(shù)據(jù)剛剛傳輸?shù)姆较?。像全雙工傳輸一樣,半雙工包含一個雙向線路(線路可以在兩個方向上傳遞數(shù)據(jù))。

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

  ①SS為高,MAX3420未選中,MOSI可以為任意值。

 ?、诋擲CLK為靜止態(tài)時,SS為低,MAX3420選中;將要寫的數(shù)據(jù)的位送到MOSI輸入。

 ?、跾PI主控制器打開輸出驅(qū)動,首先的8個時鐘脈沖將命令在SCLK上升沿由MOSI發(fā)送;8個時鐘脈沖后,SS為高。

 ?、苋绻獙慡PI數(shù)據(jù),則SPI主控制器保持打開輸出驅(qū)動,在SCLK脈沖下,順序?qū)?shù)據(jù)位送到MOSI引腳;如果要讀SPI數(shù)據(jù),則在8個時鐘脈沖后,SPI主控制器關(guān)閉輸出驅(qū)動,開始從MOSI按時鐘脈沖讀入數(shù)據(jù)。

 ?、軸S為高。MAX3420停止工作。

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

  4 USB程序流程

  MAX3420共有4個端點,即EP0~EP3。如圖5所示,USB2.0協(xié)議由硬件接入層、中間層及上層應(yīng)用3部分構(gòu)成。其中:硬件接入層是與CPU緊密聯(lián)系的,其他兩層是與硬件無關(guān)的。硬件接入層主要實現(xiàn)了兩個函數(shù)outport()和inport()。這兩個函數(shù)是整個USB協(xié)議在硬件上運行的基礎(chǔ),只要在硬件接入層針對不同的CPU和MAX3420實現(xiàn)了這兩個函數(shù),便可以保證USB接口的正常工作。

  本文以PICl8F2520和MAX3420為例,在全雙工方式下說明以上兩個函數(shù)的示意性代碼。

  void outport(unsigned char port,unsigned char value){

  使能CPU的SPI模式;

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

  使能CPU的SPI模式;

  設(shè)置CPU的SPI為主工作方式,MAX3420的SPI為從工作方式;

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

  USB傳輸只能由HOST發(fā)起,HOST需要向Device發(fā)送一個OUT令牌包。在這個包里指定了接受數(shù)據(jù)的設(shè)備地址、端點。然后將數(shù)據(jù)包發(fā)送到USB總線上。不是目的接收器件的USB設(shè)備不會響應(yīng)該數(shù)據(jù)包,目的接收設(shè)備如果能接收該數(shù)據(jù)包,則以ACK握手包響應(yīng),如果不能接收該數(shù)據(jù)包,則以NAK握手包響應(yīng)

  5 總 結(jié)

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


  
關(guān)鍵詞:USB接口控制器芯片

版權(quán)與免責聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責任。

如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!