Постановка задачи


Популярный одноплатный компьютер Raspberry Pi применяется в различных промышленных приложениях [3] и находит все новые применения. В сети довольно много информации по оценке и сравнению производительности систем [4], однако промышленные заказчики хотят знать диапазон рабочих температур. Производитель такой информации не предоставляет. Предпринятые энтузиастами испытания на воздействия внешних факторов [5, 6] решают несколько другие задачи.

Целью нашего исследования была оценка диапазона рабочих температур одноплатного компьютера Raspberry Pi. Испытаниям подвергнуты Raspberry Pi 3 Model B и Raspberry Pi 2 Model B. Во время подготовки статьи появилась новая версия Raspberry Pi 2 Model B V1.2 с процессором BCM2837, мы тестировали RPi 2 V1.1 с процессором BCM2836.

Исследования проведены сотрудниками и студентами МГТУ им. Баумана по заказу компании RS Components Russia, которая бесплатно предоставила образцы для тестирования, в рамках летней стажировки 2016 года в компании Совтест АТЕ [13].

Условия эксперимента


Большинство компонентов на платах Raspberry Pi 3 Model B и Raspberry Pi 2 Model B имеют индустриальный температурный диапазон -40?…+85?. Представляет практический интерес провести испытания плат в более широком температурном диапазоне от -55? до +110? и оценить границы их работоспособности.

Схема экспериментальной установки приведена на рис. 1. Одноплатные компьютеры Raspberry Pi помещались в камеру тепла-холода TCT-811. RPi 2 подключались к маршрутизатору LP-Link TL-WR720N по Ethernet, а RPi 3 — по Wi-Fi. Питание плат осуществлялось посредством USB адаптеров. Управление платами и сбор данных осуществлялись через SSH доступ с компьютера оператора.

image

Рисунок 1. Схема экспериментальной установки температурного тестирования

В качестве операционной системы использовалась Raspbian, как основная рекомендуемая и поддерживаемая производителем. Тестирование производительности осуществлялось при помощи утилиты SysBench — модульного, кроссплатформенного многопотокового приложения, позволяющего быстро оценить параметры системы для работы под высокой нагрузкой. Данные тестов записывались на внутреннюю память платы, а затем по запросу копировались на компьютер оператора. В качестве носителя данных была использована SD-карта памяти QUMO 32GB Class 10.

Ход эксперимента


Испытание проводились следующим образом. Платы помещались в камеру и подключались согласно схеме на рис. 1. Затем задавался алгоритм изменения температура в камере. Камера программировалась на ступенчатое повышение температуры сначала от комнатной +23? до +110?, затем на быстрое охлаждение до комнатной и дальнейшее ступенчатое понижение температуры до -50? (рис. 2). Всего реализовано 19 этапов измерений с шагом температуры между этапами в 10? (Таблица 1).

Номер этапа тестирования 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Температура в камере на этапе, ? +23 +30 +40 +50 +60 +70 +80 +90 +100 +110 +106 +27 -20 -25 -30 -35 -40 -45 -50

На каждом этапе тестирования в камере сначала устанавливалась соответствующая температура, затем платы выдерживались при этой температуре в выключенном состоянии около 6 минут. Далее платы практически одновременно включались, на каждой запускался тест Sysbench, и дополнительно проводилось измерение температуры процессора. После завершения тестов платы выключались и повторно выдерживались 1-2 минуты при той же температуре, прежде чем камера переходила к следующему этапу. Скорость изменения температуры между этапами составляла примерно 1?/мин.

image

Рисунок 2. Изменение температуры в камере в течении испытаний

Каждый полный этап прохождения теста Sysbench состоял из последовательного запуска трех модулей: теста процессора, теста памяти и теста потоков. Результатом работы каждого модуля Sysbench было определение времени его выполнения в секундах. Опишем подробнее каждый из тестов.

Тест процессора (--test=cpu) Sysbench использует 64х-битные целые для расчета простых чисел до значения, заданного параметром --cpu-max-primes. Так же возможно задание нескольких потоков, но мы пользовались значением по умолчанию — одним потоком.

Тест памяти (--test=threads) выделяет буфер памяти и производит операции чтения или записи. Количество данных, прочитанных или записанных за одну операцию, определяется размером указателя 32 или 64 бит. Процесс повторяется, пока не будет обработан заданный объем (--memory-total-size). Возможно задать количество потоков (--num-threads), размер буфера (--memory-block-size) и тип операции (чтение или запись --memory-oper=[read | write]).

Тест потоков (--test=memory) проверяет работу процессора в условиях большого количества конкурирующих потоков. Тест заключается в создании нескольких потоков (--num-threads) и нескольких мутексов (--thread-locks). Далее каждый поток начинает генерировать запросы, которые блокируют мутекс, исполняют процессорные задачи (для симуляции реальной работы) и разблокируют мутекс. Для каждого запроса действия блокировки-исполнения-разблокировки выполняются несколько раз, количество которых задается параметром --thread-yields.

Сокращенный текст bash-скрипта запуска модулей Sysbench с соответствующими параметрами приведен ниже:

for count in {1..5}
do
sysbench --test=cpu --cpu-max-prime=1150 run
sysbench --test=memory --memory-block-size=1M --memory-total-size=10G run
sysbench --num-threads=64 --test=threads --thread-yields=1000 --thread-locks=8 run
vcgencmd measure_temp
done

Значения температуры процессора в градусах Цельсия выводились с его встроенного датчика. Вывод показаний встроенного датчика температуры осуществлялись командой vcgencmd measure_temp.

Результаты эксперимента


Результаты тестов Sysbench приведены на рисунке 3. На каждом этапе тест Sysbench повторялся последовательно 5 раз, данные производительности усреднялись по результатам 5 тестов. Значения температуры процессора взяты максимальные из измеренных на каждом этапе.

image

Рисунок 3. Результаты тестов Sysbench на одноплатных компьютерах Raspberry Pi 3 и Raspberry Pi 2

На рисунке 3 видно, что картина производительности на всех трех тестах практически одинакова как для RPi 3, так и для RPi 2. В диапазоне температур от -35? до +50? плата RPi 3 работает примерно в 1,6 раза быстрее, чем RPi 2, что согласуется с результатами официальных тестов производительности [4]. При достижении температурного порога процессора, заданного в файлах конфигурации, по умолчанию это +85?, запускается механизм защиты процессора от перегрева за счет пропуска машинных тактов — дросселирование тактов или троттлинг [8].

Компьютеры переставали запускаться при разных значениях температуры: RPi 3 при температурах выше +90?, а RPi 2 — при температурах выше +106?. При температурах ниже 0? изменения производительности у обеих плат не происходит. При температурах ниже -35? плата RPi 3 и температурах ниже -45? плата RPi 2 перестают запускаться. Как при высоких, так и при низких температурах платы возобновляли свою работоспособность после снятия нагрузки – и возвращения в рабочий диапазон температур.

image

Рисунок 4. Температура процессоров Raspberry Pi 3 и Raspberry Pi 2 при различной температуре окружающего воздуха в испытательной камере

Значения температуры в испытательной камере и соответствующие значения температур процессоров плат RPi 2 и RPi 3 приведены на рисунке 4. Поскольку процессор RPi 3 греется сильнее, чем процессор RPi 2, пороговая температура троттлинга +85? в нем достигается при +50? окружающей среды, в то время как RPi 2 запускает троттлинг при температуре +70?. Поэтому в результатах тестов мы видим, что на температурах более +50? RPi 3 уступает RPi 2 по производительности. При этих температурах рекомендуется использовать охлаждение процессора [8].

В проведенных испытаниях платы RPi 3 запускались и работали в диапазоне температур от -35? до +90?, а платы RPi 2 – от -45? до +106?. Эти диапазоны близки к индустриальному диапазону температур применяемых электронных компонентов -40…+85?.

Проведенное нами исследование не претендует на полноту и безусловность инженерных рекомендаций. На его результаты повлияли следующие условия и обстоятельства. Во-первых, проблемы вызвали SD-карты памяти, которые при работе часто давали сбои, для восстановления работоспособности карт их приходилось переформатировать и записывать образ системы повторно. Во-вторых, на сопоставимость результатов тестов RPi 2 и RPi 3 могли повлиять разные способы связи с платами: RPi 2 по Ethernet, а RPi 3 по Wi-Fi. В-третьих, параметры тестирования были выбраны таким образом, чтобы суммарное время испытаний укладывалось в период одного рабочего дня, поэтому мы не можем судить о сохранении работоспособности плат при более длительном воздействии температур. В-четвертых, испытания проводились не в сертифицированном центре и не в строгом соответствии с ГОСТ, хотя применяемая методика разработана на основе стандартов ГОСТ 28199-89 “Основные методы испытаний на воздействие внешних факторов. Часть 2. Испытания. Испытание А: Холод” и ГОСТ 28200-89 “Основные методы испытаний на воздействие внешних факторов. Часть 2. Испытания. Испытание В: Сухое тепло”.

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

