Проект HSP Energy, краткое описание и небольшая просьба

КДПВ

Я тут обещал тов. Vga написать что-нибудь про проект лаборатории встраиваемых систем моего технического университета, в котором я сейчас участвую.

Суть проекта в разработке методов энергоэффективного программирования для МК различных архитектур.
Цель: разработка «правил хорошего тона» для написания энергоэффективного кода для каждого участвующего в проекте МК, а в пределе — реализация этих правил в виде плагина для Keil uVision (работы спонсируются в том числе и Keil), который подсказывал бы разработчику пути по оптимизации энергопотребления при сохранении тех же самых вычислительных возможностей.
Грубо говоря, мы хотим выяснить, лучше ли глобальные переменные локальных и если лучше, то насколько?
Эффективно ли разворачивание циклов?
Где выгоднее хранить прошивку, на флеше или в RAM с загрузкой из внутреннего или внешнего хранилища?
И так далее и тому подобное.
Подробности и немного схем — под катом.


Сейчас проект находится на начальных стадиях, готовится железо, выбираются варианты исследуемых МК. Вебсайта тоже пока нет, но скоро, думаю, и до него руки дойдут.

В качестве измерительного оборудования используются Agilent N6705B Power Analyzer (на картинке для привлечения внимания именно он) для точных измерений, и Hitex PowerScale для грубых.

Железо в проекте — это базовая плата (вроде Pinboard, только значительно более простая), на которой находится система питания (преобразователи из 12 в 5, 3.3 и 1.8 В, во время измерений не используются), конвертер USB<->UART и USB<->JTAG на базе FT2232H, 3 кнопки и 3 диода для тестирования демо-программ и разъем под плату с CPU.
Схему базовой платы я приводить не буду — стыдно. :) Разработчик оказался очень ленивым и недобросовестным, поэтому после некоторого количества дискуссий всю железную часть перевесили на меня.
Опыта у меня в этом деле немного, но я стараюсь его набирать, читая документацию и аппноуты производителей, да и просто слушая мнения грамотных людей. Вот потому я это все сюда и пишу. :)

В понедельник, 3 июня, в производство будет отправлена очередная партия CPU-платок для разных МК.
Я подготовил два разных дизайна, один для STM32F1xx/L1xx/F2xx, другой для Infineon XE167FM.
Корпуса я, к сожалению, выбрать самостоятельно не могу — чипы уже пришли, поэтому развел под то, что есть.
Оба дизайна попадают в ограничения Eagle CAD Freeware, так что проблем с их открытием возникнуть не должно.

Я был бы очень благодарен, если бы читатели этой заметки покритиковали мои наработки, чтобы я мог исправить возможные ошибки и в производство попали уже хорошие платы, а не тот хлам, который нам сделали в самом начале.
Заранее извиняюсь за возможную кривизну — это мой первый дизайн в Eagle CAD и третий за все время.
Спасибо всем большое заранее.

UPD: Платы пришли, все работает как задумано, спасибо коментаторам за конструктив.

Репозиторий проекта на Github: HSP Energy.
Изображения плат без земляных полигонов:
STM32F1
XE167FM

Комментарии (69)

RSS свернуть / развернуть
Неплохо бы картинки в саму заметку вставить. Алсо, как определить, что подсоединено к земле, а что — просто NC?
0
  • avatar
  • Vga
  • 02 июня 2013, 00:32
Вставлено.
Как определить — хороший вопрос. По этим картинкам и не скажешь, а выкладывать с земляным полигоном — ничего видно не будет.
Грубо говоря, можно считать, что все не подсоединенные ни к чему элементы, кроме ног МК, подсоединены к общей земле.
0
… интересный проект. Кстати, хорошоб предусмотреть на плате несколько перемычек (как в STM32F4Discovery), в разных точках, для измерения потребления контроллеров.
ЗЫ… а нельзя добавить 3Д модели плат в статью?
0
На платах нет практически ничего потребляющего, за исключением резисторов подтяжки и самого чипа, поэтому перемычки там не нужны. Все относящиеся к измерениям находится на базовой плате.
Про 3D — можно и добавить, если сделать. :) Я читал про Eagle3D, но пока до него не дошли руки.
0
Вот бы кто сделал опыт с измерением потребления отдельно по выводам питания микроконтроллеров, где их много, не в целом. Если МК потребляет 100 мА, то насколько равномерно оно запитывается со всех сторон? А что будет, если не подключить одно питание. А если два? Или три? Или вообще оставить только одно.

А то я постоянно встречаю любителей пускать питание и сквозь МК на отдельные устройства (меньше разводить), и подключать только одну пару выводов питания, дескать, внутри контроллер сам разберётся. Хотя бы на примере какой-нибудь лкуэфпэшной меги или эстэмки.
0
Интересная задача. Могу сказать, что на чипах Infineon ноги эти нужны не только для питания, но и для подключения конденсаторов.
The Core Supply pins VDDIM/VDDI1 serve two purposes: While the on-chip EVVRs
provide the power for the core logic of the XE16xyM these pins connect the EVVRs to
their external buffer capacitors. For external supply, the core voltage is applied to these
pins. The respective VDDI/VSS pairs should be decoupled as close to the pins as possible.
Use ceramic capacitors and observe their values recommended in the respective Data
Sheet.
The Power Supply pins VDDPA/VDDPB provide the power supply for all the analog and
digital logic of the XE16xyM. Each power domain (DMP_A and DMP_B) can be supplied
with an arbitrary voltage within the specified supply voltage range (please refer to the
corresponding Data Sheets). These pins supply the output drivers as well as the on-chip
EVVRs (VDDPB), except for external core voltage supply. The respective VDDP/VSS pairs
should be decoupled as close to the pins as possible.
А если там с питанием будет напутано — контролер, скорее всего, зависнет в вечном ресете.
The supply voltage VDDPB is monitored to validate the overall power supply. The supply watchdog
detects ramp-up or ramp-down of the external supply voltage and generates a power-on reset.
0
Конденсаторы — это непременно к любым контроллерам =)

В stm32f4 тоже есть выводы чисто для конденсаторов внутренних понижающих преобразователей (3.3-1.8). Правда, как их наличие влияет, я тоже не проверял. Это уже из области «а давай сломаем». А вот с Infineon не знаком. Но ситуация логичная, да.
0
У STM32F1 аналоговое питание точно отдельно от цифрового и оно питает генераторы (в том числе, а так же всяческие PLL-и), так что если этого питания нет, контроллер не заведется.
0
Ага, я в курсе =)

Практическое применение, в общем, у этой задачи только одно: тыкать в него тех, кто не делает всё как надо.
0
На этот счет существует гораздо более простое правило: бить (возможно ногами) тех, кто полагает, что производители чипов глупее пользователей этих чипов.
0
Я согласен с этим подходом
0
Ну чтож, хочется пожелать тов. CodeRush успехов! Дело не благодарное и тяжелое…
Пишите побольше о свои трудах!
0
Спасибо. Писать буду обязательно.
Один только этот 16-битный Infineon с архитектурой C166 у меня вызывает оторопь: 1600+ страниц мануала, вагон переферии и миллион режимов. А ведь мне надо будет завести его и портировать бенчмарки.
Я тут ругался на наркоманский дизайн переферии у STM32F1xx, так вот — я передумал. :)
0
Да ну то предвзятости=)) Я в свое время сидел PIC-ах, пока в руки msp430 с tms320-ми от TI не попали… и тут все… ничем не переубедишь и не заставишь от них отойти!
Но главное не это — а то что освоив один камень, намного легче освоить и еще один!
0
Да я понимаю, но все равно страшновато. :)

