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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

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

Мой уютный бложик... заходите!
NebelWefer
Грызет канифоль
Сообщения: 274
Зарегистрирован: Чт апр 16, 2009 14:23:59

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

Сообщение NebelWefer »

насколько я понял из даташита, это справедливо только для источника 2.56В.

Код: Выделить всё

Internal 2.56V Voltage Reference with external bypass capacitor at
PB0 (AREF) pin(1).


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

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

Сообщение Самсусамыч »

Про какой МК идёт речь?
NebelWefer
Грызет канифоль
Сообщения: 274
Зарегистрирован: Чт апр 16, 2009 14:23:59

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

Сообщение NebelWefer »

[uquote="Самсусамыч",url="/forum/viewtopic.php?p=3902102#p3902102"]Про какой МК идёт речь?[/uquote]
тинька25
Самсусамыч

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

Сообщение Самсусамыч »

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:
Наверное в АВ ошибка…
Mr.Vasiliy
Родился
Сообщения: 3
Зарегистрирован: Чт авг 04, 2016 17:37:44

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

Сообщение Mr.Vasiliy »

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

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

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

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

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

С Уважением
NStorm
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

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

Сообщение NStorm »

Mr.Vasiliy, не серийный номер, а скорее всего номер партии или код даты производства. Не заморачивайтесь, модель такая же.
Mr.Vasiliy
Родился
Сообщения: 3
Зарегистрирован: Чт авг 04, 2016 17:37:44

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

Сообщение Mr.Vasiliy »

[uquote="NStorm",url="/forum/viewtopic.php?p=3904036#p3904036"]Mr.Vasiliy, не серийный номер, а скорее всего номер партии или код даты производства. Не заморачивайтесь, модель такая же.[/uquote]

При много благодарен Вам за ответ!
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25123
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

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

Сообщение КРАМ »

[uquote="Mr.Vasiliy",url="/forum/viewtopic.php?p=3903966#p3903966"]Ещё не ставили на оборудование.[/uquote]
А у вас есть прошивка для него? У вас есть инструмент для его прошивки? Или чип поставил производитель оборудования?
NStorm
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

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

Сообщение NStorm »

КРАМ, это ROMless МК. Прошивка на внешней памяти.
Аватара пользователя
FeCat
Прорезались зубы
Сообщения: 211
Зарегистрирован: Пт окт 21, 2011 14:39:31

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

Сообщение FeCat »

Ваяю симисторный регулятор мощности для ТЭНа на ATMega32A. Индикация на семисегментном индикаторе, измерение тока при помощи измерительного трансформатора тока и диференциальных входов АЦП меги. Меня смущает, не будет ли переключение выводов занятых семисегментным индикатором (не на PORTA) оказывать значительного влияния на АЦП? У AVR АЦП и так не очень.
По схеме и разводке вроде сделал что возможно: питание AVCC через LC фильтр, отдельная аналоговая земля, земляной полигон вокруг аналоговых цепей, отдельная микросхема ИОН.
Не слишком хочется ставить 74HC595 или использовать индикатор другого типа.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20091
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

[uquote="FeCat",url="/forum/viewtopic.php?p=3953805#p3953805"]не будет ли переключение выводов занятых семисегментным индикатором (не на PORTA) оказывать значительного влияния на АЦП?[/uquote]
Что мешает отключать индикацию на время преобразования?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
FeCat
Прорезались зубы
Сообщения: 211
Зарегистрирован: Пт окт 21, 2011 14:39:31

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

Сообщение FeCat »

