Чи замінили мікроконтролери більш прості ІМС?


37

Чи все-таки варто навчитися, наприклад, як настроїти таймер 555 за допомогою резисторів та конденсаторів, коли ви можете написати програму таймера для мікроконтролера зрозумілою людиною мовою програмування?

Або, по-іншому, чи є проблеми, що ІМС хороші для того, що мікроконтролери не є?


4
@ jes5199 - я не зовсім впевнений, наскільки це питання заслуговує на метатег; Ви можете прокоментувати своє обґрунтування?
Дж. Полфер

3
моя думка полягала в тому, що я задавав питання не про конкретну проблему, а про всю область. Це здалося мені маленьким мета.
користувач955

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

Відповіді:


35

Переважно мікроконтролери замінили дискретні ІМС. Я вважаю, що навіть якби я міг сконструювати схему з 555, ймовірно, що ту саму схему потрібно буде виправити за кілька тижнів, щоб зробити щось інше, і мікрозбереже цю гнучкість.

Але є кілька винятків.

Дискретна логіка все ж швидша, ніж більшість мікроконтролерів. Затримка поширення та час перемикання для дискретної логіки знаходяться в діапазоні 1-10 нс. Щоб відповідати цьому мікроконтролеру, ви повинні мати можливість реалізовувати будь-яку логіку, яка вам потрібна в 1 інструкції, і мати тактовий діапазон в діапазоні від 100 МГц до 1 ГГц. Ви можете це зробити, але, можливо, не на дошці у вашому гаражі.

Хорошим прикладом цього є квадратурний декодер HCTL2020. Він займає дві серії імпульсів і підказує, яким шляхом обертається ваш мотор. Він реалізований як непрограмований чіп заради швидкості.

Ще одна цікава область, коли і цифрова логіка, і мікроконтролери виходять з ладу, - це фільтрація сигналу. Якщо у вас є аналоговий сигнал, який ви хочете відфільтрувати цифровим способом, вам доведеться пробити його вибірку з деякою швидкістю. Незалежно від того, наскільки швидко ви його відбираєте, шум у сигналі, який з’являється на частотах, що перевищують половину вашої частоти дискретизації, зменшиться до нижчих частот, де це може заважати вашому сигналу. Ви можете вирішити цю проблему за допомогою фільтра низьких частот, виготовленого з ковпачка та резистора, до того, як відбудеться відбір проб. Після відбору проби вас накрутили. (Звичайно, часто трапляється так, що шум не перекриває ваш сигнал за частотою, і тоді цифровий фільтр буде чудово працювати.)


> Дискретна логіка все ж швидша, ніж більшість мікроконтролерів. Якщо ви не використовуєте Cypress PSoC3.
Rocketmagnet

3
@Rocketmagnet - PSoC, як і FPGA, все ще є необробленою логікою. Це не дискретно, звичайно, але це так само швидко.
Кевін Вермер

29

Як не дивно, я просто мав один із наших китайських заводів, який намагався додати мікропроект до проекту, де він був повністю зайвим, і я сказав їм використовувати 555 замість цього. 555 коштує, можливо, 6 центів, порівняно з дешевим мікроконтролером за 60 центів. Коли ви виготовляєте продукцію у великих кількостях, ця різниця у вартості важлива, і ви обов'язково захочете знати, як використовувати дешевший ІС. Так що так, вони краще коштують менше. :)


12
Ви можете також додати до цього надійність. У кожному програмному забезпеченні є одна помилка після видалення останньої.
stevenvh

13

Однією з областей дискретної логіки, яка все ще вибиває мікросистему, є довгострокова стабільність частини.

Чи з'явиться цей мікрофон через 10 років? 20? Чи підтримуватимуть IDE та ланцюжок інструментів у той час?

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

Крім того, ви не SOL, якщо ваш виробник чіпів має замовлення. Багато людей складають сумісну загальну логіку, в той час як загального мікропрограми в основному немає.


11

Часто виходить дешевше використовувати дискретні схеми, щоб виконати просте завдання. Наприклад, миготливий світлодіод. Найдешевший PIC, PIC10F200, коштує приблизно 0,35 долара за 5 кг, і це перед витратами на програмування та врахуванням невеликих розмірів (і пов'язаних з цим проблем з виробництвом.) Таймер NE555, з іншого боку, можна взяти приблизно за США $ 0,10 від TI в 5ku, і повне рішення, ймовірно, важило б приблизно 0,20 дол.

Інша річ, яку слід врахувати, - це те, що мікроконтролери за своєю суттю є цифровими пристроями. Звичайно, більшість мають АЦП, а деякі навіть мають ЦАП, але вони все ще працюють на дискретних одиницях часу та працюють на окремих бітах і байтах. Аналогова схема може бути налаштована саме на те, щоб зробити те, що потрібно дизайнеру, тому що теоретично аналог має нескінченну роздільну здатність **. Цифрова схема обмежена найповільнішою її складовою.

Нарешті, є питання постачання. Повертаючись до мого першого прикладу, NE555. Це було вже більше 20 років і, ймовірно, буде ще близько 50 після цього. Це настільки желейна частина, що вона, ймовірно, буде виготовлятися назавжди (або принаймні, поки звичайні електрони не застаріють в електроніці.) В той час, як PIC10F може бути виготовлений NRND у будь-який час. У одного постачальника, такого як Microchip, існує значний ризик, що це може зіпсувати товар.

** Гаразд, це не зовсім так. У дійсності ми обмежені роздільною здатністю електронів. 1 ампер = 6,24 × 10 18 електронів / секунду. Тож найкраща роздільна здатність струму, яку ви можете отримати, - це атоампер, або 10 ^ -18 ампер, що становить близько 6 електронів в секунду. Але для більшості практичних цілей це нормально. :)


4
ви плутаєте роздільну здатність з точністю, часто помилкою. Немає сенсу мати> 10 цифр роздільної здатності, якщо дрейф викликає ефективну точність лише двозначних цифр. Цифрове рішення може мати більш високу точність, незважаючи на те, що воно має дискретне і, отже, більш обмежене дозвіл .
stevenvh

8

Не забувайте програмовану логіку - CPLD та FPGA. Замінивши дискретну логіку на CPLD, на вас не впливають припинення роботи деталей і ви можете отримати набагато більше продуктивності, зменшеного розміру та менших витрат. Якщо у вас є система FPGA, ви можете впровадити в неї м’яке ядро, яке легко модернізувати, якщо вимоги будуть змінені, і вся справа може бути легко "захищена від майбутнього".


6

Я б класифікував навчання, щоб настроїти таймер 555 як знання «про всяк випадок». Це те саме, що люди говорять: "Я все життя прожив просто чудово без алгебри. Чому ми навчаємо це дітям?" Якщо ви не знаєте, як користуватися інструментом, ви ніколи не побачите проблеми, до якої можна застосувати.

Що стосується конкретної відповіді: у FPGA / ASIC сьогодні реалізована дуже швидка цифрова логіка, оскільки вона буде надто повільною на мікроконтролері / процесорі (якщо тільки це не був спеціально розроблений процесор, як DSP).


6

У моєму теперішньому проекті ми використовуємо чіп Marvell ARM9, що працює на частоті 500 МГц та FPGA, щоб запропонувати багато портів DIO. Все-таки є речі, якими керується дискретна логіка. Наприклад, необхідне керування кроковим двигуном для 4-х крокових двигунів, що управляються окремо. Є один генератор, який генерує частоту з лічильником, що дозволить пройти ряд імпульсів. Лічильник встановлюється від мікроконтролера, але потім працює без додаткового контролю з боку мікроконтролера, даючи йому час для роботи над іншими завданнями.

Ми могли обрати більше мікроконтролерів. Але центральний контролер, що працює з традиційною дискретною логікою, може виявитись потужним і дуже надійним рішенням.

Крім того, якщо у вас є чітко визначена проблема, рішення завжди повинно бути максимально простим, але не простішим (цитата, прихована там ;-)). Якщо 555 працює, чому б ви не використовували його? Гнучкість може бути аргументом, як хтось вирішив, але це не може бути. Все залежить від вашої проблеми та вашої інтерпретації того, що саме просте рішення.


1
Я думаю, що ваш розширювач вводу-виводу FPGA стане прекрасним місцем для "логічної" частини крокового управління.
Кріс Страттон

5

Приходять на думку високочастотні програми зв'язку. Незважаючи на те, що зараз у нас є «програмно визначене радіо», було б дуже дивно, якщо обробка сигналу 100 МГц + ще не має хоча б деяких аналогових ступенів.


4

Дуже небагато моїх останніх конструкцій мікроконтролерів вимагали будь-якої дискретної логіки. Винятком є ​​реалізація типу скидання Ctrl-Alt-Del, завдяки якому натискання двох конкретних клавіш на спеціальній клавіатурі протягом двох секунд дозволило б зробити важкий скидання мікрофона. Я використовував ворота NOR (використовувались як ворота AND з двома перевернутими входами), ворота AND та 74HC123. Було зручно мати змогу отримати конкретні ворота, які мені потрібні в одних воротах у пакеті SMT, замість 4 воріт / пакет у дні DIP.


4

Я мав шанс бути розробником програмного забезпечення протягом багатьох років і зараз працювати інженером з електроніки.

Будь-яка система зі складністю поставляється з помилками та помилками. І мікроконтролери, і мікросхеми мають свої переваги та недоліки, виходячи зі своїх областей використання.

Для малих проектів ІМС швидші, дешевші та надійніші, ніж мікроконтролери. Для великих масштабних проектів з мільйонами вхідних даних, логіки аналізу та порівнянь впевнені, що мікроконтролери мають перевагу над ІМС.

