ARRON
驱动老牛
驱动老牛
  • 注册日期2002-03-18
  • 最后登录2010-05-02
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望21点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
阅读:5951回复:24

大家都来看一下丫

楼主#
更多 发布于:2002-11-02 09:25
呵呵,我得板子做到这个成都乐,遇到一些问题,大家帮忙分析一下:D
我用的是ti的tsb43aa82,链路层和物理层集成的,先做的是异步传输。现在从计算机发过来得请求包已经可以接收到乐,不过还有如下一些问题:
1。当主机发送写请求包时,我所做的设备应该如何响应,即写响应包是由芯片自动发送的还是需要我来构造?因为从主机的程序来看,如果我主动不发送写响应包的话,主机程序也能返回成功;换句话说是不是我只要分析写请求包中的数据就行乐,还是除了接收数据外,另外再发送写响应包?(这个是不是跟写入的地址有关系丫?,如果有关的话,就假设写入目的地址是不能自动回复的地址)

2。当主机发送读请求包时,如果我不做响应,主机的程序会显示收到0个字节.但是当我收到主机的读请求包并发出读响应包时(可从示波器上看出,确实有响应包发出),引起主机出现WINDOWS 的0x17号错误,说是crc校验错误,那么这个错误到底 发生在什么阶段,是不是发生在数据传输时丫?crc不是由链路层自动算出来的吗?应该不用我干预吧!

读响应包按如下规则构造:分析收到的读请求包,并提取出Tlable和Tcode,则读响应包中的Tlable和请求包中的相同,Tcode则根据请求包为“块”或“4字节”做相应设置。

3。当我用设备发送块读请求包时(tcode=5),发生错误分析返回的响应包,其中status=0xA:The response packet was received but rCode is not complete.再去看响应包中的rcode=7:the destination offset field in the request was set to an address not acessible in the destination node.目标地址不能存取?我换了豪夺地址也都不行:(

4。设备发送4字节写请求包时,返回的响应包时对的,可换成块写请求包(4字节以上)时就有出现了上述错误:(。

这些问题不知道大家是否遇到过,一起讨论一下丫:D

另外,那位老兄可以详细讲一下sbp和orb丫:D

呼呼,我以后还会把遇到的问题在铁出来,如果有解决的方法也一并贴出:DDDD

[编辑 -  11/2/02 by  ARRON]

[编辑 -  11/3/02 by  ARRON]
wood1head2
驱动牛犊
驱动牛犊
  • 注册日期2002-10-16
  • 最后登录2003-03-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-11-02 23:13
我现在也正在研究linux下的1394驱动的源代码,不知道你的板子
是要实现总线管理器和定时器等功能吗?还是仅仅做target?

1。当主机发送写请求包时,我所做的设备应该如何响应,即写响应包是由芯片自动发送的还是需要我来构造?
好像需要由程序构造来响应的(参考linux驱动),当然如果你的
芯片内嵌firmware可以自动完成那更好

2。当主机发送读请求包时,如果我不做响应,主机的程序会显示收到0个字节.但是当我收到主机的读请求包并发出读响应包时(可从示波器上看出,确实有响应包发出),引起主机出现WINDOWS 的0x17号错误,说是crc校验错误,那么这个错误到底 发生在什么阶段,是不是发生在数据传输时丫?
有可能啊,有可能是你构造的读响应包不对
大小端的问题可能有影响的。

3。当我用设备发送块读请求包时(tcode=5),发生错误分析返回的响应包,其中status=0xA:The response packet was received but rCode is not complete.再去看响应包中的rcode=7:the destination offset field in the request was set to an address not acessible in the destination node.目标地址不能存取?我换了豪夺地址也都不行:(

是不是主机的那些地址是不允许你访问的吧!!

4。设备发送4字节写请求包时,返回的响应包时对的,可换成块写请求包(4字节以上)时就有出现了上述错误:(。

这些问题不知道大家是否遇到过,一起讨论一下丫:D

另外,那位老兄可以详细讲一下sbp和orb丫:D

sbp就是个serial bus protocol,是高层的协议,可以在1394上实现
也可以在别的总线上实现。主要是用来传送命令和控制信息的协议,
只是个传输层协议,传输的命令集任意。
orb不太明白。
ARRON
驱动老牛
驱动老牛
  • 注册日期2002-03-18
  • 最后登录2010-05-02
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望21点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-11-03 09:48
呼呼,高手来乐,能不能六个地址丫?有时间讨论一下 :D
ARRON
驱动老牛
驱动老牛
  • 注册日期2002-03-18
  • 最后登录2010-05-02
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望21点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-11-03 09:53
我现在也正在研究linux下的1394驱动的源代码,不知道你的板子
是要实现总线管理器和定时器等功能吗?还是仅仅做target?

2。当主机发送读请求包时,如果我不做响应,主机的程序会显示收到0个字节.但是当我收到主机的读请求包并发出读响应包时(可从示波器上看出,确实有响应包发出),引起主机出现WINDOWS 的0x17号错误,说是crc校验错误,那么这个错误到底 发生在什么阶段,是不是发生在数据传输时丫?
有可能啊,有可能是你构造的读响应包不对
大小端的问题可能有影响的。

 

响应包的构造如上所述,对于一个4字节读请求来说,响应包应该不会错的,应该是4个quadlet吧:(.
 设备的arf接受到主机的4字节读请求包,然后根据包中的tlable,和tcode,构造响应包,用atf发送,不知道rcode和status怎么得到,是链路层自动给的吗?

[编辑 -  11/3/02 by  ARRON]
ARRON
驱动老牛
驱动老牛
  • 注册日期2002-03-18
  • 最后登录2010-05-02
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望21点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-11-03 22:41

3。当我用设备发送块读请求包时(tcode=5),发生错误分析返回的响应包,其中status=0xA:The response packet was received but rCode is not complete.再去看响应包中的rcode=7:the destination offset field in the request was set to an address not acessible in the destination node.目标地址不能存取?我换了豪夺地址也都不行:(

是不是主机的那些地址是不允许你访问的吧!!
 

为什么同样的地址,从主机发到我班子上就可以接受丫 :(
lixunchun
驱动牛犊
驱动牛犊
  • 注册日期2002-04-09
  • 最后登录2002-12-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-11-04 11:28
也许目标板没有配置好寄存器地址吧?也许是主机程序的问题?
rifter
论坛版主
论坛版主
  • 注册日期2002-03-20
  • 最后登录2006-02-28
  • 粉丝1
  • 关注0
  • 积分65分
  • 威望8点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-11-04 13:18
看了你的几个问题,我觉得wood1head2 说的很有道理。
你可以试试看,我估计也是你的一些响应包 构造的有点问题
导致的,

设备读不成功应该就是你读的位置没有被映射的原因。
那么写成功,应该只是个假相,其实没有成功 - 我估计的

我的板子硬件调试有一定的进展了,协议上的东西 我马上就要测试了

我们的芯片不一样,我的可以自己的软件要做的工作会更多一点,
你的有写是芯片硬件做掉了(至少是configROM自动完成了)

有新进展我也来汇报工作 哈哈
置顶 置顶到最上面了

东西丢掉是网站的问题。我也没办法 BTW:网站不是我开的
分数 你想要吗?
ARRON
驱动老牛
驱动老牛
  • 注册日期2002-03-18
  • 最后登录2010-05-02
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望21点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-11-04 23:28
试了试不同的地址,才明白当主机发送读请求包时:有的地址是自动回复的,有的地址不能回复,有的地址就可以回复了,今天终于实现了向主机传一点点数据:),不过还是不知道这些地址怎么来划分,是不是不同的芯片也不一样丫?郁闷ing :(
rifter
论坛版主
论坛版主
  • 注册日期2002-03-20
  • 最后登录2006-02-28
  • 粉丝1
  • 关注0
  • 积分65分
  • 威望8点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-11-05 17:12
试了试不同的地址,才明白当主机发送读请求包时:有的地址是自动回复的,有的地址不能回复,有的地址就可以回复了,今天终于实现了向主机传一点点数据:),不过还是不知道这些地址怎么来划分,是不是不同的芯片也不一样丫?郁闷ing :(


试一下

ASYTST_ADDR_HI                 0x0001
ASYTST_ADDR_LO                 0x00000000
分数 你想要吗?
ARRON
驱动老牛
驱动老牛
  • 注册日期2002-03-18
  • 最后登录2010-05-02
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望21点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-11-05 17:15
[quote]试了试不同的地址,才明白当主机发送读请求包时:有的地址是自动回复的,有的地址不能回复,有的地址就可以回复了,今天终于实现了向主机传一点点数据:),不过还是不知道这些地址怎么来划分,是不是不同的芯片也不一样丫?郁闷ing :(


试一下

ASYTST_ADDR_HI                 0x0001
ASYTST_ADDR_LO                 0x00000000
 [/quote]
呼呼,多谢斑竹,今天我看了一下你用的片子,这个地址已经试过乐
可以的.
为什么要分成0_0000ffffffff和,1_0000_0000-fffffffff呢?
我的芯片好像不是这样分的:(
rifter
论坛版主
论坛版主
  • 注册日期2002-03-20
  • 最后登录2006-02-28
  • 粉丝1
  • 关注0
  • 积分65分
  • 威望8点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-11-06 21:30
不要指定了,没人看到了
分数 你想要吗?
rifter
论坛版主
论坛版主
  • 注册日期2002-03-20
  • 最后登录2006-02-28
  • 粉丝1
  • 关注0
  • 积分65分
  • 威望8点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-11-06 21:32
[quote][quote]试了试不同的地址,才明白当主机发送读请求包时:有的地址是自动回复的,有的地址不能回复,有的地址就可以回复了,今天终于实现了向主机传一点点数据:),不过还是不知道这些地址怎么来划分,是不是不同的芯片也不一样丫?郁闷ing :(


试一下

ASYTST_ADDR_HI                 0x0001
ASYTST_ADDR_LO                 0x00000000
 [/quote]
呼呼,多谢斑竹,今天我看了一下你用的片子,这个地址已经试过乐
可以的.
为什么要分成0_0000ffffffff和,1_0000_0000-fffffffff呢?
我的芯片好像不是这样分的:( [/quote]

什么意思啊? 这个地址在你那是不是可以啊?
全部OK了吗?

这跟芯片没什么关系吧,是协议本身的问题。你一定是用了系统保留的地址了
分数 你想要吗?
rifter
论坛版主
论坛版主
  • 注册日期2002-03-20
  • 最后登录2006-02-28
  • 粉丝1
  • 关注0
  • 积分65分
  • 威望8点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-11-06 21:32
[quote][quote][quote]试了试不同的地址,才明白当主机发送读请求包时:有的地址是自动回复的,有的地址不能回复,有的地址就可以回复了,今天终于实现了向主机传一点点数据:),不过还是不知道这些地址怎么来划分,是不是不同的芯片也不一样丫?郁闷ing :(


试一下

ASYTST_ADDR_HI                 0x0001
ASYTST_ADDR_LO                 0x00000000
 [/quote]
呼呼,多谢斑竹,今天我看了一下你用的片子,这个地址已经试过乐
可以的.
为什么要分成0_0000ffffffff和,1_0000_0000-fffffffff呢?
我的芯片好像不是这样分的:( [/quote]

什么意思啊? 这个地址在你那是不是可以啊?
全部OK了吗?

这跟芯片没什么关系吧,是协议本身的问题。你一定是用了系统保留的地址了 [/quote]

windows 的驱动例程也是这么用的
分数 你想要吗?
ARRON
驱动老牛
驱动老牛
  • 注册日期2002-03-18
  • 最后登录2010-05-02
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望21点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-11-06 23:19

什么意思啊? 这个地址在你那是不是可以啊?
全部OK了吗?

这跟芯片没什么关系吧,是协议本身的问题。你一定是用了系统保留的地址了

可以压:D。
如果是协议问题的话,两个node的保留地址应该一样丫,但现在好像不一样的说:(
现在想是不是不能往主机发请求丫?难道必须有主机发请求,我来相应?不应该是这样吧:(。
ARRON
驱动老牛
驱动老牛
  • 注册日期2002-03-18
  • 最后登录2010-05-02
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望21点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2002-11-06 23:22
老大,怎么不置顶乐 :(
evergreen
驱动牛犊
驱动牛犊
  • 注册日期2002-04-16
  • 最后登录2007-09-24
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2002-11-11 18:44
我也边看Linux的1394代码边自己写,是在VxWorks下面。我才刚开始,刚刚完成了初始化。向各位大哥学习。
rifter
论坛版主
论坛版主
  • 注册日期2002-03-20
  • 最后登录2006-02-28
  • 粉丝1
  • 关注0
  • 积分65分
  • 威望8点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2002-11-16 12:43
[quote]
什么意思啊? 这个地址在你那是不是可以啊?
全部OK了吗?

这跟芯片没什么关系吧,是协议本身的问题。你一定是用了系统保留的地址了

可以压:D。
如果是协议问题的话,两个node的保留地址应该一样丫,但现在好像不一样的说:(
现在想是不是不能往主机发请求丫?难道必须有主机发请求,我来相应?不应该是这样吧:(。 [/quote]

置顶了 反倒可能看不到 别人以为是古董了呢
分数 你想要吗?
rifter
论坛版主
论坛版主
  • 注册日期2002-03-20
  • 最后登录2006-02-28
  • 粉丝1
  • 关注0
  • 积分65分
  • 威望8点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2002-11-16 12:45
[quote]
什么意思啊? 这个地址在你那是不是可以啊?
全部OK了吗?

这跟芯片没什么关系吧,是协议本身的问题。你一定是用了系统保留的地址了

可以压:D。
如果是协议问题的话,两个node的保留地址应该一样丫,但现在好像不一样的说:(
现在想是不是不能往主机发请求丫?难道必须有主机发请求,我来相应?不应该是这样吧:(。 [/quote]

不同的1394芯片的开发用途不完全一样,
针对某些专门的用途,芯片可能会针对该应用做了额外的处理。

以为然否?
分数 你想要吗?
dhyruin
驱动牛犊
驱动牛犊
  • 注册日期2003-10-04
  • 最后登录2005-04-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2003-10-12 13:14
厉害!!!
一看就是高手??
以后能否帮小弟一吧
pkusui
驱动牛犊
驱动牛犊
  • 注册日期2002-05-03
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2003-12-09 16:44
小弟在linux下开发TI的tsb42ab4的驱动程序,大家都说说自己用的什么片子,可以互相借鉴,互相讨论亚。
上一页
游客

返回顶部