资料介绍
上位机软件自然是:VC++6.0,DriverStudio3.2,DDK,至于安装顺序,DriverStudio设置,网上很多资料。
下位机用的是KeilARM3.22.
说明:
USB转CAN,作为CAN调试工具
作者Ahui
邮箱chuanhuibh@sina.com
日期:2009.7.12
版本:V1.1
CAN2.0标准帧,ID为0到255(没有用11bit),波特率500K,一次最多发送8字节数据
USB2.0全速设备
硬件: 英贝德AT917X256实验板和WindowsXPPC
上位机软件: VisulC++6.0,DDK,DriverSttudio3.2
下位机软件: KeliARMMDK3.22
参考资料:USB协议,《圈圈教你玩USB》,AT91SAM7X256,AT91SAM7S64cn芯片手册,
圈圈的USBtoUART在21icAT91SAM7S64实验板的实现代码。
使用方法:连好CAN线缆,USB线缆,电路板接通电源后,Windows提示发现新设备
然后选择自己安装驱动并把驱动目录引导到此文件夹的“Windows驱动”目录,
装玩驱动之后,打开VC上位机中的软件,软件上有个帮助按钮。
申明:(1)初级版本目前还处于完善状态,有BUG请电子邮件告知,谢谢。
(2)下位机USB协议栈基本为圈圈所作,本人不享有此部分版权。
(3)转载需经本人同意,并请注明原作者和出处。
(4)只做学习交流,禁止商用。
注意事项:
关于USB的驱动,一直没有特别详细的资料,我要补充一点:DriverStudio根据你的设置,主要是PID和VID,以及Endpoint,生成一个框架,调用DDK的东西去编译生成了2个东西,一个是inf文件,装驱动时会用到,另一个是lib库,你开发VC应用程序通过它去访问设备。
当你生成USB的驱动之后,你需要重新再用Vc6新建一个应用程序(我以前以为DriverStudio生成的就可以当最后的应用程序),把DriverStudio生成的Vc工程的库里面的interface.h拷贝到你的应用程序的VC工程中,这里有GUID,这个GUID是你的USB器件是一一对应的,和PID和VID是关联的,这样你就可以用VC的工程对你那个USB设备访问了。
还有就好似DriverStduio生成的程序要修改的,应用程序编起来也比较麻烦,可以参看圈圈的代码。
下位机USB基本上是从圈圈那里移植的,CAN的东西是我们实验室的成熟代码,从ADS移植到Keil就可以了,本来Keil自带at91的USB,也可以用,但是我移植Keil自带USB时,只能写不能读(读时PC死机),对于别人的USB,你只要移植描述符和端点配置就可以了,当然端点中断的回调函数也要改,内核就不必动了。
在做之前最好要了解USB的协议,越详细越好。