Действительно ли аппаратные средства невозможно отладить без программного обеспечения?

Отказ от ответственности: Я - неосведомленные (главным образом) аппаратные средства. Это - вероятно, моя проблема. Однако мне трудно признать, что не возможно отладить аппаратные средства поэтому, я просто хотел получить некоторые вторые мнения.

У нас есть проблема. Где определенные действия (загружающий USB-устройства и во времени выполнения) могут унести или концентратор Usb или кристалл на наше плате Usb (это - специальное оборудование). Это - нечеткая проблема (кажется, что степень "blownness" может варьироваться немного), и проблема проявляется неустойчивыми способами с различными признаками, которые очень трудно надежно воспроизвести (обычно случайное повреждение пакетов).

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

Результат этого - то, что невозможно сказать, какое из наших устройств переносит эту проблему, полностью не заменяя ВСЕ аппаратные средства (мы стиснули зубы для большинства наших производственных аппаратных средств, но существует все еще много dev и аппаратных средств QA там с этой проблемой).

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

7
задан Quibblesome 10 March 2010 в 13:18
поделиться

6 ответов

Встроенное тестовое оборудование используется для выполнения встроенного теста

BITE для BIT

(без байтов.)

Это совершенно, абсолютно нормально для военного/аэрокосмического оборудования иметь дополнительное оборудование для тестирования себя.

В оригинальный IBM PC было встроено удивительное количество тестового оборудования.

В случае с вашим оборудованием, тестовое устройство и некоторый статистический анализ сделали бы свое дело. Это может быть сделано аппаратно в донгле, но, откровенно говоря, проще было бы с некоторым программным обеспечением. Используйте два последовательных преобразователя USB в RS232 встык, чтобы сделать устройство USB loopback. Отправляйте много данных, проверяйте контрольные суммы пакетов и измеряйте частоту ошибок.

Я предполагаю, что ваши ошибки происходят на стороне вход->выход, а также выход<вход.

Действительно, вашим специалистам по аппаратному обеспечению нужно просмотреть некоторые заметки по применению; USB IS hotplug-safe IF done according to the book. В сети есть классный пример опторазвязки подключения USB-чипа к плате, на которую он установлен, для предотвращения подобных вещей. Микросхема USB подключена к хосту, питается от него, а интерфейсом к микросхеме USB является SPI, который оптически соединен с остальной частью платы.

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

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

Надеюсь, это поможет.

6
ответ дан 6 December 2019 в 15:20
поделиться

Нет не так.

Многие производители аппаратного обеспечения начинают с тестирования оборудования. Входы и выходы (IO) - это просто вопрос оценки того, куда идет поток схемы. Рассмотрим абстракцию: и программное, и аппаратное обеспечение имеют дело с булевыми операциями.

Аппаратное обеспечение просто немного менее читаемо для человека!

4
ответ дан 6 December 2019 в 15:20
поделиться

Когда дело доходит до этого, линия связи аппаратного обеспечения (в своей основе) ВЫСОКАЯ и НИЗКАЯ через различные контакты.

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

1
ответ дан 6 December 2019 в 15:20
поделиться

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

Если вы можете понять, почему пакеты портятся (плохое напряжение?), То, может быть, вы могли бы обнаружить это с помощью оборудования?

В противном случае вам понадобится какой-то надежный комплект для тестирования и программное обеспечение для отправки / получения большого количества пакетов на искать коррупцию?

1
ответ дан 6 December 2019 в 15:20
поделиться

Нет. Для этого нужны осциллографы и логические анализаторы. Также существует более специализированное оборудование, например USB-тестеры.

1
ответ дан 6 December 2019 в 15:20
поделиться

Чем проще оборудование и чем больше у вас доступа к сигналам, тем выше вероятность того, что вы сможете диагностировать его «чисто аппаратно». в некотором роде. Например, если у вас была простая карта с параллельным портом, подключенная к слоту PCI, было бы относительно просто установить анализатор шины на шину PCI и выход адаптера и посмотреть, правильно ли поступают выходы при обращении к карте. . Но обратите внимание, что вам все равно нужно будет попытаться получить доступ к этой карте через шину PCI, что будет означать либо (A) какую-то симуляцию шины PCI, что было бы чертовски большой кучей тестового оборудования, либо (B) дешевый стандартный ПК с несколькими строками тестового кода.

Но на другом конце спектра предположим, что вы имеете дело с большой FPGA. Вы можете получить чертовски много логики в FPGA, и у вас не обязательно будет доступ ко всем контрольным точкам, которые вам нужны. Я лично столкнулся с ошибкой с последовательным портом, встроенным в FPGA, когда состояние гонки с регистром предварительной загрузки сдвигового регистра иногда приводило к повреждению байта. Гипотетически VHDL можно было бы переработать, чтобы выявить точки тестирования и собрать груду осциллографов и анализаторов, но с точки зрения управления было гораздо более экономически выгодно попытаться решить проблему с помощью программного обеспечения. При нормальном использовании рассматриваемая ошибка появлялась бы один раз в синюю луну. Мы повторяли рассуждения об условиях, которые могут вызвать ошибку, и уточняли тестовый код, пока у нас не было тестового программного обеспечения, которое могло бы воспроизводить ошибку 2-3 раза в минуту. На этом этапе мы действительно могли дать подсказки разработчикам VHDL, которые помогли им быстро решить проблему.

Короче говоря, в течение недели аппаратная ошибка была устранена с помощью программного обеспечения, тогда как начать с той же информации и перейти на «только аппаратное обеспечение», вероятно, не было бы быстрее, и потребовалось бы много дорогостоящего тестового оборудования. . Так что да, вы, вероятно, можете сделать это без программного обеспечения, но, как обычно, это компромисс, и вы должны найти правильный баланс между количеством программного обеспечения и оборудования для работы.

1
ответ дан 6 December 2019 в 15:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: