Часть3 (1028412), страница 18

Файл №1028412 Часть3 (Рябов В.Т. - Комплексная разработка механических, электронных и программных компонентов ТО) 18 страницаЧасть3 (1028412) страница 182017-12-22СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 18)

Связь между значениями этих битов и номером прерывания приведена в таблице 6.3.5.Таблица 6.3.5.I2I1I0Номер линии прерывания000IRQ2001010IRQ2011IRQ3100IRQ4101IRQ5110IRQ6111IRQ7Процедура Mode_SW(kanal,gain:integer), которая устанавливает программный режим запуска и программное обнаружение конца преобразования, номер контролируемогоканала и усиление по нему, приведена ниже. Здесь мы снова воспользуемся языком Pascal,более удобным для педагогических целей.

Пусть в программе заранее определена константа ВА – базовый адрес, соответствующая фактическому адресу, выставленному перемычками В0…В5 на плате. В переменной cannel задается номер контролируемого канала,в переменной gain – усиление по контролируемому каналу в соответствие с приведенной вкомментариях к программе таблицей.Procedure Mode_SW(cannel,gain:integer);Beginport[ВА+9]:=gain;port[ВА+10]:= cannel;port[ВА+11]:=0;{Режим программный}End;{канал-номер от 0 до 7}{gainУсиление}{ 01}{ 12}{ 24}{ 38}{ 416 }Для программного запуска преобразования достаточно записать любое число в байтовый регистр с адресом ВА+12. Если при этом, в битах S2…S0 регистра режимов АЦПбыло записано число 0, 1 или 3, начнется преобразование и вывод RDY (Ready – готов)будет сброшен и вновь установится в единицу, только когда преобразование будет окончено.

Результаты преобразования отображаются в шестнадцати разрядном регистре ВА+4,который доступен для чтения и побайтно, соответственно ВА+4 – младший байт, ВА+5 –старший байт. В четвертом бите старшего байта этого регистра отображается и значениесигнала RDY (готов).Рябов Владимир Тимофеевич. Кафедра «Электронные технологии в машиностроении»МГТУ им. Н. Э. Баумана, V_Ryabov@mail.ru53Ранее уже говорилось о том, что регистр ВА+4 различен для чтения и записи. Призаписи в него информация передается на цифро-аналоговое преобразование, читаем мы изнего результаты аналого-цифрового преобразования.

