ViKo 1 23 октября, 2018 Опубликовано 23 октября, 2018 · Жалоба 1 час назад, scifi сказал: Это без усреднения. Если сигнал медленный и позволяет агрессивно усреднять, будут все 12 разрядов. Даже больше. Но ENOB не использует цифровые махинации. :-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 23 октября, 2018 Опубликовано 23 октября, 2018 (изменено) · Жалоба 2 hours ago, di4zerus said: У меня сигнал сущие герцы. АЦП в микроконтроллере на номинальной частоте запускать или снижение частоты оцифровки улучшит ситуацию? С внешним ИОН? Там калибровка такая же как в STM32? не помню. могу проверить только вечером когда будет доступ к схеме и исходникам. о. нашел. без ИОН. насколько я вижу из кода калибровку не делал void ADC0_SetupSingle(char adc_chan) { if (adc_chan > 7) return; CMU_ClockEnable(cmuClock_ADC0, true); //CMU_ClockSelectSet(cmuClock_ADC0, cmuSelect_LFXO); ADC_Init_TypeDef adcInit = ADC_INIT_DEFAULT; ADC_InitSingle_TypeDef adcInitSingle = ADC_INITSINGLE_DEFAULT; // Init common issues for both single conversion and scan mode/ adcInit.warmUpMode = adcWarmupNormal; adcInit.lpfMode = adcLPFilterBypass; adcInit.timebase = ADC_TimebaseCalc(0); adcInit.prescale = ADC_PrescaleCalc(7000000, 0); ADC_Init(ADC0, &adcInit); // Init for scan sequence use //scanInit.reference = adcRefVDD; adcInitSingle.acqTime = adcAcqTime4; adcInitSingle.reference = adcRefVDD; adcInitSingle.resolution = adcRes12Bit; adcInitSingle.rep = false; //repeated sampling adcInitSingle.input = adc_chan; //adcSingleInpCh7; ADC_InitSingle(ADC0, &adcInitSingle); // Enable ADC single overflow interrupt to indicate lost samples ADC_IntEnable(ADC0, ADC_IEN_SINGLE); NVIC_EnableIRQ(ADC0_IRQn); //DMA_ConfigAdcSingle(); ///Start repetitive ADC single conversions //ADC_Start(ADC0, adcStartSingle); } хотя возможность калибрации присутствует static void ADC_CalibrateLoadSingle(ADC_TypeDef *adc, ADC_Ref_TypeDef ref) { uint32_t cal; /* Load proper calibration data depending on selected reference */ /* NOTE: We use ...SCAN... defines below, they are the same as */ /* similar ...SINGLE... defines. */ switch (ref) { case adcRef1V25: cal = adc->CAL & ~(_ADC_CAL_SINGLEOFFSET_MASK | _ADC_CAL_SINGLEGAIN_MASK); cal |= ((DEVINFO->ADC0CAL0 & _DEVINFO_ADC0CAL0_1V25_GAIN_MASK) >> _DEVINFO_ADC0CAL0_1V25_GAIN_SHIFT) << _ADC_CAL_SINGLEGAIN_SHIFT; cal |= ((DEVINFO->ADC0CAL0 & _DEVINFO_ADC0CAL0_1V25_OFFSET_MASK) >> _DEVINFO_ADC0CAL0_1V25_OFFSET_SHIFT) << _ADC_CAL_SINGLEOFFSET_SHIFT; adc->CAL = cal; break; case adcRef2V5: cal = adc->CAL & ~(_ADC_CAL_SINGLEOFFSET_MASK | _ADC_CAL_SINGLEGAIN_MASK); cal |= ((DEVINFO->ADC0CAL0 & _DEVINFO_ADC0CAL0_2V5_GAIN_MASK) >> _DEVINFO_ADC0CAL0_2V5_GAIN_SHIFT) << _ADC_CAL_SINGLEGAIN_SHIFT; cal |= ((DEVINFO->ADC0CAL0 & _DEVINFO_ADC0CAL0_2V5_OFFSET_MASK) >> _DEVINFO_ADC0CAL0_2V5_OFFSET_SHIFT) << _ADC_CAL_SINGLEOFFSET_SHIFT; adc->CAL = cal; break; case adcRefVDD: cal = adc->CAL & ~(_ADC_CAL_SINGLEOFFSET_MASK | _ADC_CAL_SINGLEGAIN_MASK); cal |= ((DEVINFO->ADC0CAL1 & _DEVINFO_ADC0CAL1_VDD_GAIN_MASK) >> _DEVINFO_ADC0CAL1_VDD_GAIN_SHIFT) << _ADC_CAL_SINGLEGAIN_SHIFT; cal |= ((DEVINFO->ADC0CAL1 & _DEVINFO_ADC0CAL1_VDD_OFFSET_MASK) >> _DEVINFO_ADC0CAL1_VDD_OFFSET_SHIFT) << _ADC_CAL_SINGLEOFFSET_SHIFT; adc->CAL = cal; break; case adcRef5VDIFF: cal = adc->CAL & ~(_ADC_CAL_SINGLEOFFSET_MASK | _ADC_CAL_SINGLEGAIN_MASK); cal |= ((DEVINFO->ADC0CAL1 & _DEVINFO_ADC0CAL1_5VDIFF_GAIN_MASK) >> _DEVINFO_ADC0CAL1_5VDIFF_GAIN_SHIFT) << _ADC_CAL_SINGLEGAIN_SHIFT; cal |= ((DEVINFO->ADC0CAL1 & _DEVINFO_ADC0CAL1_5VDIFF_OFFSET_MASK) >> _DEVINFO_ADC0CAL1_5VDIFF_OFFSET_SHIFT) << _ADC_CAL_SINGLEOFFSET_SHIFT; adc->CAL = cal; break; case adcRef2xVDD: /* Gain value not of relevance for this reference, leave as is */ cal = adc->CAL & ~_ADC_CAL_SINGLEOFFSET_MASK; cal |= ((DEVINFO->ADC0CAL2 & _DEVINFO_ADC0CAL2_2XVDDVSS_OFFSET_MASK) >> _DEVINFO_ADC0CAL2_2XVDDVSS_OFFSET_SHIFT) << _ADC_CAL_SINGLEOFFSET_SHIFT; adc->CAL = cal; break; /* For external references, the calibration must be determined for the */ /* specific application and set explicitly. */ default: break; } } Изменено 23 октября, 2018 пользователем jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 23 октября, 2018 Опубликовано 23 октября, 2018 · Жалоба 4 hours ago, di4zerus said: У меня сигнал сущие герцы. АЦП в микроконтроллере на номинальной частоте запускать или снижение частоты оцифровки улучшит ситуацию? Не встречал АЦП, которые обещали лучшие характеристики при сниженной частоте. Ну и, конечно, нужно помнить о выходном сопротивлении источника сигнала, чтобы входной ток АЦП не вносил чрезмерную погрешность. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
di4zerus 0 23 октября, 2018 Опубликовано 23 октября, 2018 · Жалоба 5 hours ago, jenya7 said: о. нашел. без ИОН. Ого. Калибровочка подлиннее будет. 1 hour ago, scifi said: Ну и, конечно, нужно помнить о выходном сопротивлении источника сигнала, чтобы входной ток АЦП не вносил чрезмерную погрешность. О! Не могли бы Вы подробнее объяснить. У меня операционник до АЦП стоит (AD8605). Мне между ним и АЦП нужно ещё сопротивление воткнуть, получается? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 23 октября, 2018 Опубликовано 23 октября, 2018 · Жалоба 32 minutes ago, di4zerus said: У меня операционник до АЦП стоит (AD8605). Мне между ним и АЦП нужно ещё сопротивление воткнуть, получается? Наоборот. Если бы было споротивление, его нужно было бы учитывать. Выход ОУ низкоомный, он способен запитывать вход АЦП при любой частоте преобразований. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
di4zerus 0 23 октября, 2018 Опубликовано 23 октября, 2018 · Жалоба И всё же, есть у кого-нибудь опыт установки EFM32 в промышленные приборы. Чтоб industrial, так industrial. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 55 23 октября, 2018 Опубликовано 23 октября, 2018 · Жалоба Опыт то есть, только промышленность и приборы у всех разные. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
di4zerus 0 24 октября, 2018 Опубликовано 24 октября, 2018 · Жалоба Моя промышленность - это -1...+40 градусов и возможное нахождение в полуметре от 75 кВт нагревателя с тиристорным управлением. Если не секрет, в оборудовании какого типа Вы их применяете? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Integro 0 24 октября, 2018 Опубликовано 24 октября, 2018 · Жалоба 14 hours ago, di4zerus said: И всё же, есть у кого-нибудь опыт установки EFM32 в промышленные приборы. Чтоб industrial, так industrial. уточните Ваш вопрос! Какие требования к устройство? Требования надежности? По вашему контроллер рассчитанный на использование в температурном диапазоне -40 to +125°C (из даташита на EFR32BG1P333F256IM48-C0 ) предназначен для детских игрушек? UPD: долго писал, уже ответили. Тогда да! подойдет! Но в данном случае не все от контроллера зависит, требованиям надежность должны удовлетворять все компоненты, то-есть все устройство, в том числе плата и корпус. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 24 октября, 2018 Опубликовано 24 октября, 2018 · Жалоба 15 часов назад, di4zerus сказал: И всё же, есть у кого-нибудь опыт установки EFM32 в промышленные приборы. Чтоб industrial, так industrial. Можно вот как поступить. Известен официальный поставщик этих микросхем в России. И можно туда так вежливо позвонить, сказать что будете покупать только у них и много... и спросить, продают ли они микросхемы в исполнении "industrial", а не только в коммерческом. А потом так же вежливо попросить их дать пару телефонов тех, кто применяет, чтобы выяснить "кое-какие технические детали"... Ну и позвонить, а может быть даже и подъехать, поговорить... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 24 октября, 2018 Опубликовано 24 октября, 2018 · Жалоба 1 hour ago, Integro said: Но в данном случае не все от контроллера зависит, требованиям надежность должны удовлетворять все компоненты, то-есть все устройство, в том числе плата и корпус. Вы почему-то не упомянули самое главное: кривизну рук (или отсутствие таковой). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 234 24 октября, 2018 Опубликовано 24 октября, 2018 · Жалоба В 22.10.2018 в 21:28, di4zerus сказал: Как у них с АЦП. Шумное? Можно ли использовать для такого разрешения? Как-то странно - область применения озвучена типа "серьёзная", а денег на то чтобы закупить отладочные платы для планируемого МК и потестить реальный МК на них - нету. И выбор делается на основании отзывов на некоем форуме. Отзывов непонятно от кого и какой степени достоверности... %-) 31 минуту назад, iosifk сказал: А потом так же вежливо попросить их дать пару телефонов тех, кто применяет, чтобы выяснить "кое-какие технические детали"... Ну и позвонить, а может быть даже и подъехать, поговорить... А Вам продаваны так и раскрывают "кто применяет"? Обычно они вроде ссылаются на коммерческую тайну.... Если только не совсем ручные-прикормленные ;)))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 24 октября, 2018 Опубликовано 24 октября, 2018 · Жалоба 4 минуты назад, jcxz сказал: А Вам продаваны так и раскрывают "кто применяет"? Обычно они вроде ссылаются на коммерческую тайну.... Если только не совсем ручные-прикормленные ;)))) Не знаю, как другие, а я в таких случаях старался помочь. Уж если не свести напрямую, то запросить у знакомых помощи для клиента никогда не отказывал.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rx3apf 0 24 октября, 2018 Опубликовано 24 октября, 2018 · Жалоба В 22.10.2018 в 21:28, di4zerus сказал: Вообще, в виду простоты прибора, хотел делать на MSP430. Если речь о оцифровке медленных сигналов и о простом приборе - почему бы не сделать на STM8 ? Стоит копейки, жрет мало... Разве что ради освоения ARM ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
di4zerus 0 24 октября, 2018 Опубликовано 24 октября, 2018 (изменено) · Жалоба 1 hour ago, jcxz said: Как-то странно - область применения озвучена типа "серьёзная", а денег на то чтобы закупить отладочные платы для планируемого МК и потестить реальный МК на них - нету. И выбор делается на основании отзывов на некоем форуме. Отзывов непонятно от кого и какой степени достоверности... %-) Вообще то я не фирма, потому и денег на инструмент не много. И производство, на котором я работаю, не относится к разработке электроники. С отладочными платами туго (за более или менее приемлемую цену, пытался заказать с texas instruments - не пропустили на нашей таможне). Но есть проблема. Решение которой позволит облегчить мой физический труд. 1 hour ago, rx3apf said: Если речь о оцифровке медленных сигналов и о простом приборе - почему бы не сделать на STM8 ? Стоит копейки, жрет мало... Разве что ради освоения ARM ? MSP430 тогда уж. У меня аналоговая часть есть. Насчёт копеек, спорно конечно - с ARM цены примерно равны (где-то в начале сравнивал цены с EFM32 cortex M4F и MSP430). Да и народ везде ARM пихает теперь. Думаю, с ними будет банально легче. 1 hour ago, iosifk said: Не знаю, как другие, а я в таких случаях старался помочь. Уж если не свести напрямую, то запросить у знакомых помощи для клиента никогда не отказывал.. Только утром подумал, что было бы неплохо обменять немного знаний и опыта, например, на коньяк:) Как только что то конкретное получиться, естественно, буду искать критику. На этом форуме, обычно не отказывают:) Спасибо Вам всем за отклик, кстати! Изменено 24 октября, 2018 пользователем di4zerus Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться