Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 06.03.2018, 16:20  
Alexei55555
Прохожий
 
Регистрация: 06.03.2018
Сообщений: 4
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Alexei55555 на пути к лучшему
По умолчанию Помогите разобраться с шиной i2c

Имеется плата orange pi zero plus и датчик MPU9250 подключенные по шине i2c
В результате опроса датчик передает одни -1
вот сам код и работа:
Нажмите, чтобы открыть спойлер
#include ‹iostream›
#include ‹wiringPi.h›
#include ‹wiringPiI2C.h›
using namespace std;
int main()
{
wiringPiSetup();
int i=0x68;
int n;
int a=wiringPiI2CSetup(i);
if (a‹0)
{
std::cout‹‹"error initializacion"‹‹std::endl;
}
std::cout‹‹"vvedite kolichestvo znachenie n=";
std::cin››n;
std::cout‹‹endl;
int j;
for (int j=1; j‹n; j++)
{
int Ax=wiringPiI2CReadReg8(i,0x3B)‹‹8|wiringPiI2CReadR eg8(i,0x3C);
int Ay=wiringPiI2CReadReg8(i,0x3D)‹‹8|wiringPiI2CReadR eg8(i,0x3E);
int Az=wiringPiI2CReadReg8(i,0x3F)‹‹8|wiringPiI2CReadR eg8(i,0x40);
int t=wiringPiI2CReadReg8(i,0x41)‹‹8|wiringPiI2CReadRe g8(i,0x42);
std::cout‹‹Ax‹‹" "‹‹Ay‹‹" "‹‹Az‹‹" "‹‹t‹‹std::endl;
}
return 0;
}

Нажмите, чтобы открыть спойлер
root@orangepizeroplus:/home# ./output
vvedite kolichestvo znachenie n=5

-1 -1 -1 -1
-1 -1 -1 -1
-1 -1 -1 -1
-1 -1 -1 -1
root@orangepizeroplus:/home#

Такая же проблема была при подключении к ардуине и решалась подключением к земле осциллографа причем выключенного, датчик начинал прекрасно работать, но здесь это не работает.
Может дело в статике или ещё в чем-то
вообщем может кто сталкивался подскажите плиз в чем может быть дело и как это исправить
Реклама:
Alexei55555 вне форума  
Непрочитано 06.03.2018, 17:28  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Помогите разобраться с шиной i2c

Alexei55555
1. Схема соединений, тип и длина проводников, подтяжка к питанию,…?
2. Если уж идёт код, то неплохо в него включить все используемые подпрограммы.
3. А логическим анализатором и осциллографом на шине посмотреть происходящее?
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Непрочитано 06.03.2018, 17:50  
Alexei55555
Прохожий
 
Регистрация: 06.03.2018
Сообщений: 4
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Alexei55555 на пути к лучшему
По умолчанию Re: Помогите разобраться с шиной i2c

1. соединение простое sda платы c sda датчика и т.д.
на ардуине пробовал разные проводники сейчас на orange обычные "папа-мама"
на счет подтяжки не уверен но визуально на датчике какие-то smd резисторы шине есть с непонятными номиналами
2. код чисто для тестовой проверки на 99% дело не в нем
3. осциллограф показывает примерно 3в на sda и scl
Alexei55555 вне форума  
Непрочитано 07.03.2018, 01:58  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Помогите разобраться с шиной i2c

Alexei55555, в DS есть осциллограммы и временные параметры для сигналов I2C.
Насколько наблюдаемое соответствует? Нет ли искажений формы? У осциллографа один канал или два?
Правильно ли выбрана частота для шины?
Таки что там с подтяжкой и к какому напряжению?
Питание у обоих от одного источника и напряжения?
Непонятные сопротивления это как и что даёт их измерение?
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Непрочитано 07.03.2018, 12:23  
DanilinSA
Почётный гражданин KAZUS.RU
 
Регистрация: 25.11.2010
Адрес: г. Дзержинск Нижегородская обл.
Сообщений: 1,672
Сказал спасибо: 130
Сказали Спасибо 1,074 раз(а) в 517 сообщении(ях)
DanilinSA на пути к лучшему
По умолчанию Re: Помогите разобраться с шиной i2c

Подтяжка сколько и куда? Какие резисторы? Как реализован I2C - на открытом коллекторе или обычный выход?
DanilinSA вне форума  
Непрочитано 07.03.2018, 13:02  
dgrishin
Почётный гражданин KAZUS.RU
 
Регистрация: 12.02.2013
Сообщений: 1,015
Сказал спасибо: 43
Сказали Спасибо 273 раз(а) в 214 сообщении(ях)
dgrishin на пути к лучшему
По умолчанию Re: Помогите разобраться с шиной i2c

Сообщение от Alexei55555 Посмотреть сообщение
датчик передает одни -1
Это не датчик передаёт, а линия всё время остаётся в 1 (подтянутой к 1).

