То есть, фактически, картинка показывается за пять циклов: сначала первая строка, потом вторая, потом третья и так далее до пятой строки, после чего все циклы повторяются, но, за счет очень быстрого переключения строк, мы видим один статичный кадр (фрейм) - Рисунок 2.8.
Рисунок 2.8 – Пример фрейма
Так как каждый фрейм у нас состоит из пяти строк, в каждой из которых по пять столбцов, то весь фрейм кодируется 5*5 битами. Для удобства будем использовать один байт на столбец (старшие три бита использовать не будем), итого получим 5 байт на фрейм.
Переключая такие псевдостатичные картинки (но уже с различимой для глаза скоростью) можно получить динамическое изображение. Шесть (к примеру) фреймов для нашей матрицы займут в памяти 5*6=30 байт. Фреймы можно хранить в памяти данных EEPROM. Она имеет размер 128 байт, то есть позволяет хранить до 25 фреймов. Посчитаем: 25*5=125 + 2 байта (для хранения информации о количестве загруженных фреймов и о скорости смены фреймов).
Если соединить контроллер с компьютером через USART, то можно будет загружать фреймы прямо с компьютера.
Светодиод загорается в том случае, если он подключен и к питанию и к земле.
В нашем примере мы будем загружать фреймы из EEPROM в ОЗУ, причём только в нулевой банк, в котором, за вычетом всех пользовательских переменных, на фреймы остается 86 байт, то есть максимум 17 фреймов.
Для реализации динамической картинки "вращающийся крест" нам понадобится 6 фреймов (Рисунок 2.9).
Рисунок 2.9 – Реализация картинки «вращающийся крест»
2.6 Разработка программного обеспечения микроконтроллера
Мы рассмотрим программы для двух случаев, как было описано в п.2.4.
Листинг программы для первого случая (Эффект-1) приведен в Приложении Б, а для эффекта «Вращающийся крест» в Приложении В.
2.7 Выбор, описание и расчеты элементной базы
Рассмотрим принципиальную схему (Приложение Д).
Транзисторы VT1- VT5 - это драйверы строк (в открытом состоянии они подключают соответствующие строки к шине питания), VT6 - VT10 - драйверы столбцов (в открытом состоянии они подключают соответствующие столбцы к земле). Когда на базы транзисторов VT1-VT5 подан высокий уровень ("1") - они открываются, когда низкий ("0") - закрываются. Для транзисторов VT6 - VT10 все наоборот, - когда на базах высокий уровень ("1") - транзисторы закрыты, а когда низкий ("0") - открыты. Если светодиод оказывается подключен и к земле и к питанию - через него начинает протекать ток, и, соответственно, он светится.
Использование драйверов обусловлено тем, что максимальный ток порта ввода/вывода ограничен 25мА, а при полностью включенной строке или столбце суммарный ток светодиодов порядка 50 мА, т.е. мы не можем подключать строки и столбцы непосредственно к выводам контроллера.
Элементы:
R1- R25 = 220 Ом. Эти резисторы являются токоограничивающими (ограничивают токи, протекающие через светодиоды). В общем-то светодиоды бывают разные - у одних номинальный ток 10мА, у других 5 мА, у одних падение 1,5В, у других 2В и т.д. Как в общем случае посчитать номинал токоограничивающего резистора?
RTO=(UПИТ-UD-UTR1-UTR2)/IНОМ, (2.1)
где UПИТ - напряжение питания,
UD - падение напряжения на светодиоде,
UTR1 - падение напряжения (коллектор-эмиттер) на открытом транзисторе 1 (драйвер строки),
UTR2 - падение напряжения (коллектор-эмитер) на открытом транзисторе 2 (драйвер столбца),
IНОМ - номинальный ток светодиода.
R26 - R35 = 470 Ом. Эти резисторы ограничивают токи баз транзисторов.
R36 = 1 кОм. Резистор, подтягивающий -MCLR к питанию.
С1 = 0,1 мкФ. Конденсатор, фильтрующий ВЧ помехи по питанию контроллера .
VT1 - VT5 = КТ315 (падение напряжения в открытом состоянии 0,4 В);
VT6 - VT10 = КТ361 (падение напряжения в открытом состоянии 0,4 В).
Спецификация элементной базы приведена в Приложении Ж.
2.8 Разработка схемы электрической принципиальной
По имеющемуся набору данных построим электрическую схему светодиодной матрицы в САПР Accel Eda (Рис. 2.10).
Рисунок 2.10 – Схема электрическая принципиальная светодиодной матрицы в САПР Accel Eda
3 ТЕХНИКО-ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ ОБЪЕКТА РАЗРАБОТКИ
В данном разделе проводится технико-экономический расчет стоимости светодиодной матрицы.
Стоимость устройства будет состоять из стоимости разработки ПО для микроконтроллера, стоимости разработки конструкторской документации (КД) и стоимости сборки и испытания устройства.
3.1 Расчет расходов на ПО, которое разрабатывается
Исходные данные для расчета стоимости разработки ПО, которое разрабатывается приведены в таблице 3.1.
Таблица 3.1 – Исходные данные по предприятию
№п/п | Статьи затрат | Усл. обоз. | Ед. изм. | Значения | |
Проектирование и разработка ПО | |||||
1 | Часовая тарифная ставка программиста | Зпр | грн. | 8,00 | |
2 | Коэффициент сложности программы | с | коэф. | 1,40 | |
3 | Коэффициент коррекции программы | Р | коэф. | 0,05 | |
4 | Коэффициент увеличения расходов труда | Z | коэф. | 1,3 | |
5 | Коэффициент квалификации программиста | k | коэф. | 1,0 | |
6 | Амортизационные отчисления | Амт | % | 10,0 | |
7 | Мощность компьютера, принтера | WМ | Квт/ч | 0,40 | |
8 | Стоимость ПЕОМ IBM Sempron LE1150(AM2)/1GB/TFT | Втз | грн. | 3200,00 | |
9 | Тариф на электроэнергию | Це/е | грн. | 0,56 | |
10 | Норма дополнительной зарплаты | Нд | % | 10,0 | |
11 | Отчисление на социальные расходы | Нсоц | % | 37,2 | |
12 | Транспортно-заготовительные расходы | Нтр | % | 4,0 | |
Эксплуатация П0 | |||||
13 | Численность обслуживающего персонала | Чо | чел | 1 | |
14 | Часовая тарифная ставка обслуживающего персонала | Зпер | грн. | 6,00 | |
15 | Время обслуживания систем | То | час/г | 150 | |
16 | Стоимость ПЕОМ | Втз | грн. | 3200,00 | |
17 | Норма амортизационных отчислений на ПЕОМ | На | % | 10,0 | |
18 | Норма амортизационных отчислений на ПЗ | НаПО | % | 10,0 | |
19 | Накладные расходы | Рнак | % | 25,0 | |
20 | Отчисление на содержание и ремонт ПЕОМ | Нр | % | 10,0 | |
21 | Стоимость работы одного часа ПЕОМ | Вг | грн. | 6,5 |
Первичными исходными данными для определения себестоимости ПО является количество исходных команд (операторов) конечного программного продукта. Условное количество операторов Q в программе задания может быть оценено по формуле:
, (3.1)где у – расчетное количество операторов в программе, что разрабатывается (единиц);
с – коэффициент сложности программы;
р – коэффициент коррекции программы в ходе ее разработки.
Рассчитанное количество операторов в разработанной программе – 500.
Коэффициент с – относительная сложность задания относительно отношения к типичной задаче, сложность которой принята более 1, лежит в границах от 1,25 до 2,0 и выбирается равным 1,30.
Коэффициент коррекции программы р – увеличение объема работ за счет внесения изменений в программу лежит в границах от 0,05 до 0,1 и выбирается равным 0,05.
Подставим выбранные значения в формулу (3.1) и определим величину Q:
Q = 200∙1,3 (1 + 0,05) = 273.
3.2 Расчет расходов на создание ПО
Расчет расходов на ПО проводится методом калькуляции расходов, в основу которого положена трудоемкость и заработная плата разработчиков. Трудоемкость разработки ПО рассчитывается по формуле:
(3.2)где То– расходы труда на описание задания;
Ти – расходы труда на изучение описания задания;
Та– расходы труда на разработку алгоритма решения задания;
Тп – расходы труда на составление программы по готовой блок-схеме;
Тотл – расходы труда на отладку программы на ЭВМ;
Тд– расходы труда на подготовку документации.
Составные расходы труда, в свою очередь, можно определить по числу операторов Q для ПО, которое разрабатывается. При оценке расходов труда используются:
- коэффициенты квалификации разработчика алгоритмов и программ – k;
– увеличение расходов труда в результате недостаточного описания задания – Z.
Коэффициент квалификации разработчика характеризует меру подготовленности исполнителя к порученной ему работе (он задается в зависимости от стажа работы), k = 1,0.
Коэффициент увеличения расходов труда в результате недостаточного описания задания характеризует качество постановки задания, выданного для разработки программы, в связи с тем, что задание требовало уточнения и некоторой доработки. Этот коэффициент принимается равным 1,3.
Все исходные данные приведенные в таблице 3.1.
а) Трудоемкость разработки П0 составляет:
Расходы труда на подготовку описания задания То принимаются равными 5 чел/час, исходя из опыта работы.
Расходы труда на изучение описания задания Те с учетом уточнения описания и квалификации программиста могут быть определены по формуле: