Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Имеется 1USART который занят, нужно еще типа RS232
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > MSP430
AlexandrM
Имеется MSP430F123 yна нем 1USART который занят переферией
Данные которые приходят с перефирии нужно передать на ПК, хочу передавать через
RS232 можно как-то сделать это без USART? Объемы передаются мельнькие.
bloodden
Если и скорость маленькая, то можно и софтовый сделать. Как - поиском пользуйтесь. Вариантов на этом форуме море. Скорее вариантов мало, а реализаций много smile.gif
AlexandrM
Цитата(bloodden @ Mar 17 2008, 19:12) *
Если и скорость маленькая, то можно и софтовый сделать. Как - поиском пользуйтесь. Вариантов на этом форуме море. Скорее вариантов мало, а реализаций много smile.gif

А как "это" правильно называется?
msalov
Цитата(AlexandrM @ Mar 17 2008, 17:23) *
А как "это" правильно называется?

А правильно называется Application Note и лежит в соответствующем разделе на сайте производителя
jorikdima
Software UART по этим словам ищите
rezident
Цитата(AlexandrM @ Mar 17 2008, 20:23) *
А как "это" правильно называется?

Implementing a UART Function with Timer_A3 (Rev. A) (slaa078a.pdf) от производителя (TI).
Или на gaw.ru перевод первой версии этого же AppNote на русский.
Или в книге, выпущенной фирмой Компэл, Семейство микроконтроллеров MSP430: рекомендации по применению (5.1MB) почти тот же перевод на стр. 168-174 вкупе с переводами некоторых других Application Notes от TI.
shasik
Если объемы передаются меленькие, то можно использовать и один UART и просто переключать направление "MSP-периферия" и "MSP-PC" (мультиплексор и т.д.)

А на счет программного UART'а: у меня однажды возникала такая ситуация, посмотрел Implementing a UART Function with Timer_A3, попробовал - коряво как-то, опять же ограничения по скорости. В итоге выбрал программный SPI для связи с периферией и один аппаратный UART для связи по RS232 (ситуация облегчалась тем, что внешнее железо для реализации задачи - мог выбирать сам, вот и выбрал связь по SPI). Реализация получилась гораздо красивее , а главное эффективнее. IMHO.
AlexandrM
Цитата(jorikdima @ Mar 17 2008, 19:53) *
Software UART по этим словам ищите

Спасибо, это ключевое слово для поиска smile.gif

Цитата(rezident @ Mar 18 2008, 03:42) *
Implementing a UART Function with Timer_A3 (Rev. A) (slaa078a.pdf) от производителя (TI).
Или на gaw.ru перевод первой версии этого же AppNote на русский.
Или в книге, выпущенной фирмой Компэл, Семейство микроконтроллеров MSP430: рекомендации по применению (5.1MB) почти тот же перевод на стр. 168-174 вкупе с переводами некоторых других Application Notes от TI.

Спасибо большое

Цитата(shasik @ Mar 18 2008, 10:35) *
Если объемы передаются меленькие, то можно использовать и один UART и просто переключать направление "MSP-периферия" и "MSP-PC" (мультиплексор и т.д.)

Перефирия требует инициализации перед работой которая занимает время sad.gif И при переключении с ПК на перевирию будет потеря. Я так думаю.
rezident
Цитата(AlexandrM @ Mar 18 2008, 11:38) *
Перефирия требует инициализации перед работой которая занимает время sad.gif И при переключении с ПК на перевирию будет потеря. Я так думаю.
Для инициализации периферии имеющийся USART именно как UART используется или как SPI? Если второе, то SPI можно и программно реализовать. Это проще, чем программный UART.
MrYuran
Если нужно только передавать в РС, то по-моему, лучше повесить на выход TX мультиплексор 1х2 и переключать каналы. Потери времени - только на выставление бита в порт, а вот потери на программный вывод RS-232 существенно больше.
AlexandrM
Цитата(rezident @ Mar 18 2008, 11:45) *
Для инициализации периферии имеющийся USART именно как UART используется или как SPI? Если второе, то SPI можно и программно реализовать. Это проще, чем программный UART.


Перефирия это СС1100 работает через SPI
использует
Цитата
P3.0/STE0 11 9 I/O General-purpose digital I/O pin/slave transmit enable—USART0/SPI mode
P3.1/SIMO0 12 10 I/O General-purpose digital I/O pin/slave in/master out of USART0/SPI mode
P3.2/SOMI0 13 11 I/O General-purpose digital I/O pin/slave out/master in of USART0/SPI mode
P3.3/UCLK0 14 12 I/O General-purpose digital I/O pin/external clock input—USART0/UART or SPI mode, clock
output—USART0/SPI mode clock input

эти порты свободны
Цитата
P3.4/UTXD0 15 13 I/O General-purpose digital I/O pin/transmit data out—USART0/UART mode
P3.5/URXD0 16 14 I/O General-purpose digital I/O pin/receive data in—USART0/UART mode
P3.6 17 15 I/O General-purpose digital I/O pin
P3.7 18 16 I/O General-purpose digital I/O pin

Блок работы с СС1100 через SPI отлажен и менять не хочется. Обмен идет в обе стороны скорость 9600 - вполне достаточно.
shasik
Цитата(AlexandrM @ Mar 18 2008, 10:36) *
Блок работы с СС1100 через SPI отлажен и менять не хочется. Обмен идет в обе стороны скорость 9600 - вполне достаточно.

Ну, а все таки, если работать на одном UART'e попеременно переключая его режимы SPI/UART и соответственно отключая/включая периферию СС1100 и какой-нибудь там MAX232 (у всех есть нужные пины). Попробуйте. Сделать вполне реально и особого "болота" нет.
rezident
Цитата(AlexandrM @ Mar 18 2008, 13:36) *
Блок работы с СС1100 через SPI отлажен и менять не хочется. Обмен идет в обе стороны скорость 9600 - вполне достаточно.
Реализовать "программный" SPI на тех же пинах, путем "ногодрыжечества", гораздо проще, чем реализовать программно-аппаратный UART. Тем более, что частота обмена по SPI у вас весьма низкая.
P.S. или попробуйте пересмотреть элементную базу и перейти например на MSP430F22xx с модулем USCI. В модуле USCI можно одновременно использовать два интерфейса UART/IrDA/SPI/I2C и SPI/I2C.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.