首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

看9S12UF32的疑惑

看9S12UF32的疑惑

小弟看了UF32的DATASHEET,现有很多问题请教各位大侠...谢谢


1.UF32收接主机发来的PID放在什么地方,我找了好久也没有看到。只有介绍SETUP的请求数据缓冲区。


2.UCCSR寄存器内的CFG、INTF、ALTINTF这几个位域每一个值代表什么意思,DATASHEET里也没有介绍。


3。UNASR内的 NAI3C2 NAI2C2 NAI1C2 NAI0C2;NAI3C1 NAI2C1 NAI1C1 NAI0C1这些位都代表什么???

1、UF32很多的处理机制都通过硬件来实现了,所以你不需要关心PID在哪里,SETUP信息基本上也只需要处理device descript信息
2、3这两个问题其实都和USB协议有关,你最好先了解了USB协议才去看。一般不需要alternate setting的话,可以在UEPCSELR=09;中选择配合UNASR=00;设定
谢谢版主的回复,我受益匪浅,那么我还有一些问题请教您:
1。UF32与主机之间的握手也是程序开发人不员不需处理的是不是,这也由硬件自动完成的吗?
2。比如在一个批量传输出中,主机需要读UF32数据时(比如U盘),我怎么知道主机的IN事务呢?如果我不知什么间候有IN传输,我怎么发送数据呢?这一点我想不通,还请版主点拔。
3。主机在需要发数据时,在OUT后UF32自动应答,然后UF32会自动接收主机的数据对吗?

1、握手的话,有些是需要处理的,根据你自己的需要;
2、传输会选择一个endpoint,每个endpoint都有一个对应的UEPCSR的寄存器,寄存器中间的TFRC标志位就表明是否有传输事务了。
3、OUT token也是通过UEPCSR寄存器的标志位可以获得,知道主机有数据来。你可以查询标志位或者用中断的方式都可以。UF32自动接收到的数据会放在缓冲区里面,你取出来就可以了。

freescale网站有UF32的参考设计,可以到这个网址下载
http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MC9S12UF32&nodeId=0162468636K1007596

看一下源代码可以更好的了解
返回列表