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

 
 
4 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> eZ430-F2013, впечатления
VVlad
сообщение Dec 14 2009, 13:08
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 67
Регистрация: 7-12-09
Пользователь №: 54 109



Просьба откликнуться тем, кто пользовался конроллером-конструктором eZ430-F2013.
1) На плате установлен МК MSP430x20x1. Правда ли, что его ток потребления всего лишь 220 мкА?
2) По какой технологии выполнен этот чип (мои версии - ABT, BTL, CMOS, TTL)?
В даташите на него указано " 16-Bit RISC Architecture, 62.5 ", но архитектура и технология - различные понятия или я не прав?

Думаем покупать этот набор, прошу знатоков посоветуйте, пожалуйста, на что обратить внимание?
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Dec 14 2009, 13:12
Сообщение #2


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



"конроллер-конструктор" - интересный термин smile.gif
Ток потребления сильно зависит от режимов. Сморите даташит с сайта производителя на msp430f2013.
Технология производства и архитектура это разные понятия. Архитектура RISC 16 бит, а технология то вам зачем?
Покупать с какой целью?
Причина редактирования: Ненужное цитирование.
Go to the top of the page
 
+Quote Post
zhevak
сообщение Dec 14 2009, 14:03
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(VVlad @ Dec 14 2009, 18:08) *
Просьба откликнуться тем, кто пользовался конроллером-конструктором eZ430-F2013.
1) На плате установлен МК MSP430x20x1. Правда ли, что его ток потребления всего лишь 220 мкА?
2) По какой технологии выполнен этот чип (мои версии - ABT, BTL, CMOS, TTL)?
В даташите на него указано " 16-Bit RISC Architecture, 62.5 ", но архитектура и технология - различные понятия или я не прав?

Думаем покупать этот набор, прошу знатоков посоветуйте, пожалуйста, на что обратить внимание?

1. Вопрос задан не совсем корректно. Например, я использую в своих изделиях (пожарные извещатели) именно F2001. У меня микроконтроллер просыпается примерно 1000-1300 раз в секунду, делает свою работу и вновь засыпает. При этом он хавает примерно 30-40 мкА. Кроме того, следует заметить, что напряжение питания тоже очень сильно влияет на энергопотребление.

2. sad.gif методом исключения -- остается только CMOS. Сдается мне, что Вас интересует не этот вопрос, а какой-то другой. Уровни входных сигналов, входные токи? Задавайте вопрос прямо, а технология... -- Вам ехать надо, а Вы шашечками интересуетесь?

3. Я не понял, что Вы собираетесь покупать -- eZ430-F2013 или MSP430x20x1?

Если первое ("свисток"), то для радиолюбительства сойдет, но не для промышленных применений. Не надежен, прошивка слетает, бит защиты жечь не может... в общем букет. Я убил несколько штук, потом купил MSP430-UIF и все заморочки закончились.
Если второе -- MSP430F20x1, то это нормальный МК. Правда, памяти у него -- кот наплакал, но ведь и задачи разные: смотря что МК должен, может под Вашу задачу он будет вокурат. Как знать!


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
VVlad
сообщение Dec 14 2009, 14:32
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 67
Регистрация: 7-12-09
Пользователь №: 54 109



Цитата(zhevak @ Dec 14 2009, 17:03) *
Если первое ("свисток"), то для радиолюбительства сойдет, но не для промышленных применений. Не надежен, прошивка слетает, бит защиты жечь не может... в общем букет. Я убил несколько штук, потом купил MSP430-UIF и все заморочки закончились.
Если второе -- MSP430F20x1, то это нормальный МК. Правда, памяти у него -- кот наплакал, но ведь и задачи разные: смотря что МК должен, может под Вашу задачу он будет вокурат. Как знать!

Jorikdime - ну просто интересно.
to Zhevak-
1) если он так часто у вас просыпается, то сколько же времени он работает от проспался до заснул (один цикл)? Если 220 мкА при непрерывной работе, в 5 раз меньше за счёт скважности , неужто 07.gif за 166 мксек можно успеть 2500 команд?
2) ну просто интересно, пусть будет CMOS. Первым делом мы испортим самолёты, ну а девушек... и шашечки - потом.
3) Покупать собираемся комплект, вот поэтому и обращаюсь к добрым профессионалам за консультацией. Если так легко сломать "свисток", то на что обращать внимание в первую очередь? Статика? Или питание? Спасибо за сочувствие, но MSP430-UIF дороговат пока.

