Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру
Глава 3. Периферийные устройства и прерывания 53 сигнала: от ±3 до ± 1 2 или даже ± 1 5 вольт (отрицательный уровень напряжения - логическая единица, положительный - логический ноль). Отрицательная логика удобна для передачи по линиям «с открытым коллектором», а разнополярные уровни с достаточно высоким, по современным представлениям, напряжением до бавляют помехоустойчивости. Обычный RS-232, соответствующий всем требова ниям стандарта в части электрических соединителей, способен без сбоев работать на расстояниях до 1 50 метров при скорости 9600 бит/с и почти до километра - на скорости 2400. С увеличением скорости расстояние безошибочной передачи резко падает: при 1 9 200 бит/с - это уже только 1 5 метров, потому и принято использо вать величину 9600, как наиболее удобную со всех точек зрения . ПОДРОБНОС ТИ На практике для UART единицу скорости обмена принято именовать бод (Ьаиd - по имени французского телеграф1.:1ста Эмиля Бодо) . В случае UART и RS-232 эта едини ца совпадает с числом передаваемых битов в секунду (включая в расчет все переда ваемые биты , в том числе служебные: стартовый и стоповый) . Но в общем случае это не так - боды означают число переданных «символов» (посылок) в секунду, каждый из которых в случае модемов может нести от 1 до 1 6 битов. Чтобы не заплутать в этих терминологических дебрях, автор предпочитает использовать менее подверженный разночтениям термин бит в секунду (бит/с, bps) . При вычислении информационной скорости , измеряемой в байтах в секунду (Bps) , нужно учитывать , что байт здесь как бы увеличился на два служебных бита , потому битовую скорость надо делить не на 8 , а на 1 0 , - 9600 бит/с эквивалентно величине 9600/1 0 = 960 байт/с. Под названием UART (Universal Asynchronous Receiver-Transmitter, универсальный асинхронный приемопередатчик) скрывается основная часть любого устройства, поддерживающего RS-232, и не только его (недаром он «универсальный») - на пример, стандарты RS-485 и RS-422 также реализовываются через UART, посколь ку они отличаются от RS-232 только электрическими параметрами и допустимыми скоростями, а не общей логикой построения . Через UART также организуется связь внешних устройств с компьютерами по интерфейсу USB (как, например, это сдела но в Arduino) . RS-232 возник еще в первое десятилетие существования микросхем, в конце 1 960-х, и за полвека существования этот стандарт, как и его основа - UART, бьmи отпо лированы до мелочей . Поэтому сейчас это самый простой и надежный способ орга низации связи между устройствами на различных расстояниях - от обмена дан ными между контроллерами в пределах устройства до телеметрии на километровых расстояниях по радиоканалу. Его единственный крупный недостаток- то, что RS-232 в принципе предназначен только для связи «точка-точка» (т. е. двух уст ройств между собой), - можно преодолеть различными способами. Но стандартов на этот счет не существует, и этот факт, наряду с невысокой скоростью передачи, стал главной причиной замены в компьютерных устройствах СОМ-порта на USB, произошедшей еще в конце прошлого века (стандарт РС-99). Тем не менее и ныне при связи внешних устройств с компьютерами через USB в системе возникает виртуальный СОМ-порт, общение с которым в дальнейшем происходит по старинке, как будто в вашем ноутбуке установлен настоящий разъем DB-9 . Другую категорию представляют медиаустройства вроде USВ-накопителей,
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==