Рис. 5.2.
FFT - fast Fourier transform.
Каждый из основных модулей в свою очередь разделяются на подмодули (подзадачи).
Обычно программа пишется на языке высокого уровня с использованием стандартных библиотек обработки, графики и включением ассемблерных процедур и вставок. Это в первую очередь процедуры взаимодействия с устройствами В/В или иначе драйверы устройств.
Целесообразно создавать такие программы, которые могли бы взаимодействовать с различными функционально однородными аппаратными средствами путем простого подключения к программе новых драйверов, т. е. путем простой замены драйверов.
Таким образом, к специальным задачам проектирования ПО ССОД можно отнести разработку драйверов устройств и гибридное программирование, т.е. программное с использованием языков высокого уровня и ассемблера. Дополнительные проблемы возникают также при программировании мультипроцессорных систем (разделение задач между МПС и их взаимодействие на программном уровне).
5.2. Разработка программных драйверов устройств
Выполняется, как правило, в виде библиотеки ассемблерных процедур. С некоторыми элементами разработки одномодульных ассемблерных драйверов мы познакомились на примере программирования модуля аналогового В/В RD1.
Драйверы должны включать в себя функционально полный набор обобщенных стандартных процедур, применимых для множества устройств одного функционального назначения. Возможные примеры таких процедур:
AD_IN (channel, result) - ввод данных АЦП с канала channel, с записью в ячейку result.
ADC (channel, interval, data, length, background) - ввод данных АЦП с канала channel (одного или многих), через заданные интервалы времени interval, с записью в массив data длиной length в фоновом режиме (background=1) или в основном (background=0); фоновой режим - это может быть по прерыванию или ПДП, основной - это программно-управляемый.
DA_OUT (channel, value) - вывод значения value на ЦАП канала channel.
DA_OUTPUT (channel, interval, array, length).
DA_X_Y_OUT (channel_x, channel_y, array_x, array_y, interval, length) - одновременный вывод двух массивов - для двух координатных систем.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.