РУБРИКИ

Конспект лекций по курсу "Микропроцессоры и микро-ЭВМ в Персональной электронике" для студентов специальности 2008

 РЕКОМЕНДУЕМ

Главная

Правоохранительные органы

Предпринимательство

Психология

Радиоэлектроника

Режущий инструмент

Коммуникации и связь

Косметология

Криминалистика

Криминология

Криптология

Информатика

Искусство и культура

Масс-медиа и реклама

Математика

Медицина

Религия и мифология

ПОДПИСКА НА ОБНОВЛЕНИЕ

Рассылка рефератов

ПОИСК

Конспект лекций по курсу "Микропроцессоры и микро-ЭВМ в Персональной электронике" для студентов специальности 2008

Второй тип ППЗУ - ППЗУ с ультрафиолетовым стиранием. Стирание информации осуществляется подачей ультрафиолетового излучения к поверхности кристалла через специальное кварцевое окно в корпусе БИС. Ультрафиолетовое излучение вызывает разряд емкости затвора полевого транзистора ячейки памяти. Поэтому в исходном состоянии все ячейки ППЗУ содержат единицы. Программирование осуществляется подачей программирующего импульса амплитудой около 12...25 В на затворы транзисторов ячеек, куда необходимо записать нули. Информация при отключенном питании сохраняется в течение более 10 тыс. часов. Этот тип ППЗУ наиболее удобен для разработки программ пользователем, так как неудачную программу можно легко стереть и записать новую.

FLASH БИС памяти в последнее время наиболее часто используется для внутренней памяти программ МК, да и для наращивания памяти МПС. По принципу действия и программирования они очень похожи на ЭСППЗУ, но есть возможность программирования БИС не вынимая из схемы, причем не требуется дополнительных источников программирования. Число циклов программирования составляет от 1000 до106.

 В табл. 3.2 приведены характеристики основных типов ППЗУ.

Как правило, БИС ППЗУ по всем входам и выходам совместимы с ТТЛ уровнями, имеют выходы с тремя устойчивыми состояниями. Поэтому они соединяются с шинами МПС без всяких согласующих схем. Для создания блоков ОЗУ или ПЗУ большой емкости широко используется принцип "выключения" данной БИС, если на ее входе CS высокий логический уровень.

Таблица 3.2

Наименование  БИС

Организация

Потребляемая мощность, мВт/бит

Тц, нс

Тип БИС

519РЕ2

64х4

0,17

300

с эл. стиранием

К558РР1

1024х2

0,15


500

с эл. стиранием

К573РФ1

1024х8

0,1

700

с УФС

К573РФ2

2048х8

0,1

700

то же

27С64

8192х8

0,05

30-120

то же

27С256

32767х8

0,05

30-120

то же

Системы ПЗУ и ОЗУ могут быть конструктивно совмещены.

В последнее время на рынке появились новые перспективные БИС памяти, называемые FLASH-памятью. Как и в ППЗУ при отключении питания информация в них сохраняется достаточно долго, однако она может программироваться непосредственно в схеме с помощью подачи на БИС специальной управляющей последовательности импульсов. Правда, количество перезаписей в БИС ограничено (это число колеблется от 1000 до 1000000), однако в такой памяти удобно хранить данные, которые не должны пропасть и которые при некоторых условиях должны нечасто обновляться.

В табл. 3.3- 3.4 Показаны данные FLASH БИС лидера производства таких микросхем – фирмы AMD.

Таблица 3.3

FLASH-память с 12-вольтовым программированием

Микросхема памяти

Организация

Время доступа, нс

Число выводов

Am28F256A

32Кх8

70-200

32

Am28F512A

64Кх8

70-200

32

Am28FOlOA

128Кх8

90-200

32

Am28F020A

256К х 8

90-200

32

Таблица 3.4

Флэш-память с 5-вольтовым программированием

Микросхема памяти

Организация

Время доступа, нс

Число выводов

Am29F010

128Кх8

45-120

32

Am29F100

128Кх8, 64Kx 16

70-150

44, 48

Am29F200

256К x 8, 128Kx 16

70-150

44, 48

Am29F040

512Kx8

55-150

32

Am29F400

512Кх8, 256Кх 16

70-150

44,48

Am29F080

1Мх8

85-150

44. 48

Am29F800

1Мх8, 512Кх 16

85-150

40,44

Am29F016

2Мх8

90-150

48

Все микросхемы с 5-вольтовым программированием имеют блочную архитектуру, т.е. все адресное пространство разделено на сектора. При этом в зависимости от наличия или отсутствия так называемого загрузочного сектора (Boot Block) различают флэш-память однородную (29F010, 040, 080, 016), содержащую сектора одинакового объема, и с блоком загрузки (29F100, 200, 400, 800), содержащую сектора различного объема.

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

4. Средства связи МПС с объектами 

4.1. Общие положения

В эпоху бурного внедрения микропроцессоров и ОЭВМ в различные стороны жизни человека со всей остротой встает проблема взаимодействия МП или ОЭВМ с объектами, которыми они предназначены управлять. Особенно это актуально для "нетрадиционного" применения МП техники: бытовой, автомобильной, связной и т.п.

Дело в том, что объекты управления, как правило, являются аналоговыми, т.е. выдают или принимают аналоговый сигнал с различными параметрами. МП или ОЭВМ является обязательно цифровым устройством, который оперирует только с  двумя уровнями сигналов: "лог.0" - U<0,4 В и "лог.1" - U>4,5 В. Поэтому основная проблема при сопряжении объектов и МП устройств - преобразовать аналоговый сигнал в цифровой или обратно с максимальной достоверностью.

Этой задаче и служат многочисленные устройства связи и преобразователи. Причем проектирование качественной системы связи с объектом занимает чуть ли не первое место в создании всей системы, так как структура МПС как правило является типовой, а связь с объектами каждый раз приходится проектировать заново из-за исключительного разнообразия требований к таким устройствам.

Кроме того, в аналоговой технике почти всегда надо решать эмпирические задачи защиты от помех и наводок, что тоже затрудняет проектирование.

Все многообразие средств связи с объектами управления и МПС можно разделить на 4 класса:

·        Аналого-цифровые преобразователи, которые преобразуют аналоговый сигнал на входе в цифровую форму для обработки в МПС.

·        Цифро-аналоговые преобразователи, которые преобразуют цифровой код на входе в аналоговое напряжение для подачи на устройство управления.

·        Преобразователи уровня, которые имеют на входе цифровое напряжение, но не соответствующее уровню ТТЛ, который применим в МПС, и которые преобразуют это напряжение в ТТЛ цифровой сигнал или наоборот.

·        Различные преобразователи сигналов, которые преобразуют один параметр сигнала, который несет полезную информацию, в  другой параметр, который удобнее обрабатывать на МПС, например, преобразователи в широтно-импульсную последовательность (ШИМ регуляторы).

В следующих разделах рассматриваются все эти группы устройств, причем сразу дается современное состояние вопроса.

4.1. Аналого-цифровые преобразователи

Аналого-цифровые преобразователи или сокращенно АЦП предназначены для преобразования аналогового сигнала различной природы в цифровой код, который затем должен обрабатываться МПС.

Основными параметрами АЦП являются:

·                диапазон входного сигнала в вольтах. Могут встречаться случаи как однополярного, так и двуполярного входного сигнала.

·                точность представления аналогового сигнала цифровым кодом. Этот параметр зависит главным образом от разрядности АЦП, так как весь диапазон входного напряжения делится на коэффициент, который получается вычислением двойки в степени количества цифровых разрядов. Например, если входной диапазон составляет 0 - 10,24 В, а количество разрядов - 10, то цена деления последнего разряда кода (что и является точностью представления) составляет 10,24 В/(1024-1)= 0,01 В.

·                время преобразования сигнала - время необходимое для внутреннего преобразования аналогового сигнала в цифровую форму. Этот параметр может сильно различаться для разных АЦП: от 10-20 мкс до сверхбыстродействующих БИС с 10-100 нс задержкой.

·                величина отклонения от линейной характеристики преобразования аналог-цифра. В ряде применений этот параметр очень важен.

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

·                Источник опорного напряжения с очень стабильным выходным напряжением, номинал которого не должен быть ниже максимального входного напряжения. Правда, сейчас разработаны интегральные источники опорного напряжения с очень высокими характеристиками.

