Модернизация информационного табло 'Бегущая строка'. Дипломная (ВКР). Информационное обеспечение, программирование.

Модернизация информационного табло 'Бегущая строка'. Дипломная (ВКР). Информационное обеспечение, программирование.




👉🏻👉🏻👉🏻 ВСЯ ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻


























































Информационное обеспечение, программирование

Вы можете узнать стоимость помощи в написании студенческой работы.


Помощь в написании работы, которую точно примут!

Похожие работы на - Модернизация информационного табло 'Бегущая строка'

Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе

Нужна качественная работа без плагиата?

Не нашел материал для своей работы?


Поможем написать качественную работу Без плагиата!

Специальность
230101 «Вычислительные машины, комплексы, системы и сети»


на
тему Модернизация информационного табло «Бегущая строка»





1.2
Анализ процесса отображения информационного табло.17


1.3
Разработка функциональной схемы19


1.4
Разработка общего алгоритма вывода строки21


РАЗДЕЛ
2. ПРОЕКТНО-КОНСТРУКТОРСКИЙ27


2.2
Разработка принципиальной схемы устройства38


2.3
Разработка алгоритма работы микроЭВМ 38


2.4
Разработка исходных текстов программ микро-ЭВМ46


2.6
Разработка печатной платы устройства53


3.1
Технические данные об изделии 72


3.3
Описание принципиальной схемы 74


3.5
Общие указания по эксплуатации78


3.8
Характерные неисправности и методы их устранения80


РАЗДЕЛ
4. ОРГАНИЗАЦИОННО-ЭКОНОМИЧЕСКИЙ82


4.1
Расчет себестоимости аппаратных средств82


4.2
Расчет затрат на оплату труда сотрудника84


4.3
Расчет затрат на электроэнергию85


4.5
Расчет себестоимости разработки программного обеспечения87


РАЗДЕЛ
5. ЗАЩИТА И БЕЗОПАСНОСТЬ ИНФОРМАЦИИ93


РАЗДЕЛ
6. БЕЗОПАСНОСТЬ ЖИЗНЕДЕЯТЕЛЬНОСТИ99


6.1
Способы защиты от поражения электрическим током99


6.2
Требования к персоналу, обслуживающему ПЭВМ и устройство101


6.3
Техника безопасности при обслуживании ПЭВМ и устройства101


6.4
Методы и средства обеспечения безопасности жизнедеятельности при работе с
электроустановками 103


информационное табло
строка программный


МОДЕРНИЗАЦИЯ ИНФОРМАЦИОННОГО ТАБЛО «БЕГУЩАЯ
СТРОКА»


Дипломный проект. 99 с., 5 рис.,15 табл., 11
источников, 3 прил., 9 л. чертежей ф. А1.


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


В состав устройства входят: светодиодная
матрица, блок управления на основе высокопроизводительной однокристальной
микро-ЭВМ, датчик температуры наружного воздуха, блок питания. Блок управления
содержит микроконтроллер, микросхему памяти текстовой информации, 4-х кнопочную
клавиатуру, адаптер интерфейса RS-232, однопроводной интерфейс, блок силовых
ключей, сдвиговый регистр.


Блок управления построен с использованием
микроконтроллера ATmega32L. Он управляет ключами строк, выдает данные в
сдвиговый регистр для формирования изображения на матрице. Информация для
вывода на экран хранится в энергонезависимой внешней Flash-памяти. Для ее
подключения к контроллеру используется интерфейс SPI. Цифровой датчик
температуры подключается по однопроводному интерфейсу напрямую к одному из
портов ввода-вывода микроЭВМ. Запись текста, настройка времени, даты,
параметров устройства производится с помощью ПК, который подключается с
использованием USB адаптера интерфейса RS-232.


Конструктивно устройство представляет собой
коробку, закрытую с одной стороны прозрачным органическим стеклом. Под ним
располагается светодиодная матрица, образованная отдельными модулями. Каждый
модуль несет 64 светодиода. Между модулями сигналы строк объединяются короткими
паянными перемычками; сигналы столбцов подаются на каждый модуль собственным
шлейфом от блока управления. Блок управления крепится на задней стенке
устройства. На боковой поверхности устройства располагаются разъемы питания,
подключения ПК, датчика температуры, а также 4 кнопки управления.


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









