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

 
 
17 страниц V  « < 12 13 14 15 16 > »   
Reply to this topicStart new topic
> MSP430 - снова вопросы от чайника, Вопросы от чайника про MSP и магнитный компас
Daria
сообщение Nov 29 2008, 23:42
Сообщение #196


Местный
***

Группа: Участник
Сообщений: 229
Регистрация: 24-02-08
Пользователь №: 35 345



Цитата(rezident @ Nov 29 2008, 22:10) *
Как я понял у вас три различных устройства и все они независимо-автономные. Одно устройство (компас?) является т.с. "управляющим ретранслятором" и транслирует команды, переданные по технологическому каналу с PC на два других. Тип связи (асинхронный) уже определен и изменению не подлежит. Вам не хватает одного UART в вашем компасе для технологического канала. Я все правильно понял?

Почти. Центральное устройство - не компас, а именно "управляющий ретранслятор", он транслирует команды PC, "сверяясь" с компасом smile.gif Там тоже стоит MSP(потому что больше я ничего не знаю biggrin.gif ) И вот для этого MSP мне и нужно три UART - для приема команд PC, для опроса компаса и для передачи команд поворотнику. Вообще какой кристалл посоветуете для такой цели "ретранслятора"?
Цитата(rezident @ Nov 29 2008, 22:10) *
Когда-то я "баловался" с приемопередатчиком IrDA на TimerA по мотивам тех же самых апликух производителя. Скорость 38400 получил довольно легко даже на заморачиваясь написанием функций на ASM. Реализовывал на Си. Так что 19200 при вашей тактовой (8МГц) можно тоже реализовать без особых затруднений. Только следует учесть, что связь будет полудуплексной. Если для технологического канала вам это не подходит, то используйте обычный UART, а к программно-аппаратному UART подключите устройство, которое не так критично к полудуплексной связи.

Вы меня извините... а что значит ПОЛУдуплексная? biggrin.gif

Сообщение отредактировал Daria - Nov 29 2008, 23:50
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Nov 30 2008, 00:01
Сообщение #197


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(rezident @ Nov 30 2008, 03:29) *
Синхронный интерфейс это...

Спасибо, понятно. (Иногда и ляпнуть что-то не подумамши полезноsmile.gif )
Но всё же несколько смущает, что на клоки может воздействовать и слейв. Сложно провести аналогию с классическим синхронным режимом USART или с SPI. Как-то несинхронно этоsmile.gif
Хотя наверное можно считать, что сигнал SCL используется двояко - для передачи синхроимпульсов от передатчика к приёминку и для подтверждения приёма - в другую сторону.

ЗЫ. Ещё раз спасибо Вам (и Сергею).
ЗЫЫ. Оффтопить прекращаюsmile.gif


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
rezident
сообщение Nov 30 2008, 00:02
Сообщение #198


Гуру
******

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



Цитата(Daria @ Nov 30 2008, 04:42) *
Почти. Центральное устройство - не компас, а именно "управляющий ретранслятор", он транслирует команды PC, "сверяясь" с компасом smile.gif Там тоже стоит MSP(потому что больше я ничего не знаю biggrin.gif ) И вот для этого MSP мне и нужно три UART - для приема команд PC, для опроса компаса и для передачи команд поворотнику. Вообще какой кристалл посоветуете для такой цели "ретранслятора"?
Дык выбирайте сами из таблицы. TimerA есть во всех кристаллах, а количество UARTов там отдельно указано. Если же не останавливаться на MSP430, то среди МК с ядром ARM, например, и с 5-ю UART на борту кристаллы имеются. http://mcu.caxapa.ru/db.htm
Цитата(Daria @ Nov 30 2008, 04:42) *
Вы меня извините... а что значит ПОЛУдуплексная? biggrin.gif
Полудуплексный режим работы означает, что в конкретный момент времени UART может выполнять только одно действие: либо прием, либо передачу. Аппаратный же модуль USART в MSP430 может одновременно и то и другое, т.е. он полнодуплексный. Если ваш протокол обмена использует схему "запрос-ответ", то полный дуплекс и не нужен.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Nov 30 2008, 00:06
Сообщение #199


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(Daria @ Nov 30 2008, 04:42) *
а что значит ПОЛУдуплексная? biggrin.gif

Это значит, что в обе стороны, но по очередиsmile.gif
Кстати, это совершенно необязательное требование. Можно и полный дуплекс софтовый сделать. Могу бросить примерчик.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
rezident
сообщение Nov 30 2008, 00:13
Сообщение #200


Гуру
******

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