Для PIC32 уже даже плата есть, правда, там с разводкой кварца напутано (профессионалы из комерческих структур продолжают сажать конденсаторы кварца на общую землю) и я не уверен, что она запустится нормально, но повлиять на ее дизайн я уже не могу.
0
Мда… тут беда…
0
Хорошее дело делаете!
Найдите еще добровольцев для исследования систем, нацеленных на low-power: STM8L, Kinetis, MSP430. Ну и само собой, ждём детального сравнения энергоэффективности 8- и 32-битников.
0
Вот господа Вам сообщество наше зачем? Я на MSPшке по воле возможностей тестил бы!
Но все время… И все же интересно)))
0
Да тут бы хоть с 32-битными разобраться более или менее, не до жиру.
Из энергоэфективных-по-дизайну попробуем обязательно SMT32L1xx и что-нибудь EMF32.
0
в виде плагина для Keil uVision (работы спонсируются в том числе и Keil)

В качестве измерительного оборудования используются Agilent N6705B Power Analyzer… Hitex PowerScale

Опыта у меня в этом деле немного, но я стараюсь его набирать…

Я был бы очень благодарен, если бы читатели этой заметки покритиковали мои наработки… Бла-бла-бла

Каштаны куда складывать?

P.S. Не надо заниматся самодеятельностью(надо заниматся тем, на что наняты — кодированием) и надо выпилить немного денег на отладки спроектир.профессионалами или получить их у Keil или производителя
0
Eval Kit'ов — море разливаное, пользуйся не хочу. Только вот все больше про не хочу уже. :)
На китах масса ненужной обвязки, которая измерениям только мешает, поэтому свое железо и разрабатывается.
Меряли уже на китах — невозможно отделить потребление чипа от потребления всего остального без серьезной переработки схемы.
Да и проект этот — он ведь не только исследовательский, но и образовательный, это же не НИИ, и задача не только в том, чтобы намерять и сделать выводы, но и в том, чтобы научиться и научить студентов.
0
Хороший почин! Успехов и напишите о всех результатах и, может, процессе. Энергоэффективность — очень важная штука.

Правда, я не уверен, что стиль кодирования (те или иные переменные) заметно влияет на потребление. Хотя бы по сравнению с режимами энергопотребления и правильно настроенной периферией и портами. Вот там разница на порядки=)
0
Режимы тоже будут исследоваться, конечно. Но это еще вопрос, что энергетически выгоднее, выполнить какие-то вычисления на максимальной частоте и с использованием всех возможных вчислительных блоков за время Х, или скажем выполнить то же самое на одном блоке и половинной частоте за время 4Х.
Вопросов море, но отвечать пока никто сильно и не торопится, ведь проект не на один семестр.
0
А что значит блоки? Это что-то вроде вычислительных ядер? Если рассматривать, например, сопроцессор FPU как блок, то без него дробные числа считать очень долго и мучительно…

Но я понял) А какого-нибудь студента, подкованного в физике/математике, теоретически оценивать или предсказывать некоторые результаты подрядили? Или задача чисто практическая?
0
Задача пока чисто практическая, сейчас важно
а) сделать подходящее железо
б) портировать на него имеющиеся бенчмарки
в) измерить энергозатраты и занести измерения в протокол
Исследования протоколов, теоритические обоснования и т.п. будут много позже.
0
Понятно, подготовка опытной базы.
0
>>Но это еще вопрос, что энергетически выгоднее
На самом деле это сильно зависит от конкретной решаемой задачи и особенностей процессора, на котором она решается. Тут влияют факторы, типа банального соотношения тока потребления в рабочем режиме и тока в спящем режиме, требуемой периферии, скоростей перехода между режимами, скорости чтения кода и тд. Хотя, конечно, для большинства задач считается, что быстро посчитать и лечь спать выгоднее чисто из-за закона роста тока от частоты. Особенно это хорошо должно быть видно на Ваших инфинеонах с формулой (10mA + 0.6mA/MHz*Fcpu). Вот тут, кстати, немного написано на эту тему.
К слову, на тему выбора камней — откуда этот инфинеон взялся? Что-то не похож он на камень, который берут, когда надо экономить энергию.

