реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> В каких случаях отладка/тестирование в симуляторе более оптимальны, чем в "железе"?, Какие задачи по отладке/тестированию вообще решаемы только в симулятор
Guest_Цыкетчик_*
сообщение Sep 24 2008, 09:19
Сообщение #1





Guests






1. В каких случаях отладка/тестирование в симуляторе более оптимальны, чем в "железе", а в каких менее оптимальны? (оптимальны в смысле затрат времени и/или интеллектуальных ресурсов (отладка может быть НЕ оптимальной с точки зрения затрат времени, но оптимальной с точки зрения затрат интеллектуальных ресурсов (когда "думать не надо"(писать всякие отладочные скрипты и т.п.))))
2. Какие задачи по отладке/тестированию вообще решаемы только в симуляторе и не решаемы в железе?

Часто слышу такую точку зрения, что симуляторами пользуются только ламеры и начинающие электронщики. А профессионалы ("правильные" инженеры), мол, пользуются только отладкой/тестированием программы в реальном "железе".

Что Вы думаете по этому поводу? Особенно интересуют ответы на вопрос п.2

Говоря о симуляторах я не имею ввиду конкретные симуляторы типа AVR Studio с урезанными возможностями (из-за которых возможно "правильные" инженеры и возненавидели все симуляторы как класс программного обеспечения) в которых даже отладочные скрипты нельзя писать. Я говорю вообщем

По п.2

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

Сообщение отредактировал Цыкетчик - Sep 24 2008, 09:47
Go to the top of the page
 
+Quote Post
korolkov24
сообщение Sep 24 2008, 11:53
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 138
Регистрация: 31-08-08
Пользователь №: 39 900



Цитата(Цыкетчик @ Sep 24 2008, 13:19) *
1. В каких случаях отладка/тестирование в симуляторе более оптимальны, чем в "железе", а в каких менее оптимальны? (оптимальны в смысле затрат времени и/или интеллектуальных ресурсов (отладка может быть НЕ оптимальной с точки зрения затрат времени, но оптимальной с точки зрения затрат интеллектуальных ресурсов (когда "думать не надо"(писать всякие отладочные скрипты и т.п.))))


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

Цитата
2. Какие задачи по отладке/тестированию вообще решаемы только в симуляторе и не решаемы в железе?

При отсутствии измерительного оборудования, возможно, например, измерение и наблюдение за формой тока, в любых цепях (переходы транзистора и.т.д), наблюдение за величинами, ёмкость, сопротивление, мощность и.т.д. Вы можете в виде графика наблюдать кривую мощность на переходе диода, транзистора и.т.д. Можете видеть комплексные величины и величины заданные в виде формул.
Цитата
Часто слышу такую точку зрения, что симуляторами пользуются только ламеры и начинающие электронщики. А профессионалы ("правильные" инженеры), мол, пользуются только отладкой/тестированием программы в реальном "железе".

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

Цитата
Говоря о симуляторах я не имею ввиду конкретные симуляторы типа AVR Studio с урезанными возможностями (из-за которых возможно "правильные" инженеры и возненавидели все симуляторы как класс программного обеспечения) в которых даже отладочные скрипты нельзя писать. Я говорю вообщем

В общем, не знаю, знаком только с Pspice и MicroCap.
Занимаюсь разработкой таких изделий, которые без симулятора сложно спроектировать.

Только, что дочитал ваш пост до конца, вы имели в виду другие симуляторы, да ну ладно ответ не по теме, но пусть будет.

Сообщение отредактировал korolkov24 - Sep 24 2008, 12:02
Go to the top of the page
 
+Quote Post
Guest_Цыкетчик_*
сообщение Sep 24 2008, 13:00
Сообщение #3





Guests






Спасибо за столь подробный и развёрнутый ответ.

Но, Вы, как я понял, говорили о схемотехнических симуляторах аналоговых устройств. А я бы хотел поговорить о симуляторах микроконтроллеров, позволяющих выполнять, тестировать и отлаживать код Target MCU у себя на компе. Т.е. о компьютерной программе, в которой можно иммитировать входные сигналы, выполнять программу для Target MCU и получать выходные сигналы такие же, какие будут в реальном ("железном") микроконтроллере.

Прошу прощения, что сразу не сделал это уточнение

Ещё по п.2
В симуляторе легко можно "подать на пин" напряжение ПРОИЗВОЛЬНОЙ формы, что мягко говоря затруднительно будет сделать в реальном железе
Go to the top of the page
 
+Quote Post
Harbinger
сообщение Sep 24 2008, 16:31
Сообщение #4


старший лаборант
******

Группа: Свой
Сообщений: 2 702
Регистрация: 30-09-05
Из: ЮЗЖД
Пользователь №: 9 097



Цитата(Цыкетчик @ Sep 24 2008, 16:00) *
А я бы хотел поговорить о симуляторах микроконтроллеров, позволяющих выполнять, тестировать и отлаживать код Target MCU у себя на компе.

