Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
11.02.2010, 15:08
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.04.2009
Сообщений: 5,611
Сказал спасибо: 1,070
Сказали Спасибо 1,273 раз(а) в 884 сообщении(ях)
|
Эмуляция 1-wire лючей DS2405 и DS2408
Уважаемые друзья. Меня интересует возможность эмуляции 1-wire устройств DS2405 и DS 2408. Какую задачу мне хотелось реализовать.
Необходимо , чтобы МК ( AVR ) - на запрос мастера сети давал отклик о состоянии. Включен или выключен. Для примера - у меня есть многопозиционный выключатель света, на АTiny2313, на пару ног выведены сигналы ( 1 или 0) , в зависимости от состояния включателя они меняются. Далее я планировал поставить ключи ( DS2405-08) для отслеживания состояния включателя. Но подумал, что наверно должно существовать решение которое позволит заставить МК отвечать на запросы 1-wire сети стандартным откликом DS2405.? Если подскажете направление , буду очень благодарен.
Отслеживать МК - датчики 1-wire это понятно, а вот можно ли сделать наоборот?
|
|
|
|
11.02.2010, 15:46
|
|
Временная регистрация
Регистрация: 13.10.2009
Сообщений: 81
Сказал спасибо: 2
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
|
Re: Эмуляция 1-wire лючей DS2405 и DS2408
Конечно возможно. Как пример можете посмотреть тот же эмулятор DS1990 - там как раз реализован 1-wire slave. Единственное - программу под Ваши цели Вам придётся скорее всего писать самостоятельно.
|
|
|
|
11.02.2010, 16:18
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.04.2009
Сообщений: 5,611
Сказал спасибо: 1,070
Сказали Спасибо 1,273 раз(а) в 884 сообщении(ях)
|
Re: Эмуляция 1-wire лючей DS2405 и DS2408
Спасибо за ответ. Дело в том что инфу по 1990 , мне так показалось, все источники копируют из журнала Хакер, а там описание очень приближенное и в добавок кусок кода на ассемблере. Опытному человеку , достаточно намека, во всех остальных случаях хотелось бы что то более приближенное к теме.
|
|
|
|
11.02.2010, 19:25
|
|
Временная регистрация
Регистрация: 13.10.2009
Сообщений: 81
Сказал спасибо: 2
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
|
Re: Эмуляция 1-wire лючей DS2405 и DS2408
Вы сообщите пожалуйста - а настоящие устройства от далласа вы использовать будете ? А я вам попозже (сегодня часов в 11-12) постараюсь посоветовать.
|
|
|
|
11.02.2010, 19:34
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,572
Сказал спасибо: 701
Сказали Спасибо 4,336 раз(а) в 1,987 сообщении(ях)
|
Re: Эмуляция 1-wire лючей DS2405 и DS2408
Здесь http://bascom.at.ua/publ/1-1-0-1
и здесь: http://www.mcselec.com/index.php?opt...=256&Itemid=57
описание моей конструкции:
Tiny AVR emulates Dallas DS2450 1-Wire Quad A/D Converter
Изучайте, мб поможет
Последний раз редактировалось Kabron; 11.02.2010 в 19:50.
|
|
|
|
11.02.2010, 20:01
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.04.2009
Сообщений: 5,611
Сказал спасибо: 1,070
Сказали Спасибо 1,273 раз(а) в 884 сообщении(ях)
|
Re: Эмуляция 1-wire лючей DS2405 и DS2408
Сообщение от Classic001
|
Вы сообщите пожалуйста - а настоящие устройства от далласа вы использовать будете ? А я вам попозже (сегодня часов в 11-12) постараюсь посоветовать.
|
Сейчас так - устройство собрано и тестируется. Все очень просто. через ноги МК подключаются DS2405 - получается что то типа сухого контакта - мастер 1-wire фирменный, на сом порт. Компом считываю состояние DS2405 оттуда в базу. Дальше что хочешь. Так вот хочу эти датчики убрать, если есть МК то зачем лишняя рассыпуха. Тем более что они используются только как контрольные, что бы отметить горю, не горю.
|
|
|
|
11.02.2010, 21:20
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.04.2009
Сообщений: 5,611
Сказал спасибо: 1,070
Сказали Спасибо 1,273 раз(а) в 884 сообщении(ях)
|
Re: Эмуляция 1-wire лючей DS2405 и DS2408
Ух ты. Спасибо. Попробую разобратся, опыта честно говоря маловато. Но уже в том направлении.
|
|
|
|
11.02.2010, 21:56
|
|
Временная регистрация
Регистрация: 13.10.2009
Сообщений: 81
Сказал спасибо: 2
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
|
Re: Эмуляция 1-wire лючей DS2405 и DS2408
Разбирайтесь. Как раз подходит под честный Microlan
Хотя есть один трик: использовать одну процедуру и для приёма и для передачи байта через 1-wire.
Цитата:
|
uint8_t slave_xtx(uint8_t data)
{
uint8_t i;
uint8_t result =0;
for(i=0;i‹8;i++)
{
while (PINB & (1 ‹‹ PB0)); // wait for sync pulse begins
if (data & 1) DDRB &= (1 ‹‹ PB0); // set appropriate state of pin
else DDRB |= (1 ‹‹ PB0); // accord least bit state
data ››= 1; // rotate data right
result ››= 1; // rotate result right
__usdelay(30); // delay before pin samplen
if (PINB & (1 ‹‹ PB0)) result |= 0x80; // sample pin state
else result &= ~0x80;
__usdelay(70); // delay to frame end
DDRB &= ~(1 ‹‹ PB0); // release pin
__usdelay(1); // recovery time
}
return (result);
}
|
Для приёма используем:
x = slave_xtx(0xff);
Для передачи:
slave_xtx(x);
Последний раз редактировалось Classic001; 13.02.2010 в 20:58.
|
|
|
Сказали "Спасибо" Classic001
|
|
|
13.02.2010, 02:27
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.04.2009
Сообщений: 5,611
Сказал спасибо: 1,070
Сказали Спасибо 1,273 раз(а) в 884 сообщении(ях)
|
Re: Эмуляция 1-wire лючей DS2405 и DS2408
Интересный BASCOM. Придется разборки разделить на две части - сперва смоделировать в Proteuse что то типа мастера, чтобы читал DS2405, потом попробовать уже смоделировать DS2405. Иначе что то ничего не продвигается.
|
|
|
|
13.02.2010, 02:57
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,572
Сказал спасибо: 701
Сказали Спасибо 4,336 раз(а) в 1,987 сообщении(ях)
|
Re: Эмуляция 1-wire лючей DS2405 и DS2408
Успехов. В Протеусе моделируется один в один с реалом.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:46.
|
|