<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)與PIC微控制器系統的連接

淺談USB閃存盤(pán)與PIC微控制器系統的連接

——
作者:FTDI執行董事 Fred Dart 時(shí)間:2007-11-26 來(lái)源:網(wǎng)絡(luò ) 收藏
    問(wèn)題與挑戰 

  作為現今普遍接受的移動(dòng)工具,盤(pán)在各種系統中也獲得廣泛應用。

  本文介紹低成本控制器通過(guò)2.0全速接口與盤(pán)進(jìn)行的實(shí)現過(guò)程,并著(zhù)重針對和Vinculum接口芯片說(shuō)明有關(guān)接口的硬件設計以及程序的編寫(xiě)。 

  如今各種盤(pán)和USB外設價(jià)格已相當低廉,并被廣泛應用到帶USB接口的PC中.而要將它們應用于8位或16位系統中,如何解決成本和功耗等問(wèn)題才是關(guān)鍵.這其中的原因主要是這類(lèi)系統中用到的嵌入式控制器,如Microchip公司推出并得到廣泛應用的系列器件具有多種密度和外設,但由于缺乏接口、資源和性能,無(wú)法作為USB的主控制器。

  在實(shí)際應用中,可用VNC1LVinculum控制器來(lái)實(shí)現這種,該芯片提供了作為系統控制器的PIC和USB2.0全速端口之間的接口,順利實(shí)現與USB閃存盤(pán)的,同時(shí)該方案具有很短的執行時(shí)間和最小系統成本。Vinculum基于定制處理器內核,有兩個(gè)直接訪(fǎng)問(wèn)(DMA)引擎以加快數據傳輸和32位數字協(xié)處理器優(yōu)化文件系統的計算,所有這些都在一個(gè)芯片里完成  
,芯片帶有64K嵌入式閃存和4K內部數據SRAM。 

  Vinculum專(zhuān)門(mén)針對嵌入式USB控制器市場(chǎng),只需要很少外部支持元件。Vinculum核與常用MCU核相比的一個(gè)主要特點(diǎn)是其代碼長(cháng)度大幅縮短,減少內核在代碼上的開(kāi)銷(xiāo),因此可以在單芯片e-Flash存儲器里裝入更多功能,這一特點(diǎn)也正好可以彌補基于PIC的的不足。系統原理圖見(jiàn)圖1,通過(guò)Vinculum將小型PICMCU連到USB“A”連接器上,然后就可以連接USB閃存盤(pán)了。 

  搭建模擬系統 

  PIC是系統控制器,通過(guò)通用I/O引腳(引腳9、10、11上的RC0、RC1、RA2)接收從傳感器或其他來(lái)源傳過(guò)來(lái)的數據,對數據格式進(jìn)行轉換,然后用數據流將數據寫(xiě)入閃存盤(pán)上的文件里。命令和數據通過(guò)TXD(引腳6)傳到VNC1L的RXD(引腳32),VNC1L在USB閃存盤(pán)上生成FAT12/16/32文件并存儲數據,并通過(guò)USB2DM(引腳28)和USB2DP(引腳29)和閃存盤(pán)通信。數據也用同樣引腳讀出,然后將數據通過(guò)VNC1L的TXD(引腳31)傳到PIC的PXD(引腳5)以供系統固件使用。 

  在PIC引腳2和3之間接入一個(gè)20MHz晶振可在其UART接口獲得高達115200bit/s波特率,而使用內部8MHz振蕩器只能獲得最高9600bit/s波特率,因此加接晶振可提高系統性能。PIC的IO引腳RC2和RC3都被固件使用,以模擬與VNC1LUART連接的RTS/CTS握手信號。系統由PIC上的固件控制,數據傳輸則由PIC發(fā)出的指令控制,該指令由Vinculum上的標準固件進(jìn)行解釋。雖然說(shuō)起來(lái)很簡(jiǎn)單,但完成設計還有其他一些工作要做,例如器件還需要電源、控制時(shí)鐘的晶振以及編程。     

  系統需要標準的5V250mA電源(PSU),可為USB“A”連接器提供高達200mA電流,同時(shí)為VNC1L和PIC各提供25mA驅動(dòng)電流。VNC1L采用3.3v電源,由一個(gè)3.3vLDO調壓器提供,它帶有一個(gè)5v容限IO引腳,可使其連到PIC而不需要用到電平轉換器。在低功耗應用中,VNC1L不工作時(shí)可進(jìn)入2mA睡眠模式,如需喚醒器件,只需觸發(fā)RART接口的振鈴指示(RI)引腳(引腳38)。如果它連到RXD線(xiàn)上(如圖所示),就可以用一個(gè)空命令觸發(fā)以喚醒器件。 

  該設計還包括一個(gè)雙色LED指示器,由引腳16和18推動(dòng)。它可以顯示是否成功連上USB閃存盤(pán)并可以訪(fǎng)問(wèn)文件系統。 

 

 

  VNC1L和PIC編程

  該設計包括兩個(gè)程序頭文件,每個(gè)器件需要一個(gè),同時(shí)還要有相應的開(kāi)發(fā)環(huán)境。對于生產(chǎn)設計而言,兩個(gè)器件都要在插入PCB之間預先編程,以減少連接頭和跳線(xiàn)。 

  在正常工作狀態(tài)下,J1和J2需要連上,而其他跳線(xiàn)保持斷開(kāi)。對VNC1L編程的時(shí)候,將J1和J2跳線(xiàn)移開(kāi)以使VNC1LUART輸入與PIC輸出分開(kāi)。把5VPSU斷開(kāi),然后將TTL-232R-3V3線(xiàn)纜接到H2上,將該線(xiàn)纜的USB端接到PC上,而在PC上安裝好VPROG編程軟件。將J4連上以便將VNC1L的PROG#引腳拉低,并短暫將J3短路以使器件復位使其進(jìn)入編程狀態(tài)。編程完成后,記住恢復跳線(xiàn)設定到工作位置。 

  對PIC編程時(shí)編程頭連到器件的RA0、RA1和MCLR#引腳,通過(guò)編程頭提供5V編程電壓。PIC編程前先將5VPSU斷開(kāi),編程頭連到標準PIC編程環(huán)境如PICKit2上,可以使用Microchip的調試與下載工具。 

