Роман Кріночкін (м. Вінниця)
Диктофони, автовідповідачі, системи промислової зв'язку, системи безпеки з Інтеркомі, що говорять іграшки, бездротові гарнітури і багато інших додатків можна реалізувати практично на єдиному чіпі. Це мікроконтролер з сімейства STM32F компанії STMicroelectronics.
Постійне вдосконалення технології виробництва напівпровідникових кристалів, поряд з підвищенням щільності інтеграції, призвело до розширення функціональних можливостей мікросхем, що в свою чергу, дозволило значно збільшити область застосування мікроконтролерів (МК). Сучасний МК відрізняється не тільки високим швидкодією і великим обсягом RAM-і Flash-пам'яті, але й багатим набором периферійних пристроїв, що гарантують можливість застосування в самих різноманітних ситуаціях, для яких раніше доводилося застосовувати дискретні багатокорпусні набори мікросхем. Однак за високу продуктивність та універсальність доводитися розплачуватися значним енергоспоживанням.
На перший погляд все мікроконтролери з одного ARM-архітектурою мають бути однакові. Однак, незважаючи на ідентичне ядро, В«пробним каменемВ», що дозволяє відрізнити вдалий продукт від невдалого, є співвідношення В«Функціональність/ціна/енергоспоживанняВ». Компанії STMicroelectronics вдалося домогтися в своїх продуктах поєднання низького енергоспоживання при високій продуктивності і найбагатшого набору периферії за прийнятною ціною. Все це дозволяє знаходити нові можливості використання сімейства мікроконтролерів STM32F. У статті піде мова про впровадження МК STM32F (в основному сімейства В«Connectivity lineВ» STM32F105xx/107xx, а також STM32F103xC/D/E) в різні звукові додатки.
Самим простим прикладом використання STM32F в області звукових додатків є створення комплексного аудіопрогравача з можливістю читання аудіопотоку
з USB Flash-носіїв і карт пам'яті, підтримкою HMI (human machine interface) в вигляді сенсорних екранів і/або кнопкових пристроїв введення та з виведенням інформації по шині I2S прямо в ЦАП (рис. 1) [1].
Рис. 1.
Приклад організації аудіопрогравача на основі сімейства В«Connectivity lineВ»
Однак не варто думати, що застосування цих чіпів обмежується побутової аудіовоспроізводящей апаратурою. Виробникам вдалося інтегрувати в дану серію також підтримку контролера протоколу передачі даних Ethernet, індустріальну шину зв'язку CAN з виділеною пам'яттю, безліч таймерів і 16-канальний АЦП. Таким чином, даний МК поєднує в собі як функції, спрямовані на використання в споживчих додатках, так і зазвичай притаманні індустріально-орієнтованим контролерам властивості, що робить можливим застосування серії В«Connectivity lineВ» у комплексних додатках. Ніщо не заважає побудувати на базі цих чіпів не тільки аудіоплеєр, але й промислову систему АСУ зі звуковим сповіщенням. Не секрет, що шина CAN отримала найбільше поширення на транспорті, тому цілком можливе використання описуваних МК в системах управління автомобілем. При цьому два незалежних контролера CAN будуть використані для взаємодії з мережею датчиків транспортного засобу; значна кількість вводів/виводів загального призначення (до 81 для МК в корпусі LQFP100) може бути виділено для управління роботою різних виконавчих механізмів; звукові ж можливості чіпа будуть спрямовані на створення голосового інформаційного каналу для водія транспортного засобу або навіть (прогрес не стоїть на місці) для розпізнавання його голосових команд.
речі, наявність вбудованого контролера USB OTG і здатність до підтримки карт пам'яті в комплексі з високою продуктивністю Cortex M3-архітектури і звуковими можливостями сімейства В«Connectivity lineВ» значно спрощують створення на його основі GPS-навігаторів; залишається тільки додати GPS-приймач і сенсорний екран - пристрій готовий!
Також цікавими сферами застосування для чіпів сімейства можуть стати додатка по організації безпеки (системи аудіовізуального контролю периметра, Інтеркомі), телефонія, бездротові гарнітури, індивідуальна і колективна радіозв'язок (Цьому сприяє вбудований ЦАП) і навіть часткова заміна традиційних ЦОС-процесорів, словом мікросхеми можуть використовуватися скрізь, де необхідно організувати передачу аудіоданих в цифровому вигляді. При цьому можливість гнучкої налаштування інтерфейсів дозволяє застосовувати їх як там, де вимоги до якості звукового тракту відносно великі (музичні програми, Bluetooth-гарнітури), так і там, де необхідна редукція якості на користь пропускної здатності (Системи безпеки, радіозв'язок і т.п.).
Використовуючи вбудований 12-бітний двоканальний незалежний ЦАП, можна створювати такі цікаві пристрої як генератори шумів, прилади для тестування частотних характеристик ланцюгів, синтезатори різних музичних звуків і т.п.
Підкреслимо основні особливості та технічні характеристики чіпів STM32F105xx/107xx з сімейства В«Connectivity lineВ» з точки зору застосування в звукових додатках:
Повна підтримка цифрового аудіоінтерфейс I2S (два незалежні канали);
Два незалежних 12-бітних ЦАП з можливістю синхронізації;
Контроллер USB OTG;
Три каналу SPI (мультиплексируются з I2S);
Один або два контролера I2C;
Ethernet (Тільки 107xx).
Шина I2S, як вона є
Коль скоро саме імплементація апаратної підтримки шини I2S надає можливість широкого застосування МК STM32F105xx/107xx в звукових додатках, варто розповісти про неї докладніше.
I2S (Inter-IC Sound bus) є синхронної послідовної шиною, розробленої компанією Philips Semiconductors спеціально для зв'язку між мікросхемами в області цифрового аудіо. Справа в тому, що на шляху від бітів даних до механічних коливань звук в цифровій формі чекає складний процес перетворень, здійснюваний зазвичай різними інтегральними схемами, такими як АЦП/ЦАП, ЦОС-процесори, коректори помилок, цифрові фільтри, інтерфейси і т.п. Для стандартизації зв'язки між різними функціональними блоками і застосовується протокол I2S.
Шина використовує для зв'язку дві службові лінії тактирования В«Serial ClockВ» (SCK) і вибору каналу В«Word SelectВ» (WS) і одну лінію даних В«Serial DataВ» (SD). Наявність лінії тактирования SCK обумовлено синхронної природою інтерфейсу, а от наявність лінії вибору каналу WS безпосередньо пов'язано з його звуковим застосуванням. Перемикаючи стан даної лінії, ведучий пристрій вказує на передачу даних з різних каналів стерео аудіопотоку: WS = 0 - лівий канал, WS = 1 - правий. До речі специфікація передбачає, що провідним пристроєм може бути як сам передавач, так і приймач або навіть третє пристрій-арбітр. При цьому основним завданням провідного є генерація сигналів на службових лініях SCK і WS (рис. 2 [2]).
Рис. 2.
Варіанти поєднання ведучий/ведений і таймінги при роботі за протоколом I2S
Стандарт висуває вимоги до затримок сигналів на лінях WS і SD по відношенню до фронтам тактовою лінії, і це дійсно важливо, так як потік аудіоданих повинен відновлюватися з цифрової форми строго у відповідності з рівними часовими проміжками, обумовленими частотою семплірованія. В іншому випадку ми ризикуємо отримати значні спотворення звуку. З цієї ж причини провідне пристрій повинен генерувати тактовий сигнал з якомога більшою рівномірністю (стабільністю тактирования), в іншому випадку високі значення нерівномірності не дозволять якісно відтворити записане в цифровій формі музичний твір.
Існує ще одна проблема, пов'язана з питаннями тактирования. Справа в тому, що різних периферійних інтерфейсів часто необхідна різ...