Если РС -мастер, то нет проблем, одновибратор с перезапуском на 1 -2 бита.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
BlackJack
01 июня 2004 г. 11:25
В ответ на:
У меня возникла проблема с преобразованием интерфейса RS232 в RS485. На com вешаем max232, а после него sn75176(max485). На другом конце линии висит МК, также через sn75176. Как переключать направление передачи с сом-порта(RST, DTR - исп-ую для питания). Можно на Txd повесить одновибратор и в течении передачи байта открывать линию на передачу. Какова длительность импульса(9600 без четности). Как можно эту проблему еще решить. Спасибо за дельные советы.
отправлено _vladimir 01 июня 2004 г. 11:18
Составить ответ
|||
Конференция
|||
Архив
Ответы
Допустим, что комп послал мисагу, на что МК должен ответить. Выходит, что для принятия сообщения драйвер на сом-е должен находиться в принимающем состоянии, но он то не знает, когда МК решит передать сообщение.
—
_vladimir
(01.06.2004 11:38,
пустое
)
Как это не знает?
—
Vladimir Ljaschko
(01.06.2004 13:26,
пустое
)
Дык там буферировано все. поэтому задержки все должны быть рассчитаны, а буферы - чиститься от эхо и др. мусора.
—
BlackJack
(01.06.2004 11:42,
пустое
)
При скороти 9600 бод (без четности) какова длина импульса - >= 1/9600 ?
—
_vladimir
(01.06.2004 11:47,
пустое
)
1/9600 - длина одного бита.
—
-=ВН=-
(01.06.2004 11:51,
пустое
)
Стоп. Чтото парни вы меня совсем запутали, один говорит, что 1/9600 - длина бита, а другой, что - длина байта
—
_vladimir
(01.06.2004 11:55,
пустое
)
Бод - бит в секунду. Что тут непонятного?
—
-=ВН=-
(01.06.2004 12:05,
пустое
)
бод !=бит в секунду
—
однако!
(01.06.2004 13:13,
пустое
)
Да ладно... Речь шла о ком-порте, uart, то есть. В приложении к нему оно и есть бит в секунду. Стартовый бит - это такой же бит и т.д.
—
-=ВН=-
(01.06.2004 16:29,
пустое
)
ты это буржуям расскажи - у них все в baud-ах измеряется
—
bialix
(01.06.2004 13:39,
пустое
)
Бод - это частота изменения сигнала в линии. Если "бит" имеется в виду "информационный бит", то да бод != информационному биту в секунду.
—
rezident
(01.06.2004 16:15,
пустое
)
интересно. всегда считал, что бод - это собственно скорость передачи полезной информации, информационных битов в вашей терминологии
—
bialix
(01.06.2004 16:41, 221 байт)
Не-а. Как тут уже предлагали, встаньте осцилом в линию и посмотрите сами :)
—
rezident
(01.06.2004 17:29,
пустое
)
Модем может передавать со скоростью до 56кбит/сек (kbps), а в телефонной линии сигнал все равно не выше 2400 бод (baud). О том же и толмач говорит =>
—
rezident
(01.06.2004 17:36,
пустое
,
ссылка
)
толмач как раз и говорит о том, что боды - это как часто изменяется звук в тлф. линии - дословно перевожу. Т.е. отношение к собственно биту тут очень слабое
—
bialix
(01.06.2004 18:13, 288 байт)
Вот даже как, с УАРТ значит 9600 bps=4800 baud? Интересно, а как Вы дословно переведете нижеследующее
—
-=ВН=-
(01.06.2004 19:04, 478 байт)
Ответ: я вам уже ответил. Изначально baud это частота сигнала в телефонной линии. Остальное см. ниже и выше.
—
rezident
(02.06.2004 04:46,
пустое
)
И что я должен смотреть ниже и выше?
—
-=ВН=-
(02.06.2004 11:16, 1258 байт)
А я и не утверждал, что для COMа 9600 bps = 4800 baud. Действительно спор дурацкий :)
—
rezident
(02.06.2004 13:50,
пустое
)
Так я ведь не Вам и адресовал свой вопрос с цитатой:-) Эх, обет нарушил, но это точно последнее :-)
—
-=ВН=-
(02.06.2004 14:01,
пустое
)
Исторически baud - это звуковая частота в телефонной линии. Биты в секунду bps равнялись baud до тех пор, пока модемы не перешагнули скорость передачи 2400 бит/сек. Первый шаг был когда ввели фазовую модуляцию и скорость передачи увеличилась до 9600 bps (бит/сек).
—
rezident
(01.06.2004 17:44,
пустое
)
Это ты сам себя запутал. Осцила нет штоли? тогда калькулятор возьми. 8 бит +старт+стоп =10бит. скорость 9600 бит/сек. итого 1 байт -за 1 мс.
—
BlackJack
(01.06.2004 12:01,
пустое
)
ну да так и считал(см. ниже). Выходит 1-2 бита - 'мертвая зона' передачи для МК
—
_vladimir
(01.06.2004 12:07,
пустое
)
RS485 и так предполагает преамбулу, когда передатчик включается на время нескольких БАЙТ, но дата не передается. Поэтому возможна ситуация, когда 1-2 бита времени включены два передатчика. Ну и плевать на это, ничего страшного
—
BlackJack
(01.06.2004 12:13,
пустое
)
Ничего подобного RS485 не предполагает
—
prosto_Alex
(01.06.2004 13:22,
пустое
)
Ну и плюс запас 1-2 бита на всякие дрейфы.
—
BlackJack
(01.06.2004 12:02,
пустое
)
Опять провтыкал, это 1/9600 - длина бита
—
_vladimir
(01.06.2004 11:59,
пустое
)
Ответ: PC - master кинул сообщение slave-у и ждет от него ответа. Почему на 1-2 бита, а не на длину всего байта?
—
_vladimir
(01.06.2004 11:32,
пустое
)
Потому что каждый бит (не нулевой) перезапускает одновибратор.
—
BlackJack
(01.06.2004 11:40, 85 байт)
Ответ: почему на милисекунду??? Чтото я торможу :)
—
_vladimir
(01.06.2004 11:50,
пустое
)
А каждый бит - тогда понятно, но как будет реагировать сом порт, если мы будем переключать направление каждым ненулевым битом(спадом)
—
_vladimir
(01.06.2004 11:52,
пустое
)
Не ПЕРЕключать а повторно Включать. одновибратор с ПЕРезапуском. Кронштейн?
—
BlackJack
(01.06.2004 12:03,
пустое
)
Ну да перезапускать. Да, а какой смысл на каждый бит(если он нулевой) открывать линию Rxd компа, если в нее может мусора нападать. Лучше ли будет на весь байт импульс?
—
_vladimir
(01.06.2004 12:13,
пустое
)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru