首页 » 技术文章 » 基于虚拟存储器的USB下载线设计

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

作者:  时间:2010-11-17 16:07  来源:EDN

  下载线与计算机连接采用PDIUSBD12作为接口芯片,要与计算机交换数据,就需要对PDIUSBDl2芯片进行操作,下载线系统需要 PDIUSBDl2驱动程序。要向计算机说明下载线是一个U盘,下载线系统需要在计算机硬件询问时要按USB Disk应答,下载线系统还需要构建一个文件系统,由于下载线系统是面向单片机的程序下载,数据量小,采用FAT12作为下载线的文件系统。

  当下载线接收到计算机传送过来的一个程序文件时,需要将程序文件中的内容分离出来。设计本系统主要支持binHEX两种格式,其中bin文件就是机器指令的数据,直接写入单片机的程序存储器中即可完成程序下载;Hex文件的INTEL格式是Intel公司提出的按地址排列的数据信息,并不是直接的机器指令代码,因此还需要将HEX格式转换为bin格式。

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

  22 程序设计

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

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

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

  

  3 系统调试

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

  31 调试下载线系统

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

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

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

  32 硬件识别调试

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

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

  33 综合调试

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

  4 结语

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

相关推荐

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

USB下载线  虚拟存储器  2010-11-17

基于虚拟存储的嵌入式存储系统的设计方法

在线研讨会
焦点