Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить

Re: Мелкие вопросы по МК и ПЛИС.

Пн окт 05, 2020 07:58:08

по-моему, когда включен "внутренний источник с внешним конденсатором", то на этом самом внешнем конденсаторе (Vref) и будет то самое напряжение, что вам нужно.

Re: Мелкие вопросы по МК и ПЛИС.

Пн окт 05, 2020 09:47:43

насколько я понял из даташита, это справедливо только для источника 2.56В.
Код:
Internal 2.56V Voltage Reference with external bypass capacitor at
PB0 (AREF) pin(1).


Для 1.1В нет варианта среди MUX битов выдернуть его на AREF

Re: Мелкие вопросы по МК и ПЛИС.

Пн окт 05, 2020 16:36:11

Про какой МК идёт речь?

Re: Мелкие вопросы по МК и ПЛИС.

Пн окт 05, 2020 23:07:19

Про какой МК идёт речь?

тинька25

Re: Мелкие вопросы по МК и ПЛИС.

Вт окт 06, 2020 01:05:28

The ADC converts an analog input voltage to a 10-bit digital value through successive approximation.
The minimum value represents GND and the maximum value represents the voltage on
VCC, the voltage on the AREF pin or an internal 1.1V / 2.56V voltage reference.
The voltage reference for the ADC may be selected by writing to the REFS2:0 bits in ADMUX.
The VCC supply, the AREF pin or an internal 1.1V / 2.56V voltage reference may be selected as
the ADC voltage reference. Optionally the internal 2.56V voltage reference may be decoupled
by an external capacitor at the AREF pin to improve noise immunity.



В даташите написано что REFS = 3 зарезервировано
1.png

А в АВ (Algorithm Builder) указано, что REFS = 3 подключает ИОН 1,1 В к Р0 (AREF) :dont_know:
Наверное в АВ ошибка…

Re: Мелкие вопросы по МК и ПЛИС.

Пт окт 09, 2020 08:48:07

Доброго всем дня

У нас на оборудование попала вода
После сушки, чистки солей, запустили, всё работает, но сие изделие стало греться.

Заказали снабжению, привезли (на фотографии справа)
Изображение

Смущает что 3я строка отличается, предположение что это серийный номер.
В datasheet по чипу нет упоминания расшифровок строк.
Ещё не ставили на оборудование.

Кто либо с подобными чипами работал ?

С Уважением

Re: Мелкие вопросы по МК и ПЛИС.

Пт окт 09, 2020 12:09:07

Mr.Vasiliy, не серийный номер, а скорее всего номер партии или код даты производства. Не заморачивайтесь, модель такая же.

Re: Мелкие вопросы по МК и ПЛИС.

Сб окт 17, 2020 21:17:20

Mr.Vasiliy, не серийный номер, а скорее всего номер партии или код даты производства. Не заморачивайтесь, модель такая же.


При много благодарен Вам за ответ!

Re: Мелкие вопросы по МК и ПЛИС.

Вс окт 18, 2020 06:30:35

Ещё не ставили на оборудование.

А у вас есть прошивка для него? У вас есть инструмент для его прошивки? Или чип поставил производитель оборудования?

Re: Мелкие вопросы по МК и ПЛИС.

Пн окт 19, 2020 07:41:35

КРАМ, это ROMless МК. Прошивка на внешней памяти.

Re: Мелкие вопросы по МК и ПЛИС.

Вт янв 05, 2021 12:49:16

Ваяю симисторный регулятор мощности для ТЭНа на ATMega32A. Индикация на семисегментном индикаторе, измерение тока при помощи измерительного трансформатора тока и диференциальных входов АЦП меги. Меня смущает, не будет ли переключение выводов занятых семисегментным индикатором (не на PORTA) оказывать значительного влияния на АЦП? У AVR АЦП и так не очень.
По схеме и разводке вроде сделал что возможно: питание AVCC через LC фильтр, отдельная аналоговая земля, земляной полигон вокруг аналоговых цепей, отдельная микросхема ИОН.
Не слишком хочется ставить 74HC595 или использовать индикатор другого типа.

Re: Мелкие вопросы по МК и ПЛИС.

Пт янв 08, 2021 12:37:25

не будет ли переключение выводов занятых семисегментным индикатором (не на PORTA) оказывать значительного влияния на АЦП?

Что мешает отключать индикацию на время преобразования?

Re: Мелкие вопросы по МК и ПЛИС.

Вс янв 10, 2021 10:18:23

Что мешает отключать индикацию на время преобразования?

Не хочется никакого мерцания. По сути так и сделал.
Для измерения действующего (среднеквадратичного) тока, надо делать множество выборок, по факту АЦП молотит без остановки. Весь ногодрыг сделал после перехода сетевого напряжения через ноль, и до включения симистора. Все полученные значения АЦП за это время можно смело не учитывать, ведь по факту ток в нагрузку не течёт, разве что последнее значение АЦП перед включением симистора можно использовать для контроля исправности симистора.
Судя по расчётам, момент включения симистора после пересечения сетевого наряжения через ноль, для 99% мощности наступает через 1,31мС. Этого более чем достаточно для всего ногодрыга и математики.
Всё таки сделал с 74HC595, и максимально разделил питание МК, аналоговой части и индикации.