Ну и, раз уж начал, пара мыслей на тему проставленных вопросов (простите за критику, чисто моё ИМХО):
>> лучше ли глобальные переменные локальных<...> Эффективно ли разворачивание циклов?
Что-то мне подсказывает, что это больше зависит от компилятора, чем от камня. В любом случае, прирост здесь такой, что этим стоит маяться только когда исчерпаны все аппаратные оптимизации (от выбора правильного камня до правильного использования периферии). Опять-таки, архитектурный вопрос — на простых АВРках ток потребления слабо зависит от того, какой именно код исполняется — главное, сколько работает/спим и какая периферия активна, а вот на АРМах, например, ток в активном режиме заметно зависит от уровня оптимизации компилятора.
Что же касается откуда брать код, то вроде тут однозначно — если исполняться из RAM потребление будет меньше, особенно на высоких частотах. У STM32L даже даны параметры потребления для исполнения из флеша и из РАМа — можно сравнить.
+1
Инфинеон взялся в проекте потому, что у руководителей большой опыт работы с чипами архитектуры C166, еще с тех времен, когда Infineon были частью Siemens.

Понятно, что аппаратные оптимизации выгоднее программных, как понятно и то, что удачный выбор камня может решить вопрос гораздо быстрее, чем перенос кода из флеша в рам, но тут задача стоит не в сравнении разных МК между собой, а в сравнении «обычного» и «энергитически оптимизированного» кода на одном и том же МК в одних и тех же условиях.
Другими словами, хочется посмотреть, что именно нужно делать, чтобы на выполнение той же самой программы тратилось меньше энергии. Какими оптимизациями это достигается, что можно отключить без вреда и как именно перестроить код, чтобы видимый результат был — нам всем и предстоит выяснить. Понятно, что для разных МК эти подходы будут разными, но тем не менее.
Мои же задача сейчас — разработать платы, поправить косяки, если таковые найдутся, написать для каждого чипа демонстрационную программу, показывающую, что чип и плата работают так, как задумано и написать HowTo по каждой из плат, как подключать, как прошить, как отлаживать, как запустить UART Bootloader и т.п. Непосредственно измерениями я пока не занимаюсь — на это людей хватает и без меня.
0
>>Непосредственно измерениями я пока не занимаюсь — на это людей хватает и без меня.
А по мне так измерения — это самое интересное =) Сам периодически трачу немало времени на то, что бы обмерить потребление камней в разных режимах.

Ну в любом случае, дело полезное — будем ждать результатов. Но ИМХО всё-таки камни следует взять изначально энерго-эффективные.
0
Ну в любом случае, дело полезное — будем ждать результатов.
Alatar, результатов скорее всего не дождетесь. Почему? Поскольку это будет ДСП(Для Служебного Пользования), я бы так и сделал, поскольку выхода другого нет, и вот почему:

1. Это научная работа института/лаборатории/группы сотрудников, такие работы не печатаются в открытой печати(получить можно только по запросу, если дадут), тем более в полном виде(тонны цифр, таблиц и т.п. в чем сам цинус), может выйдет на 1-2 стр. обзорная общая, беспонтовая статья о работе в академ.журнале.

2. Это все курирует Keil(т.е. ARM) — ему же на стол и лягут результаты, а что напечатать и что не печатать из этого в рекламной статейке или буклете — решать будет уже он. Конкуренция-с с другими архитектурами.

3. Здесь завязаны производители — кач-во и уровень их продукции, т.е. их бабло. Если допустим, той же ST Micro что-то не понравится в статье: а почему это наши чипы вдруг хуже всех других оказались — ей очень легко юридически, или рычагом через ARM нахлобучить по башке сию команду «энтузиастов».

4. И т.п.
+1
Все примерно так и есть.
Т.е. дизайн плат и всю остальную подобную чепуху я могу выкладывать сколько угодно. Как и свои, скажем так, мнения по поводу того, что вот этот чип ЖРЕТ, а вот этот — нет, но результаты именно в виде сырых таблиц никто (в первую очередь, спонсоры) выложить для всех желающих не даст.
Тем не менее, то что могу — буду понемногу выкладывать, мне еще документацию писать по моим частям проекта, и если я ее сначала по простому опишу по русски, то потом и на оставшихся двух языках работа легче идет.
0
лучше ли глобальные переменные локальных и если лучше, то насколько?
Эффективно ли разворачивание циклов?