Навскидку - два случая.
1. Железо ещё не собрано, а сроки жмут.
2. Сложные внутренние алгоритмы, а железо не поддерживает внутрисхемную отладку (сейчас это редкость, но всё же встречается). А "лапами дёргать" всё же как-то лучше в реале... особенно, если на МК куча периферии навешана, которой ни в каких симуляторах нет и не предвидится.


--------------------
Китайская комплектация - европейское качество! ;)
Go to the top of the page
 
+Quote Post
Fat Robot
сообщение Sep 24 2008, 18:04
Сообщение #5


ʕʘ̅͜ʘ̅ʔ
*****

Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691



Гуманитарии на марше.

=============8<=============
Большая советская энциклопедия
Оптимальный
(от лат. optimus — наилучший), наиболее благоприятный, лучший из возможных (например, О. решение).
=============8<=============

Разъясню написанное в БСЭ. Прилагательное "оптимальный" имеет только одну степень - превосходную. Никаких более\менее.

Говорите по-русски правильно.
Go to the top of the page
 
+Quote Post
Guest_@Ark_*
сообщение Sep 24 2008, 19:10
Сообщение #6





Guests






Цитата(Цыкетчик @ Sep 24 2008, 13:19) *
... Часто слышу такую точку зрения, что симуляторами пользуются только ламеры и начинающие электронщики. А профессионалы ("правильные" инженеры), мол, пользуются только отладкой/тестированием программы в реальном "железе".

Да, в общем, правильно говорят "правильные" инженеры. smile.gif
Конечно, здесь речь идет об отладке ПО для готового устройства, а не о симулировании(моделировании) схемотехники. Реальное "железо" всегда предпочтительнее любого симулятора. Если есть возможность - нужно отлаживать ПО на нем. Если нет - то имеет смысл собрать макет (пусть даже в усеченном виде), и все равно отлаживать на нем.
Попытаюсь обосновать:
1) Работа программы на симуляторе всегда может чем-то отличаться от работы на реальном "железе". А может и не отличаться. Как минимум, придется это потом проверить. А как максимум - повторить весь процесс отладки заново. (Это по поводу затрат времени.)
2) В процессе отладки проверяется не только (и не столько) правильность работы программы, но еще и правильность работы схемы устройства, оценивается влияние различных факторов (наводок, шумов и т.п.). То есть отлаживается работа реальной связки "железо+ПО". Так как отдельная, "правильно написанная", программа никому не нужна. Так же как и отдельное, правильно спроектированное "железо".
3) Перед написанием рабочей программы устойства, не лишне сначала написать ряд тестов, чтобы убедиться, что "железо" работает, и работает именно так, как это было задумано. Тут могут "всплыть" нюансы, которые потом серьезно повлияют на разработку рабочей программы. Иногда, после таких тестов, приходится дорабатывать (перерабатывать) и схему устройства. Если Вы целиком доверитесь симуляторам, то обнаружите все эти проблемы только в конце работы...
Go to the top of the page
 
+Quote Post
lexx
сообщение Oct 1 2008, 05:47
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 118
Регистрация: 25-06-04
Пользователь №: 186



Хочется добавить к вышесказанному, на симуляторе остаешся до тех пор пока это все не заработает. Если оно не работает на симуляторе, то и на железе не заработает. Скорость отладки на симуляторе намного быстрее, чем на железе. Но в конечном итоге проект должен быть проверен на железе в любом случае.
Простой пример, тестирование на симуляторе 30 минут, на железе 30 секунд. Обычно, когда все заработает, результат с железа обязан совпадать с симулятором (обязательно выборочно проверить).
По моему я уже тафтологией занимаюсь, но смысл понятен.
Go to the top of the page
 
+Quote Post
Николай Иванович...
сообщение Oct 1 2008, 12:19
Сообщение #8


Частый гость
**

Группа: Новичок
Сообщений: 139
Регистрация: 26-09-08
Пользователь №: 40 510



Цитата(Цыкетчик @ Sep 24 2008, 13:19) *
1. В каких случаях отладка/тестирование в симуляторе более оптимальны, чем в "железе", а в каких менее оптимальны? (оптимальны в смысле затрат времени и/или интеллектуальных ресурсов (отладка может быть НЕ оптимальной с точки зрения затрат времени, но оптимальной с точки зрения затрат интеллектуальных ресурсов (когда "думать не надо"(писать всякие отладочные скрипты и т.п.))))
2. Какие задачи по отладке/тестированию вообще решаемы только в симуляторе и не решаемы в железе?

Ну например, когда программное обеспечение пишут 24 программера, а железка одна. Если ждать пока один отладит свою часть на железке другие 23 будут просто тупо простаивать
Go to the top of the page
 
+Quote Post
Axel
сообщение Oct 2 2008, 15:06
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 480
Регистрация: 21-11-04
Пользователь №: 1 188



