Форум » Для начинающих. » 1wire устройства » Ответить

1wire устройства

filaret111: Всем доброго времени суток! кто сможет помоч с переделкой устройства (схема по ссылке) для пик16ф84а, это устройство работает как ацп-1wire?, т.е. сначало преобразует аналоговый дифиринциальный сигнал в код и уже в ат89с2051 преобразует в 1wire http://zalil.ru/31202987

Ответов - 41, стр: 1 2 All

MAZ: аналоговый дифиринциальный сигнал в код как это сделает 84? 1wire кто главный на линии? На мой взгляд, как то туманно и непонятно. Взять пик с АЦП, преобразовать в код, а кто будет спрашивать у пика, кому передать этот код по 1 Wire. Какая система команд для опроса? Вы знаете, что такое 1 wire?

filaret111: есть система сбора данных, систему команд к сожалению незнаю, но есть прошивки на ат89с2051, возможно ли с ними както разобраться (кто знает как на них проги пишутся)???

Alex: filaret111 пишет: кто знает как на них проги пишутсяДа так-же как и для других МК. Переписать вряд-ли кто возьмётся, а вот написать помогут. Вы определитесь с полным ТЗ, распишите его, начните потихоньку делать и задавать, по ходу дела, вопросы.


filaret111: дело в том что система определяет это устроиство ка "АЦП AD7714" значит если я понимаю правильно в нём есть какойто код устроиства как в DS1820 (т.е. 10)? а можно ли написать программу в пик чтобы работало как и определяло как DS1820???

Alex: Зачастую, правильно заданый вопрос содержит в себе часть ответа. Сформулируйте вопрос нормально. Без обид, из Ваших сообщений ничего не понятно. Приходиться половину догадываться, сидЯ в раздумьях.

Alex: Во вторых. Из чего переделывать ? Догадываться что там внутри у того МК ? Исходника же нет... В третьих. С чего Вы взяли что AD7714 управляется по 1-Wire ? PS: Правка постов не работает на форуме. Шайтан - Админ, разберись

filaret111: есть прошивка т.е. bin-фаил считанный с at89c2051. AD7714 работает по SPI интерфейсу, получается следующее микроконтроллер считывает код с АЦПшки AD7714 (скорее всего както там внутри себя преобразовывает это не главная суть) и передаёт уже по 1wire интерфейсу в систему сбора данных, данные уже из системы сбора передаются на комп и регистрируется в виде графиков. мне самое главное определить код устройства под которым оно определяется, я с авр никогда не связывался поэтому и незнаю как на них писать проги или дизасемблировать и т.д., единственное что имеется это прошивка и схема. просьба не ругайте сильно если чтото не понятно, я пока ещё не большой специалист

filaret111: в общем это получается как датчик типа DS1820 только самодельный на микроконтроллере

Alex: Ну вот, теперь объяснили нормально. Всё стало понятно. Получается устройство общается с внешним миром по 1-wire. А само устройство есть в наличии ? Можно просто пообщаться с ним и узнать его семейство. Обычный опрос серийника, команда - 0x33 (на сколько я помню). Первый байт и будет кодом семейства, остальные - ID.

filaret111: в наличии есть. Alex, если я вам скину прошивку в личку сможете что нибудь определить?

Alex: Можно попробовать в протеусе запустить этот МК, он там есть. Если он без внешних сигналов будет отвечать на стандартные команды, то может что-то и выяснится. Давайте попробуем.... PS: И схему внормальном виде дайте. А то не видно из ДОКа нифига....

Admin: Я так понял, что контроллер выступает в качестве преобразователя интерфейса? По SPI опрашивает АЦП, а по 1Wire передаёт запрашиваемые данные, которые получил по SPI. Если так, то проще написать программу самому.

filaret111: так то оно так, но я же говорю чтобы написать надо знать код устройства, а я незнаю

Sergey Roslik: Alex уже предложил, прослушать устройство. Можно структурную схемку, кто кого опрашивает?

filaret111: есть принципиальная схема устроиства которое опрашивает этот "датчик", структурной к сожалению нет

igor: filaret111 пишет: надо знать код устройства, а я незнаю Я не понял. Под устройством понимается AD7714? Или что то другое?

filaret111: при подключении к системе сбора DS1820 система определяет его как "термометр DS1820", если я подключаю данное устройство (которое мне и нужно сделать на ПИКе) система его определяет как "АЦП AD7714". если я правильно понимаю то происходит обращение к некоему коду семейства (который например у DS1820 - 10h)? я так думаю что и у этого устройства есть какойто код семейства, который и нужно узнать

Алексей: filaret111 пишет: при подключении к системе сбора DS1820 система определяет его как "термометр DS1820", Раз так определяет, так может код устройства совпадает с кодом датчика DS1820??? Кстати, когда мы увидим схему и прошивку?

filaret111: Алексей пишет:Раз так определяет, так может код устройства совпадает с кодом датчика DS1820??? врятли, тогда бы я думаю и это устроиство бы определяло как "термометр DS1820". а схему я выложил click here, могу в личку скинуть вместе с прошивкой, только прошивка в bin-формате