Ну в целом любителей и «профи», работающих на мелкие/средние фирмешки — это все мало должно интересовать. В устр-вах с low energy MCU наибольшую проблему с энергопотреблением может представлять даже не сам чип MCU, а чип питания с низким КПД и другие чипы/активные компоненты платы.

CMOS-чипы почти идеальные компоненты для таких устр-в, т.к. потребляют ток практически только в моменты переключения их вентилей(2-х тактных цепей), но надо как-то попытатся исключить подтяжки на их входах, т.к. это сквозные постоянные токи в статическом режиме — подтяжка к VDD — сквозной ток, когда нижний транзистор вых.каскада источника открыт(«0» на выходе), подтяжка к GND — сквозной ток, когда верхний транзистор вых.каскада источника открыт(«1» на выходе).

По возможности никаких биполярных транзисторов и тиристоров, только MOSFETs. Так же никаких поумолчанию открытых MOSFETs и резисторных делителей напряжения между цепями со статичным напряжением.

Диоды с малыми токами утечки.

Что еще?

ВНЕЗАПНО, видимо прийдется отказаться от такого важного компонента, как Pwr LED!

УЖИС, короче, и причем здесь вроде бы чип low power MCU.
0
Гм, C166… ЕМНИП, это одна из всего четырех архитектур, которые поддерживает Keil. Можешь немного рассказать о ней — что за зверь, чем известен, чем интересен, где применяется, за что удостоился такого внимания со стороны кейла?
0
Зверь этот — 16-битная RISC-арихитектура, совместная разработка Siemens и ST, первый релиз выпущен в 93 году, разрабатывался для промышленного применения в качестве замены 8-битных Intel 8051. ST до сих пор выпускают МК на ней, а в Infineon разработали расширение для нее — XC167, добавив к 16-битному ядру еще одну стадию конвеера (в оригинальном C166 было 4), а затем еще одно — XE167/XC2000, добавив 32-битный блок MAC (Multiply-Accumulate) и ускорив прерывания и переключение контекста. Разница между семействами — в переферии и некоторых дополнительных фишках, по корпусам они совместимы полностью.
Сами Infineon делят их по области применения, вот так:


Чем известны: большая часть промышленной автоматики Siemens сделана именно на них, да и другой немецкой автоматики тоже. Проще сказать, где их нет, наверное. :)

Чем интересны: очень много переферии. ОЧЕНЬ.
Конфигурируется она достаточно гибко, но любой пин на любую функцию повесить нельзя. И производительность приличная, Infineon обещает 80 MIPS на частоте 80 Мгц.
Переферия, которая есть на нашем чипе XE167FM: 6 каналов CAN в режиме MultiCAN, 24 канала ADC, 8 каналов USIC (универсальный движок для последовательных протоколов, поддерживает UART, LIN, SPI, I2C, I2S) и 6 CCU (Capture/Compare Unit, не могу хорошо описать эту штуку по русски, можно использовать как DAC или PWM)
The high-performance peripheral functions include up to four capture/ compare units (CCU6E) with a maximum of eight timers for controlling electric motors using sine algorithms and field oriented control schemes with space vector modulation. Each CCU6E consists of a T12 timer block with three capture/compare channels and a T13 timer block with a single capture/compare channel. The T12 channels can generate up to six PWM signals and accept six triggers. This allows the control of up to three power half-bridges with automatic dead time generation. And besides generating the signal patterns needed to drive AC motors or inverters, the RTSC provides special operating modes for controlling brushless DC motors.
Взято из пресс-релиза.
Довершают картину 576 кб флеша и 50 кб рама.

