Технический форум
Вернуться   Технический форум > Электроника, самоделки и техника > Форум по электронике > Микропроцессоры


Ответ
 
Опции темы Опции просмотра
Старый 22.07.2018, 00:51   #1 (permalink)
Dreamsuefer
Новичок
 
Регистрация: 22.07.2018
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Попытка передать дамп i2c на Андроид-устройство

Всем привет!
В своём авто убрал FVD дисплей за торпедо, а на его место примерил андроид планшет.
+ Теперь есть мп3 и навигатор вкупе с андроидом
- не видно как работает климат, расход, выводимые на vfd дисплей.
Опыта в электронике скорее почти нет.
Понимаю немного в программировании.

Сначала я пробовал поставить carpc. Не прижилось. Прицеливал аналоговую камеру на этот vfd и выводил на ЖК экран. Но тоже не прижилось.

Разобрал vfd дисплей. На плате две микросхемы pcf8576ch -драйверы жкд. Почитал про них даташит. Узрел там описание адресации и формирования команд инициализации режима работы и заполнения таблицы в памяти по i2c. Паралельно, ради общего познания, почитывал про Ардуино. И родилась мысль, передать на андроид поток i2c, а уже после дешифрации отрисовать подобный экран на планшете. Осталось проверить.

Приобрел Ардуино мега, нашел код i2c снифера.(github: i2c-sniffer-100kBaud-Arduino-Mega)
Подправил чуть код, чтобы данные шли на блутуз сериал.
Подпаялся к линии sda sdl gnd(vss).
Данные пошли, но скрипт не обнаружил начал и концов передач, засыпало нулями в терминале на телефоне. Я в ступпоре. Что то пропустил или не вник.
Как можно на шине где мастера и слейвы, послушать траффик? Может частота не совпала?
Dreamsuefer вне форума   Ответить с цитированием

Старый 22.07.2018, 00:51
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Ранее на нашем форуме участники создавали аналогичные топики

Передать лог
передать лог

Старый 22.07.2018, 01:38   #2 (permalink)
Dreamsuefer
Новичок
 
Регистрация: 22.07.2018
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Может перерезать дорожки i2c, поставить. А на Ардуино отказаться от сложного кода снифера, использовать библиотеку wire, назначить Ардуино i2c адрес такой же как и у одного из драйверов. И вот сидеть, попробовать получить данные.
Dreamsuefer вне форума   Ответить с цитированием
Старый 22.07.2018, 16:47   #3 (permalink)
vingor
VIP user
 
Регистрация: 05.03.2014
Адрес: Г. Краснодар
Сообщений: 1,387
Сказал(а) спасибо: 328
Поблагодарили 211 раз(а) в 35 сообщениях
Репутация: 18409
По умолчанию

Авто случаем не опель? А вообще надо сначала глянуть мануал не на контроллер а на vfd на моем коне там все тупо идет подтягиванием + на определенную ногу.
vingor вне форума   Ответить с цитированием
Старый 23.07.2018, 17:21   #4 (permalink)
Dreamsuefer
Новичок
 
Регистрация: 22.07.2018
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от vingor Посмотреть сообщение
Авто случаем не опель? А вообще надо сначала глянуть мануал не на контроллер а на vfd на моем коне там все тупо идет подтягиванием + на определенную ногу.
Спасибо за ответ!
Машина альмера n16.
Думаешь есть шанс найти даташит на экран?
экран вот такой:

Читаем - Как вставить картинки в свой пост
Dreamsuefer вне форума   Ответить с цитированием
Старый 01.08.2018, 12:25   #5 (permalink)
Dreamsuefer
Новичок
 
Регистрация: 22.07.2018
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Решил переписать снифер. Сторонний собирает данные в кучу, причем данные в один цикл могут задблированными идти, как оно работает - хз.
Нашел временные параметры столбиков сигналов, старт стоп все передачи, функции задержки в мкс. Впервые, с 13 битовые манипуляции использую. Вот для чего нужны конъюнкции и дизюнкции)) Уж не знаю получится ли. Ардино микруха 16мгц, а шина i2c 100кгц. Запас как бы есть, стараюсь без прерываний делать. Данные удалось получить из стороннего снифира, но мусором, раскоментировав строки с raw дата.
Второй вариант, попробовать встать с таким же адресом как и микросхема, но тут сложность - их две. Может быть вариант решения это прижимать линию в 0 тогда все будут ждать, менять адрес на второй и отпускать линию. Но это теория. Как будут себя вести два слейва с одним адресом - это не известно да и не совсем корректно.
Так что, остаётся описать чтение двух первых битов порта Port_c. Он аналоговый и я ещё не знаю, способен ли он работать на 100кгц.
Я уже пробовал собрать байт слово. Но из за косяка в упорядочивании и определении начала передачи - криво вышло.
Думаю пока это самый правильный путь. Собрать слово или несколько, если приходит бит конца передачи - прижимать линию в 0 и прерываться на отправку в блутуз.
Dreamsuefer вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Метки
i2c sniffer

Опции темы
Опции просмотра

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

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




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

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.