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

 
 
> Дополнительный UART
dmyl
сообщение Jun 21 2006, 12:29
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 123
Регистрация: 11-01-06
Пользователь №: 13 032



Устройство на ARM7 от филипса. Кристаллы 2214 и 2138.
Нужно 2xRS232 и 1хRS485, получается нужен третий UART, на кристаллах только пара. Как бы попроще и покрасивее сделать?
Есть вроде конвертеры SPI-UART или подобные. Может решал кто похожую задачу.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rezident
сообщение Jun 21 2006, 12:40
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



А программный UART не устраивает (вопрос чисто теоретический)?
Go to the top of the page
 
+Quote Post
dmyl
сообщение Jun 21 2006, 13:09
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 123
Регистрация: 11-01-06
Пользователь №: 13 032



Цитата(rezident @ Jun 21 2006, 17:40) *
А программный UART не устраивает (вопрос чисто теоретический)?

Ну честно говоря даже на задумывался. Делал раньше его, но тогда и UARTa на крисиалле не было совсем. Не думал что когда-то придется к этому вернуться. В принципе если есть возможность найти на LPC готовый код программного УАРТа, который с небольшими переделками реально воткнуть, то вообщем это хороший вариант.

Насчет SPI->UART, есть готовые типа MAX3100, но с ними не работал. Смотрю я на них - они вроде бы включены слэйвом - так что получается их опрашивать постоянно надо - не лучше чем программый.
Go to the top of the page
 
+Quote Post
rezident
сообщение Jun 21 2006, 13:50
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(dmyl @ Jun 21 2006, 19:09) *
Ну честно говоря даже на задумывался. Делал раньше его, но тогда и UARTa на крисиалле не было совсем. Не думал что когда-то придется к этому вернуться. В принципе если есть возможность найти на LPC готовый код программного УАРТа, который с небольшими переделками реально воткнуть, то вообщем это хороший вариант.

Я указал "чисто теоретически" потому, что непосредственно с ARM я не работал. Но на MSP430 делал UART, используя функции Capture и Compare в режиме PWM таймера. Может тут тоже нечто подобное (аппартно-полупрограммное) замутить? ИМХО имеет смысл для RS485, т.к. все равно там полудуплекс.
Go to the top of the page
 
+Quote Post
dmyl
сообщение Jun 21 2006, 14:08
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 123
Регистрация: 11-01-06
Пользователь №: 13 032



Цитата(rezident @ Jun 21 2006, 18:50) *
Я указал "чисто теоретически" потому, что непосредственно с ARM я не работал. Но на MSP430 делал UART, используя функции Capture и Compare в режиме PWM таймера. Может тут тоже нечто подобное (аппартно-полупрограммное) замутить? ИМХО имеет смысл для RS485, т.к. все равно там полудуплекс.

Да хватило бы таймера, можно и сделать. А разницы на 485 или 232 большой нет. Тем более что у меня и на 232 похоже будет полудуплекс. Вопрос теперь что проще - запрограммировать SPI или написать программный УАРТ.
Go to the top of the page
 
+Quote Post
Andy Mozzhevilov
сообщение Jun 22 2006, 03:15
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206



Цитата(dmyl @ Jun 21 2006, 20:08) *
Цитата(rezident @ Jun 21 2006, 18:50) *

Я указал "чисто теоретически" потому, что непосредственно с ARM я не работал. Но на MSP430 делал UART, используя функции Capture и Compare в режиме PWM таймера. Может тут тоже нечто подобное (аппартно-полупрограммное) замутить? ИМХО имеет смысл для RS485, т.к. все равно там полудуплекс.

Да хватило бы таймера, можно и сделать. А разницы на 485 или 232 большой нет. Тем более что у меня и на 232 похоже будет полудуплекс. Вопрос теперь что проще - запрограммировать SPI или написать программный УАРТ.


Вопрос тиражности изделия. Если изделие единичное, можно поставить дополнительную периферию. Хотя еще не факт, что програмно с ней проще будет работать, чем с программным uart.
На LPC 60МГц можно сделать программный uart до скоростей 19200 достаточно просто. Для облегчения задачи завести Rx на пин, который может детектировать прерывание по заднему фронту.
Можно uart сделать в fiq, а прерывания готовности приемника/передатчика сделать через программные прерывания и irq. Тогда критические секции не будут влиять на работу uart и добавлять джиттер.

Цитата(acex2 @ Jun 21 2006, 23:01) *
Если нет боязни пропустить важные данные или предусматривается работа запрос-ответ, то самым дешевым способом будет внешний мультиплексор.


Имхо, самый дешевый способ - програмный uart. Стоимость ~ == строимости 3-4 часов работы программиста, единовременно.


--------------------
Пасу котов...
Go to the top of the page
 
+Quote Post
VIRt
сообщение Feb 14 2007, 18:08
Сообщение #7


Участник
*

Группа: Новичок
Сообщений: 48
Регистрация: 28-03-06
Пользователь №: 15 573



Работал Я с MAX3140 на сигнале С8051F120. Получилось реализовать через макс но только програмно, так как MAX входит в прерывание и сидит в нем пока все условия сброса не выполнятся. Т.е. прерывание по уровню. Изза этого и получалось что он и не вылазил с внешнего прервания. А СПИ имел приоритет ниже. Выходит что нужно ловить и по заднему и по переднему фронтам. + проводить в момент самого прерывания контроль и устанавливать флаги сброса. С8051F120 мог отлавливать только по заднему. А переразводить плату уже некогда было.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- dmyl   Дополнительный UART   Jun 21 2006, 12:29
- - beer_warrior   Подцепить 8-битку подешевле с SPI и UART, ту же ...   Jun 21 2006, 13:03
- - aaarrr   Цитата(dmyl @ Jun 21 2006, 17:09) Насчет ...   Jun 21 2006, 13:15
|- - dmyl   Цитата(aaarrr @ Jun 21 2006, 18:15) У MAX...   Jun 21 2006, 13:37
- - aaarrr   Цитата(dmyl @ Jun 21 2006, 17:37) Кстати ...   Jun 21 2006, 13:54
- - Romario   ну вот мой софтверный уарт на 9600 при 4 сэмплах н...   Jun 21 2006, 14:08
|- - dmyl   Цитата(Romario @ Jun 21 2006, 19:08) ну в...   Jun 21 2006, 14:21
|- - Romario   ЦитатаВзял. Посмотрю. А почему 4? Я делал на 3 с м...   Jun 21 2006, 14:37
- - GetSmart   Все три уарта для ввода/вывода?   Jun 21 2006, 17:01
- - acex2   Если нет боязни пропустить важные данные или преду...   Jun 21 2006, 17:01
|- - gormih   Цитата(acex2 @ Jun 21 2006, 17:01) Если н...   Feb 19 2007, 15:06
- - aforestman   Philips недавно анонсировал I2C/SPI => RS-232 Н...   Jun 22 2006, 05:21
- - AKimbo   Используем мост SPI<=>UART SC16IS752, пробле...   Feb 15 2007, 14:30


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

 


RSS Текстовая версия Сейчас: 28th June 2025 - 18:29
Рейтинг@Mail.ru


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