Задача - измерение напряжения от электродных датчиков - они крайне чувствительны к входному сопротивлению схемы (например, для измерения рН входной импеданс должен быть порядка 10^15 Ом).
АЦП хотели сначала MAX1301, но цена 2700 руб за штуку отпугнула.
Не посоветуете ли недорогой АЦП 16-разрядный, с униполярным питанием 5 Вольт и приёмом сигналов +-12 (15 Вольт)?

Сообщение отредактировал rezident - Dec 16 2009, 01:00
Причина редактирования: Излишнее цитирование.
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Dec 14 2009, 15:57
Сообщение #5


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(VVlad @ Dec 14 2009, 17:32) *
Не посоветуете ли недорогой АЦП 16-разрядный, с униполярным питанием 5 Вольт и приёмом сигналов +-12 (15 Вольт)?

Это как??? У Вас опорный источник должен быть не менее чем размах сигнала. Обычно диапазон существенно меньше +-12 (15) В. Так как Вам требуется ОЧЕНЬ большое входное сопротивление, то напрашивается нормирующий усилитель с необходимым входным сопротивлением и скорректированным под возможности АЦП диапазоном выходного сигнала.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Dec 14 2009, 18:02
Сообщение #6


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



у АЦП подозреваю нет таких конских входных сопротивлений.
Go to the top of the page
 
+Quote Post
VVlad
сообщение Dec 28 2009, 08:20
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 67
Регистрация: 7-12-09
Пользователь №: 54 109



Цитата(mdmitry @ Dec 14 2009, 18:57) *
Это как??? У Вас опорный источник должен быть не менее чем размах сигнала. Обычно диапазон существенно меньше +-12 (15) В. Так как Вам требуется ОЧЕНЬ большое входное сопротивление, то напрашивается нормирующий усилитель с необходимым входным сопротивлением и скорректированным под возможности АЦП диапазоном выходного сигнала.

Верно, в MSP430F2012 есть встроенный АЦП. Можно ли его использовать при размахе от -2 до +2 Вольт?
Относительно MAX1301 - вот поэтому его цена и зашкаливает 2700-3100 руб. за корпус.
В качестве нормирующего усилителя решили ставить AD797 ( с входным шумом в 1.2 nV/sqrt(Hz)) или 795-й с входным импедансом 10^14 Ом.
Если нормирующий будет работать с коэффициентом усиления меньше 1 , то из размаха в 4 Вольта можно ужать до 3 Вольт. Но как быть с отрицательными напряжениями?
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Dec 28 2009, 08:28
Сообщение #8


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Цитата(VVlad @ Dec 28 2009, 11:20) *
Верно, в MSP430F2012 есть встроенный АЦП. Можно ли его использовать при размахе от -2 до +2 Вольт?

В даташите на контроллер абсолютно четко указан диапазон допустимых входных напряжений. Он от GND до AVCC.
Go to the top of the page
 
+Quote Post
VVlad
сообщение Dec 28 2009, 14:31
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 67
Регистрация: 7-12-09
Пользователь №: 54 109



Да, на плате исходно стоял МК MSP430F2013 c 16-разрядным АЦП, и его ценность навела на мысль заменить более дешевым MK MSP430F2012 c 10-разрядным АЦП. Встал вопрос, как его проверить. Поиск на форуме привёл к монографии Chrisa Nagy http://upload.caxapa.ru/mcu/msp430/Using%20MSP430.rar , где на странице 90 приведён пример программного кода для работы с АЦП от встроенного температурящего диода. Попытка компиляции его в IAR Embedded Workbench IDE ощенилась 5 ошибками и тремя предупреждениями. Ниже приведён так и недокомпилированный исправленный вариант.

CODE
#include "io430.h"

int main( void )
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
cout << Determine_Temp(0);
cout << Determine_Temp(1);
return 0;
}
signed long Determine_Temp (unsigned char BooleanFlag)
// This function returns device temperature, based on an ADC conversion
// The passed parameter acts as a flag. If it is zero, the temperature is
// returned in degrees Fahrenheit. If it is non-zero, it is returned in
// degrees Celsius.
{
signed long Temperature=25; //Define and initialize working variable
ADC12CTL0 = SHT0_6 + SHT1_6 + REFON + ADC12ON;
// Initialize control register 0. Sets up conversion clock, internal reference
ADC12CTL1 = SHP; //Conversion sample timer signal is
//sourced from the sampling timer
ADC12MCTL0 = INCH_10 + SREF_1; //Use internal reference with
//respect to ground, Temp sensor
//is on input channel 10.
ADC12CTL0 |= ADC12SC + ENC; //Enable and start conversion
while (ADC12CTL1 & 0x01); //Hang in loop until conversion
//completes.
Temperature = ADC12MEM0 & 0x00000FFF;
Temperature *= 845; //These steps convert the ADC reading
//to degrees Celsius
Temperature = Temperature >> 13;
Temperature -= 278;
if (BooleanFlag) return Temperature; //Return temperature in degrees
//Celsius, if required
Temperature *=461;
Temperature = Temperature >> 8; //Otherwise, convert to Fahrenheit and
//return
Temperature +=32;
return Temperature;
}//End Determine Temperature Function

1) Верна ли догадка о том, что в пакете IAR нет функции вывода текстовой строки по формату (cout не работает)?
2) Как правильно сформулировать вопрос, что следует изменить в тексте, чтобы он откомпилировался?

Сообщение отредактировал rezident - Dec 28 2009, 18:20
Причина редактирования: Оформление цитаты исходника.
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Dec 28 2009, 15:58
Сообщение #10


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



не используйте cout и все. Все что вам надо в этой программе это ф-ция Determine_Temp, она возвращает результат измерения, видимо (не вчитывался в код, но судя по названию). Можете хоть в дебаггере смотреть на результат ф-ции или выводить в порт, как вам угодно. cout пользуется такими ф-циями как put_char если не ошибаюсь и именно вы должны их реализовать, чтобы оно работало.
Go to the top of the page
 
+Quote Post
VVlad
сообщение Dec 29 2009, 07:41
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 67
Регистрация: 7-12-09
Пользователь №: 54 109



Спасибо за подробный и ясный ответ, Jorikdima.

Первое сомнение. В приведённом со страницы коде исходно была строка " Temperature >> = 13;" Смысл её - путем сдвига вправо на 13 бит отсечь неинформативные значащие цифры и шумы, уменьшив также результат в 2^13 раз.
Компилятор не принял такой орфографии и строка была заменена на "Temperature = Temperature >> 13";

Извините заранее за неумный вопрос, но зачем присваивается начальное значение 25? (Среднея комнатная температура в градусах Цельсия?).

Строка "Temperature = ADC12MEM0 & 0x00000FFF;" обнуляет старшие пятьполубайт, сохраняя три младших (12 бит).
Умножение на 845 (1101001101) для конверсии в градусы Цельсия добавляет 10 бит, а после сдвига на 13 имеем 9 значащих двоичных цифр, соответствующих трёхзначному десятичному числу в градусах Кельвина.
Прав ли я, что строку "Temperature -= 278;" следует исправить на "Temperature -= 273;"?

Относительно загадошной фразы на стр. 89 "This code is written assuming 3.35 mV/°C, as is the case with the
’149 device. If you are using a different device, check your datasheet for the correct value."
думаю, что 149 - это номер серии термочувствительных диодов, встроенных в МК, а значение 3.35 должно влиять на коэффициент 845. Но смысл формулы мне найти пока не удалось (845\3.35 = 252). Поделитесь идеями, пожалуйста.

По существу, на странице 28 "IAR C LIBRARY FUNCTIONS Reference Guide" есть описание функции printf (stdio.h),
так что COUT не понадобилось.

И на стр. 25 "MSP430 IAR Embedded Workbench® IDE User Guide" показано как создать рабочее место (workspace window), потом файл проэкта и в нем файл с кодом программы.

Сообщение отредактировал VVlad - Dec 29 2009, 08:40
Go to the top of the page
 
+Quote Post
rezident
сообщение Dec 30 2009, 01:02
Сообщение #12


Гуру
******

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



Цитата(VVlad @ Dec 29 2009, 12:41) *
Компилятор не принял такой орфографии и строка была заменена на "Temperature = Temperature >> 13";
А какую ошибку выдал? Вполне возможно, что достаточно было привести константу к типу переменной
Код
Temperature >>= 13L;

