iButton

Тема в разделе "WASM.ELECTRONICS", создана пользователем creater, 26 сен 2005.

  1. creater

    creater New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2005
    Сообщения:
    16
    Хочу сделать прогу для чтения iButton по протоколу 1-Wire,

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

    Если есть другие предложения пишите. Желательно все предложения на ассамблере.
     
  2. creater

    creater New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2005
    Сообщения:
    16
    Не ужели никто, ничем неможет помоч! Ладно упрощаем задачу, какой API можно сделать задержку в Win32 в ring0 в микросекундах. И вообще как можно сделать аппаратно независимый код для задержки, т.е. чтобы на любой машине задержка была равна определеному значению например 20 мкс.

    Так же возник вопрос при программирование LPT в режиме EPP, как я понял, чтобы считать значения из порта нужно установить 5 бит в порте 37Ah: mov dx,37ah mov al,20h out dx,al, и тогда можно считывать данные из порта 378h. Кстати если прочитать порт 378h без подключенного устройства, то получим FFh ,нельзя ли сделать так чтобы читалась 00h?
     
  3. student200510

    student200510 New Member

    Публикаций:
    0
    Регистрация:
    10 окт 2005
    Сообщения:
    1
    IMXO на PC работать с реальным временем сильно сложно. Проще купить МК AVR за 3$ и с помощью него работаь хоть с сетью 1Wire. Да я еще видел где-то API специально для iButton но сомневаюсь что они работают через LPT скорее через COM
     
  4. creater

    creater New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2005
    Сообщения:
    16
    MK AVR это конечно хорошо, если нужно было бы соброть несколько таких схем, но 1000 штук паять это помоему извращение. COM порт также вещь хорошая, но там надо делать преобразователь логических уровней, так как у iButton лог.0<0.2V, а лог.1>2.2V. Так что на мой взгляд легче подлючить к LPT, так как там ничего почти не надо паять, и только одна заморочка со временем.
     
  5. creater

    creater New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2005
    Сообщения:
    16
    Да кстати неужто нельзя использовать таймер?
     
  6. creater

    creater New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2005
    Сообщения:
    16
    Спасибо всем за помощь, решение найдено, так что можете больше не напрягаться.

    И еще как винда правильно показывает время, если считать, что она не читает смос?
     
  7. black c0de

    black c0de New Member

    Публикаций:
    0
    Регистрация:
    22 янв 2006
    Сообщения:
    10
    Адрес:
    Ukraine
  8. black c0de

    black c0de New Member

    Публикаций:
    0
    Регистрация:
    22 янв 2006
    Сообщения:
    10
    Адрес:
    Ukraine




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

    при работе с Touch Memory тебе понадобятся следующие задержки:

    ; Delay 67 us - For PRESENCE routine

    ; Delay 498 us - For RESET pulse

    ; Delay 2 us - Recovery time etc



    я очень сильно сомневаюсь, что удастся под Windows сделать 2мкс