Рассмотрим параметры физического уровня протокола, которые определяют скорость обмена, метод кодирования информации и схему передачи[3].
В протоколе RS-232 принято двухуровневое кодирование сигнала. Все сигналы передаются специально выбранными уровнями, обеспечивающими высокую помехоустойчивость связи (рисунок 1). Отметим, что данные передаются в инверсном коде (логической единице соответствует низкий уровень, логическому нулю - высокий уровень).
Рисунок 1. Уровни сигналов RS-232
Такое кодирование позволяет достичь максимальной скорость передачи данных 115200 бит/с при длине соединительного провода 15 метров.
Формат передаваемых данных показан на рисунке 2. 5, 6, 7 или 8 бит данных сопровождаются стартовым битом, битом четности и одним или двумя стоповыми битами. Получив стартовый бит, приемник выбирает из линии биты данных через определенные интервалы времени.
Рисунок 2. Формат данных RS-232
Важно, чтобы тактовые частоты приемника и передатчика были одинаковыми, допустимое расхождение составляет не более 10%. Скорость передачи по RS-232C может выбираться из ряда: 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 бит/с[4].
Отметим, что подключение микроконтроллера к персональному компьютеру по протоколу RS-232 напрямую не возможно, так как сигнал передается уровнями -3..-15 В (логическая «1») и +3..+15 В (логический «0»). Для преобразования уровней RS-232 в стандартные логические уровни TTL обычно используют специальные микросхемы преобразователей. Схема одного из возможных конвертеров уровней представлена на рисунке 3.
Рисунок 3. Схема конвертера уровней RS-232-TTL
Основу предлагаемого конвертера составляет широко распространенная микросхема преобразователей уровней MAX232A фирмы Maxim, которая имеет множество аналогов других производителей (Analog Devices, LG и другие). Данная микросхема рассчитана на напряжение питания 5В и имеет встроенные удвоитель и инвертор напряжений на переключаемых конденсаторах для получения напряжения ±10 В, необходимых для работы с сигналами стандарта RS-232. Для работы микросхемы требуется 4 внешних конденсатора (C1, C2, C3, C4) емкостью 0.1 мкФ, которые используются в преобразователе напряжения.
Использование такого конвертера удобно не только для организации обмена информацией между персональным компьютером и готовым внешним устройством, но и на этапе отладки проектируемого модуля, что позволяет во многих случаях обойтись без внутрисхемного отладчика[5].
Схема разводки стандартного 9-ти штырькового разъема для подключения устройств через последовательный порт компьютера представлена на рисунке 4.
Рисунок 4. Схема разводки разъема
Назначение каждого из выводов сведено в таблице 1.
Таблица 1
Наименование
Направление
Описание
DCD
IN
Carrier Detect (Определение несущей)
RXD
IN
Receive Data (Принимаемые данные)
TXD
OUT
Transmit Data (Передаваемые данные)
DTR
OUT
Data Terminal Ready (Готовность терминала)
GND
--
System Ground (Корпус системы)
DSR
IN
Data Set Ready (Готовность данных)
RTS
OUT
Request to Send (Запрос на отправку)
CTS
IN
Clear to Send (Готовность приема)
RI
IN
Ring Indicator (Индикатор)
Несмотря на то, что стандарт связи RS-232 был разработан более 35 лет назад, его до сих пор с успехом применяют в устройствах автоматики, в компьютерной технике и других приложения. Учитывая это, многие производители современных микроконтроллеров в набор средств периферии своих продуктов включают универсальный асинхронно-синхронный приемопередатчик.