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

 
 
> 1-wire Интерфейс, Assembler'ные подпрограмы для начинаюших
3state-systems
сообщение Apr 11 2007, 19:48
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 18
Регистрация: 11-04-07
Из: Россия, Бурятия, Улан-Удэ
Пользователь №: 26 954



Здравствуйте,
Изучаю микроконтроллеры для себя, решил изучить интерфейс 1-wire
наткнулся на странную ситуацию: вроде и все давно ясно и куча библиотек готовых есть под разные микроконтроллеры на С разных мастей и под Assembler.
И в форумах не одна тема создана, а полной картины по 1-wire[AVR Assembler] как небыло так и нет.

Предлагаю поделится опытом, советом, готовым примером, покритиковать, поддержать и просто высказать свое мнение
Цель: Создание простых, универсальных и ясных подпрограмм для работы с 1-wire
Резюмируя эту тему можна создать неплохую статью для начинающих в рамках проекта AVR для начинающих Electronix.ru

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

Ну так начнем!
Возьмем в качестве отправной точки (Я начинающий!)
Код
AVR318: Ведущий однопроводной интерфейс 1-Wire компании Dallas (21 страница, пересмотр А, обновление от 09/04)
В рекомендациях показывается, как реализовать 1-проводной ведущий интерфейс с помощью микроконтроллера AVR. Рассмотрено два подхода: полностью программный и с помощью встроенного модуля У(С)АПП

Нас интересует только полностью программный подход
Из него следует:
Что для программной реализации протокола удобно разделить все команды на четыре уровня
УРОВНИ (и команды)
1)Передача и прием отдельных битов
a)Сброс всех устройств на шине [Restart]
B)Запись бита "1" в устройство [WriteBit1]
с)Запись бита "0" в устройство [WriteBit0]
d)Чтение бита из устройства [ReadBit]

2)Передача и прием отдельных байтов
a)Послать байт в устройство [SentByte]
B)Принять байт из устройства [ReseiveByte]

3)Сетевой уровень
a)Чтение ПЗУ [ReadROM]
B)Совпадение ПЗУ [MatchROM]
c)Пропуск ПЗУ [SkipROM]
d)Поиск ПЗУ [SearchRom]

4)Команды для работы с конкретными устройствами например датчик температуры ds1820 series
м некоторые прикладные подпрограммки
a)Вычисление CRC8 (табличная реализация и прямое вычисление)
B)Диагностика ошибок
с)Чтение режима питания микросхем паразитное или отдельное





Так как стандарт основывается на точном соблюдении всех задержек, всего 2 группы
6-64мкс и 470-1000мкс.
Вопрос как универсально сформировать задержки для различных частот задающих кварцов?

Так по теме словесное описанное описание команд первого уровня
Код
Restart:
;Сброс всех устройств
;Подсаживаем линию, задержка на 700мкс
;Задержка в 65мкс, проверка сигнала
;ок =уровень сигнала равен 0 передача управления дальше на3
;error уровень Равен 1 =обрыв линии
;3 формируем задержку в 500мкс проверяем уровень сигнала
;ок =уровень сигнала равен 1
;error уровень равен 0 =линия закорочена
;в переменную помешаем код ошибки и выходи 0=ок
    reti
    Readbit:
;Чтение чтение одного бита из устройства
;Формируем синхроимпульс, подсаживаем линию =задержка 1мкс отпускаем линию снова                               задержка 13мкс
;считываем уровень сигнала помешаем кудато
;заполняем слот задержкой в 60-120мкс (60мкс)
     reti
    writebit0:
;Запись в слот нулевого значения
;подсадить линию    
;задержка в 80мкс
;отпустиь линию
;
    reti
    writebit1:
;Запись в слот единичного значения
;подсадить линию    
;задержка в 4,5мкс
;отпустиь линию
;задержка в 75мкс
    reti


Сообщение отредактировал 3state-systems - Apr 11 2007, 19:48
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 3state-systems   1-wire Интерфейс   Apr 11 2007, 19:48
- - Kuzmi4   2 3state-systems - с 1-Wire интерфейсом не сталкив...   Apr 12 2007, 10:24
- - Сергей Борщ   Цитата(3state-systems @ Apr 11 2007, 18...   Apr 12 2007, 12:46
- - 3state-systems   Так сейчас закодил первый уровень вот что получил...   Apr 12 2007, 20:57
|- - Сергей Борщ   Цитата(3state-systems @ Apr 12 2007, 19...   Apr 12 2007, 22:45
- - 3state-systems   ЦитатаКстати, я ориентируюсь на ассемблер IAR, а в...   Apr 13 2007, 09:47
|- - Сергей Борщ   Цитата(3state-systems @ Apr 13 2007, 08...   Apr 13 2007, 12:36
- - 3state-systems   Цитата(3state-systems @ Apr 13 2007, 08:47) * Да к...   Apr 13 2007, 15:26
|- - Сергей Борщ   Цитата(3state-systems @ Apr 13 2007, 14...   Apr 13 2007, 16:50
- - 3state-systems   Часа два разбирался с вашей универсальной подпрогр...   Apr 13 2007, 17:18
- - 3state-systems   Так добрались до байт черновой вариант такой .def ...   Apr 13 2007, 20:35
|- - Сергей Борщ   Для начала отступление: я вас обманул. Вот тут:Цит...   Apr 14 2007, 10:37
- - 3state-systems   а где сдесь модераторы?, можно эту тему перенести ...   Apr 13 2007, 22:19
|- - zltigo   Цитата(3state-systems @ Apr 13 2007, 21...   Apr 14 2007, 11:11
- - 3state-systems   Цитатано обратите внимание, что по brcs Writebit1 ...   Apr 14 2007, 11:29
- - 3state-systems   Так вот вторая версия ОБМЕН БАЙТОМ КодReadByte...   Apr 15 2007, 11:09
|- - Сергей Борщ   Цитата(3state-systems @ Apr 15 2007, 10...   Apr 15 2007, 11:15
|- - 3state-systems   Цитата(Сергей Борщ @ Apr 15 2007, 11:45) ...   Apr 15 2007, 11:18
|- - Сергей Борщ   Цитата(3state-systems @ Apr 15 2007, 10...   Apr 15 2007, 15:25
|- - 3state-systems   Цитата(Сергей Борщ @ Apr 15 2007, 15:55) ...   Apr 15 2007, 19:01
- - 3state-systems   КодExchangeBit: ;Обмен битом передавае...   Apr 15 2007, 15:25
- - 3state-systems   Так вот что получилось Сетевой уровень бета подпро...   Apr 17 2007, 17:54
|- - Сергей Борщ   Цитата(3state-systems @ Apr 17 2007, 16...   Apr 17 2007, 19:14
|- - 3state-systems   Цитата(Сергей Борщ @ Apr 17 2007, 19:44) ...   Apr 18 2007, 10:40
|- - Сергей Борщ   Цитата(3state-systems @ Apr 18 2007, 09...   Apr 18 2007, 18:12
|- - 3state-systems   Цитата(Сергей Борщ @ Apr 18 2007, 18:42) ...   Apr 19 2007, 09:02
- - xemul   По окончании ResetPulse мастер по-любому не должен...   Apr 19 2007, 10:21
|- - 3state-systems   Цитата(xemul @ Apr 19 2007, 10:51) По око...   Apr 19 2007, 16:18
|- - xemul   Цитата(3state-systems @ Apr 19 2007, 16...   Apr 19 2007, 17:15
|- - 3state-systems   Цитата(xemul @ Apr 19 2007, 17:45) ЗЗЫЖ ч...   Apr 19 2007, 17:40
|- - xemul   Цитата(3state-systems @ Apr 19 2007, 17...   Apr 19 2007, 18:18
- - 3state-systems   Так вот что у нас получилось Половина пути уже про...   Apr 24 2007, 21:01
- - Svin62   Граждане! А кто-нить пробовал, вместо таблетки...   Dec 14 2008, 20:27


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

 


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


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