(EPROM) 12 В и мощную подтяжку к 5 В
для микросхем ЭСППЗУ (EEPROM), датчиков
и криптографических iButton®
Осуществляет формирование временных интервалов
1Wire (с управляемой скоростью нарастания/спада
напряжения) и активную подтяжку вверх
(к напряжению питания) для согласования длинных
линий сети 1Wire и уменьшения излучения
Программируемые временные параметры шины 1Wire
и характеристики драйвера обеспечивают согласование
при различных конфигурациях сети 1Wire
Имеются как низкоуровневые, так и высокоуровневые
команды, включая макросы, для осуществления обмена
данными по шине 1Wire
Задающий генератор на кварцевом резонаторе
обеспечивает точную синхронизацию сигналов 1Wire
Высокоскоростной 12Мбит/с интерфейс
универсальной последовательной шины (Universal
Serial Bus — USB)
Встроенный USBсовместимый приемопередатчик
Обеспечивает удаленное пробуждение (remote wakeup)
по шине USB для возобновления работы
приостановленной хостсистемы при появлении
сигнала от прибора 1Wire
Диапазон рабочих температур от 0 до +70°C
НАЗНАЧЕНИЕ ВЫВОДОВ
24выводной SO
(300 mil)
Вид сверху
PMOD
NC
NC
NC
SUSO
NC
1WIRE
NC
GND
V
D–
D+
1
2
3
4
5
B
6
7
8
9
10
11
12
Корпус FlipChip, вид сверху
A4NCB4C4D4
NCSUSO\D–
A3B3E3
4.4 мм
A2C2
A1
NC
C3
V
B
B2
V
NCNC
D
B1
NC
D1
C1
XO
XI
7.1 мм
GND
D+PMODNC
NC
V
E4
E2
E1
PP
24
23
22
21
20
19
18
17
16
15
14
13
V
D
NC
NC
NC
XO
XI
NC
V
PP
NC
NC
NC
NC
F4
G4
NC
NC
F3
G3
1W
NC
F2
G2
NC
NC
F1
G1
NC
NC
ИНФОРМАЦИЯ ДЛЯ ЗАКАЗА
НаименованиеКорпус
DS2490S24выводной корпус SO
DS2490S/T&RПоставка DS2490S на ленте в бобине
DS2490XКорпус FlipChip, поставка на ленте в бобине
1Wire и iButton являются зарегистрированными торговыми марками Dallas Semiconductor.
1 из 49
DS2490
ОПИСАНИЕ
Микросхема DS2490 представляет собой мост, который позволяет осуществлять обмен данными
между хостсистемой USB и шиной 1Wire. Микросхема обеспечивает обычную, повышенную и гиб
кую скорости обмена данными по шине 1Wire и подключение к шине USB в полноскоростном
(fullspeed) режиме 12 Мбит/с. Введенные производителем специальные команды USB, определяемые
в настоящей спецификации, используются для управления микросхемой DS2490 и обмена данными с
подключенными приборами 1Wire. Функциональная блоксхема DS2490 приведена на Рис. 1.
Таблица 1. Краткое описание выводов
Обозначе
ние вывода
V
D
V
PP
V
B
D+Вход/выходДанные USB — неинвертированный сигнал дифференциальной двухпро
D–Вход/выходДанные USB — инвертированный сигнал дифференциальной двухпровод
1WIREВход/выходВход/выход линии 1Wire
PMODВходЗарезервирован для будущих применений. Должен быть подключен к выво
SUSO
XIВходВход для подключения кварцевого резонатора. Используется кристалл с па
XOВыходВыход для подключения кварцевого резонатора. Подключается к другому
GNDПитаниеОбщая земля и общий провод шины 1Wire
NCВыводы не подключаются. Используются в процессе производства или заре
ТипФун кци я
ПитаниеВход напряжения питания для цифровой части микросхемы и поддержки
функций 1Wire. Диапазон: 5.0 В ± 10%
ПитаниеВход напряжения питания +12 В для программирования СППЗУ 1Wire.
Диапазон: 12 ± 0.25 В
ПитаниеВход напряжения питания для поддержки функций USB. Диапазон:
3.3 В ± 10%; стабилизированное напряжение, поступающее с линии VBUS
шины USB
водной линии данных
ной линии данных
ду GND
ВыходВыход приостановки — буферизованный выход USBконтроллера микро
схемы, предназначенный для управления состоянием приостановки по ши
не USB. При ВЫСОКОМ уровне сигнала шина USB находится в активном
(не приостановленном) состоянии. При НИЗКОМ уровне сигнала шина
USB переходит в состояние приостановки. Это выход с открытым стоком и
требует подключения внешней схемы подтяжки
раллельным срезом, работающий на основной частоте 12 МГц. Может также
использоваться КМОПгенератор тактового сигнала с частотой 12 МГц
выводу резонатора (в том случае, если используется кварцевый резонатор)
зервированы
ОСНОВНЫЕ ДОКУМЕНТЫ
Данная спецификация основывается или соответствует документу «Universal Serial Bus Specification
v.1.1» («Спецификация на универсальную последовательную шину, версия 1.1»), а также использует
терминологию из него. Этот документ можно найти на Webсайте форума разработчиков USB:
www.usb.org
росхемы DS2490.
. Подразумевается, что спецификация USB является составной частью спецификации мик
2 из 49
DS2490
СТРУКТУРА ДОКУМЕНТА
Далее в этом документе имеются следующие основные разделы:
РазделКраткое описание
ОБЗОРКраткое описание функциональных возможностей прибора
и примеры применения
КОНТРОЛЛЕР ИНТЕРФЕЙСА 1WIREУправление фронтами и временные диаграммы сигналов 1Wire
ОБМЕН ДАННЫМИ ПО ШИНЕ USBКраткие описания модели конфигурации, ядра и специальных
команд, введенных производителем
КОМАНДЫ РЕЖИМАКоманды, используемые для конфигурирования рабочих
параметров интерфейса 1Wire
КОМАНДЫ УПРАВЛЕНИЯКоманды, используемые для управления обработкой команд
обмена данными 1Wire
КОМАНДЫ ОБМЕНА ДАННЫМИКоманды, используемые для обмена данными с подключенным
прибором 1Wire
ОБРАТНАЯ СВЯЗЬ С ПРИБОРОММетод получения информации о состоянии прибора
ПРИЕМОПЕРЕДАТЧИК USBТребования к подключению приемопередатчика
ВЫХОД ПРИОСТАНОВКИДействие и назначение сигнала SUSO
ГЕНЕРАТОРТребования к подключению генератора
ЭЛЕКТРИЧЕСКИЕ ХАРАКТЕРИСТИКИСтатические и динамические электрические характеристики
РЕКОМЕНДАЦИИ ПО ПРИМЕНЕНИЮПример аппаратного решения
ПРИЛОЖЕНИЕ 1Команды Управления — коды установочного пакета USB
ПРИЛОЖЕНИЕ 2Команды Обмена данными — коды установочного пакета USB
ПРИЛОЖЕНИЕ 3Команды Режима — коды установочного пакета USB
ПРИЛОЖЕНИЕ 4Коды команд USB и типов команд
ОБЗОР
Микросхема DS2490 осуществляет непосредственное соединение порта USB с шиной 1Wire. Как
показано на Рис. 1, в состав DS2490 входит физический интерфейс USB, контроллер USB, дополнен
ный специальным ядром для поддержки функций 1Wire, и контроллер интерфейса шины 1Wire. Кон
троллер интерфейса 1Wire формирует фронты сигналов 1Wire, осуществляет подачу импульсов про
граммирования или мощную подтяжку к 5 В, а также считывает состояние шины 1Wire, используя по
рог, отличный от уровня ТТЛлогики, что повышает помехозащищенность при работе больших сетей
1Wire. Благодаря кварцевому генератору обеспечивается точное управление временными параметрами
сигналов 1Wire.
Микросхема DS2490 также поддерживает удаленное пробуждение по шине USB, что позволяет пе
риферийному устройству USB, построенному на базе DS2490, посылать приостановленной хостсисте
ме сигнал о возобновлении работы. Если удаленное пробуждение включено и хостсистема находится в
состоянии приостановки, то при подключении прибора 1Wire микросхема DS2490 выведет хостсисте
му из состояния приостановки и обеспечит возможность обслуживания прибора 1Wire.
3 из 49
Рис. 1. Функциональная блоксхема DS2490
DS2490
SUSO
D+
D–
Приемопе
редатчик
USB
V
B
ПЗУ
дескриптора
USB
Контроллер
USB
Управление
питанием
V
D
USBядро
поддержки
функций
1Wire
OSC
XI
XO
FIFO
конечных
точек
Тактовый
генератор
GND
Контроллер
интерфейса
1Wire
V
PP
1WIRE
На Рис. 2 (a…c) показаны типичные примеры использования микросхемы DS2490. Из приведенных
примеров видно, что обмен данными и передача команд управления между хостом и прибором осу
ществляется по линии передачи данных USB. Набор введенных производителем специальных команд
USB, как описывается в данном документе, используется для выбора рабочих режимов (Команды Ре
жима), обработки команд управления (Команды Управления) и осуществления обмена данными через
интерфейс 1Wire (Команды Обмена данными). Пример (a), приведенный на Рис. 2, — это периферий
ное устройство USB на базе микросхемы DS2490. Периферийное устройство представляет собой адап
тер USB — 1Wire, к которому подключаются входы/выходы как шины USB, так и шины 1Wire. В этом
примере периферийное устройство подключается к хосткомпьютеру USB либо непосредственно к ба
зовому порту, либо через концентратор, или хаб (hub) USB. Интерфейс шины 1Wire, имеющийся в
микросхеме DS2490, поддерживает все приборы 1Wire, производимые фирмой Dallas Semiconductor, а
также различные топологии шины 1Wire — от простой многоточечной до сложной разветвленной сети
1Wire. Примеры (b) и (c), приведенные на Рис. 2, являются вариантами схемы (a), в которых микросхе
ма DS2490 встраивается в хосткомпьютер или в хаб USB.
Рис. 2. Примеры использования микросхемы DS2490
Хосткомпьютер
с портом USB
Хосткомпьютер
с портом USB
DS2490
(b) DS2490 встроена в хост
Шина 1Wire
Порты USB
Кабель USB
Хаб
USB
Считывающее
Адаптер
USB — 1Wire
DS2490
(a) Внешний адаптер USB — 1Wire
Хосткомпьютер
с портом USB
Шина 1Wire
Прибор
1Wire
Кабель USB
(c) DS2490 встроена в хаб USB
4 из 49
устройство
BLUEDOT
Прибор
1Wire
Хаб USB
Контроллер
хаба USB
DS2490
Прибор
1Wire
Нисходящие
порты USB
Шина 1Wire
DS2490
КОНТРОЛЛЕР ИНТЕРФЕЙСА 1WIRE
Все команды обмена данными по шине 1Wire, посылаемые микросхеме DS2490, обрабатываются
контроллером интерфейса 1Wire. Одной из задач контроллера интерфейса является активное форми
рование фронтов сигналов обмена данными по шине 1Wire. Это ускоряет изменение состояния шины
1Wire (нарастающие фронты) и уменьшает «звон» на длинных линиях (падающие фронты). Схема,
формирующая нарастающие фронты, всегда находится в активном состоянии. Активное управление
скоростью спада фронтов осуществляется только при работе на гибкой скорости (при этом значение
параметра, определяющего эту скорость, должно отличаться от значения по умолчанию, устанавливаю
щегося после подачи питания). Управление параметрами и их значения по умолчанию описываются в
разделе «Команды Режима».
Нарастающие фронты
Активная подтяжка нарастающих фронтов значительно уменьшает время нарастания напряжения
на шине 1Wire по сравнению с простой резистивной подтяжкой. На Рис. 3 показано, как микросхема
DS2490 осуществляет формирование нарастающего фронта.
Рис. 3. Активная подтяжка
t
APUOT
5 B
V
IAPTO
V
IAPO
0 В
Шина 1Wire
подтянута
вниз
t
1
t
2t3
Схема работает следующим образом. В момент времени t1 подтяжка к общему проводу (осуществля
емая микросхемой DS2490 или другим прибором на шине) прекращается. С этого момента шина 1Wire
подтягивается вверх небольшим током подтяжки I
WEAKPU
, обеспечиваемым микросхемой DS2490. Ско
рость нарастания напряжения (крутизна фронта) определяется нагрузкой на шине и величиной тока
подтяжки. В момент времени t
ма DS2490 переключается со слабого тока подтяжки I
напряжение переходит пороговое значение V
2
WEAKPU
на больший ток I
пряжение на шине начинает нарастать быстрее. Когда в момент t
говое значение V
I
. После остановки таймера микросхема DS2490 снова переключится на ток слабой подтяжки.
ACTP U
, начинает работать таймер. Пока таймер включен (t
IAPTO
напряжение на шине превысит поро
3
, после чего микросхе
IAPO
. Как следствие, на
ACTP U
), продолжает течь ток
APUOT
Падающие фронты, формируемые микросхемой DS2490
Всякий раз, когда микросхема DS2490 начинает понижать уровень на шине 1Wire (например, для
инициирования временного интервала), она прежде всего выключает ток слабой подтяжки к 5 В
(I
WEAKPU
падающий фронт при скорости спада, номинально составляющей 15 В/мкс. Такая скорость вполне
приемлема для коротких шин 1Wire и является адекватной для обмена данными в режиме повышен
ной скорости. В сетях 1Wire, имеющих длину более 30 м, всегда должна использоваться гибкая ско
рость. При использовании гибкой скорости одним из регулируемых параметров является скорость спа
да фронтов, инициированных микросхемой DS2490. Результат управления скоростью спада показан на
Рис. 4.
). После чего при работе на обычной и повышенной скоростях микросхема DS2490 формирует
5 из 49
Рис. 4. Управление скоростью спада
DS2490
Для длинных
линий:
4 ± 0.5 мкс
Низкая скорость
спада
5 В
Высокая скорость
спада
0.8 В
0 В
Шина 1Wire
подтянута вверх
t
F
Слабая подтяжка
вверх закончилась,
t
1
начинается
подтяжка вниз
Как показали всесторонние испытания, при длине до 300 м сеть 1Wire будет работать лучше, если
время спада t
находится в диапазоне 4 ± 0.5 мкс. Это соответствует скорости спада приблизительно
F
1 В/мкс. Такая скорость обычно получается путем выбора кода 0x4 для значения параметра «Скорость
спада при подтяжке вниз» (PULLDOWN SLEW RATE) (см. раздел «Команды Режима»). Если реально
измеренное время спада больше, чем желаемое значение, необходимо использовать код 0x3 или ниже.
Если же время спада меньше, следует использовать код 0x5 или выше.
После определения код значения для параметра «Скорость спада при подтяжке вниз» следует сохра
нить в памяти хоста и всегда загружать в DS2490 после включения питания или после цикла сброса,
инициируемого мастером.
ВРЕМЕННЫЕ ДИАГРАММЫ 1WIRE
В этом разделе подробно описаны сигналы, генерируемые микросхемой DS2490 на шине 1Wire.
Сначала рассматриваются такие сигналы обмена данными, как последовательность сброса/обнаруже
ния присутствия и временные интервалы чтения/записи данных. После этого подробно описывается
выполнение функции Импульс (PULSE) при различных условиях.
Сигналы обмена данными по шине 1Wire
Одной из главных особенностей микросхемы DS2490 является то, что она освобождает хост от необ
ходимости формирования временных соотношений сигналов 1Wire и считывания (выборки) шины
1Wire в соответствующие моменты времени. Последовательность сброса/обнаружения присутствия
показана на Рис. 5. Эта последовательность состоит из четырех временных отрезков: интервала НИЗ
КОГО уровня импульса сброса t
кание/прерывание t
задержки t
сброса t
RSTH
. Временные отрезки tSI, t
FILL
, во время которого ведомые приборы 1Wire выдают свои импульсы присутствия или пре
, времени сдвига момента выборки для обнаружения присутствия t
SI
рывания. В течение этого временного интервала DS2490 подтягивает шину 1Wire к ВЫСОКОМУ уров
ню током слабой подтяжки.
Временные параметры последовательности сброса/обнаружения присутствия показаны на Рис. 5.
Значения всех временных отрезков для всех возможных скоростей шины 1Wire приведены ниже в таб
лице. Поскольку последовательность сброса/присутствия по длительности значительно превышает
временные интервалы, значения ее временных параметров для обычной и гибкой скорости одинаковы.
Все фронты сигналов на шине управляются микросхемой DS2490, за исключением падающего фронта
импульса присутствия. Форма этого неуправляемого фронта зависит от емкости шины 1Wire, а также
от количества, скорости и потребления энергии подключенных к шине ведомых приборов.
, времени сдвига момента выборки для проверки на короткое замы
RSTL
и времени
PDT
PDT
и t
составляют интервал ВЫСОКОГО уровня импульса
FILL
6 из 49
Рис. 5. Сброс/Обнаружение присутствия
Последовательность сброса/присутствия
t
5 B
0 B
RSTL
Неуправляемый
падающий фронт
t
SI
Проверка на короткое
замыкание и/или
на прерывание
НОМИНАЛЬНЫЕ ЗНАЧЕНИЯ ВРЕМЕННЫХ ПАРАМЕТРОВ
t
RSTH
Импульс
присутствия
t
PDT
t
FILL
Проверка присутствия
DS2490
Следующий
временной
интервал
Скорость
Обычная
Повышенная
Ги б к а я
t
RSTL
512 мкс8 мкс64 мкс512 мкс584 мкс
64 мкс2 мкс8 мкс64 мкс74 мкс
512 мкс8 мкс64 мкс512 мкс584 мкс
t
SI
t
PDT
t
FILL
t
RSTH
После выполнения команды Сброс шины 1Wire (1WIRE RESET) (см. раздел «Команды Обмена
данными») микросхема DS2490 сначала переводит шину 1Wire в состояние НИЗКОГО уровня на вре
мя t
чение времени сдвига момента выборки для проверки на короткое замыкание/прерывание t
, а затем отпускает ее (уровень снова повышается до 5 В). После этого микросхема ожидает в те
RSTL
SI
и затем
проверяет уровень напряжения на шине 1Wire, чтобы определить, нет ли на шине короткого замыка
ния или сигнала прерывания. Если нет ни короткого замыкания, ни прерывания, микросхема DS2490
выдерживает паузу длительностью t
и проверяет уровень напряжения на шине 1Wire, чтобы опреде
PDT
лить наличие импульса присутствия. Независимо от результата последней проверки, DS2490 ждет
окончания интервала t
, а затем в зависимости от значений встроенных битов PST, NTF и ICP ко
FILL
манды 1WIRE RESET генерирует байт ответа на команду, который посылается хосту.
Если при проверке на наличие короткого замыкания или сигнала прерывания на линии был обнару
жен логический 0, то микросхема DS2490 ждет в течение 4096 мкс, после чего снова проверяет состоя
ние шины 1Wire. При повторном обнаружении логического 0 принимается решение о наличии корот
кого замыкания на шине 1Wire и в ответе микросхемы DS2490 на команду обмена данными 1WIRE
RESET будет указано на наличие короткого замыкания. Если на линии обнаруживается логическая 1,
то микросхема ждет окончания интервала t
, после чего устанавливает значение в ответе на команду
FILL
1WIRE RESET, соответствующее наличию сигнального импульса присутствия. Для более подробной
информации см. раздел «Обратная связь с прибором». Никаких дополнительных проверок на наличие
импульса присутствия не производится. Несмотря на то что сигнализация прерывания определена
только для режима работы на обычной скорости, микросхема DS2490 осуществляет описанную проце
дуру проверки на наличие короткого замыкания/прерывания также и при работе на повышенной ско
рости.
Как показано на Рис. 6, временной интервал записи 1 и чтения данных состоит из трех временных
отрезков: t
тервала НИЗКОГО уровня (t
сдвига момента выборки данных t
считывания ответа. Время ожидания t
LOW1
, t
DSO
и t
. При формировании временных интервалов записи 1 после окончания ин
HIGH1
) микросхема DS2490 находится в режиме ожидания в течение времени
LOW1
, а затем осуществляет выборку напряжения на шине 1Wire для
DSO
(после считывания) должно закончиться прежде, чем будет
HIGH1
завершен временной интервал. Временной интервал записи 0, как показано на Рис. 7, состоит только
из двух частей: t
LOW0
и t
REC0
.
Если сеть большая или сильно нагруженная, следует выбрать гибкую скорость и увеличить длитель
ность интервала НИЗКОГО уровня при записи 1 (t
) до 8 мкс и более, чтобы гарантировать переход
LOW1
шины 1Wire в состояние НИЗКОГО уровня. Поскольку большой или сильно нагруженной сети требу
7 из 49
DS2490
ется больше времени для изменения своего состояния, рекомендуется также задержать момент выбор
ки шины для считывания. Увеличение значения параметра «Время сдвига момента выборки данных»
) позволяет повысить уровень напряжения, а также обеспечить дополнительной энергией ведомые
(t
DSO
приборы при последовательном формировании большого числа временных интервалов записи 0. Одна
ко общая длительность t
LOW1
+ t
не должна превышать значения 22 мкс. В противном случае отвеча
DSO
ющий ведомый прибор может быть остановлен во время подтяжки линии к НИЗКОМУ уровню при пе
редаче логического 0.
Рис. 6. Временной интервал записи 1 и чтения данных
5 B
0 B
t
LOW1
Длительность временного интервала t
t
DSO
Выборка
t
HIGH1
SLOT
НОМИНАЛЬНЫЕ ЗНАЧЕНИЯ ВРЕМЕННЫХ ПАРАМЕТРОВ
Скорость
Обычная
Повышенная
Ги б к а я *
t
LOW1
8 мкс6 мкс54 мкс68 мкс
1 мкс1 мкс8 мкс10 мкс
8…15 мкс3…10 мкс54 мкс65…79 мкс
* Значения по умолчанию после подачи питания для гибкой скорости: t
t
DSO
t
HIGH1
Рис. 7. Временной интервал записи 0
5 B
0 B
Длительность временного интервала t
t
LOW0
SLOT
t
REC0
LOW1
Следующий
временной
интервал
t
SLOT
=12мкс, t
Следующий
временной
интервал
DSO
=7мкс.
НОМИНАЛЬНЫЕ ЗНАЧЕНИЯ ВРЕМЕННЫХ ПАРАМЕТРОВ
Скорость
Обычная
Повышенная
Ги б к а я *
t
LOW0
62 мкс6 мкс68 мкс
7 мкс3 мкс10 мкс
62 мкс3…10 мкс65…72 мкс
* Значения по умолчанию после подачи питания для гибкой скорости: t
t
REC0
t
SLOT
REC0
=7мкс.
Импульсные сигналы
Команда обмена данными Импульс (PULSE) может использоваться для формирования мощной
подтяжки к 5 В либо для генерирования импульса программирования 12 В. Длительность указанных
импульсов определяется содержимым регистров режима STRONG PULLUP DURATION (длитель
ность мощной подтяжки) и PROG PULSE DURATION (длительность импульса программирования)
соответственно. Временные диаграммы для этих двух типов импульсов приведены на Рис. 8 и 9. Для
импульсов, имеющих предопределенную длительность, значения параметров t
импульсов неопределенной длительности значения временных параметров этих импульсов изменяют
8 из 49
и tPP известны, а для
SPU
DS2490
ся в зависимости от параметров подключенных приборов 1Wire и/или от действий процессора хоста.
Более подробно временные параметры рассмотрены в разделе «Команды Режима». Обработка команды
PULSE осуществляется одинаково, независимо от типа формируемого импульса (мощная подтяжка
или импульс программирования). Как показано на рисунках, обработка команды PULSE начинается в
момент времени t
, а в момент времени t2 формирование импульса завершается.
1
Для программирования СППЗУ к шине 1Wire должен быть подключен только один ведомый при
бор, при этом длина кабеля между микросхемой DS2490 и прибором СППЗУ должна быть как можно
меньше (не более нескольких метров). Скорость нарастания и спада фронтов импульса программиро
вания («крутизна») активно управляется микросхемой DS2490, как показано на Рис. 9. Не следует гене
рировать импульс программирования при наличии на шине приборов, не являющихся СППЗУ; это мо
жет привести к выходу из строя как данного прибора, так и самой микросхемы DS2490. Добавим также,
что корректный импульс программирования может быть сгенерирован только в том случае, если на вы
вод V
микросхемы DS2490 поступает напряжение программирования 12 В.
PP
В некоторых приложениях может потребоваться такая длительность мощной подтяжки или импуль
са программирования, которую нельзя получить, используя предопределенные значения (эти значения
приведены в разделе «Команды Режима»). Выбор неопределенной длительности позволяет хосту гене
рировать импульсы любой длительности. Однако в таком случае хост должен сам активно управлять
длительностью импульса. Если хост по какойлибо причине не может завершить импульс, то микросхе
ме DS2490 может потребоваться сброс по питанию или цикл сброса, инициируемый мастером. Поэто
му неопределенная длительность должна использоваться, только если это совершенно необходимо.
Для завершения импульса неопределенной длительности используются команды Управления HALT
EXECUTION WHEN DONE или HALT EXECUTION WHEN IDLE. Как и в предыдущем случае, обра
ботка команды осуществляется одинаково, независимо от того, используется ли она для формирования
мощной подтяжки или импульса программирования.
Рис. 8. Мощная подтяжка к 5 В, предопределенная длительность
Обмен данными с микросхемой DS2490 осуществляется с помощью стандартных USBзапросов, на
зываемых также в настоящем документе «командами ядра», или просто «запросами», а также введен
ных производителем специальных команд USB, предназначенных исключительно для DS2490. Переда
ча всех команд обмена данными осуществляется по использующемуся по умолчанию каналу управле
ния (default control pipe). Передача остальных данных, не имеющих отношения к командам (входные/
выходные данные прибора 1Wire и информация о состоянии микросхемы DS2490), осуществляется
способом, установленным производителем, по каналу передачи массивов данных (bulk pipe) и каналу
прерываний (interrupt pipe). Конфигурация USBконтроллера микросхемы DS2490 приведена на
Рис. 10. Как показано на рисунке, введенный производителем встроенный прибор 1Wire имеет один
интерфейс шины 1Wire. Реализация и управление введенными производителем специальными коман
дами USB для поддержки функций 1Wire микросхемы DS2490 будет осуществляться драйвером прибо
ра на уровне прибора (device level) в соответствии с иерархией классов прибора, то есть введенные про
изводителем специальные команды будут передаваться на уровень прибора. Интерфейс 1Wire содер
жит 4 конечные точки (endpoint), предназначенные для управления и обмена данными с прибором.
Существуют четыре альтернативные установки интерфейса 1Wire, соответствующие различным режи
мам работы для конечных точек. Краткие описания конечных точек и интерфейса приведены в следую
щих параграфах.
Микросхема DS2490 обеспечивает возможность удаленного пробуждения по шине USB. Согласно
спецификации USB, если прибор поддерживает функцию удаленного пробуждения, то он должен обес
печивать также возможность включения или отключения данной функции. Кроме того, функция уда
ленного пробуждения должна отключаться по умолчанию при подаче питания или после сброса прибо
ра. Если функция удаленного пробуждения включена, то при обнаружении подключения прибора
1Wire микросхема DS2490 пошлет по шине USB приостановленной хостсистеме сигнал о возобновле
нии работы. После этого программное обеспечение хостсистемы должно возобновить работу и опре
делить, какое именно обслуживание требуется для данного прибора 1Wire.
Рис. 10. Конфигурация USB
ХОСТ USB
СИСТЕМНОЕ ПО
КЛИЕНТ
1WIRE
Канал,
используемый
по умолчанию
Канал прерываний
Канал передачи
массивов данных
Канал передачи
массивов данных
ФИЗИЧЕСКИЙ
ИНТЕРФЕЙС USB
ПРИБОР 1WIRE — USB DS2490
ИНТЕРФЕЙС 1WIRE
НУМЕРАЦИЯ USBУСТРОЙСТВ
УПРАВЛЕНИЕ USB
РЕЖИМ 1WIRE
EP0
УПРАВЛЕНИЕ 1WIRE
ОБМЕН ДАННЫМИ 1WIRE
ОБНАРУЖЕНИЕ КАСАНИЯ
EP1
СОСТОЯНИЕ ПРИБОРА
EP2
ВВОД/ВЫВОД
ДАННЫХ
1WIRE
EP3
Краткое описание конечных точек (EP)
EP0 является конечной точкой для двунаправленного канала управления, используемого по умолча
нию. Она используется при нумерации (enumeration) USBустройств, а также для передачи запросов
ядра USB и всех специальных команд обмена данными микросхемы DS2490.
10 из 49
DS2490
EP1 является конечной точкой для канала прерываний (от прибора к хосту) и используется для пере
дачи хосту данных регистра состояния и информации о завершении выполнения специальных команд
микросхемы DS2490 и/или об ошибках. Эта конечная точка также используется для информирования
хоста об обнаружении подключения прибора 1Wire. Требуемый период опроса для EP1 составляет ли
бо 10 мс, либо 1 мс, в зависимости от альтернативной установки интерфейса 1Wire. По умолчанию пе
риод опроса для EP1 устанавливается равным 10 мс.
EP2 является конечной точкой для канала вывода массивов данных (данные от хоста) и используется
для передачи данных прибора 1Wire от хоста к микросхеме DS2490. Информация, принятая в этой ко
нечной точке, будет передана в виде данных по шине 1Wire.
EP3 является конечной точкой для канала ввода массивов данных (данные к хосту) и используется
для передачи данных, полученных микросхемой DS2490 с шины 1Wire, обратно хосту для обработки.
Краткое описание интерфейса 1Wire
Интерфейс представляет собой точку USB, объединяющую четыре конечных точки. Для интерфейса
1Wire имеются 4 альтернативные установки, которые соответствуют различным режимам работы для
каналов, связанных с конечными точками EP1, EP2 и EP3. Как видно из Табл. 2, альтернативные уста
новки определяют различные периоды опроса для канала прерываний и различные максимальные раз
меры пакетов для двух каналов передачи массивов данных.
Таблица 2. Альтернативные установки интерфейса 1Wire
Ус т а н о в к а
010 мс16 байтБольшой интервал между опросами прерываний, маленький раз
110 мс64 байтБольшой интервал между опросами прерываний, большой размер
21 мс16 байтКороткий интервал между опросами прерываний, маленький раз
31 мс64 байтКороткий интервал между опросами прерываний, большой размер
1. Для запроса SET_CONFIGURATION допустимыми являются только два значения конфигурации: 0 и 1. Зна
чение 0 соответствует несконфигурированному состоянию.
2. Для запроса GET_DESCRIPTOR поддерживаются только два типа дескрипторов: DEVICE и
CONFIGURATION.
3. Единственным допустимым значением интерфейса для микросхемы DS2490 является Интерфейс 0.
4. Единственным допустимым параметром при выборе функции для этой команды является
DEVICE_REMOTE_WAKEUP.
5. Подразумевается, что микросхема DS2490 хотя бы частично получает питание от шины. Удаленное пробужде
ние может быть включено или отключено. При ответе на запросы GET_STATUS, направленные прибору, в по
ле бита наличия собственного источника питания будет возвращен логический 0, а в бите удаленного пробуж
дения — значение текущего состояния.
6. В спецификации USB версии 1.1 информация о состоянии на уровне ядра USB для интерфейсов не определе
на. Микросхема DS2490 всегда будет возвращать значение данных 0 в ответ на запросы GET_STATUS, обра
щенные к интерфейсам.
5, 6
Специальные команды USB, введенные производителем для DS2490
Для управления и обмена данными с микросхемой DS2490 предусмотрены введенные производите
лем специальные команды трех различных типов: команды Управления, команды Обмена данными и
команды Режима. Команды Управления используются для управления различными функциями прибо
ра, включая обработку команд обмена данными, очистку буфера и программный сброс. Команды Об
мена данными используются для ввода/вывода команд и данных 1Wire. Команды Режима используют
ся для установки рабочих параметров 1Wire микросхемы DS2490, таких как скорость нарастания/спада
напряжения, длительность интервала НИЗКОГО уровня, мощная подтяжка и т.д. Команды Управле
ния, Обмена данными и Режима, так же как и запросы ядра USB, передаются по использующемуся по
умолчанию каналу управления через конечную точку EP0. За единственным исключением, которое от
мечено ниже в примечаниях, каждая команда и любые, связанные с ней данные параметров, объединя
ются отдельно в 8байтный установочный пакет управляющей посылки (control transfer setup packet),
имеющий следующий формат:
bmRequestTypebRequestwValuewIndexwLength
Битовое поле типа запроса
(1 байт)
Примечания:
1. Формат поля wValue отличается от описанного только для команды Обмена данными READ STRAIGHT. Для
передачи параметров этой команды требуется три байта, что превышает 2байтный размер поля wIndex, пре
дусмотренный для кода параметров. Поэтому только для этой команды поле wValue будет иметь следующий
формат: один байт команды и один байт параметра. Подробнее см. описание команды в Приложении 2.
Тип команды
(1 байт)
Команда
(2 байта)
см. Прим. 1
Параметры команды
(2 байта)
(2 байта)
см. Прим. 2
12 из 49
DS2490
2. Поле wLength используется командой Управления GET COMM CMDS для указания числа байтов команды/
параметров, которое следует считать из FIFOбуфера команд микросхемы DS2490; подробнее см. описание
команды. Во всех остальных случаях поле wLength не используется, и в этом поле должно быть установлено
значение 0x0000.
Битовое поле bmRequestType определяет параметры команды USB в соответствии с Главой 9 Специ
фикации USB. В полях этой команды указывается направление передачи, тип запроса (ядра, класса или
введенный производителем) и адресат команды (прибор, интерфейс или конечная точка). В поле
bmRequestType для различных введенных производителем специальных команд микросхемы DS2490 бу
дет изменяться только направление передачи: от хоста к прибору или от прибора к хосту; адресатом для
всех команд будет прибор.
Поле bRequest содержит 1байтную константу, определяющую, какой из трех типов команд, поддер
живаемых микросхемой DS2490, будет посылаться. Коды команд приведены в Приложении 4. Типы
команд кратко описываются ниже:
Тип команды
Описание
CONTROL_CMDКоманды управления интерфейсом 1Wire
COMM_CMDКоманды обмена данными по интерфейсу 1Wire
MODE_CMDКоманды режима работы интерфейса 1Wire
2байтное поле wValue кодируется в зависимости от конкретной команды. Для команд Управления и
Режима значение этого поля соответствует константе конкретной команды, определенной в Приложе
нии 4. Для команд Обмена данными это поле содержит дополнительные встроенные параметры коман
ды, как указано в Приложении 2. Единственным исключением, как описано выше, является команда
READ STRAIGHT.
2байтное поле wIndex используется для записи дополнительных данных параметров команды, когда
это требуется для конкретной команды.
Поле wLength используется в установочном пакете управляющей посылки для указания числа бай
тов, посылаемых на этапе передачи данных (data stage) управляющей посылки. Единственной коман
дой микросхемы DS2490, использующей этап передачи данных управляющей посылки, является ко
манда Управления GET COMM CMDS. Обычно все данные команд передаются на этапе установки
(setup stage). Для всех команд, за исключением команды GET COMM CMDS, в этом поле должно быть
установлено значение 0x0000.
Описания и формат введенных производителем команд Управления, Обмена данными и Режима для
микросхемы DS2490 приведены в Приложениях 1, 2 и 3. Введенные производителем специальные ко
манды, не указанные в приложениях, не поддерживаются микросхемой DS2490, и прибор при приеме
неподдерживаемой команды будет отвечать «STALL» (Останов).
КОМАНДЫ РЕЖИМА
Параметры и характеристики интерфейса 1Wire микросхемы DS2490 (скорость передачи, длитель
ности временных интервалов, скорость нарастания/спада напряжения и т.д.) управляются отдельными
командами Режима и/или при помощи встроенных параметров команд Обмена данными. Значения па
раметров и установки «включено/отключено» используются для управления параметрами интерфейса.
Установки режима сохраняются в регистрах состояния (State Registers) микросхемы DS2490 и могут
быть считаны в любой момент времени или в интервале опроса конечной точки EP1. Для получения
более подробной информации о регистрах состояния см. раздел «Обратная связь с прибором».
Установки типа включено/отключено используются для управления тремя основными функциями:
Мощная подтяжка к +5 В
Импульс программирования СППЗУ напряжением +12 В
Динамическое изменение скорости обмена данными по шине 1Wire при помощи команды Обмена
данными
Установки для этих трех основных настроек можно изменять только с помощью команд Режима;
указанные функции могут быть включены или отключены при помощи соответствующей команды Ре
13 из 49
DS2490
жима. Для формирования мощной подтяжки, генерирования импульса программирования или изме
нения скорости предусмотрены определенные команды Обмена данными. Когда соответствующая ус
тановка включена, функция применима как составная часть команды Обмена данными, а когда отклю
чена — функция не может использоваться.
Значения и коды параметров используются для установки и управления следующими параметрами
шины 1Wire:
Скорость обмена данными по шине 1Wire
Длительность мощной подтяжки к +5 В
Длительность импульса программирования +12 В
Скорость спада напряжения при подтяжке вниз
Длительность интервала НИЗКОГО уровня при записи 1
Время сдвига момента выборки данных / время восстановления при записи 0
Управление этими шестью установками осуществляется с помощью отдельных команд Режима или с
помощью встроенных значений команды/параметров в командах Обмена данными.
Как говорилось выше, всего существует 8 команд Режима, которые перечислены в Табл. 5. Коды ус
тановочных пакетов управляющей посылки USB для передачи этих команд подробно описаны в При
ложении 3. Команды Режима обрабатываются микросхемой DS2490 сразу же после приема. Значения
параметров, устанавливаемые по умолчанию после подачи питания на микросхему DS2490, приведены
в Табл. 12. Управление каждой командой и параметрами подробно рассмотрено в следующих парагра
фах.
Таблица 5. Команды Режима
КомандаФункция
ENABLE PULSEВключает/отключает формирование импульса мощной подтяжки шины 1Wire к 5 В
и/или импульса программирования +12 В
ENABLE SPEED
CHANGE
1WIRE SPEEDСкорость обмена данными по шине 1Wire
STRONG PULLUP
DURATION
PULLDOWN SLEW
RATE
PROG PULSE
DURATION
WRITE1 LOW TIMEДлительность интервала НИЗКОГО уровня при записи 1 на шине 1Wire
DSOW0 RECOVERY
TIME
Включает/отключает динамическое изменение скорости шины 1Wire при помощи
команды Обмена данными
Время сдвига момента выборки данных 1Wire / время восстановления при записи 0
Описание команд Режима
ENABLE PULSE (Включение Импульса) — Эта команда используется для включения или отключе
ния формирования импульса мощной подтяжки к 5 В и/или импульса программирования СППЗУ
12 В. Для управления состоянием «включено/отключено» для импульса каждого типа используются два
бита в байте параметра. Формирование определенного импульса включено, когда соответствующий
бит установлен в 1, и отключено, когда бит установлен в 0. Состоянием по умолчанию DS2490 после пода
чи питания как для мощной подтяжки, так и для импульса программирования является состояние «отклю
чено».
ENABLE SPEED CHANGE (Включение изменения скорости) — Эта команда используется для вклю
чения или отключения изменения скорости обмена данными по шине 1Wire. Если в команде передает
ся значение параметра TRUE, изменение скорости включено, если FALSE — отключено. По умолчаниюдля DS2490 после подачи питания изменение скорости отключено.
14 из 49
DS2490
1WIRE SPEED (Скорость передачи по шине 1Wire) — Эта команда используется для установки
скорости обмена данными по шине 1Wire; при этом возможны три варианта установки. Коды парамет
ров для выбора желаемой или требуемой скорости приведены в Табл. 6. Из таблицы видно, что значе
ния скорости для кодов 0x3...0xF не определены. Микросхема DS2490 декодирует 3 младших бита кода
скорости шины 1Wire. Посылка кода, отличного от указанных в Табл. 6, приведет к непредсказуемому
поведению микросхемы. По умолчанию для DS2490 после подачи питания устанавливается обычная скорость обмена данными.
Таблица 6. Коды скорости шины 1Wire
КодНазвание скоростиСкорость передачи данных
0x0Обычная (Regular)Временной интервал 65 мкс (15.4 Кбит/с)
0x1Гибкая (Flexible)Временной интервал от 65 до 72 мкс
STRONG PULLUP DURATION (Длительность мощной подтяжки) — Эта команда используется для
установки длительности действия мощной подтяжки шины 1Wire. Как указано в Табл. 7, длительность
задается с кратностью 16 мс при помощи 8битного беззнакового двоичного числа в диапазоне
0x00…0xFE. Значение 0x01 соответствует длительности 16 мс, 0x02 — 32 мс и т.д. Значение 0x00 соот
ветствует неопределенной длительности. Значение параметра, равное 0xFF, зарезервировано и приве
дет к формированию прибором импульса подтяжки длительностью менее 1 мкс. Чтобы завершить ра
боту подтяжки неопределенной длительности, следует использовать одну из двух команд Управления:
HALT EXECUTION WHEN DONE или HALT EXECUTION WHEN IDLE, как описано в
Приложении 1. Длительность мощной подтяжки, устанавливаемая DS2490 по умолчанию после подачипитания, составляет 512 мс.
Таблица 7. Коды длительности мощной подтяжки
ЗначениеНоминальная длительность мощной подтяжки
0x00Неопределенная
0x0116 мс
0x0232 мс
……
0xFE4.064 с
0xFFЗарезервировано
PROG PULSE DURATION (Длительность импульса программирования) — Эта команда использует
ся для установки длительности импульса программирования 1Wire. Как указано в Табл. 8, длитель
ность задается с кратностью 8 мкс при помощи 8битного беззнакового двоичного числа в диапазоне
0x00…0xFE. Значение 0x00 соответствует неопределенной длительности. Значение параметра, равное
0xFF, зарезервировано и приведет к формированию прибором импульса длительностью менее 1 мкс.
Для завершения формирования импульса программирования неопределенной длительности следует
использовать одну из двух команд Управления: HALT EXECUTION WHEN DONE или HALT
EXECUTION WHEN IDLE. Длительность импульса программирования, устанавливаемая DS2490 поумолчанию после подачи питания, составляет 51 мкс.
15 из 49
DS2490
Таблица 8. Коды длительности импульса программирования
PULLDOWN SLEW RATE (Скорость спада при подтяжке вниз) — Эта команда используется для вы
бора скорости спада при подтяжке вниз для шины 1Wire, работающей на гибкой скорости; имеется во
семь возможных значений скорости спада. Коды значений параметра для выбора желаемой или требуе
мой скорости спада приведены в Табл. 9. Значения скоростей спада, указанные в таблице, являются но
минальными. Для обычной скорости номинальная скорость спада при подтяжке вниз составляет
0.83 В/мкс, а для повышенной скорости — 15 В/мкс. Микросхема DS2490 декодирует 3 младших бита
кода скорости спада. Посылка кода, отличного от указанных в Табл. 9, приведет к непредсказуемому
поведению микросхемы. По умолчанию для DS2490 после подачи питания скорость спада при подтяжке
вниз для гибкой скорости устанавливается равной 0.83 В/мкс.
WRITE1 LOW TIME (Длительность интервала НИЗКОГО уровня при записи 1) — Эта команда ис
пользуется для выбора длительности интервала НИЗКОГО уровня при записи 1 для шины 1Wire, рабо
тающей на гибкой скорости; имеется восемь возможных значений длительности. Коды значений пара
метра для выбора желаемой или требуемой длительности интервала НИЗКОГО уровня приведены в
Табл. 10. Значения длительности интервала, указанные в таблице, являются номинальными. Для обыч
ной скорости номинальная длительность интервала НИЗКОГО уровня при записи 1 составляет 8 мкс, а
для повышенной скорости — 1 мкс. Микросхема DS2490 декодирует 3 младших бита кода длительности
интервала НИЗКОГО уровня. Посылка кода, отличного от указанных в Табл. 10, приведет к непредска
зуемому поведению микросхемы. По умолчанию для DS2490 после подачи питания длительность интер
вала НИЗКОГО уровня при записи 1 для гибкой скорости устанавливается равной 12 мкс.
16 из 49
Таблица 10. Коды длительности интервала НИЗКОГО уровня
DSOW0 RECOVERY TIME (Время восстановления DSOW0) — Эта команда используется для выбора
времени сдвига момента выборки данных (t
) / времени восстановления при записи 0 (t
DSO
) для ши
W0R
ны 1Wire, работающей на гибкой скорости; имеется восемь возможных значений параметра DSO/
W0R. Коды значений параметра для выбора желаемого или требуемого времени восстановления приве
дены в Табл. 11. Значения, указанные в таблице, являются номинальными. Для обычной скорости но
минальное значение параметра DSO/W0R составляет 3 мкс. Для повышенной скорости номинальное
время сдвига момента выборки данных составляет 1 мкс, а номинальное время восстановления при за
писи 0 — 3 мкс. Микросхема DS2490 декодирует 3 младших бита кода DSO/W0R. Посылка кода, отлич
ного от указанных в Табл. 11, приведет к непредсказуемому поведению микросхемы. По умолчанию в
DS2490 после подачи питания значение параметра DSO/W0R для гибкой скорости устанавливается рав
ным 7 мкс.
Таблица 11. Коды временных интервалов DSO/W0R
длягибкойскорости
КодНоминальное значение временных интервалов DSO/W0R
Значения параметров режима, устанавливаемые по умолчанию
после подачи питания
Значения, устанавливаемые по умолчанию для различных регистров режима микросхемы DS2490
после подачи питания, приведены в Табл. 12. Отметим, что после подачи питания по умолчанию уста
навливается обычная скорость обмена данными, а некоторые значения, указанные в Табл. 12, исполь
зуются только при работе в режиме гибкой скорости. Для изменения какоголибо значения необходи
мо послать прибору соответствующую команду Режима или Обмена данными.
17 из 49
DS2490
Таблица 12. Значения параметров 1Wire, устанавливаемые
по умолчанию после подачи питания
Установка/ПараметрЗначение по умолчанию после подачи питания
Мощная подтяжка к 5 ВFALSE
Импульс программирования 12 ВFALSE
Динамическое изменение скоростиFALSE
Скорость обмена данными по шине 1Wire0x0 (обычная скорость, ~16 Кбит/с)
Длительность мощной подтяжки к 5 В0x20 (512 мс)
Длительность импульса программирования 12 В0x40 (51 мкс)
Управляемая скорость спада при подтяжке вниз0x5 (0.83 В/мкс)
Длительность интервала НИЗКОГО уровня при записи 10x4 (12 мкс)
Время сдвига момента выборки данных / время восстановле
ния при записи 0
0x4 (7 мкс)
КОМАНДЫ УПРАВЛЕНИЯ
Команды Управления микросхемы DS2490 используются для управления обработкой данных/ко
манд Обмена данными, а также могут использоваться для передачи Сброса прибора. Всего предусмот
рено 9 команд Управления, которые перечислены в Табл. 13. Коды установочных пакетов управляющей
посылки USB для передачи этих команд подробно рассмотрены в Приложении 1. Как и команды Режи
ма, команды Управления обрабатываются микросхемой DS2490 сразу же после приема.
Таблица 13. Команды Управления
КомандаФункция
RESET DEVICEОсуществляет аппаратный сброс
START EXECUTIONЗапускает выполнение команды Обмена данными
RESUME EXECUTIONВозобновляет выполнение команды Обмена данными
HALT EXECUTION WHEN IDLEПрекращает выполнение команды Обмена данными, когда шина 1Wire
находится в состоянии ожидания (Idle)
HALT EXECUTION WHEN DONEПрекращает дальнейшее выполнение команды Обмена данными после
завершения выполнения текущей команды
FLUSH COMM CMDSУдаляет из буфера команд невыполняющиеся команды Обмена данными
FLUSH DATA RCV BUFFERОчищает буфер приема данных (данные, поступающие от прибора 1Wire)
FLUSH DATA XMT BUFFERОчищает буфер передачи данных (данные, посылаемые прибору 1Wire)
GET COMM CMDSИзвлекает из буфера команд невыполненные команды Обмена данными
Описание команд Управления
RESET DEVICE (Сброс прибора) — Эта команда осуществляет аппаратный сброс, эквивалентный
сбросу при включении питания. При этом очищаются буферы всех конечных точек, а в регистры управ
ления Режима устанавливаются значения по умолчанию.
START EXECUTION (Запуск выполнения) — Эта команда запускает выполнение команд Обмена
данными. Кроме того, эта команда требуется для запуска выполнения команд Обмена данными при ус
тановке бита IM (управление немедленным выполнением) в 0.
RESUME EXECUTION (Возобновление выполнения) — Эта команда используется для возобновле
ния выполнения команды Обмена данными, остановленной при помощи любой из команд HALT
EXECUTION.
18 из 49
DS2490
HALT EXECUTION WHEN IDLE (Прекращение выполнения команды в режиме ожидания) — Эта
команда используется для прекращения выполнения текущей команды Обмена данными после возвра
та шины 1Wire в состояние ожидания. Дальнейшая обработка команды Обмена данными приостанав
ливается до тех пор, пока не будет принята команда RESUME EXECUTION.
HALT EXECUTION WHEN IDLE, так же как и команда HALT EXECUTION WHEN DONE, использует
ся для завершения мощной подтяжки или импульса программирования неопределенной длительности
HALT EXECUTION WHEN DONE (Прекращение выполнения команды после завершения) — Эта
команда используется для прекращения выполнения команды Обмена данными после завершения вы
полнения текущей команды. Дальнейшая обработка команды Обмена данными приостанавливается до
тех пор, пока не будет принята команда RESUME EXECUTION. Кроме того, команда HALT
EXECUTION WHEN DONE, так же как и команда HALT EXECUTION WHEN IDLE, используется для
завершения мощной подтяжки или импульса программирования неопределенной длительности.
FLUSH COMM CMDS (Очистка буфера команд Обмена данными) — Эта команда используется для
удаления всех невыполненных команд Обмена данными из FIFOбуфера команд. Перед обработкой
команды FLUSH COMM CMDS микросхема DS2490 должна находиться в состоянии останова.
FLUSH DATA RCV BUFFER (Очистка буфера приема данных) — Эта команда используется для очис
тки FIFOбуфера принимаемых данных конечной точки EP3 (данные, поступающие от прибора
1Wire). Перед обработкой команды FLUSH DATA RCV BUFFER микросхема DS2490 должна нахо
диться в состоянии останова.
FLUSH DATA XMT BUFFER (Очистка буфера передачи данных) — Эта команда используется для
очистки FIFOбуфера передаваемых данных конечной точки EP2 (данные, посылаемые прибору
1Wire). Перед обработкой команды FLUSH DATA XMT BUFFER микросхема DS2490 должна нахо
диться в состоянии останова.
GET COMM CMDS (Извлечение команд Обмена данными) — Эта команда используется для извле
чения невыполненных команд Обмена данными и параметров из FIFOбуфера команд. Перед обработ
кой команды GET COMM CMDS микросхема DS2490 должна находиться в состоянии останова. Невы
полненные команды возвращаются через конечную точку EP0 на этапе передачи данных управляющей
посылки. Программное обеспечение хоста должно определять число возвращаемых байтов команд/па
раметров и устанавливать соответствующее значение в поле wLength установочного пакета управляю
щей посылки. Команды/параметры удаляются из FIFOбуфера по мере их передачи хосту; указатель
команд, использующийся с FIFOбуфером, обновляется по мере считывания значений. Любые коман
ды/параметры, которые не были переданы, остаются в FIFOбуфере и будут обрабатываться при возоб
новлении выполнения команды. Если посланное значение поля wLength больше, чем число байтов ко
манд/параметров, микросхема DS2490 прервет управляющую посылку при помощи короткого пакета
данных.
Кроме того, команда
.
КОМАНДЫ ОБМЕНА ДАННЫМИ
Команды Обмена данными используются для управления и обмена данными с подключенным при
бором (приборами) 1Wire. Микросхема DS2490 поддерживает 15 команд Обмена данными, которые
приведены в Табл. 14. Команды Обмена данными содержат также встроенные командные биты, обес
печивающие условное управление или дополнительную функциональность. В Приложении 2 подробно
рассмотрены формат и назначение встроенных битов команд, а также коды установочного пакета уп
равляющей посылки для передачи данных команды/параметров микросхеме DS2490.
В отличие от команд Режима и Управления, обработка команд Обмена данными управляется про
граммным обеспечением хоста путем установки встроенных битов соответствующей команды Обмена
данными. Например, поддерживается чтото вроде макрокоманд, когда несколько команд Обмена дан
ными и данные параметров посылаются в DS2490, буферизуются, а затем обрабатываются как одна
группа. Для создания наборов макрокоманд используется встроенный командный бит ICP. Кроме того,
для команд Обмена данными, в отличие от команд Управления и Режима, существует несколько спосо
бов контроля с тем, чтобы программное обеспечение хоста могло отслеживать процесс обработки ко
манд.
19 из 49
DS2490
В зависимости от установок встроенных битов ICP и NTF команд Обмена данными (см. Приложе
ние 2) в регистре результатов (Result Register) может генерироваться соответствующее значение для
обеспечения обратной связи с хостом в процессе обработки команды. Состояние буфера команд Обме
на данными (FIFO) и буферов приема/передачи данных 1Wire (EP2/3 FIFO) также может контролиро
ваться с помощью регистров состояния (State Registers). Для получения более подробной информации
по контролю команд см. раздел «Обратная связь с прибором».
Таблица 14. Команды Обмена данными
КомандаФункция
SET DURATIONИзменяет длительность мощной подтяжки или импульса программиро
вания
PULSEОсуществляет мощную подтяжку или генерирует импульс программи
рования
1WIRE RESETГенерирует импульс сброса шины 1Wire
BIT I/OСчитывает/записывает один бит данных 1Wire
BYTE I/OСчитывает/записывает один байт данных 1Wire
BLOCK I/OСчитывает/записывает блок данных 1Wire
MATCH ACCESSАдресует прибор на шине 1Wire
READ STRAIGHTПередает заголовок данных и считывает данные обратно
DO & RELEASEУправляет работой CPU криптографических iButton
SET PATHАктивирует группу ответвителей, обеспечивающих доступ к требуемому
прибору 1Wire
WRITE SRAM PAGEЗаписывает данные в блокнотную память прибора SRAM 1Wire
WRITE EPROMЗаписывает данные непосредственно в память данных или в память со
стояния прибора СППЗУ 1Wire
READ CRC PROT PAGEСчитывает защищенные с помощью CRC страницы прибора СППЗУ
1Wire или байты, предназначенные для обнаружения несанкциониро
ванного доступа, и значение счетчика денежных iButton
READ REDIRECT PAGE W/CRCСчитывает одну страницу данных и проверяет CRC. Отслеживает пере
адресации страницы в случае соответствующей установки
SEARCH ACCESSОбеспечивает доступ к прибору при помощи команды Поиск ПЗУ или
идентифицирует приборы в активных сегментах сети 1Wire
Описание команд Обмена данными
SET DURATION (Установка длительности) — Эта команда изменяет значение длительности импуль
са в регистре состояния либо для импульса программирования +12 В, либо для мощной подтяжки. Но
вое значение длительности загружается в соответствующий регистр длительности, задаваемый встроен
ным параметром TYPE команды, как описано в Приложении 2. Значения длительности также можно
изменять, используя команду Режима. Новая установка длительности остается действующей до ее из
менения следующей командой SET DURATION или командой Режима. Об установке значений пара
метра длительности см. раздел «Команды Режима».
Примечание.
Формирование импульса неопределенной длительности завершается при помощи любой из команд
Управления HALT EXECUTION. Для возобновления активности на шине 1Wire после такого заверше
ния следует использовать команду Управления RESUME EXECUTION.
20 из 49
DS2490
Параметры команды:
Данные EP2:
Данные EP3:
Регистр результатов:
1 байт, задающий новую длительность
Отсутствуют, эта команда использует в качестве входных данных параметр команды
Отсутствуют
Если ICP = 1: данные результата не генерируются.
Если ICP = 0 и NTF = 1: будет генерироваться значение результата 0x00.
Если ICP = 0 и NTF = 0: данные результата не генерируются, поскольку отсутствуют
коды ошибок, связанные с этой командой
PULSE (Импульс) — Эта команда используется для временного подтягивания шины 1Wire к +12 В,
чтобы обеспечить программирование приборов СППЗУ, или формирования мощной подтяжки к +5 В
для подачи дополнительной энергии подключенному прибору iButton, например датчику температуры
или криптографическому iButton. Тип импульса определяется значением встроенного бита параметра
TYPE. Длительность импульса определяется значением в соответствующем регистре режима (импульс
программирования или мощной подтяжки). Для определения наличия напряжения программирования
+12 В (V
Параметры команды:
Данные EP2:
Данные EP3:
) используется бит 12VP байта флагов состояния прибора (2й бит), см. Табл. 17.
PP
Отсутствуют
Отсутствуют
Отсутствуют
Регистр результатов:КодУсловие
VPPICP = 0, NTF = 0 или 1: напряжение +12 В не обнаружено
0x00ICP = 0, NTF = 1: ошибок не обнаружено
ОтсутствуетICP = 0, NTF = 0: ошибок не обнаружено
ОтсутствуетICP = 1
1WIRE RESET (Сброс шины 1Wire) — Эта команда используется для генерирования импульса
сброса на шине 1Wire и, как опция, для изменения скорости 1Wire. Новая скорость будет действовать
только в том случае, если встроенный командный бит SE будет установлен в 1. Если команда 1WIRE
RESET посылается после команды Ускоренный пропуск ПЗУ, бит SE должен быть установлен в 1, а код
новой скорости должен быть 0x02. Дополнительную информацию о скорости обмена данными см. в
разделе «Команды Режима». Для переключения обратно на обычную скорость следует установить бит
SE = 1 и новое значение параметра скорости 0x00 (обычная скорость) или 0x01 (гибкая скорость).
Параметры команды:
Данные EP2:
Данные EP3:
1 байт, задающий новую скорость после сброса
Отсутствуют
Отсутствуют
Регистр результатов:КодУсловие
SH, NRS, APPICP = 0, NTF = 0 или 1: нестандартная ситуация или был обнару
BIT I/O (Чтение/запись бита) — Эта команда генерирует один временной интервал на шине 1Wire и
считывает ответ. Бит данных d3 (D) 1го байта команды определяет значение, которое будет записано
на шину 1Wire. После окончания этого временного интервала, как опция, может подключаться мощ
ная подтяжка. Для этого используются встроенные командные биты SPU и CIB. При CIB = 1 требуемая
мощная подтяжка будет осуществляться, только если с шины будет считан 0. Возврат данных хосту про
исходит лишь в том случае, если встроенный бит ICP = 0. Если ICP = 0, то считанный из прибора
21 из 49
DS2490
1Wire бит сохраняется в FIFOбуфере конечной точки EP3 и считывается хостом, используя транзак
цию массивов данных через EP3.
Параметры команды:
Данные EP2:
Отсутствуют
Отсутствуют, эта команда использует в качестве входных данных параметр команды
Данные EP3:ДлинаОписание
Если ICP = 0: 1 байтБит, считанный из прибора 1Wire
Если ICP = 1: ОтсутствуетВозвращаемые данные отсутствуют
Регистр результатов:
Если ICP = 1: данные результата не генерируются.
Если ICP = 0 и NTF = 1: будет генерироваться значение результата 0x00.
Если ICP = 0 и NTF = 0: данные результата не генерируются, поскольку отсутствуют
коды ошибок, связанные с этой командой
Таблица 15. Байт, считанный при выполнении команды BIT I/O
Бит 7Бит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0
0000000D
BYTE I/O (Чтение/запись байта) — Эта команда осуществляет непосредственную запись или чтение
шины 1Wire, и, как опция, подключает мощную подтяжку после считывания/записи последнего бита
байта. Возможность подключения мощной подтяжки управляется с помощью встроенного командного
бита SPU. При операции записи байт данных, который должен записываться, включается в установоч
ный пакет команды, как описано в Приложении 2. При операции чтения значение байта данных уста
новочного пакета должно быть равно 0xFF. Возврат данных хосту происходит только в том случае, если
встроенный бит ICP = 0. Если ICP = 0, то считанный из прибора 1Wire байт сохраняется в FIFOбуфе
ре конечной точки EP3 и считывается хостом, используя транзакцию массивов данных через EP3.
Параметры команды:
Данные EP2:
1 байт: байт данных, посылаемых на шину 1Wire. При операциях чтения этот байт дол
жен быть равен 0xFF
Отсутствуют, эта команда использует в качестве входных данных параметр команды
Данные EP3:ДлинаОписание
Если ICP = 0: 1 байтБайт, считанный из прибора 1Wire
Если ICP = 1: ОтсутствуетВозвращаемые данные отсутствуют
Регистр результатов:
Если ICP = 1: данные результата не генерируются.
Если ICP = 0 и NTF = 1: будет генерироваться значение результата 0x00.
Если ICP = 0 и NTF = 0: данные результата не генерируются, поскольку отсутствуют
коды ошибок, связанные с этой командой
BLOCK I/O (Чтение/запись блока) — Эта команда осуществляет непосредственную запись или чте
ние шины 1Wire и, как опция, подключает мощную подтяжку после считывания/записи последнего
байта блока. Возможность подключения мощной подтяжки управляется с помощью встроенного ко
мандного бита SPU. Встроенный бит RST включает сброс шины 1Wire перед выполнением команды.
Для выполнения функции Чтение все байты входных данных должны быть равны 0xFF, в противном
случае произойдет маскирование данных, считываемых с шины 1Wire. Для записи блока данные перед
выполнением команды должны быть предварительно помещены в FIFOбуфер конечной точки EP2.
Кроме того, в том случае, если размер блока данных превышает размер буфера, программное обеспече
ние хоста должно контролировать состояние содержимого FIFOбуфера с тем, чтобы дополнительные
данные посылались в него постепенно, по мере необходимости. Точно также следует отслеживать со
стояние FIFOбуфера конечной точки EP3 при операциях чтения блоков данных. Во время чтения бло
ка необходимо следить за числом байтов, загруженных в FIFOбуфер конечной точки EP3, для того
чтобы считать данные из буфера прежде, чем произойдет его переполнение.
22 из 49
DS2490
Параметры команды:
2 байта, задающие размер блока
Данные EP2:ДлинаОписание
Равна размеру блока Блок данных, которые должны записываться в прибор 1Wire
Данные EP3:ДлинаОписание
Равна размеру блока Блок данных, считанных из прибора 1Wire
Регистр результатов:
Если ICP = 1: данные результата не генерируются.
Если ICP = 0 и NTF = 1: будет генерироваться значение результата 0x00.
Если ICP = 0 и NTF = 0: данные результата не генерируются, поскольку отсутствуют
коды ошибок, связанные с этой командой
MATCH ACCESS (Адресация путем сравнения) — Эта команда используется для адресации прибора,
подключенного к активной секции шины 1Wire, с помощью кода команд Сравнение ПЗУ или Уско
ренное сравнение ПЗУ. Перед выполнением команды в FIFOбуфер конечной точки EP2 должен быть
предварительно помещен 8байтный идентификатор ПЗУ требуемого прибора. Встроенный команд
ный бит RST включает сброс шины 1Wire перед выполнением команды, а встроенный бит SE включа
ет изменение скорости шины 1Wire, действующей до начала выполнения команды.
Параметры команды:
2 байта: байт команды сравнения, байт новой скорости 1Wire (опция)
Данные EP2:ДлинаОписание
8 байтИдентификатор ПЗУ адресуемого прибора
Данные EP3:
Регистр результатов:
Отсутствуют
Если ICP = 1: данные результата не генерируются.
Если ICP = 0 и NTF = 1: будет генерироваться значение результата 0x00.
Если ICP = 0 и NTF = 0: данные результата не генерируются, поскольку отсутствуют
коды ошибок, связанные с этой командой
READ STRAIGHT (Непосредственное чтение) — Эта команда передает на шину 1Wire определяе
мый пользователем заголовок данных и затем считывает с шины заданное число байтов. Как правило,
заголовок состоит из кода команды 1Wire, за которым следуют байты TA1 и TA2. Например, в заголо
вок можно включить команду Сравнение ПЗУ и идентификатор ПЗУ, для того чтобы адресовать при
бор на текущей скорости. Эта команда также может быть использована для копирования блокнотной
памяти или отключения ветви сети. Встроенный командный бит RST включает сброс шины 1Wire пе
ред выполнением команды. Перед выполнением команды в FIFOбуфер конечной точки EP2 должны
быть предварительно помещены данные заголовка. Кроме того, в том случае, если размер заголовка
превышает размер буфера, программное обеспечение хоста должно контролировать состояние содер
жимого FIFOбуфера с тем, чтобы дополнительные данные посылались в него постепенно, по мере не
обходимости. Точно также следует отслеживать состояние FIFOбуфера конечной точки EP3 при опе
рациях чтения блоков данных. Во время чтения блока необходимо следить за числом байтов, загружен
ных в FIFOбуфер конечной точки EP3, для того чтобы считать данные из буфера прежде, чем
произойдет его переполнение.
23 из 49
DS2490
Параметры команды:
3 байта: 2байтный параметр, задающий размер считываемого блока; 1 байт, задающий
размер заголовка
Данные EP2:ДлинаОписание
Равна размеру заголовкаДанные заголовка, которые должны записываться в прибор
1Wire
Данные EP3:ДлинаОписание
Равна размеру блокаБлок данных, считанных из прибора 1Wire
Регистр результатов:
Если ICP = 1: данные результата не генерируются.
Если ICP = 0 и NTF = 1: будет генерироваться значение результата 0x00.
Если ICP = 0 и NTF = 0: данные результата не генерируются, поскольку отсутствуют
коды ошибок, связанные с этой командой
DO & RELEASE — Эта команда обычно используется для управления работой CPU криптографи
ческих iButton, которые требуют отключающей последовательности. Также эта команда может исполь
зоваться для считывания или записи буфера ввода/вывода (I/O) или регистра состояния криптографи
ческого iButton. Короткий заголовок (3 байта) состоит из кода команды 1Wire, за которым следует от
ключающая последовательность. Четырехбайтный заголовок с встроенным командным битом R = 1
состоит из кода команды 1Wire, за которым следуют байт длины и отключающая последовательность.
Четырехбайтный заголовок с встроенным командным битом R = 0 состоит из кода команды 1Wire, за
которым следуют байт состояния и отключающая последовательность. Длинный заголовок (не менее
5 байтов, встроенный командный бит R = 0) состоит из кода команды 1Wire, байта длины, байтов дан
ных и отключающей последовательности. В последнем случае байт длины указывает общее число бай
тов данных между байтом длины и отключающей последовательностью. Младший байт отключающей
последовательности передается первым. При попытке запустить (начать, продолжить работу) CPU
криптографического iButton встроенный командный бит SPU должен быть установлен в 1. Во всех ос
тальных случаях SPU должен быть установлен в 0. Кроме того, для очистки буфера команд Обмена дан
ными и FIFOбуферов конечных точек EP2 и EP3 в случае возникновения ошибки во время выполне
ния данной команды может быть использован встроенный командный бит F. Перед выполнением ко
манды в FIFOбуфер конечной точки EP2 должны быть предварительно помещены данные заголовка.
Помимо этого, в том случае, если размер заголовка превышает размер FIFOбуфера, программное
обеспечение хоста должно контролировать состояние содержимого буфера с тем, чтобы дополнитель
ные данные посылались в него постепенно, по мере необходимости.
Точно также следует отслеживать состояние FIFOбуфера конечной точки EP3 при операциях чте
ния блоков данных. Во время чтения блоков необходимо следить за числом байтов, загруженных в
FIFOбуфер конечной точки EP3, для того чтобы считать данные из буфера прежде, чем произойдет его
переполнение.
24 из 49
DS2490
Параметры команды:
1 байт, задающий размер заголовка
Данные EP2:ДлинаОписание
Равна размеру
заголовка
Данные заголовка, которые должны записываться в прибор
1Wire
Данные EP3:ДлинаОписание
Если R = 1 и размер
заголовка ≥ 4:
Если R = 0 ОтсутствуетДанные не возвращаются (операция записи)
Как указано во 2м
байте заголовка
Данные, считанные из прибора 1Wire
Регистр результатов:КодУсловие
CRC, CMPICP = 0, NTF = 0 или 1: неверное значение CRC или не принята
SET PATH (Установка пути) — Эта команда используется для активирования группы ответвителей,
которые в конечном счете обеспечивают доступ к требуемому прибору 1Wire. Встроенный командный
бит RST включает сброс шины 1Wire перед выполнением команды. Кроме того, для очистки буфера
команд Обмена данными и FIFOбуферов конечных точек EP2 и EP3 в случае возникновения ошибки
во время выполнения команды может быть использован встроенный командный бит F. Перед выполне
нием команды в FIFOбуфер конечной точки EP2 должны быть предварительно помещены данные от
ветвителей. Помимо этого, если размер данных для ответвителей превышает размер FIFOбуфера ко
нечной точки EP2, программное обеспечение хоста должно контролировать состояние содержимого
FIFOбуфера с тем, чтобы дополнительные данные посылались в него постепенно, по мере необходи
мости. После завершения выполнения команды, в FIFOбуфер конечной точки EP3 загружается
1байтное значение, указывающее число активированных ответвителей. Код ошибки NRS показывает,
что в подключенной ветви шины не было обнаружено импульса присутствия.
Параметры команды:
1 байт, задающий число ответвителей, которые необходимо активировать для установки
пути к требуемому прибору
Данные EP2:ДлинаОписание
9 байтов
на уровень
8байтный идентификатор ПЗУ активируемого ответвителя, за кото
рым следует код команды SmartOn для подключения основного или
дополнительного выхода ответвителя 1Wire
Данные EP3:ДлинаОписание
1 байтЧисло успешно активированных ответвителей; должно быть равно
WRITE SRAM PAGE (Запись страницы SRAM) — Эта команда используется для записи данных в
блокнотную память прибора SRAM (статическое ОЗУ) и, как опция, для проверки CRC. Для копирова
ния данных в память окончательного хранения данных, необходимо послать команду READ
STRAIGHT с заголовком «копировать блокнотную память» и нулевым размером блока. Встроенный
командный бит DT = 1 активирует генератор CRC16. Эта команда может также применяться к функ
ции Запись IPR криптографических iButton, если встроенный командный бит CIB = 1. Для записи не
25 из 49
DS2490
полной страницы необходимо соответствующим образом установить параметр размера страницы и ад
рес назначения. Перед выполнением команды в FIFOбуфер конечной точки EP2 должны быть предва
рительно помещены заголовок и данные SRAM. Кроме того, если размер страницы данных превышает
размер FIFOбуфера конечной точки EP2, программное обеспечение хоста должно контролировать со
стояние содержимого буфера с тем, чтобы дополнительные данные посылались в него постепенно, по
мере необходимости.
Параметры команды:
1 байт, задающий размер страницы. Этот параметр определяет число байтов, посылае
мых прибору 1Wire вслед за 2 или 3байтным заголовком. Обычно это число равно
размеру страницы памяти прибора; значение 0x00 соответствует странице размером
256 байтов
Данные EP2:ДлинаОписание
Если CIB = 0: 3 байта + размер
Если CIB = 1: 2 байта + размер
Данные EP3:
страницы
страницы
Отсутствуют
Заголовок и данные, посылаемые прибору SRAM 1Wire. Состав
3байтного заголовка: код команды 1Wire, TA1, TA2 (тип.)
Заголовок и данные, посылаемые прибору SRAM 1Wire. Состав
2байтного заголовка: код команды 1Wire, длина
Регистр результатов:КодУсловие
CRCICP = 0, NTF = 0 или 1: обнаружена ошибка (только если DT = 1)
0x00ICP = 0, NTF = 1: ошибок не обнаружено
ОтсутствуетICP = 0, NTF = 0: ошибок не обнаружено
ОтсутствуетICP = 1
WRITE EPROM (Запись СППЗУ) — Эта команда используется для записи данных непосредственно
в память данных или память состояния прибора СППЗУ 1Wire. Если встроенный командный бит
DT = 1, выбирается генератор CRC16; если DT = 0, то используется CRC8. Встроенный командный
бит Z определяет метод, используемый для сопоставления данных, записанных в прибор 1Wire. Кроме
того, для очистки буфера команд Обмена данными и FIFOбуферов конечных точек EP2 и EP3 в случае
возникновения ошибки при выполнении команды может быть использован встроенный командный
бит F. Перед выполнением команды в FIFOбуфер конечной точки EP2 должны быть предварительно
помещены заголовок и данные СППЗУ. Помимо этого, если размер блока данных превышает размер
FIFOбуфера конечной точки EP2, программное обеспечение хоста должно контролировать состояние
содержимого FIFOбуфера с тем, чтобы дополнительные данные посылались в него постепенно, по ме
ре необходимости.
Параметры команды:
2 байта, задающие размер блока
Данные EP2:ДлинаОписание
Данные EP3:
3 байта + размер
блока
Отсутствуют
Заголовок и данные, посылаемые прибору СППЗУ 1Wire. Состав
3байтного заголовка: код команды 1Wire, TA1, TA2 (тип.)
READ CRC PROT PAGE (Чтение страницы, защищенной CRC) — Эта команда используется для чте
ния одной или нескольких страниц, защищенных CRC, из приборов CППЗУ 1Wire, а также для считы
вания байтов обнаружения несанкционированного доступа и значения счетчика денежных iButton. Если
встроенный командный бит DT = 1, выбирается генератор CRC16; если DT = 0, то используется
26 из 49
DS2490
CRC8. Встроенный командный бит CIB используется для задания размера считываемого заголовка
(2 или 3 байта). Помимо этого, для очистки буфера команд Обмена данных и FIFOбуферов конечных
точек EP2 и EP3 в случае возникновения ошибки при выполнении команды может быть использован
встроенный командный бит F. Кроме того, эта команда может использоваться для чтения одной непол
ной страницы вплоть до ее конца, а также для считывания PIO прибора DS2406. Эта команда может так
же применяться к функции Запись IPR криптографических iButton, если встроенный командный бит
CIB = 1. Перед выполнением команды в FIFOбуфер конечной точки EP2 должны быть предварительно
помещены данные заголовка. Если размер считываемых данных превышает размер FIFOбуфера конеч
ной точки EP3, то, чтобы избежать переполнения, во время выполнения команды необходимо контро
лировать состояние буфера (и, при необходимости, считывать из него).
Параметры команды:
2 байта: 1 байт — размер страницы, 1 байт — число страниц. Заметим, что значение пара
метра «размер страницы» должно быть равно log
Например, если размер страницы составляет 32 байта, то значение параметра «размер
страницы» должно быть равно 0x05. Обычно размер страницы составляет 32 байта (па
мять данных) и 8 байтов (память состояния). Значение параметра 0x00 соответствует
странице размером 256 байтов
(действительный размер страницы).
2
Данные EP2:ДлинаОписание
Если CIB = 0: 3 байта 3байтный заголовок: код команды 1Wire, TA1, TA2 (тип.)
Если CIB = 1: 2 байта2байтный заголовок: код команды 1Wire, длина
READ REDIRECT PAGE W/CRC (Чтение переадресованной страницы с CRC) — Эта команда ис
пользуется для чтения одной страницы данных и проверки CRC. Если страница не переадресована,
хост получит номер страницы и все данные с этой страницы. Если страница переадресована и встроен
ный командный бит CH = 1, то прибор будет перебирать страницы согласно переадресации до тех пор,
пока не найдет страницу, которая не была переадресована. Когда хост найдет такую страницу, он полу
чит номер страницы и все данные, находящиеся именно на этой странице. Если CH = 0 и при первой
попытке чтения будет обнаружена переадресация, то хост получит только номер той страницы, на ко
торую была переадресована требуемая страница. Чтение начинается с начала страницы. Кроме того,
для очистки буфера команд Обмена данными и FIFOбуферов конечных точек EP2 и EP3 в случае воз
никновения ошибки при выполнении команды может быть использован встроенный командный бит F.
Код ошибки NSR указывает на зацикливание. Перед выполнением команды в FIFOбуфер конечной
точки EP2 должны быть предварительно помещены данные идентификатора ПЗУ и код команды. Если
размер считываемых данных превышает размер FIFOбуфера конечной точки EP3, то, чтобы избежать
переполнения, во время выполнения команды необходимо контролировать состояние буфера (и, при
необходимости, считывать из него).
27 из 49
DS2490
Параметры команды:
2 байта: 1 байт — размер страницы, 1 байт — адрес страницы. Байт размера страни
цы указывает число байтов, составляющих страницу. Обычно размер страницы со
ставляет 32 байта для памяти данных, 8 байтов для памяти состояния и 40 байтов для
денежных iButton. Значение 0x00 соответствует странице размером 256 байтов. Ад
рес страницы задает номер страницы, используемый при первой попытке чтения
Данные EP2:ДлинаОписание
9 байт 8байтный идентификатор ПЗУ адресуемого прибора 1Wire, за
которым следует код команды 1Wire для «Расширенного чтения
памяти» (Extended Read Memory)
Данные EP3:ДлинаОписание
Если CH = 1 или страница
не переадресована
Если CH = 0 и страница
переадресована
1 байт + размер
страницы
1 байтНомер страницы, на которую была переадресована требуемая
SEARCH ACCESS (Адресация путем поиска) — Команда SEARCH ACCESS используется либо для
адресации прибора при помощи команды Поиск ПЗУ, либо для идентификации приборов, подключен
ных к активным сегментам сети 1Wire. Тип поиска определяется значением встроенного командного
бита SM. Встроенный бит RTS используется для управления информацией о несовпадении. Кроме то
го, для очистки буфера команд Обмена данными и FIFOбуферов конечных точек EP2 и EP3 в случае
возникновения ошибки при выполнении команды может быть использован встроенный командный
бит F. Код ошибки NRS указывает на то, что при поиске ПЗУ, по крайней мере, на один из 64х битов
не было получено ответа. Перед выполнением команды в FIFOбуфер конечной точки EP2 должны
быть предварительно помещены данные идентификатора ПЗУ.
Если размер возвращаемых данных пре
вышает размер FIFOбуфера конечной точки EP3, то, чтобы избежать переполнения, во время выполне
ния команды необходимо контролировать состояние буфера (и, при необходимости, считывать из него)
.
Параметры команды:
2 байта: 1 байт — команда 1Wire (Поиск ПЗУ или Условный поиск ПЗУ), 1 байт — чис
ло приборов. Байт числа приборов определяет максимальное число приборов, которые
будут обнаружены во время одного вызова команды. Значение 0x00 указывает на то,
что будут обнаружены все приборы, присутствующие в сети 1Wire
идентификатор ПЗУ, с которого начнется процесс поиска (SM = 1)
Данные EP3:ДлинаОписание
Если SM = 0: ОтсутствуетВозвращаемые данные отсутствуют
Если SM = 1:
Переменная,
8байтные блоки
Идентификаторы ПЗУ обнаруженных приборов, за которыми следу
ют 8 байтов данных о несовпадении (если RTS = 1 и число приборов
в сети 1Wire превышает значение, указанное во втором параметре)
Обратная связь микросхемы DS2490 с хостом (передача данных регистров состояния и результатов)
осуществляется через канал прерываний из конечной точки EP1. Управление периодом опроса преры
ваний хоста для передачи данных из конечной точки EP1 осуществляется с помощью альтернативной
установки интерфейса USB — 1Wire, как описано в разделе «Краткое описание интерфейса 1Wire».
Как указано в Табл. 16, хосту может передаваться до 32 байтов данных обратной связи. В каждом интер
вале опроса (или при входной транзакции USB к конечной точке EP1) будет передаваться, как мини
мум, 16 байтов данных регистра состояния; позиции и описания этих значений данных приведены в
Табл. 17. Кроме того, как указано в Табл. 18, с данными обратной связи может быть дополнительно пе
редано от 0 до 16 байтов данных регистров результата. Эти данные содержат результат обработки ко
манды Обмена данными, определяемый состоянием встроенных командных битов ICP и NTF, а также
байтов уведомления, предназначенных для обнаружения подключения прибора 1Wire. Если для пере
дачи данных обратной связи имеется менее 32 байтов данных регистров результатов и состояния, то
микросхема DS2490 прервет входную транзакцию коротким или нулевым пакетом данных.
Данные, загружаемые в буфер регистра результатов, зависят от состояния встроенных битов NTF и
ICP команды Обмена данными или от обнаружения подключения прибора 1Wire. Величина смещения
для значений данных в этом буфере не определена. Поэтому хост должен знать порядок следования ко
манд Обмена данными, посылаемых микросхеме DS2490, для того чтобы правильно интерпретировать
значения возвращаемых данных. Кроме того, необходимо анализировать данные, чтобы определить,
содержат ли они значение, указывающее на обнаружение прибора 1Wire; байт обнаружения прибора
1Wire имеет уникальное значение. Значения байта обнаружения прибора 1Wire и данных результата
обработки команд Обмена данными приведены в Табл. 19.
Таблица 16. Данные, передаваемые при прерывании
СмещениеДанные
0x00…0x0FРЕГИСТРЫ СОСТОЯНИЯ
0x10…0x1F
Примечания:
1. Число значений регистра результатов будет меняться в зависимости от установок встроенных битов NTF и ICP
команды Обмена данными, числа команд Обмена данными, обработанных за время, прошедшее с предыдуще
го периода опроса конечной точки EP1, или от того, был ли обнаружен прибор 1Wire.
0x05Код текущей длительности интервала НИЗКОГО уровня при записи 1
0x06Код текущего значения времени сдвига момента выборки данных /
времени восстановления при записи 0
0x07Зарезервировано
EP0F—IDLEHALTPMOD12VPPRGASPUA
Описание битов:
SPUAЕсли установлен в 1, то мощная подтяжка к 5 В в данный мо
мент активирована, если установлен в 0 — деактивирована
PRGAЕсли установлен в 1, то в данный момент генерируется им
пульс программирования 12 В, если установлен в 0 — импульс
не генерируется
12VPЕсли установлен в 1, то внешнее напряжение программирова
ния 12 В присутствует, если установлен в 0 — отсутствует
PMODЕсли установлен в 1, то DS2490 питается от шины USB и
внешних источников, если установлен в 0, то все питание
DS2490 поступает только от шины USB
HALTЕсли установлен в 1, то DS2490 в данный момент находится в
состоянии останова, если установлен в 0 — то прибор не нахо
дится в состоянии останова
IDLEЕсли установлен в 1, то DS2490 в данный момент находится в
режиме ожидания, если установлен в 0 — то не находится в ре
жиме ожидания
Бит 6Зарезервирован
EP0FСостояние FIFOбуфера конечной точки 0, см. Прим. 1
Данные
Команда Обмена данными,
1й байт
Команда Обмена данными,
2й байт
Состояние буфера команд
Обмена данными
Состояние буфера выходных
данных 1Wire
0x09Команда Обмена данными, обрабатываемая в настоящий момент. Если
прибор находится в режиме ожидания, посылается значение регистра
0x00
0x0AКоманда Обмена данными, обрабатываемая в настоящий момент. Если
прибор находится в режиме ожидания, посылается значение регистра
0x00
0x0BЧисло байтов данных, находящихся в данный момент в 16байтном
FIFOбуфере, предназначенном для хранения команд Обмена данными
0x0CЧисло байтов данных, находящихся в данный момент в 128байтном
FIFOбуфере, который используется для записи данных на шину 1Wire
30 из 49
DS2490
Описание
Состояние буфера входных
данных 1Wire
Зарезервировано
(контрольный регистр)
Зарезервировано
(контрольный регистр)
Примечания:
1. Если бит EP0F установлен в 1, это означает, что FIFOбуфер конечной точки EP0 во время приема нового уста
новочного пакета управляющей посылки был полон. Такое условие свидетельствует об ошибке, при этом при
нятый установочный пакет сбрасывается изза переполнения. Для восстановления из этого состояния хост
USB должен послать команду CTL_RESET_DEVICE; восстановление прибора произойдет также и при вы
полнении цикла сброса после подачи питания. Заметим, что DS2490 примет и обработает команду
CTL_RESET_DEVICE при условии, что бит EP0F = 1. Если бит EP0F = 0, значит, состояние ошибки FIFO от
сутствует.
Сме
щение
0x0DЧисло байтов данных, находящихся в данный момент в 128байтном
FIFOбуфере, который используется для считывания данных с шины
1Wire
0x0EЗарезервировано
0x0FЗарезервировано
Данные
Таблица 18. Регистры результата DS2490
Смещение
1, 2
0x10Значение
0x11Значение
……
0x1FЗначение
Данные
Примечания:
1. Поскольку при передаче прерываний регистры результатов следуют за регистрами состояния, начальное зна
чение смещения, указанное в Табл. 18 для регистров результатов, передается следом за последним значением
регистров состояния, приведенным в Табл. 17.
2. Число значений регистров результатов будет меняться в зависимости от установок встроенных битов NTF и
ICP команды Обмена данными, числа команд Обмена данными, обработанных за время, прошедшее с преды
дущего периода опроса конечной точки EP1, или от того, был ли обнаружен прибор 1Wire.
31 из 49
Таблица 19. Значения регистров результатов DS2490
DS2490
Описание значе
ния данных
Байт обнаружения
прибора 1Wire
Байт флагов оши
бок команд
Обмена данными
Данные
0xA5
Бит 7Бит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0
EOSRDPCRCCMPVPPAPPSHNRS
Описание битов:
EOSЗначение 1 указывает, что выполнение команды SEARCH ACCESS при SM = 1
завершилось раньше, чем ожидалось, сообщив о меньшем числе найденных иден
тификаторов ПЗУ, чем было задано в параметре «число приборов»
RDPЗначение 1 указывает, что при выполнении команды READ REDIRECT PAGE
W/CRC была обнаружена переадресованная страница
CRCЗначение 1 указывает, что произошла ошибка CRC при выполнении одной из сле
CMPЗначение 1 указывает, что произошла одна из следующих ошибок:
• Ошибка при чтении байта подтверждения с помощью команды SET PATH. • Не
удача программирования при выполнении команды WRITE EPROM. • Обнаруже
но отличие между записанным и считанным байтом при выполнении команды
BYTE I/O
VPPЗначение 1 указывает, что при выполнении команды PULSE при TYPE = 1 или ко
манды WRITE EPROM на шине 1WIRE не было обнаружено импульса програм
мирования 12 В; это может означать, что на шине присутствуют другие приборы,
ограничивающие напряжение на уровне ниже V
са программирования было отключено по команде Режима
APPЗначение 1 указывает, что при выполнении команды 1WIRE RESET был обнару
жен сигнальный импульс присутствия
SHЗначение 1 указывает, что при выполнении команды 1WIRE RESET было обнару
жено короткое замыкание шины 1Wire или что при выполнении команды SET
PATH не удалось подключить ветвь сети изза короткого замыкания
NRSЗначение 1 указывает на возникновение одной из следующих ошибок:
• При выполнении команды 1WIRE RESET не был обнаружен импульс присут
ствия. • При выполнении команды SET PATH в подключенной ветви не был обна
ружен импульс присутствия. • Отсутствует ответ от одного или более битов иден
тификатора ПЗУ во время выполнения команды SEARCH ACCESS
Значение 0 в любом из перечисленных полей указывает на то, что ошибки не обнаружено
, или что генерирование импуль
PP
ПРИЕМОПЕРЕДАТЧИК USB
Микросхема DS2490 содержит встроенный USBсовместимый приемопередатчик шины. Для соот
ветствия требованиям по согласованию кабеля USB к микросхеме DS2490 необходимо подключить не
сколько внешних резисторов, как показано на Рис. 11. Резисторы сопротивлением 24 Ом с допуском
±1% необходимы для того, чтобы полное сопротивление каждого драйвера в установившемся режиме
находилось в пределах 28…43 Ом, как того требует спецификация на ядро USB. Подтягивающий резис
тор сопротивлением 1.5 кОм необходим, чтобы восходящие хабы могли идентифицировать микросхему
DS2490 как высокоскоростное USBустройство. Для управления крутизной фронтов сигналов, а также
для замыкания высокочастотных излучений на землю с целью уменьшения электромагнитных помех
могут подключаться конденсаторы емкостью 33 пФ.
32 из 49
DS2490
Рис. 11. Согласование приемопередатчика USB
VВ(VВ = 3.3 В ± 10%)
1.5к
высокоскоростного
К/от
кабеля USB
5%
24 Ом
1%
24 Ом
1%
D+
D–
3333
DS2490
Приемопередатчик
USB
ВЫХОД ПРИОСТАНОВКИ
Сигнал на выходе приостановки (SUSO) является функцией как состояния USBприбора, входяще
го в состав микросхемы DS2490 (сконфигурирован или несконфигурирован), так и состояния приоста
новки USB. Таблица истинности для этого сигнала представлена в Табл. 20. Этот сигнал может исполь
зоваться самостоятельно или совместно с другими внешними сигналами для перевода в режим пони
женного энергопотребления внешних по отношению к DS2490 схем, таких как источники питания.
Выход сигнала SUSO
подтяжки.
является выходом с открытым стоком и требует подключения внешней схемы
Таблица 20. Состояния выхода приостановки
Состояние прибораСостояние приостановкиSUSO
НесконфигурированНе имеет значенияВЫСОКИЙ
СконфигурированНе приостановленВЫСОКИЙ
СконфигурированПриостановленНИЗКИЙ
ГЕНЕРАТОР
Для работы микросхемы DS2490 требуется один источник тактового сигнала (кварцевый резонатор
или кварцевый генератор) частотой 12.0 МГц. Для получения тактового сигнала можно использовать
кварцевые резонаторы или кварцевые КМОПгенераторы. Что касается кварцевых резонаторов, то
следует использовать кристалл с параллельным срезом, работающий на основной частоте и имеющий
на требуемой частоте значение CL в диапазоне 10…20 пФ. Также требуются подключаемые параллельно
нагрузочные конденсаторы, емкость которых примерно равна удвоенному значению CL. Необходимая
схема включения приведена на Рис. 12. При использовании внешнего кварцевого КМОПгенератора
его выход подключается непосредственно к входу XI микросхемы DS2490. Выход XO в этом случае сле
дует оставить неподключенным.
Рис. 12. Подключение резонатора
33
XI
33
12 МГц
33 из 49
DS2490
XO
DS2490
ПРЕДЕЛЬНОДОПУСТИМЫЕ ПАРАМЕТРЫ*
Напряжение на любом выводе относительно земли–0.5…+6.0 В
Диапазон рабочих температур0…+70°C
Температура хранения–55…+125°C
Температура пайкиСм. спецификацию JSTD020A
* Это только предельные значения, и функционирование прибора при этих или любых других условиях за пре
делами значений, указанных в разделах данной спецификации, не предполагается. Работа в условиях предель
нодопустимого режима в течение длительного времени может привести к снижению надежности.
РЕКОМЕНДУЕМЫЕ УСЛОВИЯ РАБОТЫ (DC)
Параметр
ОбозначениеMinMax
Напряжение питания интерфейса USBV
Напряжение питания цифровой части
4.45.5В1, 2, 3
вания СППЗУ
(программирование не поддерживается)
Рабочая температураT
A
070°С
Примечания:
1. Напряжения указаны относительно земли.
2. Если программирование СППЗУ не поддерживается, вывод V
должен быть подключен к выводу VD.
PP
3. При включении прибора последовательность подачи питающих напряжений должна быть следующей:
V
, VPP, VB.
D
ЭЛЕКТРИЧЕСКИЕ ХАРАКТЕРИСТИКИ, СТАТИЧЕСКИЕ
При TA = 0…+70°C,
= 4.4…5.5 В, VB = 3.0…3.6 В
V
D
ПараметрОбозна
чение
Ток потребления по выводу VD в рабочем режимеI
Ток потребления по выводу V
Ток потребления по выводу V
Ток потребления по выводу V
Ток потребления по выводу V
в рабочем режимеI
B
в режиме приостановкиI
D
в режиме приостановкиI
B
в режиме ожидания I
PP
Напряжение ВЫСОКОГО уровня на входах D+/–
шины USB
Напряжение НИЗКОГО уровня на входах D+/– шины USBV
Напряжение ВЫСОКОГО уровня на входе шины 1WireV
Напряжение НИЗКОГО уровня на входе шины 1WireV
Напряжение НИЗКОГО уровня на выходе SUSO
при токе 4 мА
Порог включения таймера активной подтяжки вверхV
34 из 49
D
B
DS
BS
PP
V
IHU
ILU
IH1
IL1
V
OL(SUSO)
IAPTOVD
MinMax
Единица
измерения
Приме
чания
20мА4
7мА4
490мкА5
10мкА5
7.3мкА1
2.35VB + 0.3В6
–0.30.7В6
3.55VD + 0.3В6
–0.31.35В6
100мВ6
– 1.75 VD – 0.3В6
DS2490
ПараметрОбозна
чение
Порог включения активной подтяжки вверхV
Ток слабой подтяжки вверх шины 1WireI
Ток активной подтяжки вверх шины 1WireI
Падение напряжения мощной подтяжки при токе нагрузки
IAPO
WEAKPU
ACTP U
V
STRPU
MinMax
0.251.1В6
0.96.0мА
5.930.4мА
1701540мВ2
Единица
измерения
по выводу 1WIRE 50 мА
Падение напряжения программирования при токе нагрузки
V
PROG
65440мВ3
по выводу 1WIRE 10 мА
Пороговое напряжение датчика V
PP
V
PPTRIP
6.910.0В6
Примечания:
1. Справедливо только в том случае, если подключен источник питания 12 В (V
). Если выводы VPP и VD соеди
PP
нены, ток не превышает 1 мкА.
2. Разность напряжений между выводами V
3. Разность напряжений между выводами V
и 1WIRE.
D
и 1WIRE.
PP
4. Справедливо как для сконфигурированного, так и для несконфигурированного состояния USB.
5. Справедливо для состояния приостановки по шине USB.
6. Напряжение указано относительно земли.
ЭЛЕКТРИЧЕСКИЕ ХАРАКТЕРИСТИКИ, ДИНАМИЧЕСКИЕ
При TA = 0…+70°C,
= 4.4…5.5 В, VB = 3.0…3.6 В
V
D
Приме
чания
ПараметрСпецификация
Интерфейс USBКак определено в Главе 7 Спецификации USB
Интерфейс 1WireСм. раздел «Контроллер интерфейса 1Wire» настоящего
Пример схемы адаптера USB — 1Wire приведен на Рис. 13.
35 из 49
C4
DS2490
C5
33
X1
12.0 МГц
33
D1
BAT54S
J2
12345
RJ11
6
6
5
C1
0.1
24
U2
R1
4
6
FB
OUT3POK
D
PMOD1NC2NC3NC4V
R2
1.5к
C3
4.7
17
16
PP
NC18XI19XO20NC21NC22NC23V
V
B
SUSO6D–7D+8NC9NC11GND12NC
5
24 Ом
1%
R3
10
NC14NC15NC
13
C7
C6
24 Ом
1%
1WIRE
33
33
DS2490S
U3
34
DS9503P
1
2
Рис. 13. Пример аппаратного решения: адаптер USB — 1Wire
L1
IN
SHDN5GND
U1
1
EMIфильтр
1
2
VBUS
J1
D+3D–
C2
2
4
GND
1.0
L2
5
SHIELD
MAX8881
EMIфильтр
USB
36 из 49
Примечания:
1. Резисторы 0.125 Вт, ±5%, если не указано иное.
2. Номинальное напряжение конденсаторов не менее 10 В.
3. EMIфильтры L1 и L2 — BLM21P221SG (фирма Murata) или аналогичные.
ПРИЛОЖЕНИЕ 1. КОМАНДЫ УПРАВЛЕНИЯ МИКРОСХЕМЫ DS2490,
КОДЫ УСТАНОВОЧНОГО ПАКЕТА
КОМАНДЫ УПРАВЛЕНИЯ
RESET DEVICE
Коды пакета:
bmRequestType0x40
bRequestCONTROL_CMD
wValueCTL_RESET_DEVICE
wIndex0x0000
wLength0x0000
START EXECUTION
Коды пакета:
bmRequestType0x40
bRequestCONTROL_CMD
wValueCTL_START_EXE
wIndex0x0000
wLength0x0000
DS2490
RESUME EXECUTION
Коды пакета:
bmRequestType0x40
bRequestCONTROL_CMD
wValueCTL_RESUME_EXE
wIndex0x0000
wLength0x0000
HALT EXECUTION WHEN
IDLE
Коды пакета:
bmRequestType0x40
bRequestCONTROL_CMD
wValueCTL_HALT_EXE_IDLE
wIndex0x0000
wLength0x0000
HALT EXECUTION WHEN
DONE
Коды пакета:
bmRequestType0x40
bRequestCONTROL_CMD
wValueCTL_HALT_EXE_DONE
37 из 49
КОМАНДЫ УПРАВЛЕНИЯ
wIndex0x0000
wLength0x0000
DS2490
FLUSH COMM CMDS
Коды пакета:
bmRequestType0x40
bRequestCONTROL_CMD
wValueCTL_FLUSH_COMM_CMDS
wIndex0x0000
wLength0x0000
FLUSH DATA RCV BUFFER
Коды пакета:
bmRequestType0x40
bRequestCONTROL_CMD
wValueCTL_FLUSH_RCV_BUFFER
wIndex0x0000
wLength0x0000
FLUSH DATA XMT BUFFER
Коды пакета:
bmRequestType0x40
bRequestCONTROL_CMD
wValueCTL_FLUSH_XMT_BUFFER
wIndex0x0000
wLength0x0000
Перед обработкой команды FLUSH COMM CMDS микросхема DS2490
должна находиться в состоянии останова
Перед обработкой команды FLUSH DATA RCV BUFFER микросхема
DS2490 должна находиться в состоянии останова
Перед обработкой команды FLUSH DATA XMT BUFFER микросхема
DS2490 должна находиться в состоянии останова
GET COMM CMDS
Коды пакета:
bmRequestType0xC0
bRequestCONTROL_CMD
wLengthПеременная
Перед обработкой команды GET COMM CMDS микросхема DS2490
должна находиться в состоянии останова
wValueCTL_GET_COMM_CMDS
wIndex0x0000
Значение поля wLength зависит от числа команд Обмена данными и пара
метров, загруженных в FIFOбуфер
38 из 49
DS2490
ПРИЛОЖЕНИЕ 2.
КОМАНДЫ ОБМЕНА ДАННЫМИ МИКРОСХЕМЫ DS2490
ВСТРОЕННЫЕ БИТЫ КОМАНДЫ,
КОДЫ УСТАНОВОЧНОГО ПАКЕТА
Команды Обмена данными содержат в поле wValue встроенные биты параметров команды. Назначе
ние битов параметров описано ниже.
Название битаОписание
CHCH = 1 продолжает чтение, если страница переадресована.
CH = 0 останавливает чтение, если страница переадресована
CIBCIB = 1 отключает формирование мощной подтяжки к 5 В, если бит SPU = 1 и бит,
считанный с шины 1Wire, тоже равен 1.
CIB = 0 обычно включает формирование мощной подтяжки к 5 В
PSPS = 1 сокращает размер заголовка с 3х до 2х байтов.
PS = 0 устанавливает размер заголовка, равный 3м байтам
DЗначение бита данных, записываемого на шину 1Wire
DTDT = 1 активирует/выбирает генератор CRC16.
DT = 0 — CRC не генерируется
FF = 1 очищает буферы в случае, если во время выполнения предыдущей команды
произошла ошибка; требуется, чтобы в предыдущей команде ICP = 0.
F = 0 запрещает очистку буферов
ICPICP = 1 указывает, что данная команда не является последней командой в макросе;
как следствие, сообщения обратной связи с результатом обработки команды подав
ляются.
ICP = 0 указывает, что данная команда является последней командой в макросе или
одиночной командой; включает передачу сигналов обратной связи с результатом
обработки команды
IMIM = 1 включает немедленное выполнение команды. Считается, что все данные
прибора 1Wire, требуемые для выполнения команды, были приняты в конечной
точке EP2.
IM = 0 отключает немедленное выполнение команды; выполнение должно начаться
по команде функции управления
NTFNTF = 1 — всегда генерировать данные обратной связи с результатом обработки
команды Обмена данными, если ICP = 0.
NTF = 0 — генерировать данные обратной связи с результатом обработки команды
Обмена данными только при возникновении ошибки и при ICP = 0.
Если ICP = 1, сообщения обратной связи подавляются в любом случае, см. выше
описание бита ICP
PSTPST = 1 — периодически генерировать последовательность сброса шины 1Wire,
пока не будет обнаружен импульс присутствия.
PST = 0 — генерировать только одну последовательность сброса шины 1Wire
RR = 1 выполняет функцию чтения.
R = 0 выполняет функцию записи
RSTRST = 1 включает сброс шины 1Wire перед выполнением команды.
RST = 0 отключает сброс шины 1Wire
RTSRTS = 1 возвращает хосту информацию о несовпадении, если бит SM = 1 и на шине
имеется больше приборов, чем может быть обнаружено в текущем проходе.
RTS = 0 не возвращает информацию о несовпадении
SESE = 1 включает изменение скорости шины 1Wire.
SE = 0 отключает изменение скорости шины 1Wire
,
39 из 49
Название битаОписание
SMSM = 1 осуществляет поиск идентификаторов ПЗУ и сообщает о них, не предостав
ляя доступа к конкретному прибору.
SM = 0 осуществляет «Строгий доступ» к конкретному прибору
SPUSPU = 1 осуществляет формирование мощной подтяжки к 5 В после выполнения
команды BIT I/O, BYTE I/O, BLOCK I/O или DO & RELEASE.
SPU = 0 — формирование мощной подтяжки не осуществляется
TYPETYPE = 1 определяет установку длительности импульса программирования.
TYPE = 0 определяет установку длительности мощной подтяжки
ZZ = 1 проверяет, являются ли нулевые биты в записанном байте нулевыми битами
в байте, считанном из прибора.
Z = 0 проверяет, идентичен ли записанный байт считанному из прибора
КОМАНДЫ ОБМЕНА ДАННЫМИ
SET DURATION
Коды пакета:
bmRequestType0x40
bRequestCOMM_CMD
wValueБайт 2Байт 1
Байт 2:00000NTFICP0
Байт 1:0001TYPE01IM
wIndexБайт 2Байт 1
Байт 2 — 0x00 (не используется)
Байт 1 — новая длительность:
Беззнаковое 8битное двоичное число, определяющее новую длительность.
Зависимость длительности от значения кода и дополнительные сведения о
формате см. в разделе «Команды Режима»
wLength0x0000
DS2490
PULSE
Коды пакета:
bmRequestType0x40
1WIRE RESET
Коды пакета:
bmRequestType0x40
bRequestCOMM_CMD
wValueБайт 2Байт 1
Байт 2:0000FNTFICP0
Байт 1:0001TYPE00IM
wIndex0x0000
wLength0x0000
bRequestCOMM_CMD
40 из 49
КОМАНДЫ ОБМЕНА ДАННЫМИ
wValueБайт 2Байт 1
Байт 2:0PST00FNTFICP0
Байт 1:0100SE01IM
wIndexБайт 2Байт 1
Байт 2 — 0x00 (не используется)
Байт 1 — новая скорость:
0x02 при SE = 1 после выполнения команды Ускоренный пропуск ПЗУ;
0x01 или 0x00 при SE = 1 во всех других случаях;
не имеет значения при SE = 0
wLength0x0000
BIT I/O
Коды пакета:
bmRequestType0x40
bRequestCOMM_CMD
wValueБайт 2Байт 1
Байт 2:0CIB0SPU0NTFICP0
Байт 1:0010D00IM
wIndexБайт 2Байт 1
Байт 2 — 0x00 (не используется)
Байт 1 — 0x00 (не используется)
wLength0x0000
DS2490
BYTE I/O
BLOCK I/O
Коды пакета:
bmRequestType0x40
bRequestCOMM_CMD
wValueБайт 2Байт 1
Байт 2:000SPU0NTFICP0
Байт 1:0101001IM
wIndexБайт 2Байт 1
Байт 2 — 0x00 (не используется)
Байт 1 — байт данных, посылаемых на шину 1Wire. Если осуществляется
только чтение, то байт должен иметь значение 0xFF
wLength0x0000
Коды пакета:
bmRequestType0x40
bRequestCOMM_CMD
41 из 49
КОМАНДЫ ОБМЕНА ДАННЫМИ
wValueБайт 2Байт 1
Байт 2:000SPU0NTFICPRST
Байт 1: 0111010IM
wIndexБайт 2Байт 1
Байт 2 — размер блока (HI), старший байт
Байт 1 — размер блока (LOW), младший байт
wLength0x0000
MATCH ACCESS
Коды пакета:
bmRequestType0x40
bRequestCOMM_CMD
wValueБайт 2Байт 1
Байт 2:00000NTFICPRST
Байт 1: 0110SE10IM
wIndexБайт 2Байт 1
Байт 2 — новая скорость:
0x02 при SE = 1 после выполнения команды Ускоренный пропуск ПЗУ;
0x01 или 0x00 при SE = 1 во всех других случаях;
не имеет значения при SE = 0
Байт 1 — команда 1Wire, которая будет использоваться для адресации прибо
ра 1Wire. Допустимые значения кодов:
0x55 (Сравнение ПЗУ);
0x69 (Ускоренное сравнение ПЗУ)
wLength0x0000
DS2490
READ STRAIGHT
Коды пакета:
bmRequestType0x40
DO & RELEASE
Коды пакета:
bmRequestType0x40
bRequestCOMM_CMD
wValueБайт 2Байт 1
Байт 2:Размер заголовка. Число записываемых байтов
Байт 1:1000NTFICPRSTIM
wIndexБайт 2Байт 1
Байт 2 — размер блока (HI). Число считываемых байтов, старший байт
Байт 1 — размер блока (LOW). Число считываемых байтов, младший байт
wLengthБайт 2Байт 1
Байт 2 — 0x00 (не используется)
Байт 1 — размер заголовка. Число записываемых байтов
42 из 49
КОМАНДЫ ОБМЕНА ДАННЫМИ
bRequestCOMM_CMD
wValueБайт 2Байт 1
Байт 2:011SPUFNTFICP0
Байт 1:1001R01IM
wIndexБайт 2Байт 1
Байт 2 — 0x00 (не используется)
Байт 1 — размер записываемого заголовка в байтах
wLength0x0000
SET PATH
Коды пакета:
bmRequestType0x40
bRequestCOMM_CMD
wValueБайт 2Байт 1
Байт 2:0000FNTFICPRST
Байт 1:1010001IM
wIndexБайт 2Байт 1
Байт 2 — 0x00 (не используется)
Байт 1 — размер (в байтах) числа ответвителей, которые должны быть активи
рованы для установки пути к требуемому прибору
wLength0x0000
DS2490
WRITE SRAM PAGE
Коды пакета:
bmRequestType0x40
bRequestCOMM_CMD
wLength0x0000
WRITE EPROM
DT = 1 активирует генератор CRC16. Эта команда также применяется к
функциям Запись IPR и Запись буфера ввода/вывода для криптографических
iButton, если CIB = 1. Для записи неполной страницы параметр размера
страницы и адрес назначения должны быть установлены соответствующим
образом
wValueБайт 2Байт 1
Байт 2:0PSDT0FNTFICP0
Байт 1: 1011001IM
wIndexБайт 2Байт 1
Байт 2 — 0x00 (не используется)
Байт 1 — число байтов, посылаемых прибору следом за 3байтным заголов
ком. Обычно это число равно размеру страницы. Значение 0x00 соответствует
странице размером 256 байтов
DT = 1 выбирает генератор CRC16. В противном случае предполагается ис
пользование 8битного CRC. Если Z = 1, сравнение считанного для верифи
кации байта ограничивается только нулевыми битами
43 из 49
КОМАНДЫ ОБМЕНА ДАННЫМИ
Коды пакета:
bmRequestType0x40
bRequestCOMM_CMD
wValueБайт 2Байт 1
Байт 2:00DT0FNTFICP0
Байт 1:1100Z10IM
wIndexБайт 2Байт 1
Байт 2 — размер блока (HI). Число записываемых байтов, старший байт
Байт 1 — размер блока (LOW). Число записываемых байтов, младший байт
wLength0x0000
DS2490
READ CRC PROT PAGE
Коды пакета:
bmRequestType0x40
bRequestCOMM_CMD
wValueБайт 2Байт 1
wIndexБайт 2Байт 1
wLength0x0000
READ REDIRECT PAGE
W/CRC
Коды пакета:
bmRequestType0x40
bRequestCOMM_CMD
wValueБайт 2Байт 1
wIndexБайт 2Байт 1
wLength0x0000
DT = 1 выбирает генератор CRC16, в противном случае предполагается ис
пользование 8битного CRC. Эта команда также применима к функциям
Чтение IPR и Чтение буфера ввода/вывода для криптографических iButton,
если CIB = 1
Байт 2:0PSDT0FNTFICP0
Байт 1:1101010IM
Байт 2 — число считываемых страниц
Байт 1 — размер страницы: логарифм (по основанию 2) числа байтов, состав
ляющих страницу. Обычно это число равно 32 для памяти данных и 8 для па
мяти состояния. Размер страницы, равный 0, соответствует странице разме
ром 256 байтов. Пример: если реальный размер страницы составляет 32 бай
та, то параметр «размер страницы» должен быть равен 0x05
Байт 2:0010FNTFICP1
Байт 1: 1110CH10IM
Байт 2 — номер страницы, используемый при первой попытке чтения
Байт 1 — размер страницы: число байтов, составляющих страницу. Обычно
это число равно 32 для памяти данных. Размер страницы, равный 0,
соответствует странице размером 256 байтов
44 из 49
КОМАНДЫ ОБМЕНА ДАННЫМИ
SEARCH ACCESS
Коды пакета:
bmRequestType0x40
bRequestCOMM_CMD
wValueБайт 2Байт 1
Байт 2:0RTS00FNTFICPRST
Байт 1: 1111SM10IM
wIndexБайт 2Байт 1
Байт 2 — число приборов. Максимальное число приборов, которые будут об
наружены при одном вызове команды. Значение 0x00 указывает, что будут об
наружены все приборы, присутствующие в сети 1Wire
Байт 1 — команда 1Wire, используемая для адресации прибора 1Wire. Допус
тимые значения кодов:
0xF0 (Поиск ПЗУ);
0xEC (Условный поиск ПЗУ)
wLength0x0000
DS2490
45 из 49
ПРИЛОЖЕНИЕ 3. КОМАНДЫ РЕЖИМА МИКРОСХЕМЫ DS2490,
КОДЫ УСТАНОВОЧНОГО ПАКЕТА
КОМАНДЫ РЕЖИМА
ENABLE PULSE
Коды пакета:
bmRequestType0x40
bRequestMODE_CMD
wValueMOD_PULSE_EN
wIndexБайт 2Байт 1
Байт 2 — 0x00
Байт 1:000000SPUEPRGE
Мощная подтяжка включена при SPUE = 1, отключена при SPUE = 0.
Генерирование импульса программирования +12 В включено при PRGE = 1,
отключено при PRGE = 0
wLength0x0000
ENABLE SPEED CHANGE
Коды пакета:
bmRequestType0x40
bRequestMODE_CMD
wValueMOD_SPEED_CHANGE_EN
wIndexБайт 2Байт 1
Байт 2 — 0x00
Байт 1 — Булево значение. Изменение скорости включено при значении
TRUE, отключено при значении FALSE
wLength0x0000
DS2490
1WIRE SPEED
Коды пакета:
bmRequestType0x40
bRequestMODE_CMD
wValueMOD_1WIRE_SPEED
wIndexБайт 2Байт 1
wLength0x0000
STRONG PULLUP DURATION
Коды пакета:
bmRequestType0x40
bRequestMODE_CMD
wValueMOD_STRONG_PU_DURATION
Байт 2 — 0x00
Байт 1 — код, определяющий скорость обмена данными по шине 1Wire.