阅读:2379回复:4
我的设计和一些问题请教大家
各位大虾,小弟刚刚学1394的硬件,对于驱动程序了解
也还是不多。有几个弱智问题想请教有经验的大虾。 问题虽然不是很有档次,但是还是希望知道的大虾尽力 回答,因为还有很多想我一样的小虾不知道。 我的设计大概是这样的: AD转换->FIFO->lattice 2064ve->tsb12lv01b->tsb41ab1->1394cable->PC1394interface. 目的是将一个模拟输入信号采样之后通过1394接口传输到pc中进行处理。 我设想的是可以通过使用Asynchronous Transmit的方式在pc和数据采集卡之间交换数据。 pc将采样频率,采样通道数等等信息传输到AD转换芯片中,然后采样的结果传输到pc中。 因为现在是试验阶段,采样率比较低,12位精度,6m以下。主要是希望能够有数据传过去就可以。 以后改进的时候再提高采样的速率。 1:应该由谁来成为根节点?我的数据采集卡,还是pc. 或者无所谓? 2:由谁来做bus manager 和 isochronous resource manager? 3: PRIE, ISBR, CTOI, CPSI, STOI,PEI,EAA, EMC 应该怎样配置? 4:PHY层控制器如何通知LLC层PHY层发生的中断。 比如CTOI,CPSI,STOI,PEI, 通过哪些信号? 5:我的数据采集卡怎样才能认识我的PC的1394接口? 我的意思是说,发数据的时候,需要在数据包中 指定DestinationID。当每次bus reset之后, 我如何知道我的pc1394接口的physical ID? 虽然我现在 的网络只有2个节点: pc1394和数据采集卡。 但是总不至于说要我自己按照1394的规范推算吧?似乎 应该有什么可以标示自己的方法。 同样的问题也存在于 pc向数据采集卡发数据的时候。 6:tsb41ab1中的gap_count这个寄存器我应该怎样处理? 不用管吗? 感谢大家的回答。你的回答不但帮助了我,而且帮助了所有的小虾们。 //bow |
|
最新喜欢:Ten
|
沙发#
发布于:2002-04-10 14:19
对你的设计(想法)我有几点意见,抛砖引玉,请各路同修不吝指教.
1.按照你的设计,你应该没有办法控制谁该成为根节点.当你把的卡和计算机上的PCI-1394卡连接的时候,1394总线硬件会有一个仲裁,对你的设计而言,二者成为根节点的机会是一样的. 2.谁成为根节点对你的设计而言应该是无所谓的.这只是下层的结构而已. 3.bus manager 和 isochronous resource manager是根节点,1394总线上的所有传输均须经根节点仲裁. 4.PHY层控制器如何通知LLC层PHY层发生的中断你可以去看你所用的TI两块芯片的DATASHEET,应该有讲到. 5.其他几个问题是软件方面的,我不太清楚.不过你讲的表示自己的方法是有的,在总线RESET之后就有自标示几树标示过程,这里就会用到这些ID. |
|
|
板凳#
发布于:2002-04-10 15:15
我现在最关心的问题也就是我怎样识别和我通信的设备。
以下是我的理解: 我知道1394总线在bus reset之后会有 树标示,自标示的过程。 树标示的过程中主要是确定谁是root节点(这个节点同时也就是cycle master), 然后总线进入自标示过程,每个节点发出自己的SID pachage, 在自标示过程中竞争确定isonchronous resource manager。 自标示结束之后,IRM已经确定了。然后再竞争产生bus manager. 但是我不知道我的数据采集卡的1394端口怎样知道pc1394端口的physical ID? 有经验的同志请指教。 谢谢 |
|
|
地板#
发布于:2002-04-10 20:12
似乎如此:在自标识过程中,每个节点会分配一个physical ID,并且让总线上的其他节点识别它本身,那也就是说接收了自识别包,就会得到pysical ID。 |
|
地下室#
发布于:2002-04-11 20:52
我知道自标示过程中每个节点会发出一和含有自己PHYSICAL id的自标示数据包。
我的数据采集卡也应该能够收到这个数据包由PC的1394端口发出的数据包。但是如果bus上面有很多设备的话,我怎么知道那一个数据包是pc的1394接口发出的呢? 难道他们在自标示过后发出一个广播数据包,里面仅仅含有自己想要联系的节点才能识别的数据。这样的话就可以从source ID中找到自己要联系的设备了。 只是我的猜想,不知道对不对。 |
|
|