·                Схему тактирования АЦП, которая управляет временными характеристиками преобразования. Сейчас, как правило, схема тактирования включена в БИС АЦП.

·                Регистр для хранения преобразованных данных до считывания их в МП или ОЭВМ. Сейчас также он входит в состав БИС.

·                Схему индикации готовности преобразования. Как уже указывалось, выходной код появляется не сразу, а спустя определенное время - время преобразования tпр. Как обычно, БИС вырабатывает сигнал, который индицирует готовность кода на выходе.

На современном этапе все эти компоненты, как правило, располагаются внутри кристалла АЦП. Другим важным моментом является число и номинал источников питания БИС. Ранее для ее  работы требовалось не менее двух источников, из которых один был стандартным - +5В, а другой должен был вырабатывать, например, отрицательное напряжение для питания  внутренних блоков АЦП. Сейчас при разработке стремятся использовать один стандартный источник, а отрицательное напряжение получают внутри БИС путем преобразования +5В. Таким образом, для подключения БИС АЦП к МПС не требуется никаких дополнительных схем.

В зависимости от особенностей применения сейчас в основном используют:

·        8-разрядные АЦП для применений, где не предъявляются особые требования к точности преобразования, и где требуется минимизировать стоимость оборудования,

·        10- и 12-разрядные АЦП для большинства применений, для которых с одной стороны необходимо осуществить приемлемую точность преобразования, а с другой стороны не увеличивать сильно затраты на аналоговую часть,

·        14- и более разрядные АЦП для редких случаев, когда надо получить уникальные характеристики устройства. В этих применениях уже необходимо предпринимать специальные меры для исключения помех, наводок и т.п.

Схема подключения 10-разрядного типового АЦП к ОЭВМ семейства MCS-51 показана на рис. 4.1. 8 младших разрядов подключаются, например, к порту Р1, а 2 старших - к отдельным выводам порта Р3. С отдельного вывода порта Р3 снимается сигнал запуска АЦП. Обычно используются 2 способа работы с АЦП:

·        после формирования сигнала запуска АЦП осуществляется программная задержка на время, превышающее паспортную величину времени преобразования. Затем происходит последовательное считывание уже готовых данных с порта Р1 и выводов порта Р3. После этого программно образуется двухбайтовое слово кода, соответствующее напряжению на входе.

·        используется отдельный вывод с АЦП готовности данных, который подается на вход прерывания INT0 или INT1 ОЭВМ. В этом случае этот сигнал прерывает выполнение основной программы, и считывание данных осуществляется в подпрограмме обработки прерывания.

При проектировании схем с АЦП очень важно соблюдать некоторые основополагающие принципы конструирования:

·        не располагать рядом аналоговых слаботочных и цифровых схем на плате устройства,

·        обязательно разделять аналоговую и цифровую "земли", соединяя их при необходимости только в одной точке на входе платы,

·        стремиться к максимальному укорочению связей от входа сигнала до входа АЦП,

·        использовать конденсаторы развязки в цепи входа сигнала (обычно и керамический и электролитический конденсаторы).





















Рис. 3.1. Схема подключения АЦП к ОЭВМ

В качестве примера на рис. 3.2 показана схема типового АЦП фирмы Analog Devices AD7892 и указаны назначение ее выводов. Это подлинно интегральный АЦП, у которого все элементы реализованы на кристалле, имеет следующие характеристики:

·                число разрядов - 12,

·                диапазон входных напряжений - или 0 - 10,24 В или -5,12 - +5,12 В,

·                время преобразования - 2 мкс,

·                потребляемая мощность от единственного источника +5В - 0,5 мВт.













Рис.3.2. Схема интегрального АЦП AD7892.

3.2. Цифро-аналоговые преобразователи

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

Основные параметры ЦАП по существу, такие же, как и АЦП, только, как правило, БИС не имеет сигнала готовности, хотя время преобразования, естественно, конечно.

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

3.3. Преобразователи уровня и другие средства связи

Часто требуется управлять сильноточными цепями или вырабатывать уровни напряжения, которые выходят за рамки обычных ТТЛ уровней. В ряде применений из-за возможности влияния сильноточных цепей на цифровые схемы МПС требуется осуществить гальваническую развязку МПС и управляемых цепей. В этих случаях используют преобразователи уровней, реализованных на дискретных элементах или специализированных ИС. Из-за разнообразия таких вариантов существует множество схем преобразования.

