LINUX.ORG.RU

Драйвер Rs 485


0

1

У меня контроллер который располагает Rs 485 я установил на него Linux v3.10.17-smp. Видно наличие /dev/ttyS0, /dev/ttyS1, /dev/ttyS2, /dev/ttyS3. Первые два это по всей видимости com1 и com2 два других это Rs485 и Rs422. Для того, что бы 485 начал работать, необходимо ли произвести еще какие-нибудь действия? Или если я вижу устройства, то драйвер будет работать с 485 интерфейсом адекватно, не спутает он его с RS232 ?



Последнее исправление: cetjs2 (всего исправлений: 1)

232 отличается от 485 только на физическом уровне, байты по ним гоняются совершенно одинаково.

alegz ★★★★
()

Эра тупняка на лоре. Тупняковый период, блин.

Человек работает с контроллерами с RS485 и не знает, что оно отличается от RS232 только физикой и для компа выглядит абсолютно одинаково, как обычный UART.

Видно наличие /dev/ttyS0, /dev/ttyS1, /dev/ttyS2, /dev/ttyS3. Первые два это по всей видимости com1 и com2 два других это Rs485 и Rs422.

Совершенно необязательно. UART он и есть UART, неважно в куда он работает - в 232, 485, 422 или DMX512 какой. Отличить по названию и номеру невозможно.

драйвер будет работать с 485 интерфейсом адекватно, не спутает он его с RS232 ?

Для драйвера нет никакой разницы 485 это, или 232. Ему насрать, да и нет способа для него выяснить, к чему там Tx и Rx UART'а подключены.

Stanson ★★★★★
()
Ответ на: комментарий от alegz

Те микросхема одна и та же все отличие в последующей схемотехнике и драйвер, что для 283 и 485 один и тот же, так?

philipp_b
() автор топика

У 485-го все передатчики и приёмники сидят на двух проводах, поэтому передатчик обычно выключен, чтобы другим не мешать, на время передачи включается или автоматом , должно поддерживаться контроллером, или из программы записью в какой-либо порт. Короче, кури доки на контроллер.

ilovewindows ★★★★★
()
Ответ на: комментарий от ilovewindows

У 485-го все передатчики и приёмники сидят на двух проводах

Не обязательно. В нём и full duplex бывает.

поэтому передатчик обычно выключен, чтобы другим не мешать, на время передачи включается или автоматом , должно поддерживаться контроллером

Нет, это дело выходной микрухи а не контроллера.

Stanson ★★★★★
()
Ответ на: комментарий от philipp_b

Там могут быть нюансы с переключением схемы в 4-проводной или 2-проводной режимы 485 или режим 232, если он поддерживается. Возможно, через fcntl какой-нибудь. Доку на драйвер смотреть надо.

alegz ★★★★
()
Ответ на: комментарий от philipp_b

Я об этом догадывался просто хотел убедиться в этом.

Об этом не нужно догадываться и убеждаться, это в любом самом крастком описании стандарта написано. Прочитать описание стандарта - раз в 20 быстрее чем писать что-то на лор и ждать ответа.

Вы наверное очень острый

Ну да, почитаешь вот эту вот лавину кромешного тупняка льюшегося на лор в последнее время, начинаешь чувствовать себя гением.

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Если 485 full duplex это 422 называется. Микрухи не включают автоматом передатчики, adm489 можешь посмотреть, отдельный вход для включения Tx.

ilovewindows ★★★★★
()
Последнее исправление: ilovewindows (всего исправлений: 1)
Ответ на: комментарий от ilovewindows

Если 485 full duplex это 422 называется.

Нет. У 485 есть и simplex и half и full duplex в стандарте, Это у 422 нет half duplex, он только full duplex или simplex может быть и передатчик у него неотключаемый.

Микрухи не включают автоматом передатчики, adm489 можешь посмотреть, отдельный вход для включения Tx.

У многих UART есть железячный выход TXDEN, есть драйвера со встроенным auto-transmit (y LTC, что-ли), а во времена больших микросхем auto-trаnsmit для RS485 традиционно на 555 делался.

Stanson ★★★★★
()
Ответ на: комментарий от philipp_b

Хамство - это вот такие вот тупорылые вопросы задавать, в надежде забесплатно и не приложив ни капли собственных усилий получить нужный ответ на халяву. Особенно это выглядит по-хамски, когда за решение этих вопросов задающему платят зарплату на работе.

Stanson ★★★★★
()
Ответ на: комментарий от alegz

А во что соединяют 422? Выключай передатчики, если не передаёшь. Выключай приемник, если передаёшь. И будет счастье хоть на двух проводах, хоть на четырех.

ilovewindows ★★★★★
()
Ответ на: комментарий от Stanson

Поржал. Зачем тогда нужны форумы? Я когда первый раз делал железку с 232 и 485 тоже долго вдуплял что ещё надо TXEN дёргать когда начинаешь гнать данные и разбирался как это делать из линукса.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от Stanson

Так не отвечай! Никто тебя не принуждает, храни вековую мудрость в себе! Никто же не обязывает, общайся сам с собой если ты такой умный. Не общайся с убогими! Смысл форумов в обмене опытом, я до этого работал с 232 сейчас 485 решил проверить правильность своих предположений, в чем преступление?

philipp_b
() автор топика

Видно наличие /dev/ttyS0, /dev/ttyS1, /dev/ttyS2, /dev/ttyS3. Первые два это по всей видимости com1 и com2 два других это Rs485 и Rs422

не обязательно. даже, скорее всего - нет. стандартный com-овский контроллер поддерживает до 4-х портов. и его драйвер, соответственно, создает четыре файла устройств, вне зависимости от физического наличия этих самых портов. смотри pci id своей железяки, гугли на предмет, что включить в ядре для поддержки нестандартных контроллеров или какие есть сторонние драйвера на него.

мы, к примеру, используем advantech-овские. для них нет поддержки в ядре, однако фирма поставляет переделанный напильником стандартный комовский. в результате, в дополнение к ttyS*, в системе присутствуют еще и ttyAP*, для доступа к 485-му

ananas ★★★★★
()
Ответ на: комментарий от Dark_SavanT

Поржал. Зачем тогда нужны форумы?

Например, чтобы совместно решать проблемы, решения для которых ещё не существует.

Я когда первый раз делал железку с 232 и 485 тоже долго вдуплял что ещё надо TXEN дёргать когда начинаешь гнать данные и разбирался как это делать из линукса.

Не представляю, что там можно долго вдуплять. Даташиты на микрухи почитать, конечно была не судьба.

Stanson ★★★★★
()
Ответ на: комментарий от ananas

Спасибо! Но я полагаю, что в данном случае соответствие верное. Ибо на железке есть четыре пары индикаторов приема передачи (Tx Rx) и когда я делаю cat что нибудь в соотв устройства (ttyS0..3), то индикаторы Tx соответственно загораются.

philipp_b
() автор топика
Ответ на: комментарий от philipp_b

Все делаю вроде, как надо, а чертова железяка не отвечает :(

philipp_b
() автор топика
Ответ на: комментарий от philipp_b

Но я полагаю, что в данном случае соответствие верное. Ибо на железке есть четыре пары индикаторов приема передачи (Tx Rx) и когда я делаю cat что нибудь в соотв устройства (ttyS0..3), то индикаторы Tx соответственно загораются.

тогда упражняйся с stty

ananas ★★★★★
()
Ответ на: комментарий от Dark_SavanT

ещё надо TXEN дёргать когда начинаешь гнать данные

А нефиг было в железке проверять состояние TXEX! Вот я тупо вешаю на Rx/Tx и не парюсь! А то ты еще остальные тоже задействуй, чтобы совсем уж полноценный 232 был.

Eddy_Em ☆☆☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.