Содержимое регистра ВА+4 причтении приведено в таблице 6.3.6.Таблица 6.3.6.Адресb7b6b5b4b3b2b1b0ВА+4D7D6D5D4D3D2D1D0ВА+5RDYD11D10D9D8Биты D11…D0 содержат двоичный код, соответствующий напряжению в контролируемом канале, т.е. содержит число дискрет Ndscr, укладывающихся в контролируемоенапряжение. Для приближенного расчета величины контролируемого напряжения в вольтах, с учетом коэффициента усиления К по каналу, можно воспользоваться формулой:−5V+ Ndscr * dscr ) = Uok + Ndscr * dscr ;Ain = (K10V;dscr =K * 4096здесь: -5V – номинальная величина напряжения, соответствующая нулевому коду в битахD11…D0 по описанию платы, dscr – номинальная цена одной дискреты, Uok - напряжение, соответствующее нулевому коду при заданном коэффициенте усиления.Для измерений с максимальной точностью лучше предварительно экспериментально определить напряжение, соответствующее нулевому коду Uok и цены дискрет dscrпри каждом усилении, проводя параллельные измерения с помощью платы PCL-711 иточного аттестованного цифрового вольтметра.

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

Пересчет кода в вольты, если это потребуется, целесообразно делать отдельно вне этой функции.Function Cntrl: integer;Beginport[ВА+12]:=10;repeatuntil (port[ВА+5] and $10)=0;Cntrl:=portw[ВА+4] and $FFF;End;{Старт АЦП, запись в ВА+12 любого числа{Повторяем, пока бит 5 байтового регистра В+9{не установится в единицу,{Значение функции - из 12 бит слова ВА+4{ символ $ - признак шестнадцатеричной нотации}}}}}При запуске этой процедуры на РС с частотой 133МГц цикл ожидания конца преобразования выполнялся всего 11 раз, так что заметного выигрыша в процессорном времени при обнаружении конца преобразования с помощью прерывания не будет, так каквызов подпрограммы обработки и возврат из нее так же требуют времени.Для запуска от внешнего импульса с программным обнаружением конца в битыb2…b0 регистра ВА+11 необходимо записать 010, т.е.

попросту присвоить ему значение 2,так как прерывания при запуске от внешнего импульса не используются и переопределение битов b6…b4 этого регистра не имеет значения. Но лучше и здесь применить приеммаскирования. А дальше цикл ожидания, считывание и сохранение кода. Попробуйте самостоятельно написать программу сохранения результатов ста измерений в массиве из стацелых чисел.Очень полезна возможность платы производить оцифровку какого-либо сигналачерез одинаковые промежутки времени. Для этого на плате имеется трехканальный шестнадцати разрядный таймер Т/С (рис. 6. 41).

Он функционально схож со стандартным тайРябов Владимир Тимофеевич. Кафедра «Электронные технологии в машиностроении»МГТУ им. Н. Э. Баумана, V_Ryabov@mail.ru54мером компьютеров клона РС Intel 8253 и имеет интерфейс для программиста в виде четырех байтовых регистров с адресами ВА+0, ВА+1, ВА+2 и ВА+3.Через байты с адресами ВА+ 0, ВА+1 и ВА+2 доступны нулевой, первый и второйканалы таймера счетчика. Байт с адресом ВА+3 является регистром управления.

Мы изучали таймер-счетчик микроконтроллера семейства MCS-51. Помните, он был двухканальный шестнадцати разрядный и мог работать в четырех режимах: имитатор таймера MCS49, обычный шестнадцати разрядный счетчик с генерацией прерывания при переполнении, управляемый делитель частоты и т.п. Здесь различных режимов уже шесть. Нам интересен второй режим, управляемый делитель частоты. В этом режиме счетчик по тактирующим импульсам уменьшает содержимое своего счетного шестнадцати разрядного регистра и формирует фронт или спад на выходе при переходе через ноль. Число «С», с которого он начинает счет предварительно записывается в регистр таймера счетчика и каждый раз автоматически перегружается. Таким образом, входная Fin и выходная Fout частоты связаны соотношением: Fout = Fin .CНа плате таймер соединен в соответствии с функциональной схемой,представленной на рис. 6.

42. Этодвухкаскадный делитель частоты.OSCT/C1T/C2Онсчитает импульсы опорного ге2MHzBA+1BA+2нератора с частотой 2МГц и при переполнении инициирует аналогоРис.6. 42цифровое преобразование, если врегистре ВА+11 определен соответствующий режим: запуск от таймера - программныйконтроль конца (код 4), либо запуск от таймера – прерывание в конце (код 6, см. табл.6.3.3и табл. 6.3.4).Частота преобразования определяется по формуле:Fin2МгцFiout ==,C1 ⋅ C 2 С1 ⋅ С 2где С1 и С2 шестнадцатиразрядный числа, которые были предварительно введены впервый и второй счетчики.Вводятся шестнадцатиразрядные константы С в счетчик через байтовый регистр,поочередно, сначала младший байт, затем старший.Настройка таймера-счетчика на частоту в 5 КГц приведена в следующем примере:...port[ВА+3]:=$74;port[ВА+1]:= 40;port[ВА+1]:=0;port[ВА+3]:=$В4;port[ВА+2]:= 10;port[ВА+2]:=0;{Установить счетчик 1 в режим 2 и подготовить к записи С1}{Запись младшего байта С1, числа 4010}{Запись старшего байта С1, числа 0}{Установить счетчик 2 в режим 2 и подготовить к записи С2}{Запись младшего байта С2, числа 1010}{Запись старшего байта С2, числа 0}...Программно управляемое обнаружение конца преобразования по установке битаготовности RDY мы уже рассматривали.

Для аппаратного обнаружения конца преобразования по прерыванию нужно:1. Установить в байтовом регистре режимов АЦП (ВА+11) режим с прерыванием вконце преобразования (третий или шестой режим, см. табл. 6.3.3, 6.3.4).2. Установить в байтовом регистре режимов АЦП (ВА+11) номер используемогопрерывания IRQ2…IRQ7 (см. табл. 6.3.3, 6.3.5).3. Написать процедуру обработки прерывания, считывающую биты D11…D0, куданужно, например, в массив целых чисел.

Не забудьте снять запрос прерывания записьюлюбого числа в регистр ВА+8.Рябов Владимир Тимофеевич. Кафедра «Электронные технологии в машиностроении»МГТУ им. Н. Э. Баумана, V_Ryabov@mail.ru554. Написать процедуру инициализации прерывания, прикрепляющую процедуру егообработки к вектору прерывания, соответствующему заданной линии. Это делается подобно тому, как мы программировали аппаратно инициализируемый дискретный контроль платы DI32.В завершении рассмотрим функцию аналогового контроля с фильтрацией для защиты от помех. Запуск и обнаружение конца преобразования производятся программно.Функция проводит преобразование 10 раз, максимальное и минимальное значения отбрасывает, остальные восемь усредняет. Предварительно должна быть запущена процедураMode_SW, определяющая режим запуска, номер канала и усиление по нему, рассмотренная нами в этом разделе ранее.Function Control:integer;{Измеряет 10 раз, отбрасывает минимум и максимум }Var{остальное усредняет}max, min, summa, ain : word;i: byte;Beginsumma:=0;{сумма 10 напряжений}max:=0;{заранее меньшее из значений}min:=$FFFF;{заранее большее из значений}for i:=1 to 10 dobeginport[$22C]:=10;{старт АЦП}repeat{ожидаем, пока бит 5 байтового регистра В+9 }until port[$225] and $10=0;{не установится в единицу,}ain:= (portw[$224] and $FFF);if ain>max then max:= ain;{ищем максимум}if ain<min then min:= ain;{ищем минимум}summa:=summa+ ain;{ищем сумму}end;Control:=(summa-min-max) div 8; {присваиваем значение функции}End;Таким образом, плата PCL-711 предоставляет достаточно широкие возможностиобработки аналоговых и дискретных сигналов контроля и управления.В заключение, на рис.

6.43 приведена краткая информация по плате и ее программированию. Конечно, она не заменяет приведенного здесь описания, но является прекрасной шпаргалкой в практической работе при программировании платы.Вопросы к экзамену1. Платы УСО, классификация и обзор возможностей.2. Типовая плата дискретного контроля DI32-5: функции, устройство и работа.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6384
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее