<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>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 分析連結USB閃存盤(pán)與PIC微控制器的簡(jiǎn)單方案

分析連結USB閃存盤(pán)與PIC微控制器的簡(jiǎn)單方案

作者: 時(shí)間:2013-10-08 來(lái)源:網(wǎng)絡(luò ) 收藏
背景簡(jiǎn)介

  今日USB裝置幾乎無(wú)所不在,市面上充斥著(zhù)各式各樣的和各種USB外圍裝置,由于這些裝置大多是屬于 USB Slave,應用領(lǐng)域也就局限在PC市場(chǎng)。近來(lái)的價(jià)格快速滑落,刺激出新的應用,如何在原有產(chǎn)品上使用成為許多公司的難點(diǎn)。想要在8與16位微控制器中增加USB Host的功能,設計過(guò)程、成本與功耗便成為了重要的考量因素。部份原因源自于這類(lèi)系統使用的嵌入式控制器,目前尚缺乏適合的接口、資源、以及效率來(lái)連結USB Host控制器。

  在此應用范例中,將以Vinculum VNC1L智能型USB Host橋接器IC做為一個(gè)例子,說(shuō)明如何為系統控制器PIC16F688增加一個(gè)USB 2.0全速連結埠。使這個(gè)系統能連結USB閃存盤(pán),并能在耗用最少的設計時(shí)間與資源下完成設計。

  VNC1L簡(jiǎn)介

  VNC1L為Vinculum家族的第一顆芯片。此智能型USB Host橋接器采用客制化的處理器,并搭配兩個(gè)加速數據傳輸的直接內存存取(DMA)引擎及一個(gè)32位數值協(xié)同處理器,以達到最高的文件操作效率-且全部整合于一內置64Kbyteflash、以及4Kbyte內部數據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嵌入式系統形成互補。圖1為此系統之架構說(shuō)明,其利用VNC1L連結一個(gè)小型PIC16F688 微控制器及USB Type “A”連結器,進(jìn)而可連接USB閃存盤(pán)。

  設計說(shuō)明

  此PIC16F688為系統控制器,由其通用I/O引腳(9、10、11引腳上的 RC1、RC0、RA2) 來(lái)取得傳感器或其它來(lái)源的數據,并轉換數據格式且將串流格式數據寫(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程序使用。

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

  運用PIC中第2與第3針腳的20 MHz晶體,讓UART接口能達到比115200 bit/s更高的的波特率(baud rate),相對于使用內部8MHz振蕩器最高僅能達到9600 bit/s,因此其能提升系統效率。PIC程序把RC2與RC3 I/O引腳模擬成RTS/CTS來(lái)與VNC1L的UART接口連接。

  此時(shí),系統需要5伏特/ 250mA的額定電源,其中對于USB “A”連結器提供200mA電流,并為VNC1L提供25mA電流,另25mA電流則用以供電PIC16F688。VNC1L所要求的3.3伏電壓由3.3v LDO穩壓器供應,其中尚有兼容5伏的IO口,能使其連接至PIC,而不需電位切換器。

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

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

  VNC1L程序

  VNC1L內部固化有標準的程序,名為VDAP (Vinculum Disk and Peripheral),該程序能解讀從PIC傳來(lái)的指令。這些指令類(lèi)似DOS指令,如DIR、RD、以及WR等等。指令集亦支持單一字節的hex指令,更適合由微處理器進(jìn)行控制。

  而收錄于PIC程序中的VDAP指令可用來(lái)控制USB閃存盤(pán)的存取作業(yè)。典型的指令順序為建立文件、讀/寫(xiě)數據至文件,之后關(guān)閉文件。

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

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


上一頁(yè) 1 2 下一頁(yè)

評論


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