Эмулятор DS18b20 на ATTiny2313
Мне несколько раз приходилось делать устройства, которые должны были так или иначе реагировать на изменение температуры (а не просто отображать), и пару раз я нарывался на ошибки уже при работе устройства, потому что не достаточно хорошо протестировал работу с температурой при отладке. Поэтому, когда oss попросил меня изобразить волшебную коробочку с кнопками и дисплеем, которая прикидывалась бы градусником, идея пришлась мне по нраву.
Коробочка снабжена индикатором на три разряда, который показывает установленную температуру, двумя кнопками для установки нужного значения и портом 1-wire. Температуру можно выставлять в диапазоне от -55 до +99 градусов. Внутре у ней ATTiny2313.
Так-как задачка полной эмуляции всех фич градусника передо мной не стояла, коробочка обделена многими крутыми штуками. Проще сказать, что она умеет:
— Команду пропуска адреса (Skip ROM)
— Команду чтения адреса (Read ROM)
— … сравнения адреса (Match ROM)
— Чтение памяти (той, где температура)
Иначе говоря, эмулятор покрывает базовый функционал датчика. А вот работать с порогами температуры, командой поиска (Search ROM) и сохранением настроек, он не умеет.
Серийный номер (он-же адрес 1-wire) выставляется при прошивке, и без программатора сменить его нельзя. Это конечно большой минус, но для устройств, в которых всего один термометр, адрес не важен.
Исходники (AVR Studio 4 + WinAVR)
Схема
А под катом, небольшой спич о том, как это работает
Читать дальше
Коробочка снабжена индикатором на три разряда, который показывает установленную температуру, двумя кнопками для установки нужного значения и портом 1-wire. Температуру можно выставлять в диапазоне от -55 до +99 градусов. Внутре у ней ATTiny2313.
Так-как задачка полной эмуляции всех фич градусника передо мной не стояла, коробочка обделена многими крутыми штуками. Проще сказать, что она умеет:
— Команду пропуска адреса (Skip ROM)
— Команду чтения адреса (Read ROM)
— … сравнения адреса (Match ROM)
— Чтение памяти (той, где температура)
Иначе говоря, эмулятор покрывает базовый функционал датчика. А вот работать с порогами температуры, командой поиска (Search ROM) и сохранением настроек, он не умеет.
Серийный номер (он-же адрес 1-wire) выставляется при прошивке, и без программатора сменить его нельзя. Это конечно большой минус, но для устройств, в которых всего один термометр, адрес не важен.
Исходники (AVR Studio 4 + WinAVR)
Схема
А под катом, небольшой спич о том, как это работает
Читать дальше
Эмулятор нажатия клавиш в Win на Com-порту
Недавно понадобилось преобразовывать символы, из COM порта в нажатия клавиш на клавиатуре в Windows. Причем желательно с эмуляцией нажатия Shift для преобразования клавиш в спецсимволы, например вместо 2 надо эмулировать нажатие символа @. Поискал по сети — нужного не обнаружил, либо платное, либо без Shift. Пришлось ваять самому.
Читать дальше
Читать дальше
- +1
- 01 октября 2012, 11:44
- KalyakaMalyaka
- 26
- 2
Эмулятор Panasonic CD Changer с встроенным контроллером IDE ATAPI
Данное устройство разрабатывалось как приставка к авто-магнитоле CQ-RG133W производства Panasonic, подключаемая к штатным разъемам CD-C (CD Changer) на задней стенке магнитолы, позволяющая воспроизводить AudioCD диски на компьютерном приводе CD-ROM с интерфейсом IDE.
Наибольшую сложность вызвал сам протокол обмена информацией между головным (магнитола) и подчиненным (CD чейнджер) устройствами. В инете информации по этому поводу не густо, пара ссылок:
www.mictronics.de/projects/cdc-protocols/#Panasonic
q1.se/cdcemu/
причем описание из первой ссылки ссылается на вторую как на первоисточник, а исходники из второй ссылки, написанные на ассемблере для МК PIC Microchip, немного разнятся с описанием протокола с той же страницы, что первоначально поставило под сомнение работоспособность приведенной прошивки (и в чем я, собственно, и убедился в дальнейшем).
Читать дальше
Наибольшую сложность вызвал сам протокол обмена информацией между головным (магнитола) и подчиненным (CD чейнджер) устройствами. В инете информации по этому поводу не густо, пара ссылок:
www.mictronics.de/projects/cdc-protocols/#Panasonic
q1.se/cdcemu/
причем описание из первой ссылки ссылается на вторую как на первоисточник, а исходники из второй ссылки, написанные на ассемблере для МК PIC Microchip, немного разнятся с описанием протокола с той же страницы, что первоначально поставило под сомнение работоспособность приведенной прошивки (и в чем я, собственно, и убедился в дальнейшем).
Читать дальше