В свое время пришлось писать для PIC'ов всякую экзотику - типа умножения 3-х байтового числа на 5-и байтовое. Без симулятора - вилы...
Go to the top of the page
 
+Quote Post
dch
сообщение Oct 2 2008, 15:25
Сообщение #10


Профессионал
*****

Группа: Участник
Сообщений: 1 179
Регистрация: 15-09-04
Из: 141070 г. Королев МО, улица Горького 39-121
Пользователь №: 661



все что можно отладить на компе следует на нем, а что нельзя на мк
Go to the top of the page
 
+Quote Post
Microwatt
сообщение Oct 2 2008, 15:47
Сообщение #11


Гуру
******

Группа: Почетный участник
Сообщений: 6 851
Регистрация: 25-08-08
Из: Запорожье
Пользователь №: 39 802



Цитата(Цыкетчик @ Sep 24 2008, 12:19) *
Часто слышу такую точку зрения, что симуляторами пользуются только ламеры и начинающие электронщики. А профессионалы ("правильные" инженеры), мол, пользуются только отладкой/тестированием программы в реальном "железе".

Что Вы думаете по этому поводу? Особенно интересуют ответы на вопрос п.2

Когда нужно отладить кусок программы, например, какой-то алгоритм сортировки или перемножения массивов, то это делают в отладчике, симуляторе. Можно общие алгоритмы системы в нем первоначально отладить. Это быстрее, особенно когда железо еще не готово.
Но, когда в дело вмешиваются аппаратные драйверы, поток аппаратных прерываний, - тщательная отладка в живом железе принципиально необходима. Полагаться тут на самые хорошие симуляторы - ламмерский наивняк. Это многократно проверено на живых системах. Начиная от попытки записать переменную в ПЗУ (на симуляторе писалась!) и кончая неспособностью конкретного контроллера прерваться посреди определенной подпрограммы.
Программист может неверно представлять (если вообще имеет об этом представление) реальное быстродействие оконечных устройств, вопросы переходных процессов при включении питания, не совсем верно могут быть заданы протоколы обмена со смежными устройствами (думали младшим разрядом вперед, а оно старшими выталкивает в последовательный канал) и еще куча-куча реалий.
Потому - симуляторы хорошо, но они могут только вспомогательные, оценочные функции выполнять.
Go to the top of the page
 
+Quote Post
rezident
сообщение Oct 2 2008, 16:30
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Если кратко. Симулятор для проверки и отладки (аппаратно-независимых) алгоритмов. Эмулятор для проверки и отладки взаимодействия алгоритмов с аппаратурой и различных конечных автоматов, связанных с аппаратурой, между собой.
Go to the top of the page
 
+Quote Post
Николай Иванович...
сообщение Oct 3 2008, 13:51
Сообщение #13


Частый гость
**

Группа: Новичок
Сообщений: 139
Регистрация: 26-09-08
Пользователь №: 40 510



Цитата(dch @ Oct 2 2008, 19:25) *
все что можно отладить на компе следует на нем, а что нельзя на мк

Золотые слова. Плностью их поддерживаю!!! Их надо поставить в рамку во всех холиварах на тему нужны симуляторы как класс или нет smile.gif
Go to the top of the page
 
+Quote Post
syoma
сообщение Oct 14 2008, 10:50
Сообщение #14


Профессионал
*****

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Цитата
2. Какие задачи по отладке/тестированию вообще решаемы только в симуляторе и не решаемы в железе?

Если подходить просто с точки зрения отладки железа/Программы/прибора, то ИМХО в принципе достаточно легко рассчитать по какому пути нужно идти - моделирование или реал. В этом случае нужно подсчитать во сколько обойдется создание модели железа/МК/прибора в железе или в софте + во сколько обойдется создание внешней среды для тестирования этого железа/МК/прибора, достаточной для полного тестирования устройства.
Например я разрабатываю контроллер 3-х фазного инвертора для 10-кВольтных сетей мощностями в десятки МВт. Если все отлаживать в реальном железе, то один неправильный дрыг пином приведет к боьшому буму стоимостью не один десяток к?. Поэтому используются и симуляторы и железо:
1. Matlab+Simulink - отлаживается алгоритм управления инвертором. Sympowersystems - отлаживается модель инвертора с сетью 10кВ. Все в виртуале.
2. Прототип на 380В с реальным контроллером - отлаживается алгоритм и железо. Это в реальном времени.
3. RTDS - отлаживается контроллер с виртуальной сетью 10кВ в реальном времени.
4. Счас делаем Matlab+XPCTarget. Для отладки в основном железа в реальном времени.

Конечно для испытаний есть и реальный прототип на 2МВт, но спектр возможных действий в этом случае очень сильно ограничен, так как при испытаниях например на КЗ можно весь завод остановить. Поэтому это все делается в симуляторе и принимается на веру.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 08:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.0145 секунд с 7
ELECTRONIX ©2004-2016