|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 7:22 pm
| Автор |
Съобщение |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
 Re: I2C малко помощ
почти... може и да има slave разпознал адреса, но да не иска да си говори в момента.
|
| Пет Мар 02, 2018 7:16 pm |
|
 |
|
lcr
Ранг: Форумен бог
Регистриран на: Пон Май 12, 2014 11:49 pm Мнения: 4394 Местоположение: София
|
 Re: I2C малко помощ
Ясно. Благодаря!
Предполагам, че в ситуацията за която говориш на master - a не му остава друго освен да подновява опита си, докато ACK битът стане 0.
Опитвам се да подкарам I2C комуникацията между master (pic16f1847) и една китайска платка с BMI160 и засега удрям гредата. Адресирам модула с дефолтния му адрес (0x68) и ACK бита си седи в 1.
|
| Пет Мар 02, 2018 7:33 pm |
|
 |
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 10, 2005 3:25 pm Мнения: 5677 Местоположение: София
|
 Re: I2C малко помощ
Провери адреса и изчакай готовността на BMI160.
|
| Пет Мар 02, 2018 7:45 pm |
|
 |
|
lcr
Ранг: Форумен бог
Регистриран на: Пон Май 12, 2014 11:49 pm Мнения: 4394 Местоположение: София
|
 Re: I2C малко помощ
Пробвах и с алтернативния адрес (0x69) и пак не ще. Първоначално на шината бях сложил pull-up резистори 6,8 k към +5V и после се усетих, че на китайщината има по 10 k към нейното захранване (3,3V) и махнах първите. Може ли от това да са опукали портовете и в това да е причината? Мда - вероятно това е станало. В чаршафа пише максимално напрежение на IO пин 3,6V ама кой да чете 
|
| Пет Мар 02, 2018 9:38 pm |
|
 |
|
gicho
Ранг: Форумен бог
Регистриран на: Пон Мар 13, 2006 1:59 pm Мнения: 3867 Местоположение: Габрово
|
 Re: I2C малко помощ
Едва ли си е заминало през толкова килоома... Имаш ли някакво ардуино (3.3V) или есп или нещо подобно под ръка? Закачи го към него и виж дали работи - така ще знаеш дали работи и дали проблема е в твоя софтуер. Най-бързото би било пример за i2c scan който да покаже на кои адреси има отговор, после можеш да тестваш конкретно за тоя чип. Ако нямаш ... време е да се оборудваш за такива тестове 
|
| Съб Мар 03, 2018 10:23 am |
|
 |
|
stefan63
Ранг: Форумен бог
Регистриран на: Вто Фев 07, 2012 11:22 pm Мнения: 3084
|
 Re: I2C малко помощ
"busreset " правиш ли?
|
| Съб Мар 03, 2018 11:11 am |
|
 |
|
lcr
Ранг: Форумен бог
Регистриран на: Пон Май 12, 2014 11:49 pm Мнения: 4394 Местоположение: София
|
 Re: I2C малко помощ
Нямам нищо на 3,3V с което да тествам. Идеята за сканирането е добра и вероятно ще поработя по въпроса. Стефане, ползвам същия master, дето го дискутирахме по-горе в темата, само сменям slave адреса и гледам с осцилоскоп какво става по шината. Виждам коректен старт, после 7 бита коректен адрес, RW, ACK = 1 и стоп. На този етап само това. Засега искам само да видя, дали китайщината е жива. После ще правя останалото. Не изключвам и да са ми пробутали друг чип вместо BMI160, защото на чипа има някакво съвсем различно означение от това на Bosch а пък същата платка я предлагат и във вариант с LSM6DS3.  PS: Скенерите не правят ли точно това, което се опитвам да направя, но изреждат адресите автоматично и гледат състоянието на ACK бита?
|
| Съб Мар 03, 2018 11:49 am |
|
 |
|
michev
Ранг: Форумен бог
Регистриран на: Сря Юли 11, 2007 10:16 am Мнения: 1730
|
 Re: I2C малко помощ
