СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №5/2014

ИНЖЕНЕРНЫЕ РЕШЕНИЯ 67 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 5 2014 ля (0,001%), диапазон выходных токов фотодиода ограничен сверху значени- ем примерно 10 –6 А, а снизу – 10 –11 А, т.е. находится примерно в середине линейного участка характеристики, показанной на рисунке 6. Для фото- диода BPW20RF зависимость выходно- го тока от освещённости также имеет линейный характер [4]. Данных, коли- чественно характеризующих линей- ность характеристик указанных фото- диодов, в распоряжении автора, к сожа- лению, не имеется. В СТРОЕННАЯ УПРАВЛЯЮЩАЯ ПРОГРАММА Взаимодействие устройства с поль- зователем обеспечивает встроенная программа управляющего МК. В каче- стве основной задачи программа про- изводит циклические преобразова- ния (измерения входного напряже- ния) в двух каналах модуля АЦП МК ADC1 в диапазоне входных сигналов от 0 В до напряжения, используемого ИОН при однополярном представле- нии результата и с частотой обновле- ния выходных данных АЦП (3,75 Гц). Кроме того, программой выполняют- ся калибровки модуля АЦП. Под кали- бровкой АЦП понимается специаль- ная аппаратно-программная процеду- ра, поддерживаемая модулем АЦП МК ADuCM360. Результат каждого преобра- зования отображается на ЖКИ в деся- тичном представлении в формате «Uin=X.XXXXXXВ». Обновление пока- заний ЖКИ производится после каж- дого преобразования АЦП с заданным в программе интервалом между отдель- ными преобразованиями, равным 0,5 с. Синхронизация ядра и остальных узлов МК осуществляется генератором МК с частотой 16МГц. Процедуры анало- го-цифрового преобразования и вывода информации наЖКИ, а также управле- ния логическими уровнями светодиодов разнесены в программе по времени для того, чтобыперепадыцифровых сигна- лов на линиях подключенияЖКИи све- тодиодов не наводили помех на входах АЦП. Запуск преобразования АЦП осу- ществляется в обработчике прерываний от одного из таймеровМК (TIMER0). По готовности результата преобразования в программе генерируется прерывание от АЦП, в обработчике которого устанав- ливается программныйфлаг готовности результата. Опрос состояния этогофла- га, обработка и вывод полученных дан- ных на ЖКИ выполняются в главном цикле основной программы. Программный опрос состояния кно- пок управления осуществляется в обра- ботчике периодических прерываний от системного таймера МК (SysTick), вхо- дящего в состав процессорного ядра Cortex-M3. Нажатия на кнопки про- грамма озвучивает короткими пачка- ми импульсов звуковой частоты, посту- пающими на пьезоизлучатель ZQ1. Запуск калибровок АЦП осуществля- ется из главного цикла основной про- граммы. Во время калибровки АЦП рабочие преобразования не произво- дятся. Из поддерживаемых модулем АЦП четырёх калибровок в устройстве используются две: ● системная калибровка нуля (system zero-scale), перед проведением кото- рой на входы выбранного канала АЦП необходимо вручную подать системное напряжение нуля. Суть этой калибровки заключается в ком- пенсации результатов последующих преобразований системного напря- жения нуля, которое в реальности может быть не нулевым; ● системная калибровка верхнего пре- дела (system full-scale), перед прове- дением которой на входы выбран- ного канала необходимо подать системное напряжение верхнего предела, т.е. напряжение ИОН. Суть этой калибровки заключается в мас- штабировании последующих преоб- разований к напряжению ИОН, т.е. к максимально возможному значе- нию результата. Обе калибровки достаточно произве- сти один раз в процессе первоначаль- ной наладки и регулировки устройства с сохранением их результатов в энерго- независимой памяти МК (см. далее). До их проведения модуль АЦП использует загружаемые по умолчанию заводские значения калибровочных регистров, не учитывающие значение системно- го напряжения нуля и конкретное зна- чение напряжения ИОН. Для автоматической генерации сбро- са при возможном зависании управля- ющей программы в ней задействован встроенный сторожевой таймер (WDT) МК, синхросигнал на который поступа- ет от отдельного низкочастотного гене- ратора МК с внешними частотозадаю- щими цепями (ZQ2, C26, C27). Время ожиданияWDT в программе задано рав- ным 4 с, а периодический перезапуск WDT производится в основном цикле. Исходный текст управляющей про- граммы, а также файл прошивки флэш- памяти МК ADuCM360 содержатся в проекте Opt_aducm , архив которо- го доступен для скачивания на интер- нет-странице журнала (www.soel.ru) . Проект был подготовлен в среде IDE μVision4 V4.60. Программирование встроенной флэш-памяти МК проще всего осуществлять с помощью ПК, подключённого к интерфейсу RS-232 измерителя. Никаких дополнитель- ных аппаратных средств для этого не требуется. Поддержка такого спосо- ба обеспечивается производителем с помощью компьютерной програм- мы-загрузчика CM3WSD, которую мож- но бесплатно загрузить по ссылке [6]. Загрузчик позволяет стирать весь мас- сив флэш-памяти МК, осуществлять её простое программирование, програм- мирование с верификацией (сравнени- ем) и сравнение содержимого памяти с файлом прошивки. Программа под- держивает только один формат фай- лов прошивки с расширением .hex. Скорость обмена для ПК в програм- ме CM3WSD может быть выбрана пользователем из стандартного ряда. Пользовательского задания скорости обмена модуля UART МК не требуется, т.к. он автоматически конфигурирует- ся в ходе выполнения протокола после- довательной загрузки. Загрузка прошивки приложения в МК осуществляется в следующем порядке. Устройство с МК подключается через интерфейс RS-232 к COM-порту ПК «прямым» кабелем, а в окне запущен- ной программы CM3WSD необходи- мо задать номер используемого COM- порта ПК, путь к hex-файлу прошивки, скорость обмена и требуемую опера- цию с флэш-памятью МК. Затем сле- дует однократно щёлкнуть на кнопке Start программы, после чего она будет ожидать перевода МК в режим после- довательной загрузки, запускаемый в момент включения питания МК или генерации внешнего сброса при внеш- нем низком уровне на линии порта GPIO P2.2. В описываемом устройстве для пере- хода в режим последовательной загруз- ки необходимо кратковременно нажать на кнопку «Сброс», удерживая нажатой кнопку «SEL». При этом запускается резидентная подпрограмма загрузчика, размещённая в области флэш-памяти МК Kernel Space , которая и выполня- ет требуемую операцию с памятью. Состояние процесса записи/верифи- кации отображает полоса в нижней части окна программы CM3WSD, как показано на рисунке 7. © СТА-ПРЕСС

RkJQdWJsaXNoZXIy MTQ4NjUy