Одним из примеров такого преобразования можно рассмотреть действительно актуальную проблему соединения МПС с последовательным каналом передачи данных, стандарт которого называется RS-232. Этот стандарт предусматривает уровни сигналов, протоколы передачи байта данных и даже конструктивные требования. В частности, рассмотренный в главе 2 МК серии MCS-51 обеспечивает преобразование байта данных в последовательный код для передачи по каналу RS-232. Однако выходные сигналы БИС имеют уровень ТТЛ, а уровни сигналов в канале должны  изменяться в пределах -12...+12 В.

Ранее для преобразования ТТЛ уровней применялись схемы на дискретных элементах и обязательно надо было предусматривать в системе еще 2 источника питания : +12 В и -12 В.

Теперь разработана целая серия преобразователей ТТЛ-RS-232, которые имеют внутренние преобразователи напряжения и поэтому требующие только одного источника питания +5 В. Например, популярный преобразователь ADM202 фирмы  Analog Devices имеет 2 преобразователя для приемного тракта и 2 преобразователя для передающего тракта канала RS-232. При этом он требует подключения только 4 конденсаторов номинала 0,1 мкФ.

4. Применение микропроцессоров и микропроцессорных систем

4.1. Особенности создания РЭС на МП

В настоящее время, в эпоху бурного развития микроэлектроники вариантов применения МП и МПС в различных отраслях народного хозяйства становится все больше. Целесообразно указать некоторые закономерности и проблемы, с которым сталкиваются потребители микропроцессорной техники. Применение МП в РЭА можно  разделить на две области:

1. "Традиционное" применение МП в цифровой аппаратуре и устройствах вычислительной техники: создание высокопроизводительных микро-ЭВМ, интеллектуальных средств общения человека и ЭВМ, развитие сетей, состоящих из микро-ЭВМ и т.п.

2. "Нетрадиционное" применение МП в аналоговой аппаратуре и системах управления объектами (контроллеры) для создания высокоэффективных связных систем, систем автоматического управления бытовыми приборами и т.д.

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







Рис. 4.1. Типовая схема устройства для встраивания МП или ОЭВМ

Типовая схема включения МП в такую структуру приведена на рис.4.2.


Рис. 4.2. Типовая схема включения МП

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

Процесс принятия решения о замене устройства с жесткой логикой на МПС основывается на многих параметрах проектируемой системы. Основные критерии такой замены следующие:

·        число корпусов ИС для построения прибора, основанного на схемном принципе, превышает некоторое критическое число. Для измерительных приборов это число колеблется от 30 до 100;

·        -заменяемый прибор является многофункциональный, причем необходимо предусмотреть возможность наращивания функций;

·        взаимодействие разрабатываемой системы с большим числом входных и выходных устройств;

·        требуется осуществлять запоминание и обработку полученных данных;

·        желательно осуществлять самоконтроль основных параметров системы;

·        для измерительной аппаратуры велик объем измерений, которые должны осуществляться с большой производительностью;

·        работа системы в реальном масштабе времени соответствует быстродействию МП, который предполагается использовать в системе.

Последнее обстоятельство является самым важным, так как, как правило, всегда программно-управляемое устройство работает медленнее системы с жесткой логикой. Таким образом, первая оценка применимости данного типа МП в системе реального времени связана с определением его производительности. Это предполагает, что алгоритм работы системы уже известен, определен перечень и объем задач, которые возлагаются на МПС. Однако, быстродействие процессора - еще не гарантия, что он будет успевать обрабатывать полученную информацию. Если программное обеспечение МПС не будет тщательным образом спроектировано для работы в системе реального времени, то могут возникнуть ситуация, когда работа системы будет полностью нарушена.

4.2. Применение МП в измерительных приборах

Измерительные приборы - системы, в которых применение МП может дать ощутимое повышение производительности, точности измерений, ввести дополнительные функции, позволяющие повысить эксплуатационные удобства при работе с приборами. В книге [11] подробно изложены особенности использования МП в различных измерительных системах; частотомерах, вольтметрах, осциллографах и т.п. Рассмотрим только один пример, самый простой, использования МП в частотомере. Стандартная схема частотомера, построенного на схемном принципе, изображена на рис. 4.3. Генератор счетных импульсов вырабатывает непрерывную последовательность достаточно коротких импульсов. Блок формирования временных интервалов в зависимости от частоты входного сигнала, образует временные ворота, длительность которых соответствует периоду входного колебания. Временные ворота подаются на временной селектор, который пропускает на выход только те счетные импульсы, которые попали во временные ворота. Таким образом, число счетных импульсов оказывается прямо пропорциональным периоду входного сигнала. Счетчик, на который подаются эти импульсы, подсчитывает их количество и формирует на дисплее значения измеренной частоты.


Рис. 4.3. Структурная схема цифрового частотомера

Структурная схема цифрового частотомера с микро-ЭВМ показана на рис. 4.4. Микро-ЭВМ в данной схеме берет на себя следующие функции:

·        в зависимости от значения частоты входного сигнала она формирует временные интервалы для блока формирования временных ворот;

·        переключает сигнал с одного мультиплексора на другой в зависимости от поддиапазона измерений;

·        формирует значения измеренной частоты по показаниям счетчика и отображает их на дисплее;

·        осуществляет ряд дополнительных действий, связанных с автоматизацией измерений.


Рис. 4.4. Структурная схема подключения микро-ЭВМ

Рассмотренный пример показывает, что в данном случае микро-ЭВМ не участвует в непосредственном формировании сигнала, а только управляет им. В других приборах, например, цифровых вольтметрах, осциллографах, микро-ЭВМ через АЦП и ЦАП непосредственно включаются в тракт обработка сигнала. Естественно, что во втором случае от нее требуется существенно большее быстродействие.

4.3. Применение МП в промышленности. связи, в быту

Рассмотрим конкретный пример использования МП в средствах связи. Точно так же как и в измерительных приборах, МП могут использоваться непосредственно в тракте сигнала, и для управления характеристиками этого тракта. Например, в приемниках МП может обрабатывать входной сигнал, осуществляя цифровую фильтрацию, а может управлять синтезатором частоты для управления только настройкой приемника. В качестве примера использования МП в радиоприемных устройствах приведем схему вычислителя для автоматической настройки одиночного параллельного контура на частоту приемника Fo. Настройка проводится с помощью варикапа, на который подается управляющее напряжение Uупр. На рис. 4.5 показана упрощенная схема приемника.


Рис. 4.5. Схема входного контура приемника

Напряжение на контуре детектируется амплитудным детектором (АД),преобразуется в АЦП в двоичный код и поступает на МП. МП оценивает сигнал и выдает управляющее напряжение Uy, которое после ЦАП поступает на варикап для изменения частоты настройки контура. Задача, решаемая МП, состоит в поиске экстремума функции Uy(F). Из всех известных алгоритмов поиска вследствие малой разрядности МП выбирается метод нулевого порядка - метод случайного пошагового поиска экстремума с запоминанием верного шага.

Суть алгоритма состоят в следующем. Так как напряжение на контуре является функцией расстройки {Fk-Fo}, то пря изменении F изменяется и Uk. МП формирует приращение U4(может быть и положительным и отрицательным). Происходит сравнение Uk=f(Uy) и Ukn+1=f(Uy+DUy).Если Ukn+1>Ukn, то делается шаг в ту же сторону, в противном случае - в противоположную. Одноэкстремальный вид функции настройки позволяет одновременно осуществить операцию автоматического поиска частоты Fo.  АЦП и ЦАП подсоединяются к МПС через порты ввода/вывода. Покажем на примере, как можно построить минимальную конфигурацию МПС на ОЭВМ серии MCS-51, выполняющую данную задачу. Для построения портов ввода/вывода используются порты Р1 и Р2 ОЭВМ (рис. 3.1). Это позволяет использовать для ввода/вывода команды ОЭВМ работы портами. Предположим, что  для АЦП  осуществляется программная задержка на время, большее времени преобразования, чтобы избежать ввода еще одного регистра для опроса сигнала готовности АЦП. Сигнал на  ЦАП подается сразу из ОЭВМ через порт. Однако при регулировании необходимо организовать программную задержку на время установления переходных процессов в контуре. Кроме того, для исключения влияния шума на процесс регулирования нужно установить нижний предел изменения  DUk.

Распределим ресурсы системы. Регистр ОЭВМ R2 будет хранить значения Uy, в  R3 помещаются значения предыдущего шага Uk-1, а в А - последующего шага Uk. В регистр R4 в процессе работы программы будем помещать число N - параметр программной задержки. На рис. 4.6 приведена структурная схема программы автоматического поиска и настройки на резонанс. Пояснения, данные справа каждого программного блока иллюстрируют, логику программы. Программа занимает в ПЗУ 53 ячейки, время обработки одного значения Uk вместе с временной задержкой составляет 400 мкс.

Рассмотренный пример показывает особенности применения МП в радиосистемах: работа в реальном масштабе времени, экономия памяти и аппаратных средств, использование программной задержки и т.п.

Теперь рассмотрим другой пример: использование МПС в системах сбора и обработки данных. Пусть требуется спроектировать автоматизированную систему опроса 8-ми аналоговых каналов, МПС должна последовательно опросить каждый из каналов, принять аналоговые данные, преобразовать их в цифровую форму и запомнить в соответствующих ячейках памяти МПС для последующей обработки.



Рис. 4.6. Структурная схема алгоритма

4.4. Система сбора аналоговой информации

Пусть по 8-ми каналам передается аналоговая информация с амплитудой не более 1 В положительной полярности и надо осуществлять выборку каждого канала не реже 1 раза в 20 мс. Точность представления сигнала  должна быть не хуже +-10 мВ. Опрос каналов  осуществляется в течение 10 с, а затем должна быть сделана обработка накопленной информации. Требуется спроектировать аппаратную часть системы с выбором основных ее элементов, составить программу опроса каналов и накопления информации в ОЗУ системы.

Этап 1. Составление структурной схемы системы. Для экономии средств и времени на разработку выберем в качестве ведущего модуля ОЭВМ семейства MCS-51 КР1830ВЕ751 (аналог ОЭВМ I87C51 фирмы Intel). Эта ОЭВМ в настоящее время широко распространена, дешева, для нее существует практически вся номенклатура аппаратных и программных средств разработки.

Выбор АЦП. Для опроса аналоговых каналов и преобразования сигналов в цифровую форму, естественно, надо предусмотреть в системе АЦП. Его выбор основывается на заданных параметрах аналогового сигнала: амплитуде, точности, скорости выборки. Прежде всего, выберем разрядность, исходя из точности 10 мВ при диапазоне сигнала в 0...1 В. Разделив второе число на первое получим коэффициент деления, который определяет разрядность АЦП. Он равен 100, поэтому вполне подойдет 8-разрядный АЦП, для которого этот коэффициент равен 28 = 256>100. Таким образом, не слишком жесткие параметры позволяют выбрать достаточно простой и дешевый 8-разрядный АЦП AD7575, который имеет следующие характеристики:

*                    входной диапазон  - 0...2,56В;

*                    время преобразования <2,5 мкс;

*                    из внешней "обвязки" требует только подключения источника опорного напряжения величиной 1,28В, который также выпускается в интегральном исполнении -  ИС LM306.

Для хранения считанной информации надо предусмотреть внешнее ОЗУ емкостью: (10000мс/20 мс)х8 каналов = 4000 байт. Для работы с запасом возьмем БИС ОЗУ объемом 8 Кбайт= 8192 байта типа HM6164 с временем доступа 100 нс. Этот тип ОЗУ также широко распространен и дешев.

Для переключения аналоговых каналов надо взять стандартный 8-канальный налоговый мультиплексор, например, отечественный КР590КН9.

Таким образом, были выбраны все основные компоненты системы, и можно составить структурную схему устройства (рис. 4.7).

Так как к ОЭВМ нужно подсоединить внешнюю ОЗУ, то надо организовать ША, ШД и ШУ. С этой целью в систему включен так называемый "регистр-защелка" DD2 типа К555ИР22, в котором по фронту сигнала ALE из ОЭВМ запоминается младший байт адреса внешней ОЗУ, который в этот момент присутствует на выводах порта Р0. Остальные 5 старших разрядов образуются сигналами, выставляемыми на выводах Р2.0 - Р2.4 порта Р2 ОЭВМ, которые держатся весь цикл обращения к ОЗУ.

Память программ будет использована внутренняя (в составе ОЭВМ имеется 4 Кбайта УФ ППЗУ).

Для того, чтобы не включать в схему дешифратора адреса для выбора либо БИС ОЗУ, либо БИС АЦП используется сигнал Р2.5 порта Р2: при установке его в 0 включается внешнее ОЗУ (фактический диапазон адресов этого ОЗУ 0000 - 1FFF), при установке его в 1 выбирается БИС АЦП (любой адрес внешней памяти, начинающийся с 2000).

Этап 2. Математическое описание алгоритма. Данный этап для такой задачи можно опустить, так как процесс сбора информации не предусматривает никаких сложных математических действий.

Этап 3. Составление укрупненной структурной схемы. Структурная схема приведена на рис. 4.8.

По условию необходимо производить опрос каналов в течение 10 с, а затем идет обработка, которая в данной задаче не рассматривается.

Временные интервалы проще всего отсчитывать с помощью внутренних таймеров. Будем считать, что тактовая частота ОЭВМ составляет 12 МГц, так что длительность импульса внутренней синхронизации, который может быть подан на таймер, составляет 1 мкс. Так как регистр таймера 16-разрядный, то максимальное накапливаемое время будет составлять 65535 мкс = примерно 65 мс. В течение интервала 10 с таких событий должно быть 10000/65=154. Для регистрации такого числа событий можно использовать известный прием накопления их в каком-либо регистре и выдаче сигнала об окончании путем установки определенного флага.

Этап 4. Распределение ресурсов. Желательно все переменные распределить во внутренней памяти и еще лучше в текущих регистрах R0-R7 ОЭВМ.

R0 - Текущий номер опрашиваемого канала.

А - Текущий байт, считанный с АЦП.

R2 - накапливающий регистр для таймера (см. выше).

R3 - регистр для временного хранения младшего байта DPTR

R4 - регистр для временного хранения старшего байта DPTR

R5 - счетчик числа опрошенных каналов

R6 -

R7 -

DPTR - адрес внешней ячейки памяти для записи текущего байта.

FLAG - битовая переменная для сигнализации, что 10 с прошло. Пусть FLAG = 1 сигнализирует, что интервал времени сбора информации прошел.

Регистрацию времени по таймеру проще всего вести по программе прерывания по таймеру. Если это прерывание разрешено ( флажок ET0 в регистре IE установлен в 1), то при переполнении таймера 0 происходит переход на адрес 000В внутренней памяти программ, где должна находиться подпрограмма обработки этого прерывания.

Сама подпрограмма обработки прерывания должна делать следующее:

·        запретить прерывания на время своего выполнения (флажок ET0 в регистре IE устанавливается в 0) (в данной задаче с одним источником прерывания это можно не делать, но когда источников несколько, то нежелательно, чтобы другое прерывание прерывало эту подпрограмму).

·        остановить таймер ( флажок TF0 устанавливается в 0 для таймера 0),

·        прибавить к накапливающему регистру 1, так как очередной 50-мс цикл прошел,

·        проверить, превысило это значение в регистре число 154, т.е. прошло ли уже 10 с,

·        если прошло 10 с установить  FLAG в 1, иначе оставить FLAG =0,

·        Загрузить в регистры таймера числа для очередного 50-мс цикла,

·        запустить таймер 0 ( флажок TF0 устанавливается в 1 для таймера 0),

·        разрешить прерывания от таймера 0 (флажок ET0 в регистре IE устанавливается в 1).





























Рис. 4.7. Структурная схема системы сбора аналоговой информации

 






























Рис. 4.8.  Укрупненная структурная схема алгоритма

Расчет чисел, загружаемых в регистры таймера, чтобы он переполнялся ровно через 50 мс, осуществляется так:

в программе предусмотрена двухбайтная псевдопеременная TIME, которая и определяет интервал 50 мс. Она записывается так:

TIME  = NOT(50000 - 1), где 50000 - требуемый интервал в мкс. Тогда операторы загрузки этого числа в таймер 0 выглядят следующим образом:

           MOV TL0,#HIGH(TIME)

           MOV TH0,#LOW(TIME)

где символы HIGH и LOW означают для программы Ассемблера соответственно старший и младший байты двухбайтного числа TIME.

Этап 5. Составление подробной структурной схемы алгоритма.

На рис. 4.9 показана структурная схема программы прерывания, а на рис. 4.10 – общей программы.


 
























Рис. 4.9. Структурная схема подпрограммы прерывания


 


Рис. 4.10. Структурная схема основной программы

Текст программы опроса каналов

Метка

Мнемоники

Комментарии


Name  EXMPLADC

; название модуля программы для сборки;

TIME

EQU NOT(10000-1)

;задание константы для 10 с опроса

DSEG AT 50H

;сегмент данных во внутренней памяти данных

dirAdr:

DS 1;


BSEG AT 20H

; сегмент битовых данных во внутренней памяти данных

Flag:

DBit 1

; бит флага окончания 10 с интервала


CSEG AT0H

; абсолютный кодовый сегмент, начинающийся с адреса 0000Н


ORG 0H

;псевдокоманда задания адреса памяти


LJMP Start

;переход на начало основной программы


ORG 000BH

;псевдокоманда задания адреса подпрограммы прерывания от таймера


LJMP INTER0

;переход на начало подпрограммы обработки прерывания от таймера

INTER0:

clr ET0

;запрет прерывания от таймера 0


clr TR0

;останов  таймера 0


mov th0,#High(TIME)

;загрузка в таймер числа для 50 мс интервала таймера


mov tl0,#low(TIME);


inc r2

;увеличение на 1 счетчика 50 мс интервалов для получения 10 с времени опроса


cjne r2,#159,int11

;если это число не равно 159, то снова запуск таймера на 50 мс


mov r2,#0

;иначе, обнуление счетчика


setb Flag

;установка флага конца 10 с интервала


ljmp int12;


int11:

setb TR0

;запуск таймера


setb ET0

;разрешение прерывания от таймера

int12:

reti

;возврат из программы прерывания

Start:


;начало основной программы


mov SP, #60H

;установка указателя стека на конец внутренней памяти данных


mov r2,#0

;подготовка счетчика числа 50 мс интервалов


setb EA

;разрешение всех прерываний


mov th0,#High(TIME)

;загрузка в таймер числа для 50 мс интервала таймера


mov tl0,#low(TIME)

;


mov dptr,#2000h

;загрузка в DPTR адреса АЦП в памяти


mov r3,#0

;подготовка пары регистров для хранения текущего адреса ячейки ОЗУ


mov r4,#0

;


mov p1,#0

;установка 0 аналогового канала


mov r5,#8

;установка счетчика каналов


setb ET0

;разрешение прерывания от таймера 0


setb TR0

;запуск таймера 0

m1:

movx @dptr,a

;команда начала преобразования АЦП


lcall delay

;задержка на 25 мкс


movx a,@dptr

;считывание кода с АЦП


mov dph,r3

;загрузка в DPTR адреса текущей ячейки ОЗУ


mov dpl,r4

;


movx @dptr,a

;запись считанного с АЦП кода во внешнюю память


inc dptr

;увеличение адреса текущей ячейки внешнего ОЗУ на 1


mov r3,dph

;сохранение в регистрах адреса текущей ячейки внешнего ОЗУ


mov r4,dpl ;


mov dptr,#2000h

;загрузка в DPTR адреса АЦП в памяти


inc p1

;увеличение на 1 номера канала


djnz r5,m1

;цикл опроса  следующего канала


mov p1,#0

;обнуление номера канала


mov r5,#8

;установка 0 аналогового канала


mov c,Flag

;проверка флага окончания опроса


jz m1

;цикл по следующей выборке из 8 каналов


lcall mathem

;окончание опроса, вызов программы обработки


ljmp start

;на начало программы для повторения полного цикла

delay:

mov r6,#8

;подпрограмма задержки на 25 мкс для готовности АЦП, в R6 рассчитанное на 25 мкс число

m5:

nop

;пустая операция, длится 1 мкс


djnz r6,m5

;вычитание из R6 единицы и проверка на нуль в R6, если нуль, то окончание подпрограммы


ret

Mathem::

ret

;"заглушка" программы обработки информации из каналов, в данном примере не рассматривается

END


;конец модуля

Страницы: 1, 2, 3, 4, 5, 6


© 2010
Частичное или полное использование материалов
запрещено.