Alex: filaret111 пишет: только прошивка в bin-форматеЯ не смог ничего с этим БИНариком сделать. Куда его засовывать ? filaret111 Вы письмо по этому поводу от меня получили ? Кстати, код семейства мало знать. Ну узнали Вы его, дальше что ? С 1-wire устройством можно общаться и без него. А остальные команды знаете ?

Bigor: Alex пишет: только прошивка в bin-формате Сбросьте bin, конвертирую его в hex

igor: Что то я совсем ничего не понимаю. igor пишет: Под устройством понимается AD7714? Или что то другое? filaret111 пишет: при подключении к системе сбора DS1820 система определяет его как "термометр DS1820", если я подключаю данное устройство (которое мне и нужно сделать на ПИКе) система его определяет как "АЦП AD7714". если я правильно понимаю то происходит обращение к некоему коду семейства (который например у DS1820 - 10h)? я так думаю что и у этого устройства есть какойто код семейства, который и нужно узнать Это ответ на вопрос или мысли вслух? Сначала, нужно досконально разобраться с тем, как работает AD7714. Эта микросхема рассматривается в журнале "компоненты и технологии" №1 1999 и №1 2000

filaret111: под устроиством понимается схема которую я выложил

igor: У AD7714 тоже имеется свой индивидуальный код, поэтому они могут сидеть на одной линии по несколько штук. Опрос производится обращением к конкретному экземпляру. Почитайте статьи в указанных журналах. Там мало мальски понятно расписано.

filaret111: igor пишет:У AD7714 тоже имеется свой индивидуальный код, поэтому они могут сидеть на одной линии по несколько штук. Опрос производится обращением к конкретному экземпляру. Почитайте статьи в указанных журналах. Там мало мальски понятно расписано. а вы схему смотрели? меня интересует не сама ad7714 а то что написано в контроллере относящееся к 1wire а не к ad7714, я так понимаю что контроллер at89c2051 работает как преобразователь интерфейса, ну и то что связано с ad7714? или нет?

igor: 1wire очень легко сделать на любом контроллере. Здесь проблем нет. Протокол расписан во многих источниках и не представляет собой ничего особенного. Если Вам не интересно как работает AD7744, то конечно не стоит забивать себе голову изучением литературы. filaret111 пишет: если я подключаю данное устройство (которое мне и нужно сделать на ПИКе) система его определяет как "АЦП AD7714" Здесь тоже нет проблем. Зашиваем в микроконтроллер нужную информацию и устройство уже определяется как космический корабль Челенджер, или малая сапёрная лопата.

filaret111: не как Челенджер или как сапёрная лопата мне нендо иначе система увидит его как "неизвестное устройство", DS18B20 определяет так, потому что у неё код семейства 28h, которая видимо не прописана в программе самой системы сбора

filaret111: а с AD7714 я вроде разобрался теоритически, но на практике ещё не пробовал

igor: Так я же и говорю, что видимо, микроконтроллер сначала спрашивает AD7714, как его зовут. А потом, эту информацию передаёт по 1wire.

filaret111: а это версия

MAZ: igor пишет: А потом, эту информацию передаёт по 1wire. Устройство 1 wire может передать только по запросу управляющего контроллера. Если приведенная схема это и есть такое устройство, то кто-то должен его опрашивать, тогда оно и передаст информацию. А так, как оно передаст? Где начало, где конец передачи, куда и кому передавать, подтверждение и т.д..

filaret111: есть и устроиство с управляющим контроллером, оно уже в системе сбора на пик16ф877 собрано, к нему можно подключить до 8 таких 1wireустройств

igor: MAZ пишет: Устройство 1 wire может передать только по запросу управляющего контроллера. Это и так понятно, что есть управляющее устройство. Иначе зачем 1-wire? Понятно также, что на этой линии сидит много устройств. В принципе, управляющим устройством может быть любое из них.

filaret111: igor пишет: Понятно также, что на этой линии сидит много устройств. на каждой линии сидит по одному устройству

MAZ: Тогда надо разобраться, что 877 передает. А по нему уже и команды и ответ на них будет понятен

filaret111: для взлома я ещё зелёный

Alex: И всё таки, я бы не отказался от hex'a. А так, только переливание из пустого в порожнее (или как там говорится )....

Bigor: Alex пишет: И всё таки, я бы не отказался от hex'a. Для Alexа и filaret111: "Вы hex'ов хотите - их есть у меня!" Конвертировал присланное от filaret111: http://zalil.ru/31231180 Проверьте, вроде не ошибся с объемом 2 кб.

Alex: Игорь, спасибо ! Попробуем поковырять

Alex: Попробовал прикрутить. На ресет устройство отвечает, но команду чтения ROM (0x33) игнорирует, на поиск устройств не отвечает... Мне кажется там какие-нибудь свои команды, которые необходимо знать.



полная версия страницы