RAINBOW ELECTRONICS DS2490 User Manual [ru]

www.maximic.com
DS2490
DS2490
Микросхема моста USB — 1Wire
ОСНОВНЫЕ ХАРАКТЕРИСТИКИ
Осуществляет обмен данными по шине 1Wire®
на обычной и повышенной скорости
(EPROM) 12 В и мощную подтяжку к 5 В для микросхем ЭСППЗУ (EEPROM), датчиков и криптографических iButton®
Осуществляет формирование временных интервалов
1Wire (с управляемой скоростью нарастания/спада напряжения) и активную подтяжку вверх (к напряжению питания) для согласования длинных линий сети 1Wire и уменьшения излучения
Программируемые временные параметры шины 1Wire
и характеристики драйвера обеспечивают согласование при различных конфигурациях сети 1Wire
Имеются как низкоуровневые, так и высокоуровневые
команды, включая макросы, для осуществления обмена данными по шине 1Wire
Задающий генератор на кварцевом резонаторе
обеспечивает точную синхронизацию сигналов 1Wire
Высокоскоростной 12Мбит/с интерфейс
универсальной последовательной шины (Universal Serial Bus — USB)
Встроенный USBсовместимый приемопередатчикОбеспечивает удаленное пробуждение (remote wakeup)
по шине USB для возобновления работы приостановленной хостсистемы при появлении сигнала от прибора 1Wire
Диапазон рабочих температур от 0 до +70°C
НАЗНАЧЕНИЕ ВЫВОДОВ
24выводной SO
(300 mil)
Вид сверху
PMOD
NC NC
NC
SUSO
NC
1WIRE
NC
GND
V
D– D+
1 2 3 4 5
B
6 7 8
9 10 11 12
Корпус FlipChip, вид сверху
A4NCB4 C4 D4
NC SUSO\ D–
A3 B3 E3
4.4 мм
A2 C2
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
ИНФОРМАЦИЯ ДЛЯ ЗАКАЗА
Наименование Корпус
DS2490S 24выводной корпус SO DS2490S/T&R Поставка DS2490S на ленте в бобине DS2490X Корпус FlipChip, поставка на ленте в бобине
1Wire и iButton являются зарегистрированными торговыми марками Dallas Semiconductor.
1 из 49
DS2490
ОПИСАНИЕ
Микросхема DS2490 представляет собой мост, который позволяет осуществлять обмен данными между хостсистемой USB и шиной 1Wire. Микросхема обеспечивает обычную, повышенную и гиб кую скорости обмена данными по шине 1Wire и подключение к шине USB в полноскоростном (fullspeed) режиме 12 Мбит/с. Введенные производителем специальные команды USB, определяемые в настоящей спецификации, используются для управления микросхемой DS2490 и обмена данными с подключенными приборами 1Wire. Функциональная блоксхема DS2490 приведена на Рис. 1.
Таблица 1. Краткое описание выводов
Обозначе
ние вывода
V
D
V
PP
V
B
D+ Вход/выход Данные USB — неинвертированный сигнал дифференциальной двухпро
D– Вход/выход Данные USB — инвертированный сигнал дифференциальной двухпровод
1WIRE Вход/выход Вход/выход линии 1Wire PMOD Вход Зарезервирован для будущих применений. Должен быть подключен к выво
SUSO
XI Вход Вход для подключения кварцевого резонатора. Используется кристалл с па
XO Выход Выход для подключения кварцевого резонатора. Подключается к другому
GND Питание Общая земля и общий провод шины 1Wire NC Выводы не подключаются. Используются в процессе производства или заре
Тип Фун кци я
Питание Вход напряжения питания для цифровой части микросхемы и поддержки
функций 1Wire. Диапазон: 5.0 В ± 10%
Питание Вход напряжения питания +12 В для программирования СППЗУ 1Wire.
Диапазон: 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
СТРУКТУРА ДОКУМЕНТА
Далее в этом документе имеются следующие основные разделы:
Раздел Краткое описание
ОБЗОР Краткое описание функциональных возможностей прибора
и примеры применения КОНТРОЛЛЕР ИНТЕРФЕЙСА 1WIRE Управление фронтами и временные диаграммы сигналов 1Wire ОБМЕН ДАННЫМИ ПО ШИНЕ USB Краткие описания модели конфигурации, ядра и специальных
команд, введенных производителем КОМАНДЫ РЕЖИМА Команды, используемые для конфигурирования рабочих
параметров интерфейса 1Wire КОМАНДЫ УПРАВЛЕНИЯ Команды, используемые для управления обработкой команд
обмена данными 1Wire КОМАНДЫ ОБМЕНА ДАННЫМИ Команды, используемые для обмена данными с подключенным
прибором 1Wire ОБРАТНАЯ СВЯЗЬ С ПРИБОРОМ Метод получения информации о состоянии прибора ПРИЕМОПЕРЕДАТЧИК USB Требования к подключению приемопередатчика ВЫХОД ПРИОСТАНОВКИ Действие и назначение сигнала SUSO ГЕНЕРАТОР Требования к подключению генератора ЭЛЕКТРИЧЕСКИЕ ХАРАКТЕРИСТИКИ Статические и динамические электрические характеристики РЕКОМЕНДАЦИИ ПО ПРИМЕНЕНИЮ Пример аппаратного решения ПРИЛОЖЕНИЕ 1 Команды Управления — коды установочного пакета USB ПРИЛОЖЕНИЕ 2 Команды Обмена данными — коды установочного пакета USB ПРИЛОЖЕНИЕ 3 Команды Режима — коды установочного пакета USB ПРИЛОЖЕНИЕ 4 Коды команд USB и типов команд
ОБЗОР
Микросхема DS2490 осуществляет непосредственное соединение порта USB с шиной 1Wire. Как показано на Рис. 1, в состав DS2490 входит физический интерфейс USB, контроллер USB, дополнен ный специальным ядром для поддержки функций 1Wire, и контроллер интерфейса шины 1Wire. Кон троллер интерфейса 1Wire формирует фронты сигналов 1Wire, осуществляет подачу импульсов про граммирования или мощную подтяжку к 5 В, а также считывает состояние шины 1Wire, используя по рог, отличный от уровня ТТЛлогики, что повышает помехозащищенность при работе больших сетей 1Wire. Благодаря кварцевому генератору обеспечивается точное управление временными параметрами сигналов 1Wire.
Микросхема DS2490 также поддерживает удаленное пробуждение по шине USB, что позволяет пе риферийному устройству USB, построенному на базе DS2490, посылать приостановленной хостсисте ме сигнал о возобновлении работы. Если удаленное пробуждение включено и хостсистема находится в состоянии приостановки, то при подключении прибора 1Wire микросхема DS2490 выведет хостсисте му из состояния приостановки и обеспечит возможность обслуживания прибора 1Wire.
3 из 49
Рис. 1. Функциональная блоксхема DS2490
DS2490
SUSO
D+ D–
Приемопе
редатчик
USB
V
B
ПЗУ
дескриптора
USB
Контроллер
USB
Управление
питанием
V
D
USBядро
поддержки
функций
1Wire
OSC
XI
XO
FIFO
конечных
точек
Тактовый
генератор
GND
Контроллер
интерфейса
1Wire
V
PP
1WIRE
На Рис. 2 (a…c) показаны типичные примеры использования микросхемы DS2490. Из приведенных примеров видно, что обмен данными и передача команд управления между хостом и прибором осу ществляется по линии передачи данных USB. Набор введенных производителем специальных команд USB, как описывается в данном документе, используется для выбора рабочих режимов (Команды Ре жима), обработки команд управления (Команды Управления) и осуществления обмена данными через интерфейс 1Wire (Команды Обмена данными). Пример (a), приведенный на Рис. 2, — это периферий ное устройство USB на базе микросхемы DS2490. Периферийное устройство представляет собой адап тер USB — 1Wire, к которому подключаются входы/выходы как шины USB, так и шины 1Wire. В этом примере периферийное устройство подключается к хосткомпьютеру USB либо непосредственно к ба зовому порту, либо через концентратор, или хаб (hub) USB. Интерфейс шины 1Wire, имеющийся в микросхеме DS2490, поддерживает все приборы 1Wire, производимые фирмой Dallas Semiconductor, а также различные топологии шины 1Wire — от простой многоточечной до сложной разветвленной сети 1Wire. Примеры (b) и (c), приведенные на Рис. 2, являются вариантами схемы (a), в которых микросхе ма DS2490 встраивается в хосткомпьютер или в хаб USB.
Рис. 2. Примеры использования микросхемы DS2490
Хосткомпьютер
с портом USB
Хосткомпьютер
с портом USB
DS2490
(b) DS2490 встроена в хост
Шина 1Wire
Порты USB
Кабель USB
Хаб
USB
Считывающее
Адаптер
USB — 1Wire
DS2490
(a) Внешний адаптер USB — 1Wire
Хосткомпьютер
с портом USB
Шина 1Wire
Прибор
1Wire
Кабель USB
(c) DS2490 встроена в хаб USB
4 из 49
устройство
BLUEDOT
Прибор
1Wire
Хаб USB
Контроллер
хаба USB
DS2490
Прибор
1Wire
Нисходящие
порты USB
Шина 1Wire
DS2490
КОНТРОЛЛЕР ИНТЕРФЕЙСА 1WIRE
Все команды обмена данными по шине 1Wire, посылаемые микросхеме DS2490, обрабатываются контроллером интерфейса 1Wire. Одной из задач контроллера интерфейса является активное форми рование фронтов сигналов обмена данными по шине 1Wire. Это ускоряет изменение состояния шины 1Wire (нарастающие фронты) и уменьшает «звон» на длинных линиях (падающие фронты). Схема, формирующая нарастающие фронты, всегда находится в активном состоянии. Активное управление скоростью спада фронтов осуществляется только при работе на гибкой скорости (при этом значение параметра, определяющего эту скорость, должно отличаться от значения по умолчанию, устанавливаю щегося после подачи питания). Управление параметрами и их значения по умолчанию описываются в разделе «Команды Режима».
Нарастающие фронты
Активная подтяжка нарастающих фронтов значительно уменьшает время нарастания напряжения на шине 1Wire по сравнению с простой резистивной подтяжкой. На Рис. 3 показано, как микросхема DS2490 осуществляет формирование нарастающего фронта.
Рис. 3. Активная подтяжка
t
APUOT
5 B
V
IAPTO
V
IAPO
0 В
Шина 1Wire
подтянута
вниз
t
1
t
2t3
Схема работает следующим образом. В момент времени t1 подтяжка к общему проводу (осуществля емая микросхемой DS2490 или другим прибором на шине) прекращается. С этого момента шина 1Wire подтягивается вверх небольшим током подтяжки 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 начинает понижать уровень на шине 1Wire (например, для инициирования временного интервала), она прежде всего выключает ток слабой подтяжки к 5 В (I
WEAKPU
падающий фронт при скорости спада, номинально составляющей 15 В/мкс. Такая скорость вполне приемлема для коротких шин 1Wire и является адекватной для обмена данными в режиме повышен ной скорости. В сетях 1Wire, имеющих длину более 30 м, всегда должна использоваться гибкая ско рость. При использовании гибкой скорости одним из регулируемых параметров является скорость спа да фронтов, инициированных микросхемой DS2490. Результат управления скоростью спада показан на Рис. 4.
). После чего при работе на обычной и повышенной скоростях микросхема DS2490 формирует
5 из 49
Рис. 4. Управление скоростью спада
DS2490
Для длинных
линий:
4 ± 0.5 мкс
Низкая скорость
спада
5 В
Высокая скорость
спада
0.8 В
0 В
Шина 1Wire
подтянута вверх
t
F
Слабая подтяжка
вверх закончилась,
t
1
начинается
подтяжка вниз
Как показали всесторонние испытания, при длине до 300 м сеть 1Wire будет работать лучше, если время спада t
находится в диапазоне 4 ± 0.5 мкс. Это соответствует скорости спада приблизительно
F
1 В/мкс. Такая скорость обычно получается путем выбора кода 0x4 для значения параметра «Скорость спада при подтяжке вниз» (PULLDOWN SLEW RATE) (см. раздел «Команды Режима»). Если реально измеренное время спада больше, чем желаемое значение, необходимо использовать код 0x3 или ниже. Если же время спада меньше, следует использовать код 0x5 или выше.
После определения код значения для параметра «Скорость спада при подтяжке вниз» следует сохра нить в памяти хоста и всегда загружать в DS2490 после включения питания или после цикла сброса, инициируемого мастером.
ВРЕМЕННЫЕ ДИАГРАММЫ 1WIRE
В этом разделе подробно описаны сигналы, генерируемые микросхемой DS2490 на шине 1Wire. Сначала рассматриваются такие сигналы обмена данными, как последовательность сброса/обнаруже ния присутствия и временные интервалы чтения/записи данных. После этого подробно описывается выполнение функции Импульс (PULSE) при различных условиях.
Сигналы обмена данными по шине 1Wire
Одной из главных особенностей микросхемы DS2490 является то, что она освобождает хост от необ ходимости формирования временных соотношений сигналов 1Wire и считывания (выборки) шины 1Wire в соответствующие моменты времени. Последовательность сброса/обнаружения присутствия показана на Рис. 5. Эта последовательность состоит из четырех временных отрезков: интервала НИЗ КОГО уровня импульса сброса t кание/прерывание t задержки t сброса t
RSTH
. Временные отрезки tSI, t
FILL
, во время которого ведомые приборы 1Wire выдают свои импульсы присутствия или пре
, времени сдвига момента выборки для обнаружения присутствия t
SI
рывания. В течение этого временного интервала DS2490 подтягивает шину 1Wire к ВЫСОКОМУ уров ню током слабой подтяжки.
Временные параметры последовательности сброса/обнаружения присутствия показаны на Рис. 5. Значения всех временных отрезков для всех возможных скоростей шины 1Wire приведены ниже в таб лице. Поскольку последовательность сброса/присутствия по длительности значительно превышает временные интервалы, значения ее временных параметров для обычной и гибкой скорости одинаковы. Все фронты сигналов на шине управляются микросхемой DS2490, за исключением падающего фронта импульса присутствия. Форма этого неуправляемого фронта зависит от емкости шины 1Wire, а также от количества, скорости и потребления энергии подключенных к шине ведомых приборов.
, времени сдвига момента выборки для проверки на короткое замы
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
После выполнения команды Сброс шины 1Wire (1WIRE RESET) (см. раздел «Команды Обмена данными») микросхема DS2490 сначала переводит шину 1Wire в состояние НИЗКОГО уровня на вре мя t чение времени сдвига момента выборки для проверки на короткое замыкание/прерывание t
, а затем отпускает ее (уровень снова повышается до 5 В). После этого микросхема ожидает в те
RSTL
SI
и затем проверяет уровень напряжения на шине 1Wire, чтобы определить, нет ли на шине короткого замыка ния или сигнала прерывания. Если нет ни короткого замыкания, ни прерывания, микросхема DS2490 выдерживает паузу длительностью t
и проверяет уровень напряжения на шине 1Wire, чтобы опреде
PDT
лить наличие импульса присутствия. Независимо от результата последней проверки, DS2490 ждет окончания интервала t
, а затем в зависимости от значений встроенных битов PST, NTF и ICP ко
FILL
манды 1WIRE RESET генерирует байт ответа на команду, который посылается хосту.
Если при проверке на наличие короткого замыкания или сигнала прерывания на линии был обнару жен логический 0, то микросхема DS2490 ждет в течение 4096 мкс, после чего снова проверяет состоя ние шины 1Wire. При повторном обнаружении логического 0 принимается решение о наличии корот кого замыкания на шине 1Wire и в ответе микросхемы DS2490 на команду обмена данными 1WIRE RESET будет указано на наличие короткого замыкания. Если на линии обнаруживается логическая 1, то микросхема ждет окончания интервала t
, после чего устанавливает значение в ответе на команду
FILL
1WIRE RESET, соответствующее наличию сигнального импульса присутствия. Для более подробной информации см. раздел «Обратная связь с прибором». Никаких дополнительных проверок на наличие импульса присутствия не производится. Несмотря на то что сигнализация прерывания определена только для режима работы на обычной скорости, микросхема DS2490 осуществляет описанную проце дуру проверки на наличие короткого замыкания/прерывания также и при работе на повышенной ско рости.
Как показано на Рис. 6, временной интервал записи 1 и чтения данных состоит из трех временных отрезков: t тервала НИЗКОГО уровня (t сдвига момента выборки данных t считывания ответа. Время ожидания t
LOW1
, t
DSO
и t
. При формировании временных интервалов записи 1 после окончания ин
HIGH1
) микросхема DS2490 находится в режиме ожидания в течение времени
LOW1
, а затем осуществляет выборку напряжения на шине 1Wire для
DSO
(после считывания) должно закончиться прежде, чем будет
HIGH1
завершен временной интервал. Временной интервал записи 0, как показано на Рис. 7, состоит только из двух частей: t
LOW0
и t
REC0
.
Если сеть большая или сильно нагруженная, следует выбрать гибкую скорость и увеличить длитель ность интервала НИЗКОГО уровня при записи 1 (t
) до 8 мкс и более, чтобы гарантировать переход
LOW1
шины 1Wire в состояние НИЗКОГО уровня. Поскольку большой или сильно нагруженной сети требу
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
ся в зависимости от параметров подключенных приборов 1Wire и/или от действий процессора хоста. Более подробно временные параметры рассмотрены в разделе «Команды Режима». Обработка команды PULSE осуществляется одинаково, независимо от типа формируемого импульса (мощная подтяжка или импульс программирования). Как показано на рисунках, обработка команды PULSE начинается в момент времени t
, а в момент времени t2 формирование импульса завершается.
1
Для программирования СППЗУ к шине 1Wire должен быть подключен только один ведомый при бор, при этом длина кабеля между микросхемой DS2490 и прибором СППЗУ должна быть как можно меньше (не более нескольких метров). Скорость нарастания и спада фронтов импульса программиро вания («крутизна») активно управляется микросхемой DS2490, как показано на Рис. 9. Не следует гене рировать импульс программирования при наличии на шине приборов, не являющихся СППЗУ; это мо жет привести к выходу из строя как данного прибора, так и самой микросхемы DS2490. Добавим также, что корректный импульс программирования может быть сгенерирован только в том случае, если на вы вод V
микросхемы DS2490 поступает напряжение программирования 12 В.
PP
В некоторых приложениях может потребоваться такая длительность мощной подтяжки или импуль са программирования, которую нельзя получить, используя предопределенные значения (эти значения приведены в разделе «Команды Режима»). Выбор неопределенной длительности позволяет хосту гене рировать импульсы любой длительности. Однако в таком случае хост должен сам активно управлять длительностью импульса. Если хост по какойлибо причине не может завершить импульс, то микросхе ме DS2490 может потребоваться сброс по питанию или цикл сброса, инициируемый мастером. Поэто му неопределенная длительность должна использоваться, только если это совершенно необходимо. Для завершения импульса неопределенной длительности используются команды Управления HALT EXECUTION WHEN DONE или HALT EXECUTION WHEN IDLE. Как и в предыдущем случае, обра ботка команды осуществляется одинаково, независимо от того, используется ли она для формирования мощной подтяжки или импульса программирования.
Рис. 8. Мощная подтяжка к 5 В, предопределенная длительность
Конец предыдущего
временного
5 В
0 В
интервала
t
SPU
t
1
Начало следующего
временного интервала
t
2
Рис. 9. Импульс программирования 12 В, предопределенная длительность
500 нс, tf 5 мкс
t
12 В
Конец предыдущего
временного
5 В
0 В
интервала
t
r
r
t
f
t
PP
Начало следующего
временного интервала
t
1
t
2
9 из 49
DS2490
ОБМЕН ДАННЫМИ ПО ШИНЕ USB
Обмен данными с микросхемой DS2490 осуществляется с помощью стандартных USBзапросов, на зываемых также в настоящем документе «командами ядра», или просто «запросами», а также введен ных производителем специальных команд USB, предназначенных исключительно для DS2490. Переда ча всех команд обмена данными осуществляется по использующемуся по умолчанию каналу управле ния (default control pipe). Передача остальных данных, не имеющих отношения к командам (входные/ выходные данные прибора 1Wire и информация о состоянии микросхемы DS2490), осуществляется способом, установленным производителем, по каналу передачи массивов данных (bulk pipe) и каналу прерываний (interrupt pipe). Конфигурация USBконтроллера микросхемы DS2490 приведена на Рис. 10. Как показано на рисунке, введенный производителем встроенный прибор 1Wire имеет один интерфейс шины 1Wire. Реализация и управление введенными производителем специальными коман дами USB для поддержки функций 1Wire микросхемы DS2490 будет осуществляться драйвером прибо ра на уровне прибора (device level) в соответствии с иерархией классов прибора, то есть введенные про изводителем специальные команды будут передаваться на уровень прибора. Интерфейс 1Wire содер жит 4 конечные точки (endpoint), предназначенные для управления и обмена данными с прибором. Существуют четыре альтернативные установки интерфейса 1Wire, соответствующие различным режи мам работы для конечных точек. Краткие описания конечных точек и интерфейса приведены в следую щих параграфах.
Микросхема DS2490 обеспечивает возможность удаленного пробуждения по шине USB. Согласно спецификации USB, если прибор поддерживает функцию удаленного пробуждения, то он должен обес печивать также возможность включения или отключения данной функции. Кроме того, функция уда ленного пробуждения должна отключаться по умолчанию при подаче питания или после сброса прибо ра. Если функция удаленного пробуждения включена, то при обнаружении подключения прибора 1Wire микросхема DS2490 пошлет по шине USB приостановленной хостсистеме сигнал о возобновле нии работы. После этого программное обеспечение хостсистемы должно возобновить работу и опре делить, какое именно обслуживание требуется для данного прибора 1Wire.
Рис. 10. Конфигурация USB
ХОСТ USB
СИСТЕМНОЕ ПО
КЛИЕНТ
1WIRE
Канал,
используемый
по умолчанию
Канал прерываний
Канал передачи
массивов данных
Канал передачи
массивов данных
ФИЗИЧЕСКИЙ
ИНТЕРФЕЙС USB
ПРИБОР 1WIRE — USB DS2490
ИНТЕРФЕЙС 1WIRE
НУМЕРАЦИЯ USBУСТРОЙСТВ
УПРАВЛЕНИЕ USB
РЕЖИМ 1WIRE
EP0
УПРАВЛЕНИЕ 1WIRE
ОБМЕН ДАННЫМИ 1WIRE
ОБНАРУЖЕНИЕ КАСАНИЯ
EP1
СОСТОЯНИЕ ПРИБОРА
EP2
ВВОД/ВЫВОД ДАННЫХ 1WIRE
EP3
Краткое описание конечных точек (EP)
EP0 является конечной точкой для двунаправленного канала управления, используемого по умолча нию. Она используется при нумерации (enumeration) USBустройств, а также для передачи запросов ядра USB и всех специальных команд обмена данными микросхемы DS2490.
10 из 49
DS2490
EP1 является конечной точкой для канала прерываний (от прибора к хосту) и используется для пере дачи хосту данных регистра состояния и информации о завершении выполнения специальных команд микросхемы DS2490 и/или об ошибках. Эта конечная точка также используется для информирования хоста об обнаружении подключения прибора 1Wire. Требуемый период опроса для EP1 составляет ли бо 10 мс, либо 1 мс, в зависимости от альтернативной установки интерфейса 1Wire. По умолчанию пе риод опроса для EP1 устанавливается равным 10 мс.
EP2 является конечной точкой для канала вывода массивов данных (данные от хоста) и используется для передачи данных прибора 1Wire от хоста к микросхеме DS2490. Информация, принятая в этой ко нечной точке, будет передана в виде данных по шине 1Wire.
EP3 является конечной точкой для канала ввода массивов данных (данные к хосту) и используется для передачи данных, полученных микросхемой DS2490 с шины 1Wire, обратно хосту для обработки.
Краткое описание интерфейса 1Wire
Интерфейс представляет собой точку USB, объединяющую четыре конечных точки. Для интерфейса 1Wire имеются 4 альтернативные установки, которые соответствуют различным режимам работы для каналов, связанных с конечными точками EP1, EP2 и EP3. Как видно из Табл. 2, альтернативные уста новки определяют различные периоды опроса для канала прерываний и различные максимальные раз меры пакетов для двух каналов передачи массивов данных.
Таблица 2. Альтернативные установки интерфейса 1Wire
Ус т а н о в к а
0 10 мс 16 байт Большой интервал между опросами прерываний, маленький раз
1 10 мс 64 байт Большой интервал между опросами прерываний, большой размер
2 1 мс 16 байт Короткий интервал между опросами прерываний, маленький раз
3 1 мс 64 байт Короткий интервал между опросами прерываний, большой размер
Интервал
опроса EP1
Максимальный
размер пакета
для EP2/EP3
Описание альтернативной установки
мер пакета для каналов передачи массивов данных
пакета для каналов передачи массивов данных
мер пакета для каналов передачи массивов данных
пакета для каналов передачи массивов данных
Таблица 3. Характеристики конечных точек
Номер конеч
ной точки
0 УПРАВЛЕНИЕ ВХОД/ВЫХОД Установки интерфейса 0…3: 8 байт 1 ПРЕРЫВАНИЕ ВХОД Установки интерфейса 0…3: 32 байт 2 ПЕРЕДАЧА МАССИВОВ
3 ПЕРЕДАЧА МАССИВОВ
Тип транзакции
ДАННЫХ
ДАННЫХ
Направление
ВЫХОД Установка интерфейса 0: 16 байт
ВХОД Установка интерфейса 0: 16 байт
1
Максимальный размер пакета
Установка интерфейса 1: 64 байт Установка интерфейса 2: 16 байт Установка интерфейса 3: 64 байт
Установка интерфейса 1: 64 байт Установка интерфейса 2: 16 байт Установка интерфейса 3: 64 байт
1. Направление в этой таблице указано по отношению к хосту.
11 из 49
DS2490
Таблица 4. Команды ядра USB
Стандартные запросы прибору Объект Диапазон Примечания
SET_ADDRESS Прибор 0x01…0x1F SET_CONFIGURATION Прибор 0x00…0x01 1 GET_CONFIGURATION Прибор 0x00…0x01 GET_DESCRIPTOR Прибор 2 GET_INTERFACE Интерфейс 0 Интерфейс 0: 0x00…0x03 3 SET_INTERFACE Интерфейс 0 Интерфейс 0: 0x00…0x03 3 SET_FEATURE Прибор 4 CLEAR_FEATURE Прибор 4 GET_STATUS Прибор, интерфейсы,
конечные точки 0…3
Примечания:
1. Для запроса SET_CONFIGURATION допустимыми являются только два значения конфигурации: 0 и 1. Зна
чение 0 соответствует несконфигурированному состоянию.
2. Для запроса GET_DESCRIPTOR поддерживаются только два типа дескрипторов: DEVICE и
CONFIGURATION.
3. Единственным допустимым значением интерфейса для микросхемы DS2490 является Интерфейс 0.
4. Единственным допустимым параметром при выборе функции для этой команды является
DEVICE_REMOTE_WAKEUP.
5. Подразумевается, что микросхема DS2490 хотя бы частично получает питание от шины. Удаленное пробужде
ние может быть включено или отключено. При ответе на запросы GET_STATUS, направленные прибору, в по
ле бита наличия собственного источника питания будет возвращен логический 0, а в бите удаленного пробуж
дения — значение текущего состояния.
6. В спецификации USB версии 1.1 информация о состоянии на уровне ядра USB для интерфейсов не определе
на. Микросхема DS2490 всегда будет возвращать значение данных 0 в ответ на запросы GET_STATUS, обра
щенные к интерфейсам.
5, 6
Специальные команды USB, введенные производителем для DS2490
Для управления и обмена данными с микросхемой DS2490 предусмотрены введенные производите лем специальные команды трех различных типов: команды Управления, команды Обмена данными и команды Режима. Команды Управления используются для управления различными функциями прибо ра, включая обработку команд обмена данными, очистку буфера и программный сброс. Команды Об мена данными используются для ввода/вывода команд и данных 1Wire. Команды Режима используют ся для установки рабочих параметров 1Wire микросхемы DS2490, таких как скорость нарастания/спада напряжения, длительность интервала НИЗКОГО уровня, мощная подтяжка и т.д. Команды Управле ния, Обмена данными и Режима, так же как и запросы ядра USB, передаются по использующемуся по умолчанию каналу управления через конечную точку EP0. За единственным исключением, которое от мечено ниже в примечаниях, каждая команда и любые, связанные с ней данные параметров, объединя ются отдельно в 8байтный установочный пакет управляющей посылки (control transfer setup packet), имеющий следующий формат:
bmRequestType bRequest wValue wIndex wLength
Битовое поле типа запроса
(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 Команды управления интерфейсом 1Wire COMM_CMD Команды обмена данными по интерфейсу 1Wire MODE_CMD Команды режима работы интерфейса 1Wire
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» (Останов).
КОМАНДЫ РЕЖИМА
Параметры и характеристики интерфейса 1Wire микросхемы DS2490 (скорость передачи, длитель ности временных интервалов, скорость нарастания/спада напряжения и т.д.) управляются отдельными командами Режима и/или при помощи встроенных параметров команд Обмена данными. Значения па раметров и установки «включено/отключено» используются для управления параметрами интерфейса. Установки режима сохраняются в регистрах состояния (State Registers) микросхемы DS2490 и могут быть считаны в любой момент времени или в интервале опроса конечной точки EP1. Для получения более подробной информации о регистрах состояния см. раздел «Обратная связь с прибором».
Установки типа включено/отключено используются для управления тремя основными функциями:
Мощная подтяжка к +5 ВИмпульс программирования СППЗУ напряжением +12 ВДинамическое изменение скорости обмена данными по шине 1Wire при помощи команды Обмена
данными
Установки для этих трех основных настроек можно изменять только с помощью команд Режима; указанные функции могут быть включены или отключены при помощи соответствующей команды Ре
13 из 49
DS2490
жима. Для формирования мощной подтяжки, генерирования импульса программирования или изме нения скорости предусмотрены определенные команды Обмена данными. Когда соответствующая ус тановка включена, функция применима как составная часть команды Обмена данными, а когда отклю чена — функция не может использоваться.
Значения и коды параметров используются для установки и управления следующими параметрами шины 1Wire:
Скорость обмена данными по шине 1WireДлительность мощной подтяжки к +5 ВДлительность импульса программирования +12 ВСкорость спада напряжения при подтяжке внизДлительность интервала НИЗКОГО уровня при записи 1Время сдвига момента выборки данных / время восстановления при записи 0
Управление этими шестью установками осуществляется с помощью отдельных команд Режима или с помощью встроенных значений команды/параметров в командах Обмена данными.
Как говорилось выше, всего существует 8 команд Режима, которые перечислены в Табл. 5. Коды ус тановочных пакетов управляющей посылки USB для передачи этих команд подробно описаны в При ложении 3. Команды Режима обрабатываются микросхемой DS2490 сразу же после приема. Значения параметров, устанавливаемые по умолчанию после подачи питания на микросхему DS2490, приведены в Табл. 12. Управление каждой командой и параметрами подробно рассмотрено в следующих парагра фах.
Таблица 5. Команды Режима
Команда Функция
ENABLE PULSE Включает/отключает формирование импульса мощной подтяжки шины 1Wire к 5 В
и/или импульса программирования +12 В
ENABLE SPEED CHANGE
1WIRE SPEED Скорость обмена данными по шине 1Wire STRONG PULLUP
DURATION PULLDOWN SLEW
RATE PROG PULSE
DURATION WRITE1 LOW TIME Длительность интервала НИЗКОГО уровня при записи 1 на шине 1Wire DSOW0 RECOVERY
TIME
Включает/отключает динамическое изменение скорости шины 1Wire при помощи команды Обмена данными
Длительность мощной подтяжки шины 1Wire
Скорость спада при подтяжке вниз шины 1Wire
Длительность импульса программирования СППЗУ 1Wire
Время сдвига момента выборки данных 1Wire / время восстановления при записи 0
Описание команд Режима
ENABLE PULSE (Включение Импульса) — Эта команда используется для включения или отключе ния формирования импульса мощной подтяжки к 5 В и/или импульса программирования СППЗУ 12 В. Для управления состоянием «включено/отключено» для импульса каждого типа используются два бита в байте параметра. Формирование определенного импульса включено, когда соответствующий бит установлен в 1, и отключено, когда бит установлен в 0. Состоянием по умолчанию DS2490 после пода
чи питания как для мощной подтяжки, так и для импульса программирования является состояние «отклю чено».
ENABLE SPEED CHANGE (Включение изменения скорости) — Эта команда используется для вклю чения или отключения изменения скорости обмена данными по шине 1Wire. Если в команде передает ся значение параметра TRUE, изменение скорости включено, если FALSE — отключено. По умолчанию для DS2490 после подачи питания изменение скорости отключено.
14 из 49
DS2490
1WIRE SPEED (Скорость передачи по шине 1Wire) — Эта команда используется для установки скорости обмена данными по шине 1Wire; при этом возможны три варианта установки. Коды парамет ров для выбора желаемой или требуемой скорости приведены в Табл. 6. Из таблицы видно, что значе ния скорости для кодов 0x3...0xF не определены. Микросхема DS2490 декодирует 3 младших бита кода скорости шины 1Wire. Посылка кода, отличного от указанных в Табл. 6, приведет к непредсказуемому поведению микросхемы. По умолчанию для DS2490 после подачи питания устанавливается обычная ско рость обмена данными.
Таблица 6. Коды скорости шины 1Wire
Код Название скорости Скорость передачи данных
0x0 Обычная (Regular) Временной интервал 65 мкс (15.4 Кбит/с) 0x1 Гибкая (Flexible) Временной интервал от 65 до 72 мкс
(от 13.9 до 15.4 Кбит/с)
0x2 Повышенная (Overdrive) Временной интервал 10 мкс (100 Кбит/с)
0x3…0xF Зарезервировано Не определено
STRONG PULLUP DURATION (Длительность мощной подтяжки) — Эта команда используется для установки длительности действия мощной подтяжки шины 1Wire. Как указано в Табл. 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 Неопределенная 0x01 16 мс 0x02 32 мс
…… 0xFE 4.064 с 0xFF Зарезервировано
PROG PULSE DURATION (Длительность импульса программирования) — Эта команда использует
ся для установки длительности импульса программирования 1Wire. Как указано в Табл. 8, длитель ность задается с кратностью 8 мкс при помощи 8битного беззнакового двоичного числа в диапазоне 0x00…0xFE. Значение 0x00 соответствует неопределенной длительности. Значение параметра, равное 0xFF, зарезервировано и приведет к формированию прибором импульса длительностью менее 1 мкс. Для завершения формирования импульса программирования неопределенной длительности следует использовать одну из двух команд Управления: HALT EXECUTION WHEN DONE или HALT EXECUTION WHEN IDLE. Длительность импульса программирования, устанавливаемая DS2490 по умолчанию после подачи питания, составляет 51 мкс.
15 из 49
DS2490
Таблица 8. Коды длительности импульса программирования
Значение Номинальная длительность импульса программирования
0x00 Неопределенная 0x01 8 мкс 0x02 16 мкс
…… 0xFE 2.032 мс 0xFF Зарезервировано
PULLDOWN SLEW RATE (Скорость спада при подтяжке вниз) — Эта команда используется для вы
бора скорости спада при подтяжке вниз для шины 1Wire, работающей на гибкой скорости; имеется во семь возможных значений скорости спада. Коды значений параметра для выбора желаемой или требуе мой скорости спада приведены в Табл. 9. Значения скоростей спада, указанные в таблице, являются но минальными. Для обычной скорости номинальная скорость спада при подтяжке вниз составляет
0.83 В/мкс, а для повышенной скорости — 15 В/мкс. Микросхема DS2490 декодирует 3 младших бита кода скорости спада. Посылка кода, отличного от указанных в Табл. 9, приведет к непредсказуемому поведению микросхемы. По умолчанию для DS2490 после подачи питания скорость спада при подтяжке
вниз для гибкой скорости устанавливается равной 0.83 В/мкс.
Таблица 9. Коды скорости спада при подтяжке вниз
длягибкойскорости
Код Номинальная скорость спада при подтяжке вниз
0x0 15 В/мкс 0x1 2.20 В/мкс 0x2 1.65 В/мкс 0x3 1.37 В/мкс 0x4 1.10 В/мкс 0x5 0.83 В/мкс 0x6 0.70 В/мкс 0x7 0.55 В/мкс
0x8…0xF Зарезервировано
WRITE1 LOW TIME (Длительность интервала НИЗКОГО уровня при записи 1) — Эта команда ис
пользуется для выбора длительности интервала НИЗКОГО уровня при записи 1 для шины 1Wire, рабо тающей на гибкой скорости; имеется восемь возможных значений длительности. Коды значений пара метра для выбора желаемой или требуемой длительности интервала НИЗКОГО уровня приведены в Табл. 10. Значения длительности интервала, указанные в таблице, являются номинальными. Для обыч ной скорости номинальная длительность интервала НИЗКОГО уровня при записи 1 составляет 8 мкс, а для повышенной скорости — 1 мкс. Микросхема DS2490 декодирует 3 младших бита кода длительности интервала НИЗКОГО уровня. Посылка кода, отличного от указанных в Табл. 10, приведет к непредска зуемому поведению микросхемы. По умолчанию для DS2490 после подачи питания длительность интер
вала НИЗКОГО уровня при записи 1 для гибкой скорости устанавливается равной 12 мкс.
16 из 49
Таблица 10. Коды длительности интервала НИЗКОГО уровня
при записи 1 для гибкой скорости
DS2490
Код
0x0 8 мкс 0x1 9 мкс 0x2 10 мкс 0x3 11 мкс 0x4 12 мкс 0x5 13 мкс 0x6 14 мкс 0x7 15 мкс
0x8…0xF Зарезервировано
Номинальная длительность интервала НИЗКОГО уровня
при записи 1
DSOW0 RECOVERY TIME (Время восстановления DSOW0) — Эта команда используется для выбора
времени сдвига момента выборки данных (t
) / времени восстановления при записи 0 (t
DSO
) для ши
W0R
ны 1Wire, работающей на гибкой скорости; имеется восемь возможных значений параметра DSO/ W0R. Коды значений параметра для выбора желаемого или требуемого времени восстановления приве дены в Табл. 11. Значения, указанные в таблице, являются номинальными. Для обычной скорости но минальное значение параметра DSO/W0R составляет 3 мкс. Для повышенной скорости номинальное время сдвига момента выборки данных составляет 1 мкс, а номинальное время восстановления при за писи 0 — 3 мкс. Микросхема DS2490 декодирует 3 младших бита кода DSO/W0R. Посылка кода, отлич ного от указанных в Табл. 11, приведет к непредсказуемому поведению микросхемы. По умолчанию в
DS2490 после подачи питания значение параметра DSO/W0R для гибкой скорости устанавливается рав ным 7 мкс.
Таблица 11. Коды временных интервалов DSO/W0R
длягибкойскорости
Код Номинальное значение временных интервалов DSO/W0R
0x0 3 мкс 0x1 4 мкс 0x2 5 мкс 0x3 6 мкс 0x4 7 мкс 0x5 8 мкс 0x6 9 мкс 0x7 10 мкс
0x8…0xF Зарезервировано
Значения параметров режима, устанавливаемые по умолчанию после подачи питания
Значения, устанавливаемые по умолчанию для различных регистров режима микросхемы DS2490 после подачи питания, приведены в Табл. 12. Отметим, что после подачи питания по умолчанию уста навливается обычная скорость обмена данными, а некоторые значения, указанные в Табл. 12, исполь зуются только при работе в режиме гибкой скорости. Для изменения какоголибо значения необходи мо послать прибору соответствующую команду Режима или Обмена данными.
17 из 49
DS2490
Таблица 12. Значения параметров 1Wire, устанавливаемые
по умолчанию после подачи питания
Установка/Параметр Значение по умолчанию после подачи питания
Мощная подтяжка к 5 В FALSE Импульс программирования 12 В FALSE Динамическое изменение скорости FALSE Скорость обмена данными по шине 1Wire 0x0 (обычная скорость, ~16 Кбит/с) Длительность мощной подтяжки к 5 В 0x20 (512 мс) Длительность импульса программирования 12 В 0x40 (51 мкс) Управляемая скорость спада при подтяжке вниз 0x5 (0.83 В/мкс) Длительность интервала НИЗКОГО уровня при записи 1 0x4 (12 мкс) Время сдвига момента выборки данных / время восстановле
ния при записи 0
0x4 (7 мкс)
КОМАНДЫ УПРАВЛЕНИЯ
Команды Управления микросхемы DS2490 используются для управления обработкой данных/ко манд Обмена данными, а также могут использоваться для передачи Сброса прибора. Всего предусмот рено 9 команд Управления, которые перечислены в Табл. 13. Коды установочных пакетов управляющей посылки USB для передачи этих команд подробно рассмотрены в Приложении 1. Как и команды Режи ма, команды Управления обрабатываются микросхемой DS2490 сразу же после приема.
Таблица 13. Команды Управления
Команда Функция
RESET DEVICE Осуществляет аппаратный сброс START EXECUTION Запускает выполнение команды Обмена данными RESUME EXECUTION Возобновляет выполнение команды Обмена данными HALT EXECUTION WHEN IDLE Прекращает выполнение команды Обмена данными, когда шина 1Wire
находится в состоянии ожидания (Idle)
HALT EXECUTION WHEN DONE Прекращает дальнейшее выполнение команды Обмена данными после
завершения выполнения текущей команды FLUSH COMM CMDS Удаляет из буфера команд невыполняющиеся команды Обмена данными FLUSH DATA RCV BUFFER Очищает буфер приема данных (данные, поступающие от прибора 1Wire) FLUSH DATA XMT BUFFER Очищает буфер передачи данных (данные, посылаемые прибору 1Wire) GET COMM CMDS Извлекает из буфера команд невыполненные команды Обмена данными
Описание команд Управления
RESET DEVICE (Сброс прибора) — Эта команда осуществляет аппаратный сброс, эквивалентный
сбросу при включении питания. При этом очищаются буферы всех конечных точек, а в регистры управ ления Режима устанавливаются значения по умолчанию.
START EXECUTION (Запуск выполнения) — Эта команда запускает выполнение команд Обмена
данными. Кроме того, эта команда требуется для запуска выполнения команд Обмена данными при ус тановке бита IM (управление немедленным выполнением) в 0.
RESUME EXECUTION (Возобновление выполнения) — Эта команда используется для возобновле
ния выполнения команды Обмена данными, остановленной при помощи любой из команд HALT EXECUTION.
18 из 49
DS2490
HALT EXECUTION WHEN IDLE (Прекращение выполнения команды в режиме ожидания) — Эта
команда используется для прекращения выполнения текущей команды Обмена данными после возвра та шины 1Wire в состояние ожидания. Дальнейшая обработка команды Обмена данными приостанав ливается до тех пор, пока не будет принята команда 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 (данные, поступающие от прибора 1Wire). Перед обработкой команды FLUSH DATA RCV BUFFER микросхема DS2490 должна нахо диться в состоянии останова.
FLUSH DATA XMT BUFFER (Очистка буфера передачи данных) — Эта команда используется для
очистки FIFOбуфера передаваемых данных конечной точки EP2 (данные, посылаемые прибору 1Wire). Перед обработкой команды FLUSH DATA XMT BUFFER микросхема DS2490 должна нахо диться в состоянии останова.
GET COMM CMDS (Извлечение команд Обмена данными) — Эта команда используется для извле
чения невыполненных команд Обмена данными и параметров из FIFOбуфера команд. Перед обработ кой команды GET COMM CMDS микросхема DS2490 должна находиться в состоянии останова. Невы полненные команды возвращаются через конечную точку EP0 на этапе передачи данных управляющей посылки. Программное обеспечение хоста должно определять число возвращаемых байтов команд/па раметров и устанавливать соответствующее значение в поле wLength установочного пакета управляю щей посылки. Команды/параметры удаляются из FIFOбуфера по мере их передачи хосту; указатель команд, использующийся с FIFOбуфером, обновляется по мере считывания значений. Любые коман ды/параметры, которые не были переданы, остаются в FIFOбуфере и будут обрабатываться при возоб новлении выполнения команды. Если посланное значение поля wLength больше, чем число байтов ко манд/параметров, микросхема DS2490 прервет управляющую посылку при помощи короткого пакета данных.
Кроме того, команда
.
КОМАНДЫ ОБМЕНА ДАННЫМИ
Команды Обмена данными используются для управления и обмена данными с подключенным при бором (приборами) 1Wire. Микросхема DS2490 поддерживает 15 команд Обмена данными, которые приведены в Табл. 14. Команды Обмена данными содержат также встроенные командные биты, обес печивающие условное управление или дополнительную функциональность. В Приложении 2 подробно рассмотрены формат и назначение встроенных битов команд, а также коды установочного пакета уп равляющей посылки для передачи данных команды/параметров микросхеме DS2490.
В отличие от команд Режима и Управления, обработка команд Обмена данными управляется про граммным обеспечением хоста путем установки встроенных битов соответствующей команды Обмена данными. Например, поддерживается чтото вроде макрокоманд, когда несколько команд Обмена дан ными и данные параметров посылаются в DS2490, буферизуются, а затем обрабатываются как одна группа. Для создания наборов макрокоманд используется встроенный командный бит ICP. Кроме того, для команд Обмена данными, в отличие от команд Управления и Режима, существует несколько спосо бов контроля с тем, чтобы программное обеспечение хоста могло отслеживать процесс обработки ко манд.
19 из 49
DS2490
В зависимости от установок встроенных битов ICP и NTF команд Обмена данными (см. Приложе ние 2) в регистре результатов (Result Register) может генерироваться соответствующее значение для обеспечения обратной связи с хостом в процессе обработки команды. Состояние буфера команд Обме на данными (FIFO) и буферов приема/передачи данных 1Wire (EP2/3 FIFO) также может контролиро ваться с помощью регистров состояния (State Registers). Для получения более подробной информации по контролю команд см. раздел «Обратная связь с прибором».
Таблица 14. Команды Обмена данными
Команда Функция
SET DURATION Изменяет длительность мощной подтяжки или импульса программиро
вания
PULSE Осуществляет мощную подтяжку или генерирует импульс программи
рования 1WIRE RESET Генерирует импульс сброса шины 1Wire BIT I/O Считывает/записывает один бит данных 1Wire BYTE I/O Считывает/записывает один байт данных 1Wire BLOCK I/O Считывает/записывает блок данных 1Wire MATCH ACCESS Адресует прибор на шине 1Wire READ STRAIGHT Передает заголовок данных и считывает данные обратно DO & RELEASE Управляет работой CPU криптографических iButton SET PATH Активирует группу ответвителей, обеспечивающих доступ к требуемому
прибору 1Wire WRITE SRAM PAGE Записывает данные в блокнотную память прибора SRAM 1Wire WRITE EPROM Записывает данные непосредственно в память данных или в память со
стояния прибора СППЗУ 1Wire READ CRC PROT PAGE Считывает защищенные с помощью CRC страницы прибора СППЗУ
1Wire или байты, предназначенные для обнаружения несанкциониро
ванного доступа, и значение счетчика денежных iButton READ REDIRECT PAGE W/CRC Считывает одну страницу данных и проверяет CRC. Отслеживает пере
адресации страницы в случае соответствующей установки SEARCH ACCESS Обеспечивает доступ к прибору при помощи команды Поиск ПЗУ или
идентифицирует приборы в активных сегментах сети 1Wire
Описание команд Обмена данными
SET DURATION (Установка длительности) — Эта команда изменяет значение длительности импуль
са в регистре состояния либо для импульса программирования +12 В, либо для мощной подтяжки. Но вое значение длительности загружается в соответствующий регистр длительности, задаваемый встроен ным параметром TYPE команды, как описано в Приложении 2. Значения длительности также можно изменять, используя команду Режима. Новая установка длительности остается действующей до ее из менения следующей командой SET DURATION или командой Режима. Об установке значений пара метра длительности см. раздел «Команды Режима».
Примечание.
Формирование импульса неопределенной длительности завершается при помощи любой из команд Управления HALT EXECUTION. Для возобновления активности на шине 1Wire после такого заверше ния следует использовать команду Управления RESUME EXECUTION.
20 из 49
DS2490
Параметры команды: Данные EP2: Данные EP3: Регистр результатов:
1 байт, задающий новую длительность Отсутствуют, эта команда использует в качестве входных данных параметр команды Отсутствуют Если ICP = 1: данные результата не генерируются.
Если ICP = 0 и NTF = 1: будет генерироваться значение результата 0x00. Если ICP = 0 и NTF = 0: данные результата не генерируются, поскольку отсутствуют коды ошибок, связанные с этой командой
PULSE (Импульс) — Эта команда используется для временного подтягивания шины 1Wire к +12 В, чтобы обеспечить программирование приборов СППЗУ, или формирования мощной подтяжки к +5 В для подачи дополнительной энергии подключенному прибору iButton, например датчику температуры или криптографическому iButton. Тип импульса определяется значением встроенного бита параметра TYPE. Длительность импульса определяется значением в соответствующем регистре режима (импульс программирования или мощной подтяжки). Для определения наличия напряжения программирования +12 В (V
Параметры команды: Данные EP2: Данные EP3:
) используется бит 12VP байта флагов состояния прибора (2й бит), см. Табл. 17.
PP
Отсутствуют Отсутствуют Отсутствуют
Регистр результатов: Код Условие
VPP ICP = 0, NTF = 0 или 1: напряжение +12 В не обнаружено 0x00 ICP = 0, NTF = 1: ошибок не обнаружено Отсутствует ICP = 0, NTF = 0: ошибок не обнаружено Отсутствует ICP = 1
1WIRE RESET (Сброс шины 1Wire) — Эта команда используется для генерирования импульса сброса на шине 1Wire и, как опция, для изменения скорости 1Wire. Новая скорость будет действовать только в том случае, если встроенный командный бит SE будет установлен в 1. Если команда 1WIRE RESET посылается после команды Ускоренный пропуск ПЗУ, бит SE должен быть установлен в 1, а код новой скорости должен быть 0x02. Дополнительную информацию о скорости обмена данными см. в разделе «Команды Режима». Для переключения обратно на обычную скорость следует установить бит SE = 1 и новое значение параметра скорости 0x00 (обычная скорость) или 0x01 (гибкая скорость).
Параметры команды: Данные EP2: Данные EP3:
1 байт, задающий новую скорость после сброса Отсутствуют Отсутствуют
Регистр результатов: Код Условие
SH, NRS, APP ICP = 0, NTF = 0 или 1: нестандартная ситуация или был обнару
жен сигнальный импульс присутствия
0x00 ICP = 0, NTF = 1: ошибок не обнаружено Отсутствует ICP = 0, NTF = 0: ошибок не обнаружено Отсутствует ICP = 1
BIT I/O (Чтение/запись бита) — Эта команда генерирует один временной интервал на шине 1Wire и считывает ответ. Бит данных d3 (D) 1го байта команды определяет значение, которое будет записано на шину 1Wire. После окончания этого временного интервала, как опция, может подключаться мощ ная подтяжка. Для этого используются встроенные командные биты SPU и CIB. При CIB = 1 требуемая мощная подтяжка будет осуществляться, только если с шины будет считан 0. Возврат данных хосту про исходит лишь в том случае, если встроенный бит ICP = 0. Если ICP = 0, то считанный из прибора
21 из 49
DS2490
1Wire бит сохраняется в FIFOбуфере конечной точки EP3 и считывается хостом, используя транзак цию массивов данных через EP3.
Параметры команды: Данные EP2:
Отсутствуют Отсутствуют, эта команда использует в качестве входных данных параметр команды
Данные EP3: Длина Описание
Если ICP = 0: 1 байт Бит, считанный из прибора 1Wire Если 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 (Чтение/запись байта) — Эта команда осуществляет непосредственную запись или чтение шины 1Wire, и, как опция, подключает мощную подтяжку после считывания/записи последнего бита байта. Возможность подключения мощной подтяжки управляется с помощью встроенного командного бита SPU. При операции записи байт данных, который должен записываться, включается в установоч ный пакет команды, как описано в Приложении 2. При операции чтения значение байта данных уста новочного пакета должно быть равно 0xFF. Возврат данных хосту происходит только в том случае, если встроенный бит ICP = 0. Если ICP = 0, то считанный из прибора 1Wire байт сохраняется в FIFOбуфе ре конечной точки EP3 и считывается хостом, используя транзакцию массивов данных через EP3.
Параметры команды:
Данные EP2:
1 байт: байт данных, посылаемых на шину 1Wire. При операциях чтения этот байт дол жен быть равен 0xFF
Отсутствуют, эта команда использует в качестве входных данных параметр команды
Данные EP3: Длина Описание
Если ICP = 0: 1 байт Байт, считанный из прибора 1Wire Если ICP = 1: Отсутствует Возвращаемые данные отсутствуют
Регистр результатов:
Если ICP = 1: данные результата не генерируются. Если ICP = 0 и NTF = 1: будет генерироваться значение результата 0x00. Если ICP = 0 и NTF = 0: данные результата не генерируются, поскольку отсутствуют коды ошибок, связанные с этой командой
BLOCK I/O (Чтение/запись блока) — Эта команда осуществляет непосредственную запись или чте ние шины 1Wire и, как опция, подключает мощную подтяжку после считывания/записи последнего байта блока. Возможность подключения мощной подтяжки управляется с помощью встроенного ко мандного бита SPU. Встроенный бит RST включает сброс шины 1Wire перед выполнением команды. Для выполнения функции Чтение все байты входных данных должны быть равны 0xFF, в противном случае произойдет маскирование данных, считываемых с шины 1Wire. Для записи блока данные перед выполнением команды должны быть предварительно помещены в FIFOбуфер конечной точки EP2. Кроме того, в том случае, если размер блока данных превышает размер буфера, программное обеспече ние хоста должно контролировать состояние содержимого FIFOбуфера с тем, чтобы дополнительные данные посылались в него постепенно, по мере необходимости. Точно также следует отслеживать со стояние FIFOбуфера конечной точки EP3 при операциях чтения блоков данных. Во время чтения бло ка необходимо следить за числом байтов, загруженных в FIFOбуфер конечной точки EP3, для того чтобы считать данные из буфера прежде, чем произойдет его переполнение.
22 из 49
DS2490
Параметры команды:
2 байта, задающие размер блока
Данные EP2: Длина Описание
Равна размеру блока Блок данных, которые должны записываться в прибор 1Wire
Данные EP3: Длина Описание
Равна размеру блока Блок данных, считанных из прибора 1Wire
Регистр результатов:
Если ICP = 1: данные результата не генерируются. Если ICP = 0 и NTF = 1: будет генерироваться значение результата 0x00. Если ICP = 0 и NTF = 0: данные результата не генерируются, поскольку отсутствуют коды ошибок, связанные с этой командой
MATCH ACCESS (Адресация путем сравнения) — Эта команда используется для адресации прибора, подключенного к активной секции шины 1Wire, с помощью кода команд Сравнение ПЗУ или Уско ренное сравнение ПЗУ. Перед выполнением команды в FIFOбуфер конечной точки EP2 должен быть предварительно помещен 8байтный идентификатор ПЗУ требуемого прибора. Встроенный команд ный бит RST включает сброс шины 1Wire перед выполнением команды, а встроенный бит SE включа ет изменение скорости шины 1Wire, действующей до начала выполнения команды.
Параметры команды:
2 байта: байт команды сравнения, байт новой скорости 1Wire (опция)
Данные EP2: Длина Описание
8 байт Идентификатор ПЗУ адресуемого прибора
Данные EP3: Регистр результатов:
Отсутствуют Если ICP = 1: данные результата не генерируются.
Если ICP = 0 и NTF = 1: будет генерироваться значение результата 0x00. Если ICP = 0 и NTF = 0: данные результата не генерируются, поскольку отсутствуют коды ошибок, связанные с этой командой
READ STRAIGHT (Непосредственное чтение) — Эта команда передает на шину 1Wire определяе мый пользователем заголовок данных и затем считывает с шины заданное число байтов. Как правило, заголовок состоит из кода команды 1Wire, за которым следуют байты TA1 и TA2. Например, в заголо вок можно включить команду Сравнение ПЗУ и идентификатор ПЗУ, для того чтобы адресовать при бор на текущей скорости. Эта команда также может быть использована для копирования блокнотной памяти или отключения ветви сети. Встроенный командный бит RST включает сброс шины 1Wire пе ред выполнением команды. Перед выполнением команды в FIFOбуфер конечной точки EP2 должны быть предварительно помещены данные заголовка. Кроме того, в том случае, если размер заголовка превышает размер буфера, программное обеспечение хоста должно контролировать состояние содер жимого FIFOбуфера с тем, чтобы дополнительные данные посылались в него постепенно, по мере не обходимости. Точно также следует отслеживать состояние FIFOбуфера конечной точки EP3 при опе рациях чтения блоков данных. Во время чтения блока необходимо следить за числом байтов, загружен ных в FIFOбуфер конечной точки EP3, для того чтобы считать данные из буфера прежде, чем произойдет его переполнение.
23 из 49
DS2490
Параметры команды:
3 байта: 2байтный параметр, задающий размер считываемого блока; 1 байт, задающий размер заголовка
Данные EP2: Длина Описание
Равна размеру заголовка Данные заголовка, которые должны записываться в прибор
1Wire
Данные EP3: Длина Описание
Равна размеру блока Блок данных, считанных из прибора 1Wire
Регистр результатов:
Если ICP = 1: данные результата не генерируются. Если ICP = 0 и NTF = 1: будет генерироваться значение результата 0x00. Если ICP = 0 и NTF = 0: данные результата не генерируются, поскольку отсутствуют коды ошибок, связанные с этой командой
DO & RELEASE — Эта команда обычно используется для управления работой CPU криптографи ческих iButton, которые требуют отключающей последовательности. Также эта команда может исполь зоваться для считывания или записи буфера ввода/вывода (I/O) или регистра состояния криптографи ческого iButton. Короткий заголовок (3 байта) состоит из кода команды 1Wire, за которым следует от ключающая последовательность. Четырехбайтный заголовок с встроенным командным битом R = 1 состоит из кода команды 1Wire, за которым следуют байт длины и отключающая последовательность. Четырехбайтный заголовок с встроенным командным битом R = 0 состоит из кода команды 1Wire, за которым следуют байт состояния и отключающая последовательность. Длинный заголовок (не менее 5 байтов, встроенный командный бит R = 0) состоит из кода команды 1Wire, байта длины, байтов дан ных и отключающей последовательности. В последнем случае байт длины указывает общее число бай тов данных между байтом длины и отключающей последовательностью. Младший байт отключающей последовательности передается первым. При попытке запустить (начать, продолжить работу) CPU криптографического iButton встроенный командный бит SPU должен быть установлен в 1. Во всех ос тальных случаях SPU должен быть установлен в 0. Кроме того, для очистки буфера команд Обмена дан ными и FIFOбуферов конечных точек EP2 и EP3 в случае возникновения ошибки во время выполне ния данной команды может быть использован встроенный командный бит F. Перед выполнением ко манды в FIFOбуфер конечной точки EP2 должны быть предварительно помещены данные заголовка. Помимо этого, в том случае, если размер заголовка превышает размер FIFOбуфера, программное обеспечение хоста должно контролировать состояние содержимого буфера с тем, чтобы дополнитель ные данные посылались в него постепенно, по мере необходимости.
Точно также следует отслеживать состояние FIFOбуфера конечной точки EP3 при операциях чте ния блоков данных. Во время чтения блоков необходимо следить за числом байтов, загруженных в FIFOбуфер конечной точки EP3, для того чтобы считать данные из буфера прежде, чем произойдет его переполнение.
24 из 49
DS2490
Параметры команды:
1 байт, задающий размер заголовка
Данные EP2: Длина Описание
Равна размеру заголовка
Данные заголовка, которые должны записываться в прибор 1Wire
Данные EP3: Длина Описание
Если R = 1 и размер
заголовка 4:
Если R = 0 Отсутствует Данные не возвращаются (операция записи)
Как указано во 2м байте заголовка
Данные, считанные из прибора 1Wire
Регистр результатов: Код Условие
CRC, CMP ICP = 0, NTF = 0 или 1: неверное значение CRC или не принята
отключающая последовательность 0x00 ICP = 0, NTF = 1: ошибок не обнаружено Отсутствует ICP = 0, NTF = 0: ошибок не обнаружено Отсутствует ICP = 1
SET PATH (Установка пути) — Эта команда используется для активирования группы ответвителей,
которые в конечном счете обеспечивают доступ к требуемому прибору 1Wire. Встроенный командный бит RST включает сброс шины 1Wire перед выполнением команды. Кроме того, для очистки буфера команд Обмена данными и FIFOбуферов конечных точек EP2 и EP3 в случае возникновения ошибки во время выполнения команды может быть использован встроенный командный бит F. Перед выполне нием команды в FIFOбуфер конечной точки EP2 должны быть предварительно помещены данные от ветвителей. Помимо этого, если размер данных для ответвителей превышает размер FIFOбуфера ко нечной точки EP2, программное обеспечение хоста должно контролировать состояние содержимого FIFOбуфера с тем, чтобы дополнительные данные посылались в него постепенно, по мере необходи мости. После завершения выполнения команды, в FIFOбуфер конечной точки EP3 загружается 1байтное значение, указывающее число активированных ответвителей. Код ошибки NRS показывает, что в подключенной ветви шины не было обнаружено импульса присутствия.
Параметры команды:
1 байт, задающий число ответвителей, которые необходимо активировать для установки пути к требуемому прибору
Данные EP2: Длина Описание
9 байтов на уровень
8байтный идентификатор ПЗУ активируемого ответвителя, за кото рым следует код команды SmartOn для подключения основного или дополнительного выхода ответвителя 1Wire
Данные EP3: Длина Описание
1 байт Число успешно активированных ответвителей; должно быть равно
числу уровней
Регистр результатов: Код Условие
CMP, SH, NRS ICP = 0, NTF = 0 или 1: обнаружена ошибка 0x00 ICP = 0, NTF = 1: ошибок не обнаружено Отсутствует ICP = 0, NTF = 0: ошибок не обнаружено Отсутствует ICP = 1
WRITE SRAM PAGE (Запись страницы SRAM) — Эта команда используется для записи данных в
блокнотную память прибора SRAM (статическое ОЗУ) и, как опция, для проверки CRC. Для копирова ния данных в память окончательного хранения данных, необходимо послать команду READ STRAIGHT с заголовком «копировать блокнотную память» и нулевым размером блока. Встроенный командный бит DT = 1 активирует генератор CRC16. Эта команда может также применяться к функ ции Запись IPR криптографических iButton, если встроенный командный бит CIB = 1. Для записи не
25 из 49
DS2490
полной страницы необходимо соответствующим образом установить параметр размера страницы и ад рес назначения. Перед выполнением команды в FIFOбуфер конечной точки EP2 должны быть предва рительно помещены заголовок и данные SRAM. Кроме того, если размер страницы данных превышает размер FIFOбуфера конечной точки EP2, программное обеспечение хоста должно контролировать со стояние содержимого буфера с тем, чтобы дополнительные данные посылались в него постепенно, по мере необходимости.
Параметры команды:
1 байт, задающий размер страницы. Этот параметр определяет число байтов, посылае мых прибору 1Wire вслед за 2 или 3байтным заголовком. Обычно это число равно размеру страницы памяти прибора; значение 0x00 соответствует странице размером 256 байтов
Данные EP2: Длина Описание
Если CIB = 0: 3 байта + размер
Если CIB = 1: 2 байта + размер
Данные EP3:
страницы
страницы Отсутствуют
Заголовок и данные, посылаемые прибору SRAM 1Wire. Состав 3байтного заголовка: код команды 1Wire, TA1, TA2 (тип.)
Заголовок и данные, посылаемые прибору SRAM 1Wire. Состав 2байтного заголовка: код команды 1Wire, длина
Регистр результатов: Код Условие
CRC ICP = 0, NTF = 0 или 1: обнаружена ошибка (только если DT = 1) 0x00 ICP = 0, NTF = 1: ошибок не обнаружено Отсутствует ICP = 0, NTF = 0: ошибок не обнаружено Отсутствует ICP = 1
WRITE EPROM (Запись СППЗУ) — Эта команда используется для записи данных непосредственно
в память данных или память состояния прибора СППЗУ 1Wire. Если встроенный командный бит DT = 1, выбирается генератор CRC16; если DT = 0, то используется CRC8. Встроенный командный бит Z определяет метод, используемый для сопоставления данных, записанных в прибор 1Wire. Кроме того, для очистки буфера команд Обмена данными и FIFOбуферов конечных точек EP2 и EP3 в случае возникновения ошибки при выполнении команды может быть использован встроенный командный бит F. Перед выполнением команды в FIFOбуфер конечной точки EP2 должны быть предварительно помещены заголовок и данные СППЗУ. Помимо этого, если размер блока данных превышает размер FIFOбуфера конечной точки EP2, программное обеспечение хоста должно контролировать состояние содержимого FIFOбуфера с тем, чтобы дополнительные данные посылались в него постепенно, по ме ре необходимости.
Параметры команды:
2 байта, задающие размер блока
Данные EP2: Длина Описание
Данные EP3:
3 байта + размер блока
Отсутствуют
Заголовок и данные, посылаемые прибору СППЗУ 1Wire. Состав 3байтного заголовка: код команды 1Wire, TA1, TA2 (тип.)
Регистр результатов: Код Условие
CRC, CMP, VPP ICP = 0, NTF = 0 или 1: обнаружена ошибка 0x00 ICP = 0, NTF = 1: ошибок не обнаружено Отсутствует ICP = 0, NTF = 0: ошибок не обнаружено Отсутствует ICP = 1
READ CRC PROT PAGE (Чтение страницы, защищенной CRC) — Эта команда используется для чте
ния одной или нескольких страниц, защищенных CRC, из приборов CППЗУ 1Wire, а также для считы вания байтов обнаружения несанкционированного доступа и значения счетчика денежных iButton. Если встроенный командный бит DT = 1, выбирается генератор CRC16; если DT = 0, то используется
26 из 49
DS2490
CRC8. Встроенный командный бит 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байтный заголовок: код команды 1Wire, TA1, TA2 (тип.) Если CIB = 1: 2 байта 2байтный заголовок: код команды 1Wire, длина
Данные EP3: Длина Описание
(размер страницы × число страниц)
Данные, считанные из прибора 1Wire
Регистр результатов: Код Условие
CRC ICP = 0, NTF = 0 или 1: обнаружена ошибка 0x00 ICP = 0, NTF = 1: ошибок не обнаружено Отсутствует ICP = 0, NTF = 0: ошибок не обнаружено Отсутствует ICP = 1
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байтный идентификатор ПЗУ адресуемого прибора 1Wire, за
которым следует код команды 1Wire для «Расширенного чтения памяти» (Extended Read Memory)
Данные EP3: Длина Описание
Если CH = 1 или страница
не переадресована
Если CH = 0 и страница
переадресована
1 байт + размер страницы
1 байт Номер страницы, на которую была переадресована требуемая
Номер страницы и ее содержимое
страница
Регистр результатов: Код Условие
RDP, CRC, NRS ICP = 0, NTF = 0 или 1: обнаружена ошибка 0x00 ICP = 0, NTF = 1: ошибок не обнаружено Отсутствует ICP = 0, NTF = 0: ошибок не обнаружено Отсутствует ICP = 1
SEARCH ACCESS (Адресация путем поиска) — Команда SEARCH ACCESS используется либо для
адресации прибора при помощи команды Поиск ПЗУ, либо для идентификации приборов, подключен ных к активным сегментам сети 1Wire. Тип поиска определяется значением встроенного командного бита SM. Встроенный бит RTS используется для управления информацией о несовпадении. Кроме то го, для очистки буфера команд Обмена данными и FIFOбуферов конечных точек EP2 и EP3 в случае возникновения ошибки при выполнении команды может быть использован встроенный командный бит F. Код ошибки NRS указывает на то, что при поиске ПЗУ, по крайней мере, на один из 64х битов не было получено ответа. Перед выполнением команды в FIFOбуфер конечной точки EP2 должны быть предварительно помещены данные идентификатора ПЗУ.
Если размер возвращаемых данных пре вышает размер FIFOбуфера конечной точки EP3, то, чтобы избежать переполнения, во время выполне ния команды необходимо контролировать состояние буфера (и, при необходимости, считывать из него)
.
Параметры команды:
2 байта: 1 байт — команда 1Wire (Поиск ПЗУ или Условный поиск ПЗУ), 1 байт — чис ло приборов. Байт числа приборов определяет максимальное число приборов, которые будут обнаружены во время одного вызова команды. Значение 0x00 указывает на то, что будут обнаружены все приборы, присутствующие в сети 1Wire
Данные EP2: Длина Описание
8 байт Идентификатор ПЗУ адресуемого прибора 1Wire (SM = 0) или
идентификатор ПЗУ, с которого начнется процесс поиска (SM = 1)
Данные EP3: Длина Описание
Если SM = 0: Отсутствует Возвращаемые данные отсутствуют
Если SM = 1:
Переменная, 8байтные блоки
Идентификаторы ПЗУ обнаруженных приборов, за которыми следу ют 8 байтов данных о несовпадении (если RTS = 1 и число приборов в сети 1Wire превышает значение, указанное во втором параметре)
Регистр результатов: Код Условие
EOS, NRS ICP = 0, NTF = 0 или 1: обнаружена ошибка 0x00 ICP = 0, NTF = 1: ошибок не обнаружено Отсутствует ICP = 0, NTF = 0: ошибок не обнаружено Отсутствует ICP = 1
28 из 49
DS2490
ОБРАТНАЯ СВЯЗЬ С ПРИБОРОМ
Обратная связь микросхемы DS2490 с хостом (передача данных регистров состояния и результатов) осуществляется через канал прерываний из конечной точки EP1. Управление периодом опроса преры ваний хоста для передачи данных из конечной точки EP1 осуществляется с помощью альтернативной установки интерфейса USB — 1Wire, как описано в разделе «Краткое описание интерфейса 1Wire». Как указано в Табл. 16, хосту может передаваться до 32 байтов данных обратной связи. В каждом интер вале опроса (или при входной транзакции USB к конечной точке EP1) будет передаваться, как мини мум, 16 байтов данных регистра состояния; позиции и описания этих значений данных приведены в Табл. 17. Кроме того, как указано в Табл. 18, с данными обратной связи может быть дополнительно пе редано от 0 до 16 байтов данных регистров результата. Эти данные содержат результат обработки ко манды Обмена данными, определяемый состоянием встроенных командных битов ICP и NTF, а также байтов уведомления, предназначенных для обнаружения подключения прибора 1Wire. Если для пере дачи данных обратной связи имеется менее 32 байтов данных регистров результатов и состояния, то микросхема DS2490 прервет входную транзакцию коротким или нулевым пакетом данных.
Данные, загружаемые в буфер регистра результатов, зависят от состояния встроенных битов NTF и ICP команды Обмена данными или от обнаружения подключения прибора 1Wire. Величина смещения для значений данных в этом буфере не определена. Поэтому хост должен знать порядок следования ко манд Обмена данными, посылаемых микросхеме DS2490, для того чтобы правильно интерпретировать значения возвращаемых данных. Кроме того, необходимо анализировать данные, чтобы определить, содержат ли они значение, указывающее на обнаружение прибора 1Wire; байт обнаружения прибора 1Wire имеет уникальное значение. Значения байта обнаружения прибора 1Wire и данных результата обработки команд Обмена данными приведены в Табл. 19.
Таблица 16. Данные, передаваемые при прерывании
Смещение Данные
0x00…0x0F РЕГИСТРЫ СОСТОЯНИЯ
0x10…0x1F
Примечания:
1. Число значений регистра результатов будет меняться в зависимости от установок встроенных битов NTF и ICP
команды Обмена данными, числа команд Обмена данными, обработанных за время, прошедшее с предыдуще
го периода опроса конечной точки EP1, или от того, был ли обнаружен прибор 1Wire.
1
РЕГИСТРЫ РЕЗУЛЬТАТОВ
Таблица 17. Регистры состояния микросхемы DS2490
Описание
Флаги включения 0x00 Бит 7 Бит 6 Бит 5 Бит 4 Бит 3 Бит 2 Бит 1 Бит 0
Скорость шины 1Wire 0x01 Код текущей скорости шины 1Wire Длительность мощной
подтяжки
Сме
щение
—————SPCEPRGESPUE
Описание битов:
SPUE Если установлен в 1, то мощная подтяжка к 5 В включена,
если установлен в 0 — отключена
PRGE Если установлен в 1, то импульс программирования 12 В
включен, если установлен в 0 — отключен
SPCE Если установлен в 1, то динамическое изменение скорости
шины 1Wire с помощью команд Обмена данными включено, если установлен в 0 — отключено
Биты 3…7 Эти биты зарезервированы
0x02 Текущая длительность подтяжки
Данные
29 из 49
DS2490
Описание
Длительность импульса программирования
Управление скоростью спада при подтяжке вниз
Длительность интервала НИЗКОГО уровня при записи 1
Время сдвига момента выбор ки данных / Время восстановления при записи 0
Зарезервировано (контрольный регистр)
Флаги состояния прибора 0x08 Бит 7 Бит 6 Бит 5 Бит 4 Бит 3 Бит 2 Бит 1 Бит 0
Сме
щение
0x03 Текущая длительность импульса программирования
0x04 Код текущей скорости спада при подтяжке вниз
0x05 Код текущей длительности интервала НИЗКОГО уровня при записи 1
0x06 Код текущего значения времени сдвига момента выборки данных /
времени восстановления при записи 0
0x07 Зарезервировано
EP0F IDLE HALT PMOD 12VP PRGA SPUA
Описание битов:
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й байт
Состояние буфера команд Обмена данными
Состояние буфера выходных данных 1Wire
0x09 Команда Обмена данными, обрабатываемая в настоящий момент. Если
прибор находится в режиме ожидания, посылается значение регистра 0x00
0x0A Команда Обмена данными, обрабатываемая в настоящий момент. Если
прибор находится в режиме ожидания, посылается значение регистра 0x00
0x0B Число байтов данных, находящихся в данный момент в 16байтном
FIFOбуфере, предназначенном для хранения команд Обмена данными
0x0C Число байтов данных, находящихся в данный момент в 128байтном
FIFOбуфере, который используется для записи данных на шину 1Wire
30 из 49
DS2490
Описание
Состояние буфера входных данных 1Wire
Зарезервировано (контрольный регистр)
Зарезервировано (контрольный регистр)
Примечания:
1. Если бит EP0F установлен в 1, это означает, что FIFOбуфер конечной точки EP0 во время приема нового уста новочного пакета управляющей посылки был полон. Такое условие свидетельствует об ошибке, при этом при нятый установочный пакет сбрасывается изза переполнения. Для восстановления из этого состояния хост USB должен послать команду CTL_RESET_DEVICE; восстановление прибора произойдет также и при вы полнении цикла сброса после подачи питания. Заметим, что DS2490 примет и обработает команду CTL_RESET_DEVICE при условии, что бит EP0F = 1. Если бит EP0F = 0, значит, состояние ошибки FIFO от сутствует.
Сме
щение
0x0D Число байтов данных, находящихся в данный момент в 128байтном
FIFOбуфере, который используется для считывания данных с шины 1Wire
0x0E Зарезервировано
0x0F Зарезервировано
Данные
Таблица 18. Регистры результата DS2490
Смещение
1, 2
0x10 Значение 0x11 Значение
……
0x1F Значение
Данные
Примечания:
1. Поскольку при передаче прерываний регистры результатов следуют за регистрами состояния, начальное зна чение смещения, указанное в Табл. 18 для регистров результатов, передается следом за последним значением регистров состояния, приведенным в Табл. 17.
2. Число значений регистров результатов будет меняться в зависимости от установок встроенных битов NTF и ICP команды Обмена данными, числа команд Обмена данными, обработанных за время, прошедшее с преды дущего периода опроса конечной точки EP1, или от того, был ли обнаружен прибор 1Wire.
31 из 49
Таблица 19. Значения регистров результатов DS2490
DS2490
Описание значе
ния данных
Байт обнаружения прибора 1Wire
Байт флагов оши бок команд Обмена данными
Данные
0xA5
Бит 7 Бит 6 Бит 5 Бит 4 Бит 3 Бит 2 Бит 1 Бит 0
EOS RDP CRC CMP VPP APP SH NRS
Описание битов:
EOS Значение 1 указывает, что выполнение команды SEARCH ACCESS при SM = 1
завершилось раньше, чем ожидалось, сообщив о меньшем числе найденных иден тификаторов ПЗУ, чем было задано в параметре «число приборов»
RDP Значение 1 указывает, что при выполнении команды READ REDIRECT PAGE
W/CRC была обнаружена переадресованная страница
CRC Значение 1 указывает, что произошла ошибка CRC при выполнении одной из сле
дующих команд: WRITE SRAM PAGE, WRITE EPROM, READ CRC PROT PAGE или READ REDIRECT PAGE W/CRC
CMP Значение 1 указывает, что произошла одна из следующих ошибок:
Ошибка при чтении байта подтверждения с помощью команды SET PATH. Не удача программирования при выполнении команды WRITE EPROM. Обнаруже но отличие между записанным и считанным байтом при выполнении команды BYTE I/O
VPP Значение 1 указывает, что при выполнении команды PULSE при TYPE = 1 или ко
манды WRITE EPROM на шине 1WIRE не было обнаружено импульса програм мирования 12 В; это может означать, что на шине присутствуют другие приборы, ограничивающие напряжение на уровне ниже V са программирования было отключено по команде Режима
APP Значение 1 указывает, что при выполнении команды 1WIRE RESET был обнару
жен сигнальный импульс присутствия
SH Значение 1 указывает, что при выполнении команды 1WIRE RESET было обнару
жено короткое замыкание шины 1Wire или что при выполнении команды SET PATH не удалось подключить ветвь сети изза короткого замыкания
NRS Значение 1 указывает на возникновение одной из следующих ошибок:
При выполнении команды 1WIRE 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–
33 33
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 Температура пайки См. спецификацию JSTD020A
* Это только предельные значения, и функционирование прибора при этих или любых других условиях за пре
делами значений, указанных в разделах данной спецификации, не предполагается. Работа в условиях предель нодопустимого режима в течение длительного времени может привести к снижению надежности.
РЕКОМЕНДУЕМЫЕ УСЛОВИЯ РАБОТЫ (DC)
Параметр
Обозначение Min Max
Напряжение питания интерфейса USB V Напряжение питания цифровой части
B
V
D
3.0 3.6 В 1, 3
4.4 5.5 В 1, 3
Единица
измерения
Примеча
ния
микросхемы Напряжение питания для программиро
V
PP
11.75 12.25 В 1, 3 вания СППЗУ (программирование поддерживается)
Напряжение питания для программиро
V
PP
4.4 5.5 В 1, 2, 3 вания СППЗУ (программирование не поддерживается)
Рабочая температура T
A
07С
Примечания:
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+/– шины USB V Напряжение ВЫСОКОГО уровня на входе шины 1Wire V Напряжение НИЗКОГО уровня на входе шины 1Wire V Напряжение НИЗКОГО уровня на выходе SUSO
при токе 4 мА Порог включения таймера активной подтяжки вверх V
34 из 49
D
B
DS
BS
PP
V
IHU
ILU
IH1
IL1
V
OL(SUSO)
IAPTOVD
Min Max
Единица
измерения
Приме
чания
20 мА 4
А4
490 мкА 5
10 мкА 5
7.3 мкА 1
2.35 VB + 0.3 В 6
–0.3 0.7 В 6
3.55 VD + 0.3 В 6
–0.3 1.35 В 6
100 мВ 6
– 1.75 VD – 0.3 В 6
DS2490
Параметр Обозна
чение
Порог включения активной подтяжки вверх V Ток слабой подтяжки вверх шины 1Wire I Ток активной подтяжки вверх шины 1Wire I Падение напряжения мощной подтяжки при токе нагрузки
IAPO
WEAKPU
ACTP U
V
STRPU
Min Max
0.25 1.1 В 6
0.9 6.0 мА
5.9 30.4 мА
170 1540 мВ 2
Единица
измерения
по выводу 1WIRE 50 мА Падение напряжения программирования при токе нагрузки
V
PROG
65 440 мВ 3
по выводу 1WIRE 10 мА Пороговое напряжение датчика V
PP
V
PPTRIP
6.9 10.0 В 6
Примечания:
1. Справедливо только в том случае, если подключен источник питания 12 В (V
). Если выводы VPP и VD соеди
PP
нены, ток не превышает 1 мкА.
2. Разность напряжений между выводами V
3. Разность напряжений между выводами V
и 1WIRE.
D
и 1WIRE.
PP
4. Справедливо как для сконфигурированного, так и для несконфигурированного состояния USB.
5. Справедливо для состояния приостановки по шине USB.
6. Напряжение указано относительно земли.
ЭЛЕКТРИЧЕСКИЕ ХАРАКТЕРИСТИКИ, ДИНАМИЧЕСКИЕ
При TA = 0…+70°C,
= 4.4…5.5 В, VB = 3.0…3.6 В
V
D
Приме
чания
Параметр Спецификация
Интерфейс USB Как определено в Главе 7 Спецификации USB Интерфейс 1Wire См. раздел «Контроллер интерфейса 1Wire» настоящего
документа
ЕМКОСТНЫЕ ХАРАКТЕРИСТИКИ
При TA = +25°C
Параметр
Обозначение Min Max
Входная емкость C Выходная емкость C Емкость входов/выходов C
IN
OUT
IO
15 пФ 15 пФ 15 пФ
Единица
измерения
Примечания
РЕКОМЕНДАЦИИ ПО ПРИМЕНЕНИЮ
Пример схемы адаптера USB — 1Wire приведен на Рис. 13.
35 из 49
C4
DS2490
C5
33
X1
12.0 МГц
33
D1
BAT54S
J2
12345
RJ11
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%
1WIRE
33
33
DS2490S
U3
3 4
DS9503P
1
2
Рис. 13. Пример аппаратного решения: адаптер USB — 1Wire
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
Коды пакета:
bmRequestType 0x40
bRequest CONTROL_CMD
wValue CTL_RESET_DEVICE
wIndex 0x0000
wLength 0x0000
START EXECUTION
Коды пакета:
bmRequestType 0x40
bRequest CONTROL_CMD
wValue CTL_START_EXE
wIndex 0x0000
wLength 0x0000
DS2490
RESUME EXECUTION
Коды пакета:
bmRequestType 0x40
bRequest CONTROL_CMD
wValue CTL_RESUME_EXE
wIndex 0x0000
wLength 0x0000
HALT EXECUTION WHEN IDLE
Коды пакета:
bmRequestType 0x40
bRequest CONTROL_CMD
wValue CTL_HALT_EXE_IDLE
wIndex 0x0000
wLength 0x0000
HALT EXECUTION WHEN DONE
Коды пакета:
bmRequestType 0x40
bRequest CONTROL_CMD
wValue CTL_HALT_EXE_DONE
37 из 49
КОМАНДЫ УПРАВЛЕНИЯ
wIndex 0x0000
wLength 0x0000
DS2490
FLUSH COMM CMDS
Коды пакета:
bmRequestType 0x40
bRequest CONTROL_CMD
wValue CTL_FLUSH_COMM_CMDS
wIndex 0x0000
wLength 0x0000
FLUSH DATA RCV BUFFER
Коды пакета:
bmRequestType 0x40
bRequest CONTROL_CMD
wValue CTL_FLUSH_RCV_BUFFER
wIndex 0x0000
wLength 0x0000
FLUSH DATA XMT BUFFER
Коды пакета:
bmRequestType 0x40
bRequest CONTROL_CMD
wValue CTL_FLUSH_XMT_BUFFER
wIndex 0x0000
wLength 0x0000
Перед обработкой команды FLUSH COMM CMDS микросхема DS2490 должна находиться в состоянии останова
Перед обработкой команды FLUSH DATA RCV BUFFER микросхема DS2490 должна находиться в состоянии останова
Перед обработкой команды FLUSH DATA XMT BUFFER микросхема DS2490 должна находиться в состоянии останова
GET COMM CMDS
Коды пакета:
bmRequestType 0xC0
bRequest CONTROL_CMD
wLength Переменная
Перед обработкой команды GET COMM CMDS микросхема DS2490 должна находиться в состоянии останова
wValue CTL_GET_COMM_CMDS
wIndex 0x0000
Значение поля wLength зависит от числа команд Обмена данными и пара метров, загруженных в FIFOбуфер
38 из 49
DS2490
ПРИЛОЖЕНИЕ 2.
КОМАНДЫ ОБМЕНА ДАННЫМИ МИКРОСХЕМЫ DS2490 ВСТРОЕННЫЕ БИТЫ КОМАНДЫ, КОДЫ УСТАНОВОЧНОГО ПАКЕТА
Команды Обмена данными содержат в поле wValue встроенные биты параметров команды. Назначе
ние битов параметров описано ниже.
Название бита Описание
CH CH = 1 продолжает чтение, если страница переадресована.
CH = 0 останавливает чтение, если страница переадресована
CIB CIB = 1 отключает формирование мощной подтяжки к 5 В, если бит SPU = 1 и бит,
считанный с шины 1Wire, тоже равен 1. CIB = 0 обычно включает формирование мощной подтяжки к 5 В
PS PS = 1 сокращает размер заголовка с 3х до 2х байтов.
PS = 0 устанавливает размер заголовка, равный 3м байтам
D Значение бита данных, записываемого на шину 1Wire
DT DT = 1 активирует/выбирает генератор CRC16.
DT = 0 — CRC не генерируется
F F = 1 очищает буферы в случае, если во время выполнения предыдущей команды
произошла ошибка; требуется, чтобы в предыдущей команде ICP = 0. F = 0 запрещает очистку буферов
ICP ICP = 1 указывает, что данная команда не является последней командой в макросе;
как следствие, сообщения обратной связи с результатом обработки команды подав ляются. ICP = 0 указывает, что данная команда является последней командой в макросе или одиночной командой; включает передачу сигналов обратной связи с результатом обработки команды
IM IM = 1 включает немедленное выполнение команды. Считается, что все данные
прибора 1Wire, требуемые для выполнения команды, были приняты в конечной точке EP2. IM = 0 отключает немедленное выполнение команды; выполнение должно начаться по команде функции управления
NTF NTF = 1 — всегда генерировать данные обратной связи с результатом обработки
команды Обмена данными, если ICP = 0. NTF = 0 — генерировать данные обратной связи с результатом обработки команды Обмена данными только при возникновении ошибки и при ICP = 0. Если ICP = 1, сообщения обратной связи подавляются в любом случае, см. выше описание бита ICP
PST PST = 1 — периодически генерировать последовательность сброса шины 1Wire,
пока не будет обнаружен импульс присутствия. PST = 0 — генерировать только одну последовательность сброса шины 1Wire
R R = 1 выполняет функцию чтения.
R = 0 выполняет функцию записи
RST RST = 1 включает сброс шины 1Wire перед выполнением команды.
RST = 0 отключает сброс шины 1Wire
RTS RTS = 1 возвращает хосту информацию о несовпадении, если бит SM = 1 и на шине
имеется больше приборов, чем может быть обнаружено в текущем проходе. RTS = 0 не возвращает информацию о несовпадении
SE SE = 1 включает изменение скорости шины 1Wire.
SE = 0 отключает изменение скорости шины 1Wire
,
39 из 49
Название бита Описание
SM SM = 1 осуществляет поиск идентификаторов ПЗУ и сообщает о них, не предостав
ляя доступа к конкретному прибору. SM = 0 осуществляет «Строгий доступ» к конкретному прибору
SPU SPU = 1 осуществляет формирование мощной подтяжки к 5 В после выполнения
команды BIT I/O, BYTE I/O, BLOCK I/O или DO & RELEASE. SPU = 0 — формирование мощной подтяжки не осуществляется
TYPE TYPE = 1 определяет установку длительности импульса программирования.
TYPE = 0 определяет установку длительности мощной подтяжки
Z Z = 1 проверяет, являются ли нулевые биты в записанном байте нулевыми битами
в байте, считанном из прибора. Z = 0 проверяет, идентичен ли записанный байт считанному из прибора
КОМАНДЫ ОБМЕНА ДАННЫМИ
SET DURATION
Коды пакета:
bmRequestType 0x40
bRequest COMM_CMD
wValue Байт 2 Байт 1
Байт 2: 00000NTFICP0 Байт 1: 0 0 0 1 TYPE 0 1 IM
wIndex Байт 2 Байт 1
Байт 2 — 0x00 (не используется) Байт 1 — новая длительность:
Беззнаковое 8битное двоичное число, определяющее новую длительность. Зависимость длительности от значения кода и дополнительные сведения о формате см. в разделе «Команды Режима»
wLength 0x0000
DS2490
PULSE
Коды пакета:
bmRequestType 0x40
1WIRE RESET
Коды пакета:
bmRequestType 0x40
bRequest COMM_CMD
wValue Байт 2 Байт 1
Байт 2: 0000FNTFICP0 Байт 1: 0 0 0 1 TYPE 0 0 IM
wIndex 0x0000
wLength 0x0000
bRequest COMM_CMD
40 из 49
КОМАНДЫ ОБМЕНА ДАННЫМИ
wValue Байт 2 Байт 1
Байт 2: 0 PST 0 0 F NTF ICP 0 Байт 1: 0100SE01IM
wIndex Байт 2 Байт 1
Байт 2 — 0x00 (не используется) Байт 1 — новая скорость:
0x02 при SE = 1 после выполнения команды Ускоренный пропуск ПЗУ; 0x01 или 0x00 при SE = 1 во всех других случаях; не имеет значения при SE = 0
wLength 0x0000
BIT I/O
Коды пакета:
bmRequestType 0x40
bRequest COMM_CMD
wValue Байт 2 Байт 1
Байт 2: 0 CIB 0 SPU 0 NTF ICP 0 Байт 1: 0 0 1 0 D 0 0 IM
wIndex Байт 2 Байт 1
Байт 2 — 0x00 (не используется) Байт 1 — 0x00 (не используется)
wLength 0x0000
DS2490
BYTE I/O
BLOCK I/O
Коды пакета:
bmRequestType 0x40
bRequest COMM_CMD
wValue Байт 2 Байт 1
Байт 2: 000SPU0NTFICP0 Байт 1: 0101001IM
wIndex Байт 2 Байт 1
Байт 2 — 0x00 (не используется) Байт 1 — байт данных, посылаемых на шину 1Wire. Если осуществляется
только чтение, то байт должен иметь значение 0xFF
wLength 0x0000
Коды пакета:
bmRequestType 0x40
bRequest COMM_CMD
41 из 49
КОМАНДЫ ОБМЕНА ДАННЫМИ
wValue Байт 2 Байт 1
Байт 2: 0 0 0 SPU 0 NTF ICP RST Байт 1: 0111010IM
wIndex Байт 2 Байт 1
Байт 2 — размер блока (HI), старший байт Байт 1 — размер блока (LOW), младший байт
wLength 0x0000
MATCH ACCESS
Коды пакета:
bmRequestType 0x40
bRequest COMM_CMD
wValue Байт 2 Байт 1
Байт 2: 00000NTFICPRST Байт 1: 0110SE10IM
wIndex Байт 2 Байт 1
Байт 2 — новая скорость: 0x02 при SE = 1 после выполнения команды Ускоренный пропуск ПЗУ; 0x01 или 0x00 при SE = 1 во всех других случаях; не имеет значения при SE = 0
Байт 1 — команда 1Wire, которая будет использоваться для адресации прибо ра 1Wire. Допустимые значения кодов: 0x55 (Сравнение ПЗУ); 0x69 (Ускоренное сравнение ПЗУ)
wLength 0x0000
DS2490
READ STRAIGHT
Коды пакета:
bmRequestType 0x40
DO & RELEASE
Коды пакета:
bmRequestType 0x40
bRequest COMM_CMD
wValue Байт 2 Байт 1
Байт 2: Размер заголовка. Число записываемых байтов Байт 1: 1 0 0 0 NTF ICP RST IM
wIndex Байт 2 Байт 1
Байт 2 — размер блока (HI). Число считываемых байтов, старший байт Байт 1 — размер блока (LOW). Число считываемых байтов, младший байт
wLength Байт 2 Байт 1
Байт 2 — 0x00 (не используется) Байт 1 — размер заголовка. Число записываемых байтов
42 из 49
КОМАНДЫ ОБМЕНА ДАННЫМИ
bRequest COMM_CMD
wValue Байт 2 Байт 1
Байт 2: 0 1 1 SPU F NTF ICP 0 Байт 1: 1 0 0 1 R 0 1 IM
wIndex Байт 2 Байт 1
Байт 2 — 0x00 (не используется) Байт 1 — размер записываемого заголовка в байтах
wLength 0x0000
SET PATH
Коды пакета:
bmRequestType 0x40
bRequest COMM_CMD
wValue Байт 2 Байт 1
Байт 2: 0 0 0 0 F NTF ICP RST Байт 1: 1010001IM
wIndex Байт 2 Байт 1
Байт 2 — 0x00 (не используется) Байт 1 — размер (в байтах) числа ответвителей, которые должны быть активи
рованы для установки пути к требуемому прибору
wLength 0x0000
DS2490
WRITE SRAM PAGE
Коды пакета:
bmRequestType 0x40
bRequest COMM_CMD
wLength 0x0000
WRITE EPROM
DT = 1 активирует генератор CRC16. Эта команда также применяется к функциям Запись IPR и Запись буфера ввода/вывода для криптографических iButton, если CIB = 1. Для записи неполной страницы параметр размера страницы и адрес назначения должны быть установлены соответствующим образом
wValue Байт 2 Байт 1
Байт 2: 0 PS DT 0 F NTF ICP 0 Байт 1: 1011001IM
wIndex Байт 2 Байт 1
Байт 2 — 0x00 (не используется) Байт 1 — число байтов, посылаемых прибору следом за 3байтным заголов
ком. Обычно это число равно размеру страницы. Значение 0x00 соответствует странице размером 256 байтов
DT = 1 выбирает генератор CRC16. В противном случае предполагается ис пользование 8битного CRC. Если Z = 1, сравнение считанного для верифи кации байта ограничивается только нулевыми битами
43 из 49
КОМАНДЫ ОБМЕНА ДАННЫМИ
Коды пакета:
bmRequestType 0x40
bRequest COMM_CMD
wValue Байт 2 Байт 1
Байт 2: 0 0 DT 0 F NTF ICP 0 Байт 1: 1 1 0 0 Z 1 0 IM
wIndex Байт 2 Байт 1
Байт 2 — размер блока (HI). Число записываемых байтов, старший байт Байт 1 — размер блока (LOW). Число записываемых байтов, младший байт
wLength 0x0000
DS2490
READ CRC PROT PAGE
Коды пакета:
bmRequestType 0x40
bRequest COMM_CMD
wValue Байт 2 Байт 1
wIndex Байт 2 Байт 1
wLength 0x0000
READ REDIRECT PAGE W/CRC
Коды пакета:
bmRequestType 0x40
bRequest COMM_CMD
wValue Байт 2 Байт 1
wIndex Байт 2 Байт 1
wLength 0x0000
DT = 1 выбирает генератор CRC16, в противном случае предполагается ис пользование 8битного CRC. Эта команда также применима к функциям Чтение IPR и Чтение буфера ввода/вывода для криптографических iButton, если CIB = 1
Байт 2: 0 PS DT 0 F NTF ICP 0 Байт 1: 1 1 0 1 0 1 0 IM
Байт 2 — число считываемых страниц Байт 1 — размер страницы: логарифм (по основанию 2) числа байтов, состав
ляющих страницу. Обычно это число равно 32 для памяти данных и 8 для па мяти состояния. Размер страницы, равный 0, соответствует странице разме ром 256 байтов. Пример: если реальный размер страницы составляет 32 бай та, то параметр «размер страницы» должен быть равен 0x05
Байт 2: 0 0 1 0 F NTF ICP 1 Байт 1: 1110CH10IM
Байт 2 — номер страницы, используемый при первой попытке чтения Байт 1 — размер страницы: число байтов, составляющих страницу. Обычно
это число равно 32 для памяти данных. Размер страницы, равный 0, соответствует странице размером 256 байтов
44 из 49
КОМАНДЫ ОБМЕНА ДАННЫМИ
SEARCH ACCESS
Коды пакета:
bmRequestType 0x40
bRequest COMM_CMD
wValue Байт 2 Байт 1
Байт 2: 0 RTS 0 0 F NTF ICP RST Байт 1: 1111SM10IM
wIndex Байт 2 Байт 1
Байт 2 — число приборов. Максимальное число приборов, которые будут об наружены при одном вызове команды. Значение 0x00 указывает, что будут об наружены все приборы, присутствующие в сети 1Wire
Байт 1 — команда 1Wire, используемая для адресации прибора 1Wire. Допус тимые значения кодов: 0xF0 (Поиск ПЗУ); 0xEC (Условный поиск ПЗУ)
wLength 0x0000
DS2490
45 из 49
ПРИЛОЖЕНИЕ 3. КОМАНДЫ РЕЖИМА МИКРОСХЕМЫ DS2490,
КОДЫ УСТАНОВОЧНОГО ПАКЕТА
КОМАНДЫ РЕЖИМА
ENABLE PULSE
Коды пакета:
bmRequestType 0x40
bRequest MODE_CMD
wValue MOD_PULSE_EN
wIndex Байт 2 Байт 1
Байт 2 — 0x00 Байт 1:000000SPUE PRGE Мощная подтяжка включена при SPUE = 1, отключена при SPUE = 0.
Генерирование импульса программирования +12 В включено при PRGE = 1, отключено при PRGE = 0
wLength 0x0000
ENABLE SPEED CHANGE
Коды пакета:
bmRequestType 0x40
bRequest MODE_CMD
wValue MOD_SPEED_CHANGE_EN
wIndex Байт 2 Байт 1
Байт 2 — 0x00 Байт 1 — Булево значение. Изменение скорости включено при значении
TRUE, отключено при значении FALSE
wLength 0x0000
DS2490
1WIRE SPEED
Коды пакета:
bmRequestType 0x40
bRequest MODE_CMD
wValue MOD_1WIRE_SPEED
wIndex Байт 2 Байт 1
wLength 0x0000
STRONG PULLUP DURATION
Коды пакета:
bmRequestType 0x40
bRequest MODE_CMD
wValue MOD_STRONG_PU_DURATION
Байт 2 — 0x00 Байт 1 — код, определяющий скорость обмена данными по шине 1Wire.
Значения кодов см. в разделе «Команды Режима»
46 из 49
КОМАНДЫ РЕЖИМА
wIndex Байт 2 Байт 1
wLength 0x0000
PULLDOWN SLEW RATE
Коды пакета:
bmRequestType 0x40
bRequest MODE_CMD
wValue MOD_PULLDOWN_SLEWRATE
wIndex Байт 2 Байт 1
wLength 0x0000
DS2490
Байт 2 — 0x00 Байт 1 — беззнаковое 8битное двоичное число, определяющее длительность
подтяжки. Зависимость длительности подтяжки от значения кода и дополнительные сведения о формате см. в разделе «Команды Режима»
Байт 2 — 0x00 Байт 1 — код, определяющий номинальную скорость спада при подтяжке
вниз. Значения кодов см. в разделе «Команды Режима»
PROG PULSE DURATION
Коды пакета:
bmRequestType 0x40
bRequest MODE_CMD
wValue MOD_PROG_PULSE_DURATION
wIndex Байт 2 Байт 1
wLength 0x0000
WRITE1 LOW TIME
Коды пакета:
bmRequestType 0x40
bRequest MODE_CMD
wValue MOD_WRITE1_LOWTIME
wIndex Байт 2 Байт 1
wLength 0x0000
Байт 2 — 0x00 Байт 1 — беззнаковое 8битное двоичное число, определяющее длительность
импульса программирования СППЗУ. Зависимость длительности от значе ния кода и дополнительные сведения о формате см. в разделе «Команды Режима»
Байт 2 — 0x00 Байт 1 — код, определяющий длительность интервала НИЗКОГО уровня при
записи 1. Значения кодов см. в разделе «Команды Режима»
47 из 49
КОМАНДЫ РЕЖИМА
DSOW0 RECOVERY TIME
Коды пакета:
bmRequestType 0x40
bRequest MODE_CMD
wValue MOD_DSOW0_TREC
wIndex Байт 2 Байт 1
wLength 0x0000
DS2490
Байт 2 — 0x00 Байт 1 — код, определяющий время сдвига момента выборки данных и время
восстановления при записи 0. Значения кодов см. в разделе «Команды Режима»
48 из 49
ПРИЛОЖЕНИЕ 4. КОДЫ КОМАНД И ТИПОВ КОМАНД
КОДЫ ТИПОВ КОМАНД
Наименование bRequest
CONTROL_CMD 0x00 COMM_CMD 0x01 MODE_CMD 0x02
КОДЫ КОМАНД УПРАВЛЕНИЯ
Наименование wValue
CTL_RESET_DEVICE 0x0000 CTL_START_EXE 0x0001 CTL_RESUME_EXE 0x0002 CTL_HALT_EXE_IDLE 0x0003 CTL_HALT_EXE_DONE 0x0004 CTL_FLUSH_COMM_CMDS 0x0007 CTL_FLUSH_RCV_BUFFER 0x0008 CTL_FLUSH_XMT_BUFFER 0x0009 CTL_GET_COMM_CMDS 0x000A
DS2490
КОДЫ КОМАНД РЕЖИМА
Наименование wValue
MOD_PULSE_EN 0x0000 MOD_SPEED_CHANGE_EN 0x0001 MOD_1WIRE_SPEED 0x0002 MOD_STRONG_PU_DURATION 0x0003 MOD_PULLDOWN_SLEWRATE 0x0004 MOD_PROG_PULSE_DURATION 0x0005 MOD_WRITE1_LOWTIME 0x0006 MOD_DSOW0_TREC 0x0007
49 из 49
Loading...