阅读:1360回复:8
EZ-USB FX2请教
看了FX2的TRM,对slave FIFO模式理解还是不透彻。照我的理解,在slave模式下,不仅要对51进行编程写firmware,外部逻辑(master)也要有程序配合吧,不然那些跟FX2进行通信的信号线如何产生。但是TRM里对外部逻辑的编程好像没怎么讲过。是不是就那几个读写时序要求啊?
高手们指点一下 |
|
沙发#
发布于:2004-06-23 10:08
各位大虾指点一下吧
|
|
板凳#
发布于:2004-06-23 10:29
你好,我是新手,你愿意回答回答我的问题吗?
|
|
地板#
发布于:2004-06-23 10:49
d12没做过,不敢乱讲啊
|
|
地下室#
发布于:2004-06-24 14:10
队,按照技术手册上的时序写出来就可以了。
|
|
|
5楼#
发布于:2004-06-24 14:11
呵呵,我来发表一下个人见解:(调不出来别找我!我可是调出来了)
FX2的SLAVE FIFO模式是几种模式中最简单的了,固件程序非常简单,需要你写的程序10行左右: 首先设置一些初始化寄存器,如IFCFG,EPxFIFOCFG等,这些在TD_Init()里,然后将例程中的TD_Poll()函数里面的东西都删掉。OK,一个简单的Slave Fifo 固件程序就完成了。 主要工作在于时序的配合,你的外部逻辑不知道是什么,但我想应该能产生68013需要的时序,首先要确定片选信号没问题,可以选上设备,然后选择端点,通过FIFOADDR[0:1]管脚,分别可以选中2,4,6,8四个端点,然后标志位FLAG A、B、C、D标志端点的空、满、半满、可配置等标志,标志位可以有两种模式,一种是固定的,即不管FIFOADDR选中那个端点,标志固定不边,例如你把这把标志分配给端点2,可是选中了端点4,那么标志照样显示的是端点2的空满状态。第二种是不固定模式,即根据FIFOADDR的变化跟着变化,选中那个端点标志就显示那个端点的状态。 然后就是一些控制线,如OE,RD,WR,时序可以参照datasheet上的时序图(千万别告诉我你不会看!),数据线我想你已经连到外部的master的数据线上了吧。 最后总结一下:外部的Master给出片选信号选中68013――>给出FIFOADDR选择端点――>给出RD、WR以及OE控制信号以及数据线上的数据――>数据写到端点里,68013给出FLAG标志信号――>完成。 是不是很简单:) ps:注意Slave Fifo读写有两种方式,同步和异步(好好看Datasheet以及技术参考哟) |
|
6楼#
发布于:2004-06-24 16:41
多谢资深专家指点。这样说来,用slave FIFO模式的时候,51core的任务就是初始化的时候配置端点,后面的工作都是由外部逻辑来进行了?那么那个重枚举的过程应该也是由51来完成的了吧。
|
|
7楼#
发布于:2004-06-24 19:18
楼主
你做的怎么样了,我现在也在做这个东西 能不能交流一下 QQ:5853288 |
|
8楼#
发布于:2004-06-25 10:33
呵呵,我们片子还没有买来....现在是在热身
|
|