Дори и да са ти пробутали другия чип, просто го пробвай дали пък няма да ти отговори. Адресите са му 0x6A или 0x6B.
|
| Съб Мар 03, 2018 1:04 pm |
|
 |
|
stefan63
Ранг: Форумен бог
Регистриран на: Вто Фев 07, 2012 11:22 pm Мнения: 3084
|
 Re: I2C малко помощ
Е, не ми се рови 13 страници назад -да гледам дали сме дискутирали "бъсресет" . 20-на години съм ползвал памети и часовници, и те тая година научих какво е "бъсресет" на и2ц. Щото ми се наложи- някакъв чип упорито не се обаждаше, забравих вече - кой и какъв беше , сега просто си добявам бъсресет , поне при ресет на системата.
|
| Съб Мар 03, 2018 2:11 pm |
|
 |
|
lcr
Ранг: Форумен бог
Регистриран на: Пон Май 12, 2014 11:49 pm Мнения: 4394 Местоположение: София
|
 Re: I2C малко помощ
Благодаря за насоките.
Ще пробвам и с адресите на другия чип, както и с ресет на I2C шината.
I2C bus reset не сме го дискутирали в тази тема, но това не се ли налага при ситуация в която някой slave държи SDA линията в 0? В конкретната ситуация, не наблюдавам такова нещо.
|
| Съб Мар 03, 2018 2:46 pm |
|
 |
|
Zdrav
Ранг: Форумен бог
Регистриран на: Сря Яну 26, 2005 2:01 pm Мнения: 1952 Местоположение: Варна
|
 Re: I2C малко помощ
RW =? Щом имаш осцилоскоп защо не качиш някоя картинка на това което виждаш. Може пък да видим нещо което ти пропускаш.
_________________ Най-опасният враг на истината и свободата е мнозинството.
|
| Съб Мар 03, 2018 4:11 pm |
|
 |
|
lcr
Ранг: Форумен бог
Регистриран на: Пон Май 12, 2014 11:49 pm Мнения: 4394 Местоположение: София
|
 Re: I2C малко помощ
Мисля че R/W беше 1, но не съм сигурен. Не съобразих да постна осцилограмата. Ще го направя след празниците.
|
| Съб Мар 03, 2018 5:39 pm |
|
 |
|
Zdrav
Ранг: Форумен бог
Регистриран на: Сря Яну 26, 2005 2:01 pm Мнения: 1952 Местоположение: Варна
|
 Re: I2C малко помощ
Ако това е така може в това да е проблема. При пращане на адреса R/W трябва да е в '0'. И предполагам няма нужда да уточняваме, че адреса е сместен наляво с една позиция. Друго което може да се случва е ако при Power ON неволно превключваш в SPI режим.
_________________ Най-опасният враг на истината и свободата е мнозинството.
|
| Съб Мар 03, 2018 8:25 pm |
|
 |
|
lcr
Ранг: Форумен бог
Регистриран на: Пон Май 12, 2014 11:49 pm Мнения: 4394 Местоположение: София
|
 Re: I2C малко помощ
Ето това беше картинката с неуспешната комуникация:  както е видно: slave address = 0x68; R/W=1; ACK=1 тъпата ми грешка е била в това, че не съм подал 0 на SA0 пина, с което се превключва между дефолтния и алтернативния адрес (0x69). А уж бях пробвал безуспешно при тази ситуация и с алтернативния Както и да е.....сега всичко е наред и китайщината се обажда вече (ACK=0)  : 
|
| Вто Мар 06, 2018 2:28 pm |
|
 |
|
ig_ivanov
Ранг: Професионалист
Регистриран на: Съб Май 21, 2016 9:47 pm Мнения: 577 Местоположение: Бургас
|
 Re: I2C малко помощ
Провери все пак как се държи и по адреса на алтернативния чип, че аз сума ти време се бутках с китайската версия на 5883, дето не стига, че е на друг адрес, а и регистрите му нямат нищо общо с оригинала.
|
| Вто Мар 06, 2018 3:34 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 3 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|