Разработка функциональной схемы ввода аналоговых сигналов в ПЭВМ. Выбор интерфейса для обмена информацией, страница 2

На шине ISA каждое устройство имеет свой уникальный адрес. Одному физическому устройству могут также соответствовать несколько адресов, если оно имеет несколько логических компонент и необходим доступ к ним по отдельности. То есть в структуре устройства должна присутствовать схема селекции адреса. Кроме того, доступ ко внешнему устройству может идти либо на чтение, либо на запись. Для определения режима доступа по шине управления передаются специальные сигналы  и , указывающие, соответственно, выбран ли режим чтения или режим записи. Их также необходимо использовать, чтобы исключить ошибки в работе, могущие возникнуть при реакции со стороны разрабатываемого устройства на неверный режим доступа.

Если устройство будет работать только с сигналами строго заданной длины, то есть со строго определенным количеством отсчетов, оно будет чрезмерно узкоспециализированным и не найдет широкого применения. Поэтому нужна возможность задания длины обрабатываемого сигнала, то есть требуется схема ввода длины. Поскольку после получения данных о требуемом количестве отсчетов устройство обладает всей необходимой информацией для начала работы, то функцию получения количества отсчетов можно совместить с функцией запуска обработки (оцифровки) аналогового сигнала с записью его в буферную память. Также необходим предварительный сброс всех устройств до начала оцифровки в первоначальное состояние.

В принципе возможно техническое решение, обеспечивающее конвейерную обработку сигнала, когда параллельно с быстрой записью его в буферную память происходит также более медленная передача записанных данных по шине в основную память (с участием либо без участия центрального процессора). Однако это приведет к неоправданному чрезмерному возрастанию схемотехнической сложности изделия, поэтому будет применена стадийная схема обработки. Поскольку в этом случае до окончания оцифровки сигнала невозможен вывод информации, то необходимо предусмотреть флаг готовности выходных данных, сигнализирующий об окончании процесса оцифровки.

Нужно устройство управления буферной памятью, задача которого — управлять режимами работы памяти и обеспечивать подачу необходимых для работы сигналов адресов, данных и управления.

Для вывода информации требуется устройство, выводящее информацию на шину по требованию по окончании цикла оцифровки.

И, наконец, для работы с шиной данных требуется развязывающее устройство, снимающее нагрузку с шины при отсутствии необходимости обращения к ней — таково требование при разработке устройств для шины ISA. При работе с шиной адреса в такой схеме нет необходимости.

В результате функциональная схема приобретает вид, показанный на рис. 4.2.

4.2.3. Уровень функциональных устройств

На этой стадии уточнения берется в расчет микросхемотехника устройства и параметры сигнала.

Поскольку динамический диапазон сигнала составляет 10 дБ, то требуемое количество бит на отсчет вычисляется по формуле  [10]. Поскольку хранение отсчетов в такой форме осуществлять неудобно, и желательно учесть возможность применения аппаратуры при других параметрах сигнала, то для каждого отсчета будет выделяться один байт буферного ОЗУ.

Рис. 4.2. Обобщенная функциональная схема

Для обращения к памяти со стороны ЦП можно выделить 2 способа аппаратной поддержки: включения памяти на плате в пространство оперативной памяти компьютера, либо последовательное побайтное (пословное) отображение на один адрес ввода-вывода. Можно было бы воспользоваться первым методом, как более простым, если бы не ограничения шины ISA. Она позволяет адресоваться только к  ОЗУ. Раньше, когда объем собственной оперативной памяти компьютера редко превышал 12 Мб, память на платах расширения отображалась в район 15-16 Мб, не перекрываясь с основной памятью. Однако в настоящее время, когда стандартом де-факто стали 64 Мб ОЗУ, такой способ неприемлем, поскольку в лучшем случае это приведет к отключению 1 Мб ОЗУ на компьютере, если материнская плата поддерживает эту операцию, и к конфликтам адресов в худшем. Поэтому для обращения к памяти будет использован метод отображения на адрес порта ввода-вывода.

Порядок работы устройства описывается следующим образом. При подаче на один из портов информации о количестве требуемых отсчетов она фиксируется в устройстве хранения, одновременно все блоки приводятся в начальное состояние (сбрасываются), устанавливается флаг занятости схемы и дается сигнал на запуск преобразования. По переднему фронту импульсов от генератора идет подсчет количества принятых отсчетов и инкремент адреса памяти, куда записываются принятые отсчеты. Поскольку для хранения каждого отсчета требуется один байт, то есть номера отсчетов и адреса их хранения численно равны, то для генерации очередного адреса и подсчета числа отсчетов может быть использована одна и та же схема. Позаднему фронту импульсов от генератора записывается в память текущий отсчет, к данному моменту он должен быть уже оцифрован — АЦП необходимо выбрать сучетом этого. По достижении заданного количества отсчетов сбрасывается флаг занятости, и работа АЦП прекращается, то есть на первой стадии схема работает автономно. Информацию о законченности или незаконченности (флаг занятости) процесса можно получать по второму порту.