USB2.0特性及USB单片机
收发器与SIE(串行接口引擎)相连接,SIE直接与端点(endpoint)FIFO相连。仅当需要完成检验分组信息的工作时,单片机才与USB传输发生关系。
单片机仍可对FIFO进行存取。例如,它能根据信息分组(包)的头标码内容与因特网进行存取操作;但是,数据路径的速度与单片机的处理速度无关,它有独立的速度。这是调整了结构的1个例子。
Cypress USB2.0 SIE类似该公司以前的FX部件,能执行USB2.0协议的大部分内容。设计师不必考虑所有三级处理这类事情,而全由智能SIE来完成。当用户订购该公司的开发板,并插入PC插槽时,不必写入任何代码,开发板就能工作。很明显,这是由于有智能SIE之故,使用户应用时不需调整开发板。在启动这部分工作时不会影响其他部分,USB就能立即传输数据。
由智能SIE支持的另一工作是Cypress固件下载。由于固件是在FX2的RAM中,所以能通过 SIE用USB下载。当单片机复位时,SIE就能做下载工作。因为USB2.0是新的,有许多问题要考虑。下载给设计师提供了一种容易升级的方法。在参数变化时,这是一个重要的优点,因此减少了风险和不确定性,增加了产品上市快的优势。
USB2.0的分组长度是512字节。如果用经典的FIFO,当产生坏的CRC(循环校验码)时,所有的数据必然泛滥流出,因为它是坏数据。把FIFO作为RAM来执行,它变得更像分组的 FIFO。整个分组信息能送入双口存储器。如果CRC是好的,则分组信息能从USB域交换到I/O(输入/输出)域。对外来说,它看起来仍然像FIFO,但代之以每次只传送1个字或1个字节为立即传送整个分组信息。
端点FIFO的其他部分与速度有关。因为数据流入很快,所以对分组来说,至少需要双口缓冲器。 Cypress公司的器件因可编程而进了一步。端点缓冲器可能是双、三或四缓冲器,与所需的数据量或灵活性有关。例如,批量存储的外设,在高速时,要断开 1个读数据信道。然后读/写头移到下一条路径,在USB上发送数据。为保证此工作,需要四重缓冲。
实际上不需要了解FIFO对外是如何进行调整工作的,因为有FIFO满标志、FIFO空标志以及可编程标志。事实上,这是一个“量子”FIFO(公司这样称呼),分组的换入、换出是完全透明的。
“量子”FIFO就是有256×16位的双口RAM块,如图5所示。它们放置在USB这边,而数据是从USB输出或输入。数据穿过虚线进行交换(见图5),达到I/O系统部分,这时能肯定整个分组是好的。8051单片机也对此存储器存取有效,这在另一种分组协议时就要用到。如以太网,在应用之前,可能要对分组进行试验。8051能视分组的头标码内容按需要进行处理。在任何给定时间,某些RAM块都是在SIE(串行接口引擎)控制下,由USB数据充满/空闲;而其他的RAM块则可由8051单片机和()或I/O控制单元使用。在USB域,RAM块是单口;在8051的I/O单元域,RAM块是双口。RAM块能构成单、双、三或四缓冲。
评论