Главная » Bascom-8051, Basic, Железо » Распределение ресурсов микроконтроллера Bascom-8051

0

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

а)  разработать  план  использования  ресурсов  процессора,  т.е.  определить:  как  и  какие   внутренние устройства  будут  использоваться.  Обычно,  одновременно  происходит  и  выбор  устройств,  с  которыми  будет работать микроконтроллер;

б) выбрать модель процессора, обеспечивающий внутренними ресурсами, разработанный план действий.

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

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

г) провести моделирование и проверку самых важных алгоритмов обработки данных или  управления физическими объектами с использование специализированных программ: “Micro-Cap”, “Mathcad”, “Quick-Basic” и т.п.;

д)    определить    значения    требуемой    производительности    систем    ввода-вывода,     вычислений,

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

Действие

Время исполнение, тактов

Сложение и вычитание чисел с плавающей точкой

470

Умножение чисел с плавающей точкой

2100

Деление чисел с плавающей точкой

2500

Считывание (загрузка) 12 разр. АЦП (ЦАП) с программ. послед. интерфейсом

250

Считывание (загрузка) 12 разр. АЦП (ЦАП) с аппартн. послед. интерфейсом

30

Запись (считывание) четырехбайтового числа в EEPROM с интерфейсом I2C

10000(500)

Запись байта в символьный модуль (4-битном/8-битной режиме)

300/150

Вывод сообщения длиной 10 символов со скоростью 9.6 Кбод

13 мс

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

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

соображения:

а) экономическим – применение дополнительных микросхем микроконтроллеров незначительно изменит стоимость электронного устройства, т.к. стоимость современного стандартного микроконтроллера (аналога 8751) приблизительно равна пяти обычным логическим  микросхемам, половине стоимости стандартного ЦАП, одной третьей стоимости даже простого  АЦП, цене одного хорошего операционного усилителя или пары оптронов. Таким образом, экономия количества процессоров за счет усложнения схемы совершенно неоправданна;

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

в) упрощается программирование, т.к. две-три программы половинного размера напишутся  и  отладятся

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

“Bascom-8051”, с помощью которого такжже трудно создавать очень большие или сложные программы.

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

Задача микро-

контроллера

Рекомендуемые

порты

Используемые ресурсы

Формирование

частоты (вар.1)

Только P1.0(T2)

Таймер  2  в  режиме  самозагрузки.  Достоинства:  широкий  диапазон

частот и чистый сигнал. Процессор незагружен.

Формирование

частоты (вар.2)

Любой

Любой таймер, запрограммированный вызывать  прерывание каждые

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

Формирование

частоты (вар.3)

Любой

С помощью программ задержки формировать длительности импульса

и паузы выходного сигнала. Полная загрузка процессора. Этот способ используется в операторе “Sound” Bascom.  Недостаток – прерывания портят форму выходного сигнала.

Измерение

частоты (вар.1)

Только P3.5(T1)

Таймер   0   –   формирует  базу   времени   (интервал   счета   периодов

измеряемой  частоты).   Таймер   1   –   счетчик  числа   периодов.   В прерывании таймера   0   запускает   и   останавливает  таймер   1.   В прерывании таймера 1 считается число переполнений  в программном счетчике.

Измерение

периода (вар.1)

Только P3.2(INT0)

Таймер 0 – запускается или  останавливается по спаду  измеряемого

сигнала. Частота заполнения таймера 0 – Fкв/12.

Измерение

периода (вар.2)

Только P1.0(T2)

Таймер  2  –  предварительный  делитель частоты.  Таймер  0  счетчик

длительности,   который    запускается     или     останавливается   по переполнению таймера 2. Частота заполнения таймера 0 – Fкв/12.

Клавиатура    из

16 кнопок

P0.0 – P0.3,

P0.4 – P0.7

Организовать в виде матрицы  4 на 4. Для экономии портов возможно

использование шины данных индикатора для опроса клавиатуры.

Символьный

индикатор

P2.0 – P2.3,

P2.4, P2.5

Индикатор используется  в  режиме  управления по  4-разр.  шине с

побитным управлением портами, подключенными к индикатору.

АЦП   с   после-

довательным интерфейсом

Любые   и    P3.3   -

для    сигнала   го-

товности

Программный интерфейс SPI или Micro-Wire. Наличие у АЦП сигнала

готовности позволяет организовать считывание по прерыванию. Могут потребоваться еще какие-то линии.

АЦП      с      SPI

интерфейсом

P1.5, P1.6, P1.7

Аппаратный интерфейс SPI, если используется  модель AT89C8252.

ЦАП   с   после-

довательным интерфейсом

Любые  или   P1.5,

P1.6, P1.7

Соответственно  для  программного  или   аппаратного  интерфейса. В

некоторых случаях удается использовать UART в режиме 3 (если он не используется по основному назначению)

Светодиодный

7-сегментный индикатор

P0.0 – P0.7,

P2.0 – P2.2

В прерывании с частотой 300 – 1000 Гц производится  программой

вывод данных  в мультиплексном режиме  из  внутреннего  буфера, в котором  формируется код  всех  сегментов  индикатора.  Вывод  кода сегментов осуществляется через порт P0, номер знакоместа P2.0 – P2.2.

Источник: М.Л.Кулиш, СПРАВОЧНИК ПО ПРОГРАММИРОВАНИЮ BASCOM-8051, Краснодар 2001

По теме:

  • Комментарии