阅读:1006回复:3
问一个概念性的菜鸟问题
固件的作用是参与完成数据传输吗?68013的固件也就是增强型8051的程序,那么数据传输速度要受8051时钟频率的限制,恐怕很难达到300Mbite/S吧.
68001的固件应该是运行在外部控制器上的吧,这个外部控制器可能是asic也可能是fpga,也可能是8051,它也有通用固件吗? 我想我的理解肯定有问题,但是应该如何理解固件的作用呢?还望高人不吝赐教. |
|
最新喜欢:![]() |
沙发#
发布于:2005-03-18 11:12
对.
主机要发送数据(将命令也看成是数据)给设备,那么通过主机这边的 驱动(分为HOST DRIVER和CLIENT DRIVER)向主机的相应端点写数据. 然后数据通过主机与设备相应端点之间的管道传送到设备.设备在接 收到数据后通过产生中断通知你的固件收到数据.最后你的固件对收 到的数据进行解析并作出相应的处理. 设备那边的端点和设备存储器之间的通信问题分两种: 1.存储器在你的USB控制器内的,硬件自动完成. 2.存储器在你的USB控制器外的需要在你的固件的帮助下完成. |
|
|
板凳#
发布于:2005-03-18 09:34
多谢你的回答,我是否可以这样理解?
主机发命令读写设备,等于主机那边已做好读写数据的准备,然后设备作好准备,双方通过硬件交换数据.直接交换数据的其实是主机和设备的端点,设备那边还有一个端点和设备存储器之间通信的问题. |
|
地板#
发布于:2005-03-17 10:50
照我的理解,固件的作用是控制设备(硬件)的工作(包括通信、数据传
输等等)。在数据传输过程中,他并不参与到里边去,一般都是由硬 件(如你的USB控制芯片)自动完成的。数据传输时的时钟是由你的 硬件提供的,而不是由51时钟提供的。 举个例子: USB固件完成设备的枚举过程。在这个过程中,固件的作用只是对HOST传来的信息进行分析和处理,以及回传信息(具体回传不是他实 现的),而数据的具体传输是由你的USB控制芯片完成的。 |
|
|