上位机与USB通信的问题,急急急!!!

zxmjiangjun   2008-12-13 15:46 楼主
各位高手:
    我现在做一个项目,开发芯片是ATMEL的AT91SAM7X256,烧的程序是mass storage,在片外nandflash上实现一U盘。现在的进度是操作系统已经能够识别U盘,向U盘中拷入数据拷出数据都很正常。
    然后我要在此基础之上开发一新功能,就是在PC机端开发一程序,能够向USB口发送某特定命令,在固件的mass storage类函数里增加对应的响应,功能是用CPU运算一串数据,然后发回USB接口,上位机再接收。
    我在论坛内和PUDN中找了一些例子来看,都是可以得到U盘的描述符,如
Device path:  \\?\usbstor#disk&ven_atmel&prod_mass_storage_msd&rev_0.01#0123456789ab&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}
Bus type:  USB
Device type:  Disk
Media type:  Removable
Vendor specific:  ATMEL   
Model number:  
Firmware revision:  
Serial number:  
Cylinders = 2
Tracks per cylinder = 255
Sectors per track = 63
Bytes per sector = 512
Disk size = 16450560 Bytes (15 MB)
但得到这些后怎么来发送数据、命令和接收数据呢?
天天犯愁,我没有多少分给大家,因为我刚来到此社区,希望大家多帮忙!!!

回复评论 (11)

看了看什么DeviceIocontrl,不知道是否能实现,大家来帮忙!  不知道如何增加给大家的点数,不管怎么样知道的都告诉我一下吧
!!!!
点赞  2008-12-17 11:59
我比你还菜呀,我也要做类似的,可是现在连如何实线数据的传输都不回,您能将您写的驱动发我一分,然我学习学习
我的Email是xjl295581837@163.com
点赞  2009-4-5 17:10
你用atmel的芯片,datasheet上有资料的吧,usb你就把他当成一个串口来做,既然你能拷贝程序,说明驱动遍历这块都好了,我问下,驱动这块是你写的吗,如果是的话做这个应该很容易,如果不是,你应该先把驱动数据收发那块看懂。
点赞  2009-4-8 15:41
U盘的驱动程序不是你写的, 所以你要先找到这个驱动公开的DEVICEIOCONTROL的功能. 然后访问该驱动, 并使用对应的IO CONTROL来实现, 如果没有对应的控制接口, 可能就没办法了, 除非你自己写个U盘的驱动来替换, 这是我的理解不一定对.
点赞  2009-4-22 15:45
我的想法是,在USBFN的驱动中除了MASS STORAGE所使用的ENDPOINT外再额外送两个ENDPOINT比如3、4(使用同一个endpoint也可以),其中一个设为中断形式,上位机的程序向额外的这个endpoint写数据,USBFN会接收到中断,中断函数判断是否是这个endpoint,如果是的话就通过另一个endpoint回发到上位机。
我目前做的是USB转COM,使用的都是输入输出都是endpoint2。
有些事还搞不太清楚,不知道用两个endpoint是否可以。
点赞  2009-4-22 17:33
uping
点赞  2009-4-24 16:25
我现在做出了usb通信 hid免安装驱动的应用软件,效果很不错!!!
我的c8051f320 usb demo 板采用bulk、中断通信模式,通信速率高达1.5Mb/s(采用vb6编程)

http://c8051fmcu.blog.sohu.com
点赞  2009-4-25 11:01
这个功能可以使用windows 的SCSI类的函数来实现。实际上我们的U盘类的大容量存储设备,windows都是使用SCSI的UBI命令来读写的。所以你可以搜一下相关这些关键词,然后修改你的AT的mass_storage驱动,在PC端使用标准的SDK编写相关的DLL程序供其他程序调用。这个芯片的这种功能我以前实现过。
点赞  2009-4-25 21:05
我觉得看看USB2.0协议英文版还是有帮助的。
点赞  2009-4-28 12:52
一楼的能不能把你的代码给传一份,我也在做相关工作,希望大家一起研究!!
点赞  2010-1-22 22:44
我的邮件liuxuhui20082000@126.com
多谢!!!
点赞  2010-1-22 22:45
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复