Цитата(AHTOXA @ Nov 30 2008, 05:01) *
Но всё же несколько смущает, что на клоки может воздействовать и слейв. Сложно провести аналогию с классическим синхронным режимом USART или с SPI. Как-то несинхронно этоsmile.gif
Почему сложно? Отчего несинхронно? Данные выдаются на шину SDA синхронно с SCL и считываются опять же синхронно с SCL. Какая разница кто именно (какое именно устройство) определяет длительность "нуля" на шине SCL? Вы что никогда логику I2C в ПЛИС не реализовывали что ли? cranky.gif
Цитата(AHTOXA @ Nov 30 2008, 05:01) *
Хотя наверное можно считать, что сигнал SCL используется двояко - для передачи синхроимпульсов от передатчика к приёминку и для подтверждения приёма - в другую сторону.
SCL не используется "для передачи синхроимпульсов", а сам является источником синхроимпульсов. Может вас смущает, что в спецификации нет четкой привязки к фронтам SCL? Ну дык это сделано с расчетом на программную реализацию интерфейса, когда переходы определяются программным поллингом (опросом) пинов МК, подключенных к шинам SCL и SDA.
Насчет оффтопа. Если у вас есть еще желание подискутировать, то давайте выделю сообщения в отдельную тему. Либо завязываем.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Nov 30 2008, 12:45
Сообщение #201


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(rezident @ Nov 30 2008, 05:13) *
Если у вас есть еще желание подискутировать, то давайте выделю сообщения в отдельную тему. Либо завязываем.


Завязываем, завязываемsmile.gif

2 Daria: вот обещанный пример программного дуплексного UART. Висит на таймере B.
Прикрепленный файл  swuart.rar ( 2.9 килобайт ) Кол-во скачиваний: 87


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
Daria
сообщение Nov 30 2008, 19:13
Сообщение #202


Местный
***

Группа: Участник
Сообщений: 229
Регистрация: 24-02-08
Пользователь №: 35 345



Цитата(rezident @ Nov 30 2008, 03:02) *
Полудуплексный режим работы означает, что в конкретный момент времени UART может выполнять только одно действие: либо прием, либо передачу. Аппаратный же модуль USART в MSP430 может одновременно и то и другое, т.е. он полнодуплексный. Если ваш протокол обмена использует схему "запрос-ответ", то полный дуплекс и не нужен.

Ага, ясно. Вообще именно "запрос-ответ", так что все в порядке smile.gif
АНТОХА, спасибо за пример, скачала, посмотрю.
Go to the top of the page
 
+Quote Post
Daria
сообщение Dec 1 2008, 20:34
Сообщение #203


Местный
***

Группа: Участник
Сообщений: 229
Регистрация: 24-02-08
Пользователь №: 35 345



Такой вопрос - раньше работала только с положительными напряжениями. поэтому просто брала отсчеты АЦП, теперь могут быть и отрицательные . Питание 3,3 В, Vref=1.5B. Схема включения операционнка как в предыдущем вопросе про датчик smile.gif Когда посылаешь короткий импульс тока, выходы датчика инвертируются, и нужно считать это показание
Правильно ли будет так:
Задаю V- = Vss, V+ = Vcc. V - показания АЦП, V1=(V*3.3/4096 - 1.5) и работать уже с этими значениями. Извините, что меня опять повело на тупые вопросы biggrin.gif Просто когда изделие уже вроде работает и калибруется начали выявляться всякие непонятки 05.gif оказывается, все не так надо было делать, и даже не понятно - а как же оно ухитряется работать? 05.gif
Go to the top of the page
 
+Quote Post
rezident
сообщение Dec 1 2008, 22:01
Сообщение #204


Гуру
******

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



Daria, вспомните формулу прямой линии в аналитическом виде. На всякий случай напоминаю.
y=a*x+b
Для вашего применения a=(Umax-Umin)/(КОДmax-КОДmin), b=Umin. Для калибровки бОльшего не нужно. Конечно же при условии, что ваши входные цепи расчитаны правильно и там не наблюдается нелинейностей, ограничений сигнала и т.п.
Если мой ответ вас не удовлетвяет, то приведите схему с напряжениями в контрольных точках. А то отписка "в предыдущем вопросе про датчик" для меня как-то малозначительна и непонятна.
Go to the top of the page
 
+Quote Post
Daria
сообщение Dec 4 2008, 20:54
Сообщение #205


Местный
***

Группа: Участник
Сообщений: 229
Регистрация: 24-02-08
Пользователь №: 35 345



Нет, вопрос был не про калибровку smile.gif калибровок у меня несколько, под разные условия. Максимум и минимум сигнала, кстати, довольно сложно определить в полевых условиях, а перекалибровываться придется именно в полевых. Бог с ней, с калибровкой.
Просто я думала, что для правильного выполнения алгоритмов мне нужно работать не с отсчетами АЦП, а с реальными напряжениями, и для этого переводить данные АЦП в напряжения smile.gif Но вроде и так все нормально smile.gif
Go to the top of the page
 
+Quote Post
rezident
сообщение Dec 4 2008, 21:44
Сообщение #206


Гуру
******

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