本文所附的C代碼實(shí)例顯示PIC等待閃存盤(pán)檢測,然后打開(kāi)一個(gè)名為hello.txt的文件,接著(zhù)將“HelloWorld”以及回車(chē)換行符寫(xiě)入該文件中,最后關(guān)閉文件并等待將閃存盤(pán)移開(kāi)。     




  VNC1L固件 

  VNC1L采用標準固件進(jìn)行編程,稱(chēng)為VDAP,它可以解釋來(lái)自于PIC的命令。這些VDAP命令有些類(lèi)似于DOS指令,如DIR、RD以及WR等,命令集也支持容易被微處理器控制的單字節十六進(jìn)制命令,VDAP命令包含在PIC固件中,可控制USB閃存盤(pán)的接入,典型命令序列可以是生成一個(gè)文件、從文件中讀出/寫(xiě)入數據然后關(guān)閉文件。     

  結論 

  FTDI的VinculumVNC1L提供了一個(gè)低成本與USB2.0低/全速外設之間的接口,易于使用和編程,其指令集類(lèi)似于DOS命令,可在微控制器環(huán)境下很容易地編寫(xiě)調試數據以及傳輸例程,同時(shí)設計簡(jiǎn)單,使嵌入式系統能以較低成本實(shí)現USB主機功能。因此用戶(hù)將可以采用低成本通用USB閃存盤(pán)作為系統存儲媒介,而且還能在現場(chǎng)進(jìn)行軟件升級。此外VNC1L還可用于連接除了大  
容量存儲設備之外的很多其他USB外設,不過(guò)這部分內容在本文討論范圍之外。 

  VinculumIC給USB接口增加不到10%的功耗,對系統而言更低,但能以非常容易及直接的方式為便攜式設備增加USB2.0主機控制器端口。VDAP固件以及介紹完整指令集的文件可從FTDI的Vinculum網(wǎng)站(http://www.vinculum.com)下載。 
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


評論


相關(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>