Бегущая строка используется для передачи
различной рекламной и справочной информации, как на улице, так и в общественных
местах: в супермаркетах, выставочных центрах, банках, офисах, концертных и
спортивных залах, учебных учреждениях. Использование бегущей строки в транспорте
повышает эффективность рекламных объявлений для определенной целевой аудитории.
Текстовая реклама в виде плакатов и вывесок смотрится не так эффектно и не так
броско. Бегущая строка сразу же обращает на себя внимание своей динамичностью,
яркостью и доступному изложению информации. К тому же не следует менять плакаты
для рекламы разной продукции или разного рода оповещений. Нужно всего лишь
запрограммировать бегущую строку на отображение другого текста, что легко
делается посредством компьютера.


Цель данного дипломного проекта -
модернизировать существующее устройство бегущей строки, используемое на кафедре
ЭВС ВСГУТУ. Разработанное выпускниками ВУЗа ранее, оно содержит в себе как
положительные стороны, так и недостатки. Положенный в основу схемы модульный принцип
построения дает возможность доработки устройства, расширения его функциональных
возможностей, повышения качественных характеристик. В то же время, ширина
существующего табло невелика, что уменьшает читаемость текста, его
информативность. Настройка и программирование бегущей строки производится
только с ПК по интерфейсу RS-232, что в ряде случаев делает неудобным
пользование строкой. Добавлены четырех модулей светодиодов, что увеличивает ее
длину до 112 столбцов. На панели устанавливаются дополнительные 2 кнопки
подстройки текущего времени и даты. Для соедения информационного табло с ПК
используется USB адаптер интерфейса RS-232. Добавляется поддержка стандартной
клавиатуры PC AT с разъемом PS2, с помощью которой можно запрограммировать все
параметры табло, а главное - изменить текст бегущей строки. Кроме текста и
времени, на табло выводится температура, которая измеряется внешним датчиком.
Этот датчик может быть установлен в помещении или на улице. При такой большой
ширине табло уже необходима поддержка широких шрифтов, с размером символов 8 х
8 точек. Начертание любого символа может быть запрограммировано пользователем.


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


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


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


Организационно-экономический раздел содержит
расчет стоимости проектирования, изготовления и эксплуатации.


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


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


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









Посредством сети Интернет были найдены несколько
отечественных фирм-производителей графических и текстовых табло.


