Switch to English Домой Поиск Список участников Вопросы и ответы Зарегистрироваться Войти  
Windows Embedded CE
Re: RS 485 на Marvell PXA270

Автор темы: Solovyev Ivan   Начата: 07-22-2010 04:29    Ответов: 6
 Форум "Встраиваемые операционные системы Microsoft" >> Embedded OS >> Windows Embedded CE >> Re: RS 485 на Marvell PXA270
 Printable Version    << Предыдущая тема   Следующая тема >>
  Чт, 22 июл 2010, 04:29
Solovyev Ivan сейчас не в системе. Последяя активность: 17.08.2010 16:23:10 Solovyev Ivan

50 лучших
Присоединился 05-19-2010
сообщений 54
RS 485 на Marvell PXA270
Добрый день.
Вожусь все с той же платой на базе Marvell PXA 270. Если верить разработчикам BSP, реализованы драйвера для RS 485. Действительно, прием данных с компьютера идет успешно, но переслать что-нибудь с платы на компьютер не удается.
На сайте разработчиков нашел такую строчку:
"Для работы интерфейса RS-485 требуется программное управление сигналом BT_RTS для разрешения передачи."

В связи с этим возникает вопрос, возможно ли как-то в своей программе реализовать управление этим сигналом?
Использование структуры DCB не помогает, а при попытке писать в напрямую в регистры через XLLP_GPIO_T, программа вываливается с сообщением об ошибке (что, в общем то, тоже вполне объяснимо, так как вряд ли wince позволяет напрямую писать в регистры, равно как и другие ОС от microsoft).

На форуме производителя вопрос уже задал, но ответа от них не дождаться.Sad
Буду признателен за любую помощь.

  
  Чт, 22 июл 2010, 04:49
Pavel Belevsky сейчас не в системе. Последяя активность: 03.09.2010 8:18:30 Pavel Belevsky

10 лучших
Присоединился 09-10-2007
сообщений 1 675
Re: RS 485 на Marvell PXA270
Особенностью RS485, в отличие например от всем знакомого RS232, является работа в полудплексном режиме. Т.е. либо прием, либо передача. Скорее указанный сигнал для этого и нужен. Вам нужно найти сначала спецификацию на микросхему, которая реализует физический уровень. Затем понять какой вывод процессора управляет переключением работы микросхемы и написать драйвер режима ядра, который будет программировать данный вывод


Павел Белевский
Системный инженер
Кварта Технологии

  
  Пт, 23 июл 2010, 11:16
Solovyev Ivan сейчас не в системе. Последяя активность: 17.08.2010 16:23:10 Solovyev Ivan

50 лучших
Присоединился 05-19-2010
сообщений 54
Re: RS 485 на Marvell PXA270
Спасибо за совет. Буду разбираться.

  
  Пт, 23 июл 2010, 01:02
Solovyev Ivan сейчас не в системе. Последяя активность: 17.08.2010 16:23:10 Solovyev Ivan

50 лучших
Присоединился 05-19-2010
сообщений 54
Re: RS 485 на Marvell PXA270
Драйвер удалось добыть у разработчиков, так что проблема решилась.

  
  Пт, 06 авг 2010, 04:06
Solovyev Ivan сейчас не в системе. Последяя активность: 17.08.2010 16:23:10 Solovyev Ivan

50 лучших
Присоединился 05-19-2010
сообщений 54
Re: RS 485 на Marvell PXA270
Как оказалось, рано радоваться....
Проблема теперь в том, что задержка при переключении приема/передачи так велика, что я просто не успеваю принять ответный пакет. Сначала грешил на тот самый драйвер, полученный от разработчиков. В результате мне удалось доработать драйвер 485 интерфейса так, что переключения "руками" с помощью еще одного драйвера не требуется (на самом деле, просто нашел, куда впихнуть описанные, но ни где не используемые функции SL_ClearRTS () и SL_SetRTS () ). Надеялся, что это решит проблему, но не тут-то было....

В связи с этим возник вопрос по реализации драйверов...
Насколько я понял, PDD часть драйвера находится в папке platform/<имя bsp>/src/drivers/<имя драйвера>, а MDD часть - в platform/common/oak/drivers/

Если говорить про мой случай, то за MDD-часть отвечает COM_MDD2, а в качестве PDD-части используется ser16550.c и еще один файл, основное содержимое которого скопировано с ms2_serial.cpp (изначально он был в platform/mainstoneiii/src/drivers/serial).

Я пытаюсь вносить изменения именно в PDD-часть (в ser16550.c), но это не помогает избавиться от задержки...

Буду очень признателен за любую помощь!

P.S: Возможно я сформулировал свою проблему не достаточно понятно, но на данном этапе я затрудняюсь описать то, что происходит, более точноSad

  
  Пт, 06 авг 2010, 04:42
Shust сейчас не в системе. Последяя активность: 10.09.2010 15:29:59 Shust



10 лучших
Присоединился 11-05-2007
Moscow
сообщений 152
Re: RS 485 на Marvell PXA270
"Так велика" - это сколько?

А так - смотреть кто тормозит утилитой Kernel Tracker

  
  Пн, 09 авг 2010, 11:06
Solovyev Ivan сейчас не в системе. Последяя активность: 17.08.2010 16:23:10 Solovyev Ivan

50 лучших
Присоединился 05-19-2010
сообщений 54
Re: RS 485 на Marvell PXA270
"Так велика" - это порядка 50 мс, когда ответ приходит через 2-3 мс.
Kernel Tracker использовать не получится, ибо, насколько я понимаю, для этого нужен kitl, а образ с kitl у меня не грузится

  
 Страница 1 из 1 (Всего 7 записей)
Форум "Встраиваемые операционные системы Microsoft" >> Embedded OS >> Windows Embedded CE >> Re: RS 485 на Marvell PXA270

Вы можете добавлять вложения
Вы можете создавать новые темы
Вы можете отвечать на сообщения
Вы не можете удалять свои сообщения
Вы не можете править свои сообщения
Вы можете создавать опросы
Вы можете голосовать
Статистика форума включены
Форум не модерируется

Работает под управлением Community Server :: Forums