打印
[Atmel]

每天跟我读点资料:SAM D21数据手册(247)

[复制链接]
599|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ddllxxrr|  楼主 | 2015-8-11 20:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
31.6.3.4 管道配置

    管道数据能被放置到RAM的任何地方。USB控制器访问这些管道直接通过AHB主机(建立在DMA中)带有管道

描述符的帮助。在管道描述符中的基地址需要用户写进描述地址寄存器(DESCADD)。请参考管道描述结构

在"Pipe Descriptor Structure"

    在用一个管道之前,用户应配置管道的方向和类型,在主机管道配置寄存器的管道类型段(PCFG.PTYPE)

。管道描述寄存器应被初始化为知道的值在用管道之前,所以USB控制器不用从RAM中读随机值。

    管道长度段在包长度寄存器(PCKSIZE.SIZE)应被配置为通过设备的与这个通道相关端点每次长度的报告

。数据缓冲寄存器的地址(ADDR)应被设置为管道传输用的缓冲。

    如果需要两个bank,在PCFG中的管道Bank比特应被设为1。双bank是被控制管理支持的。

    当一个管道是禁止的,那个管道下列寄存器将清零:

    。Bulk-Out/Pin事件转换寄存器(BINTERVAL)
    。管道中断使能清除/设置寄存器(PINTENCLR/SET)
    。管理中断标志寄存器(PINTFLAG)
    。在管道状态寄存器中的管道冻结比特(PSTATUS.FREEZE)
31.6.3.5 管道活动

   一个禁止的管道是不活动的,并且在复位时相关的寄存器都复位(管道n管道寄存器)。管道使能通过写在

PCFG中的一个管道类型值,不同与0的值。0为禁止。
   当一个管道使能,在管道状态寄存器管道冻结比特(PSTATUS.FREEZE)被设置。这允许用户完成管道的配置

,没有开始USB传输。
   当开始枚举时,用户取回设备描述符通过发一个GET_DESCRIPTIR USB请求。这个描述含有设备的最大包长

度默认控制端点(bMaxPacketSize0),这些用户可以用来重新配置默认配置管道的长度。

31.6.3.6 管道地址的设置

   一但设备默认设备地址0回答了每一个主机的请求,主机分配一个新地址给设备。主机控制器发送一个USB

复位到设备并且一个SET_ADDRESS(地址)设置请求,带有设备用的新地址。一但SETUP交易完成,用户把新地

址写到主机控制管道寄存器管道设备地址字段(CTRL_PIPE.PDADDR)在管道描述中。所有的以后请求通过这个

管道的都用这个新地址。

31.6.3.7 挂起和唤醒

   当在主机模式写CTRLB.SOFE为零,将导致USB由于发送开始帧在USB总线进入一个挂起状态。USB设备将在

3MS后进入挂起状态。

   在进入挂起之前通过写CTRLB.SOFE为0,用户必须通过设置它们的PSTATUS.FREEZE比特冻结活动管道。任何

当前的连续运行的管道将完成它的执行,并且所有的管道将不活动。用户将等至少一个完全帧在进入挂起模

式之前以免任何数据丢失。












相关帖子

沙发
bujidexiaodu| | 2015-8-27 15:48 | 只看该作者
楼主,你为啥不弄一个汇总的帖子呢!这样也比较好找,你说是不是!

使用特权

评论回复
板凳
bujidexiaodu| | 2015-8-27 15:48 | 只看该作者
就是在每篇帖子后面都加上汇总贴的链接!!

使用特权

评论回复
地板
ddllxxrr|  楼主 | 2015-8-27 19:38 | 只看该作者
bujidexiaodu 发表于 2015-8-27 15:48
就是在每篇帖子后面都加上汇总贴的链接!!

我想都完了,最后整理到一个文档中

使用特权

评论回复
5
bujidexiaodu| | 2015-8-28 11:22 | 只看该作者
ddllxxrr 发表于 2015-8-27 19:38
我想都完了,最后整理到一个文档中

酱紫啊!

使用特权

评论回复
6
ddllxxrr|  楼主 | 2015-8-28 13:12 | 只看该作者
恩是酱紫!

使用特权

评论回复
7
ming918| | 2015-8-28 15:48 | 只看该作者
我也有这个D21这个板子,最近看了下D21寄存器,研究了下TC定时器,死活没反应,奔溃中,配置寄存器写的程序!

使用特权

评论回复
8
ddllxxrr|  楼主 | 2015-8-28 19:37 | 只看该作者
ming918 发表于 2015-8-28 15:48
我也有这个D21这个板子,最近看了下D21寄存器,研究了下TC定时器,死活没反应,奔溃中,配置寄存器写的程序 ...

深表同情,用库怎么样


使用特权

评论回复
9
ming918| | 2015-8-29 08:26 | 只看该作者
ddllxxrr 发表于 2015-8-28 19:37
深表同情,用库怎么样

用库可以,可以加你扣扣吗?我的570131386

使用特权

评论回复
10
小猫爱吃鱼| | 2015-8-31 21:42 | 只看该作者
管道描述寄存器应被初始化为知道的值在用管道之前,所以USB控制器不用从RAM中读随机值。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:http://shop34182318.taobao.com/ http://shop562064536.taobao.com

2398

主题

6945

帖子

66

粉丝