Разработка программного обеспечения для микроконтроллера

Таблица 5.2 - Направление выводов в режимах ведущего и ведомого

Вывод

Направление в режиме ведущего

Направление в режиме ведомого

MOSI

Определяется пользователем

Вход

MISO

Вход

Определяется пользователем

SCK

Определяется пользователем

Вход

SS

Определяется пользователем

Вход

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

Скорость передачи информации по RS-232 измеряется в Бодах. Эта единица названа в честь Эмиля Бодо (Jean Maurice-Emile Baudot) (1845-1903), французского инженера по телеграфии, изобретателя первого печатающего устройства для телеграфа (телепринтера) , представленного на Международной Телеграфной конференции в 1927. Максимальная скорость согласно стандарту 20000 Бод. Однако современное оборудование может работать значительно быстрее. Не имеет значения, на сколько быстрое (медленное) ваше соединение - максимальное число чтения за секунду можно установить с помощью используемого программного обеспечения.

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

Для обеспечения контроля четности компьютер и устройство должны одинаково производить подсчет бита четности. То есть, определиться устанавливать бит при четном (even) или нечетном (odd) числе единиц. При контроле на четность биты данных и бит четности всегда должны содержать четное число единиц. В противоположном случае соответствует для контроля на нечетность.

Проверка на четность - это простейший способ обнаружения ошибок. Он может определить возникновение ошибок в одном бите, но при наличии ошибок в двух битах уже не заметит ошибок. Также такой контроль не отвечает на вопрос какой бит ошибочный. Другой механизм проверки включает в себя Старт и Стоп биты, циклические проверки на избыточность, которые часто применяются в соединениях Modbus.

В программе необходимо обрабатывать данные, поступающие от интерфейса RS232 и интерфейса CAN-bus.

Сначала необходимо проинициализировать микроконтроллер, для чего используются функция void usart_init(void) - инициализация USART. Так же необходима инициализация внутренних регистров микроконтроллера. USART проинициализируем таким образом: скорость передачи 9600 бод, данные передаются по 8 бит, бит паритета отсутствует, 1 стоповый бит.

Для приема/передачи данных через USART будут использоваться функции get_usart() и put_usart(), которые предназначены для посимвольного обмена данными.

После того, как принят информационный пакет из линии RS232, он анализируется на наличие ошибок (функция анализа ErrorAnalys()). Если все в порядке, то после конвертации информационного пакета происходит его передача в линии CAN-bus через SPI (функция передачи spi_transmit()). После этого происходит передача ответного информационного пакета из линии CAN-bus (ответный информационный пакет spi_receive()). После конвертации ответного информационного пакета происходит передача его в линии RS232.

Перейти на страницу: 1 2 3 4

Другое по теме:

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

Устройства приема и обработки сигналов
В качестве возможного прототипа рассмотрим схемы, выполненные на микросхеме К174ХА2, предназначенной для использования в радиоприемниках с АМ [4], в частности, схема приемника, обеспечивающая чувствительность 3-5 мкВ (выше за ...

©  www.techvarious.ru - 2020