我想知道USB堆栈的含义及其示例。我学习了很多关于USB的知识,而且我简单地阅读了一些USB这样的书,但没有提到“USB栈”。什么是USB协议栈?
6
A
回答
8
术语“堆栈”是指抽象数据结构(与此无关)或执行特定功能的软件集合。在“USB堆栈”的情况下,它是允许通过USB链路进行通信的硬件,固件,内核模块,驱动程序和用户程序的集合。
使用术语“堆栈”是因为软件组件通常层叠在一起,每个组件都使用其下层的服务。
您也可能听说过“网络堆栈”或“LAMP堆栈”或其他类似的短语。维基百科有一篇关于Solution stack的文章,这是一个想法。
6
USB栈,就是基于对“软件栈”通用的概念,如TCP/IP协议栈,GSM栈等短语
它的框架下,往往通过USB设备制造商,或OS提供开发人员,这使得其他开发人员可以专注于其实施的肉,而不必担心正确实施较低级别的USB。
在USB的情况下,基本上有通信的层(每个人称之为略有不同):
- 链路层(串行IO) - 与差分线转换和信令的交易,并解码该流为二进制数据,往往在硬件
- USB分组层 - 涉及USB数据包的结构
- USB所需的功能 - 枚举,缓冲区,端点
- USB高层API - 音频,HID等,也有自己的restricti需求和需求。
它类似于现代操作系统的TCP/IP协议栈:
- 物理层(通常由硬件完成以太网卡上)
- 链路层(MAC地址层,往往在做硬件以太网卡上)
- 网络层(IP,路由)
- 传输层(TCP)
- 您的应用程序特定层(HTTP栈等)。
相关问题
- 1. 什么是协议栈?
- 2. 什么是TCP/IP协议栈?
- 3. USB WebCamera协议
- 4. USB键盘协议
- 5. 什么是hm://协议?
- 6. 什么是COP3协议?
- 7. 什么是Xdata协议?
- 8. 什么是webcal协议?
- 9. 什么是SMPP协议?
- 10. 什么是xmlsocket://协议?
- 11. ZigBee协议栈建议
- 12. USB HID协议问题
- 13. USB摄像头协议
- 14. 什么是“网际协议,伪协议号码”?
- 15. 什么是Objective-C的协议
- 16. 什么是Swift中的“标记协议”?
- 17. http协议句柄是什么?
- 18. 什么是分层通信协议?
- 19. “XMP over SOAP协议”是什么意思?
- 20. 什么是Python的序列协议?
- 21. RTSP协议栈实现
- 22. LTE协议栈开发
- 23. 是基于现有协议的协议还是协议?
- 24. TCP/IP协议栈:简单协议和IP
- 25. 消息CRC协议工作在USB HID
- 26. uwsgi协议和wsgi协议有什么区别?
- 27. 为什么Objective-c协议采用其他协议?
- 28. 适用于Linux的CAN协议栈
- 29. 挂钩到C中的TCP协议栈
- 30. 协程是什么?
所以它不仅仅是指软件? http://www.google.com/imgres?um=1&hl=zh-CN&sa=N&biw=1366&bih=600&tbm=isch&tbnid=Bp8R0jm6_crSPM:&imgrefurl=http://www.jungo.com/st/embedded_usb_otg.html&docid=LIDLc6Q-lKTWaM&imgurl = HTTP://www.jungo.com/st/images/otg_feb05.jpg&w=530&h=355&ei=CDMsT5jPGZGUOpChrYEO&zoom=1&iact=hc&vpx=107&vpy=150&dur=3239&hovh=184&hovw=274&tx=178&ty=72&sig=106979144409125464825&page=1&tbnh=113&tbnw=168&start = 0&ndsp = 21&ved = 1t:429,r:0,s:0 – Ahmed 2012-02-03 19:19:50
正确的说,“堆栈”贯穿不同层次的实现,包括许多不同类型的组件,包括USB中的硬件。 – 2012-02-03 19:20:40
而堆栈依赖于硬件?每个芯片有不同的堆栈? – Ahmed 2012-02-03 19:26:26