Микропроцессорная система контроля частоты вращения вала забойного двигателя при бурении скважины турбинным способом

курсовая работа

3.2 Конструктивные особенности

На конденсаторах C1, C2 и кварцевом резонаторе ZQ1 собрана времязадающая цепочка, определяющая частоту внутреннего тактового генератора микроконтроллера МК51. Конденсаторы C1 и C2 выбраны равными 30пФ. Кварцевый резонатор выбран на частоту 11.0592МГц.

Для начального сброса системы при включении питания поставлена дифференцирующая цепочка C3R2, выход которой подключен к входу RST микроконтроллера. Вход цепочки подключен к напряжению питания +5В. При включении питания на выходе дифференцирующей цепи появляется короткая логическая единица. Для уверенного сброса значение емкости C3 выбрано равным 10мкФ, а резистор равным 8.2кОм. Для быстрой разрядки конденсатора поставлен диод VD1.

Выход внутреннего генератора МК51 BQ2 заведен на вход C делителя частоты, собранного на двух счетчиках в одном корпусе (DD2). Делитель используется для формирования тактовой частоты для работы АЦП и для работы таймера. Для АЦП формируется частота 1,3824 МГц (сигнал T1), а для таймера - 43,2КГц (сигнал C8). Последняя заводится на вход T1 микроконтроллера. Например, для получения прерываний с частотой 1Гц в таймер загружается число 65536-43200=22336. При этом прерывание будет происходить раз в секунду. Но первым делом, перед выполнением программы обработки прерывания необходимо поставить команды перезагрузки таймера. Это необходимо потому, что прерывание происходит, когда счетчик переполняется, т.е. в него записывается 0. Если не производить переустановки таймера, то очередное прерывание произойдет не через одну секунду, а примерно через 1,5 секунды. При работе таймер должен работать в режиме 1.

Во время работы микроконтроллер при обращении к внешней памяти формирует адрес через порты P0 и P2 (на схеме они обозначены как AD0-AD7 и A8-A15 соответственно). Старший байт адреса удерживается в течение всего цикла обращения к внешней памяти, а младший байт появляется только на короткий промежуток времени, так как порт P0 еще используется как канал данных. По этому, для удерживания младшего байта адреса в течение всего цикла обмена установлен регистр DD4, запись в который происходит по сигналу ALE.

В схеме присутствует ПЗУ емкостью 32Кбайт, предназначенное для хранения программы, и ОЗУ емкостью 32Кбайт, предназначенное для хранения данных, считанных с датчиков. Выбор ПЗУ производится сигналом , формируемым микроконтроллером при обращении к программной памяти.

Память данных условно разбита на два банка. Разбиение показано на рисунке 2. Как видно из рисунка, обращение к внешнему ОЗУ происходит по адресам, находящимся ниже адреса 8000h, т.е. когда старший бит адресного слова A15 равен нулю. Этот адресный бит заведен на вход микросхемы ОЗУ DD8. Когда мы обращаемся к ячейке памяти данных по адресу, находящемуся между 0000h и 7FFFh, то сигнал A15 устанавливается в 0, тем самым, выбирая микросхему памяти. На вход микросхемы заводится сигнал , снимаемый с выхода (17 ножка корпуса) микроконтроллера. Вход соединен с выходом (16 ножка). При чтении данных из ОЗУ на входе формируется логический нуль, и если адрес находится в интервале 0000h-7FFFh, то разрешается выдача байта на шину данных микроконтроллера, и выходы DD8 переводятся из высокоимпедансного состояния в состояние, определяемое содержимым адресуемой ячейки памяти. При записи в ОЗУ микроконтроллер устанавливает сигнал в логический нуль. По этому сигналу с шины данных байт информации переписываются в микросхему. При этом выходные каскады ОЗУ находятся в высокоомном состоянии, так как на входе держится логическая единица. Это позволяет избежать эффекта короткого замыкания, когда, например, ОЗУ на выходе D0 формирует логическую единицу, а микроконтроллер на этом же выводе формирует логический нуль. В такой ситуации происходит замыкание источника питания через выходные каскады микросхем. Это не страшно для источника питания, так как ток протекает небольшой, но может оказаться нежелательным для микросхем, если у них выходные каскады маломощны.

