Conitec  
 
 
 
 

 
  Оглавление
     
       
 
 
  Мифы и факты
Часто задаваемые вопросы


Программирующее устройство, что это такое?

Программирующее устройство микросхем, или проще "программатор", является прибором предназначенным для передачи данных, программирования, "прошивания" различного рода микросхем памяти, таких как ROMs, EPROMs, EEPROMs, Flash Memory, GALs, PALs, PLDs, CPLDs, FPGAs, микроконтроллеров. Можно выделить четыре основных типа программирующих устройств:

  • Gang programmers - применяющиеся для многократных циклов программирования в массовом производстве.
  • Universal programmers - для разработок, лабораторий и мелкосерийного производства.
  • Pocket programmers - портативные программаторы для разработок и мобильного сервисного обслуживания.
  • Specialized programmers - программирующие только микросхемы определенного типа, например "EPROM programmers".

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

Какое количество микросхем должно быть поддержано?

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

На сегодняшний день существуют приблизительно 5000 различных программируемых микросхем. Однако многие универсальные программаторы имеют списки с 20000, 30000, или даже более чем 40000 микросхем - как это возможно? Ответ прост: одни и те же микросхемы будут многократно посчитаны - во всех возможных и невозможных вариантах. Например, в списке микросхем одного конкретного изготовителя ИС GAL 16V8 фирмы Lattice встречается до 400 (!) раз! Поэтому заявленное общее число поддерживаемых микросхем имеет небольшое значение для сравнения различных программирующих устройств. Гораздо важнее при выборе программатора проверить какое количество различных микросхем поддерживается, и удостовериться, что производитель предлагает сервис включающий в себя возможность дополнения списка новыми микросхемами по требованию клиента!

 

Что такое драйвер выводов (pin driver)?

Драйвер выводов это электронная схема управляющая операциями производимыми на каждом выводе гнезда программатора. К этому относятся установка логических уровней, программного напряжения, напряжения питания, pullup/pulldown резисторы, земля, тактовая частота, и логический вход с устанавливаемым порогом. Драйвер выводов является самым существенным фактором определяющим надежность, многосторонность и скорость программирующего устройства.

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

Драйвер выводов может вялятся специально разработанной ИС (как в программаторах GALEP-серии) или быть частью общей схемы выстроенной на отдельных компонентах таких как транзисторы, сопротивления и т.д.. Использование ИС имеет много преимуществ: минимальная выходная емкость, низкий собственный шум, более высокая тактовая частота и улучшенная форма сигналов. Высокая интеграция также делает возможным дизайн небольших портативных программаторов, с питанием от батарей или непосредственно от USB порта.

Что такое JTAG?

JTAG (Joint Test Access Group) – это IEEE 1149.1 нормированный интерфейс для программирования и испытания цифровых устройств. Первоначально разработанный для ИС программируемой логики, JTAG сегодня используется также для микроконтроллеров. Доступ к устройству осуществляется посредством четырёх последовательных линий (TMS, TCK, TDI, TDO) дающих возможность на высокой скорости считывать и записывать информацию с портов, памяти, регистров, lock bits и т.д.

Таким образом JTAG стандартизирует процесс программирования. Некоторые программаторы, например из GALEP-серии, могут программировать совместимые с JTAG микросхемы, даже если они еще не вошли в список поддерживаемых микросхем. Для этого используется SVF-скрипт, сгенерированный например, с помощью ИС-компилятора, который в свою очередь интерпретируется программатором и используется для высокоскоростного программирования этих микросхем.

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

Кроме того, некоторые программаторы, например GALEP-5-серии, позволяют производить отладку совместимых с JTAG микроконтроллеров непосредственно в схеме или напрямую в гнезде программатора. Программное обеспечение OpenOCD (On Chip Debuger) поддерживает в настоящее время ARM7, ARM9, XScale, и Cortex-M3 процессоры. Помимо отладки, программное обеспечение также делает возможным тестирование целых плат (Boundary Scan) посредством определенных пользователем испытательных алгоритмов. Таким образом, ваш программатор может быть использован в качестве полноценной системы разработки, тестирования и производства.

Какова должна быть стоимость универсального программирующего устройства?

Цена программирующего устройства может варьироваться от 350 и до 3500 US$. Однако только одна эта цена не имеет конечного значения, так как Вы должны еще добавить цены адаптеров или модулей для нужных Вам типов микросхем (адаптеры помещаются в DIL-гнездо программатора, в то время как модули полностью заменяют это гнездо). Среди часто используемых программируемых микросхем насчитывается приблизительно 60 различных форм. Таким образом, после покупки 60-и адаптеров или модулей в дополнение к вашему программатору, Вы сможете программировать все существующие устройства – или не совсем так?

К сожалению, нет. По крайней мере не со всеми программаторами. Один взгляд в список поддерживаемых ИС некоторых изготовителей и Вы увидите что для всех перечисленных микросхем Вам необходимо до 1000 (!) различных адаптеров. Несколько различных адаптеров для одной и той же формы корпуса микросхем, требуются когда программатор имеет недостаточное количество универсальных выводов. С другой стороны, существуют программаторы с большим числом универсальных выводов, типа GALEP-5D, требующие минимального количества модулей, что в свою очередь означает значительное сокращение конечной стоимости всей системы.

Как высока надежность программирующего устройства?

Отказ программатора в серийном производстве был бы фатальным. Но также и в разработке - Вы действительно не захотели бы ситуации, где после долгих поисков ошибки в вашем проекте причиной оказалась бы просто некачественно запрограммированная PLD! Таким образом пользователь имеет все основания ожидать от программатора чрезвычайной надежности. Тщательная разработка и изготовление, возможность применения в широком температурном диапазоне, проведение всесторонних заводских испытаний, Burn-In циклов, это все важные факторы производства программирующих устройств.

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

Некоторые программаторы на сегодняшнем рынке, не исключая и изделия ведущих производителей, не отвечают вышеназванным критериям надежности. Например, программаторы одного конкретного изготовителя известны уровнем отказа до 20% (!) ежегодно. Чтобы убедиться что Вы можете положиться на ваше программное устройство и сервис изготовителя, проверьте наличие CE, UL и RoHs сертификации и соответствие ISO 9001 нормам.

 

 


 
 

 

Conitec Datasystems, Inc · 5000 Thorne Drive, Suite F · La Mesa, CA 91941