roc999
驱动牛犊
驱动牛犊
  • 注册日期2002-03-15
  • 最后登录2005-05-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2506回复:1

我和一个网友关于1394等时传输的一些讨论,请大家指教。

楼主#
更多 发布于:2002-04-22 23:20
以下通信已经征得张大朴的同意在此公开:

下面是我和张兄关于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走线有什么要求?谢谢

--------------------------------------------------------------------------------


--------------------------------------------------------------------------------


*************************************************


继续学
rifter
论坛版主
论坛版主
  • 注册日期2002-03-20
  • 最后登录2006-02-28
  • 粉丝1
  • 关注0
  • 积分65分
  • 威望8点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-04-26 16:46
你们的讨论在时间上让我觉得有写乱,但意思我有点明白。

我的理解和张有一致的地方,我理解 Async 是控制和状态信息用的,Iso是大数据通讯时考虑的,小数据传输可以用async。但是,如果对通讯的时间延迟要求要短但应该用Iso,但要求数据一定要有校验则需要async,async是点到点的有握手的通讯。iso则是基于信道的广播。

pc和外设之间的设备识别是不是微软有什么约定啊?
外设的firmware需要怎么设置外设来保证pc可以识别呢?
分数 你想要吗?
游客

返回顶部