• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

SMBus程序

有谁写过SMBus的通迅程序吗?用PIC的
全部回复(14)
正序查看
倒序查看
hxt.pic
LV.3
2
2006-11-21 22:03
为什么我读不出BQ2084内部的数据,我按照DATASHEET内部的时序图写了一个读数据的程序,但BQ2084就是没有ACK位作应答,写的过程是这样的,START--0X16-A--COMMAND CODE-A-RESTART--0X17-A--再后面就是读字节子程序,请各位帮忙看看,有问题吗?
我用的是汇编,附件为时序图
1164117809.doc
0
回复
hxt.pic
LV.3
3
2006-11-22 07:43
@hxt.pic
为什么我读不出BQ2084内部的数据,我按照DATASHEET内部的时序图写了一个读数据的程序,但BQ2084就是没有ACK位作应答,写的过程是这样的,START--0X16-A--COMMANDCODE-A-RESTART--0X17-A--再后面就是读字节子程序,请各位帮忙看看,有问题吗?我用的是汇编,附件为时序图1164117809.doc
怎么没人回复?没人知道吗?
0
回复
wz_net
LV.5
4
2006-11-22 09:54
@hxt.pic
为什么我读不出BQ2084内部的数据,我按照DATASHEET内部的时序图写了一个读数据的程序,但BQ2084就是没有ACK位作应答,写的过程是这样的,START--0X16-A--COMMANDCODE-A-RESTART--0X17-A--再后面就是读字节子程序,请各位帮忙看看,有问题吗?我用的是汇编,附件为时序图1164117809.doc
你用逻辑分析仪抓下时序,可以看得清清楚楚.
0
回复
hxt.pic
LV.3
5
2006-11-22 10:43
@wz_net
你用逻辑分析仪抓下时序,可以看得清清楚楚.
那我上面的步骤是不是对的,有问题吗?
0
回复
hxt.pic
LV.3
6
2006-11-22 10:45
@hxt.pic
那我上面的步骤是不是对的,有问题吗?
我没有逻辑分析仪哦!用示波器看不出来,但用示波器看出我写的程序,波形很好,就是没有应答信号
0
回复
博亮
LV.2
7
2006-11-25 01:13
@hxt.pic
为什么我读不出BQ2084内部的数据,我按照DATASHEET内部的时序图写了一个读数据的程序,但BQ2084就是没有ACK位作应答,写的过程是这样的,START--0X16-A--COMMANDCODE-A-RESTART--0X17-A--再后面就是读字节子程序,请各位帮忙看看,有问题吗?我用的是汇编,附件为时序图1164117809.doc
Start--0x16-A--Command-A--Restart--0x17-A--Read number-A-(Read bytes)-Stop;我用的是C51,同情你自己摸索的艰辛,和我进入这个行业碰到的问题一样,一点经验希望能给你带来帮助.你可能把读取的第一个字节当成你要的数据了,看你的时序还是对的.还有一个可能是你在写完数据后,延时时间不对导致芯片会没反应.devenwater@hotmail.com有空聊,我也不是很熟,可以交流一下!
0
回复
hxt.pic
LV.3
8
2006-12-11 09:49
@博亮
Start--0x16-A--Command-A--Restart--0x17-A--Readnumber-A-(Readbytes)-Stop;我用的是C51,同情你自己摸索的艰辛,和我进入这个行业碰到的问题一样,一点经验希望能给你带来帮助.你可能把读取的第一个字节当成你要的数据了,看你的时序还是对的.还有一个可能是你在写完数据后,延时时间不对导致芯片会没反应.devenwater@hotmail.com有空聊,我也不是很熟,可以交流一下!
可能我是太不懂了,你上面写的read number是一个什么值,command是要读的地址对不?谢谢!
0
回复
2006-12-17 23:43
@hxt.pic
可能我是太不懂了,你上面写的readnumber是一个什么值,command是要读的地址对不?谢谢!
软件模拟SMBUS通讯协议关键是时序,不管使用51 还是PIC都一样,51,PIC都写过,用PIC模拟时注意TRISC4.3端口方向寄存器切换就好了.
0
回复
pingker
LV.3
10
2007-03-02 20:47
@zhangniyong
软件模拟SMBUS通讯协议关键是时序,不管使用51还是PIC都一样,51,PIC都写过,用PIC模拟时注意TRISC4.3端口方向寄存器切换就好了.
这个问题值得学习,我也是一个人摸索, 我用VB写.开始学I2C通讯,后来又看PIC资料,但越看越觉得距现实好远……
用I2C,就是跟上面说的一样.读了都没反映
0
回复
shenzhen01
LV.1
11
2007-03-03 23:15
@hxt.pic
为什么我读不出BQ2084内部的数据,我按照DATASHEET内部的时序图写了一个读数据的程序,但BQ2084就是没有ACK位作应答,写的过程是这样的,START--0X16-A--COMMANDCODE-A-RESTART--0X17-A--再后面就是读字节子程序,请各位帮忙看看,有问题吗?我用的是汇编,附件为时序图1164117809.doc
你要读2084哪里的数据?单纯的I2C的话,从microchip下个例程看看,一般都是程序问题.
0
回复
pingker
LV.3
12
2007-03-04 19:55
@shenzhen01
你要读2084哪里的数据?单纯的I2C的话,从microchip下个例程看看,一般都是程序问题.
比如我要通过PIC读BQ2060 跟EEPROM的资料
该怎么做?
可以直接EV2200卡用I2C协议读?
还是要用别的单片机?
0
回复
mikecai
LV.4
13
2011-07-27 16:22
@博亮
Start--0x16-A--Command-A--Restart--0x17-A--Readnumber-A-(Readbytes)-Stop;我用的是C51,同情你自己摸索的艰辛,和我进入这个行业碰到的问题一样,一点经验希望能给你带来帮助.你可能把读取的第一个字节当成你要的数据了,看你的时序还是对的.还有一个可能是你在写完数据后,延时时间不对导致芯片会没反应.devenwater@hotmail.com有空聊,我也不是很熟,可以交流一下!

你好!我也碰到同样的问题,相同的时序;这在BQ2084的DATASHEET里面有写,

关键现在我用AVR169模拟时序,也是同样读不出数据.

有没有机会,一起讨论一下.

0
回复
2011-08-24 09:08
@博亮
Start--0x16-A--Command-A--Restart--0x17-A--Readnumber-A-(Readbytes)-Stop;我用的是C51,同情你自己摸索的艰辛,和我进入这个行业碰到的问题一样,一点经验希望能给你带来帮助.你可能把读取的第一个字节当成你要的数据了,看你的时序还是对的.还有一个可能是你在写完数据后,延时时间不对导致芯片会没反应.devenwater@hotmail.com有空聊,我也不是很熟,可以交流一下!
请问用DSP2812如何软件模拟SMBus或者I2C?
0
回复
aaron96031
LV.3
15
2011-08-24 13:46
@smalljade111
请问用DSP2812如何软件模拟SMBus或者I2C?

I2C 的程序网上大把,再比较 此IC的特殊指令格式就搞定了啊,很容易的

0
回复