本文转自公众号,欢迎关注
(资料图片)
基于DWC2的USB驱动开发-0x01开篇介绍与新思DWC2 USB2.0控制器简介 (qq.com)
前面介绍了USB江湖中,硬件协议分析仪,软件抓包工具中的各门各派,各路高手。工欲善其事必先利其器,所以至少需要了解其中一个硬件协议分析仪和一个软件抓包工具,后面才能比较方便的进行USB开发,否则可能会迷失在USB协议的沼泽里,而难以自拔,此时你可能就会不断进行哲思:”我是谁,我在哪里,我在干嘛,我为什么要搞USB?”; ”软件问题,硬件问题,还是我的问题?”。
各门各派,江湖大侠都会有自己的独门绝技和独门武器,而我们看到各种武侠小说,电视剧中,大侠的长成都是奇遇绝顶高手,然后挑柴,打水,站桩,摸鱼(不是屏幕前的摸鱼),划水(不是屏幕前的划水),一顿输出,然后镜头切换春夏秋冬,从掌动草长莺飞到剑指秋风落叶,从拳击万丈瀑布到脚扫千层白雪,招式基本功达到炉火纯青之后,然后就是绝顶高手拿出一本泛黄的小册子或者来到一处绝壁前传授内功心法,于是功力突飞猛进,终得大成。终于下山行侠仗义,叱咤江湖,成为一代传奇。
UBS开发也是一样的,尤其是做USB底层比如驱动开发,那么至少需要购买一个USB硬件协议分析仪,以便抓取分析协议的底层信号和数据与规格书对照,这就是前面的基本功练习。,等协议熟悉了之后,就可以去USB官网搜索各种规格书,开发实际的产品,练习心法内功了,就好比可以进入达摩院的藏书楼去翻阅各种绝学典籍了。
实践是检验检验真理的唯一标准,所以我们不从USB复杂的协议规格书入手,一开始就直接学习少林武功的七十二绝技是不可取的,就好比鸠摩智最终导致的是走火入魔。最好的方法是基于某个USB的控制器,从零实践其驱动开发,先从实践开始熟悉协议,打好基础,练好基本功。遇到哪些内容或者问题然后理论结合实践,参照USB控制器的文档和USB规格书的文档进行实践和理论学习。这样后面才有可能驾驭,切记不能急于求成,只有基本功结合心法才能提升内力和功力。
相信本系列文章应该是全网第一部专门详细介绍基于DWC2 USB2.0控制器驱动开发的文章,慢慢来,希望和大家一起学习,从实践出发最终能成为USB开发的大侠。
新思的USB 2.0 IP应该是业界使用得最多的IP解决方案了。市面上很多的量产MCU或者MPU都是基于新思的IP,比如各种xxx32的单片等。新思官网可以看到一些信息
https://www.synopsys.com/dw/ipdir.php?ds=dwc_usb_2_0_digital_controllers,但是其手册等不是直接开放,需要注册,目前个人注册好像不太行了。
新思的IP有以下特征:
灵活的配置选项,以最大限度地提高性能和最小化CPU中断,后面我们也会详细讲到其中断相关的内容,中断通过一些bit的组合以标志不同的状态,以减少需要进行的判断逻辑。灵活的参数可以轻松集成到低延迟和高延迟系统中。基于系统要求的USB数据传输或事务处理。可配置的数据缓冲选项,以微调性能/面积的权衡。缓冲区和描述符预取使主机吞吐量最大化。固件可选端点配置,支持后处理应用程序更改;以及灵活的单芯片设计适用于多种应用,总之一个词就是”灵活”,但是后面看规格书也可以知道确实很复杂,配置参数选项很多。通过广泛的约束随机验证进行测试,确保高质量的IP。AMBA™高性能总线(AHB)接口可快速集成到基于arm的设计中。所以你可以看到各种基于ARM尤其是Cortex-M系列的xxx32的MCU基本都是采用的新思的IP方案。UTMI+ Level 3可以与兼容的PHY设备快速集成。高速high -Speed (480mbps)、全速Full-Speed (12mbps)和低速Low- Speed (1.5 Mbps)的操作符合USB OTG补充标准。USB 2.0 HS OTG控制器支持外设或主机模式。也支持高速USB EHCI主机控制器。新思USB 2.0 IP主要有两个文档需要参考
《DesignWare Cores USB 2.0 Hi-Speed On-TheGo (OTG) Data book》
《DesignWare Cores USB 2.0 Hi-Speed On-TheGo (OTG) Programming Guide》
前者是描述IP的架构,信号,配置,寄存器等,有百多页。供IC设计,验证工程师,和驱动工程师查阅。驱动开发要频繁参考其寄存器部分,要做到每一个寄存器的每一个bit的作用都要了解,我们后面就会一步步参考它进行驱动的编写。当然要成为高手肯定要有很好的内力修为,这就需要对其架构等其他部分也要熟悉,所以其他部分我们后面也会一起慢慢阅读消化。
后者是编程指导,驱动编写主要参考这一部分进行,也有五百多页,这个文档我们后面也会详细的阅读
如果需要这两个文档的可以公众号留言或者加我微信,可以分享给你,仅供分享学习之用。
这一篇是我们正式进入USB驱动开发的第一篇, 与其他所有的USB书籍或者文章不一样,我们一开始不直接讲USB协议, 我们先从具体的USB IP入手,从USB的底层驱动编写实践入手再边实践边了解协议。理论结合实践才是好的方式, 心法招式结合基本功练习才有可能练成武功的最高境界,否则就会走火入魔。关于走火入魔的一个很明显的表现就是,很多USB驱动开发工程师或者嵌入式开发人员,一上来就在群里论坛里问”求救,xxx了是什么问题,怎么解决”,这一看就是基本功都没练习直接就练习少林七十二绝迹的,基本连USB控制器部分的参考手册数据手册,USB规格书都没怎么阅读过的,肯定做不好,必定走火入魔,迷失在各种问题里,哪怕是成为调参侠,调API侠,调库侠,复制粘贴侠最终也可能遇到各种BUG无法解决而终。我们做开发尤其是嵌入式开发,驱动开发,一定要基本功练好,对底层基本原理熟悉,并且经过亲身实践,理论结合实践才能做好,成为USB江湖一代大侠。
标签:
本文转自公众号,欢迎关注基于DWC2的USB驱动开发-0x01开篇介绍与新思...
1、1 分层法分层法是质量管理中整理数据的重要方法之一。2、分层法...
原标题:冒充“精华液、卸妆水”广州海关在进境寄递渠道查获濒危红...
核心观点2023年以来,中国CPI和PPI持续低于市场预期,引发“通缩”...
谷城:老旧小区换新颜改出满满幸福感---湖北日报客户端讯(通讯员李...
天能动力(00819)午后涨超4%,截至发稿,涨4 38%,报10 24港元,成...
相遇是偶然,分离是必然。一切随缘,随缘不变,不变随缘。行到水穷...
青海卫健委通报,2022年11月9日0—24时,青海省新增本土确诊病例1例...
,,最火的奇迹手游私服网合集。在那个热血与鏖战的记忆中,奇迹游...
1、新发现《SCIENCE&VIE》是新发现SCIENCE&VIE出版的图书,主要以与...
1、说应该stellarmarionette吧MV太性尺度太所禁rainbowCHACHA。本文到此分享完
你们好,最近小未来发现有诸多的小伙伴们对于公交卡网上充值显示待...
5月8日,银轮股份(002126 SZ)在互动平台表示,目前公司墨西哥工厂...
56款APP(SDK)侵害用户权益被通报“羊了个羊”等多款游戏在列---人...
淄博市统计局近日发布数据显示,根据市级生产总值统一核算结果,...
相信很多业主都遇到过这个问题,那就是卫生间下水管道不隔音。楼上...
中国连续第六个月增加黄金储备,根据国家外汇管理局5月7日公布的数...
季后赛历史10次得分40+、25次助攻上双仅两人:詹姆斯、哈登,76人队,...
□记者付玉婷报道本报济南讯省工业和信息化厅等5部门近日印发《山东...
5月5日,国家电投召开2023年5月份生产经营工作例会,总结4月份生产...
精品VIP投研内容
铼矿相关上市公司股票有哪些?(2023 5 8),铼矿相关上市公司股票...
5月8日重要经济数据和风险事件前瞻
车险二次综改帷幕逐渐拉开!根据监管要求,各地区最晚于5月底采用最...
下面来看一组联播简讯:“两弹一星”精神永放光芒主题宣讲报告会在...
1、你好,保健品只能起到保健作用,如果你是正常的,没必要服用保健...
1、胰腺癌早期无任何症状即可确诊,因此胰腺癌的诊断非常困难。2、...
为有效延长公路使用寿命,提高公路通行能力,近期,云南省文山壮族...
闻着臭、吃着香、口感绵密而独特的“果中之王”榴莲,深受国内水果...
1、打开英雄联盟游戏,点击开始游戏。2、玩家对战、人机对战、自定...