постановка задачи

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

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

Следующий вопрос, решаемый при постановке задачи, касается требований к процессу обработки. Следует четко определить, какие операции должны быть выполнены над входными данными и в каком порядке будут выполняться решаемые в системе задачи. Порядок выполнения операций в ряде случаев должен строго соблюдаться, так как сигналы ввода-вывода должны приниматься и посылаться в строго определенной последовательности. Система может предъявлять требования К временным соотношениям: к скоростям обмена в периферийных устройствах, временам задержек в механических или электрических компонентах, временам, в течение которых данные должны оставаться стабильными, временам стабилизации, восстановления, перехода в состояний готовности и выхода из него. Для выполнения этих ограничений кногда используются защелки и схемы синхронизации. Размеры доступной памяти могут накладывать ограничения на объем программ и данных и на размер буферов. Часто требуется выполнять обработку данных за определенный промежуток времени, а также успевать реагировать на сигналы о состоянии объектов прежде, чем эти сигналы успеют измениться.

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

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

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

Пример. Цифровые весы.

Назначение: микропроцессор должен управлять работой весов в соответствии со структурной схемой, показанной на рис. 6.1.

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

Вход.

1. Первый входной сигнал поступает от АЦП, подключенного к взвешивающему устройству. Этот входной сигнал обычно является двоичным или двоичнекд^ядичным числом. Процессор должен, инициировать процесо преобразования, зафиксировать момент его завершения и принять данные от преобразователя (см. §8.5). Точная последовательность выполнения этих действий зависит от типа используемого преобразователя. Процессор и сам может выполнить некоторые операции, связанные с задачей преобразования. Например, процессор может формировать синхронизирующие сигналы или уровни сравнения (через ЦАП). Это значит, что часть преобразователя может быть выполнена программно.

2. Второй входной сигнал поступает с клавиатуры. Клавиатура состоит из матрицы переключателей. Нажатие клавиши приводит к замыканию контакта и соединению строки и столбца. В § 8.5 описано, каким образом по номерам взаимно соединенных строки и столбца матрицы можно идентифицировать нажатую клавишу.

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

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

Обработка. Программа должна выполнить умножение стоимости единицы продукта на его массу. Перемножаемые числа являются десятичными.

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

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

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

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

1. Ошибки в данных на входе или выходе АЦП.

2. Ошибки в данных, набранных на клавиатуре:

а) слишком мало разрядов,

б) слишком много разрядов,

в) лишние десятичные точки,

г) все нули,

д) одновременно нажаты две или более клавиши.

3. Значения массы или суммарной стоимости слишком велики и не помещаются на дисплеях.

4. Сбой в работе дисплея.

5. Сбой в работе процессора.

6. Сбой в работе клавиатуры.

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

Однако некоторые из ошибок не так просто обнаружить. Например, результат может не укладываться в разрядность*индикатора. Чтобы предупредить оператора о возникновении ошибки, программа должна предусмотреть в этом случае специальную сигнализацию, например высвечивая в качестве результата все нули или все десятичные точки.

Ошибки в электрических и механических компонентах, естественно, будут возникать реже ошибок набора данных. Неисправности в работе дисплея могут быть замечены не сразу (так, цифры 0 и 8 на семисег-ментном дисплее отличаются только одним сегментом). Для решения этой проблемы может использоваться специальный режим тестирования, в котором сегменты дисплеев зажигаются так, что оператор может проверить правильность их работы.

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

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

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

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


 



Проблема с пзк для epson www.ink-donor.spb.ru. . Светодиодные лампы техническая характеристика profflight.ru.