Методы программирования вычислительных устройств 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Методы программирования вычислительных устройств



Классификация ПО

1. ОС (операционная система) – программа, обеспечивающая работу ВУ, загрузку других программ, работу с файлами и т.д.;

2. Прикладное программное обеспечение – универсальное ПО, предназначенное для массового использования (Microsoft Office, AutoCad, Mathcad, Picate и т.д.);

3. Уникальное ПО – ПО, предназначенное для решения частной пользовательской задачи, пишется с использованием различных языков программирования под конкретную задачу.

 

Классификация языков программирования

1) Языки высокого уровня (С++, Basic, Delphi, LabVIEW и т.д.) – позволяют писать программу, используя стандартный набор операторов, функций и библиотек.

Методы программирования с использованием языков высокого уровня:

a. линейное программирование – программа имеет набор операторов, функций, структур данных и прочих данных;

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

c. компилятор {компиляция – процесс преобразования программы в используемый файл} – язык программирования, позволяющий получить исполняемый файл или библиотеку из текста написанной программы, затем используется исполняемый файл (сам выдаёт исполняемый файл, запуск программы не нужен). Объединение исполняемого файла, необходимых библиотек и прочего в инсталляционную программу, либо это будет один исполняемый файл, либо с архивами;

d. интерпретатор – язык, выполняющий функцию процесса, т.е. исполнение программы производится из запущенного языка, например, LabVIEW, Mathcad (для использования программы нужен её запуск).

2) Языки низкого уровня (ассемблеры) – язык, в котором программа пишется в мнемонических командах микропроцессора. Программист сам заботится об организации данных (в какой ячейки памяти какие переменные он разместит).

Достоинства:

a. высокая эффективность работы программы: скорость выполнения и размер исполняемого кода из-за отсутствия «лишних» команд, которые компилятор включает в программу в виде стандартного набора блоков, которые для обеспечения совместимости с другими такими же имеют набор дополнительных команд, которые можно опустить;

b. компактность программы

Языки низкого уровня используются, если необходима высокая скорость выполнения программы и минимизация её кода. Для ПК ассемблеры обычно необходимы при написании драйверов, для микроконтроллеров – при улучшении работы программ.

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

3) Программирование в среде LabView

Эта среда предполагает написание программы из готовых блоков, объединенных между собой линиями связи в зависимости от типа данных. Программа, написанная в LabView – виртуальный инструмент с расширением файла *.vi.

Разработка состоит из:

- создания пользовательского интерфейса;

- создания самой программы из набора стандартных блоков.

Виртуальные приборы

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

Измерительная система состоит из:

· датчика съёма первичной информации об измеряемом параметре и преобразования её в электрический сигнал (напряжение или ток);

· линии связи;

· виртуального прибора.

Обычно в виртуальном приборе (ВП) используются стандартные платы ввода данных. Параметры платы зависят от требований к измерительной системе. Остановимся подробнее на типах стандартных измерительных проборов:

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

· Осциллограф

1. В отличие от обычного осциллографа виртуальный имеет возможность сохранять картинку в файл;

2. Яркость луча не зависит от времени развертки;

3. Возможность реализовать цифровые фильтры.

- Спектроанализатор

Проводит частотный анализ, выполняя преобразование Фурье (FFT) с выводом спектра.

- Амплитудный анализатор

Выдает график зависимости интенсивности частоты от амплитуды.

- Измеритель АЧХ

АЧХ – амплитудно-частотная характеристика – это зависимость выходной амплитуды сигнала от входной частоты.

Измеритель АЧХ содержит в своем составе генератор сигнала.

Принцип работы:

Генератор сигнала с определенным шагом изменяет частоту подаваемого на устройство сигнала. Выходной сигнал вводится в виртуальный прибор через АЦП. По отношению выходной амплитуды к входной амплитуде строится АЧХ.

Стандартный измеритель АЧХ имеет функцию измерения ФЧХ (фазо-частотной характеристики)

- Генераторы

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

Достоинство виртуальных приборов: относительная дешевизна, поскольку, имеет одну плату ввода/вывода и различное программное обеспечение (ПО). Недостаток: ограниченный диапазон входного/выходного напряжения. Виртуальные приборы создаются на языках высокого уровня или в LabVIEW, генерирующий файл с расширением «.vi» (virtual instrument). Виртуальный прибор позволяет сохранить результаты измерений в файле, а также реализовать цифровые фильтры различного рода, что позволяет очистить сигнал от помех. Виртуальный прибор может записывать сигнал с большого числа каналов, чем обычный прибор.

 

 

Микроконтроллер

 

 

Микроконтроллер (МК) – ВУ, объединяющее в одной микросхеме (чипе) все элементы полноценного ВУ.

Элементы:

1. Процессор (по RISC-технологии)

2. Тактовый генератор (ТГ)

В одном МК может быть несколько ТГ

- внутренний ТГ

Недостаток – худшая стоимость

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

Выбранный ТГ (внешний или внутренний) используется для тактирования всех элементов МК.

Некоторые модели МК имеют часы реального времени (RTC). Для их тактирования используется отдельный низкочастотный кварцевый генератор.

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

3. В МК реализована гарвардская архитектура, в которой существует три типа памяти

1. Память программ – энергозависимая электрически-перепрограммируемая (FLASH-память).

2. Энергозависимая память данных (SRAM-память).

3. Энергозависимая память данных (EEPROM-память) применяется для хранения рабочих параметров, которые могли быть изменены при настройке-калибровке устройства.

4. Порты параллельного ввода/вывода

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

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

5. Последовательные интерфейсы (SPI, I2C, 1W, USART)

SPI, I2C – синхронные интерфейсы

1W, USART – асинхронные интерфейсы

6. Таймеры (см. выше)

Используются 8- или 16-разрядные таймеры. В некоторых моделях есть возможность объединить два 16-разрядных в один 32-разрядный таймер. В своем составе Watch Dog таймер имеет свой независимый ТГ. Настраивается на определенный интервал времени (0,1; 0,5; 1 с) и, если до истечения этого интервала времени на него не подать команду «сброс» он генерирует сигнал Reset. Это используется для предотвращения зависания процессора.

7. а) аналоговый компаратор

Импульс выхода аналогового компаратора может быть использован для:

- вызова прерывания;

- подан на вход тактирования таймера;

- выведен на выход МК.

7. b) АЦП (у большинства МК);

7. с) ЦАП (есть в некоторых продвинутых моделях МК).

 

Некоторые характеристики МК.

1. Разрядность процессора (8, 16, 32 разряда)

2. Объемы памяти

FLASH (1-512 кбайт)

SRAM (128 байт-512 кбайт)

EEPROM (128 байт-до нескольких десятков кбайт)

3. Количество таймеров (от двух до десяти)

Обычно два 8- и 16-разрядных таймера.

Разрядность АЦП (от 10 до 14)

4. Количество последовательных интерфейсов

5. Количество выводов (самый простой МК исполнен из восьми ножек)

Также существуют МК с числом ножек: 20, 24, 32, 44, 64, 104 и т.д.

6. Конструктивное исполнение корпуса

7. Интерфейсы программирования МК

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

Если МК имеет ISP-интерфейс, то его можно только прошить/прочитать и невозможно произвести отладку программы.

Более продвинутые программаторы имеют функцию отладчика (debugger). Они подключаются к ПК через USB-порт и реализуют интерфейсы JTAG или PDI. Все интерфейсы с МК-последовательные.

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

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



Поделиться:


Последнее изменение этой страницы: 2021-03-10; просмотров: 66; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.42.94 (0.027 с.)