繁体中文
设为首页
加入收藏
当前位置:技术文章首页 >> 存储器应用 >> 基于虚拟存储器的USB下载线设计

基于虚拟存储器的USB下载线设计 (1)

2010-11-03 10:32:42  作者:  来源:互联网  浏览次数:12  文字大小:【】【】【
简介:随着单片机技术的不断发展,支持ISP(In-SystemProgramming)或IAP(In-Application Programming)的单片机芯片日益增加,这类单片机芯片的应用程序写入采用了在 ...
关键字:USB下载线
随着单片机技术的不断发展,支持ISP(In-SystemProgramming)或IAP(In-Application Programming)的单片机芯片日益增加,这类单片机芯片的应用程序写入采用了在线下载的方式。单片机与计算机的连接端口也从串口或并口逐步过渡到USB(Universal SerialBus)口。由于USB口具有高速、使用灵活方便等特点,单片机程序下载连接口也更加广泛地应用USB口。但是,USB口与单片机连接的下载线在设计和应用上还是与串、并口连接一样,不同的单片机采用不同的下载线,也对应有不同的下载软件和硬件驱动程序。这些软件和程序随着功能的完善和操作改进等原因具有不同的版本。这就造成下载线的使用者需要不断更新软件,也让使用者在更换单片机时不仅更换下载线,还要熟悉新的下载软件及使用方法。为此,如果能设计一种不需要下载软件的下载线或统一操作的下载软件,则能大大提高单片机程序下载线的通用性及操作效率。设计一种通用而不需下载软件的USB接口的单片机的下载线就显得尤其必要。

1.硬件设计
1.1 设计分析

    单片机USB接口下载线对于计算机而言,就是一个USB外部设备。为了实现在计算机中不需要安装额外的下载线驱动程序和操作软件,尽可能使用操作系统已有的USB设备的驱动程序、操作系统命令或软件作为下载线的驱动程序及操作软件。在对计算机操作系统进行分析和比较下,目前计算机操作系统中都带有U盘的驱动程序,资源管理器就是一个现有的磁盘操作软件。若将下载线虚拟为一个U盘,即从计算机角度将下载线和目标单片机视为一个虚拟磁盘,计算机对目标单片机的程序下载变为计算机对磁盘的写操作。
    当下载线系统接收到计算机写入该磁盘的文件时,通过下载线系统程序对数据进行处理后把数据写入目标单片机,实现单片机程序下载。下载线系统完成对计算机的磁盘响应和程序的控制和传输,这样既能保证在所有计算机上都可以通用,又实现了在计算机中不需要专用的下载程序,只需要如磁盘操作一样进行复制、粘贴或其他文件复制操作即可将程序写入单片机。
    下载线硬件系统如图1所示。


1.2 硬件设计
   
在分析各种USB接口芯片后,选用Philips公司的PDIUSBDl2作为系统的USB接口芯片,实现与微控制器进行通信的高速通用并行接口。该芯片采用了USB 1.1标准,现有的计算机采用USB 1.1及USB 2.O接口标准,采用PDIUSBDl2作为下载线与计算机的接口芯片能够满足设计需要。
    为了实现可靠的程序下载,对目标单片机的接口电路选用原Altra的并口驱动芯片74HC244作为下载线与目标单片机的接口驱动芯片。该芯片是三态的总线驱动芯片,在写入和读出目标单片机数据时有足够的驱动能力和较小的延时,能够实现正常的程序下载,在程序下载完成后,该芯片工作于高阻态,使下载线不影响目标单片机的正常工作。系统电路原理如图2所示。

在图2中,PDIUSBDl2的数据端口连接到单片机的P0端口,实现单片机与PDIUSBDl2的数据交换通道。将PDIUSBDl2的读写控制分别接到P3.6和P3.7引脚,实现单片机写入和读出PDIUSBDl2的数据。地址端A0接到P2.O引脚上,用于实现对PDIUSBDl2的数据和地址选择。PDIUSB Dl2从CLKOUT输出时钟信号,连接到单片机AT89S52的XTAL1上,作为单片机的时钟信号。
    下载线接口驱动电路74HC244采用P2的部分引脚进行控制。其中,P2.1接74HC244的门控端,输出低电平时电路工作,在平时输出高电平时使74HC244工作在高阻状态,使下载线与目标单片机脱离连接。P2.2接2Y4通过下载线接口作为SCK,实现ISP接口的同步脉冲。P2.3通过74HC244后接到下载线接口作为MOSI,实现对目标芯片的串行数据读出。下载线接口的MISO通过74HC244驱动后接到P2.5,实现对目标芯片的串行数据的读出。P2.5通过74HC244控制目标芯片的RESET引脚,使其进入和退出串行程序下载模式。
    另外,在系统中保留了P3.O和P3.1作为异步串行通信端口,作为系统调试端口。P1.5,P1.6,P1.7和RESET与VCC,GND连接到系统控制芯片,作为系统控制芯片自身的程序写入接口。

2 软件系统设计
2.1 系统架构

    基于虚拟内存的USB下载线,就是从计算机角度看,下载线与目标单片机是计算机的一个通用的USB存储器,在对目标单片机程序进行写操作时,就像对磁盘(U盘)进行写操作一样。
    在PC机端主要完成的任务是USB设备驱动程序,即将USB设备(下载线)识别为U盘,实现文件的写入和读出操作。在Windows 2000及以后的操作系统中,将USB磁盘驱动作为标准驱动程序,直接利用操作系统磁盘驱动程序。文件的写入和读出,由操作系统完成相关功能,在本系统中不需要编写程序。
    下载线与计算机连接采用PDIUSBD12作为接口芯片,要与计算机交换数据,就需要对PDIUSBDl2芯片进行操作,下载线系统需要PDIUSBDl2驱动程序。要向计算机说明下载线是一个U盘,下载线系统需要在计算机硬件询问时要按USB Disk应答,下载线系统还需要构建一个文件系统,由于下载线系统是面向单片机的程序下载,数据量小,采用FAT12作为下载线的文件系统。
    当下载线接收到计算机传送过来的一个程序文件时,需要将程序文件中的内容分离出来。设计本系统主要支持bin和HEX两种格式,其中bin文件就是机器指令的数据,直接写入单片机的程序存储器中即可完成程序下载;Hex文件的INTEL格式是Intel公司提出的按地址排列的数据信息,并不是直接的机器指令代码,因此还需要将HEX格式转换为bin格式。
    在对目标单片机进行程序下载时,需要按照目标单片机的程序下载时序,逐次将数据写入目标单片机的程序存储器中,下载系统需要控制下载接口电路实现程序时序。整个

[1] [2]

责任编辑:cjb


相关文章
 

推荐中文资料

更多

· TI芯片资料
· MAXIM芯片
· NXP资料下载
· 电源芯片资料
· CD4000中文资料
· 74xx资料
· C8051F资料下载
· MSP430资料下载
· USB资料下载
· 电力电子中文资料下载

推荐文章

更多

· 基于虚拟存储器的USB下载...
· DSP外部Flash存储器在线...
· 硬盘存储技术在视频监控...
· 基于K9K8G08UOI的高速大...
· 基于虚拟存储的嵌入式存...
· 利用USB2.0的高性能移动...
· 如何才能选择最佳的数据...
· 单片机的特殊功能寄存器
· 相变存储器:能实现全新...
· 基于FM3116的电能表存储...

热点文章

更多