基于USB接口的ISP下载系统设计
简化了编程和调试。前后台任务处理关系如图5所示。
图5 前后台任务处理关系图
整个系统程序设计采用模块化设计思想。为了使软件可移植性强、易维护,采用分层
的方法来编写PDIUSB12的驱动程序和ISP下载程序。
2.2.2 PC机ISP下载软件设计
PC机ISP下载软件是面向用户的一个接口,它向用户提供读目标芯片厂商号,读目标芯片型号,写目标芯片Flash,读目标芯片Flash和擦除目标芯片Flash等ISP编程操作。因为所有ISP操作都在单片机控制系统中实现,所以PC机ISP下载软件仅是通过USB接口向单片机发送ISP编程指令和代码数据,同时接收并显示单片机反馈回的信息。
实现USB通信的功能函数包括ReadData和WriteData两个函数。
(1)ReadData函数
int __stdcall ReadData(int pipenum,unsigned char *recbuffer,int len,int waittime=-1)
其中参数pipenum表示要操作的管道号,可以为0、2、4,分别对应端点0、1、2;参数recbuffer表示接收数据缓冲区;len为接收缓冲区长度,而且必须为要接收数据的真实长度,但最大长度为1024;waittime表示超时时间,单位为毫秒。
(2)WriteData函数
int __stdcall WriteData(int pipenum,unsigned char *sendbuffer,int len,int waittime=-1)
其中参数pipenum表示要操作的管道号,可以为1、3、5,分别对应端点0、1、2;参数recbuffer表示发送数据缓冲区;len为发送缓冲区长度,而且必须为要发送数据的真实长度,但最大长度为1024;waittime表示超时时间,单位为毫秒。
3 应用与测试
使用USB Analyser分析USB-bus1.1分析仪采集的数据,当本设计与PC连接时,主机检测到新设备,并提示安装驱动程序,安装完驱动程序后,PC机开始枚举USB设备。PC
机根据读取得USB设备描述符配置设备,此时,USB设备枚举成功,进入挂起状态,本设备已经被PC机识别,如图6所示,USB接口测试成功。
图6 PC机识别出本设计
将USB-ISP单片机开发与教学实验板与PC机相连接,在PC机运行USB调试助手,通过USB调试助手与本设计进行数据通信,在PC机上运行ISP控制软件,测试检测连接功能、擦除Flash功能、下载功能和读取Flash功能能够较好的实现。
4 结论
本文作者创新点:设计了一种单片机(MCU)控制、基于USB接口通信的通用智能型ISP下载器。由于ISP下载系统使用USB接口,PC机主机不直接操纵编程器的硬件电路,而是向内置单片机发以命令的形式间接控制下载器工作,避免PC机软件受病毒侵害出现错误、联机电缆接触不良、外界电磁干扰等原因造成控制错误,整个设计显得灵活、方便。
参考文献
[1]胡晓军.USB接口开发技术[M].西安:西安电子科技大学出版社.2005
[2]任卫华、叶明.基于PDIUSB12芯片的USB接口实现方案[J].国外电子元器件.2005
[3]USB Interface Association Descriptor Device Class Code and Use Model, http://www.usb.org.
[4]王志强等. USB设备驱动程序开发技术研究[J].微计算机信息,2006,2:257-260www.
- Linux系统下USB摄像头驱动程序开发(04-25)
- 基于uClinux嵌入式系统的汽车黑匣子的设计(07-08)
- 基于WinCE操作系统的通用USB数控键盘设计(08-05)
- 基于WinCE的ARM视频监控系统(11-14)
- 基于LabVIEW的USB实时数据采集处理系统的实现(03-26)
- 基于DSP和USB的高速数据采集与处理系统设计(05-01)