Re: Мелкие вопросы по МК и ПЛИС.

Пт янв 22, 2021 17:35:55

Доброго времени суток. Пытаюсь откомпилировать фрагмент кода. Код на Си с асемблерными вставкам. Среда разработки AtmelStudio. Функция, один из аргументов - пин микроконтроллера.
// digitalWrite(PB0, 1);
void digitalWrite(uint8_t pin, uint8_t val){
...
asm volatile("sbi %0, %1" :: "I"(_SFR_IO_ADDR(PORTB)), "I" (pin));// PB0
...
}

Компилируется с ошибкой. Переводя текст ошибки с английского на руссий "Не понимаю что такое pin"
и еще перевод "Ошибка невозможного ограничения в 'asm' "
Вопрос - как аргумент функции передать в асемблерный код? Если поставить напрямую PB0 в код, то компилируется, 0...7 тоже компилируется.

Re: Мелкие вопросы по МК и ПЛИС.

Пт янв 22, 2021 17:47:56

а если
Код:
const uint8_t pin

?

Re: Мелкие вопросы по МК и ПЛИС.

Пт янв 22, 2021 23:37:38

Пробовал так
uint8_t const _pin = pin;
asm volatile("sbi %0, %1" :: "I"(_SFR_IO_ADDR(PORTB)), "I" (_pin));

Не фурычит. Компилятор не проверяет асемблерный код.
(ошибка,предупреждение) asm operand 1 probably doesn't match constraints
Это он(компилятор) жалуется то что стоит после ограничителя. Ограничитель это "I", который находится в диапазоне 0-63.
А уменя тут uint8_t который 0-255. Все правильно. Мне стала понятна природа ошибки. С асемблером только начинаю дружить.

Добавлено after 9 minutes 58 seconds:
Попробую заключить аргумент PIN в структуру и выделить ему три бита.

Добавлено after 5 hours 15 minutes 27 seconds:
конструкция
Код:
struct PinName {
   const uint8_t _pin :3; // 0...7
   } pinName = { pin };

где постоянной _pin выделено 3 бита(0...7) и присвоено значение из аргумента функции pin всё равно не работает,
asm volatile("sbi %0, %1" :: "I"(_SFR_IO_ADDR(PORTB)), "I" (pinName._pin2) );
т.к. на этапе компиляции значение pin все равно не известно. А по сему компилятор и выдает сообщение "хз, что ты там втетерил". Но как только я задаю значение pin явно, хоть uint32_t _pin2 = 5; Ошибок компиляции нет. Ставил в код ассемблера ограничитель"М"(0...255) вместо "I"(0...63) Все равно не работает. Вывод - значение pin должно быть известно до компиляции. Но у меня код ассемблера в функции. А в функции значения аргументов заранее не известны (на то она и функция). Т.е. на драной козе пока не подъехать.

Re: Мелкие вопросы по МК и ПЛИС.

Пт янв 22, 2021 23:45:37

и еще перевод "Ошибка невозможного ограничения в 'asm' "
Вопрос - как аргумент функции передать в асемблерный код? Если поставить напрямую PB0 в код, то компилируется, 0...7 тоже компилируется.

Номер пина - это константа прошитая в инструкции SBI, а аргумент функции - это не константа времени компиляции. Можно или макрос использовать или на C++ передавать номер пина в качестве шаблонного параметра.

Re: Мелкие вопросы по МК и ПЛИС.

Пт янв 22, 2021 23:54:04

Уважаемые коты - это мой первый опыт на ассемблере, пытаюсь сделать некоторые ардуиновские функции для голого МК (ATtiny напр.). digitalWrite, digitalRead, pinMode ну и пр. ( на Си сделал, работает. слишком просто и не интересно )

Re: Мелкие вопросы по МК и ПЛИС.

Сб янв 23, 2021 00:05:17

( на Си сделал, работает. слишком просто и не интересно )

Самый оптимизированный код сейчас генерит C++, там можно сказать компилятору, что вот тебе 5 экранов кода, все посчитай и верни константу времени компиляции... Но по мнению многих получается наоборот слишком сложно :) В любом случае ардуино явно не лучший пример для подражания...

Re: Мелкие вопросы по МК и ПЛИС.

Сб янв 23, 2021 00:19:02

О макросах. http://we.easyelectronics.ru/AVR/assemb ... r-gcc.html На этом форуме есть в обсуждениях полезные макросы на ASM. Установка бита, сброс бита...(полистать несколько экранов вниз). Однако как говорил наш командир роты. Макрос, это макрос. А функция, это функция.

Добавлено after 3 minutes 40 seconds:
А вот как раз я и ненавижу Ардуино. (Но это так по секрету всему свету)
Ответить