При чтении сигналов с датчиков используется верхняя половина адресуемой памяти данных - банк датчиков (см. рис. 2). Банк датчиков разбивается на группы (см. рис. 6). Для фиксирования обращения к банку датчиков, так же как и при обращении к ОЗУ, используется сигнал A15=1.

При чтении по адресам выше 7FFFh происходит выбор дешифратора DD3. На адресный вход дешифратора подаются A4 и A5. Выходы дешифратора заведены на дешифраторы регистров DD5, DD6 и на вход аналого-цифровых преобразователей DD33, DD34. Как видим, здесь применена схема увеличения разрядности дешифраторов. При этом, когда A5A4=00, выбирается ЦД0 (см. рис. 3), если A5A4=11, то выбирается АД1.

Как видно из рис. 6, аналоговые датчики дублируются в своей группе. Это объясняется следующим. Так как цифровые и дискретные датчики объединены, количество адресуемых байтов для них стало равным 24. Разбили их на две группы: 16 и 8 датчиков, при этом элементы первой группы адресуются с помощью 16-разрядного (по выходам) дешифратора К1533ИД3, а элементы второй группы - с помощью 8-разрядного дешифратора К1533ИД7. У микросхемы К1533ИД7 имеется три входа разрешения дешифрации , , , которые объединены по И (выбор происходит, когда ). На заводится сигнал выбора с дешифратора DD3, а на - сигнал A3. Из-за последнего удается избежать дублирования адресов датчиков в группе без дополнительных микросхем.

Рис. 2. Распределение адресов памяти данных.

Рис. 3. Структура банка датчиков

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

Т.о. видно, что цифровые и дискретные датчики находятся друг за другом непрерывно, и для последовательного их опроса необходимо будет просто увеличивать адрес. Для аналоговых датчиков необходимо будет после последовательного опроса первых восьми датчиков изменить адрес. Далее последовательно опросить остальные восемь датчиков. Но если установить начальный адрес, к примеру, равным 8028h, т.е. на начало дублирующего блока АД0, то можно будет последовательно опросить все 16 аналоговых датчиков.

По этим данным составлены форматы адресов для чтения датчиков. Они представлены на рисунке 4 и рисунке 5.

Рис. 4. Формат адреса чтения состояния цифровых датчиков.

Рис. 5. Формат адреса чтения состояния аналоговых датчиков.

Входы дешифраторов DD5, DD6 заведены на входы регистров DD9-DD32, которые служат для развязки шины данных от датчиков и для выборочного чтения. На входы регистров приходят сигналы непосредственно с датчиков, а выходы регистров запараллеливаются и подсоединяются на шину данных AD0-AD7. Когда ни один из дешифраторов DD5,DD6 не выбран, то выходы всех регистров находятся в высокоимпедансном состоянии. Когда на одном из выходов дешифраторов появляется логический нуль, то этот нуль поступает на вход соответствующего регистра. Выход этого регистра переходит из высокоомного состояния в одно из логических состояний, при этом на его выходе данные повторяют сигналы на входе. Далее сигналы с шины данных читаются однокристальной микро-ЭВМ.

Чтение аналоговых сигналов происходит следующим образом. При чтении из памяти данных по адресу, соответствующему рисунку 8 на одном из выходов 2 (13 ножка) или 3 (12 ножка) появляется логический нуль. Пусть, к примеру, на шине адреса установился адрес 8033h. Младшие три бита адреса 011 приходят на входы A0-A2 микросхем АЦП. По стробу ALE эти биты фиксируются во внутреннем регистре; записывается адрес считываемого канала аналогового сигнала. После записи младшего бита адреса в адресный регистр DD4 по нулевому уровню сигнала на выходе 3 дешифратора DD3 появляется нулевой уровень: CS3=0. На вход аналого-цифрового преобразователя DD34 поступает логический нуль. После этого на выходе преобразователя формируется цифровой код, соответствующий входному напряжению на разъеме XS2, цепь AI11.

Для работы АЦП требуется: опорное напряжение верхнего и нижнего уровня VR1, VR2 и тактирование CLK. Нижний уровень выберем равным нулю, верхний уровень опорного напряжения VR1=2,5В.

Делись добром ;)