За что их любит Keil: за бабло. :) Вся эта промышленная автоматика стоит таких денег, что не поддерживать такого рода продукты — кощунство. :)
0
Любопытно. А кроме ST и Infineon их кто-то производит?
И почему в DIY-секторе они (AFAIK) практически не применяются?
0
Других производителей не встречал. Архитектура старая, поэтому я не удивлюсь, что их нет.
Не применяются скорее всего потому, что слишком сложные для начинающего, полторы тысячи страниц мануала отпугнут кого угодно. Да и не рекламирует их никто в качестве МК для DIY, я бы такой чип в качестве первого врагу бы не пожелал. :)
0
полторы тысячи страниц мануала отпугнут кого угодно.
У многих ARM'ов не меньше.
я бы такой чип в качестве первого врагу бы не пожелал. :)
Почему? Из-за все того же мануала или еще какие-то проблемы есть?
0
В принципе, студенты с китами на XE167FM работают как-то, и сильно не жалуются, так что жить можно. Для многих именно этот МК и оказывается первым.
Основная проблема в том, что написать что-то работающее без кодогенератора — очень непросто, слишком много кода надо будет написать просто для того, чтобы диодом помигать, не говорять про остальное.
Если интересно, посмотри пару видео отсюда.
0
полторы тысячи страниц мануала
Девиз «never stop thinking» на его титульной странице доставил :)
0
Кстати, у них есть любопытная серия XMC4000 на ARM Cortex-M4, базовая платка для которой стоит 10 евро.
Надо будет тоже его добавить в список кандидатов на посмотреть.
0
базовая платка для которой стоит 10 евро.
А доставка?
0
В Россию — 20 евро, дорого слишком. Вообще, Lite версия слишком голая для своих 10 евро, а полная стоит уже почти 40, но там Ethernet и 32 Мб SPI-флеша Вот сравнение.
Вообще, с такими ценами и пробовать уже не очень то хочется. Будем выпрашивать у Infineon сэмплы. :)
0
Был бы ты поближе… Есть у меня такая платка (XMC4500), руки до нее однозначно не скоро дойдут…
0
Тогда уж такую: XMC4500 Relax Lite Kit
0
Её я и имел в виду под платой за 10 евро. :)
0
(Capture/Compare Unit, не могу хорошо описать эту штуку по русски, можно использовать как DAC или PWM)

«Схема захвата/сравнения», я полагаю. Это примерный эквивалент одного канала таймера в других контроллерах. Кстати, DAC и PWM в таком исполнении — ровно одно и то же (DAC-у, понятное дело, еще аналоговый фильтр нужен). Судя по наличию слова «capture» в названии, полагаю он умеет подсчитывать и внешние события.
0
Или «Блок захвата/сравнения», да. Внешние события оно умеет точно. Вот полный список того, что умеет один блок:
0
Да, неплохо. Здорово напоминает advanced timer-ы у STM32 и AVR-ровские таймеры у «движковых» серий контроллеров.
0
За что их любит Keil
KEIL GmbH — изначально мелкая фашистскаянемецкая софтверная компания из Мюнхена по пр-ву инструмент.ПО для MCU(начиная с компилятора для C8051), в 2005-м поглощена ARM. Естественно, что они раньше кормились с заказов Siemens, штаб-квартира которого тоже в Мюнхене.
0
Если по плате:

Пин +12В вижу я. Зачем он там, если нет понижающего регулятора? Если не будет использоваться — выкиньте его, пока не спалили плату.
Дорожки лучше сделать толще, места вагон. Будут лучше электрические и механические хар-ки. Пины GND удобнее раскидать через один в линейке, а не кучкой.
Очень рекомендую добавить UART — если не с портом 232 то хотя бы выведенным на отдельный разъем. Чтобы подключаться ( а надо будет часто) быстрее и без просмотра схемы.
Очень пригодятся светодиоды, для быстрой индикации режимов етс. Для них сделайте отдельную питающую цепь и коммутируйте через FET-ключи. Ток там будет наноамперный. Дайте дополнительно перемычку чтобы отключать их полностью. Иначе придется смотреть выходы осцилоскопом на пинах, что чертовски неудобно.
Добавьте часовой кварц, для RTC wake-up. Заодно сравните точность с LSI и потребление.
+1
Пин этот подключается джампером на базовой плате, поэтому можно считать что он NC.
Дорожки можно сделать толще, согласен. Попробую в следующей ревизии, сейчас уже не успею переделать все.
UART есть на базовой плате, и он выведен на ноги PA10, PA9 для STM32 и P7.3, P7.4 для XE167, подключается DIP-переключателем, схему смотреть не нужно.
Светодиоды есть на базовой плате, реализованы через ключи. Полностью отключаются DIP-переключателями.
Про часовой кварц — хорошаяф идея, обсудим.
Спасибо.
0
Ну так выложите схему базовой платы, а то очень уж голая платка пока. Дорожки потолще, без острых углов на изгибах. Пока здесь негде накосячить, если из даташита перерисовали разводку питания и кварца правильно.
0
Как только мне эту разводку окончательно передадут — переработаю и выложу, конечно.
0
а как ты матан сдал? чего-нибудь понимаеш в этой херне?
0
Крайний раз я матан сдавал в 2006 году в НГТУ, будучи студентом второго курса. Сдал на хорошо.
В какой именно херне? В матане? Забылось все уже, за давностью лет. Но если надо будет — знаю, где и что читать.
0
а как ты матан сдал? чего-нибудь понимаеш в этой херне?

В какой именно херне? В матане? Забылось все уже, за давностью лет. Но если надо будет — знаю, где и что читать.

Штирлиц вздрогнул, он знал отзыв: БЫДЛОВУЗНИК, но пока решил все же выждать — слишком подозрительным ему показался этот берлинский «студент».
0
Лепи ко всему приставку БЫДЛО и не проиграешь. :)
Любые знания выветриваются, будучи невостребованными, и матан — не исключение.
Да и я признаю, что далеко не ученый с мировым именем и даже не собираюсь им становиться, поступил в магистратуру потому, что мне в Германии нужно немецкое образование и связи с нужными людьми для обеспечения себя нормальной работой в будущем. Ну и потому, что учиться здесь действительно интересно. И потому, что мог.
0
я так понял, что ты сейчас в быдловузе немецком торчиш как студент
вот и спросил
я просто там в прошлом году был, год посидел и свалил
тема твоего поста для моего быдловуза — высшая материя, ибо мк там только с 4го семестра, а факультет computer engenireeng

вот я и спросил, как там матан, ибо когда я слушал, то понятно только до того момента, как ты покинул пределы комнаты
0
Да, учусь в HSR в магистратуре, факультет информатики, специальность «техническая информатика».
У меня из математических предметов за 2 семестра были только математические и стохастические методы — повторение тервера и мат.стата для тех, у кого они слишком давно были, и специальные алгоритмы — P/NP-полнота, апроксимации, задача о рюкзаке, куча Фибоначчи, минимальный путь в графе, максимальный поток в графе, быстрое умножение полиномов и т.п. чисто алгоритмические вещи.
В основном предметы бывают двух видов: управление в ИТ (ИТ-инфраструктура предприятия, Методологии разработки ПО) и технические (ОСРВ, Протоколы и устройства в automotive, VHDL, HW/SW CoDesign, ИИ, Коммуникационные системы, Критически выжные системы). Есть еще пара предметов, которые «не рыба, не мясо» — спецглавы теоретической информатики, защищенное программирование.
Преподается все это вполне понятно, никакой особой зауми не видно, все лекции доступны в PDF. Универститет технический, преподаватели все с производства, периодически из разных фирм приходят работники читать лекции вместо преподов. Да и все больше в практику сразу, чем в теорию, теорией занимается головной ВУЗ, мы — грубо говоря, ПТУ при нем.
0
я когда в пту учился, то там годно было
целый день отводился по электронику или сети, или оси
было еще гавно, но терпимо

я как-то помогал одной бабе из универа и тоже информатика, так у нее в первом семестре в самом начале на физике сказали раскурить закон кирхгофа и решить задачи, которые мы только в конце первого семестра на электротехнике стали решать и на алгебре еще узнали как решается матричным способом

я был в шоке и вот поэтому спросил, а то уж больно крутая у тебя тема
хотя может быть в ваших краях с учебой получше будет
0
>> В качестве измерительного оборудования используются Agilent N6705B Power Analyzer… Hitex PowerScale