Сообщение от Alexei55555 Посмотреть сообщение
int Ax=wiringPiI2CReadReg8(i,0x3B)‹‹8|wiringPiI2CReadR eg8(i,0x3C);
int Ay=wiringPiI2CReadReg8(i,0x3D)‹‹8|wiringPiI2CReadR eg8(i,0x3E);
int Az=wiringPiI2CReadReg8(i,0x3F)‹‹8|wiringPiI2CReadR eg8(i,0x40);
int t=wiringPiI2CReadReg8(i,0x41)‹‹8|wiringPiI2CReadRe g8(i,0x42);
Чтобы прочитать чего нить из датчика (он slave на линии) в него надо записать адрес, после чего он (датчик) захватит шину и будет передавать данные к мастеру.
А у вас все функции только пытаются прочитать данные с датчика (без предварительной записи адреса).

Сорри похоже адрес для чтения это int i=0x68;
Но называть так адрес - это муветон.

Последний раз редактировалось dgrishin; 07.03.2018 в 14:07. Причина: добавление
dgrishin вне форума  
Сказали "Спасибо" dgrishin
Alexei55555 (13.03.2018)
Непрочитано 08.03.2018, 03:24  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Помогите разобраться с шиной i2c

Alexei55555
Начните отсюда там все параметры и схема подключения вполне разжеваны. Подтяжки там кстати совсем не видно.
Ну и хороший материал прямо тут на форуме .
Сам по себе датчик не вызывал проблем с использованием и на I2C, и на SPI.

Да и на I2C у этих датчиков вроде как адрес 110100A, что соответствует 0xD0 или 0xD2, в зависимости от состояния входа AD0.
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…

Последний раз редактировалось mike-y-k; 08.03.2018 в 03:27.
mike-y-k вне форума  
Непрочитано 13.03.2018, 12:14  
Alexei55555
Прохожий
 
Регистрация: 06.03.2018
Сообщений: 4
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Alexei55555 на пути к лучшему
По умолчанию Re: Помогите разобраться с шиной i2c

попробовал поменять миникомпьютер на распберри пи 3 та же ситуация
подтяжка здесь вроде все-таки есть если я правильно понял это два резистора по 10 кОм их на этой фотке видно https://kazus.ru/forums/showthread.php?t=113741 подключены к линиям и к питанию вроде 3,3 если ошибаюсь пожалуйста поправьте
Цитата:
Да и на I2C у этих датчиков вроде как адрес 110100A, что соответствует 0xD0 или 0xD2, в зависимости от состояния входа AD0.
адрес 0х68 из register map на датчик да и i2c-tools i2cdetect так же определяет
Цитата:
Сам по себе датчик не вызывал проблем с использованием и на I2C, и на SPI.
это да сам работал с mpu6050 на ардуине тож без проблем а тут что не получается (правда там такая проблема быстро осциллографом решалась просто подключал к земле и все начинало работать хоть месяц (причем при длине линии в 1,5м) если не разбирать физически)
Цитата:
Сорри похоже адрес для чтения это int i=0x68;
Но называть так адрес - это муветон.
С этим тож согласен.
извиняюсь просто в спешке подправлял прогу с несколькими датчиками
Цитата:
Как реализован I2C - на открытом коллекторе или обычный выход?
насчет этого не знаю наверное обычный просто первый слышу что есть ещё коллекторный
Цитата:
Питание у обоих от одного источника и напряжения?
пробовал по разному результат увы один
Может у кого ещё остались какие идеи а то у меня уже почти закончились
Alexei55555 вне форума  
Непрочитано 13.03.2018, 14:43  
Yuri222
Почётный гражданин KAZUS.RU
 
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 7,780
Сказал спасибо: 2,671
Сказали Спасибо 2,645 раз(а) в 1,953 сообщении(ях)
Yuri222 на пути к лучшему
По умолчанию Re: Помогите разобраться с шиной i2c

Сообщение от Alexei55555 Посмотреть сообщение
насчет этого не знаю наверное обычный просто первый слышу что есть ещё коллекторный
Ну вот чем не идея?
Проверить легко - подключить резистор на землю. Скажем, если есть подтяжка на питание 10 кОм - подключение 10 кОм на землю должно уменьшить напряжение в два раза.

Последний раз редактировалось Yuri222; 13.03.2018 в 14:46.
Yuri222 вне форума  
Эти 2 пользователя(ей) сказали Спасибо Yuri222 за это сообщение:
Alexei55555 (13.03.2018), mike-y-k (13.03.2018)
Непрочитано 13.03.2018, 19:55  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Помогите разобраться с шиной i2c

Alexei55555, таки восстановить схему шины и разобраться с номиналами нужно. В варианте с arduino тоже наплохо разобраться со схемой. Подвешивание осциллографа в том варианте для обеспечения работоспособности навевает сомнения в наличии согласования линий для шины.
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Сказали "Спасибо" mike-y-k
Alexei55555 (13.03.2018)
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Решено] Помогите разобраться с генератором igor1000 Электроника средств транспорта 10 05.07.2010 12:53
АЦП - для чайника (помогите разобраться)! Apach111 Электроника - это просто 2 30.05.2008 10:10
Помогите разобраться с импульсными стабилизаторами Vas2 Источники питания и свет 8 07.12.2007 17:27
Помогите разобраться с внешней памятью по I2C graham Микроконтроллеры, АЦП, память и т.д 3 16.12.2005 17:01
прога на VB по управлению шиной I2C и CY7C68013 alrond Микроконтроллеры, АЦП, память и т.д 0 08.10.2004 13:25


Часовой пояс GMT +4, время: 04:10.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot