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

Микроконтроллер с периферией RS-485

А вот не надо было так делать. Потому как есть через mmap. И очень даже быстро. Та же WiringPi для "малинки" отлично работает через mmap.
Если ткнете носом в описания/примеры - буду весьма благодарен. Хотя, RS-485 extensions все равно в Raspbian не включены.

 

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


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

Прерывание или просто флаг FIFO empty + фиксированное время. Зачем знать последний бит? Скорость мы знаем. Может в каких-то моделях такого флага нет, за всё не ручаюсь.

Это у STM32 таймеров как грязи. Не у всех так. А у LPC их впритык.... Выделить на такое дело не всегда возможно.

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


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

Выделить на такое дело не всегда возможно

А что у LPC флаг TEMT , который говорит, что сдвиговый регистр пуст, а значит

передача закончена отменили?

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


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

А что у LPC флаг TEMT , который говорит, что сдвиговый регистр пуст, а значит

передача закончена отменили?

По данному флагу нет прерывания.

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


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

Назовите хоть один отечественный современный МК без UART.

И да, такая существует: http://ic.milandr.ru/products/interfeysnye...my/rs485-rs422/

Даже такая: http://ic.milandr.ru/products/interfeysnye...s422/2011vv024/

 

 

Спасибо за ответы, только у Миландра - это приемопередатчики, а нужен бы специализированный контроллер. Почему не можем использовать UART - потому что скорости не хватает - 921600 бод, а нам надо около 2 Мбит (RS-485 с такими скоростями позволяет работать)

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

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


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

нам надо около 2 Мбит (RS-485 с такими скоростями позволяет работать)

извращение, stm 21 мегабит позволяет, а драйверы можно и на 40 найти

 

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


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

Спасибо за ответы, только у Миландра - это приемопередатчики, а нужен бы специализированный контроллер. Почему не можем использовать UART - потому что скорости не хватает - 921600 бод, а нам надо около 2 Мбит (RS-485 с такими скоростями позволяет работать)

 

Да, у миландра там медленный уарт и кан, что поделаешь... Хотя 485й, как правило используется в низкоскоростном режиме (до 115200).

Используйте Эзернет, там скорость еще больше, гальваноразвязка и еще много плюшек...

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


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

Почему не можем использовать UART - потому что скорости не хватает - 921600 бод, а нам надо около 2 Мбит...

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

Передача вообще не представляет ни какой сложности. С приемом - чуть сложнее.

Нужно задействовать прерывание.

 

 

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


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

А что у LPC флаг TEMT , который говорит, что сдвиговый регистр пуст, а значит передача закончена
Это вовсе не говорит о том, что передача окончена. После возникновения этого флага еще передается последний бит, биты четности и стоповый.

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


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

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

Передача вообще не представляет ни какой сложности. С приемом - чуть сложнее.

Нужно задействовать прерывание.

 

 

Мы используем Миландровский 1986ВЕ1Т с тактовой 144 МГц. На такой частоте по Вашей оценке можно реализовать программный контроллер RS-485 со скоростью 2 Мбит/с?

 

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


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

Мы используем Миландровский 1986ВЕ1Т с тактовой 144 МГц. На такой частоте по Вашей оценке можно реализовать программный контроллер RS-485 со скоростью 2 Мбит/с?

Думаю, да.

Во всяком случае, стоит попробовать.

 

 

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


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

Думаю, да.

Во всяком случае, стоит попробовать.

 

Примеров софт UART куча, надо тупо попробовать.

 

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


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

Думаю, да.

Во всяком случае, стоит попробовать.

2 МБод на 144МГц тактовой? Может как-то и получится, но думаю процессор только этим и будет заниматься.

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


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

поставят два

 

Вот она - веселуха!! Даешь 5 портов из контроллеров :biggrin:

 

2 МБод на 144МГц тактовой? Может как-то и получится, но думаю процессор только этим и будет заниматься.

 

В аппаратном уарте есть фильтр выборок, на мелких скоростях он так-то нафиг не нужен, но на мегагерцах уже вполне, так что прерываний там не 2мульона в сек. будет, а заметно больше. :rolleyes:

ИМХО - изврат чистой воды!

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


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

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...