47600 (597343), страница 10

Файл №597343 47600 (Микроконтроллеры AVR) 10 страница47600 (597343) страница 102016-07-30СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 10)

Адрес ведомого устройства также подтверждается этим устройством с помощью бита квитирования. Если ведущее устройство после адресации получает отрицательное квитирование, то оно может заключить, что ведомое устройство или вообще отсутствует, или в настоящий момент с ним невозможно установить связь (например, оно занято обработкой заданий, критическими с точки зрения времени).

    1. Работа с интерфейсом I2С в микроконтроллерах PIC

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

В микроконтроллерах PIC обмену данными по интерфейсу 12С соответствует особый режим работы порта MSSP. Линии SCL соответствует вывод 3 порта С, а линии SDA – вывод 4 того же порта.

Для управления передачей в режиме I2С используются три регистра: уже рассмотренные выше SSPSTAT (рис. 7.8) и SSPCON1 (рис. 7.9), а также SSPCON2 (рис. 7.10).

Назначение разрядов регистра SSPSTAT, имеющих отношение к 12С:

  • BF – флаг заполнения буфера данных;

  • UA – устанавливается в лог. 1 в том случае, если необходимо модифицировать адрес устройства (содержимое регистра SSPADD);

  • R/W – указывает на тип операции: 0 – запись, 1 – чтение;

  • S – устанавливается в лог. 1 при обнаружении условия начала передачи;

  • Р – устанавливается в лог. 1 при обнаружении условия завершения передачи;

  • D/A – признак переданного байта: 0 – байт адреса, 1 – байт данных. Назначение разрядов регистра SSPCON1, имеющих отношение к I2С:

  • SSPM0-SSPM3 – выбор режима работы порта MSSP (значения для интерфейса I С представлены в табл. 7.6);

  • СКР – установка этого разряда в лог. 1 разрешает тактирование;

  • SSPEN – флаг разрешения работы интерфейса;

  • SSPOV – флаг переполнения приемного буфера;

  • WCOL – флаг коллизий при записи (1 – запись новых данных в буферный регистр была произведена в момент передачи).

Таблица 7.6. Выбор режима работы порта MSSP для интерфейса l2C

SSPM3

SSPM2

SSPM1

SSPMO

Режим

0

1

1

0

Режим Slave, используется 7-разрядный адрес

0

1

1

1

Режим Slave, используется 10-разрядный адрес

1

0

0

0

Режим Master, частота = F0sc / (4 (SSPADD + 1))

1

0

1

1

Режим Master с программным управлением

1

1

1

0

Режим Slave, используется 7-разрядный адрес

1

1

1

1

Режим Slave, используется 10-разрядный адрес

7

6

5

4

3

2

1

0

GCEN

ACKSTAT

ACKDT

ACKEN

RCEN

PEN

RSEN

SEN

Рис. 7.15. Регистр SSPCON2 микроконтроллеров PIC

Назначение разрядов регистра SSPCON2:

  • SEN – устанавливается в лог. 1 для создания условия начала передачи;

  • RSEN – устанавливается в лог. 1 для создания повторных условий начала передачи;

  • PEN – сбрасывается в лог. О для создания условия окончания передачи;

  • RCEN – устанавливается в лог. 1 для разрешения режима приема;

  • ACKEN – инициирует последовательность битов квитирования;

  • ACKDT – устанавливается в лог. 1 для отправки подтверждения при приеме байта;

  • ACKSTAT – устанавливается в лог. 1 при получении подтверждения приема от ведомого устройства.

    1. Модуль шины CAN

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

Протокол определяет метод адресации, проверку ошибок и общий формат данных для всех устройств, использующих шину. Один из таких протоколов – протокол CAN (Controller Area Network), поддерживаемый рядом микроконтроллеров семейства PIC18 и некоторыми последними разработками компании Atmel.

  1. 3. Аналого-цифровое преобразование

Число в цифровой форме определяется на основании отношения входного напряжения к полному номиналу напряжения аналого-цифрового преобразователя (АЦП). Например, если на вход АЦП с номинальным напряжением 5 В подать напряжение 1 В„ то на цифровом выходе появится число, соответствующее 1/5=0,2 разрешающей способности преобразователя. Так, если используется АЦП с разрешением 8 бит, то максимальное возможное значение на его выходе 2 - 1 = 255. Таким образом, напряжению 1 В на аналоговом входе соответствует 0,2 - 255 = 51 на цифровом выходе.

Встроенные АЦП микроконтроллеров AVR и PIC имеют разрешение 10 бит и позволяют считывать напряжение на одном из восьми (в некоторых моделях – пяти) аналоговых входов (обычно – порт А).

В микроконтроллерах AVR для управления режимом АЦП используются два регистра: регистр управления ADCSR (рис. 8.1) и регистр мультиплексирования ADMUX (определяет, какие из восьми входов порта А являются аналоговыми).

7

6

5

4

3

2

1

0

ADEN

ADSC

ADFR

ADIF

ADIE

ADPS2

ADPS1

ADPS0

Рис. 8.1. Регистр ADCSR микроконтроллеров AVR

Назначение разрядов регистра ADCSR:

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

  • ADIE – разряд маскирования прерывания от АЦП (1 – по окончанию преобразования разрешено прерывание);

  • ADIF – флаг прерывания от АЦП (устанавливается аппаратно по окончанию цикла преобразования);

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

  • ADSC – флаг начала преобразования;

  • ADEN – флаг разрешения использования АЦП.

Таблица 8.1. Выбор коэффициента деления частоты системной синхронизации для тактирования АЦП микроконтроллеров AVR

ADPS2

ADPS1

ADPS0

Коэффициент деления

0

0

0

1

0

0

1

2

0

1

0

4

0

1

1

8

1

0

0

16

1

0

1

32

1

1

0

64

1

1

1

128

Таким образом, в общем случае процесс аналого-цифрового преобразования в микроконтроллерах AVR протекает следующим образом:

  • установить в лог. 1 разряды регистра ADMUX, соответствующие аналоговым входам;

  • установить разряды 0-2 регистра ADCSR для выбора коэффициента деления частоты системной синхронизации;

  • установить в лог. 1 разряд ADIE для разрешения режима прерывания;

  • установить в лог. 1 разряд ADEN, чтобы разрешить использование АЦП;

  • установить в лог. 1 разряд ADSC, чтобы начать преобразование;

  • результат преобразования сохраняется в регистровой паре ADCL, ADCH;

В микроконтроллерах PIC для управления работой встроенного АЦП также используются два регистра: ADCON0 (рис. 8.2) и ADCON1 (рис. 8.3).

7

6

5

4

3

2

1

0

ADCS1

ADCS0

CHS2

CHS1

CHS0

GO/DONE

ADIF

ADON

Рис. 8.2. Регистр ADCON0 микроконтроллеров PIC

Назначение разрядов регистра ADCON0:

  • ADON – флаг разрешения использования АЦП;

  • ADIF – разряд запроса на прерывание по окончанию преобразования;

  • GO/DONE – установка этого разряда в лог. 1 активизирует АЦП; по окончанию преобразования автоматически сбрасывается в лог. 0;

  • CHS0-CHS2 – выбор аналогового входа порта А (назначение этих разрядов зависит от типа микроконтроллера);

  • ADCS0-ADCS1 – выбор рабочей частоты АЦП (табл. 1.24).

Таблица 8.2. Выбор рабочей частоты АЦП микроконтроллеров PIC

ADCS1

ADCS0

Частота

0

0

Частота системной синхронизации / 2

0

1

Частота системной синхронизации / 8

1

0

Частота системной синхронизации / 32

1

1

Тактирование от встроенного RC-осциллятора АЦП (250 кГц)

Максимальная допустимая рабочая частота АЦП микроконтроллеров PIC – 625 кГц. Это следует учитывать при выборе коэффициента деления частоты системной синхронизации.

Использование внутреннего RC-осциллятора АЦП не рекомендуется для микроконтроллеров с частотой системной синхронизации выше 1 МГц.

7

6

5

4

3

2

1

0

ADFM

PCFG3

PCFG2

PCFG1

PCFG0

Рис. 8.3. Регистр ADC0N1 микроконтроллеров PIC

Назначение разрядов регистра ADCON1;

  • PCFG0-PCFG3 – разряды конфигурации – определяют, какие выводы порта АЦП являются аналоговыми входами, а какие используются для подачи опорных напряжений Vref+ и Vref–; наиболее распространенная конфигурация: 0000, которая определяет все 8 выводов аналоговыми входами, а в качестве опорных напряжений – напряжения VDD и Vss; другие значения разрядов PCFG0-PCFG3 варьируются в зависимости от типа микроконтроллера;

  • ADFM – выбор разрешения преобразования: 1 – 10 бит; 0 – 8 бит.

Результат преобразования сохраняется в регистровой паре ADRESL, ADRESH, причем в регистре ADRESH используются только младшие два разряда в случае преобразования с разрешением 10 бит.

Таким образом, в общем случае процесс аналого-цифрового преобразования в микроконтроллерах PIC протекает следующим образом:

  • определить с помощью разрядов регистра ADCON1 конфигурацию преобразования;

  • установить разряды 6-7 регистра ADCON0 для выбора рабочей частоты АЦП;

  • установить разряды 3-5 регистра ADCON0 для выбора аналогового канала;

  • установить в лог. 1 разряды ADON и GO регистра ADCON0, чтобы начать преобразование;

  • дождаться окончания преобразования (лог. 0 в разряде DONE регистра ADCON0) и считать результат из регистровой пары ADRESLL, ADRESH.

    1. Встроенный аналоговый компаратор

В ряде моделей микроконтроллеров AVR и PIC используется встроенный аналоговый компаратор напряжения, сравнивающий входное напряжение на двух входах. Как только напряжение на неинвентирующем входе станет больше, чем на инвентирующем, на выходе компаратора устанавливается лог. 1. Часто аналоговый компаратор используют для сравнения некоторого входного напряжения с опорным (рис. 8.4).

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

Характеристики

Тип файла
Документ
Размер
6,99 Mb
Тип материала
Учебное заведение
Неизвестно

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6508
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее