Продолжая рубрику "Часто задаваемые вопросы", начатую в #7 "Chip News", сегодня мы предоставляем слово Андрею Мозжевилову (andy@svrw.ru) и Алексею Владимирову (avlad@mailbox.riga.lv).
Андрей Мозжевилов
Вопрос: Зачем и в каких случаях нужно применять дополнительные меры по повышению надежности устройств на базе микроконтроллеров (МК)?
Ответ: Устройства на базе МК, как правило, не требуют вмешательства пользователя при работе. В отличие от персональных компьютеров, где сбой программы или аппаратной части может быть в большинстве случаев устранен достаточно быстро простым переключением питания, МК-устройства могут располагаться в местах, где нет обслуживающего персонала или затруднен доступ. Очень часто такие устройства предназначены для функционирования в непрерывном режиме и в сложных условиях (большой диапазон температур, вибрация, разного рода помехи и так далее). Поэтому к ним предъявляются более высокие требования к бесперебойной работе без вмешательства извне. Для повышения помехоустойчивости и снижения вероятности "подвисания" применяются различные методы, которые можно разделить на аппаратные и программные. Принятие дополнительных мер в конечном итоге увеличивает стоимость устройства и срок его разработки, поэтому использование тех или иных методов прежде всего, компромисс между требованиями, предъявляемыми к устройствам этого класса, себестоимостью и сроками, отпущенными на разработку.
Вопрос: В чем отличие аппаратных и программных методов повышения надежности? Какой из этих методов важнее?
Ответ: Аппаратные методы реализуются схемотехнически, путем введения в схему устройства дополнительных элементов. К ним можно отнести и особенности разводки печатной платы устройства. Аппаратные методы по сути дела являются первичными, и должны защищать МК от разного рода внешних влияний. Программные методы реализуются исходя из предположения, что аппаратные методы защиты не сработали, либо произошел непредусмотренный ими сбой.
Вопрос: От чего защищаться прежде всего?
Ответ: Поскольку любое устройство, в состав которого входят интегральные схемы, требует источника питания, который, как правило, не идеален, то в простейших случаях нужно защищаться, как минимум, от сбоев в напряжении питания. В зависимости от специфики и области применения устройства, существует множество помех различного рода, для которых подбираются способы ослабления. В любом случае, нужно помнить, что нельзя создать устройство со 100-% гарантией защиты от любых сбойных ситуаций, так как всегда существует определенный процент брака применяемых элементов, далеко не нулевая вероятность ошибки в программе МК и так далее.
Вопрос: Что включают в себя аппаратные способы повышения надежности?
Ответ: Аппаратные способы это набор определенных схемотехниче-ских решений, позволяющих либо снизить влияние факторов, вызывающих сбой устройства, либо восстановить его работоспособность после сбоя. Из множества способов стоит выделить прежде всего применение схем мониторинга питания и работоспособности МК.
Алексей Владимиров
Вопрос: Какие кросс-средства есть для SCENIX и где их взять?
Ответ: Подборку ссылок на кросс-средства для Scenix можно найти на http://www.svtehs.com/ru/scenix.htm#Development software.
Бесплатных ассемблеров по сути два SASM (http://www.scenix.com/tools/index.html) от Scenix и MPASM (http://www.microchip.com/10/Tools/pTools/MPASM/index.htm) от Microchip, к которому нужно добавить макроопределения команд Scenix (http://www.svtehs.com/sxdefs.inc). Приличный программный симулятор один SxSim (http://www.brouhaha.com/~eric/scenix/sxsim/). Он поддерживает только SX18/28, для SX48/52 есть только внутрисхемные эмуляторы, о которых речь пойдет чуть ниже.
Основных компиляторов C для SX два, оба вполне работоспособны и в бесплатном режиме. C ftp://ftp.htsoft. com/hitech/demo/picdemo.zip можно скачивать триальную версию Hitech PIC C, которая работает 21 день, а потом придется скачать заново. А с http://www.geocities.com/SiliconValley/Station/7733/ можно скачать бесплатный AS2SX дополнение Hitech PIC C для работы с SX. Второй компилятор С и C++ С2С (http://www.geocities.com/SiliconValley/Network/3656/c2c/c.html). Слегка ограниченная версия бесплатна, полная стоит $45. Здесь же есть неплохое сравнение эффективности компиляторов C для PIC и SX.
Для приверженцев PASCAL есть и его компилятор P2C (http://www.geocities.com/SiliconValley/Network/3656/p2c/p.html), урезанная версия бесплатна.
Интегрированных оболочек три: SX-DEV, SX-KEY и MPLAB.
SX-DEV (http://www.svtehs.com/ru/sxdev.htm) представляет собой оболочку, объединяющую программатор/внутрисхемный эмулятор SX-DEV, внешний ассемблер MPASM или SXASM, внешний симулятор SXSIM и встроенный софт для обеспечения всех режимов эмуляции. Стоит $150, в комплект входит собственно программатор/внутрисхемный эмулятор, модуль реального времени и софт.
SX-KEY (http://www.sxtech.com/developmenttools.asp) это софт программатора/внутрисхемного эмулятора SX-KEY. Полностью "вещь в себе" никаких внешних программ подключить нельзя, аппаратура не позволяет отлаживать кристаллы при низком напряжении. Однако пользоваться можно. Стоит $149.
В качестве интегрированной оболочки можно использовать и MPLAB, добавив к MPASM файл макроопределений SX. Компилятор Hitech PIC C интегрируется туда штатным образом, компиляторы C2C++/C2C и P2C интегрируются в MPLAB при помощи C2C++/C2C/P2C Rocket (http://www.geocities.com/SiliconValley/Network/3656/rocket/index.html). Однако, встроенным в MPLAB симулятором и программатором PICSTART для работы с SX воспользоваться не удастся.
Вопрос: Чем запрограммировать SX?
Ответ: Лучше всего воспользоваться программатором SX-TIPS (http://www.svtehs.com/ru/sxtip.htm) . Его можно купить там же, где и сами кристаллы. Можно собрать программатор самому, например, по документации от Sсenix (http://www.scenix.com/virtual/download/isp.html) или Fluffy (http://www.codepuppies.com/~ben/sens/pic/sx/) или "заапгрейдить" COMPIC-1 (http://www.geocities.com/SiliconValley/Station/7733/), переведя его на внешнее питание, добавив транзисторный ключ и заменив софт.
Вопрос: Что меньше потребляет, PIC, SX или AVR ?
Ответ: Вот сравнение при одинаковой производительности (то есть тактовая PIC в 4 раза больше, чем для SX и AVR) следующих похожих по параметрам 28-выводных микроконтроллеров с флэш:
- PIC16F872, http://www.microchip.com/Download/Lit/PICmicro/16F87X/30221a.pdf (2Kx14 флэш, 128 байт ОЗУ, 5 входов АЦП, 1 ШИМ, 3 таймера, 28 выводов);
- AT90S4433, http://www.atmel.com/atmel/acrobat/doc1042.pdf (4Kx8 флэш, 128 байт ОЗУ, 6 входов АЦП, 2 таймера, 2 ШИМ, 1 UART, 1 компаратор, 28 выводов);
- SX28, http://www.scenix.com/products/datasheets/sx28_1_19.PDF (2Kx12 флэш, 136 байт ОЗУ, 1 таймер, 1 компаратор, 28 выводов).
Сравниваются типовые значения тока потребления, указанные в "даташитах", при нормальной температуре c кварцевым резонатором при минимальном питании для данной частоты.
Таблица. Потребление 8-выводных флэш-микроконтроллеров
Условия | PIC, мА | AVR, мА | SX, мА |
PIC, AVR и SX в power down 2,5 B, WTD отключен | ~0,01 | ~0,01 | ~0,01 |
PIC на 32 кГц 2 В, AVR и SX на 32 кГц 2,5 В | ~0,015 | - | ~0,1 |
PIC на 4 МГц 2 В, AVR и SX на 1 МГц 2,5 В | ~0,7 | ~1 | ~1 |
PIC на 10 МГц 3 В, AVR и SX на 2,5 МГц 3 В | ~2,5 | ~2 | ~2 |
PIC на 20 МГц 4 В, AVR и SX на 5 МГц 3 В | ~6 | ~4 | ~4 |
PIC на 48 МГц, AVR и SX на 12 МГц 3 В | не работает | ~8 | ~10 |
PIC на 60 МГц, AVR на 15 МГц 5 В, SX на 15 МГц 3 В | не работает | ~24 | ~15 |
PIC на 200 МГц, AVR на 50 МГц, SX на 50 МГц 3 В | не работает | не работает | ~37 |
PIC на 300 МГц, AVR на 75 МГц, SX на 75 МГц 5 В | не работает | не работает | ~100 |
Вопрос: Где можно приобрести микроконтроллеры фирмы Scenix?
Ответ: Если говорить о России, то в Москве поставкой продукции Scenix занимается фирма Макро Тим, в Латвии SV TEHS, на Украине фирма СВ АЛЬТЕРА.
Ваш комментарий к статье | ||||