Исследование организации и работы последовательного периферийного интерфейса SP1
Сопряжение микросхемы часов реального времени с микроконтроллером. Последовательная шина данных для связи интегральных схем. Соединение низкоскоростных периферийных компонентов с материнской платой. Управление пересылкой на байтовом и битовом уровнях.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 31.05.2012 |
Размер файла | 1,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
«Пермский национальный исследовательский политехнический университет»
Лысьвенский филиал
Факультет: Среднего профессионального образования
Специальность: 230101.51 Вычислительные машины, комплексы, системы и сети
КУРСОВОЙ ПРОЕКТ
по дисциплине: «Цифровая схемотехника»
на тему: «Исследование организации и работы последовательного периферийного интерфейса SP1»
Курсовой проект выполнил
студент группы КСК-11
Грималюк Анатолий Сергеевич
«___» ____________ 2012 г.
Лысьва, 2012 г.
Содержание
1.Введение
2. I?C
3. История и схемотехника
4.Принци работы
4.1 Старт и стоп
4.2 Подтверждение
4.3 Синхронизация
4.4 Адресация в шине I2C
5. применение
6. Преимущества
7. Преимущества для конструкторов
8. Пример системы с шиной I?C
9. Поддержка ОС
10. Производственные технологи
11. Часы реального времени ds -1307
12. Практика
13. Назначение учебного стенда СУ-МК НТЦ-31.100
13.1 Технические характеристики
13.2 Органы управления стенда
13.3 Функциональная схема лабораторного стенда
14. Вывод
15. Список литературы
Введение
Цель работы. Ознакомится с интерфейсом приборной шины TWI (I2C), изучить схему сопряжения микросхемы часов реального времени с микроконтроллером, разработать и отладить программу для обслуживания устройства.
I?C
(рус. ай-ту-си/и-два-цэ) -- последовательная шина данных для связи интегральных схем, разработанная фирмой Philips в начале 1980-х как простая шина внутренней связи для создания управляющей электроники. Используется для соединения низкоскоростных периферийных компонентов с материнской платой, встраиваемыми системами и мобильными телефонами. Название представляет собой аббревиатуру слов Inter-Integrated Circuit. 1 октября 2006 года отменены лицензионные отчисления за использование протокола I?C. Однако, отчисления сохраняются для выделения эксклюзивного подчинённого адреса на шине I?C.
История и схемотехника
I?C использует две двунаправленных линии, подтянутые к напряжению питания и управляемые через открытый коллектор или открытый сток -- последовательная линия данных (SDA, англ. Serial DAta) и последовательная линия тактирования (SCL, англ. Serial CLock). Стандартные напряжения +5 В или +3,3 В, однако допускаются и другие.
Классическая адресация включает 7-битное адресное пространство с 16 зарезервированными адресами. Это означает до 112 свободных адресов для подключения периферии на одну шину.
Основной режим работы -- 100 кбит/с; 10 кбит/с в режиме работы с пониженной скоростью. Заметим, что стандарт допускает приостановку тактирования для работы с медленными устройствами.
После пересмотра стандарта в 1992 году становится возможным подключение ещё большего количества устройств на одну шину (за счёт возможности 10-битной адресации), а также большую скорость до 400 кбит/с в скоростном режиме. Соответственно, доступное количество свободных узлов выросло до 1008. Максимальное допустимое количество микросхем, подсоединенных к одной шине, ограничивается максимальной емкостью шины в 400 пФ.
Версия стандарта 2.0, выпущенная в 1998 году представила высокоскоростной режим работы со скоростью до 3,4 Мбит/с с пониженным энергопотреблением. Последняя версия 2.1 2001 года включила лишь незначительные доработки.
Рисунок 1
Принцип работы
Состояние СТАРТ и СТОП
Процедура обмена начинается с того, что ведущий формирует состояние СТАРТ: генерирует переход сигнала линии SDA из ВЫСОКОГО состояния в НИЗКОЕ при ВЫСОКОМ уровне на линии SCL. Этот переход воспринимается всеми устройствами, подключенными к шине, как признак начала процедуры обмена. Генерация синхросигнала -- это всегда обязанность ведущего; каждый ведущий генерирует свой собственный сигнал синхронизации при пересылке данных по шине. Процедура обмена завершается тем, что ведущий формирует состояние СТОП -- переход состояния линии SDA из низкого состояния в ВЫСОКОЕ при ВЫСОКОМ состоянии линии SCL. Состояния СТАРТ и СТОП всегда вырабатываются ведущим. Считается, что шина занята после фиксации состояния СТАРТ. Шина считается освободившейся через некоторое время после фиксации состояния СТОП. При передаче посылок по шине I2C каждый ведущий генерирует свой синхросигнал на линии SCL. После формирования состояния СТАРТ, ведущий опускает состояние линии SCL в НИЗКОЕ состояние и выставляет на линию SDA старший бит первого байта сообщения. Количество байт в сообщении не ограничено. Спецификация шины I2C разрешает изменения на линии SDA только при НИЗКОМ уровне сигнала на линии SCL. Данные действительны и должны оставаться стабильными только во время ВЫСОКОГО состояния синхроимпульса. Для подтверждения приема байта от ведущего-передатчика ведомым-приемником в спецификации протокола обмена по шине I2C вводится специальный бит подтверждения, выставляемый на шину SDA после приема 8 бита данных.
Подтверждение
Таким образом, передача 8 бит данных от передатчика к приемнику завершаются дополнительным циклом (формированием 9-го тактового импульса линии SCL), при котором приемник выставляет низкий уровень сигнала на линии SDA, как признак успешного приема байта.
Подтверждение при передаче данных обязательно, кроме случаев окончания передачи ведомой стороной. Соответствующий импульс синхронизации генерируется ведущим. Передатчик отпускает (ВЫСОКОЕ) линию SDA на время синхроимпульса подтверждения. Приёмник должен удерживать линию SDA в течение ВЫСОКОГО состояния синхроимпульса подтверждения в стабильном НИЗКОМ состоянии.
В том случае, когда ведомый-приёмник не может подтвердить свой адрес (например, когда он выполняет в данный момент какие-либо функции реального времени), линия данных должна быть оставлена в ВЫСОКОМ состоянии. После этого ведущий может выдать сигнал СТОП для прерывания пересылки данных. Если в пересылке участвует ведущий-приёмник, то он должен сообщить об окончании передачи ведомому-передатчику путем не подтверждения последнего байта. Ведомый-передатчик должен освободить линию данных для того, чтобы позволить ведущему выдать сигнал СТОП или повторить сигнал СТАРТ.
Синхронизация
Синхронизация выполняется с использованием подключения к линии SCL по правилу монтажного И. Это означает, что ведущий не имеет монопольного права на управление переходом линии SCL из НИЗКОГО состояния в ВЫСОКОЕ. В том случае, когда ведомому необходимо дополнительное время на обработку принятого бита, он имеет возможность удерживать линию SCL в низком состоянии до момента готовности к приему следующего бита. Таким образом, линия SCL будет находиться в НИЗКОМ состоянии на протяжении самого длинного НИЗКОГО периода синхросигналов.
Устройства с более коротким НИЗКИМ периодом будут входить в состояние ожидания на время, пока не кончится длинный период. Когда у всех задействованных устройств кончится НИЗКИЙ период синхросигнала, линия SCL перейдет в ВЫСОКОЕ состояние. Все устройства начнут проходить ВЫСОКИЙ период своих синхросигналов. Первое устройство, у которого кончится этот период, снова установит линию SCL в НИЗКОЕ состояние. Таким образом, НИЗКИЙ период синхролинии SCL определяется наидлиннейшим периодом синхронизации из всех задействованных устройств, а ВЫСОКИЙ период определяется самым коротким периодом синхронизации устройств.
Механизм синхронизации может быть использован приемниками как средство управления пересылкой данных на байтовом и битовом уровнях.
На уровне байта, если устройство может принимать байты данных с большой скоростью, но требует определенное время для сохранения принятого байта или подготовки к приему следующего, то оно может удерживать линию SCL в НИЗКОМ состоянии после приема и подтверждения байта, переводя таким образом передатчик в состояние ожидания.
На уровне битов, устройство, такое как микроконтроллер без встроенных аппаратных цепей I2C или с ограниченными цепями, может замедлить частоту синхроимпульсов путем продления их НИЗКОГО периода. Таким образом скорость передачи любого ведущего адаптируется к скорости медленного устройства.
Адресация в шине I2C
Каждое устройство, подключённое к шине, может быть программно адресовано по уникальному адресу. Для выбора приемника сообщения ведущий использует уникальную адресную компоненту в формате посылки. При использовании однотипных устройств, ИС часто имеют дополнительный селектор адреса, который может быть реализован как в виде дополнительных цифровых входов селектора адреса, так и в виде аналогового входа. При этом адреса таких однотипных устройств оказываются разнесены в адресном пространстве устройств, подключенных к шине.
В обычном режиме используется 7-битная адресация.
Процедура адресации на шине I2C заключается в том, что первый байт после сигнала СТАРТ определяет, какой ведомый адресуется ведущим для проведения цикла обмена. Исключение составляет адрес «Общего вызова», который адресует все устройства на шине. Когда используется этот адрес, все устройства в теории должны послать сигнал подтверждения. Однако, устройства, которые могут обрабатывать «общий вызов», на практике встречаются редко.
Первые семь битов первого байта образуют адрес ведомого. Восьмой, младший бит, определяет направление пересылки данных. «Ноль» означает, что ведущий будет записывать информацию в выбранного ведомого. «Единица» означает, что ведущий будет считывать информацию из ведомого.
После того, как адрес послан, каждое устройство в системе сравнивает первые семь бит после сигнала СТАРТ со своим адресом. При совпадении устройство полагает себя выбранным как ведомый-приёмник или как ведомый-передатчик, в зависимости от бита направления.
Адрес ведомого может состоять из фиксированной и программируемой части. Часто случается, что в системе будет несколько однотипных устройств (к примеру ИМС памяти, или драйверов светодиодных индикаторов), поэтому при помощи программируемой части адреса становится возможным подключить к шине максимально возможное количество таких устройств. Количество программируемых бит в адресе зависит от количества свободных выводов микросхемы. Иногда используется один вывод с аналоговой установкой программируемого диапазона адресов[1]. При этом в зависимости от потенциала на этом адресном выводе ИМС, возможно смещение адресного пространства драйвера так, чтобы однотипные ИМС не конфликтовали между собой на общей шине.
Все специализированные ИМС, поддерживающие работу в стандарте шины I2C, имеют набор фиксированных адресов, перечень которых указан производителем в описаниях контроллеров.
Комбинация бит 11110ХХ адреса зарезервирована для 10-битной адресации.
Как следует из спецификации шины, допускаются как простые форматы обмена, так и комбинированные, когда в промежутке от состояния СТАРТ до состояния СТОП ведущий и ведомый могут выступать и как приемник, и как передатчик данных. Комбинированные форматы могут быть использованы, например, для управления последовательной памятью.
Во время первого байта данных можно передавать адрес в памяти, который записывается во внутренний регистр-защелку. После повторения сигнала СТАРТа и адреса ведомого выдаются данные из памяти. Все решения об авто-инкременте или декременте адреса, к которому произошел предыдущий доступ, принимаются конструктором конкретного устройства. Поэтому, в любом случае лучший способ избежать неконтролируемой ситуации на шине перед использованием новой (или ранее не используемой) ИМС следует тщательно изучить ее описание (datasheet или reference manual), получив его с сайта производителя. Более того, производители часто размещают рядом более подробные инструкции по применению.
В любом случае, по спецификации шины все разрабатываемые устройства должны сбрасывать логику шины при получении сигнала СТАРТ или повторный СТАРТ и подготавливаться к приему адреса.
Тем не менее основные проблемы с использованием I2C шины возникают именно из-за того, что разработчики, «начинающие» работать с I2C шиной не учитывают того факта, что ведущий (часто -- микропроцессор) не имеет монопольного права ни на одну из линий шины.
Применение
I?C находит применение в устройствах, предусматривающих простоту разработки и низкую себестоимость изготовления при относительно неплохой скорости работы.
Список возможных применений:
§ доступ к модулям памяти NVRAM;
§ доступ к низкоскоростным ЦАП/АЦП;
§ регулировка контрастности, насыщенности и цветового баланса мониторов;
§ регулировка звука в динамиках;
§ управление светодиодами, в том числе в мобильных телефонах;
§ чтение информации с датчиков мониторинга и диагностики оборудования, например, термостат центрального процессора или скорость вращения вентилятора охлаждения;
§ чтение информации с часов реального времени (кварцевых генераторов);
§ управление включением/выключением питания системных компонент;
§ информационный обмен между микроконтроллерами;
Разработка
Каждая электронная система включает в себя 3 различных типа узлов:
§ Узел управления
§ Узлы общего назначения, такие как буферы ЖКИ, порты ввода/вывода, ОЗУ, ЭСПЗУ или преобразователи данных.
§ Специфические узлы, такие как схемы цифровой настройки и обработки сигнала для радио- и видео- систем, или генераторы тонального набора для телефонии.
В настоящее время ассортимент продукции Philips включает более 150 КМОП и биполярных I?C-совместимых устройств, функционально предназначенных для работы во всех трех вышеперечисленных категориях электронного оборудования. Все I?C-совместимые устройства имеют встроенный интерфейс, который позволяет им связываться друг с другом по шине I?C. Это конструкторское решение разрешает множество проблем сопряжения различных устройств, которые обычно возникают при разработке цифровых систем.
На дешевых устройствах часто I?C эмулируется программно с использованием технологии Bit-banging.
Преимущества
§ необходим всего один микроконтроллер для управления набором устройств;
§ используется всего две линии ввода-вывода общего назначения;
§ стандарт предусматривает «горячее» подключение и отключение устройств в процессе работы системы
§ встроенный в микросхемы фильтр подавляет всплески, обеспечивая целостность данных.
Преимущества для конструкторов
§ поскольку такие микросхемы подключаются непосредственно к шине без каких-либо дополнительных цепей, появляется возможность модификации и модернизации системы прототипа путем подключения и отключения устройств от шины.
§ блоки на функциональной схеме соответствуют микросхемам, переход от функциональной схемы к принципиальной происходит быстро.
§ нет нужды разрабатывать шинные интерфейсы, так как шина уже интегрирована в микросхемы.
§ интегрированные адресация устройств и протокол передачи данных позволяют системе быть полностью программно определяемой.
§ одни и те же типы микросхем могут быть часто использованы в разных приложениях.
§ время разработки снижается, так как конструкторы быстро знакомятся с часто используемыми функциональными блоками и соответствующими микросхемами.
§ микросхемы могут быть добавлены или убраны из системы без оказания влияния на другие микросхемы, подключенные к шине (если их работа независима).
§ простая диагностика сбоев и отладка; нарушения в работе могут быть немедленно отслежены.
§ время разработки программного обеспечения может быть снижено за счет использования библиотеки повторно используемых программных модулей.
Пример системы с шиной I?C
микросхема плата шина интегральный
На рисунке: (a) Высокоинтегрированный телевизор
1. Микроконтроллер
2. ФАПЧ синтезатор
3. Флеш-память
4. Мультисистемный декодер сигналов цветности
5. Стереодекодер звука
6. Улучшитель сигнала картинки
7. HI-FI аудиопроцессор
8. Видеопроцессор
9. Одночиповый текст
10. ИМС сигналов OSD
(b) базовая станция радиотелефона стандарта DECT
11. Генератор DTMF
12. Интерфейс телефонной линии
13. Кодек АДИКМ
14. Пакетный контроллер
15. Микроконтроллер
Рисунок 2
Поддержка ОС
§ В Linux поддержка I?C обеспечивается специальным модулем для каждого устройства, совместимого с этим стандартом. Файл заголовков для написания клиента I?C -- /usr/include/linux/i2c.h. В OpenBSD также добавлена поддержка основных микроконтроллеров и сенсоров I2C;
§ В Sinclair QDOS и Minerva QL поддержка осуществляется через набор расширений фирмы TF Services;
§ В AmigaOS доступ к устройствам I?C осуществляется с помощью библиотеки i2c.library, написанной Вильгельмом Нойкером;
§ eCos поддерживает I?C для нескольких архитектур.
§ Материнские платы EPIA-M поддерживают I?C на уровне форм-фактора Mini-ITX.
Производственные технологи
I?C является основой ACCESS.bus, дисплейного интерфейсного канала данных (DDC) VESA, шины управления системными функциями SMBus, шины интеллектуального управления системой IPMB (вариант протокола IPMI). В этих технологиях возможно использование различных напряжений, частоты тактирования и наличия линийпрерываний.
TWI (Two Wire Interface) или TWSI (Two Wire Serial Interface) по сути та же самая шина I?C, но использует другое название по лицензионным причинам. (Патенты на I?C уже отменены.)
часы реального времени -- ds1307
Во многих конструкциях полезно знать текущее время, но не всегда есть возможность, да и если контроллер будет сильно загружен, то часы будут постоянно отставать или спешить, что не очень хорошо. Выходом может стать внешний готовый источник времени - часы реального времени -- DS1307.
Рисунок 3 - модуль
Часы состоят из микросхемы DS1307, кварца на 32,768Кгц, батарейки и 2-х подтягивающих резисторов на линии SDA и SLC. Благодаря батарейке они продолжают идти при отключении внешнего питания. Также у DS1307 есть свободные 56 байтов энергозависимой статической ОЗУ, которые можно использовать в своих целях.
Рисунок 4 - Типовая схема включения
Линии SCL и SDA - это I2C. На линии SQW - находиться тактовый импульс с частотой от 1 Гц до 32,768 Кгц, обычно она не используется.
Рисунок 5 - Выводы микросхемы
У часов есть пара особенностей:
1. что бы они работали, в них должна быть батарейка или на крайний случай резистор на 4-10кОм, иначе они не будут работать и отвечать всяким мусором.
2. вокруг дорожек кварца должен быт замкнутый контур земли и корпус кварц тоже лучше подключить к земле
Хронометр имеет фиксированный адрес 68h, в 7 битовом адресе + 1 бит указывает на действие - чтение/запись.
Для записи используется следующий алгоритм:
Первый байт - адрес часов 68h + 0 бит указывающий на запись, итого D0h. После получения подтверждения передаётся адрес регистра. Это установит регистровый указатель. Затем начинается передача байтов данных, чтобы остановить его - генерируется условие окончания.
Для чтения:
Первый байт - адрес часов 68h + 1 бит указывающий на запись, итого D1h. После декодирования адреса и выдачи подтверждения устройство начинает передавать данные с указанного адреса (храниться в регистре указателя). Если перед началом чтения указатель регистра не записан, то первый читаемый адрес -- это адрес, который был сохранён в нём последним. DS1307 должен принять «неподтверждение» для окончания чтения.
Рисунок 6 - Регистры хронометра DS1307
Для включения часов следует установить бит CH в ноль, это следует сделать принудительно, т.к. часы после включения по умолчанию выключены.
Часы хранят информацию в двоично-десятичном виде - для получения данных достаточно прочитать соответствующий им регистр.
DS1307 может работать как в 24, так и в 12 часовом режиме - за это отвечает бит 12/24 (02h 6 бит). При 24 часовом режиме 5 и 4 биты регистра 02h соответствуют текущему десятку часа, при 12 часовом режиме 4 бит хранит десяток, а 5 признак до полудня / после полудня.
7 регистр отвечает за выходной тактовый генератор часов, SQW вывод. Бит OUT инвертирует выходной сигнал, бит SQWE включает тактовый генеретор, а биты RS0 и RS1 устанавливают частоту тактового импульса.
Практика
Был изготовлен небольшой модуль часов реального времени. На макетке были собраны часы с использованием микроконтроллера PIC16F628A, знакогенерирующего дисплея 2?16, одной кнопки для задания времени, модуля часов реального времени и с небольшим количеством обвязки.
Рисунок 7 - Макетируемые часы
Рисунок 8 - Схема
Рисунок 9 - Печатка модуля
Плата содержит микросхему DS1307 в SMD исполнении. К ней подпаян кварц на 32,768 КГц, в корпусе DT-38, вокруг кварца должно быть кольцо земли и корпус самого кварц тоже стоит подключить к земле, для этого рядом с ним предусмотрено специальное отверстие. Для работы часов в автономном режиме предусмотрена батарейка на 3В CR120. Также для индикации работы модуля можно установить SMD светодиод с резистором на 470 Ом в корпусе типоразмера 0805.
PIC16F628A не содержит аппаратного I2C, поэтому он был реализован программно. Программный I2C был написан с нуля, он немного отличается от стандартного протокола, тем, что не ждёт подтверждения от слейва. Программный I2C будет рассмотрен в одной из следующих статей. На основе функций работы с I2C были реализованы следующие функции управления DS1307:
view sourceprint?
01.void ds_write(unsigned char addr,unsigned char data)
02.{
03.i2c_start();
04.i2c_write(0xD0);
05.i2c_write(addr);
06.i2c_write(data);
07.i2c_stop();
08.}
09.
10.unsigned char ds_read(unsigned char addr)
11.{
12.unsigned temp;
13.i2c_start();
14.i2c_write(0xD0);
15.i2c_write(addr);
16.i2c_stop();
17.i2c_start();
18.i2c_write(0xD1);
19.temp=i2c_read(0);
20.i2c_stop();
21.return temp;
22.}
23.
24.void ds_off()
25.{
26.ds_write(0x00,ds_read(0x00)|0x80);
27.}
28.
29.void ds_on()
30.{
31.ds_write(0x00,ds_read(0x00)&~0x80);
32.}
33.
34.void ds_init()
35.{
36.unsigned char i;
37.// устанавливаем режим 24 часа
38.i=ds_read(0x02);
39.if((i&0x40)!=0)
40.{
41.ds_write(0x02,i&~0x40);
42.}
43.// Если часы выключены - то включаем их
44.i=ds_read(0x00);
45.if((i&0x80)!=0)
46.{
47.ds_write(0x00,i&~0x80);
48.}
49.}
50.
51.unsigned char IntToBoolInt(unsigned char data)
52.{
53.data=data%100;
54.return data/10*16+data%10;
55.}
ds_write(адрес,байт данных) - отправляет 1 байт данных по указанному адресу DS1307
байт данных ds_read(адрес) - считывает 1 байт данных из указанного адреса DS1307
ds_off() - выключить DS1307
ds_on() - включить DS1307
ds_init() - инициализация DS1307
байт IntToBoolInt(байт) - функция перекодировки числа в двоично-десятичный вид
Во время инициализации проверяются и устанавливаются, если выключены следующие биты: бит отвечающий за 24-х часовой режим работы часов и бит отвечающий за включенное состояние часов. Были реализованы 2 функции для включения и отключения часов. DS1307 может отправлять и принимать как однобайтовые посылки, так и много байтовые, но для упрощения работы с часами функции для чтения и записи только однобайтовые. Для установки часов есть ещё функция для преобразования привычной десятичной формы представления числа в двоично-десятичную, в которой микросхема хранит показатели времени. Приведённых функция для работы с часами вполне достаточно.
В прошивки реализованы функции для считывания и вывода на дисплей времени -time() , даты - date(). В бесконечном цикле через некоторые промежутки времени эти функции вызываются для вывода времени и даты на дисплей. Рассмотрим, как устроена функция для чтения с последующим выводом текущего времени:
view sourceprint?
01.void time()
02.{
03.unsigned char i;
04.SetLCDPosition(1, 0);
05.i=ds_read(0x02);
06.buffer[0] = i/16+'0';
07.buffer[1] = i%16+'0';
08.buffer[2] = ':';
09.i=ds_read(0x01);
10.buffer[3] = i/16+'0';
11.buffer[4] = i%16+'0';
12.buffer[5] = ':';
13.i=ds_read(0x00);
14.buffer[6] = i/16+'0';
15.buffer[7] = i%16+'0';
16.buffer[8] = '\0';
17.ShowStr(buffer);
18.}
Происходит установка курсора на дисплее. Считываем значение регистра отвечающего за час и по пол байта, т.к. данные хранятся в двоично-десятичном виде, записываем в буфер. Далее добавляем разделитель в виде двоеточия. Считываем и записываем в буфер таким же образом значения минут и секунд. Выводим содержимое буфера на дисплей. Таким же образом устроена функция вывода текущей даты.
В прошивки есть функция для установки часов и минут - set_time(). Эта функция с помощью одной кнопки устанавливает время. Как это делается: нажимаем на кнопку - на дисплее высвечивается надпись «Set hour :» и количество часов, увеличиваем час по средством коротких нажатий на кнопку; установив час длительным нажатием переходим на установку минут, о чём свидетельствует надпись «Set min :», таким же образом устанавливаем минуты, а длительным нажатием возвращаемся в бесконечный цикл к часам. Но т.к. эта функция большая приведём из неё только одну строчку, которая записывает в DS1307 значение минут:
view sourceprint?
1.ds_write(0x02,IntToBoolInt(time));
Записываем в регистр, который соответствует минутам желаемое значение, предварительно приведённое к двоично-десятичному виду.
Назначение учебного стенда СУ-МК НТЦ-31.100
Учебный стенд СУ-МК НТЦ-31.100 (далее по тексту Стенд) предназначен для изучения устройства микроконтроллеров семейства AVR, современных компонент, входящих в состав типичных устройств, базирующихся на применении микропроцессорной техники, исследования законченных устройств на базе микропроцессоров, решения специфичных задач по управлению различными объектами, сбору, хранению и обработке информации.
Технические характеристики
Габаритные размеры 200 х 200 х 100 мм 2.2 Масса 0,5 кг 2.3 Напряжение питания 5 В 2.4 Потребляемый ток 0,45 А 2.5 Стенд построен на базе микроконтроллера ATMega128 2.6 Разрядность микроконтроллера 8 бит 2.7 Связь с компьютером по интерфейсам USB, RS-232
Органы управления стенда
Внешний вид передней панели стенда приведен на рисунке 10.
Рисунок 10 - Внешний вид передней панели учебного стенда СУ-МК НТЦ-31.100
На передней панели установлены следующие органы управления: 1 2 3 4 5 6 7 8
- дискретный светодиодный индикатор (набор из 10 светодиодов ДСИ1 … ДСИ10) (1);
- восьмисимвольный семисегментный светодиодный индикатор ССИ (2);
- матричный жидкокристаллический индикатор МЖКИ (3);
- линейка светодиодов - индикатор аналогового сигнала на выходе ЦАП - ЛСИ (4);
- имитаторы аналогового сигнала на входах АЦП АД1…АД3 (5);
- датчики дискретных сигналов (набор из 10 переключателей ДД1…ДД2) (6);
- кнопка сброса (7);
- двенадцатикнопочная клавиатура КЛ (8).
Задняя панель лабораторного стенда приведена на рисунке 2. Учебный стенд СУ-МК НТЦ-31.100 4
Рисунок 11 - Вид задней панели учебного стенда СУ-МК НТЦ-31.100
На задней панели лабораторного стенда расположены: RS-232 XS3) (RS-4(XP14) 22/485 Питание SD CARD (X9) Внешние устройства (XS1) USB Вкл. Выкл. НТЦ-31. 00 “Микропроцессорная техника” 1 3 5
- выключатель «Питание» (1);
- разъем «RS232» для подключения стенда к персональному компьютеру (2);
- разъем «RS422/RS485» для подключения к стенду внешних устройств (3);
- разъем «USB» для подключения стенда к персональному компьютеру (4);
- разъем «Внешние устройства» для подключения дополнительных внешних устройств (5);
- разъем «SD CARD» для подключения к стенду FLASH-карт памяти (SD, MMC) (6).
Функциональная схема лабораторного стенда
Функциональная схема лабораторного стенда приведена на рисунке 3. Стенд построен на базе микроконтроллера ATMega128- семейства AVR. . Для исследования вывода дискретных сигналов используются дискретные светодиодные индикаторы ДСИ1-ДСИ10. Для исследования применения динамической семисегментной индикации используется восьмиразрядный светодиодный семисегментный динамический индикатор ССДИ, управление которым осуществляется через параллельный регистр 1 и дешифратор. Для исследования ввода дискретных сигналов используются датчики дискретных сигналов ДД1-ДД10. К микроконтроллеру подключен матричный жидкокристаллический индикатор МЖКИ и двенадцатикнопочная клавиатура. В стенде организована шина I2C, по которой к микроконтроллеру подключены: АЦП, ЦАП (цифровой резистор), и часы реального времени с электрически стираемым ППЗУ. В стенде организована шина SPI по которой реализована связь микроконтроллера и энергонезависимого ОЗУ (FRAM), электрически стираемого ПЗУ (DATAFLASH). По шине SPI к микроконтроллеру так же подключены разъем для подключения FLASH-карт памяти (SD, MMC) и два последовательных регистра, через регистр 3 осуществляется ввод в микроконтроллер сигналов с датчиков дискретных сигналов ДД3-ДД10, а через регистр 2 вывод сигналов с микроконтроллера на дискретные светодиодные индикаторы ДСИ3- ДСИ10. Для исследования интерфейса 1-wire стенд оснащен термодатчиком, подключенным к микроконтроллеру. Для связи с другими устройствами, стенд оснащен последовательными портами RS232, RS422/RS485. Стенд оснащен разъемом подключения внешних модулей расширения. Отладка программ загружаемых в микроконтроллер осуществляется посредством встроенного в микроконтроллер модуля внутрисхемной отладки, который взаимодействует с программной интегрированной средой разработки программ для микроконтроллеров на персональном компьютере через модуль JTAG ICE, входящий в состав стенда. Подключение модуля JTAG ICE к персональному компьютеру осуществляется через USB. Учебный стенд СУ-МК НТЦ-31.100 5
Все устройства, входящие в состав стенда, кроме JTAG ICE, являются программно-доступными. Электропитание стенда осуществляется от USB.
Рисунок 12 - Функциональная схема учебного стенда СУ-МК НТЦ-31.100
Вывод
Научился пользоваться интернет и поисковой системой Gogle для поиска нужного справочного материала.
Список литературы
1. http://ru.wikipedia.org/wiki/I%C2%B2C
2. http://www.ti.com/ww/ru/c2000.htm?CMP=KNC-GoogleTI&247SEM
3. http://www.efo.ru/doc/Atmel/Atmel.pl?395
4. http://alex-exe.ru/radio/microcontrollers/ds1307/
Размещено на Allbest.ru
Подобные документы
Разработка прибора на основе микроконтроллера AtMega8A-16PU и микросхемы часов реального времени DS1307. Типовая конфигурация двухпроводной шины. Изготовление печатной платы автомата. Микросхемы часов реального времени. Проект блок-схемы программы.
курсовая работа [1,1 M], добавлен 16.04.2015Анализ функционирования установок для исследования режимов работы компонентов с СЭВМ. Разработка схем микропроцессорных устройств и периферийного оборудования ЭВМ для учебного комплекса по интерфейсам ввода-вывода. Функционирование микросхемы КР580ВВ55.
курсовая работа [2,5 M], добавлен 20.05.2011Определение назначения и принципов построения периферийного устройства связи. Рассмотрение модулей сбора информации и выходных усилителей. Особенности вывода управляющих сигналов. Характеристика диагностики и защитного состояния периферийных модулей.
курсовая работа [216,2 K], добавлен 24.01.2018Признаки открытой магистрально-модульной системы. Основные группы открытых стандартов и протоколов ОММС. Структура и принципы работы шин. Электронные схемы шинного интерфейса. Конструктивное исполнение магистралей. Промышленные сети передачи данных.
презентация [1,8 M], добавлен 06.08.2013Рассмотрение структурной и функциональной схем для часов. Построение графа управляющего автомата. Кодирование входных и выходных сигналов. Разработка 12-часового режима работы и блока отключения индикаторов. Определение площади кристалла микросхемы.
курсовая работа [314,3 K], добавлен 27.04.2011Управление работой устройства микроконтроллером PIC18F2550. Обмен информацией между микроконтроллером и часами. Передача данных на алфавитно-цифровой LED-индикатор. Меню изменения даты и времени. Схема устройства принципиальная. Листинг текста программы.
курсовая работа [1,7 M], добавлен 15.01.2013Проектирование программы узла связи, содержащего часы реального времени. Расположение выводов и их назначение. Подключение к двухпроводной последовательной шине данных. Обзор процесса передачи данных по двухпроводной шине. Разработка алгоритма программы.
курсовая работа [700,6 K], добавлен 01.12.2014Краткая историческая справка о развитии интегральных схем. Американские и советские ученные, которые внесли огромный вклад в разработку и дальнейшее развитие интегральных схем. Заказчики и потребители первых разработок микроэлектроники и ТС Р12-2.
реферат [28,1 K], добавлен 26.01.2013Технические характеристики микросхемы часов реального времени. Разработка принципиальной электрической схемы и печатной платы автомата подачи звонков в учебных заведениях. Программирование микроконтроллера фирмы Microchip, тестирование устройства.
дипломная работа [1,7 M], добавлен 16.07.2012Описание структурной и функциональной схем электронных часов, выбор элементной базы. Разработка счетчика времени с системой управления на базе микроконтроллера. Экономический расчет затрат на проектирование, разработку и сборку макета электронных часов.
дипломная работа [223,5 K], добавлен 26.07.2015