<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > USB閃存盤(pán)驅動(dòng)器與PIC微控制器的接口設計

USB閃存盤(pán)驅動(dòng)器與PIC微控制器的接口設計

作者: 時(shí)間:2008-05-04 來(lái)源:網(wǎng)絡(luò ) 收藏
本文以Vinculum VNC1L智能型 Host橋接器為例,說(shuō)明如何為系統控制器16F688增加 2.0全速連接埠以便系統能連接,并在最少的設計時(shí)間與資源下完成此設計。討論內容包括微控制器和VNC1L智能型USB Host橋接器芯片的嵌入式接口硬件設計,并說(shuō)明如何在微控制器進(jìn)行程序開(kāi)發(fā),以便讓USB能在廣泛的嵌入式應用中用作可移除儲存媒體。

VNC1L為Vinculum家族的第一顆芯片,它采用定制化處理器,并搭配兩個(gè)加速數據傳輸的直接內存存取(DMA)引擎和一個(gè)32位數字協(xié)同處理器,以達到最高的文件操作效率。它還在單一芯片中集成了64kB e-Flash和4kB內部數據SRAM。Vinculum家族鎖定嵌入式USB控制器市場(chǎng),這類(lèi)產(chǎn)品僅需少量外部支持元件。Vinculum家族核心的主要特點(diǎn)之一,是其程序代碼長(cháng)度明顯短于一般微控制器實(shí)現該功能所需代碼的長(cháng)度。這樣,減少核心程序代碼的資源后,便可讓更多功能代碼保存芯片內部的e-Flash內存中。VNC1L還能處理整個(gè)USB協(xié)議并內建了12MHz到48MHz時(shí)鐘。這些特性與PIC嵌入式系統形成互補。在如圖所示的電路中,VNC1L連接小型PIC16F688微控制器及USB Type“A”連接器,這樣系統便可以連接USB。

PIC16F688為系統控制器,通用I/O引腳(9、10、11引腳上的RC1、RC0、RA2)獲得傳感器或其它來(lái)源的數據,并對數據格式進(jìn)行轉換,將串流格式數據寫(xiě)入USB閃存盤(pán)的文件中。指令與數據系通過(guò)TXD(6引腳)傳送至VNC1L RXD(32引腳)。VNC1L可處理FAT 12/16/32文件系統和儲存在USB閃存盤(pán)的數據。VNC1L通過(guò)28引腳的USB2DP和29號引腳的USB2DM與USB閃存盤(pán)進(jìn)行通訊。通過(guò)相同的引腳,能從USB閃存盤(pán)存取數據,并從VNC1L TXD(31引腳)傳送到PIC的RXD(5引腳),以供PIC程序使用。

圖:USB閃存盤(pán)驅動(dòng)器與PIC微控制器的接口電路。
圖:USB閃存盤(pán)與PIC微控制器的接口電路。

PIC16F688內的程序控制整個(gè)系統。此外,由PIC16F688發(fā)出的指令控制其與VNC1L之間的傳輸操作。VNC1L的標準程序會(huì )解讀并執行來(lái)自PIC16F688的指令。以上只是系統的簡(jiǎn)單介紹,若欲完成整個(gè)設計還需要更多的資源,而這些組件尚須電源、控制時(shí)鐘的石英晶體以及程序設計。

利用PIC中第2引腳與第3引腳的20MHz晶體能讓UART接口能達到比115,200bps更高的的波特率,而使用內部8MHz振蕩器最高僅能達到9,600bps,因此該設計能提升系統效率。PIC程序把RC2與RC3 I/O引腳模擬成RTS/CTS來(lái)與VNC1L的UART接口進(jìn)行連接。

該系統需要額定5V/250mA電源,其中對USB"A"連接器提供200mA電流,并為VNC1L提供25mA電流,另外25mA電流則供給PIC16F688。VNC1L所要求的3.3V電壓由3.3V LDO穩壓器提供。它具有兼容5伏的I/O口,能使其連接至PIC,而不需電位切換器。

針對低功耗應用,VNC1L在不使用時(shí)能切換至2mA休眠模式。如欲喚醒VNC1,可通過(guò)UART接口的響鈴偵測(RI)引腳(38號引腳)實(shí)現,若它們已連接至RXD線(xiàn)路,則可通過(guò)連續的偽指令來(lái)喚醒。

此設計同樣包含一個(gè)雙色狀態(tài)LED指示燈,由16與18引腳供電。當成功登錄USB閃存盤(pán)及存取文件系統時(shí),系統便給出顯示。

VNC1L與PIC程序開(kāi)發(fā)

VNC1L內部固化有標準的程序,名為VDAP。該程序能解讀從PIC傳來(lái)的指令。這些指令類(lèi)似DOS指令,如DIR、RD、以及WR等,指令集亦支持單一字節的hex指令,更適合由微處理器進(jìn)行控制。位于PIC程序中的VDAP指令可用來(lái)控制USB閃存盤(pán)的存取操作。典型的指令順序為建立文件、讀/寫(xiě)數據至文件、關(guān)閉文件。

該設計包含兩個(gè)燒錄程序的接頭,各個(gè)接頭分別支持器件所需要的開(kāi)發(fā)環(huán)境。在產(chǎn)品設計環(huán)境中,每個(gè)器件可以在被焊在印刷電路板前被預先燒錄,因此不需接頭與連接器。

在正常運作模式中,J1與J2應接上,其它連接器應為開(kāi)路狀態(tài)。VNC1L在燒錄時(shí)需移除J1與J2的連接器,以隔離VNC1L UART的輸入端和PIC輸出端,然后切斷5伏特電源,將TTL-232R-3V3線(xiàn)連接至H2。通過(guò)已安裝的VPROG程序工具,把線(xiàn)路的USB端連接到PC,之后接上J4連接器,將VNCL1A的PROG#引角拉低,讓J3暫時(shí)短路以重設器件,并切換至燒錄模式。完成燒錄后,應將連接器設定操作模式。

英商飛特帝亞有限公司(FTDI)在網(wǎng)站上(http://www.vinculum.com/projects/SampleCsource.zip)提供關(guān)閉文件后,USB閃存盤(pán)便可移除。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>