Цитата(Daria @ Dec 5 2008, 01:54) *
Максимум и минимум сигнала, кстати, довольно сложно определить в полевых условиях, а перекалибровываться придется именно в полевых.
У прямой линии (в отличие от, например, отрезка или вектора) нет начала и конца. В то же самое время, согласно доказательству одной геометрической теоремы, через две точки можно провести только одну прямую. wink.gif Коэффициент a=(Umax-Umin)/(КОДmax-КОДmin) определяет угол наклона прямой к оси абцисс и для его расчета можно выбирать любые две точки лежащие на прямой.
Извините, если вдруг обидел этим напоминанием прописных истин из школьного курса математики laughing.gif
Цитата(Daria @ Dec 5 2008, 01:54) *
Просто я думала, что для правильного выполнения алгоритмов мне нужно работать не с отсчетами АЦП, а с реальными напряжениями, и для этого переводить данные АЦП в напряжения smile.gif
Любое измерение относительно. "Измерить" означает "сравнить с чем-либо". Но пока у вас результаты измерений не выходят за пределы прибора и/или их не нужно использовать каким-либо образом вне прибора, то вы можете измерять в каких угодно "попугаях". А вот данные, выдаваемые прибором наружу, лучше представлять в каких-либо стандартных единицах измерения.
Go to the top of the page
 
+Quote Post
Daria
сообщение Dec 5 2008, 21:16
Сообщение #207


Местный
***

Группа: Участник
Сообщений: 229
Регистрация: 24-02-08
Пользователь №: 35 345



Цитата(rezident @ Dec 5 2008, 00:44) *
Коэффициент a=(Umax-Umin)/(КОДmax-КОДmin) определяет угол наклона прямой к оси абцисс и для его расчета можно выбирать любые две точки лежащие на прямой.
Извините, если вдруг обидел этим напоминанием прописных истин из школьного курса математики laughing.gif

Нет, нет, не обидели smile.gif Просто я не поняла сначала, про что вы говорите - голова забита своими калибровками. ( Слово одно, а подразумевается разное )smile.gif
Цитата(rezident @ Dec 5 2008, 00:44) *
Любое измерение относительно. "Измерить" означает "сравнить с чем-либо". Но пока у вас результаты измерений не выходят за пределы прибора и/или их не нужно использовать каким-либо образом вне прибора, то вы можете измерять в каких угодно "попугаях". А вот данные, выдаваемые прибором наружу, лучше представлять в каких-либо стандартных единицах измерения.

Да.да, вы совершенно правы, полностью согласна biggrin.gif Немного сама себя запутала(с посторонней помощью), но вовремя одумалась biggrin.gif Какая разница - в напряжениях или в отсчетах АЦП, главное соотношения между числами. а выдаются у меня - углы biggrin.gif Ну, и управляющие команды
Go to the top of the page
 
+Quote Post
Daria
сообщение Dec 7 2008, 17:37
Сообщение #208


Местный
***

Группа: Участник
Сообщений: 229
Регистрация: 24-02-08
Пользователь №: 35 345



Такой вопрос - во время работы в отладчике происходят следующие глюки - если "шагать" по коду, то где-то на 10-м, 12-м шаге все зависает, и нужно выходить из отладчика. Более того, такой кристалл, 149, по даташиту позволяет три точки останова при работе в реальном времени, если не ставить флажок Run to, но далеко не всегда позволяет на самом деле, иногда уже после первой в глухую зависает. И еще - иногда самопроизвольно выходит из отладчика, при этом flash стирается. Работаешь, вдруг - бац, вышел, стер и даже ничего не сообщил 05.gif С каждым днем это происходит все чаще. если раньше раз в месяц, то сейчас уже буквально каждый день. Вопрос - это скорее глюки IARa или самого проца?

Сообщение отредактировал Daria - Dec 7 2008, 17:38
Go to the top of the page
 
+Quote Post
rezident
сообщение Dec 7 2008, 18:29
Сообщение #209


Гуру
******

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



Какая версия IAR? Какие опции в дебаггере включены?
C-CPY одну аппаратную точку останова под свои нужды использует. А с самопроизвольным стиранием Flash в дебаггере я вообще никогда не сталкивался 07.gif Это что-то весьма экзотическое. Возможно особенности (глюки) вашей программы.

Напоминаю, что на время стирания и записи нужно запрещать все прерывания и WDT желательно останавливать. А может вы просто где-то ошиблись с битами и вместо стирания сегмента (Erase individual segmet only) вызываете стирание всей Flash (Erase all main memory segments).
Go to the top of the page
 
+Quote Post
HARMHARM
сообщение Dec 23 2008, 16:29
Сообщение #210


читатель даташитов
****

Группа: Свой
Сообщений: 853
Регистрация: 5-11-06
Из: Днепропетровск
Пользователь №: 21 999



Цитата(rezident @ Nov 19 2008, 13:42) *
К сочетанию volitile и const у компилятора идиосинкразия какая-то. laughing.gif

А что если считать переменную через укзатель? Не подставит ведь константу?
В крайнем случае через volatile указатель.
Go to the top of the page
 
+Quote Post

17 страниц V  « < 12 13 14 15 16 > » 
Reply to this topicStart new topic
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 12:22
Рейтинг@Mail.ru


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