Цитата(VVlad @ Dec 29 2009, 12:41) *
Строка "Temperature = ADC12MEM0 & 0x00000FFF;" обнуляет старшие пятьполубайт, сохраняя три младших (12 бит).
Умножение на 845 (1101001101) для конверсии в градусы Цельсия добавляет 10 бит, а после сдвига на 13 имеем 9 значащих двоичных цифр, соответствующих трёхзначному десятичному числу в градусах Кельвина.
Прав ли я, что строку "Temperature -= 278;" следует исправить на "Temperature -= 273;"?
В данном примере используются "магические числа" для того, чтобы делать вычисления с дробными величинами, не используя арифметику "плавающих" чисел, для которой потребуется соответствующая библиотека. Библиотека обычной "плавучки" порядка 600 байт кода добавит. Умножение на 845 и затем арифметический сдвиг на 13 бит вправо эквивалентно умножению на дробь 845/8192=0,103149.
Цитата(VVlad @ Dec 29 2009, 12:41) *
Относительно загадошной фразы на стр. 89 "This code is written assuming 3.35 mV/°C, as is the case with the
’149 device. If you are using a different device, check your datasheet for the correct value."
думаю, что 149 - это номер серии термочувствительных диодов, встроенных в МК,
Под " ’149 device" имеется в виду тип микроконтроллера - MSP430F149.
Цитата(VVlad @ Dec 29 2009, 12:41) *
а значение 3.35 должно влиять на коэффициент 845. Но смысл формулы мне найти пока не удалось (845\3.35 = 252). Поделитесь идеями, пожалуйста.
3,35мВ/°C это наклон линейной части характеристики встроенного диода, который является термочувствительным элементом в MSP430F149. Формула для расчета по этой характеристике имеется в User's Guide в разделе ADC12 operation -> Using the Integrated Temperature Sensor.
VTEMP=0.00355В/°C*(TEMPC)+0.986В
Из нее выводится формула для температуры
T[°C]=VTEMP / 0.00355В/°C - 0.986В / 0.00355В/°C
С учетом, что АЦП 12-битный, а величина опорного напряжения VREF=1,5В получается VTEMP=VREF/4096*ADC12code откуда
T[°C]=ADC12code * 1,5В / 4096 / 0,00355В/°C - 0,986В / 0,00355В/°C или
T[°C]=ADC12code*0,103158°C-277,7°C
Здесь мы получаем те самые коэффициенты, фигурирующие в программе 845 / 2^13=0,103149 и -278.
Умножение на дробный коэффициент в программе заменено на умножение на "магическое" число 845 с последующим делением путем арифметического сдвига. Дробь 845/8192 дает весьма хорошее приближение к искомому коэффициенту, достаточное для вычисления температуры с точностью до целых градусов. Для перевода в градусы Фаренгейта в программе соответственно используются другие коэффициенты.

Сообщение отредактировал rezident - Dec 30 2009, 21:54
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
VVlad
сообщение Dec 30 2009, 15:26
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 67
Регистрация: 7-12-09
Пользователь №: 54 109



ошибка в ответ на строку "Temperature >> = 13L;" была такой

Error[Pe029]: expected an expression C:\Documents and Settings\vlad\Мои документы\IAR Embedded Workbench\temper-prj\main.c 22 ( В компиляторе Си)

Error[Pe029]: expected an expression C:\Documents and Settings\vlad\Мои документы\IAR Embedded Workbench\temper-prj\main.cpp 23 ( В компиляторе Си++)


За терпение и редкое в наше время серьёзное вспомоществование сердечно благодарю уважаемого rezident -а.
Особое мерси за пояснение смысла формулы. У меня есть два USER Guides ( EW430_UserGuide.pdf и MSP430x2xx_Family_User's_Guide_(Rev._D)_slau144d.pdf). В обоих искал, в последнем видел передаточную функцию, идентичную приведённому графику, а подробное объяснение нашёл только здесь. Вероятно, есть ещё третий ЮзерГайд, мне пока незнакомый. Спасибо за помощь.

Искренне поздравляю с Наступающим Новым Годом. Всего наилучшего. Пусть Ваши микроконтроллеры работают без ошибок и долго.

Сообщение отредактировал VVlad - Dec 30 2009, 15:42
Go to the top of the page
 
+Quote Post
SSerge
сообщение Dec 30 2009, 20:56
Сообщение #14


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

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



А на строку "Temperature >> = 13L;" ругается потому что там лишний пробел затесался, между >> и =


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post
rezident
сообщение Dec 30 2009, 22:03
Сообщение #15


Гуру
******

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



Цитата(SSerge @ Dec 31 2009, 01:56) *
А на строку "Temperature >> = 13L;" ругается потому что там лишний пробел затесался, между >> и =
Точно! Пробел лишний. А я и не обратил внимания, скопипастив строку у VVlad. Исправил в своем сообщении.
Цитата(VVlad @ Dec 30 2009, 20:26) *
Вероятно, есть ещё третий ЮзерГайд, мне пока незнакомый.
Ну вообще-то этих User's Guide как минимум пять, по одному на каждое семейство MSP430. rolleyes.gif А выведенная мной формула основана всего лишь на внимательном чтении одного из них и минимальных знаниях физики и математики в объеме, преподаваемом при обучении в средней школе. Не вижу в этом какой-то доблести. laughing.gif
Цитата(VVlad @ Dec 30 2009, 20:26) *
Искренне поздравляю с Наступающим Новым Годом. Всего наилучшего.
И вас с Наступающим! santa2.gif
Go to the top of the page
 
+Quote Post

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

 


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


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