Не штатную
передачу данных из прибора (микроконтроллера) в ЭВМ можно осуществить с
помощью последовательного интерфейса RS-232, используя для этого всего
два провода и напряжение 0 : +5 [B]
Соединение в ЭВМ - второй и
седьмой контакт разъема последовательного порта.
Соединение в
микроконтроллере - корпус и сигнальный порт на выход.
Расстояние
передачи - не более 2 метров.
Более подробно о нумерации выводов
последовательного интерфейса RS-232 в ЭВМ можно узнать на этой
ссылке.
Скорость передачи данных по интерфейсу RS-232
выбирается в ЭВМ в настройках COM порта, и ограничена аппаратно.
К
примеру, стандартные, скорости передачи данных по последовательному
интерфейсу RS-232 110; 300; 1200; 2400; 4800; 9600; 19200; 38400; 57600;
115200 .[бит/сек.].
Мы выбираем 11 битный асинхронный протокол со скоростью 115200 бит в
секунду.
1 - старт бит
8 - информационных бит (1байт)
2 -
стоп бита.
Причем 8 информационных бит передаются по
последовательному порту младшим битом вперед и в отрицательной логике,
(низкий уровень сигнала соответствует логической 1, а высокий уровень
сигнала соответствует логическому 0).
К примеру, "передадим" по последовательному порту RS-232 в ЭВМ
сформированное в микроконтроллере число 10 . В двоичном коде, в
микроконтроллере, оно представлено вот так:
0 0 0 0 1 0 1 0
На рисунке представлен сигнал, который
передает число 10 из микроконтроллера в ЭВМ.
В первую очередь, чтобы сформировать сигнал для передачи из микроконтроллера в линию
связи требуется вычислить время передачи 1 бита.
T = 1/115200 = 8.68*10^-6 [c] - время, в течении которого микроконтроллер
должен выдавать 1 бит (длительность 1 бита).
Работа ЭВМ при принятии сигнала в буфер COM порта по интерфейсу RS - 232.
По приходу старт
бита в ЭВМ включается счетчик, скорость счета которого так же 8,68*10^-6
секунд за одно переключение. ЭВМ синхронизируется по старт-биту и отсчитывает 9
тактов. Измерение уровня принимаемого сигнала происходит по счетчику и
приходится на середину бита. Поэтому, небольшое несоответствие скоростей
передачи данных из микроконтроллера в ЭВМ оказывается незначительным.
Игорь
Мальцев.