dx166
驱动牛犊
驱动牛犊
  • 注册日期2004-11-08
  • 最后登录2005-08-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:7938回复:24

TSB12LV32如何进行初始化?

楼主#
更多 发布于:2004-11-15 13:47
像TSB43AA82A这种集成的片子有configuration ROM
但是TSB12LV32等LLC就没有,那么请问在初始化时(例如树标识等过程)如何对其进行配置,还是根本不需要配置,直接上电就可以使用呢?
另外,用DSP控制它时,应该要做片外逻辑吧?
请大侠们指教!谢谢!

[编辑 -  11/15/04 by  dx166]
hyb1394
驱动牛犊
驱动牛犊
  • 注册日期2004-07-30
  • 最后登录2005-03-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-11-30 23:31
不,也要配置。
主机发送ConfigROM读请求,自己在dsp中要构造相应的响应包。这样,才能发现设备。
dx166
驱动牛犊
驱动牛犊
  • 注册日期2004-11-08
  • 最后登录2005-08-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-12-15 10:44
但是如果我的主机就是DSP呢?
holand
驱动牛犊
驱动牛犊
  • 注册日期2005-01-17
  • 最后登录2005-01-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-01-17 14:53
我也在想这个问题,我顺便问一下,就是在一些芯片中,例如tsb12lv01b中,dsp的应用程序中是不是就不用写crc算法程序?
和大家一起探讨!
evergreen
驱动牛犊
驱动牛犊
  • 注册日期2002-04-16
  • 最后登录2007-09-24
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-03-30 16:42
1,TSB12LV32是没有ConfigROM的。TSB12LV32的寄存器@00H是一个只读寄存器:7115-38A0H;如果这个是,可能是最小ROM?
2,加电就可以用,CPU,FPGA,DSP,MCU等可以直接读写他的寄存器就可以初始化,配置和使用了。
3,1394协议中的ConfigROM有四个作用:提供识别本设备驱动程序的信息;识别诊断软件的信息;识别制定设备所涉及的各种总线性能的信息,指定可选模块节点及元件特征和参数所需要的信息。
4,CRC应该是1394链路层芯片已经做好的了。但是ConfigROM的CRC要你自己算再写入。

总之我觉得搂住所说的树标示(可以看看协议)、初始化并不要ROM。配置ROM中大多是ID之类的信息。

我对1394也有很多不太明白的地方,希望和大家讨论!!

[编辑 -  3/30/05 by  evergreen]
ARRON
驱动老牛
驱动老牛
  • 注册日期2002-03-18
  • 最后登录2010-05-02
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望21点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-03-31 14:19
1,TSB12LV32是没有ConfigROM的。TSB12LV32的寄存器@00H是一个只读寄存器:7115-38A0H;如果这个是,可能是最小ROM?
2,加电就可以用,CPU,FPGA,DSP,MCU等可以直接读写他的寄存器就可以初始化,配置和使用了。
3,1394协议中的ConfigROM有四个作用:提供识别本设备驱动程序的信息;识别诊断软件的信息;识别制定设备所涉及的各种总线性能的信息,指定可选模块节点及元件特征和参数所需要的信息。
4,CRC应该是1394链路层芯片已经做好的了。但是ConfigROM的CRC要你自己算再写入。

总之我觉得搂住所说的树标示(可以看看协议)、初始化并不要ROM。配置ROM中大多是ID之类的信息。

我对1394也有很多不太明白的地方,希望和大家讨论!!

[编辑 -  3/30/05 by  evergreen]

configROM肯定是有的,只是他不象aa82那样可以auto response
dx166
驱动牛犊
驱动牛犊
  • 注册日期2004-11-08
  • 最后登录2005-08-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-04-05 15:18
我觉得是不是要自己来构造这个ROM,但是应该如何构造呢,比如说结构,以及在LV32中的存放地址?小弟有甚多不解之处,望赐教,感激不尽!!!
evergreen
驱动牛犊
驱动牛犊
  • 注册日期2002-04-16
  • 最后登录2007-09-24
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-04-09 15:58
直接用就可以了,你非要构造ConfigROM干什么?

我认为,TSB12LV32根本就没有支持和实现CSR体系,所以也没有ConfigROM可言。这就是我的看法,也请高手们批评。

[编辑 -  4/9/05 by  evergreen]
linyulun
驱动小牛
驱动小牛
  • 注册日期2002-03-18
  • 最后登录2014-05-09
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望61点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2005-04-12 10:22
来凑热闹的,呵呵,看看进来人气怎么样
dx166
驱动牛犊
驱动牛犊
  • 注册日期2004-11-08
  • 最后登录2005-08-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2005-04-25 09:55
直接用就可以了,你非要构造ConfigROM干什么?

我认为,TSB12LV32根本就没有支持和实现CSR体系,所以也没有ConfigROM可言。这就是我的看法,也请高手们批评。

 

