Перейти к содержанию
    

Вмешательство в i2C

 

 

Господа, есть задачка.

Имеется рация. Настройка ее осуществляется кнопками через меню на экране. Настройки записываются в EEPROM, использующую протокол i2C.

Рация будет подключена к проектируемому в данный момент блоку, который в связке с рацией позволит и общаться, и отправлять телеметрию.

По субъективным, бытовым что ли, причинам хочется настраивать рацию не нажатиями кнопок на ней (рация вообще будет спрятана в корпусе и ни кнопки, ни дисплей доступны не будут), а через компьютер.

Вариант с имитацией нажатия кнопок с помощью микроконтроллера не очень привлекает. Хочется вбить в компьютере настройки, нажать кнопку отправить, и успокоиться.

 

Даташит на микросхему есть. USB осциллограф с i2c сниффером есть, так что разобраться что и по какому адресу пишется труда не составит.

 

Отсюда вытекает два варианта:

1. Подключить к SCL и SDA микроконтроллер и в режиме мастера писать в микросхему EEPROM то, что нам нужно, а потом рацию принудительно перезагружать.

2. Выкинуть EEPROM нафиг а контроллер настроить в режиме slave, при этом перехватывать обращение рации к микросхеме памяти, прикидываться микросхемой памяти. Благо, обращение происходит только при загрузке, либо при смене настроек.

 

 

Реально ли осуществить какой либо из вариантов, и какой предпочтительней? Нет ли каких-то тонкостей, которые я,имеющий поверхностное представление об i2C, не знаю, которые делают эту задачу невыполнимой?

 

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне кажется, вполне осуществимы оба варианта (хотя ни одного не делал :) ).

1) это сделать проще - примеров "как работать с EEPROM" в сети много. Грабли - если оба мастера полезут к слейву одновременно, возможны проблемы - такую ситуацию надо специально обрабатывать, и скорее всего, авторы рации над этим не думали.

Обходной манёвр - подсмотреть осциллографом, когда идёт обмен, и в эти моменты память не трогать.

2) чуть сложнее, но тоже вполне реально.

 

Общие грабли - структура данных в EEPROM может "сама собой" измениться в новых прошивках рации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

если оба мастера полезут к слейву одновременно, возможны проблемы - такую ситуацию надо специально обрабатывать,

Скорее всего не полезут. Я отпаивал выводы микросхемы, глюки были только при загрузке и при смене настроек. Сама рация своей жизнью не живет. Надо ее все-же поснифферить, нет ли обмена по i2c при приеме . А все остальное рация будет делать только с разрешения микроконтроллера.

 

Общие грабли - структура данных в EEPROM может "сама собой" измениться в новых прошивках рации

Ну не сильно это и пугает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

EEPROM вполне себе отлично эмулируется контроллером. Посмотрите SCL скопом - что там за частота? Отсюда настройте клок модуля I2C в контроллере

И тогда вообще никаких проблем, данные можно точно так же сохранять во внутреннюю EEPROM контроллера, а все настройки кушать по удобоваримому интерфейсу с компа

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сделать радиомодуль, управляемый по SPI/I2C. Или найти готовый. Если, конечно, интересует надёжная работа.

Виды модуляции, диапазон, мощность, питание?

 

Изменено пользователем Genadi Zawidowski

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Или найти готовый.

Даю полцарства за радиомодуль, позволяющий гнать и голос и цифру, управляемый по i2c, обеспечивающий (по документам, в условиях идеального ваккуума) дальность 10 км. Именно такая (по документам) у меня рация и если я и возьму модуль, то хочу чтобы он был не хуже.

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Диапазон, мощьность, виды модуляции (а не дальность по документам),питание можете назвать?

Данные тоже вводятся по I2C или это отдельный канал?

Еслми полцарства и УКВ - берёте IC-910 или ещё что-нибудь, где канал управления уже предусмотрен.

 

Если полцарства - может, разумно было-бы разработкой радиомодуля заняться. CML-овское что-нибудь применить.

Если времени нет - тогда купить радиостанцию с каналом управления.

Именно такая (по документам) у меня рация

После Ваших переделок грош цена документам, Вам не кажется?

Изменено пользователем Genadi Zawidowski

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ууууу.... зашел за спичками, а купил корову...

 

Давайте так: та рация, которая имеется, с всеми ее документами и модуляциями меня устраивает, все уже налажено и работает.

 

Если подбор радиомодуля связан с такими сложностями, то лучше я разберусь с i2c.

 

вбил в яндекс ключевое слово "ic-910". Получил другое ключевое слово

займет достойное место на столе радиолюбителей

 

Мне переносное устройство необходимо, а не громадина.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Лучше, мне кажется, использовать сущ-ю память, а к компу подключать ее через коммутатор, чтобы не замусоривать шину внутри рации (вдруг она для чего-то еще используется). Тогда можно не следить за обменом по шине, тупо подключил память к компу - записал - выключил питание рации - подкл. память к схеме - включил питание. Если коммутировать еще и питание памяти, то можно писать в нее при выкл. рации, что еще надежнее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет, шина ни для чего больше не используется. Во время изменения настроек ни рация ни остальные узлы не импользуются, контроллер ждет когда с компа придут данные и пишет их в память. А чтобы не "щелкать " кнопки на рации, тупо ее перезагружает с новыми настройками. Единственное самоуправство со стороны рации возможно, если в эфир кто-то влезет и то - надо еще посмотреть, читает ли в этот момент рация что-то из памяти. Вряд ли.

Память будет программироваться от компа через цепочку USB-FT232RL-ATMEGA128

Изменено пользователем Memento Mori

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Господа, есть задачка.

Я бы поставил свой контроллер в рацию. Почитал бы как работать с микрухой синтезатора частоты рации и прочей обвязкой и на основе этих данных написал бы программу.

Хотя, конечно проще и правильней использовать RF модуль для этих целей, а не рацию.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

RF модуль для этих целей

МОжет кто-нибудь подскажет все-таки такой модуль? Который может передавать и голос и подмешивать данные?

Ну или хотя бы просто голос. ТО есть не готовую рацию, а модуль, который можно куда-то встраивать.

В данный момент у меня рация на 446 МГц, мощность кажется 1 Ватт.

Искал в интернете нечто аналогичное - не нашел.

 

Мне кажется все-таки, что разобраться с i2C проще.

Изменено пользователем Memento Mori

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

МОжет кто-нибудь подскажет все-таки такой модуль? Который может передавать и голос и подмешивать данные?

Ну или хотя бы просто голос. ТО есть не готовую рацию, а модуль, который можно куда-то встраивать.

В данный момент у меня рация на 464 МГц, мощность кажется 1 Ватт.

Искал в интернете нечто аналогичное - не нашел.

вариантов модулей и отдельно микрух много, я например ориентируюсь на Микрочип микруху RF трансивер, усилитель мощности RF и модуляцию голосом можно дополнительно приделать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...