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
Loading...
+ 34 hidden pages