首页 » 业界动态 » 连结USB随身碟与PIC微控制器的简单方案

连结USB随身碟与PIC微控制器的简单方案

作者:  时间:2009-05-13 23:27  来源:
嵌入式应用加入USB Host的挑战
今日USB装置几乎无所不在,市面上充斥着各式各样的随身碟和各种USB周边装置,由于这些装置大多是属于USB Slave,应用领域也就局限在PC市场。近来随身碟的价格快速滑落,刺激出新的应用,如何利用便宜又方便的随身碟在原有的产品加上新的功能,便成为许多公司的重要课题。
 
想要在8与16位元微控制器中增加USB Host的功能,建置过程、成本与功耗将是重要考量因素,因为这类系统使用的嵌入式控制器,目前尚缺乏适合的介面、资源以及效能来连结USB Host控制器。着眼于此,本文将提出一个以Vinculum VNC1L智慧型USB Host桥接器IC为例的应用范例,说明如何为系统控制器PIC16F688增加一个USB 2.0全速连结埠。使这个系统能连结USB随身碟,并在耗用最少的建置时间与资源下完成设计。
 
设计说明
VNC1L为Vinculum家族的第一颗晶片。此智慧型USB Host桥接器採用客制化的处理器,并搭配两个加速资料传输的直接存储器存取(DMA)引擎及一个32位元数值协同处理器,以达到最高的档案系统计算效能,且全数整合于一内含64Kbyte之嵌入式快闪程式记忆体、以及4Kbyte内部资料SRAM之单一晶片中。VNC1L可处理整个USB协定并内建12MHz 到48MHz 的时脉。这些特性恰巧与PIC嵌入式系统形成互补。下图一为此系统之架构说明,其利用VNC1L连结一个小型PIC16F688 微控制器及USB Type "A"连结器,进而可连接USB随身碟。
 
PIC16F688为系统控制器,由其通用I/O针脚(9、10、11针脚上的 RC1、RC0、RA2)来取得感测器或其他来源的数据,并转换数据格式且将串流格式资料写入随身碟的档案中,指令与数据系透过TXD(6号针脚)传送至VNC1L RXD(32号针脚)。VNC1L可处理FAT 12/16/32档案系统和储存在USB 随身碟的资料。VNC1L透过28号针脚的USB2DP和29号针脚的USB2DM与随身碟进行通讯。透过相同的针脚,资料能从随身碟存取,并从VNC1L TXD(31号针脚)传送到PIC的RXD(5号针脚),以供PIC韧体使用。
 
PIC16F688上的韧体控制整个系统,此外,由PIC16F688发出的指令控制其与VNC1L之间的传输作业。VNC1L的标准韧体会解读并执行来自PIC16F688的指令。以上只是系统的简单介绍,若欲完成整个设计还需要更多的资源,而这些元件尚须电源、控制时脉的石英晶体以及程式设计。
 
运用PIC中第2与第3针脚的20 MHz晶体,让UART介面能达到比115200 bit/s更高的的鲍率(baud rate),相较于使用内部8MHz振盪器最高仅能达到9600 bit/s,因此其能提昇系统效能。PIC韧体所使用PIC的RC2与RC3 I/O针脚则以VNC1Ls UART介面模拟RTS/CTS交握讯号。
 
此时,系统需要5伏特/ 250mA的额定电力,其中对于USB "A"连结器提供200mA电流,并为VNC1L提供25mA电力,另25mA电力则用以供电PIC16F688。VNC1L所要求的3.3伏特电力系由3.3V LDO稳压器供应,其中尚有5伏误差IO针脚,能使其连接至PIC,而不需电位切换器。
 
针对低功耗应用,VNC1L在不使用时能切换至2mA休眠模式。如欲唤醒元件,则可透过UART介面的响铃侦测(RI)针脚(38号针脚)达成;若其已连接至RXD线路,如图中所示,则可透过接续的虚拟指令来唤醒元件。
 
此设计同样包含一个双色状态LED指令灯号,其由16与18号针脚供电。当成功登录USB随身碟及存取档案系统时,系统便将提出显示。
 
 
VNC1L韧体
VNC1L系透过标准韧体进行编程,名为VDAP (Vinculum Disk and Peripheral)的韧体能解读从PIC传来的指令。这些指令类似DOS指令,如DIR、RD、以及WR等等。指令集亦支援单一位元组的hex指令,更适合由微处理器进行控制。
 
而收录于PIC韧体的VDAP指令可用来控制USB随身碟的存取作业。典型的指令顺序为建立档案、读/写资料至档案,之后关闭档案。
 
VNC1L与PIC程式开发
此设计含有两个烧录程式的接头,各个接头分别支援元件所需要的开发环境。在产品设计环境中,每个元件可在焊上印刷电路板前被预先烧录,因此不需接头与jumpers。
 
在正常运作模式中,J1与J2应短路,其他jumpers应为开路状态。VNC1L在烧录时需移除J1与J2 的jumpers,以隔离VNC1L UART的输入端和PIC输出端。之后先切断5伏特电源,然后将TTL-232R-3V3 线连结至H2。透过已安装的VPROG程式工具,把线路的USB端连结到PC,之后接上J4 jumper,将VNCL1A的PROG#脚位拉低,让J3暂时短路以重设元件,并切换至烧录模式。完成烧录后,并请将jumpers设定回復至运作模式。
 
PIC的烧录接头需连结至元件的RA0、RA1、以及MCLR#针脚,5伏特烧录电压/电源则透过接头传送至元件。待切断5伏特电源后,再对PIC微控制器进行烧录。接头应连结至如PICKit2等标准PIC开发环境,以便利用Microchip的除错与下载工具。
 
FTDI在网站上提供了一个PIC的范例程式(Link to: 在这个C范例程式中,PIC将等待随身碟被侦测出,然后开启一个名为hello.txt的档案。“Hello World”字串以及换行指令码和line feed字元将被写入档案,待关闭档案后,随身碟便可移除。
 
结论
利用Vinculum VNC1L智慧型USB Host桥接器,能让低成本微控制器简易地增加USB 2.0低速/全速的USB接口,并且仅在USB介面增加少于10%的消耗,而类似DOS的指令集,则让传输的数据能在微控制器环境中轻易进行编写与除错,使得USB随身碟能作为系统的储存媒体,并能提供现场升级软件之功能。

相关推荐

Teledyne LeCroy升级了超高速USB3.0协议分析仪平台

Teledyne  分析仪  USB  2013-09-17

微控制器厂商抢进移动电源及无线充电领域

微控制器  无线充电  2013-09-11

全球智能传感器市场2018年或达69亿美元

传感器  微控制器  2013-08-07

连接器的大量生产充分满足着各行业所需

连接器  USB  2013-08-01

精密化精细化是连接器的发展趋势分析

连接器  USB  2013-06-28

传富士通拟将微控制器芯片业务卖给美飞索公司

富士通  微控制器  2013-05-02
在线研讨会
焦点