МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Motorola MC68HC705C8

    статуса, в котором находится соответствующий флаг прерывания, во втором

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

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

    источник прерывания, и в пятом столбце приведен адрес по которому хранится

    вектор прерывания. Важно отметить, что бит маски прерываний (бит I в

    регистре признаков) будет сброшен только в том случае, если соответствующий

    бит в стеке хранит 0.

    Рассмотрим подробнее каждый тип прерывания.

    Программное прерывание является результатом выполнения команды SWI

    (SoftWare Interrupt). Оно возникает вне зависимости от состояния бита I.

    Вектор прерывания содержится в ячейках памяти с адресами 1FFCH и 1FFDH.

    Внешнее прерывание происходит если бит маски прерываний (бит I) сброшен

    и на внешний вывод IRQ/ поступает сигнал активного уровня (режим

    срабатывания задается записью в бит IRQ регистра конфигурации, см. п. 1.3).

    Затем текущее состояние процессора запоминается в стеке, и бит I

    устанавливается в 1 для маскирования всех прерываний до тех пор, пока

    обслуживается внешнее.

    Прерывание от таймера может быть вызвано тремя флагами, как уже

    упоминалось ранее. Эти три флага расположены в регистре статуса таймера, и

    имеют один и тот же вектор (см. таблицу 2-2). Каждый флаг имеет

    соответствующий управляющий бит (ICIE, OCIE и TOIE) в регистре управления

    таймером. Установка этих битов разрешает соответствующее прерывание, сброс-

    запрещает. Подробнее назначение каждого флага описано в главе 2.3 "Таймер".

    [pic]

    Рис. 2-4 Процесс обработки прерывания

    Прерывание от последовательного интерфейса связи происходит в том

    случае, если один из пяти флагов (TDRE, TC, RDRF, IDLE, OR) в регистре

    статуса интерфейса связи установлен, бит I в регистре признаков сброшен и

    управляющий бит во втором управляющем регистре установлен. При обслуживании

    прерывания приоритет обработки задается программно через проверку флагов в

    регистре статуса. Подробнее о регистрах интерфейса связи рассказывается в

    главе 2.4 "Последовательный интерфейс".

    Прерывание от последовательного периферийного интерфейса происходит при

    тех же условиях (установлен один из двух флагов в регистре статуса

    периферийного интерфейса (SPIF или MODF), бит I сброшен, и управляющий бит

    в управляющем регистре установлен). Подробнее о периферийном интерфейсе

    рассказывается в главе 2.4 "Последовательный интерфейс".

    Функциональная схема обработки внешних прерываний приведена на рис. 2-

    5. Внешнее прерывание может определяться либо фронтом сигнала, либо его

    фронтом и уровнем. Задается это программно через регистр конфигурации (см.

    гл. 1.3). Если прерывание определяется фронтом сигнала, то следующее

    прерывание не должно возникать до тех пор, пока не будет обработано первое,

    т. е. пока не будет выполнена команда возврата из прерывания (RTI). Время

    между двумя прерываниями должно быть минимум на 21 машинный цикл больше,

    чем время обработки прерывания (не включая команду RTI). При определении

    прерывания по уровню сигнала, следующее прерывание будет определяться в том

    случае, если после обработки первого прерывания на выводе IRQ/ будет

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

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

    Оба режима реакции на внешнее прерывание наглядно демонстрируются на рис. 2-

    6 и 2-7, соответственно.

    Таблица 2-2. Векторы прерываний.

    |Регистр |Имя флага |Причина |Прерывание |Адрес вектора|

    | | |прерывания |ЦПУ | |

    | | |RESET |RESET |1FFE-1FFF |

    | | |Программное |SWI |1FFC-1FFD |

    | | |Внешнее |IRQ |1FFA-1FFB |

    |Регистр |ICF |Входная | | |

    |статуса | |фиксация | | |

    |таймера |OFC |Выходное |TIMER |1FF8- |

    | | |сравнение | |1FF9 |

    | |TOF |Переполнение | | |

    |Регистр |TDRE |Буфер | | |

    |статуса | |передачи пуст| | |

    |интерфейса |TC | | | |

    |связи | |Передача | | |

    | |RDRF |завершена | | |

    | | |Полон буфер |SCI |1FF6-1FF7 |

    | |IDLE |приема | | |

    | | |Обнаружена | | |

    | | |свободная | | |

    | |OR |линия | | |

    | | |Переполнение | | |

    |Регистр |SPIF |Передача | | |

    |статуса | |завершена | | |

    |периферий-ног|MODF |Режим |SPI |1FF4-1FF5 |

    |о интерфейса | |ошибочен | | |

    [pic]

    Рис. 2-5 Функциональная схема обработки внешнего прерывания.

    [pic]

    Рис. 2-6 Диаграмма, иллюстрирующая первый режим обнаружения внешнего

    прерывания.

    [pic]

    Рис. 2-7 Диаграмма, иллюстрирующая второй режим обнаружения внешнего

    прерывания.

    2.3 Таймер и связанные с ним устройства.

    Блок таймера МС68НС705С8 имеет следующие характеристики:

    16-битный программируемый счетчик с предделителем тактовой частоты.

    Флаг переполнения таймера.

    16-битный регистр выходного сравнения.

    16-битный регистр входной фиксации.

    Три вида генерируемых прерываний.

    Основу таймера составляет 16-битный программируемый счетчик,

    синхронизируемый внутренней тактовой частотой, деленной на 4. Функция

    переполнения таймера позволяет расширить возможность измерения промежутков

    времени путем фиксации момента переполнения счетчика и установки

    соответствующего флага в регистре статуса. Функция входной фиксации может

    использоваться для автоматической записи времени определенного процесса,

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

    сравнения дает возможность реализовать генерацию сигналов различной

    частоты, формировать импульсы различной длительности, а так же задержки в

    программе и многое другое.

    Таймер позволяет формировать прерывания по переполнению как основного

    счетчика, так и 16-битного регистра входной фиксации и 16-битного регистра

    выходного сравнения.

    Блок-схема таймера представлена на рис. 2-8.

    Поскольку таймер имеет 16-битовую архитектуру, каждая его функция

    представлена двумя регистрами, содержащими старший и младший байт. К

    регистрам таймера относятся в первую очередь счетчик и альтернативный

    счетчик.

    [pic]

    Рис. 2-8 Блок-схема таймера.

    При начальной установке 16-битный счетчик таймера, расположенный по

    адресу 18Н-19Н, начинает работу со значения FFFCН. Далее значение счетчика

    увеличивается на единицу при поступлении синхроимпульса с предделителя

    частоты, дающего разрешение в 2 мкс при использовании кварца 4МГц. Когда

    значение счетчика достигает FFFFH, он сбрасывается в 0000H, устанавливая

    флаг переполнения. Значение счетчика дублируется в альтернативном

    счетчике, расположенном по адресу 1АН-1ВН. Единственное различие этих

    регистров состоит в том, что при чтении счетчика происходит сброс флага

    переполнения, а при обращении к альтернативному счетчику этого не

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

    любой момент, но не может быть записан. Если сначала читается старший байт

    счетчика (18Н), то младший байт запоминается в буфере. Это значение

    остается в буфере неизменным даже если старший байт читается несколько раз.

    Доступ к буферу осуществляется при чтении младшего байта счетчика. Если же

    считывать несколько раз только содержимое младшего байта счетчика, то

    каждый раз при этом будут считываться разные значения, соответствующие

    моменту считывания.

    Регистр входной фиксации (Input Capture Register) расположен по адресу

    14Н-15Н и предназначен только для чтения из него времени обнаружения на

    выводе TCAD сигнала. Уровень сигнала, вызывающего фиксацию времени,

    задается программно через бит IEDG управляющего регистра. RESET не

    оказывает влияния на содержимое регистра входной фиксации. Значение в

    регистре ICR при фиксации будет на единицу больше значения счетчика в

    момент фиксации. Эта задержка необходима для внутренней синхронизации.

    Таким образом, счетчик и регистр входной фиксации имеют одинаковое

    разрешение, равное четырем циклам внутренней синхронизации.

    При обнаружении сигнала на выводе ТСАP содержимое счетчика фиксируется

    в ICR вне зависимости от состояния флага ICF (см. регистр статуса). Поэтому

    ICR всегда содержит время последней фиксации.

    При чтении старшего байта регистра входной фиксации (14Н) фиксация

    следующего значения запрещается до тех пор, пока не будет прочитан младший

    байт. Чтение же младшего байта не влияет на возможность очередной входной

    фиксации.

    Регистр выходного сравнения (Output Compare Register) расположен по

    адресу 16Н-17Н и используется для программирования какого-либо действия в

    определенное время (т. е. когда счетчик достигнет определенного значения).

    Все биты регистра могут быть прочитаны и записаны в любой момент времени, и

    не изменяют свое состояние при RESET. Если в функции выходного сравнения

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

    Значение в регистре выходного сравнения сравнивается со счетчиком каждые 4

    цикла. Когда значения совпадают, устанавливается флаг (OCF) и уровень бита

    OLVL (см. регистр статуса таймера) передается на вывод ТСМР. Так же может

    происходить прерывание, если установлен бит OCIE. Содержимое регистра

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

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

    в старший байт ОСR (16Н) сравнение не будет производиться до тех пор, пока

    не будет записан младший байт. При записи же сначала в младший байт,

    функция сравнения будет активирована. Таким образом, пользователь должен

    записать оба байта OCR, если сначала записывается старший.

    Управляющий регистр (TCR), находящийся по адресу 12Н, содержит 5

    управляющих битов. Каждому из трех бит управления прерываниями

    соответствует флаг статуса таймера ICF, OCF и TOF.

    Управляющий регистр таймера

    |Название |ICIE |OCIE |TOIE |0 |0 |0 |IEDG |OLVL |

    |Установка |0 |0 |0 |0 |0 |0 |- |0 |

    |после RESET | | | | | | | | |

    ICIE - бит запрета/разрешения прерывания при входной фиксации,

    при ICIE=1-прерывание разрешено,

    при ICIE=0-прерывание запрещено,

    OCIE - бит запрета/разрешения прерывания при выходном сравнении,

    при ОCIE=1-прерывание разрешено,

    при OCIE=0-прерывание запрещено,

    TOIE - бит запрета/разрешения прерывания при переполнении таймера,

    при TOIE=1-прерывание разрешено,

    при TOIE=0-прерывание запрещено,

    IEDG - бит определяет, что будет инициировать фиксацию счетчика в

    регистре входной фиксации - фронт или спад импульса на TCAP.

    при IEDG=1-фронт,

    при IEDG=0-спад

    RESET не оказывает влияния на этот бит.

    OLVL - бит определяет, какой уровень будет устанавливаться на TCMP

    при выходном сравнении.

    при OLVL=1-высокий уровень,

    при OLVL=0-изкий уровень.

    Регистр статуса таймера находится по адресу 13Н, предназначен только

    для чтения и содержит три флага, каждый из которых относится к

    определенному прерыванию.

    Регистр статуса

    |Назначение |ICF |OCF |TOF |0 |0 |0 |0 |0 |

    |Установка |U |U |U |0 |0 |0 |0 |0 |

    |после RESET | | | | | | | | |

    ICF-флаг входной фиксации,

    ICF=1 - флаг устанавливается, когда входной сигнал соответствующей

    полярности зафиксирован,

    ICF=0 - флаг сбрасывается при чтении младшего байта входного

    регистра фиксации (15Н), после чтения TSR, пока

    установлен ICR.

    OCF-флаг выходного сравнения,

    OCF=1 - флаг устанавливается, когда значение в регистре выходного

    сравнения совпадает со значением в счетчике.

    OCF=0 - флаг сбрасывается при записи в младший байт (17Н)

    регистра выходного сравнения, после чтения TSR пока

    установлен ОCF.

    TOF-флаг переполнения таймера,

    TOF=1 - флаг устанавливается при переключении счетчика со значения

    FFFFH на 0000H.

    TOF=0 - флаг сбрасывается при чтении младшего байта (19Н) счетчика

    после чтения TSR пока установлен TOF.

    Для того, чтобы сбросить бит статуса, необходимо произвести две

    операции: во-первых, прочитать регистр статуса, во-вторых, прочитать

    регистр, соответствующий определенному биту статуса (например, для бита ICF

    это регистр ICR).

    При использовании функции переполнения таймера и обращениях к счетчику

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

    переполнения. Это может произойти в одном из двух случаев: либо регистр

    статуса был прочитан в тот момент, когда флаг TOF был установлен, либо

    младший бит счетчика был прочитан без цели воздействовать на флаг

    переполнения. Эти возможности необходимо отслеживать при написании

    программ.

    Работа таймера в режимах STOP и WAIT описана в разделе 3.2.

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

    Порт D представляет собой 7-и битный (канал D6 не используется)

    однонаправленный порт (только для ввода данных, если он используется как

    порт общего назначения для параллельного обмена). Когда активизированы

    системы последовательного интерфейса связи (Serial Communication

    Interface), либо последовательного периферийного интерфейса (Serial

    Periferal Interface), управление портом D переходит к ним. Во время

    начальной установки порт D конфигурируется на ввод информации, поскольку

    последовательные интерфейсы блокированы.

    Последовательный периферийный интерфейс использует 4 вывода порта D

    (MISO и MOSI-ввод-вывод информации, SCK-системная синхронизация, SS-

    ведущий/ведомый). Последовательный интерфейс связи использует 2 вывода (RDI-

    прием данных, TDO-передача).

    Рассмотрим подробнее последовательный интерфейс связи. Полно-дуплексный

    асинхронный последовательный интерфейс связи работает в стандартном NRZ

    формате с широким выбором скорости приема/передачи информации. Передатчик и

    приемник функционально независимы, но используют одинаковый формат данных и

    скорость работы.

    Общие особенности интерфейса:

    стандартный NRZ формат;

    усовершенствованная система выявления ошибок, включающая фильтрацию

    помех с длительностью до 1/16 времени передачи 1 бита;

    полно-дуплексное функционирование (одновременный прием и передача);

    программирование на одну из 32 возможных скоростей обмена;

    программно-изменяемая длина слова (8 либо 9 бит в слове);

    отдельно расположенные биты управления приемом и передачей;

    возможность управления по прерыванию;

    различных условия возникновения прерывания;

    Особенности приемника:

    наличие функции активации передатчика (свободная линия или разряд

    адреса);

    обнаружение свободной линии;

    обнаружение ошибок кадрирования (см. ниже);

    выявление шумов;

    обнаружение переполнения;

    флаг контроля за полнотой регистра данных;

    Особенности передатчика:

    флаг контроля за пустотой регистра данных;

    флаг завершения передачи;

    прерывание посылки;

    Структура интерфейса представлена на рис. 2-9.

    Пользователь имеет возможность задать режим работы интерфейса через

    первый управляющий регистр (SCCR1). Второй управляющий регистр (SCCR2)

    содержит биты контроля за приемом/передачей, разрешением/запретом

    прерываний и другие. Рассмотри работу SCI в различных режимах.

    Передача данных начинается с записи в регистр передачи данных

    (SCDAT),который физически расположен в одной и той же ячейке памяти с

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

    данные передаются в сдвиговый регистр. Эта передача данных устанавливает

    бит TDRE (пуст регистр передачи данных) в регистре SCSR и генерирует

    прерывание, если прерывания разрешены. Передача данных в сдвиговый регистр

    синхронизируется по внутреннему генератору скорости. Данные передаются

    младшим битом вперед.. При завершении передачи данных, бит TC

    устанавливается и генерируется прерывание. Если передатчик блокирован, и

    Страницы: 1, 2, 3, 4, 5, 6, 7


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.