登录 免费注册 首页 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

关于单片机通过usb和pc机传输数据的问题

作者:alloy518 栏目:通信技术
关于单片机通过usb和pc机传输数据的问题
有一个单片机系统,需要由单片机定时(1秒钟一次)通过usb向pc机发送数据,请问这个单片机系统中usb接口芯片应该选什么?子节点芯片(PD12)可以么?我看资料中说usb通信必须是主机向子机节点先发送控制命令,子机节点才能反馈数据,如果是这样的话,单片机系统想要每秒发送一定数据,让pc机等待接受,然后pc机处理数据,单片机系统是不是就不能使用PD12之类的子节点usb接口芯片了,必须使用主节点芯片?有人说可以使用中断传输解决这个问题,请问可以么?单片机系统每秒数据量大概在2K-3KBytes,谢谢

2楼: >>参与讨论
chunyang
必须使用Host型的USB接口
不过也可将控制权交给PC,每秒定时查询就是。

3楼: >>参与讨论
computer00
使用HOST的片子?那如何跟PC通信?
我觉得使用USB的中断传输模式就够了。查询时间可以设置,时间间隔最小好象可以到1mS。
这样使用D12是完全可以的。

4楼: >>参与讨论
chunyang
用Host时,可以参考PC USB互连技术,不过要有中间设备
相当于一个交换设备。

5楼: >>参与讨论
computer00
那样?到最后还不是要变成中断模式传输?
就是你所说的那个“中间设备”,如果跟PC USB通信的话,应该也是要使用中断传输模式吧?
那还不如做一个DEVICE,直接使用中断传输模式跟PC通信,楼主要求每秒发送一定数据,
我想时间要求也不会是太严格的,使用USB中断传输模式完全够用拉。USB鼠标、键盘就是此
类传输模式。

6楼: >>参与讨论
chunyang
是的
技术上的可行性是一回事,实用性是另一回事,就性价比而言,中断传输是最好的。

7楼: >>参与讨论
alloy518
usb通信
我要求1秒发送一次数据,这个时间必须准确,也就是说必须由单片机进行控制,而pc机只要在1秒钟中完成对数据的处理即可,并不需要一定要立刻监测到数据,这样用中断传输可以么?谢谢

8楼: >>参与讨论
javie
查询?中断?
关注中...

9楼: >>参与讨论
chunyang
问题是,1S时数据必须送PC且时间上不能有误差吗?
 
10楼: >>参与讨论
alloy518
数据通信
恩,也就是说单片机利用硬件定时器定时1秒(可能有一定误差,但是每个1秒间隔是不变的),然后每次定时中断后发送2-3K数据到PC机,PC机必须在下次单片机发送的数据到来前把当前次的数据全部接收取走并且处理完毕(处理所需要的时间很短,可以忽略)

11楼: >>参与讨论
chunyang
那没问题
用中断传输即可

12楼: >>参与讨论
alloy518
工作过程
是不是PC机控制usb进入中断传输过程,发送要求进行中断传送的控制包,然后超时设置〉1秒,当每次接收到数据之后,PC机重新发送控制包并且重新设置超时?谢谢

13楼: >>参与讨论
computer00
建议去看看USB的中断模式是怎么回事
由于USB是主从机制,所以设备不能主动发送数据。

USB中断传输模式是这么回事,由USB HOST每间隔一定时间(例如,1毫秒,这个时间可由设备指定)查询设备是否有数据。
这个查询过程不用你的软件负责,HOST会一直查询,且永远不会超时。所以,当你准备发送数据后,HOST会保证在一个
时间内接收到这个数据(例如,最多2mS,USB总线会为中断传输保留带宽)。例如,你在1S时刻有数据要发送了,
那么在1S到1.002S之间,你肯定会收到一个IN包的,但具体是哪个时刻是未知的(假设查询时间为1mS)。

参与讨论
昵称:
讨论内容:
 
 
相关帖子
请教大虾,人体是干扰源吗可做屏蔽体?
请教各位工程部的大虾
这个高频发射管是哪个公司的?
找一个廉价的计数器
如何在电话录音(通过声卡)纯软件中实现来电信息和拨出号码的识别
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号