没有实现CSR?那么比如等时管理器,总线管理器这些都不能实现吗?我想实现等时传输应该怎么进行初始化呢?哪些寄存器是必须设置的?
linyulun
驱动小牛
驱动小牛
  • 注册日期2002-03-18
  • 最后登录2014-05-09
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望61点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2005-04-25 13:56
csr是一定要得,我们只实现CSR中很小的一部分,甚至连这一部分都是不全的,主机在读配置rom的时候并不是读走所有的配置信息,读到一定数量,它就再不发读请求包了。
关于等时资源管理器这一说,在和主机相连的时候目前我没有能够试着成功让其成为管理器而主机依旧能发现设备。这是因为读请求都是主机发过来的,如果主机不是管理器,那么这些请求就不会发,也就认不到设备了。
dx166
驱动牛犊
驱动牛犊
  • 注册日期2004-11-08
  • 最后登录2005-08-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2005-04-27 11:04
我现在去读取配置ROM,读请求应该是发出了,可以看见中断置位。但是没有回应,是不是我的目标地址设置错误?我不知道去哪里找BUS_ID和NODE_ID,在CFR34H读出的BUS_ID是全1,应该不对。
evergreen
驱动牛犊
驱动牛犊
  • 注册日期2002-04-16
  • 最后登录2007-09-24
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2005-04-27 14:08
TSB12LV32de datasheet说:
The TSB12LV32 is capable of being 1394 cycle master (CM), 1394 bus manager, 1394 isochronous resource
manager (IRM) if additional control status registers (CSRs) are added via the external host controller,
也就是说,如果你用TSB12LV32做IRM,那么必须自己实现CSR寄存器。

linyulun,说得对。我看你从2002年就搞这个,现在成为高手了吧,我也是2002年开始接触1394的,不过现在还是很菜。当时Windows驱动还没怎么搞,后来去搞嵌入式系统的1394编程了。

有问题向你请教。
dx166
驱动牛犊
驱动牛犊
  • 注册日期2004-11-08
  • 最后登录2005-08-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2005-04-29 16:59
我现在通过LV32去读取目标节点的配置ROM,自己在ATF构造的读请求包,读请求应该是发出了,因为可以看见中断置位。但是没有回应,目标地址应该没有错误,是按照BUS_ID和NODE_ID组成的。GRF里没有收到回应包(回应包应该为00开头),请问各位大虾是怎么回事?是什么问题?谢谢!
evergreen
驱动牛犊
驱动牛犊
  • 注册日期2002-04-16
  • 最后登录2007-09-24
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2005-04-30 13:06
没有收到ack,应该是对方的问题吧?
是不是你的目标那里又问题?
dx166
驱动牛犊
驱动牛犊
  • 注册日期2004-11-08
  • 最后登录2005-08-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2005-05-01 22:39
没有收到ack,应该是对方的问题吧?
是不是你的目标那里又问题?


目标地址是FFC1,按照自标识包设置的,我又试着用远程存取包访问目标节点的物理层寄存器,同样没有回应。
linyulun
驱动小牛
驱动小牛
  • 注册日期2002-03-18
  • 最后登录2014-05-09
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望61点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2005-05-07 14:24
你还是没搞清我得意思,可以这样说,要让主机识别出你的设备,必须是主机来读取你的Config Rom。
如果你要让你的设备和PC连接后成为根节点,这个能不能成功不好说,我没有试过,但是有一点,在1394驱动程序里,没有异步读响应这样的API函数可以操作(计算机不知道设备什么时候发数据了),只能是以PC为主动的读写请求,而没有“响应”这个操作。(在等时方式时,PC才能接受数据(不过那是在监听))。
我曾经做过这方面的工作,不过不是和主机连,是和另外一个1394设备相连,TSB12lv32作为根节点和IRM的能力是没有问题的。
dx166
驱动牛犊
驱动牛犊
  • 注册日期2004-11-08
  • 最后登录2005-08-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2005-05-07 16:16
你还是没搞清我得意思,可以这样说,要让主机识别出你的设备,必须是主机来读取你的Config Rom。
如果你要让你的设备和PC连接后成为根节点,这个能不能成功不好说,我没有试过,但是有一点,在1394驱动程序里,没有异步读响应这样的API函数可以操作(计算机不知道设备什么时候发数据了),只能是以PC为主动的读写请求,而没有“响应”这个操作。(在等时方式时,PC才能接受数据(不过那是在监听))。
我曾经做过这方面的工作,不过不是和主机连,是和另外一个1394设备相连,TSB12lv32作为根节点和IRM的能力是没有问题的。
 

我目前的1394没有和计算机连,是和DSP连(DSP作为主机),而1394总线上连着另一个1394设备(目标设备),我现在就是在DSP端构造数据包去读取目标设备的信息,用异步方式,但是没有读响应包返回,也就是得不到目标设备的信息。不知道是怎么回事?
aliao
驱动牛犊
驱动牛犊
  • 注册日期2004-11-21
  • 最后登录2006-01-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2005-05-09 10:30
dx166:我遇到的问题也和你差不多。
我收到了PC机的读请求包,但是读相应包发过去后没有反应,读FIFO状态寄存器(30h),值为60834000,其中ATACK字段的值为10000。谁知道ATACK字段的值代表什么含义啊?
a0041059a
驱动小牛
驱动小牛
  • 注册日期2005-05-09
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分46分
  • 威望6点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2005-05-09 11:17
谢谢
上一页
游客

返回顶部