реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> USART на SAM4E16, Не могу программно настроить USART
Cruz21
сообщение Apr 13 2015, 09:59
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 43
Регистрация: 23-01-13
Пользователь №: 75 313



Имеется плата sam4e-ek, где на USART находится два интерфейса, это RS-232 и RS-485. Как переключить эти интерфейсы написано в даташите так:
"The Universal Synchronous/Asynchronous Receiver Transmitter (USART) provides one full duplex universal
synchronous/asynchronous serial link. The data frame format is extensively configurable (data length, parity, number of
stop bits) to support a broad range of serial communication standards. The USART is also associated with PDC
channels for TX/RX data access.
To avoid any electrical conflict, the RS232 and RS485 transceiver are isolated from the receiving line PA21.
• Chose RS485 channel: Close 1-2 pins on JP11 and set PA23 to high level
• Chose RS232 channel: Close 2-3 pins on JP11 and set PA23 to low level"
Мне нужен RS-485. Есть пример для отправки символа и получение эхо. Он работает на RS-232, а мне этот пример нужно переделать на RS-485.
Я джампером настроил плату " Close 1-2 pins on JP11", а вот "set PA23 to high level" что то не понимаю, что тут программно нужно дописать для порта PA23, чтобы именно RS-485 заработал.
Что нужно тут сделать?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
_4afc_
сообщение Apr 13 2015, 11:06
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 262
Регистрация: 13-10-05
Из: Санкт-Петербург
Пользователь №: 9 565



Цитата(Cruz21 @ Apr 13 2015, 12:59) *
Я джампером настроил плату " Close 1-2 pins on JP11", а вот "set PA23 to high level" что то не понимаю, что тут программно нужно дописать для порта PA23, чтобы именно RS-485 заработал.
Что нужно тут сделать?


1. Перенести тему в ARM.
2. Найти где в коде PA23 устанавливается по умолчанию в 0 и переписать в единицу.

Или написать что-то типо PIOA->PIO_SODR=(1<<23);
Go to the top of the page
 
+Quote Post
Cruz21
сообщение Apr 13 2015, 11:52
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 43
Регистрация: 23-01-13
Пользователь №: 75 313



Цитата(_4afc_ @ Apr 13 2015, 14:06) *
1. Перенести тему в ARM.
2. Найти где в коде PA23 устанавливается по умолчанию в 0 и переписать в единицу.

Или написать что-то типо PIOA->PIO_SODR=(1<<23);


да так тоже попытался,
PIOA->PIO_SODR= PIO_PA23;
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Apr 13 2015, 13:17
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



А меня одного смущается что RS485 в отличии от RS232 half duplex. И потому эхо на нем без доп устройства - несколько странная штука?

RS485 от RS232 с программной точки зрения отличается только тем что надо еще рулить направлением. Потому по настройке должен быть таким же, максимум где - то режим работы задают чтобы появился железный бит. Но в большинстве случаев направлением рулят руками через GPIO бит.

Очень подозреваю что ваш РА23 - это как раз бит направления. Надо схему человеческую выкладывать, а не красивую. И естественно чтобы ногой махать, надо ее на выход настроить и тактирование включить и прочее...
Go to the top of the page
 
+Quote Post
Cruz21
сообщение Apr 14 2015, 04:19
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 43
Регистрация: 23-01-13
Пользователь №: 75 313



Цитата(Golikov A. @ Apr 13 2015, 16:17) *
А меня одного смущается что RS485 в отличии от RS232 half duplex. И потому эхо на нем без доп устройства - несколько странная штука?

RS485 от RS232 с программной точки зрения отличается только тем что надо еще рулить направлением. Потому по настройке должен быть таким же, максимум где - то режим работы задают чтобы появился железный бит. Но в большинстве случаев направлением рулят руками через GPIO бит.

Очень подозреваю что ваш РА23 - это как раз бит направления. Надо схему человеческую выкладывать, а не красивую. И естественно чтобы ногой махать, надо ее на выход настроить и тактирование включить и прочее...

Да вы правы, поэтому не только схему ну сам даташит выложу.
Прикрепленные файлы
Прикрепленный файл  SAM4E_EK.pdf ( 1.4 мегабайт ) Кол-во скачиваний: 15
 
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Apr 14 2015, 05:43
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



ну все просто...
PA23 - это ножка которая выключает микросхему ADM3312, это необходимо чтобы освободить сигнал CTS

дальше жампер jp11 выбирает что приходить на ногу RX с 485 или с 232.

Вы настраиваете все как UART, подаете на ногу PA23 логическую 1, для этого порт надо сконфигурить на выход, переключаете жампер jp11 на 485,
дальше ножками RTS - CTS управляете направлением передачи RS485, это наверное логичнее делать явно задавая им уровень 0 и 1 как ножкам GPIO, автоматике я бы не доверял, на первый взгляд у нее нет подходящего режима, если только специально не сделали... вот
Go to the top of the page
 
+Quote Post
DmitryM
сообщение Apr 14 2015, 06:17
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 583
Регистрация: 7-06-06
Из: Таганрог
Пользователь №: 17 840



Цитата(Golikov A. @ Apr 14 2015, 09:43) *
дальше ножками RTS - CTS управляете направлением передачи RS485, это наверное логичнее делать явно задавая им уровень 0 и 1 как ножкам GPIO, автоматике я бы не доверял, на первый взгляд у нее нет подходящего режима, если только специально не сделали... вот


Как это атоматики нет? Классически на sam'ах управление передатчиком RS-485 идет выводом RTS.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Apr 14 2015, 08:10
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



по схеме там еще cts участвует
Go to the top of the page
 
+Quote Post
DmitryM
сообщение Apr 14 2015, 09:22
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 583
Регистрация: 7-06-06
Из: Таганрог
Пользователь №: 17 840



Цитата(Golikov A. @ Apr 14 2015, 12:10) *
по схеме там еще cts участвует


Ну это ж кит, предусмотрели на всякий случай отключаемый прием (в режиме PIO), а так достаточно завести RTS на оба входа nRE и DE, если не требуется принимать во время собственной передачи.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 07:35
Рейтинг@Mail.ru


Страница сгенерированна за 0.01424 секунд с 7
ELECTRONIX ©2004-2016