EDN China > 设计实例 > 测试与测量 > 通用测试仪器 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

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

现代电子技术 朱永金 成友才?? 2010年11月11日 ?? 收藏0

  下载线与计算机连接采用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下载线的设计。


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

虚拟存储器? USB下载线? PDIUSBD12?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