阅读:8128回复:24
TSB12LV32如何进行初始化?
像TSB43AA82A这种集成的片子有configuration ROM
但是TSB12LV32等LLC就没有,那么请问在初始化时(例如树标识等过程)如何对其进行配置,还是根本不需要配置,直接上电就可以使用呢? 另外,用DSP控制它时,应该要做片外逻辑吧? 请大侠们指教!谢谢! [编辑 - 11/15/04 by dx166] |
|
沙发#
发布于:2004-11-30 23:31
不,也要配置。
主机发送ConfigROM读请求,自己在dsp中要构造相应的响应包。这样,才能发现设备。 |
|
板凳#
发布于:2004-12-15 10:44
但是如果我的主机就是DSP呢?
|
|
地板#
发布于:2005-01-17 14:53
我也在想这个问题,我顺便问一下,就是在一些芯片中,例如tsb12lv01b中,dsp的应用程序中是不是就不用写crc算法程序?
|
|
|
地下室#
发布于: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] |
|
5楼#
发布于:2005-03-31 14:19
1,TSB12LV32是没有ConfigROM的。TSB12LV32的寄存器@00H是一个只读寄存器:7115-38A0H;如果这个是,可能是最小ROM? configROM肯定是有的,只是他不象aa82那样可以auto response |
|
6楼#
发布于:2005-04-05 15:18
我觉得是不是要自己来构造这个ROM,但是应该如何构造呢,比如说结构,以及在LV32中的存放地址?小弟有甚多不解之处,望赐教,感激不尽!!!
|
|
7楼#
发布于:2005-04-09 15:58
直接用就可以了,你非要构造ConfigROM干什么?
我认为,TSB12LV32根本就没有支持和实现CSR体系,所以也没有ConfigROM可言。这就是我的看法,也请高手们批评。 [编辑 - 4/9/05 by evergreen] |
|
8楼#
发布于:2005-04-12 10:22
来凑热闹的,呵呵,看看进来人气怎么样
|
|
9楼#
发布于:2005-04-25 09:55
直接用就可以了,你非要构造ConfigROM干什么? 没有实现CSR?那么比如等时管理器,总线管理器这些都不能实现吗?我想实现等时传输应该怎么进行初始化呢?哪些寄存器是必须设置的? |
|
10楼#
发布于:2005-04-25 13:56
csr是一定要得,我们只实现CSR中很小的一部分,甚至连这一部分都是不全的,主机在读配置rom的时候并不是读走所有的配置信息,读到一定数量,它就再不发读请求包了。
关于等时资源管理器这一说,在和主机相连的时候目前我没有能够试着成功让其成为管理器而主机依旧能发现设备。这是因为读请求都是主机发过来的,如果主机不是管理器,那么这些请求就不会发,也就认不到设备了。 |
|
11楼#
发布于:2005-04-27 11:04
我现在去读取配置ROM,读请求应该是发出了,可以看见中断置位。但是没有回应,是不是我的目标地址设置错误?我不知道去哪里找BUS_ID和NODE_ID,在CFR34H读出的BUS_ID是全1,应该不对。
|
|
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编程了。 有问题向你请教。 |
|
13楼#
发布于:2005-04-29 16:59
我现在通过LV32去读取目标节点的配置ROM,自己在ATF构造的读请求包,读请求应该是发出了,因为可以看见中断置位。但是没有回应,目标地址应该没有错误,是按照BUS_ID和NODE_ID组成的。GRF里没有收到回应包(回应包应该为00开头),请问各位大虾是怎么回事?是什么问题?谢谢!
|
|
14楼#
发布于:2005-04-30 13:06
没有收到ack,应该是对方的问题吧?
是不是你的目标那里又问题? |
|
15楼#
发布于:2005-05-01 22:39
没有收到ack,应该是对方的问题吧? 目标地址是FFC1,按照自标识包设置的,我又试着用远程存取包访问目标节点的物理层寄存器,同样没有回应。 |
|
16楼#
发布于:2005-05-07 14:24
你还是没搞清我得意思,可以这样说,要让主机识别出你的设备,必须是主机来读取你的Config Rom。
如果你要让你的设备和PC连接后成为根节点,这个能不能成功不好说,我没有试过,但是有一点,在1394驱动程序里,没有异步读响应这样的API函数可以操作(计算机不知道设备什么时候发数据了),只能是以PC为主动的读写请求,而没有“响应”这个操作。(在等时方式时,PC才能接受数据(不过那是在监听))。 我曾经做过这方面的工作,不过不是和主机连,是和另外一个1394设备相连,TSB12lv32作为根节点和IRM的能力是没有问题的。 |
|
17楼#
发布于:2005-05-07 16:16
你还是没搞清我得意思,可以这样说,要让主机识别出你的设备,必须是主机来读取你的Config Rom。 我目前的1394没有和计算机连,是和DSP连(DSP作为主机),而1394总线上连着另一个1394设备(目标设备),我现在就是在DSP端构造数据包去读取目标设备的信息,用异步方式,但是没有读响应包返回,也就是得不到目标设备的信息。不知道是怎么回事? |
|
18楼#
发布于:2005-05-09 10:30
dx166:我遇到的问题也和你差不多。
我收到了PC机的读请求包,但是读相应包发过去后没有反应,读FIFO状态寄存器(30h),值为60834000,其中ATACK字段的值为10000。谁知道ATACK字段的值代表什么含义啊? |
|
19楼#
发布于:2005-05-09 11:17
谢谢
|
|
上一页
下一页