Авторы
Далер Арабов, МГТУ им. Баумана
Павел Григорьев, МГТУ им. Баумана

Литература
1. Сергеева А., Кривандин С. Одноплатный компьютер Raspberry Pi: от учебного пособия до промышленного контроллера. Компоненты и технологии. 2016. №4
2. Ермаков А. Raspberry Pi – эффективный инструмент снижения затрат при автоматизации бизнес-процессов. ИСУП.2016.№1
3. Применение Raspberry Pi и Arduino в промышленной среде
4. Тестирование Raspberry Pi 3
5. Термосъемка Raspberry Pi 3
6. Свежезамороженный Raspberry Pi
7. Троттлинг процессора или почему падает производительность
8. The Raspberry Pi 3 Does Not Halt and Catch Fire
9. Стажировка в Совтест
Поделиться с друзьями
-->

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


  1. foxin
    26.12.2016 20:02

    Спасибо за результаты. Интересно было бы посмотреть на тест с радиаторами на микросхемах.


    1. Cuthbert
      27.12.2016 09:53
      +1

      А что дадут радиаторы на микросхемах при внешнем нагреве?


      1. grossws
        27.12.2016 14:18

        Меньшее тепловое сопротивление и, соответственно, меньшую дельту между температурой процессора и среды (при температуре среды ниже температуры процессора).


        Но для такого рода исследования это может быть нерелевантно, т. к. здесь с некоторой точностью климатической камерой термостатируется процессор.


    1. FlyHighOnTheSky
      27.12.2016 09:53
      -1

      Есть тесты без учета температуры внешней среды https://www.youtube.com/playlist?list=PL2m2YvnrOYxIMTaGELL_ib8BHQYbBYRG4


  1. h31
    27.12.2016 01:52

    Интересная задумка и хорошая статья, спасибо авторам. Не понравились только два момента:
    1) Взяли обычную бытовую SD-карточку. Есть мысль, что плата могла не запускаться именно из-за неё. В продаже есть специальные SD-карты с расширенным диапазоном температур. Они, конечно, дороже, но по крайней мере будет ясно, что плата не включается сама по себе.
    2) Если сеть не работала, считалась ли плата целиком нерабочей? Если да, то наверное стоило подключить обе платы по Ethernet, чтобы уравнить результаты. Если нет, то всё нормально и можно убрать упоминание сети из выводов, чтобы не смущать читателя.


    1. lubezniy
      27.12.2016 08:21

      Подключать — так всё тогда: и Ethernet, и HDMI, и AV, и GPIO.


    1. chudodey
      27.12.2016 19:54

      1) Мы пришли к таким же выводам — карточка была слабым местом.
      2) Согласен можно было. В данном случае у нас было сравнение разных каналов связи.


      1. eugenebabichenko
        28.12.2016 22:00

        Более того, Pi3 может работать при нагреве процессора >90 С, сразу после её выпуска был большой хайп на тему перегрева.


  1. KazinPro
    27.12.2016 09:54

    Спасибо за информацию.
    Сами хотели провести подобное испытание, а тут вы.

    Не проверяли на вибро стенде их?


    1. chudodey
      27.12.2016 13:28

      На вибростенде проверяли, статья в работе


      1. KazinPro
        27.12.2016 16:42

        Очень жду. Т.к. эта информация не менее важна.


        1. lingvo
          27.12.2016 17:30

          Почему? Что дадут вибро-испытания такой платы?


          1. KazinPro
            27.12.2016 18:50

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


            1. lingvo
              27.12.2016 19:00

              Интересно, а в каких виброусловиях должна работать плата в вашем случае? Ну то есть какие уровни воздействия нужны вам по стандарту?


              1. KazinPro
                27.12.2016 19:19

                Вообще это коммерческая тайна.
                Это будет некий встраиваемый компьютер с сенсорным экраном.
                А виброусловия… По амплитуде и частоте ничего пока сказать не могу. Вибрация идет от электромотора по чугунной станине(порядка 10-12 тонн).


                1. lingvo
                  27.12.2016 22:30

                  При чем здесь коммерческая тайна?
                  Для испытаниях на вибрацию согласно МЭК 61068-2-6 вам надо выбрать тестовые уровни исходя из планируемых условий применения — наземная установка, транспорт, корабли и т.д.
                  Поэтому я и спрашивал про уровни — сказали бы цифры и никакой коммерческой тайны выдавать не надо.


                  1. KazinPro
                    27.12.2016 22:55

                    Я говорил про готовое устройство, просто мы друг друга не поняли. :)
                    Оно ещё в глубокой разработке, даже не замеряли текущие вибрации в месте предполагаемой установки.
                    Но исходя из статьи, уже понятно куда его ставить точно не надо.

                    P. S. Что-то не гуглится «МЭК 61068-2-6»


                    1. lingvo
                      27.12.2016 23:17

                      Сорри 60068-2-6.


                      1. KazinPro
                        27.12.2016 23:21

                        Воу, спасибо за интересное чтиво на ночь :)
                        Буду прорабатывать этот вопрос.


  1. lingvo
    27.12.2016 09:54
    +2

    Результаты интересны, но сама методика недостаточно проработана, что не дает повторяемость и результатам нельзя доверять. Такие замечания:


    Большинство компонентов на платах Raspberry Pi 3 Model B и Raspberry Pi 2 Model B имеют индустриальный температурный диапазон -40?…+85?. Представляет практический интерес провести испытания плат в более широком температурном диапазоне от -55? до +110? и оценить границы их работоспособности.
    • Не имеет смысл проверять работоспособность компонентов за пределами их рабочих диапазонов, гарантированных производителем компонента. Это не дает ничего — следующая плата в таких условиях может просто не завестись.
      Правильная методика — определить рабочие диапазоны каждого из компонентов на плате по даташитам, а затем на основе этой информации задать предельные условия. Т.е. в данном случае это -40?…+85?.
    • В своей методике вы проверили процессор, память и Ethernet. Т.е далеко не всю плату. Правильная методика должна предусматривать тестирование всех функций платы — видеосистемы, USB, GPIO и п.р. Т.е. вы должны были поподключать к устройствам всю периферию и проверять каждый раз. Устройство считается провалившим температурный тест, если хотя бы одна из этих функций не будет работать
    • В качестве основы вам следовало бы взять стандарты ГОСТ Р МЭК 60068-2-1 и 2-2. Оттуда и следовало брать все условия для испытаний. Что бросается в глаза — слишком быстрое изменение температуры. По стандартам вам следовало дольше выдерживать устройства для стабилизации температуры.


  1. Ranckont
    27.12.2016 09:54

    Во всех случаях платы от тестов грели сами себя.
    Интересен тест, старт платы в «холодную» при температуре рабочего минимума


    1. lingvo
      27.12.2016 11:09

      На каждом этапе тестирования в камере сначала устанавливалась соответствующая температура, затем платы выдерживались при этой температуре в выключенном состоянии около 6 минут. Далее платы практически одновременно включались, на каждой запускался тест Sysbench, и дополнительно проводилось измерение температуры процессора.После завершения тестов платы выключались и повторно выдерживались 1-2 минуты при той же температуре, прежде чем камера переходила к следующему этапу.

      Платы запускались на холодную. Но как я уже написал выше — указанные выдержки слишком короткие — за 1-2 минуты компоненты не успевают охладиться до начальной температуры. По правильной методике следовало прилепить к плате/процессорам датчик температуры и ждать, пока его показания не стабилизируются на уровне внешней температуры. Это может занимать десятки минут и даже часы.


      1. chudodey
        27.12.2016 20:28

        Уточняю

        На высоких температурах
        Предварительная выдержка 10 мин. -> Включение, отработка Sysbench 2..5 мин., выключение -> выдержка 0..3 мин. -> переход на следующую температуру 10 мин. Итого между выключением и включением 20..23 минуты в зависимости от времени выполнения тестов.

        На низких температурах
        Предварительная выдержка 3 мин. -> холодный старт, sysbench ~2 мин., выкл. -> выдержка 5 мин -> выход на следующую температуру 5 мин. Итого между выключением и включением 13 минут.

        С датчиком согласен.


        1. lingvo
          27.12.2016 22:37

          Кстати, время работы Sysbench тоже слишком маленькое. Это ни в какие стандарты не лезет. Обычно это время выбирается как минимум в несколько часов, и опять же даже в случае с RPi требуется гораздо больше 5 минут, чтобы все компоненты прогрелись до стационарных температур. Особенно такой режим не учитывает косвенный нагрев — Процессор нагрелся, нагрел плату, плата нагрела память, например. В этом случае это аж три постоянные времени, которые составляют минуты.
          Т.е. тест опять же не повторяем, сорри.


  1. road_t
    27.12.2016 09:54
    +1

    Что-то по отрицательным температурам ситуация грустная. Ожидал увидеть отказ после -60


    1. lingvo
      27.12.2016 11:16

      По условиям теста, там запуск из "холодного" состояния, т.е. при включении устройство должно иметь температуру внешней среды. Это достаточно жесткий тест, при котором компоненты с рабочей температурой от -40° и не должны работать. На Rpi3, скорей всего, какие-то компоненты были вообще от -25°, которые и приводили к отказу.
      Чего еще ожидать?


      Отмечу, что если сделать тест на "горячую", т.е. понижать температуру с включенным устройством, то рабочая температура будет гораздо ниже из-за саморазогрева. Такие методики тоже бывают. Тогда и -60 должно быть без проблем. Проблема только в том, что при отключении питания при таких температурах устройство больше не запустится.


    1. Rumlin
      28.12.2016 15:21

      Если решить вопроса загрузки и питания при этих температурах, то вроде работает — https://geektimes.ru/post/178647/

      Скажу только то, что мы думали, что при температуре в -40 хоть что-то да откажет. Ничего подобного. Порог -40 «малина» преодолела, даже не поперхнувшись и сумев ничего от себя не отвалить. Дальше уже просто пошел спортивный интерес и мы догнали температуру до -70!!! Думаете хоть что-то произошло? «Малина» как пыхтела себе, так и пыхтела. Светодиод исправно моргал, данные в сеть лились.

      В общем, когда мы задорно радовались тому, что при -70 «малина» работает как часы, мой коллега предложил попробовать убить плату, отключив от нее питание, дать ей остыть до -70 и попробовать завести. Что и было сделано. Но и тут «малина» нас уделала. Она спокойно завелась, загрузила ось и вышла в сеть. Кстати, именно тогда мы пронаблюдали самую низкую температуру -58,9


      1. road_t
        28.12.2016 15:56

        Хм, как-то неоднозначно. У одних при -45 не але, а тут почти -60. Но спасибо за ссылку, очень занятно)


        1. lingvo
          28.12.2016 16:46

          Неоднозначно потому, что все очень просто:
          Производитель должен гарантировать функциональность изделия в определенном диапазоне условий эксплуатации. Это касается не только температуры и влажности, а также и электрических характеристик — например напряжений питания или уровня входных сигналов. Т.е если производитель пишет, что процессор должен работать в диапазоне температур -25°...+85° и при этом имеет диапазон питающих напряжений 2.7...3.5В, то это означает, что процессор должен работать и при -25 при рабочем напряжении 2.7В и при +85° при 3.5В. И вообще в любой комбинации из этих факторов.
          В итоге производитель закладывает определенную избыточность в процессе изготовления, чтобы гарантировать вышеуказанные характеристики, что и приводит к таким интересным и неоднозначным результатам тестов.
          Неоднозначные они потому, что, например, на одной плате источник питания выдавал 3,4В, что позволяет плате стартануть от -60°. А на другой плате из этой же серии источник питания мог выдать 3,2В, что тоже абсолютно нормально и в допустимых пределах, но такая плата с -60° может уже и не стартануть. То же самое и с положительными температурами, ведь разное напряжение питание приведет к разной рассеиваемой мощности.
          Вот и получается, что "вроде" работает, а "вроде" и нет. Нельзя доверять таким результатам.


  1. slepowl
    27.12.2016 13:27

    Еще интересно на ЭМС их проверить. Если пройдут — можно вполне официально сертифицировать и ставить на пром объекты.


    1. Sad_Bro
      27.12.2016 13:54
      +1

      Нее, навряд ли пройдут, вот тут народ обратил внимание что от фото- вспышки зависает малина
      https://geektimes.ru/post/255094/


    1. lingvo
      27.12.2016 14:07
      +2

      Сама плата без дополнительной обвязки тесты на индустриальную ЭМС не пройдет. Как минимум к ней нужен металлический корпус и промышленный блок питания. Далее все интерфейсы, включая даже Ethernet и USB, не говоря уже о GPIO надо дополнительно защищать от помех, иначе они будут приводить к сбоям во время тестов, или просто сгорят.
      В итоге проще взять Rpi Zero и развести материнку под индустриальные требования. Что собственно уже не одна компания и сделала.


  1. DarkByte
    28.12.2016 07:47
    +1

    Имею размещённые на улице Raspberry PI 2, 3 и Orange Pi PC. На днях температура опускалась до -36 градусов, с минимальной нагрузкой на систему и без перезагрузки железки сохранили работоспособность. Перезагрузку, боюсь, пережили бы не все.

    Скрытый текст


  1. teleghost
    28.12.2016 20:51

    Здравствуйте, уважаемые авторы!

    В публикации радует сам подход, «научные» каноны оформления и вообще популяризация метрологии. Но я прошу не останавливаться на достигнутом.

    Почему не работали с официальными источниками, datasheets? Почему нет ссылок, вырезок? Я вот за полчаса нашёл следующее про Model 3:
    Broadcom BCM2835 (AP/SoC), -40..85°C
    Microchip LAN9514 (без «i», USB hub и Ethernet), 0..70°C
    Broadcom BCM43438 (wireless), -30..70°C
    Elpida/Micron EDB8132B4PB-8D-F (RAM) -30..85°C

    За абсолютную достоверность ручаться не могу, но это не противоречит тому, что есть в статье.
    Я считаю, что Малиновый Прог намеренно сделан из коммерческих (не промышленных) микросхем и элементов, чтобы одноплатный компьютер не получил клеймо продукции двойного назначения и не имел экспортных ограничений, и чтобы его можно было вагонами отгружать с aliexpress и eBay…
    Получается, что если аккуратно отпаять LAN9514 и заменить на LAN9514i, то должен выйти почти гарантированный -30..85°C.

    В «официальном» FAQ чёрным по серому написано:

    The Raspberry Pi is built from commercial chips which are qualified to different temperature ranges; the LAN9512 is specified by the manufacturers being qualified from 0°C to 70°C, while the AP is qualified from -40°C to 85°C. You may well find that the board will work outside those temperatures, but we’re not qualifying the board itself to these extremes.
    Для справки: AP суть Application Processor, т.е. Broadcom BCM2835.

    Я считаю, что в русскоговорящем сегменте интерес представляет именно мороз, с перегревом можно бороться радиаторами, вентиляторами и, на худой конец, дросселем нагрузки. Что суть GPIO и HDMI? Это BCM2835, поэтому не вижу смысла тратить сюда силы. Температуру ограничивает именно коммуникационная периферия, а вы её в методике практически проигнорировали. Тесты процессора с памятью через sysbench, в основном, доказали то, что и так написано на официальном сайте: они работают нормально в своём диапазоне. Но что можно сказать про коммуникационную периферию? Только то, что сеть вроде бы не отваливается, но на каких расстояниях (длинах кабеля) и на каких скоростях?

    Вооружитесь тестерами канального уровня. Найдите точку отказа проводного Ethernet, отмотав 100 метров всепогодной витой пары: что происходит при резкой 100% нагрузке на «холодную» сеть? Сколько ошибок на интерфейсе? При какой температуре Ethernet отваливается совсем? Аналогично доведите до цугундера бортовой Wi-Fi. Воспроизведите большое расстояние и стены, исследуйте хотя бы количество ошибок, характерные уровни сигналов.

    Повторяю, основная польза такого исследования, на мой взгляд, заключается именно в практической демонстрации отказов. По ним в сети меньше всего информации, но именно наглядные отказы сразу отрезвляют некоторые горячие головы. И, кстати, если получится заменить микросхему LAN9514 на LAN9514i и экспериментально доказать полученную разницу, результат может заинтересовать не только этот портал;)

    Ждём вторую часть: исследование предельно допустимых температур эксплуатации сетевой периферии Raspberry Pi. Желаем видеть больше боли и страданий железа:)

    Плюсую авансом.

    PS
    Кстати, девайс можно и по сети загружать, если microSD не выдерживает. Я недавно разбирался с профилактикой отказов microSD из-за износа: Малиновый Прог против Интернета Кирпичей, или Raspberry Pi с графикой на read-only microSD, благодарные читатели помогали.


    1. lingvo
      29.12.2016 11:37

      Кстати, девайс можно и по сети загружать, если microSD не выдерживает. Я недавно разбирался с профилактикой отказов microSD из-за износа: Малиновый Прог против Интернета Кирпичей, или Raspberry Pi с графикой на read-only microSD, благодарные читатели помогали.

      Насколько я знаю, для RPi SD карта нужна всегда, так как с нее грузится и запускается Bootloader. Даже при дальнейшей загрузке по сети.


      1. teleghost
        29.12.2016 15:17

        а вот и нет, карточка один раз нужна для активации загрузки по USB, а потом вообще не нужна, загрузочный код по TFTP забирается

        https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/net.md
        см. tutorial

        заодно порекомендую HPE Flash Media Kit, они вроде промышленные, на морозе не должны дохнуть


    1. chudodey
      29.12.2016 12:56

      Благодарю за ценный отклик, очень мотивирует, обязательно учтём! Для нас это была проба пера, спринт на один день стажировки. Так чем больше идей по убиванию, чем больше ссылок на стандарты и методики по испытаниям, чем больше инженерных прогнозов по поведению слабых мест — тем лучше будет следующий этап. Как я убеждаюсь, испытания — это искусство. Проект носить ещё и педагогический характер, мы задались целью модернизировать курсы проектирования аппаратуры, теории надёжности и планирования эксперимента, поэтому за кадром пока остается расчетная часть.


      1. teleghost
        30.12.2016 00:59

        Приветствую,

        По методикам тестирования Ethernet (обратите внимание, тут есть живые авторы, которые могут даже не отказать в консультации, им м.б. интересны Ваша инфраструктура или результаты):

        Секреты тестирования Ethernet каналов
        НТЦ Метротек, 22 марта 2016г.

        Качество сетей передачи данных. Программные и аппаратные измерения
        abehterev, 17 февраля 2015г.

        Стандартный тест RFC2544
        abehterev, 11 марта 2015г.

        RFC2544, Benchmarking Methodology for Network Interconnect Devices
        IETF, март 1999

        Y.1564: Ethernet service activation test methodology
        ITU, на текущий момент редакция от февраля 2016г.


        Из софтовых инструментов:
        • Проект софтового L2-тестера Etherate и его исходник на GitHub
        • Утилита ethtool с флажками --statistics и --test
        • (наверняка что-то ещё есть)


        На аппаратный тестер придётся потратиться, но я не уверен, что ставка сыграет: мы пытаемся тестировать хост (оконечное оборудование), а не тракт (линию связи). Если от аппаратного тестера и будет польза, можно попробовать одолжить на время тестирования (у спонсора, ясное дело;-)

        Идеи по проводному Ethernet:
        В качестве программы-минимум есть (должны быть:) встроенные тесты контроллера, активируемые ethtool --test, а именно offline и external_lb.
        Хорошо бы создать предельно допустимый сегмент (например, длиной 100 метров, хотя кому-то м.б. интересно больше) и воспроизвести некоторые (не все) из рекомендованных Институтами тестов при различных температурах. Допустим, QoS/SLA тут вряд ли нужны, а вот пропускная способность, задержки, потери кадров, дрожание — обязательно. Интересны также тесты по RFC2544 back-to-back, system recovery, reset. Всё это на различных длинах пакетов, само собой.
        Все группы тестов повторить при различных температурах.
        И аккуратно по каждому тесту собрать целиком *все* массивы метрик, выдаваемых ethtool --statistics (их там реально дофига, причём интересны не только *error). Также исследовать их зависимости от температуры, тут тоже что-нибудь интересное всплывёт обязательно. Учтите необходимость сброса статистики ethtool между тестами (похоже, она просто так не сбрасывается:)

        У BCM43438 «паспортный» температурный режим шире, чем у LAN9514, да и с самой технологией Wi-Fi возни больше, поэтому рекомендую сперва на медных проводах потренироваться;) Wake on LAN можно не пробовать он, похоже, не поддерживается, да и вряд ли имеет смысл на таком одноплатнике. В любом случае на дипломный проект должно хватить и половины вышеописанного…

        Дополнительно по теме:
        Как тестировать электронику на производстве: анализ современных технологий
        Promwad, 2 июля 2013г

        Тестирование встраиваемых систем — один аспект, о котором почему-то мало говорят
        olekl, 6 октября 2014г.


        Ну и в контексте теории надёжности не могу не упомянуть добрый старый ГОСТ 9.005-72, к которому я недавно сделал цветную шпаргалку.

        Желаю Вам с коллегами творческих успехов!