[uquote="Gudd-Head",url="/forum/viewtopic.php?p=3955568#p3955568"]Что мешает отключать индикацию на время преобразования?[/uquote]
Не хочется никакого мерцания. По сути так и сделал.
Для измерения действующего (среднеквадратичного) тока, надо делать множество выборок, по факту АЦП молотит без остановки. Весь ногодрыг сделал после перехода сетевого напряжения через ноль, и до включения симистора. Все полученные значения АЦП за это время можно смело не учитывать, ведь по факту ток в нагрузку не течёт, разве что последнее значение АЦП перед включением симистора можно использовать для контроля исправности симистора.
Судя по расчётам, момент включения симистора после пересечения сетевого наряжения через ноль, для 99% мощности наступает через 1,31мС. Этого более чем достаточно для всего ногодрыга и математики.
Всё таки сделал с 74HC595, и максимально разделил питание МК, аналоговой части и индикации.
Аватара пользователя
Эйлер Леонард
Встал на лапы
Сообщения: 104
Зарегистрирован: Пн ноя 04, 2019 09:58:29
Откуда: г. Нижний Тагил Свердл. обл.

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

Сообщение Эйлер Леонард »

Доброго времени суток. Пытаюсь откомпилировать фрагмент кода. Код на Си с асемблерными вставкам. Среда разработки AtmelStudio. Функция, один из аргументов - пин микроконтроллера.
// digitalWrite(PB0, 1);
void [color=#FF0000]digitalWrite(uint8_t pin, uint8_t val){
...
asm volatile("sbi %0, %1" :: "I"(_SFR_IO_ADDR(PORTB)), "I" (pin));// PB0
...
}[/color]
Компилируется с ошибкой. Переводя текст ошибки с английского на руссий "Не понимаю что такое pin"
и еще перевод "Ошибка невозможного ограничения в 'asm' "
Вопрос - как аргумент функции передать в асемблерный код? Если поставить напрямую PB0 в код, то компилируется, 0...7 тоже компилируется.
parovoZZ
Мудрый кот
Сообщения: 1759
Зарегистрирован: Пт июн 01, 2018 07:28:45

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

Сообщение parovoZZ »

а если

Код: Выделить всё

const uint8_t pin

?
Аватара пользователя
Эйлер Леонард
Встал на лапы
Сообщения: 104
Зарегистрирован: Пн ноя 04, 2019 09:58:29
Откуда: г. Нижний Тагил Свердл. обл.

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

Сообщение Эйлер Леонард »

Пробовал так
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 должно быть известно до компиляции. Но у меня код ассемблера в функции. А в функции значения аргументов заранее не известны (на то она и функция). Т.е. на драной козе пока не подъехать.
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

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

Сообщение Reflector »

[uquote="Эйлер Леонард",url="/forum/viewtopic.php?p=3965269#p3965269"]и еще перевод "Ошибка невозможного ограничения в 'asm' "
Вопрос - как аргумент функции передать в асемблерный код? Если поставить напрямую PB0 в код, то компилируется, 0...7 тоже компилируется.[/uquote]
Номер пина - это константа прошитая в инструкции SBI, а аргумент функции - это не константа времени компиляции. Можно или макрос использовать или на C++ передавать номер пина в качестве шаблонного параметра.
Аватара пользователя
Эйлер Леонард
Встал на лапы
Сообщения: 104
Зарегистрирован: Пн ноя 04, 2019 09:58:29
Откуда: г. Нижний Тагил Свердл. обл.

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

Сообщение Эйлер Леонард »

Уважаемые коты - это мой первый опыт на ассемблере, пытаюсь сделать некоторые ардуиновские функции для голого МК (ATtiny напр.). digitalWrite, digitalRead, pinMode ну и пр. ( на Си сделал, работает. слишком просто и не интересно )
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

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

Сообщение Reflector »

[uquote="Эйлер Леонард",url="/forum/viewtopic.php?p=3965539#p3965539"]( на Си сделал, работает. слишком просто и не интересно )[/uquote]
Самый оптимизированный код сейчас генерит C++, там можно сказать компилятору, что вот тебе 5 экранов кода, все посчитай и верни константу времени компиляции... Но по мнению многих получается наоборот слишком сложно :) В любом случае ардуино явно не лучший пример для подражания...
Аватара пользователя
Эйлер Леонард
Встал на лапы
Сообщения: 104
Зарегистрирован: Пн ноя 04, 2019 09:58:29
Откуда: г. Нижний Тагил Свердл. обл.

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

Сообщение Эйлер Леонард »

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

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

Вернуться в «Разные вопросы по МК»