Отговори на тема  [ 281 мнения ]  Отиди на страница Предишна  1 ... 11, 12, 13, 14, 15, 16, 17 ... 19  Следваща
I2C малко помощ 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение Re: I2C малко помощ
почти... може и да има slave разпознал адреса, но да не иска да си говори в момента.


Пет Мар 02, 2018 7:16 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Май 12, 2014 11:49 pm
Мнения: 4394
Местоположение: София
Мнение Re: I2C малко помощ
Ясно. Благодаря!

Предполагам, че в ситуацията за която говориш на master - a не му остава друго освен да подновява опита си, докато ACK битът стане 0.

Опитвам се да подкарам I2C комуникацията между master (pic16f1847) и една китайска платка с BMI160 и засега удрям гредата. Адресирам модула с дефолтния му адрес (0x68) и ACK бита си седи в 1.


Пет Мар 02, 2018 7:33 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 10, 2005 3:25 pm
Мнения: 5677
Местоположение: София
Мнение Re: I2C малко помощ
Провери адреса и изчакай готовността на BMI160.


Пет Мар 02, 2018 7:45 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Май 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
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Мар 13, 2006 1:59 pm
Мнения: 3867
Местоположение: Габрово
Мнение Re: I2C малко помощ
Едва ли си е заминало през толкова килоома...
Имаш ли някакво ардуино (3.3V) или есп или нещо подобно под ръка? Закачи го към него и виж дали работи - така ще знаеш дали работи и дали проблема е в твоя софтуер. Най-бързото би било пример за i2c scan който да покаже на кои адреси има отговор, после можеш да тестваш конкретно за тоя чип.
Ако нямаш ... време е да се оборудваш за такива тестове :)


Съб Мар 03, 2018 10:23 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 11:22 pm
Мнения: 3084
Мнение Re: I2C малко помощ
"busreset " правиш ли?


Съб Мар 03, 2018 11:11 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Май 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
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Сря Юли 11, 2007 10:16 am
Мнения: 1730
Мнение Re: I2C малко помощ
Дори и да са ти пробутали другия чип, просто го пробвай дали пък няма да ти отговори. Адресите са му 0x6A или 0x6B.


Съб Мар 03, 2018 1:04 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 11:22 pm
Мнения: 3084
Мнение Re: I2C малко помощ
Е, не ми се рови 13 страници назад -да гледам дали сме дискутирали "бъсресет" . 20-на години съм ползвал памети и часовници, и те тая година научих какво е "бъсресет" на и2ц. Щото ми се наложи- някакъв чип упорито не се обаждаше, забравих вече - кой и какъв беше , сега просто си добявам бъсресет , поне при ресет на системата.


Съб Мар 03, 2018 2:11 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Май 12, 2014 11:49 pm
Мнения: 4394
Местоположение: София
Мнение Re: I2C малко помощ
Благодаря за насоките.

Ще пробвам и с адресите на другия чип, както и с ресет на I2C шината.

I2C bus reset не сме го дискутирали в тази тема, но това не се ли налага при ситуация в която някой slave държи SDA линията в 0? В конкретната ситуация, не наблюдавам такова нещо.


Съб Мар 03, 2018 2:46 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 26, 2005 2:01 pm
Мнения: 1952
Местоположение: Варна
Мнение Re: I2C малко помощ
lcr написа:
... Виждам коректен старт, после 7 бита коректен адрес, RW, ACK = 1 и стоп.


RW =?

Щом имаш осцилоскоп защо не качиш някоя картинка на това което виждаш. Може пък да видим нещо което ти пропускаш.

_________________
Най-опасният враг на истината и свободата е мнозинството.


Съб Мар 03, 2018 4:11 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Май 12, 2014 11:49 pm
Мнения: 4394
Местоположение: София
Мнение Re: I2C малко помощ
Мисля че R/W беше 1, но не съм сигурен.
Не съобразих да постна осцилограмата. Ще го направя след празниците.


Съб Мар 03, 2018 5:39 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 26, 2005 2:01 pm
Мнения: 1952
Местоположение: Варна
Мнение Re: I2C малко помощ
lcr написа:
Мисля че R/W беше 1, но не съм сигурен.

Ако това е така може в това да е проблема. При пращане на адреса R/W трябва да е в '0'. И предполагам няма нужда да уточняваме, че адреса е сместен наляво с една позиция.
Друго което може да се случва е ако при Power ON неволно превключваш в SPI режим.

_________________
Най-опасният враг на истината и свободата е мнозинството.


Съб Мар 03, 2018 8:25 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Май 12, 2014 11:49 pm
Мнения: 4394
Местоположение: София
Мнение Re: I2C малко помощ
Ето това беше картинката с неуспешната комуникация:

Изображение

както е видно:

slave address = 0x68; R/W=1; ACK=1

тъпата ми грешка е била в това, че не съм подал 0 на SA0 пина, с което се превключва между дефолтния и алтернативния адрес (0x69). А уж бях пробвал безуспешно при тази ситуация и с алтернативния :cry:

Както и да е.....сега всичко е наред и китайщината се обажда вече (ACK=0) :) :

Изображение


Вто Мар 06, 2018 2:28 pm
Профил
Ранг: Професионалист
Ранг: Професионалист
Аватар

Регистриран на: Съб Май 21, 2016 9:47 pm
Мнения: 577
Местоположение: Бургас
Мнение Re: I2C малко помощ
Провери все пак как се държи и по адреса на алтернативния чип, че аз сума ти време се бутках с китайската версия на 5883, дето не стига, че е на друг адрес, а и регистрите му нямат нищо общо с оригинала.


Вто Мар 06, 2018 3:34 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 281 мнения ]  Отиди на страница Предишна  1 ... 11, 12, 13, 14, 15, 16, 17 ... 19  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 2 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни