jicheng0622

【原创】Kinetis USB模块开发(一)

0
阅读(30218)

    在上一篇的时候说到准备分几个篇章来说说Kinetis的USB模块开发,由于前段时间花了大致一个周的时间搞了搞USB设备的驱动(USB主机我还没用起来,因为主机的话涉及到2.0的协议了,短时间弄不好,索性先搞搞USB设备还好),积累了一些开发经验和资料,这里趁着这个六月底开个头,先开篇说说关于Kinetis开发前的需要做哪些准备,嘿嘿...(此分章主要针对初入门的,高手的话直接略过吧,毕竟自己是第一次开发USB,水平和经验有限,怕献丑了,呵呵)

    本系列开发仍以Kinetis K60为例介绍(Kinetis K系列家族目前K40,K60和K70自带USB-OTG模块),此分章一主要先说说从零入手的话需要先做好哪些准备,如果有网友对此感兴趣的话可以跟着来,有好的资料也欢迎下面留言分享,呵呵...下面就不罗嗦了进入正题了:

    首先说说硬件上的准备,即准备好K60系列的开发板或者核心板(把USB接口引出来),对K60这类自带USB硬件模块的片子,构造USB开发系统很简单,只需把USB_DM和USB_DP引出,接到USB接口(或者miniUSB接口)即可,但一般情况下最好这两根线都串接33欧姆的电阻做阻抗匹配防止振荡,而且两个电阻尽量靠近芯片端USB_DM和USB_DP引脚。

    其次就要准备下此次开发所需要的USB相关的技术性资料,下面列举了一些我推荐的书籍和pdf电子版的资料:

(1)Kinetis官方datasheet是必需的了,refer to USB寄存器部分;

(2)Kinetis官方外设模块开速入手手册Kinetis Peripheral Module Quick Reference.pdf,里面有一部分对USB模块做了讲解,值得一看;

(3)Kinetis官方的universal serial bus介绍,即单独的Kinetis USB模块介绍,这个比较难找,我传到附件里了,可以下载下来一看;

(4)USB 2.0协议,找个中文版的瞅瞅,如果开发USB主机的话需要仔细看看,开发设备的话简单瞅瞅;

(5)王宜怀老师的《嵌入式系统原理与实践——ARM Cortex-M4 Kinetis微控制器》,这本书里面对USB介绍的还是很不错的,我从里面还是受益匪浅的;

(6)《圈圈教你玩USB》,这本书也是我极力推荐的,里面对USB开发讲的很细致,只是可惜圈圈用的是D12的芯片,而我们用的片内USB,不过很多东西是相通的,而且最主要的是书的最后讲的USB PC端驱动程序开发很有用,这个是必须要看看的,极力推荐之;

(7)准备好飞思卡尔的官方例程包,里面有USB DCD和USB Device的例程,我们需要在此基础上改进,完成自己的代码的编写。

    最后,咳咳,就是心里准备了,哈哈,USB模块毕竟较大,开发起来有点难,需要耐心,做好心里准备哦,哈哈~

    今儿就先说到这里,莫急,请待下回分解(评书的感觉有木有,呵呵),哈哈,未完待续~

    附件为飞思卡尔官方的USB开发介绍文档。