26. Режимы работы портов ввода-вывода микроконтроллеров avr.
Микроконтроллеры моделей ATx8515 имеют четыре параллельных 8-разрядных порта Рx (x=A, B, C, D) и один 3-разрядный порт PE (в модели ATmega8515). Все линии портов могут программироваться на ввод или вывод данных независимо друг от друга и имеют возможность подключения ко всем входам внутренних подтягивающих резисторов сопротивлением 35…120 кОм.
В состав каждого порта Px входят три регистра с именами DDRx, PORTx и PINx. В микроконтроллере AT90S8515 регистр PINx не имеет аппаратной реализации. Это имя используется для чтения линий интерфейса.
а) | б) |
Структура порта Px (а) и схема одного разряда порта (б)
При DDRx.
При PORTx.Y=1 вывод порта через внутренний резистор подключается к шине питания Vcc. При PORTx.Y=0 резистор отключен, вывод Px.Y находится в высокоимпедансном состоянии (Z-состояние).
При PORTx.Y=0 на выводе устанавливается напряжение низкого уровня, при PORTx.Y=1 — напряжение высокого уровня.
При пуске и перезапуске микроконтроллера все разряды регистров DDRx и PORTx сбрасываются в нулевое состояние, вследствие чего выводы портов работают в режиме входа и находятся в Z – состоянии.
При совместном использовании всех разрядов порта для ввода байта данных используются команды с мнемоникой IN Rd, PINx, для вывода — OUT PORTx, Rr (d, r = 0-31).
Значение выходного сигнала на отдельном выводе порта можно задать с помощью команд установки «0» (CBI PORTx.Y) и установки «1» (SBI PORTx.Y). Значение входного сигнала на отдельном выводе порта можно проверить, используя команды условного перехода SBIC PINx,Y или SBIS PINx,Y, которые предусматривают пропуск следующей команды по нулевому или по единичному значению Px.
Y.27. Параллельный обмен данными с внешними устройствами в микроконтроллерных системах. Обмен с квитированием.
Обмен данными (2-10 упакованными числами) между МК51 и ВУ.
Передача байта
;инициализация указателей обмена и портов
mov P1,#0
mov P2,#00000010B
out: mov A,ad
setb P2.0; установка ЗПр
wait: jnb P2.1, wait
orl P1,A
clr P2.0; снятие сигнала ЗПр
wait1: jb P2.0,wait1
ret
mov P1,#0fh
setb F0;флаг тетрады
in: setb P2.0
wait: jnb P2.1,wait
mov A,P1
clr P2. 0; данные получены
anl A,#0fh
jb F0,m0
swap A
m0: orl ad,A
clr F0
wait2: jb P2.1,wait2
ret
ad – адрес ячейки внешнего сегмента данных.
Инициатор – МК || ВУ. 1 – Каждый раз запрос к к ВУ. Обмен после приема от ВУ сигнала подтверждения. МК: обмен, снимает запрос, ждет снятия сигнала ВУ, продолжает работу.
2 — МК ожидает сигнала запроса от ВУ, выставляет сигнал готовности к обмену, производит обмен, снимает сигнал готовности, ждет снятия запроса от ВУ, продолжает работу. Обмен управляющими сигналами между МК и ВУ осуществляется при каждой передаче.
Передача с квитированием — генерация приемником дополнительного сигнала, подтверждающего прием, –квитанции для передатчика (отсюда и слово — квитирование). Передатчик может выдать на шину следующий код, лишь получив «квитанцию» в приеме предыдущего.
Запись – чтение:
Временные диаграммы операции ввода: Интерфейсные сигналы при вводе:
Временные диаграммы операции вывода: Интерфейсные сигналы при выводе:
Порты ввода-вывода микроконтроллеров AVR. Электрические характеристики
Для грамотного использования микроконтроллера необходимо иметь представление об электрических характеристиках его выводов. Эти характеристики определяют максимально допустимый втекающий/вытекающий ток и уровни входных/выходных напряжений. От них зависит что и как можно подключать к микроконтроллеру, и к чему это приведет.
Сегодняшний материал посвящен как раз этой теме. Данные, приведенные ниже, взяты из описания на микроконтроллер Atmega16 в разделах Electrical Characteristics и Typical Characteristics. Для более детального изучения этого вопроса, рекомендую обязательно их посмотреть.
Первое, что стоит отметить — выводы микроконтроллера AVR защищены схемой ограничения уровня входного напряжения. Это схема из двух диодов, подключенных к выводу микроконтроллера и цепям питания.
Схема ограничивает величину входных напряжений в диапазоне от -Vd до Vcc+Vd В, где Vd — прямое падение напряжения на диоде (обычно принимается 0,7 В), Vcc — напряжение питания микроконтроллера. Это защищает цепи микроконтроллера от перенапряжений и пробоя статическим электричеством. Однако, эти защитные диоды довольно хиленькие и выдерживают ток в единицы миллиампер.
Несмотря на свою полезную функцию, схема может доставить ряд неприятностей. Если подать входные сигналы на выводы выключенного микроконтроллера, то они через защитный диод запитают микроконтроллер и все остальную схему. Это явление называют паразитным питаниям. Как при этом поведет себя микроконтроллер, сложно предсказать, поэтому такой режим нежелателен.
По хорошему, нужно сначала подавать питание, а потом входные сигналы. При выключении же наоборот – снимать входные сигналы, затем отключать питание.
Также на схеме ты можешь видеть подтягивающий резистор Rpu (pull up) и паразитную емкость Cp. Номинал подтягивающего резистора ~20 — 50 кОм, паразитная емкость имеет величину несколько пФ.
Выводы микроконтроллеров AVR могут работать или в режиме входа, или в режиме выхода. Рассмотрим эти режимы.
Данный режим используется, когда микроконтроллер управляет или передает данные какому-нибудь внешнему устройству. Например, управляет светодиодом, сдвиговым регистром, внешним АЦП и т. д.
Подключая к микроконтроллеру внешние микросхемы, ты всегда должен проверять, согласуются ли уровни ее входных напряжений с выходными напряжениями микроконтроллера.
Для этого в описании на микроконтроллер ATmega16 в разделе электрических характеристик приведены значения выходных напряжений логического нуля Vol (output low voltage) и единицы Voh (output high voltage). Обрати внимание, данные приведены для определенного напряжения питания и токов, даны минимальные и максимальные значения. Уровни напряжений для других условий можно оценить по графикам «I/O Pin Current vs Output Voltage».
В режиме выхода вывод микроконтроллера может быть или источником или потребителем тока (то есть ток или вытекает из него или втекает). Это зависит от того, какой логический уровень установлен на выводе – ноль или единица (то есть это зависит от содержимого регистра PORTх). Если на выводе логический ноль, то любое положительное напряжение, приложенное к выводу, вызовет втекающий ток. Если на выводе логическая единица, то любое внешнее напряжение, меньше напряжения питания микроконтроллера, вызовет вытекающий ток.
Протекание тока сопровождается падением напряжения на внутренних цепях вывода микроконтроллера. Величину падения можно оценить по тем же графикам «I/O Pin Current vs Output Voltage».
Зависимость выходного напряжения от втекающего тока.
Вывод микроконтроллера в режиме выхода, установлен логический ноль, напряжение питания 5В.
Зависимость выходного напряжения от вытекающего тока.
Вывод микроконтроллера в режиме выхода, установлена логическая единица, напряжение питания 5В.
Как ты можешь видеть, графики приведены для диапазона токов от 0 до 70 мА (для температуры +25 С), но это вовсе не означает, что через каждый из выводов микроконтроллера AVR может протекать такой ток. Таблица Аbsolute Maximum Ratings в разделе электрических характеристик говорит нам о том, что максимальный ток через один вывод микроконтроллера AVR не должен превышать 40 мА, а ток через выводы VCC и GND не должен превышать 200 мА для PDIP и 400 мА для корпусов TQFP/MLF.
Это позволяет нам оценить, какую нагрузку микроконтроллер способен запитать своими силами. Например, мы можем подключить 8 ярких светодиодов при токе 20 мА и микроконтроллер не сгорит. При этом для расчета ограничительных резисторов нужно будет учитывать падение напряжения (~0.5 В) на выходе микроконтроллера.
8 * 20 мА = 160 мА
+ 10 мА собственное потребление
итого 170 мА < 200 мА
Rd = (5 — 0.5 — Vd)/20 , где Vd прямое падение напряжения на светодиоде
Кстати, величину собственного потребления микроконтроллера можно найти в разделе типичных электрических характеристик. Оно зависит от напряжения питания, тактовой частоты, количества работающей периферии и режима работы микроконтроллера. Это только один из графиков, приведенных в том разделе.
Зависимость тока потребления от тактовой частоты и напряжения питания микроконтроллера в активном режиме.
Режим входа используется для приема или ввода данных в микроконтроллер. Например, для получения данных с цифрового датчика или определения состояния тактовой кнопки.
В режиме входа вывод микроконтроллера может быть или в высокоимпедансном состоянии (Hi-Z) или подтянут к плюсу питания через встроенный резистор (20 — 50 кОм). Спалить вывод в режиме входа замыканием на землю или плюс питания нельзя, в отличии от режима выхода. Но можно спалить внутренние цепи вывода, подав чрезмерно большое напряжение. Конечно, если бросок напряжения на входе микроконтроллера будет кратковременным, защитные диоды предохранят его.
Подключая к микроконтроллеру внешние микросхемы, с которых принимаются данные, нужно всегда проверять, согласуются ли выходные уровни микросхемы с входными уровнями микроконтроллера.
В разделе типичных электрических характеристик приведены графики «Pin Thresholds And Hysteresis», по которым можно оценить уровни входных напряжений в зависимости от напряжения питания микроконтроллера AVR.
Зависимость порогового напряжения от напряжения питания микроконтроллера. Любое напряжение выше графика, воспринимается микроконтроллером как логическая единица.
Как можно видеть из рисунка, при напряжении 5 В входное напряжение > 2 В будет восприниматься микроконтроллером как логическая единица.
Аналогичный график представлен и для логического нуля.
Зависимость порогового напряжения от напряжения питания микроконтроллера. Любое напряжение ниже графика, воспринимается микроконтроллером как логический ноль.
При питании 5 В, входное напряжение меньше ~1.4, воспринимается микроконтроллером как логический ноль.
Думаю ты заметил, что между пороговыми уровнями логического нуля и единицы разница 2 — 1.4 = 0.6 В. Как микроконтроллер воспринимает напряжение попавшее в этот диапазон? Никак. Благодаря наличию гистерезиса, внутренняя логика вывода микроконтроллера не реагирует на эти значения. И только в случае превышения порогов, переключается в одно из состояний. Про гистерезис ты можешь немного почитать в статье «Компаратор на операционном усилителе».
Зависимость гистерезиса от напряжения питания микроконтроллера
Итак, что еще можно сказать про режим входа. Не следует оставлять выводы микроконтроллера в высокоимпедансном состоянии. Они будут «ловить» помехи и без конца переключаться из логической единицы в логический ноль и наоборот, увеличивая потребление микроконтроллера. Для снижения энергопотребления рекомендуется конфигурировать неиспользуемые выводы на вход с включенными подтягивающими резисторами.
Во время сброса микроконтроллера настройки всех портов сбрасываются. Если малое энергопотребление микроконтроллера во время сброса тоже важно, необходимо использовать внешние подтягивающие резисторы. Подключать выводы к напряжению питания или земле напрямую нежелательно, потому что если выводы случайно окажутся в режиме выхода, возникнет значительный ток.
Подводя итог выше сказанному, сформулирую несколько правил:
— подключаешь внешние микросхемы к микроконтроллеру, проверяй как согласуются их уровни напряжений,
— управляешь с помощью микроконтроллера нагрузкой, ограничивай ток через выводы микроконтроллера,
— управляешь несколькими нагрузками, проверяй не превышаешь ли максимально допустимый ток потребления микроконтроллера.
— не используешь выводы микроконтроллера, конфигурируй их в режим входа с подтягивающими резисторами.
Кстати, недавно я наступил на грабли, связанные с согласованием уровней. В одной из схем я применил 5-ти вольтовый сторожевой таймер и 3-х вольтовую ПЛИС. Выход таймера согласовал со входом ПЛИС, а про согласование входа сброса таймера с выходом ПЛИС забыл. Когда плата пришла с завода, я обнаружил, что уровня выходного напряжения ПЛИС не хватает для перезагрузки сторожевого таймера и тот постоянно ее сбрасывает. Из положения пришлось выходить, используя 5-ти вольтовую логическую микросхему на плате. У нее оставалось 2 незадействованных логических элемента и она «нормально воспринимала» логические уровни ПЛИС. Так что будьте аккуратнее, такой момент можно случайно проглядеть, особенно, если в схеме много микросхем.
Использование статического ввода-вывода — справочник Digilent
Содержание
- Использование статического ввода-вывода
- Введение
- Предпосылки
- Руководство
- 1. Открытие статического ввода/вывода
- 2. Использование статического ввода/вывода
- Примечание. Использование нескольких инструментов
- 3. Обзор пользовательского интерфейса статического ввода/вывода
- Следующие шаги
Введение
В этом руководстве объясняется использование инструмента Static I/O в WaveForms. Этот прибор используется для взаимодействия с цифровыми входными/выходными каналами контрольно-измерительного устройства через моделируемые кнопки, светодиоды, дисплеи и ползунки.
Предварительные условия
Руководство
1. Открытие статического ввода/вывода
1.1
Подключите устройство для тестирования и измерения, затем запустите WaveForms и убедитесь, что устройство подключено.
Если при запуске WaveForms к главному компьютеру не подключено ни одно устройство, Диспетчер устройств будет запущен. Убедитесь, что устройство подключено и включено, после чего оно появится в списке устройств диспетчера устройств (1). Нажмите на устройство в списке, чтобы выбрать его, затем нажмите кнопку «Выбрать» (2), чтобы закрыть Диспетчер устройств.
Примечание: Также перечислены «демонстрационные» устройства, которые позволяют пользователю использовать WaveForms и создавать проекты без физического устройства.
Примечание: Диспетчер устройств можно открыть, нажав кнопку «Подключенное устройство» в правом нижнем углу экрана (3) или выбрав «Диспетчер устройств» в меню «Настройки» в верхней части экрана. экран.
1,2
После загрузки страницы приветствия на панели инструментов в левой части окна нажмите кнопку StaticIO , чтобы открыть инструмент Static I/O .
1,3
После открытия прибора Static I/O окно содержит цифровые порты ввода/вывода Bit I/O для каждого из цифровых входов/выходов устройства, все из которых по умолчанию назначены светодиодным индикаторам состояния . Инструмент следует запускать с помощью зеленой кнопки воспроизведения или из строки меню в пункте меню «Управление» с параметром «Выполнить».
2. Использование статического ввода/вывода
В этом разделе описывается настройка прибора StaticIO для отображения цифровых портов ввода-вывода и их логических уровней и взаимодействия с ними. Логический анализатор будет использоваться для просмотра состояния выхода виртуальной кнопки. Генератор шаблонов будет использоваться для мигания виртуального светодиода .
Примечание: Этому руководству можно следовать, используя «Демонстрационное» устройство, выбранное в диспетчере устройств WaveForms. Это позволяет пользователю следить за процессом, не имея доступа к реальному испытательному и измерительному устройству.
Важно
При использовании статического ввода-вывода с реальным оборудованием обратите внимание, что цифровые каналы не предназначены для использования в качестве источников для больших нагрузок. Не подключайте напрямую к каналу больше одного светодиода , и резистора. Если необходимо управлять большими нагрузками, цифровые входные/выходные каналы могут использоваться для запуска сильноточных драйверов, таких как МОП-транзисторы, Н-мосты и т. д., но не должны использоваться в качестве первичных источников.
2.1 Программная настройка дисплея
Эта демонстрация не требует какой-либо настройки оборудования, но опирается на инструменты Logic Analyzer и Pattern Generator в Waveforms. Чтобы настроить эти инструменты и просматривать их одновременно, выполните следующие действия.
2.1.1
Щелкните значок страницы приветствия в верхнем левом углу окна Waveforms.
2.1.2
Щелкните инструмент Logic .
2.1.3
Нажмите на страницу приветствия еще раз
2.1.4
Щелкните инструмент Patterns .
2.1.5
Щелкните значок стыковки Windows в правом верхнем углу Waveforms.
2.1.6
Теперь инструменты Static I/O, Logic Analyzer и Pattern Generator должны быть открыты и просматриваться вместе в одном окне, при этом Logic Analyzer находится в верхней части окна, Static I/O – в нижней левой части окна.
окно и Генератор паттернов в нижней правой части окна.2.2 Мигание виртуального светодиода
2.2.1
В окне инструментов Patterns нажмите кнопку «Нажмите, чтобы добавить каналы» и выберите «Сигнал».
2.2.2
В окне «Добавить сигнал» прокрутите вниз «DIO 0», выберите его и нажмите «Добавить». DIO 0 должен появиться в окне инструментов Patterns .
2.2.3
В окне инструментов Patterns в разделе «Тип» щелкните раскрывающееся меню, чтобы изменить его на «Часы».
2.2.4
В окне инструментов Patterns в разделе «Параметр 1» щелкните раскрывающееся меню, прокрутите вниз и выберите «1 Гц ».
2.2.5
В окне инструментов Patterns нажмите кнопку «Выполнить».
2.2.6
В инструменте Static I/0 наблюдайте, как DIO 0 мигает с тактовой частотой 1 Гц , установленной инструментом Patterns .
2.3 Переключение виртуальной кнопки
2.3.1
В окне инструмента Logic нажмите кнопку «Нажмите, чтобы добавить канал» и выберите «Сигнал» в раскрывающемся меню.
2.3.2
В окне «Добавить сигнал» прокрутите вниз до «DIO 1», выберите его и нажмите «Добавить».
2.3.3
В окне инструмента Static I/O перейдите к полю DIO 1 рядом с мигающим полем DIO 0. Щелкните стрелку вниз, выберите «Кнопка» и выберите конфигурацию вверху списка (Отпущено: 0, Нажато: 1).
2.3.4
В окне инструментов Logic нажмите кнопку «Выполнить» вверху.
2.3.5
В инструменте Static I/O нажмите кнопку DIO 1 и наблюдайте за изменением логического уровня DIO 1 с низкого на высокий в инструменте Logic .
Примечание. Использование нескольких инструментов
Прибор StaticIO можно использовать с другими приборами WaveForms. Использование нескольких инструментов одновременно полезно в самых разных ситуациях. Одним из примеров может быть использование Protocol Analyzer для настройки тестируемого устройства, StaticIO , Pattern Generator или Protocol Analyzer для стимуляции устройства и записи результатов в Logic Analyzer , все одновременно. Дополнительную информацию о совместной работе инструментов можно найти в руководстве по перекрестному запуску.
Следует отметить, что, несмотря на то, что несколько инструментов могут использовать любой цифровой входной контакт, и эти контакты могут использоваться в качестве цифровых выходов, только один инструмент может одновременно управлять цифровым выходным контактом. WaveForms учитывает это, отключая инструменты, использующие общий выход, или отображая сообщение о том, что общий выход в настоящее время используется другим инструментом.
3. Обзор пользовательского интерфейса статического ввода/вывода
В этом разделе рассматриваются различные параметры конфигурации для прибора Static I/O . Эти конфигурации можно использовать для взаимодействия с цифровыми сигналами и цепями и их отображения либо с помощью ранее рассмотренных инструментов в Waveforms, либо с внешними цифровыми цепями. Однако объем этого раздела будет ограничен только конфигурацией с краткими обсуждениями приложений.
3.1 Назначение групповой шины
По умолчанию инструмент Static I/O открывается со всеми доступными линиями цифрового ввода-вывода от вашего устройства для тестирования и измерений в группах по 8, в порядке убывания слева направо и сверху вниз, все настроены как индикаторы состояния LED для каждой линии. Чтобы изменить конкретную группу, щелкните раскрывающееся меню конфигурации группы, расположенное слева от строки группы. В это меню входят:
Бит ввода-вывода: (ввод/вывод) последний ввод-вывод, светодиод , кнопка, переключатель (обсуждается далее в разделе 3. 2)
Ползунок (выход)
Индикатор выполнения (ввод)
7-сегментный дисплей (вход)
3.1.1 Ползунок
Выбор «Ползунок» в раскрывающемся меню групповых назначений группирует эти восемь линий DIO в 8-битное двоичное значение, которое можно изменить, перемещая ползунок слева направо или вводя значение от 0 до 255 в текстовом поле значения. находится справа от ползунка. Самая старшая цифровая строка является старшим значащим битом (MSB), и каждая цифровая строка получит соответствующее значение бита, связанное со значением шины.
3.1.2 Индикатор выполнения
Выбор «Progress Bar» в раскрывающемся меню групповых назначений группирует эти восемь линий DIO в 8-битный вход шины, который отображает двоичное значение 8-битной шины в виде индикатора выполнения (увеличивается слева направо) и отображает точное значение. значение (от 0 до 255) в текстовом поле справа от индикатора выполнения. Самая старшая цифровая строка является старшим значащим битом (MSB), и каждая цифровая строка получит соответствующее значение бита, связанное со значением шины.
3.1.3 Семисегментный дисплей
Выбор «7 сегментов» в раскрывающемся меню групповых назначений группирует эти восемь линий DIO в 7-сегментный вход дисплея. Каждая из восьми цифровых линий соответствует одному из сегментов или десятичной точке, как показано на рисунке справа. Высокий логический уровень освещает сегмент, связанный с этой линией DIO.
3.2 Индивидуальные назначения DIO
Чтобы изменить назначение для отдельного DIO, а не для всей группы, щелкните раскрывающееся меню DIO, расположенное в верхнем левом углу окна отдельного DIO. В это меню входят:
Светодиод (вход)
Кнопка (ввод и вывод)
Переключатель (вход и выход)
3.
2.1 СветодиодВходной дисплей LED является настройкой по умолчанию для всех линий DIO. Отображает текущее состояние линии DIO: красный — высокий логический уровень, серый — низкий логический уровень.
3.2.2 Кнопка
Выбор «Кнопка» в раскрывающемся меню назначения DIO предоставляет шесть вариантов того, как кнопка работает при нажатии или отпускании. Кнопка — это устройство ввода и вывода с двумя состояниями (нажато и отпущено) с Светодиод как индикатор состояния. 0 соответствует низкому логическому уровню, 1 соответствует высокому логическому уровню (загорается светодиод ), а Z соответствует состоянию высокого импеданса, которое не приводит к срабатыванию индикатора светодиода , а также не переводит линию DIO в низкий или высокий логический уровень, который может быть полезно, если к одной линии подключено несколько устройств. На изображении A показаны варианты поведения кнопки, а на изображении B показаны два примера кнопок в состоянии отпускания и соответствующие им Светодиод индикация.
А Б
3.2.3 Переключатель
Выбор «Switch» в раскрывающемся меню назначения DIO предоставляет четыре варианта работы коммутатора. Переключатель — это устройство ввода и вывода, выход которого зависит от выбора состояния переключателя. Как и в устройстве Button, 0 соответствует низкому логическому уровню, 1 соответствует высокому логическому уровню (светодиод загорается), а Z соответствует состоянию высокого импеданса, при котором индикатор не активируется, а также не приводит линию DIO к логическому состоянию. низкий или высокий уровень, который может быть полезен, если к одной линии подключено несколько устройств. На изображении A показаны четыре варианта поведения переключателя, а на изображении B показаны три примера переключателей в состояниях 0, 1 и Z с соответствующими им Светодиод индикация.
А Б
В раскрывающемся меню «Файл» есть четыре параметра:
Открыть проект: открывает ранее сохраненное рабочее пространство
Сохранить проект: сохраняет текущую рабочую область
Экспорт: экспортирует образ текущего инструмента статического ввода-вывода
Close StaticIO: закрывает инструмент Static I/O
Выпадающее меню управления содержит две опции:
Выполнить: запуск инструмента статического ввода-вывода (также доступного по нажатию F5)
Стоп: останавливает работу инструмента статического ввода/вывода (также доступного по нажатию F6)
Раскрывающееся меню «Вид» позволяет пользователю включать и выключать текстовые поля настраиваемого имени для каждой строки DIO, которые отображаются в нижней части окон отдельных линий DIO, как показано на рисунке справа. Введите текстовое поле, чтобы изменить пользовательское имя линии DIO.
Выпадающее меню Окно позволяет выбрать:
Меню помощи (доступно также при нажатии клавиши F1)
Страница приветствия (сигналы)
Любой другой инструмент Waveforms, открытый на странице приветствия.
Следующие шаги
Расширитель портов ввода-вывода, I2C / SMBus, 16-разрядный, с затемнением светодиодов
%PDF-1.4 % 1 0 объект > эндообъект 6 0 объект /Title (CAT9532 — расширитель портов ввода-вывода, I2C / SMBus, 16-бит, с затемнением светодиодов) >> эндообъект 2 0 объект > эндообъект 3 0 объект > эндообъект 4 0 объект > транслировать 2016-10-11T16:30:59-07:00BroadVision, Inc.2020-09-14T08:51:12+02:002020-09-14T08:51:12+02:00Приложение Acrobat Distiller 10.1.16 (Windows)/ pdf