У будь-який момент все програмне забезпечення виходить з ладу, навіть код без помилок схильний до модифікацій, оскільки він зберігається на ПЗУ, що призводить до логічних помилок (наприклад, витоку пам'яті), які важко виявити, але колись закінчуються катастрофою.

Для запобігання запуску програм, заснованих на програмному забезпеченні, від збоїв у критичних програмах (таких як системи військового рівня або рятувальні системи, такі як системи управління поїздами), впроваджуються та розробляються концепції "відмови від безпеки".

У разі відмови безпечні системи повертаються до безпечного стану у випадку виняткової помилки. Зазвичай два процесори виконують один і той же код, порівнюють результати кожної інструкції, і якщо вони рівні, інструкція виконується. В іншому випадку система використовує фізичні електричні реле для повернення в безпечний стан.

Системи на основі програмного забезпечення, що не спрацьовують, застосовуються в системах блокування поїздів і АТФ (автоматичний захист поїздів).

Проектування тієї ж складної системи з Ics - це великий головний біль для будь-якого інженера. І саме тому програмне забезпечення було розроблено з першого дня!


3

ІС можуть бути дуже доменними. Я думаю про декодер DTMF. Я міг би запрограмувати мікроконтролер для декодування двох частот, але простіше, швидше та дешевше використовувати мікросхему, що не перебуває на полиці.

Я думаю, що важливо мати достатньо знань про всі інструменти, щоб знати, яким інструментом користуватися.


Звичайно, залежить від того, чи потрібен мікроконтролер в ланцюзі. Нещодавно у мене був проект, де мені знадобився декодер DMTF. Фішки коштують близько долара в кількості. Різниця в ціні між PIC24F або еквівалентним dsPIC33F (який також має DSP) також становила приблизно долар у кількості. Програми DSP декодера DTMF були вільними від Microchip. Плюс у мене зараз є DSP для інших речей.
tcrosley

FYI, я написав досить хороший DTMF декодер для PIC 16C622 кілька років тому, використовуючи лише компаратор як вхідний.
supercat

3

Існує одна велика різниця між розробкою чогось, використовуючи лише окремі компоненти, порівняно з використанням мікроконтролера; програмне забезпечення має помилки. Якщо надійність є важливим аспектом, можна перевірити конструкцію чогось, зробленого з дискретних компонентів. Навіть Кнут не наважується стверджувати, що його програмне забезпечення без помилок.

Звичайно, у вашому дизайні можуть бути помилки, і вони можуть з’являтися лише в дуже рідкісних випадках, але їх зрозуміти та виправити їх буде простіше. Можливо, програмне забезпечення виходить з ладу надзвичайно незрозумілими та неочевидними способами, яких ви ніколи не знайдете.


2
Оскільки дискретні компоненти в цьому випадку, ймовірно, означають ІМС, а не транзистори, то чому ви думаєте, що ІМС не мають помилок? Добре написане програмне забезпечення закінчується помилками не тому, що це програмне забезпечення, а тому, що воно вирішує складні вимоги - версія з жорстким проводом може бути помилковою. Після того, як ви знайшли помилку, розгортати виправлення програмного забезпечення стає дешевше, ніж це змінювати друковані плати, якщо тільки хтось не записує великий запас мікрофонів OTP для вас. Ви можете навчити когось підключати кабель програміста і виконувати правила ESD набагато швидше, ніж ви можете навчити їх бути хорошими в переробці плат SMT.
Кріс Страттон

ІМС існує у всіх рівнях складності, включаючи мікроконтролери. Імовірність помилок в ІС пропорційна складності ІМС. Питання стосувалося простіших ІМС, таких як таймер 555, і я думаю, що сукупна ймовірність такого ІМ та додаткових компонентів мати помилки набагато нижча, ніж ймовірність того, що мікроконтролер замінить їх помилки. Звичайно, якщо ви заміните 1000 компонентів одним мікроконтролером, шанси, ймовірно, зміняться, тому зображення не буде повністю чорно-білим. Але для будь-якого мерехтливого світлодіодного пристрою чи подібного, що я ...
hlovdal

... Я сприймаю це питання, я все ж вважаю, що окремі компоненти можуть бути більш надійними. А щодо програмних помилок вони не детерміновані. Звичайно, нічого не гарантується на 100%, але якщо ви застосуєте контролер світлофора з компонентами, ви можете перевірити його і розгорнути, знаючи, що він буде працювати протягом X років, поки фізичний знос не призведе до того, що пристрій може вийти з ладу та заміни. це з новим блоком задовго до цього. Неможливо оцінити, що програмне забезпечення буде надійно працювати протягом будь-якого періоду часу.
hlovdal

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

3

Відповідь ТАК!

На це потрібно дивитися як на конструктор обладнання з орієнтацією на виробничі витрати. 555 - це старий ІС, який вважається дуже базовим. Якщо ви EE, найімовірніше, ви бачили це кілька разів на уроках цифрової електроніки. Налаштувати його дуже просто, оскільки вам потрібно вирішити 2 або 3 формули для більшості поширених програм. Це займає майже не час (оскільки ви вже знаєте частину, і як нею користуватися, і математика проста). Кількість часу, яке знадобиться для налаштування розробки навіть для 8-бітового MCU та перевірки програмного забезпечення, може зайняти від днів до місяців, залежно від середовища, в якому ви працюєте. Таким чином, це може зменшити витрати на інженерію на суму, яку ви не уявляєте можливою та також, можливо, скоротити час виходу на ринок.

Справжня історія - я працював у величезній медичній компанії. Я розробив тестові джиги для перевірки продукту. Джиги були частиною апаратного забезпечення та частиною вбудованого програмного забезпечення. Продукт, який виробляє компанія, взаємодіє з вразливими частинами тіла, тому кількість огляду, яку ми пройшли, була горіхами. Цього разу мені довелося коригувати протокол зв’язку, щоб відображати зміни в самому продукті. Зміна, можливо, склала 10 рядків коду в С, і кристалічний осцилятор також змінився, коли швидкість передачі даних була змінена, і те, що спочатку було встановлено, не було 11.0592 МГц ... На це знадобилося близько 2 годин, щоб це зробити, включаючи документацію. Вартість компанії, ймовірно, становила 300 доларів або менше при замовленні Digikey на нові деталі. Перевірка вдосконаленого тестового джигу зайняла кілька місяців (! ) і тримали близько 3 або 4 людей, зайнятих принаймні кілька разів на день, пов'язаних з цим питаннями. Скільки це коштує компанії? Можливо, на північ від 10 000 доларів - 15 000 доларів. Ця вартість відображає справжню вартість незначної зміни дизайну. Багато разів ви можете зберегти це, і знаючи, що майже готові рішення можуть заощадити невелике статок.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.