Перейти к содержанию
    

DTB,485,at91sam9g25

Помогите пожалуйста настроить DTB, чтобы управлять 485 интерфейсом для usart2 и назначить ножку PORTC, pin26 как RTS.Процессор at91sam9g25, ядро 3.6.9.Исходники (DTS) прикрепилdts_files.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Помогите пожалуйста настроить DTB, чтобы управлять 485 интерфейсом для usart2 и назначить ножку PORTC, pin26 как RTS.Процессор at91sam9g25, ядро 3.6.9.Исходники (DTS) прикрепилdts_files.zip

 

А какие пины в этом процессоре могут выступать в роли RTS для usart2?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А какие пины в этом процессоре могут выступать в роли RTS для usart2?

TXD2 PA7

RXD2 PA8

RTS2 PB0

CTS2 PB1

а нужно RTS сделать ножкой PC26 и чтобы после отправки пакета в течении 1 mSec rts переключился на приём. Я попытался управлять ножкой PC26 из уровня прикладной программы через драйвер gpio (/sys/class/gpio/export)? но RTS сигнал устанавливается медленно больше 2 mSec

Изменено пользователем worker1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Помогите пожалуйста настроить DTB, чтобы управлять 485 интерфейсом для usart2 и назначить ножку PORTC, pin26 как RTS.

Через device tree этого не сделать никак, остается ковырять драйвер. Но лучше бы задействовать для управления передатчиком ту ногу, которая для этого изначально предназначена.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

TXD2 PA7

RXD2 PA8

RTS2 PB0

CTS2 PB1

а нужно RTS сделать ножкой PC26 и чтобы после отправки пакета в течении 1 mSec rts переключился на приём. Я попытался управлять ножкой PC26 из уровня прикладной программы через драйвер gpio (/sys/class/gpio/export)? но RTS сигнал устанавливается медленно больше 2 mSec

 

Вы на неверном пути. Надо использовать аппаратную поддержку. В простых системах конечно можно програмно управлять этим сигналом практически без проблем. Учтите, что у вас будут значительные задержки как на выставление так и на снятие сигнала. Вы уверены, что устройство на другом конце не ошибется в интерпретации сигнала? Представьте, что буфер приемника заполнен и надо остановить передатчик, но пока вы измените сигнал, передатчик пришлет вам несколько байт. Имплементация в драйвере, конечно будет немного побыстрее, чем дергать пин из юзерспейса, но никто ничего не гарантирует. Будут ситуации, когда оно будет и медленнее. Результат будет неудовлетворительный.

Изменено пользователем Tarbal

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...