"); //-->
作者:下家山
每个链节点有三个域:
第一个域: 00 byte,表示tuple code号,也即TPL_CODE Tuple code: CISTPL_xxx(各种代码号见Table13-2);
第二个域:01 byte,表示tuple body字节数,也即到下一个节点的偏移地址;
第三个域:02~n+2 byte,表示tuple body内容;
有了这些知识,我们再来看我读写conexant wifi sdio card ID号的操作:
步骤一:读地址0x001000
rSDICARG == 0x00200000;
rSDICCON == 0x00000B74;
响应
rSDICSTA == 0x00000A34;
rSDIRSP0 == 0x 00001021;
解读0x00000B74(略)
解读0x00000A34(略)
解读0x00001021:0x00001021的低8位表示从地址0x001000读出来的值为0x21,查看table13-2得知为CISTPL_FUNCID
步骤二:读地址0x001001
rSDICARG == 0x00200200;
rSDICCON == 0x00000B74;
响应
rSDICSTA == 0x00000A34;
rSDIRSP0 == 0x00001002;
解读0x00000B74(略)
解读0x00000A34(略)
解读0x00001002:0x00001002的低8位表示从地址0x001001读出来的值为0x02,根据table13-1可知CISTPL_FUNCID的tuple body大小为2字节,读出来的第一个tuple code号并不为CISTPL_MANFID(0x20),而且知道其下一个节点的偏移量为2,需要继续读。
步骤三:读地址0x001004
rSDICARG == 0x00200800;
rSDICCON == 0x00000B74;
响应
rSDICSTA == 0x00000A34;
rSDIRSP0 == 0x00001022;
解读0x00000B74(略)
解读0x00000A34(略)
解读0x00001022:0x00001022的低8位表示从地址0x001004读出来的值为0x22,查看table13-2得知为CISTPL_FUNCE
步骤四:读地址0x001005
rSDICARG == 0x00200A00;
rSDICCON == 0x00000B74;
响应
rSDICSTA == 0x00000A34;
rSDIRSP0 == 0x00001004;
解读0x00000B74(略)
解读0x00000A34(略)
解读0x00001004:0x00001004的低8位表示从地址0x001005读出来的值为0x04,根据table13-1可知CISTPL_FUNCE的tuple body大小为4字节,读出来的第一个tuple code号并不为CISTPL_MANFID(0x20),而且知道其下一个节点的偏移量为4,需要继续读。
步骤五:读地址0x00100A
rSDICARG == 0x 00201400;
rSDICCON == 0x00000B74;
响应
rSDICSTA == 0x00000A34;
rSDIRSP0 == 0x00001020;
解读0x00000B74(略)
解读0x00000A34(略)
解读0x00001020:0x00001020的低8位表示从地址0x00100A读出来的值为0x20,查看table13-2得知为CISTPL_MANFID
步骤五:读地址0x00100C
rSDICARG == 0x 00201800;
rSDICCON == 0x00000B74;
响应
rSDICSTA == 0x00000A34;
rSDIRSP0 == 0x00001013;
解读0x00000B74(略)
解读0x00000A34(略)
解读0x00001013:0x00001013的低8位表示从地址0x00100C读出来的值为0x13,因为已得到CISTPL_MANFID节点号,根据Table13-1可直接读出tuple body信息,故此时地址为0x00100C,而非0x00100B。所以,读出来的值0x13即为conexant wifi sdio card ID号,这里你也可以读出0x00100B中的值,看CISTPL_MANFID的tuple body总共占多少字节,即可以把其所有信息读出来。
其实,开始我并不知道,这0x13就为conexant wifi sdio card ID 号,只是我把后续的三个字节读出来才知道。这后续的三个字节是003826,这咋一看也不知道什么东东,但是,在我看conexant提供的驱动代码时,发现其fireware文件名为03826.h,这样我就猜出来了。你想想,这CIS里不放些这样的信息,放什么信息呢?后来的操作,证明我的猜测是正确的,在探索真理的过程中,需要摸着石头过河,既然是探索,就要边走边看,柳暗花明的好事是常有的!
终于把如何读ID号写完,我要听听音乐了,上上网了。
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
采用SL590的温度控制电路
Red Hat老总建议消费者放弃Linux 选用Windows
Imec为ADAS提供分布式雷达突破
泰科电子高速I/O解决方案(上)
TC620温度传感通风降温自动控制电路
中国50%的人生病不敢去医院 主要原因是药价高
美国将对半导体实施关税,最高或达100%?
一个扔鸡蛋的小游戏~~!
芯片市场反弹可能因为关税前囤货
革新科技的高速率连接方案(下)
苹果开启新的供货来源
革新科技的高速率连接方案(上)
tornado 2.0编译问题请教
面板厂减产 5月电视面板价估持平
CPM16CV404 CMOS 数字汽车时钟芯片
五功能遥控车升压芯片SM6135S
防止3D集成电路过热,有了新办法
交换机与路由器组网介绍
先进传感器在机器视觉中的作用
温度上限动物呜叫告警及自动通风降温控制电路
用TL431的上限温度乐曲告知电路
Required Technologies for Transmission of 4 x 25 Gb/s Over a Copper Backplane (上)
五功能遥控车稳压芯片 SM6135W
小米加速芯片自研
PCF1171C 4 位LCD 汽车时钟驱动器
爆炸声响彻巴格达 炮弹打入驻伊美军司令部
闪存,是如何工作的?
热敏电阻温控制冷鸟鸣发声电路
五功能遥控车芯片 SM6135C
泰科电子高速I/O解决方案(下)