Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Алгоритмы программного обслуживания контроллера SCI






 

Три относительно независимых последовательности действий должна выполнить прикладная программы в процессе использования контроллера асинхронного обмена SCI:

• Инициализацию приемника и передатчика контроллера;

• Управление процессом передачи информации;

• Управление процессом приема информации.

Обобщенные блок-схемы алгоритмов управления программно-доступными ресурсами контроллера SCI для каждого из перечисленных действий приведены на рис. 4.69.

 

Рис. 4.69. Блок-схемы алгоритмов программного обслуживания контроллера асинхронного обмена SCI

 

Инициализация контроллера SCI. Инициализацию контроллера SCI рекомендуется проводить в следующем порядке:

• Установить скорость обмена;

• Выбрать формат кадра обмена: 8 или 9 бит данных;

• Назначить параметры приема и передачи в регистрах управления SCxCR1 и SCxCR2;

• Очистить флаг TDRE. Для этого сначала считать регистр состояния SCxSR1, а затем выполнить операцию записи в регистр данных SCxRD.

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

Управление процессом передачи информации. Для того чтобы передать один байт информации с использованием передатчика контроллера SCI, следует сначала проверить состояние флага TDRE. Если этот флаг установлен в 1, то регистр данных передатчика пуст, и в него может быть записан новый байт для передачи. Далее данные загружаются в один регистр данных SCxDRL, если обмен происходит в 8-разрядном формате, или в два регистра данных SCxDRH: SCxDRL, если обмен производится в 9-разрядном формате. Коды из регистра данных загружаются в сдвиговый регистр передатчика автоматически, после чего начинается собственно процесс передачи. О завершении передачи информирует бит TC, который установится в 1, когда все разряды регистра сдвига будут последовательно выданы на выход TxD. Флаги TDRE и TC могут генерировать запросы на прерывания, если соответствующие биты разрешения прерывания установлены.

Управление процессом приема информации. При приеме информации с использованием приемника контроллера SCI, следует постоянно контролировать состояние флага RDRF. Этот флаг устанавливается в 1, когда прием очередного байта закончен, и принятые данные доступны в регистре данных приемника. Бит может генерировать запрос на прерывание, при условии, что эти прерывания разрешены. Обнаружив в процессе мониторинга флага RDRF или прервавшись по его запросу, МК должен считать данные из регистров SCxDRH: SCxDRL.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.