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

 
 
> 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

Сообщений в этой теме
- Шалапут:-)   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
- - QuickWitted   Цитата(Шалапут:-) @ Nov 27 2008,...   Mar 28 2009, 17:08
|- - asket   господа! Подскажите есть ли готовые решения мо...   Oct 3 2009, 11:23
|- - 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 - 12:49
Рейтинг@Mail.ru


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