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

2010-11-03 20:05:55来源: 现代电子技术

0 引言

随着单片机技术的不断发展,支持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格式。

在对目标单片机进行程序下载时,需要按照目标单片机的程序下载时序,逐次将数据写入目标单片机的程序存储器中,下载系统需要控制下载接口电路实现程序时序。整个硬件电路结构与软件关系如图3所示。

2.2 程序设计

下载线是连接计算机与目标单片机的中间设备,仅在计算机发出操作要求时才产生对应的操作响应,因而下载线系统程序设计过程中以处理计算机端数据为主要目标,根据计算机的数据对单片机进行相应的操作。为了程序编写简洁和易于调试,设计系统主程序采用查询方式对USB接口数据进行处理。对目标单片机的程序下载写入时,将其设为整个程序的一个功能模块,仅当需要下载写入时调用该功能模块,在程序编写中将其定义为一个系统函数。

与PC的接口芯片采用了PDIUSBD12作为USB接口芯片,下载线为了处理来自USB接口的数据,必须完成对PDIUSBD12的处理。在设计中利用Philips提供的PDIUSBD12驱动程序进行修改加以实现。

数据处理过程的系统主函数如下:

3 系统调试

首先对下载线系统进行程序写入和程序调试,然后再进行综合调试。按下面步骤进行。

3.1 调试下载线系统

首先将下载系统控制程序写入系统单片机,然后进行ISP下载调试。

将BIN文件代码写进下载线控制单片机程序内部,采用程序直接将二进制代码写进目标单片机,观察目标单片机的运行情况来判断程序是否写入。

将HEX文件内的数据写在下载线控制单片机的源程序内部,通过单片机程序对HEX格式进行解释并写入目标单片机,观察目标单片机的运行情况来判断程序是否解释并写入正确。

3.2 硬件识别调试

通过将下载线插入PC,在PC上发现USB设备,验证下载线硬件是否工作。通过对USB器件的应答,能够在计算机中出现一个USB盘符。

通过对下载线内部的磁盘启动扇区、FAT表和根目录等信息的写入,在PC上出现一个具体的磁盘,并能在磁盘上创建文件。

3.3 综合调试

在下载线所对应的磁盘上写入HEX文件,由下载线系统单片机对HEX文件进行解释,并写入目标单片机,在目标单片机实验板上观察结果以判断下载线是否完成功能。

4 结语

通过下载系统的硬件和软件设计,在计算机中不需要安装驱动程序,利用计算机系统中自带的USB磁盘的驱动程序,只需要复制、粘贴或其他文件复制操作即可将单片机应用程序写入单片机,实现计算机通用的USB下载线的设计。

关键字:USB  单片机  下载  连接  并口

编辑:masen 引用地址:http://www.eeworld.com.cn/wltx/2010/1103/article_1426.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
USB
单片机
下载
连接
并口

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved