阅读:2561回复:1
我和一个网友关于1394等时传输的一些讨论,请大家指教。
以下通信已经征得张大朴的同意在此公开:
下面是我和张兄关于1394等时通信的几次讨论的电子邮件。我们都是初学者,仅仅是根据自己的认识讲了自己的理解。肯定有不对的地方,请知道的大虾多多指教。 (顺序是从后往前的) ************************************************* 1394协议就是这样规定的。等时传输的时候LISTENER和TALKER各干各的事:TALKER通过某个信道发送数据,LISTENER监听那个信道(包头里面有他们自己定义的识别编码SY 和TAG)。 ----- Original Message ----- From: 张大朴 To: ZHIPENG LIU Sent: Monday, April 22, 2002 2:38 PM Subject: Re: Re: Re: Re: 好呀! 为什么等时传输要使用channel来标识地址呢?这样做有什么好处?talker和listener在等时数据包发送前已知道对方的地址,为何又要用信道呢来表示呢?是为了便于广播吗? -------------------------------------------------------------------------------- 我觉得异步和等时配合会比较容易实现。 我们设计的系统的结构差不多,区别只在于我使用的是fifo而不是ram . 由谁来申请相信道并不重要,因为申请是一个异步的过程。我的建议是基于pc已经有比较好的api函数实现这个功能了,由pc来申请会比较简单。而且我们的设计中,大量的的数据传输只存在于card->pc.所以这样设计时有道理的。 个人观点,仅供讨论。 如果你不介意的话, 我想把我们这几封通信发到论坛上面。让大家讨论一下。 你觉得呢? ----- Original Message ----- From: 张大朴 To: ZHIPENG LIU Sent: Sunday, April 21, 2002 11:21 PM Subject: Re: Re: Re: 你的意思是没有纯粹的登时传输方式,至少应该有异步来辅助,不知我理解的对不对。 数据传输之前sender和listener肯定要进行协商,这里用的应该是异步传输实现。 我得系统大概原理是这样的:图象采集芯片将采集到的数据存入ram内,然后有fpga来控制1394芯片使用登时dma方式将数据传入pc,登时主要用在传输大量图象数据时。看来异步传输也要看一下。 另外,按你的意思信道的申请是由listener发起的对吗?我觉得有sender发起更符合逻辑,不知对不对 -------------------------------------------------------------------------------- 张兄: 你好。我觉得采集卡和pc之间协商通信参数的时候,应该使用异步通讯。而采集的数据传输的时候可以采用等时传输。你说的只使用等时传输的想法我觉得行不通。具体原因和建议如下,欢迎指正: 信道的申请使用过向等时资源管理节点申请的,具体的方法是通过lock操作修改等时资源管理起节点内部的几个寄存器: 21ch,220ch,224ch. 然后获得一个信道和带宽。 然后listenner把信道的信息通过异步模式的传输告诉sender(包括等时传输时的sy,tag之类的东西)。 然后sender按照的到的要求通过等时传输发送数据。 对于数据采集卡,和pc之间的通信。我觉得可以先由pc调用1394api.dll中的函数来申请信道和带宽等等时资源。然后发送异步包到采集卡。 然后listen 那个信道。 ----- Original Message ----- From: 张大朴 To: ZHIPENG LIU Sent: Thursday, April 18, 2002 11:39 AM Subject: Re: Re: 我想用同步传输,可能比较简单一点,还没有看关于异步传输的东西,另外,不知TPA和TPB走线有什么要求?谢谢 -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- ************************************************* |
|
|
沙发#
发布于:2002-04-26 16:46
你们的讨论在时间上让我觉得有写乱,但意思我有点明白。
我的理解和张有一致的地方,我理解 Async 是控制和状态信息用的,Iso是大数据通讯时考虑的,小数据传输可以用async。但是,如果对通讯的时间延迟要求要短但应该用Iso,但要求数据一定要有校验则需要async,async是点到点的有握手的通讯。iso则是基于信道的广播。 pc和外设之间的设备识别是不是微软有什么约定啊? 外设的firmware需要怎么设置外设来保证pc可以识别呢? |
|
|