Научно Производственное Предприятие
"Электронное табло" ( www.eltablo.ru <#"656012.files/image001.gif">


Рисунок 1 - Сравнительная
характеристика некоторых микропроцессорных платформ




То, что одно семейство, имеющее
короткое время исполнения команд, например, AVR, эффективнее другого, с более
"длинными" командами, например MCS'51, однозначно утверждать нельзя.
AVR-семейство представляет собой чистую RISC-архитектуру, программы для
микроконтроллеров этого типа достаточно длинные, объемные, т.к. все операции
проводятся через РОНы. У микроконтроллеров семейства PIC система команд
урезанная, и состоит всего из 33 команд. Хотя они исполняются достаточно
быстро, общая производительность низка. Примерно то же самое относится к
семейству HC05. Однокристальные микроЭВМ семейства C'51 пользуются спросом и
уважением разработчиков всего мира, в первую очередь за эффективную систему
команд, дающую хорошую производительность системы в целом, не смотря на длинный
командный цикл. Сравнивая два противоположных в этом плане семейства AVR и
C'51, в конечном итоге их производительности примерно равны: за одно и то же
время они делают одну и ту же "работу".


Немаловажным обстоятельством
является удобство в использовании ОМЭВМ для разработчика. Стандартные МК фирмы
Intel имели внутреннюю память программ с УФ-стиранием, либо с масочным ПЗУ, что
сильно сдерживало их использование в "домашних" условиях. Фирма ATMEL
разработала полный аналог этих МК, с добавлением такой функции, как ISP -
программирование в системе: для перезаписи программы в контроллер требуются
считанные секунды. семейство контроллеров продолжает развиваться и по сей день,
обеспечивая разработчика широким набором встроенной периферии. В сравнении с
семейством MCS'51 оно более удобно в использовании, т.к. в AVR каждый модуль -
таймер, счетчик, интерфейс UART, SPI и др., независим друг от друга. В 51-х
контроллерах этого не скажешь: таймеры и интерфейсы так или иначе
взаимосвязаны. Для нашего устройства с большой нагрузкой на ПО, где необходимо
осуществлять подсчет текущего времени суток, динамически формировать
изображение на матрице, выдерживать строгие временные интервалы для поддержки
однопроводного интерфейса - и все с разной частотой и периодичностью, AVR
подходит более всего.


Набор AVR-микроконтроллеров
достаточно широк. Для выбора конкретного типа необходимо подсчитать минимальное
число выводов, а также определить необходимые встроенные аппаратные средства
для поддержки работы других элементов.


В таблице 3 приведены некоторые типы
AVR-микроконтроллеров. Они отличаются набором периферии, объемом внутренней
памяти программ и данных, числом доступных портов ввода-вывода, корпусами,
быстродействием, напряжением питания и пр. Излишние функциональные возможности
нежелательны, т.к. это увеличивает стоимость контроллера; их недостаток,
наоборот, приведет к невозможности выполнения поставленной задачи. Чтобы
правильно выбрать тип контроллера, необходимо иметь представление о программе,
выполняемой на нем, и ее задачах. Она потребует достаточно много места: один
протокол Modbus только в "чистом" виде, т.е. только процедуры приема
и отправки байтов, кодирования/декодирования пакетов, занимают около 1 Кб
(modbus.asm). Обработка команд, поступающих с ПК, также потребует около 1 Кб
постоянной памяти (command.asm). Обеспечение работы однопроводного интерфейса и
обслуживание датчика температуры занимает примерно 1,5 Кб (ds18x.asm).
Обработчики прерываний от системных таймеров и связанные с ними процедуры
займут около 2 Кб. Основной модуль программы займет еще примерно 2 Кб.
Получается, объем только постоянной памяти программ должен быть не менее 7
Кбайт.






Таблица 3 - Микроконтроллеры семейства AVR.


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


Для построения адаптера интерфейса RS-232 фирма
MAXIM выпустила ряд микросхем, отличающихся числом линий связи и электрическими
параметрами. В настоящее время существуют их более дешевые аналоги пр-ва других
фирм, например, ADM, STM.


При выборе той или иной ИМС необходимо
руководствоваться следующими соображениями:


Должно быть минимально необходимое число линий;


Корпус типа DIP для монтажа на плату 3 класса
точности;


Вообще, из представленных в таблице 4 ИМС
подойдет любая, т.к. связь с ПК будет осуществляться по протоколу Modbus, а он
требует только двух линий передачи данных. Выберем те, которые имеют
минимальное число выводов, т.е в корпусе DIP-16. Всем критериям удовлетворяют
только 2 типа: MAX202 и MAX232. Неудивительно, что именно эти ИМС пользуются
наибольшей популярностью у разработчиков и встречаются наиболее часто в
различных любительских и профессиональных схемах.


Адаптер переходник с интерфейса RS-232 на USB
интерфейс.


Производитель - Orient Hero International Ltd


Скорость передачи данных - 1 Мбит/сек


Со стороны COM порта для крепежа используются
винты




Таблица 4 - Микросхемы преобразователей RS-232




При выборе типа датчиков температуры
использовалась таблица 5.


Таблица 5 - Параметры распространенных датчиков
температуры


В сравнении с датчиками серии ds1820 фирмы
Dallas они проигрывают в точности и удобстве подключения. Можно, конечно,
использовать термозависимые сопротивления типа ТСМ, ТСП и др., но это требует
использования АЦП, схем согласования, и дополнительной программной обработки
первичных результатов. Датчики фирмы Dallas имеют отличную точность (0,5°С),
требуют всего 2 провода (земляной и сигнальный), выдают данные в цифровом виде.
Конечно, связь по однопроводному интерфейсу без использования аппаратной
поддержки требует более сложного программного обеспечения, но из-за
относительной медлительности интерфейса и за счет использования в связи с этим
системы прерываний нагрузка на процессор получается минимальной.


Цифровые микросхемы регистров, дешифраторов
можно использовать любые из ТТЛ, ТТЛШ, КМОП-логики, серий 555, 1533, 1554.


Резисторы с допуском 5-10% - типа МЛТ, С2-23
соответствующей мощности; конденсаторы: электролитические К50-35 или импортные
аналоги VISHAY, JAMICON и др., в цепях питания для подавления помех К10-17б.


Остальные элементы - по назначению, с
подходящими конструктивными, технологическими, электрическими параметрами.





2.2 Разработка принципиальной схемы устройства




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


Блок силовых ключей собран на транзисторах VT1 -
VT16 типа КТ816А. Максимальный ток IКЭ = 1 А, напряжение UКЭ = 25В. Резисторы
R4 - R19 ограничивают ток базы при подаче на вход канала напряжения лог. “0”.
Минимальный ток базы, необходимый для насыщения транзистора, равен:




Сопротивление токоограничивающего
резистора равно:




По ряду E24 выбираем сопротивление
резистора 470 Ом.


Остальные элементы схемы
устанавливаются в соответствии с технической документацией на соответствующие
ИМС, и расчета не требуют.




2.3 Разработка алгоритма работы
микроЭВМ




Алгоритм работы микроЭВМ должен
обеспечивать следующие функции:


заполнение сдвигового регистра
столбцов данными, соответствующими текущей строке;


поочередное включение строк
светодиодной матрицы при динамическом формировании изображения;


формирование изображения на матрице
в соответствии с текущем режимом работы;


чтение Flash-памяти при отображении
текста бегущей строки;


учет текущего времени суток и
автоматическая коррекция хода часов;


поддержка однопроводного интерфейса;


периодическое считывание показаний
температурного датчика;


обеспечение связи с ПК по интерфейсу
RS-232, по протоколу Modbus;


выполнение команд, прием и выдача
данных на ПК;


обслуживание дополнительных кнопок
подстройки часов.


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


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


Поскольку доступ к информации
осуществляется побайтно, т.е. группами по 8 бит, а число строк в
разрабатываемом устройстве также равно 8, то само собой напрашивается решение
представлять состояние каждого столбца в виде отдельного байта, где их число
равно общему числу столбцов. Таким образом, чтобы сдвинуть "бегущий"
текст на одну позицию влево, достаточно информацию, хранимую в видеопамяти,
сдвинуть на один байт в сторону "левого" байта. Шрифт текста бегущей
строки представляет собой символы размером 5 х 7 точек. Исключение составляют
некоторые большие символы, такие как русская заглавная буква "Д" и
др., где требуется 8 строк. Каждый символ текста на матрице занимает 5
столбцов; расстояние между символами одинарное, в один столбец. Изображение
каждого символа хранится в энергонезависимой памяти, в специально отведенной
для этих целей области, называемой знакогенератором. Каждый символ занимает 5
байт; таким образом требуется 5 х 256 = 1280 байтов.


Текст бегущей строки выводится
справа налево; от старших байтов видеопамяти в сторону младших. Поэтому когда
символ уже находится в пределах матрицы, обращения к знакогенератору не
происходит: его изображение с определенной скоростью перемещается по
видеопамяти, пока не выйдет совсем. Чтение знакогенератора требуется, чтобы
"ввести" символ в рабочее поле. Это делается следующим образом. На
самом деле видеопамять имеет несколько большую длину, как раз на ширину
символа. Невидимые столбцы (5 шт) располагаются справа от матрицы, т.е. они
занимают самые старшие 5 байт видеопамяти. При сдвиге изображения на один
столбец влево они также участвуют в работе, но остаются невидимыми. Через
каждые 6 сдвигов, когда эта область будет пуста, происходит обращение к памяти
текста. Для этого организуется специальный счетчик, который указывает на
текущую позицию символа в тексте. Его размерность равна слову, т.е. 2 байтам.
Перед запуском бегущей строки этот счетчик (другими словами:
"бегунок", позиция курсора, указатель и пр.) инициализируется, т.е.
указывает на самый первый символ текста. Считанный ASCII-код символа затем
умножается на 5, чтобы получить начальный адрес в памяти знакогенератора, где
находится его изображение. Считанные 5 байтов знакогенератора копируются в
старшие 5 байтов видеопамяти, заполняя опустевшее место самого правого,
невидимого символа. Когда достигается граница текста, что проверяется простым
сравнением счетчика текущей позиции с длиной текста, заполнение отключается -
при сдвиге видеопамяти она заполняется нулями.


Немного по-другому происходит
формирование изображения при выводе текущего времени суток и температуры. Время
представляется в формате ЧЧ:ММ:СС. Учет текущего времени осуществляется в
процедуре прерывания от системного таймера, который настроен точно на частоту 1
Гц. Самому устройству "знать" время нет необходимости, поэтому в
памяти время хранится в виде, оптимальном для процедуры формирования
изображения. Всего выделяется 6 байт: 2 для значений часа, 2 - для минут и 2 - для
секунд. 2 байта нужны для раздельного хранения значений единиц и десятков. При
отображении времени и температуры изображение статично, т.е. не сдвигается ни в
какую сторону. Позиция каждого символа на матрице определена заранее и не
меняется. Для заполнения видеопамяти изображением времени и температуры
используется всего одна отдельная процедура. Она последовательно символ за
символом "печатает" текст на изображении. Примерное изображение
приведено на рисунке 2.




Рисунок 1 - Вывод текущего времени и
температуры.




Первым обрабатывается счетчик
десятков часов. Значение десятков часов (на рис.2 оно равно 1), представленное
в двоичном коде 0x0116, преобразуется в ASCII-код 0x31 путем простого
прибавления числа 0x30 (см. таблицу ASCII-кодов). Затем это значение
используется как адрес при обращении к ПЗУ знакогенератора, где считываются 5
байтов изображения. Эти значения копируются в область видеопамяти, начиная с
12-ого байта. Так на дисплее появляется изображение цифры "1". Далее
обрабатывается счетчик единиц часов. После этого в байтах с адресами 24 и 25
записывается значение 0x36 - это изображение двоеточия, разделяющего минуты от
часов. И так далее.


Аналогично выводится температура, но
здесь требуется преобразование форматов. Датчик температуры типа DS1820 выдает
значение в своем, специфическом формате.




Рисунок 2 - Формат представления
температуры датчика DS18B20.




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


Только после этого двоичный код
преобразуется в двоично-десятичный, состоящий из трех разрядов - байтов. Печать
этих байтов осуществляется аналогично выводу времени. Преобразование в
двоично-десятичный код, в особенности дробной части числа, будет рассмотрено в
следующей главе. В зависимости от знака, на дисплей перед температурой
выводится символ "+" или "-".


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


Теперь о непосредственном выводе
изображения. Для этого используется таймер, работающий с периодом 400 Гц.
Каждые 2,5 мс вызывается процедура, которая включает очередную строку
светодиодов. Т.к. строк 8, то регенерация всего изображения будет происходить
за 20 мс, т.е. с частотой 50 Гц. Эту частоту можно изменить, установив
соответствующий параметр.


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


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


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




Таблица 6 - Система команд
Flash-памяти AT25640.


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


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


Рассмотрим задачу подключения к ПК через
последовательный интерфейс RS-232. Связь осуществляется по протоколу Modbus. С
использованием этого протокола информация передается группами, называемыми
пакетами. Существуют две разновидности Modbus, отличающиеся способом
кодирования байтов: Modbus RTU и Modbus ASCII. В RTU-режиме каждый байт
передается как есть. Появление ошибок определяется циклическим избыточным кодом
CRC. Достоинством этой схемы является более высокая скорость передачи по
сравнению с ASCII-режимом, но требует большей вычислительной мощности от ЭВМ
из-за использования CRC-кода. В ASCII-режиме каждый байт передается двумя
ASCII-кодами шестнадцатеричного представления. Обнаружение ошибок
обеспечивается линейным циклическим кодом LRC, который представляет собой
простую сумму всех байт пакета (за исключением первого и последнего) без учета
переноса.


Признак начала пакета - символ ":"
(только в ASCII-режиме)


Признак конца пакета - символы CRLF (только в
ASCII-режиме).


Хотя в RTU-режиме фактическая скорость передачи
информации выше почти в 2 раза, режим ASCII предпочтительнее использовать в
микроконтроллерных устройствах. Это обусловлено его простотой, большей
надежностью, лучшей синхронизацией, более легким исполнением на ассемблере,
хотя, конечно, кодирование каждого байта в виде двух кодов и декодирование на
приеме значительно усложняют процедуры приема-отправки сообщений. В остальном
ASCII-режим предпочтительнее.


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







2.4 Разработка исходных текстов программ
микро-ЭВМ




В нашем устройстве были использован
микроконтроллер фирмы ATMEL, который имеет развитые средства поддержки,
разработки и отладки. К ним относится среда проектирования программ для AVR
микроконтроллеров, называемая AVR Studio ver. 4.12 SP3. Это чрезвычайно удобная
среда проектирования предназначена для написания ассемблерных и Си-программ для
МК, и их отладки. Программирование осуществляется по интерфейсу RS-232 с
помощью программатора AVRISP. Исходный текст ассемблерной программы для
микроЭВМ приведен в Приложении В. На каждое действие в программе даны
комментарии, облегчающие понимание программы. Широко используются макросы,
значительно сокращающие объем текста, что повышает читаемость программы.


Вся программа разбита на модули, каждый из
которых предназначен для решения своей задачи:.avr- главный модуль
программы.avr- набор макросовx.avr- модуль работы с датчиками серии DS18x.avr-
описание команд работы с ПК.avr- обслуживание протокола modbus.avr- набор
математических процедур


При разработке программы были решены некоторые
необычные, сложные задачи, например, перевод дробной части числа из двоичного
формата в десятичный. Эта процедура находится в модуле math.avr. Простой
перевод из двоичного в двоично-десятичный формат даст неправильный результат. К
примеру, число 0x01 для целой части означает число, равное 1. При дробном
представлении двоичный код 0x01 равен 2-8=0,00390625. Это есть вес младшего
разряда. Соответственно, вес старшего разряда равен 0,5. Нам такое большое
число цифр после запятой не нужно - достаточно четырех, из которых впоследствии
можно использовать любое из них. Таким образом, двоичный код, например, 0x80
должен дать цифру 5000, представленную в двоично-десятичном формате. Но сначала
нам надо преобразовать дробное представление хотя бы в обычное двоичное. Это
осуществляется в цикле, который повторяется 8 раз - по числу дробных разрядов.
Если в текущем разряде стоит "1", то его вес прибавляется к общей
сумме, которая перед запуском цикла обнуляется. Вес старшего разряда равен 5000
(500 для трех разрядов, 50 тыс. для пяти разрядного числа и т.д.). При переходе
к следующему, более младшему разряду, текущий вес понижается в 2 раза. Деление
на 2 заменяется простой операцией побитного сдвига вправо.


Есть другой способ - просто умножить двоичное
представление дробного числа на 5000 и откинуть младший байт. Но это потребует
16-битной операции умножения, т.е. 16 тактов вместо 8.


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




Для программирования бегущей строки используется
персональный компьютер. Связь с ПК осуществляется через USB адаптер
подключаемый к COM-порту устрой
Похожие работы на - Модернизация информационного табло 'Бегущая строка' Дипломная (ВКР). Информационное обеспечение, программирование.
Лабораторная Работа Приборы Для Измерения Температуры
Курсовая Работа На Тему Круговая Тренировка
Реферат: МІЖНАРОДНИЙ КРЕДИТ ЯК ЕКОНОМІЧНА КАТЕГОРІЯ
Лабораторные Работы Красноярск
Реферат: Детство, юность, зрелость
Реферат по теме Кавелье Рене Робер де Ла Саль
Курсовая работа по теме Карст и карстовые отложения
Тактика Допроса Подозреваемого Курсовая Работа По Криминалистике
Реферат по теме Учет курсовых разниц по валютным кредитам и займам
Федеральная Инспекция Труда Реферат
Реферат: Методы очистки окружающей среды от фенола
Перспективные Модели Организаций Реферат
Идеальный Напарник Для Путешествия Сочинение
Реферат: Значение законности и правопорядка в современном обществе
Краткий курс кадрового делопроизводства
Доклад: Полупроводниковые фотоэлементы
Сочинение Ко Дню Отца
Реферат: Проблемы реформирования налоговой системы Российской Федерации
Сочинение Что Дает Мне Книга
Контрольная Работа По Географии 5 Класс
Реферат: Направление реформирования АПК России
2.3 Роль права и законности в учении Ленина
Похожие работы на - Инженерия знаний

Report Page