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

Драйвер контроллера UARTa 2-го уровня

Читайте также:
  1. II. Контроль исходного уровня знаний студентов
  2. II. Контроль исходного уровня знаний студентов
  3. VI. Гигиенические требования к уровням шума, вибрации, ультразвука и инфразвука, электромагнитных полей и излучений, ионизирующего излучения
  4. А: Задания базового уровня сложности с выбором ответа
  5. А:задания базового уровня сложности с выбором ответа.
  6. Анализ уровня профессиональной адаптации сотрудников в организации
  7. Анализ уровня товарности и рентабельности производства зерна

Осуществляет обработку данных буфера чтения данных i-го UARTa и буфера записи данных i-го UARTa.

Для этого он должен:

· распознавать информационные пакеты из данных, которые он считывает с буфера чтения данных;

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

При приеме данных с буфера чтения данных i-го UARTa драйвер из принятого массива байт выделяет логическую структуру пакета.

Структура информационного пакета состоит из заголовка сообщения и информационной части, рис.1.8.5.

Рис.1.8.5. Структура информационного пакета

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

id1, id2 определяют начало заголовка сообщения из потока входной информации. Данные значения фиксированы для всех сообщений. Например, id1 = 0xa0; id2 = 0x0a. id3 определяет правила интерпретации данных сообщения. Например, id3 = 0xaf, информационная часть содержит данные считанные с АЦП. Len – длина инфомационной части сообщения в байтах.

cid – вспомогательная переменная указывает на область памяти, которая хранит информационную часть сообщения. Через данные областями памяти осуществляется взаимодействие драйвера UARTa 1-го уровня другими с задачами.

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

При записи данных в i-й UART драйвер 2-го уровня считывает информационную часть сообщения с определенной области памяти, на которую указывает переменная cid, формирует информационный пакет, и записывает его в буфер записи данных i-го UARTa.

Драйвер UARTa 2-го запускается с периодом . Для правильного взаимодействия драйверов 1-го и 2-го уровней необходимо, чтобы , т.е. драйвер UARTa 1-го уровня должен работать чаще драйвера 2- го уровня.


Дата добавления: 2015-12-08; просмотров: 62 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.005 сек.)