Чтение онлайн

на главную - закладки

Жанры

Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С

Пак Дэниэл Дж.

Шрифт:

Третий шаг структурного проектирования — это создание графического образа работы системы, который способствует более полному пониманию внутренних связей между блоками в процессе функционирования устройства. Для создания графического образа системы применяются структурные схемы и диаграммы работы. Применение. Как было ранее упомянуто, мы использовали детальные структурные схемы и блок схемы алгоритмов для обсуждения с заказчиком технических характеристик проектируемой системы. Было бы чрезвычайно трудно превратить 4 страницы текста с описанием требований к устройству во взаимосвязанную картину без использования этих графических образов.

Теория. Структурная схема алгоритма функционирования системы (или ее аппаратного обеспечения, или программы управления) —

это основной результат структурного проектирования, который иллюстрирует, каким образом большая система (или электрическая схема, или программа управления) состоит из модулей, которые изображены блокам на рисунке. Стрелки используются для того, чтобы показать, что один из модулей системы формирует сигналы для другого модуля. В случае структурной схемы программного обеспечения один модуль вызывает другой, к которому направлена стрелка. Стрелка с кружком показывает, что один программный модуль передает данные другому модулю. Блок-схема алгоритма тоже очень полезный инструмент, который позволяет проследить процесс преобразования данных на протяжении исполнения всей программы. Однако блок-схемы алгоритма читабельны только для относительно небольших алгоритмов, когда эти схемы умещаются на одной или двух страницах. В универсальном языке моделировании блок схемы алгоритмов заменены на диаграммы работы. Мы вернемся к этому вопросу в 2.7.

Применение. Структура программного обеспечения контроллера управления стереоусилителем показана на рис. 2.2. Блок схема алгоритма — на рис. 2.3. Проанализировав эти рисунки, можно увидеть, что структура программы управления показывает взаимосвязь отдельных модулей программы, в то время, как блок схема алгоритма является графическим описанием порядка функционирования этой программы. В этот момент, Вы можете подумать: «Наконец-то! Теперь можно кодировать программу!». Но нет, существует еще несколько обязательных этапов структурного проектирования, которые должны предшествовать написанию текста программы.

Рис. 2.2. Структура программы управления стереоусилителем

Рис. 2.3. Блок-схема алгоритма управления стереоусилителем

Теория. Следующий шаг структурного проектирования — детальное определение функций каждого блока. Для каждого выделенного на предыдущих этапах «черного ящика» определяются функции входов и выходов. В случае программного обеспечения определяются данные, которые передаются программным функциям и возвращаются ими. Для описания связей между входами и выходами блоков используют псевдокодирование.

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

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

Рис. 2.4. Псевдокод программы управления стереоусилителем

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

производиться с использованием трех стратегий.

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

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

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

До настоящего времени мы рассматривали все шаги метода структурного проектирования преимущественно в приложении к разработке программного обеспечения встраиваемой системы. Однако эти же этапы в полной мере применимы также к проектированию аппаратного обеспечения системы.

Применение. В проекте контроллера стереоусилителя мы специально разработали аппаратный симулятор, который использовался на этапе отладки программного обеспечения. Этот симулятор состоял из некоторого количества переключателей для имитации органов управления на передней панели стереоусилителя, и светодиодов, которые отображали состояние сгенерированных контроллером сигналов управления. Функциональная схема симулятора приведена на рис. 2.5. С помощью этого симулятора мы провели отладку, а затем поэтапно проверили функционирование разработанной программы. Доктор Парис Нил настоятельно попросил нас проверить программное обеспечение в автоматическом режиме, т.е. без применения программных средств отладки, по каждому из возможных сценариев работы. И только затем мы разместили контроллер в корпусе стереоусилителя и приступили к комплексным испытаниям законченного изделия.

Рис. 2.5. Функциональная схема имитатора для тестирования программы стереоусилителя

Теория. Заключительным этапом метода структурного проектирования является определение критериев, по которым можно будет сделать вывод, что устройство удовлетворяет поставленным техническим требованиям. Это предполагает разработку стратегии верификации, отладки и тестирования разработанного устройства. Программа верификации — это не одно и тоже, что программа тестирования. Тем не менее, тестирование — это значительная часть процесса верификации. Для того, чтобы правильно испытать систему, разрабатывается специальная программа тестирования, которая позволяет полностью проверить режимы работы прибора и их соответствие техническим требованиям. Основной задачей является выявить и зафиксировать имеющиеся ошибки, и очень важно убедиться, что проект соответствует планируемому поведению.

Ошибки в проекте могут быть различной породы. Мы кратко рассмотрим их в порядке возрастания неприятностей от них.

Самыми простыми для устранения являются синтаксические ошибки. Эти ошибки выявляет компилятор в процессе обработки исходного текста программы. Компилятор выдает сообщения двух типов: предупреждения («Warning») и ошибки («Error»). Предупреждения выдаются компилятором в тех случаях, когда компилятору «кажется», что некоторые конструкции программы неудачны. При этих ошибках код на выходе компилятора получается. Несмотря на то, что код будет образован, Вы должны будете принять решение по поводу исправления или нет этих мест в программе. Ошибки с сообщением «Error» не позволят Вам создать файл загрузочного модуля, поэтому Вам придется заняться их немедленным устранением. При этом следует знать, что всего лишь одна синтаксическая ошибка может вызвать генерацию сразу нескольких сообщений об ошибках.

Поделиться:
Популярные книги

Я не Монте-Кристо

Тоцка Тала
Любовные романы:
современные любовные романы
5.57
рейтинг книги
Я не Монте-Кристо

Адвокат вольного города

Парсиев Дмитрий
1. Адвокат
Фантастика:
городское фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Адвокат вольного города

Орден Багровой бури. Книга 4

Ермоленков Алексей
4. Орден Багровой бури
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Орден Багровой бури. Книга 4

Убивать чтобы жить 9

Бор Жорж
9. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 9

Защитник

Астахов Евгений Евгеньевич
7. Сопряжение
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Защитник

Законы Рода. Том 11

Flow Ascold
11. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Законы Рода. Том 11

Город Богов

Парсиев Дмитрий
1. Профсоюз водителей грузовых драконов
Фантастика:
юмористическая фантастика
детективная фантастика
попаданцы
5.00
рейтинг книги
Город Богов

Седьмая жена короля

Шёпот Светлана
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Седьмая жена короля

Плеяда

Суконкин Алексей
Проза:
военная проза
русская классическая проза
5.00
рейтинг книги
Плеяда

Товарищ "Чума"

lanpirot
1. Товарищ "Чума"
Фантастика:
попаданцы
альтернативная история
4.00
рейтинг книги
Товарищ Чума

Идеальный мир для Лекаря 10

Сапфир Олег
10. Лекарь
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 10

Три `Д` для миллиардера. Свадебный салон

Тоцка Тала
Любовные романы:
современные любовные романы
короткие любовные романы
7.14
рейтинг книги
Три `Д` для миллиардера. Свадебный салон

Я еще не князь. Книга XIV

Дрейк Сириус
14. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я еще не князь. Книга XIV

Попаданка в деле, или Ваш любимый доктор - 2

Марей Соня
2. Попаданка в деле, или Ваш любимый доктор
Любовные романы:
любовно-фантастические романы
7.43
рейтинг книги
Попаданка в деле, или Ваш любимый доктор - 2