Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Обычно RTS

Отправлено vitalyn 25 января 2008 г. 10:27
В ответ на: Есть дивайс, работающий с RS485, по двум проводам компьютер запрашивает его , через отправлено aha 24 января 2008 г. 17:48

Есть довольно много плат с уже имеющимся RS485 на борту, есть куча внешних преобразователей RS232 <-> RS485. Все, что я знаю, переключаются RTS. Они различаются тем, слышат ли они линию в режиме передачи - обычно глохнут (т.е. сами себя не слышат).

Заморочка вот в чём состоит. Скажем, протокол MODBUS регламентирует время начала ответа слейвом спустя 3,5 символа (точнее, время передачи одного байта на текущей скорости) после конца передачи мастером. За это время мастер должен успеть переключить направление с передачи на приём. Проблема состоит в том, что обычный писюковый COM-порт не содержит аппаратного прерывания по концу передачи. Последнее прерывание, которое он генерит - это когда последний байт загружен в сдвиговый регистр и начал выдавливаться. Подразумевается, что тут программа должна сидеть и бит поллить, пока оба бита (есть чего-то в очереди на передачу и есть чего-то в сдвиговом регистре) не обнулятся. На скорости 9600 байт выдавливается почти миллисекунду - зачастую это непозволительно долго. Можно попытаться зарядить прерывание по таймеру, но тут другая засада - обычно свободных железячных таймеров нету, а когда реально получишь управление по срабатыванию софтового таймера - хрен его знает, тут нужна RTOS с гарантированным временем отклика - заведомо не больше чем, время, отведённое протоколом для переключения из режима передачи в приём.


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 123:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru