реклама на сайте
подробности

 
 
> 1-wire slawe на МК, у кого такое получилось?
Шалапут:-)
сообщение Nov 27 2008, 15:05
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 11-01-07
Пользователь №: 24 303



Всем доброе время суток!
Пытаюсь сделать подобие 1-wire сети на МК.
С реализацией Ведущего проблем не возникло, он успешно генерит ресет импульс, и таймслоты тоже, и считывать всё тоже умеет.
Но проблема возникла с Ведомым. В интернете всего полно по реализации ведущего, и "кот наплакал" про Ведомого. за то есть много документации о том, как должны себя вести ведомые устройства в сети.
Решил придельно упростить интерфейс до такого:

1) Мастер:отправляет ресет импульс
2) Ведомый: отправляет импульс присутствия
3) Мастер: Проверяет, отправил ли кто то импульс присутствия?, если нет, к п.1
4) Мастер: генерит начало таймслота, переменная BIT_COUNT_M=0;
5) Ведомый: после начала слота опускает линию, или оставляет в лог "1"
6) Мастер: ждет малость и считывает значение с шины, записывая его. BIT_COUNT_M=BIT_COUNT_M+1
7) Ведомый: ждет и отпускает линию
8) Мастер: Если BIT_COUNT_M<8 переход к см. п 4, иначе, отпускаем линию и возвращаем значение

Т.е. как видим, мастер просто оправшивет устройство.
Но ведомый иногда не распознаёт начала тайм слота, а ресет импульс - один из трёх раз.
Частота ошибок при передаче данных, примерно 1 бит на 10 байт.
Почему так? как устранить это?

Вся программа ведомого работает в обработчике таймера, который работает с периодом 10 мкс,
Связываю две ATmega-16, использую АВР студию 4.14 билд 589, GCC компилятор 20080610.
Для опускания шины в ведомом использую _delay_us().

На графиках видно, о чем я говорю...
Может, кто то сталкивался с подобным? Помогите, плиз)
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 


--------------------
Роботы делают роботов - предел автоматизации
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
QuickWitted
сообщение Mar 28 2009, 17:08
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 322
Регистрация: 21-06-07
Из: СНГ
Пользователь №: 28 596



Цитата(Шалапут:-) @ Nov 27 2008, 20:05) *
Пытаюсь сделать подобие 1-wire сети на МК.


Раз подобие и самостоятельно не всё получается, то можно
посмотреть в сторону описания готовых систем...
например DISEqC
в 3 версии у него даже мультимастер зарезервирован...
(я не предлагаю именно его, но может натолкнёт на удачную мысль...)


Цитата(MrYuran @ Nov 28 2008, 14:52) *
RxD мастера подтянуть к "1", а TxD слэйвов подключать только при необходимости ответа.
Кстати, если подумать, можно это всё и по одной линии сделать.Получится 1-Wire-UART


проще токовую петлю поднять... (если не требуется питание по линии гнать)
в этом случае никого "подключать" не надо, всё штатно и так весит...
только арбитраж ввести...

или описание готового посмотреть...
(MIDI по моему как раз на 1-Wire-UART)


--------------------
Сайт с разработками http://www.mindrunway.ru/
Go to the top of the page
 
+Quote Post
asket
сообщение Oct 3 2009, 11:23
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 91
Регистрация: 24-08-06
Из: Москва
Пользователь №: 19 809



господа! Подскажите есть ли готовые решения моста 1 wire-slave to serial interface? а то на сайте maxim-ic.com представлены только на стороне ведущего, а мне надо чтобы по ван вайре можно было передавать информацию для МК, slave писать я так понял муторно. У меня в голове есть только идеи использовать либо DS2408, через параллельный интерфейс загружать байты на Мк, либо через DS2406 по двум проводам через i2c, но опять же с программкой на стороне ведущего получается геморой, код громоздкий а скорость маленькая. Есть идеи или предложения по этому поводу, буду благодарен за любой ответ.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Шалапут:-)   1-wire slawe на МК   Nov 27 2008, 15:05
- - aaarrr   Для реализации 1W slave у МК должна быть быстрая р...   Nov 27 2008, 15:17
|- - Шалапут:-)   Цитата(aaarrr @ Nov 27 2008, 17:17) Для р...   Nov 28 2008, 08:44
|- - aaarrr   Цитата(Шалапут:-) @ Nov 28 2008,...   Nov 28 2008, 08:50
|- - Шалапут:-)   Цитата(aaarrr @ Nov 28 2008, 10:50) Увели...   Nov 28 2008, 10:28
|- - xemul   Цитата(Шалапут:-) @ Nov 28 2008,...   Nov 28 2008, 11:30
|- - Шалапут:-)   Цитата(xemul @ Nov 28 2008, 13:30) А ванв...   Nov 28 2008, 14:51
|- - Denis R. Akimov   У меня та же самая проблема. Пытаюсь строить 1-wir...   Mar 18 2009, 14:26
- - MrYuran   Основная фича 1-wire это питание слэйва через сигн...   Nov 28 2008, 09:52
|- - SasaVitebsk   Цитата(asket @ Oct 3 2009, 14:23) ... sla...   Oct 3 2009, 21:48
|- - asket   Цитата(SasaVitebsk @ Oct 4 2009, 01:48) Д...   Oct 4 2009, 19:40
|- - rezident   Цитата(asket @ Oct 5 2009, 01:40) Мне это...   Oct 4 2009, 19:48
|- - SasaVitebsk   Цитата(rezident @ Oct 4 2009, 22:48) Для ...   Oct 5 2009, 16:32
|- - asket   У нас CAN используется в качестве магистральной ши...   Oct 6 2009, 08:54
- - Rst7   Цитатаи мало того на 1 wire висят исполнительные у...   Oct 6 2009, 10:14
- - asket   Цитата(Rst7 @ Oct 6 2009, 14:14) И много ...   Oct 6 2009, 17:25
- - e-serg   Цитата(Rst7 @ Oct 6 2009, 19:14) И много ...   Nov 5 2009, 11:38


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 09:19
Рейтинг@Mail.ru


Страница сгенерированна за 0.01399 секунд с 7
ELECTRONIX ©2004-2016