А не могли бы Вы вкратце описать возможности этих приборов — что именно ими можно померить?
Как правило девайс, который сделан с претензией на LowPower работает в циклическом режиме — много спим, мало работаем. Обычным мультиметром такое не всегда корректно измеряется, приходится строить профиль потребления осциллографом, а потом интегрировать. Эти приборы с такой задачей справятся?
0
Про PowerScale я ничего толком рассказать не могу — не занимался измерениями на нем. Чинил его измерительную часть после одного криворукого студента, но с самим прибором работать пока не довелось — с ним работает другая группа.
Про Agilent расскажу: у него 4 источника питания, они же могут выступать в качестве измерительного прибора, измеряя либо напряжение, либо силу тока, либо оба сразу 2 парами проводов. Для измерений 1 канал используется как источник тока 3.3 +- 0.001 В, а второй — в качестве амперметра 100 мА +- 10 мкА. Прибор подключается к ПК через Ethernet, а к одной из GPIO-ног подключается внешний триггер Agilent'а. В итоге перед выполнением тестовой части программы вызывается срабатывание триггера, и Agilent в реальном времени начинает передавать на ПК все данные (выдаваемое каналом 1 напряжение, измеренная каналом 2 сила тока, время с момента срабатывания триггера), где софт уже рисует график потребления. Последняя команда бенчмарка — снова срабатывание триггера, которое прекращает передачу данных. Измерения одного и того же кода выполняются несколько раз 2 разными группами в разные дни, температура в лаборатории 23 +- 5 градусов, как рекомендует Agilent. Затем результаты исследуются и заносятся в таблицу. Код немного модифицируется и все повторяется заново. В итоге можно проследить по таблице, какая именно модификация дает уменьшение потребления, и насколько это уменьшение заметно.
Одно могу сказать точно — оба прибора значительно интереснее мультиметра, и с задачей они, я думаю, справятся.
0
Ага, спасибо. Очень интересный прибор, жаль только стоит как пол самолёта… =) И с точностью что-то непонятно — 10 мкА это у меня девайс целиком столько потреблять должен… Разглядеть влияние разных блоков периферии или алгоритмических трюков будет тяжко =)
По PowerScale посмотрел бегло — примерно та же идея, только измерительная часть явно слабее и про триггеры не видел. Зато и цена на порядок ниже =)
А ещё примерно так же работает EFM-овский ЭнерджиПрофайлер, только он в довесок умеет точки на графике к коду привязывать. Цена ниже ещё на порядок, но и качество соответствующее… =)
0
Если укладываться в 10 мкА и меньше, то точность будет +- 8 нА, а это уже серьезнее. Моя демо-программа для STM32F1 кушает по умолчанию 13 мкА, поэтому прибор переключается на более широкий диапазон.
0
Ну и я, конечно, все перепутал с обозначениями, скорее всего. Точность там выше, эти 13 мкА показываются до 6 знака после запятой в режиме Auto. :) Пишу по памяти, т.к. выходные, могу кое-где наврать.
0
Немного не понял. Приводится ссылка вначале на www.hs-regensburg.de/en.html
а потом пишется какая-то херня на уровне клуба юнных техниклв 8 класа (утрированно конечно — но смысл примерно не меняется). Как-то совсем не совместимые вещи. Простая плата STK3700 от EnergyMicro имеет на борту измеритель тока от 1uA до 100mA — пиши код и измеряй (точи код под ток).
0
Замечательно, что есть такие прекрасные платы от Energy Micro. Пишите, измеряйте, делитесь результатом, я буду благодарен.
Если ссылка не понравилась, вот получше немного.
Осторожно, немецкий. :)
0
Это на вашу тему, но взгляд с другой стороны:
code.google.com/p/powerscope/
измеритель потребления энергии. Кому-нибудь пригодится?
0
На первую ревизию базовой платы ее разработчик интегрировал вот такой измеритель. Может быть я кривой, может быть в схеме где-то ошибка, но меряет он полную ерунду, к сожалению. Со второй ревизии базовой платы я его выкину непременно.
Спасибо за ссылку.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.