Однопроводный интерфейс.
-
- Лейтенант
- Сообщения: 391
- Зарегистрирован: 09 апр 2016, 12:17
- Откуда: Кременчуг
- Имя: Сергей
Однопроводный интерфейс.
Есть необходимость передачи 32 или 64 бит информации с одного контроллера на другой. Изначально планировалось передавать по UART (TX на передающем контроллере, RX на принимающем). Но в процессе отладки уже готовых устройств внезапно оказалось, что при работе приёмного контроллера от внутреннего генератора информация принимается с большими погрешностями или не принимается совсем. Поставить кварц- не вариант, так как пины кварца задействованы по другому назначению. Также не подходит вариант с применением аппаратных решений. То есть по сути нога передающего должна быть соединена с приёмным без посредников.
Какие ещё варианты однопроводных интерфейсов есть? Желательно без жёсткой привязке к частоте и без большой вычислительной нагрузки. Время передачи не более 50 миллисекунд.
Какие ещё варианты однопроводных интерфейсов есть? Желательно без жёсткой привязке к частоте и без большой вычислительной нагрузки. Время передачи не более 50 миллисекунд.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Однопроводный интерфейс.
[ref]seri0shka[/ref], Я не спец по протоколам/интерфейсам, но стабильность тактирования одна из задач при передачи/приёме инфы при передаче по "одному проводу/радиоканалу"...
Как вариант, попробовать oneware?
Отправлено спустя 1 минуту 14 секунд:
Либо писать свой, либо найти ещё ногу, свободную.
Отправлено спустя 2 минуты 30 секунд:
Как вариант, попробовать oneware?
Отправлено спустя 1 минуту 14 секунд:
Либо писать свой, либо найти ещё ногу, свободную.
Отправлено спустя 2 минуты 30 секунд:
Т.е. около 1кгц. Прерывания остались?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
-
- Лейтенант
- Сообщения: 391
- Зарегистрирован: 09 апр 2016, 12:17
- Откуда: Кременчуг
- Имя: Сергей
Однопроводный интерфейс.
Не задействованы
Думал об этом. Тем более, что oneware чрезмерно усложнён даже для тех задач, для которых уже применяется.
Возможно ли измерить подряд длительность 64 импульсов, по результатам сформировать 64 булевых переменных? Разумеется, должны быть ещё сигналы начала и окончания посылки. Длительность импульсов 0 и 1 может отличаться в несколько раз для исключения ошибок.
Отправлено спустя 24 минуты 17 секунд:
Забыл сказать: пины задействованы все, кроме RX.
-
- Полковник
- Сообщения: 1928
- Зарегистрирован: 28 окт 2015, 22:47
- Откуда: Ленобласть
- Имя: Игорь
- Поблагодарили: 2 раза
Однопроводный интерфейс.
Е
Логично предположить, что используется чистый камушек. Перейти на более многоногий сопряжено с затратами?
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
- nalnik
- Подполковник
- Сообщения: 1320
- Зарегистрирован: 14 май 2016, 17:12
- Откуда: Кисловодск
- Имя: Александр
Однопроводный интерфейс.
Он даже не написал на каком "камушке" он это делает.
Я хочу быть добрее, но люди сами нарываются.
-
- Лейтенант
- Сообщения: 391
- Зарегистрирован: 09 апр 2016, 12:17
- Откуда: Кременчуг
- Имя: Сергей
Однопроводный интерфейс.
Атмега8, как самая дешёвая и доступная. Хотя ничего не изменилось бы, если б была 168 или 328.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Однопроводный интерфейс.
[ref]seri0shka[/ref], Я не такой практик, как кажусь, но на встроенном гене не получается принять на 19200? Подключите тестер - он принимает? и наоборот - зашлите.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
-
- Лейтенант
- Сообщения: 391
- Зарегистрирован: 09 апр 2016, 12:17
- Откуда: Кременчуг
- Имя: Сергей
Однопроводный интерфейс.
Пока не могу провести испытания, известно только , что с атмеги с внутренним тактированием в компьютер шлёт абракадабру, каждый раз по-разному. А прошить по RX-TX вообще невозможно, что мне очень не нравится, потому как я собирался через ISP только один раз загрузчик прошить, а далее по RX-TX, и платы под это разведены. UART допускает отклонение 1...2% (ЕМНИП), а внутренний генератор даёт до 5%.
-
- Полковник
- Сообщения: 1928
- Зарегистрирован: 28 окт 2015, 22:47
- Откуда: Ленобласть
- Имя: Игорь
- Поблагодарили: 2 раза
Однопроводный интерфейс.
Вот все и выяснилось). Берем 644 и усе).
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
-
- Полковник
- Сообщения: 1928
- Зарегистрирован: 28 окт 2015, 22:47
- Откуда: Ленобласть
- Имя: Игорь
- Поблагодарили: 2 раза
Однопроводный интерфейс.
Вроде сразу предположил.
А как без всестороннего теста заказывать/делать много плат?...
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Однопроводный интерфейс.
Серёга, в отношении Вас Очень интересный вопрос....
Учитывая .....
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
-
- Лейтенант
- Сообщения: 391
- Зарегистрирован: 09 апр 2016, 12:17
- Откуда: Кременчуг
- Имя: Сергей
Однопроводный интерфейс.
Более многоногий контроллер- это не наш метод )
Меня воротит от устройств, которые используют минимум своих возможностей. Это как использовать плазменный телевизор в качестве цифровой фоторамки, например.
Ну и цена и доступность имеют значение.
В данном случае речь идёт даже не о конкретном частном случае с моими устройствами. Я могу выкрутиться, пойдя на некоторые компромиссы.
Странно просто, что нет простого надёжного однопроводного интерфейса для связи двух контроллеров (или двухпроводного, если в две стороны, хотя даже в таком случае можно обойтись одним проводом с некоторыми нюансами). Даже простая глупая WS2812 (WS2811) позволяет принять по одному проводу 768 бит информации без всяких кварцев (умный светодиод, если кто не понял).
Если такого интерфейса нет, его стоит разработать, завтра он может пригодиться каждому из вас.
Меня воротит от устройств, которые используют минимум своих возможностей. Это как использовать плазменный телевизор в качестве цифровой фоторамки, например.
Ну и цена и доступность имеют значение.
Всесторонний тест был проведён, всё было испытано в жёстких условиях, внесены необходимые изменения. Затем заказана новая версия плат с учётом полученного опыта. От кварца отказался с целью упрощения. Не ожидал такой разницы при внешнем тактировании и внутреннем. Скорей всего даже часть плат будут работать нормально, но о надёжности не может быть и речи. Зачем мне устройство, зависящее от температуры воздуха и магнитных бурь на Солнце?
В данном случае речь идёт даже не о конкретном частном случае с моими устройствами. Я могу выкрутиться, пойдя на некоторые компромиссы.
Странно просто, что нет простого надёжного однопроводного интерфейса для связи двух контроллеров (или двухпроводного, если в две стороны, хотя даже в таком случае можно обойтись одним проводом с некоторыми нюансами). Даже простая глупая WS2812 (WS2811) позволяет принять по одному проводу 768 бит информации без всяких кварцев (умный светодиод, если кто не понял).
Если такого интерфейса нет, его стоит разработать, завтра он может пригодиться каждому из вас.
Последний раз редактировалось seri0shka 20 янв 2019, 12:18, всего редактировалось 1 раз.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Однопроводный интерфейс.
я так не писал!seri0shka писал(а): 20 янв 2019, 11:48Всесторонний тест был проведён, всё было испытано в жёстких условиях, внесены необходимые изменения.Sancho писал(а): ↑Сегодня [01:36]
как без всестороннего теста заказывать/делать много плат?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
-
- Лейтенант
- Сообщения: 391
- Зарегистрирован: 09 апр 2016, 12:17
- Откуда: Кременчуг
- Имя: Сергей
Однопроводный интерфейс.
Технические накладки.


Многоногий контроллер сюда не особо хочет лезть.
Отправлено спустя 3 часа 38 минут 29 секунд:
P. S.
Сейчас мне достаточно трёх байт.
Для быстрого решения проблемы использую один из двух вариантов:
1. Отправляю не 3 байта сразу, а 3 раза по байту, это должно уменьшить вероятность ошибок при несовпадении частот передатчика и приёмника.
2. Использую программный блок отправки в UART, который делал для тини13, там временные параметры можно подобрать для надёжного приёма.
Но вопрос о надёжном однопроводном интерфейсе, не привязанном к точной частоте, остаётся открытым.
- kulibinsvv
- Лейтенант
- Сообщения: 487
- Зарегистрирован: 18 сен 2015, 10:04
- Откуда: Омск
- Благодарил (а): 3 раза
- Поблагодарили: 5 раз
Однопроводный интерфейс.
[ref]seri0shka[/ref], а понижать скорость передачи UART пробовали?
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)
-
- Лейтенант
- Сообщения: 391
- Зарегистрирован: 09 апр 2016, 12:17
- Откуда: Кременчуг
- Имя: Сергей
Однопроводный интерфейс.
Пока глобальных испытаний в данном варианте не проводил (ещё не распаял) . Но сам принцип интерфейса UART построен так, что ошибки зависят не от скорости, а от процента расхождения частот. Кроме того, даже если испытания пройдут успешно, возможно, отклонение частоты находится на самом крае допустимого, и ошибки начнутся при изменении частоты ещё на долю процента вследствии изменения температуры уже на эксплуатируемом устройстве, это намного хуже. Раздобыть бы где кварцы на 16МГц+5% и на 16МГц-5% для проверки.
Кроме того, плата приёмного контроллера не очень подходит для многократной прошивки при экспериментах, планировалось прошивать один раз.
Кроме того, плата приёмного контроллера не очень подходит для многократной прошивки при экспериментах, планировалось прошивать один раз.
Однопроводный интерфейс.
Сейчас делаю термостат для газового котла, связь идет через интерфейс OpenTherm, передача данных построена на манчестерском коде, попробуйте, может вам подойдет.
Отправлено спустя 20 минут 32 секунды:
Вот https://m.habr.com/ru/post/251539/ хорошо расписан принцип передачи данных
Отправлено спустя 20 минут 32 секунды:
Вот https://m.habr.com/ru/post/251539/ хорошо расписан принцип передачи данных
когда мастерю обычно подсматриваю,
не рыли ли окоп в том же направлении,
не изобретали ли велосипед с такими-же квадратными как у меня колёсами,
а уже потом - не торопясь, торю свою лыжню
не рыли ли окоп в том же направлении,
не изобретали ли велосипед с такими-же квадратными как у меня колёсами,
а уже потом - не торопясь, торю свою лыжню
-
- Лейтенант
- Сообщения: 391
- Зарегистрирован: 09 апр 2016, 12:17
- Откуда: Кременчуг
- Имя: Сергей
Однопроводный интерфейс.
На ардуино? Будете кодить манчестерский код?
Только вчера впервые нашёл упоминание о нём, почитал описание и ничего не понял. В приведённой статье действительно всё понятно. Передачу организовать проще простого. А вот приём я не сделаю даже по статье.
Однопроводный интерфейс.
Вот https://github.com/jpraus/arduino-opent ... ateway.ino с приемом и передачей
когда мастерю обычно подсматриваю,
не рыли ли окоп в том же направлении,
не изобретали ли велосипед с такими-же квадратными как у меня колёсами,
а уже потом - не торопясь, торю свою лыжню
не рыли ли окоп в том же направлении,
не изобретали ли велосипед с такими-же квадратными как у меня колёсами,
а уже потом - не торопясь, торю свою лыжню
Кто сейчас на конференции
Сейчас этот форум просматривают: grin-mpx и 1 гость