Аудио иштетүүгө байланыштуу DSP чиптери үчүн менчик микропрограмма менен камсыз кылуу практикасынан алыстоо үчүн башында Intel тарабынан түзүлгөн Sound Open Firmware 2.0 (SOF) долбоору чыгарылды. Кийинчерээк долбоор уюмдун кол чатырынын астына өткөрүлүп берилген. Linux Foundation азыр коомчулуктун катышуусу жана AMD, Google жана NXP компанияларынын катышуусу менен иштелип чыгууда. Долбоор микропрограммалык камсыздоону иштеп чыгууну жөнөкөйлөтүү үчүн SDK жана ядро үчүн үн драйверин иштеп чыгууда. Linux жана ар кандай DSP чиптери үчүн даяр микропрограммалардын топтому, анын ичинде санариптик кол коюлган бинардык чогултуулар. Микропрограмманын коду C тилинде чогултуу кошумчалары менен жазылган жана BSD лицензиясы боюнча таратылат.
Модулдук түзүлүшүнүн аркасында Sound Open Firmware ар кандай DSP архитектураларына жана аппараттык платформаларына көчүрүлүшү мүмкүн. Мисалы, колдоого алынган платформалардын арасында Xtensa HiFi негизиндеги DSP менен жабдылган ар кандай Intel чиптерин (Broadwell, Icelake, Tigerlake, Alderlake ж.б.), Mediatek (mt8195), NXP (i.MX8*) жана AMD (Renoir) колдоо. Архитектуралар 2, 3 жана 4 деп айтылат. Иштеп чыгуу процессинде атайын эмулятор же QEMU колдонсо болот. DSP үчүн ачык микропрограмманы колдонуу микропрограммадагы көйгөйлөрдү тезирээк оңдоого жана диагностикалоого мүмкүндүк берет, ошондой эле колдонуучуларга микропрограмманы өз керектөөлөрүнө ылайыкташтырууга, конкреттүү оптималдаштырууларды жүргүзүүгө жана микропрограмманын жеңил версияларын түзүүгө мүмкүнчүлүк берет. продукт.
Долбоор аудио иштетүүгө байланыштуу чечимдерди иштеп чыгуу, оптималдаштыруу жана тестирлөө, ошондой эле DSP менен өз ара аракеттенүү үчүн драйверлерди жана программаларды түзүү үчүн негиз түзөт. Курамга микропрограммаларды ишке ашыруу, микропрограмманы текшерүү үчүн шаймандар, ELF файлдарын жабдууларга орнотууга ылайыктуу микропрограммалык сүрөттөргө айландыруу үчүн утилиталар, мүчүлүштүктөрдү оңдоо куралдары, DSP эмулятору, хост платформа эмулятору (QEMU негизинде), микропрограмманы издөө куралдары, MATLAB үчүн сценарийлер кирет. /Октава аудио компоненттери үчүн тактоо коэффициенттери, микропрограмма менен өз ара аракеттенүүнү жана маалымат алмашууну уюштуруу үчүн тиркемелер, аудио иштетүү топологияларынын даяр мисалдары.


Ошондой эле, долбоор Sound Open Firmware негизиндеги микропрограмманы иштеткен түзмөктөр менен колдонула турган универсалдуу драйверди иштеп чыгууда. Драйвер негизги ядрого мурунтан эле киргизилген. Linux, 5.2 версиясынан баштап жана кош лицензия — BSD жана GPLv2 астында таратылат. Драйвер микропрограмманы DSP эс тутумуна жүктөө, аудио топологияларын DSPге жүктөө, аудио түзмөгүнүн иштешин уюштуруу (тиркемелерден DSP функцияларына жетүү үчүн жооптуу) жана тиркемелердин аудио маалыматтарга кирүү чекиттерин камсыз кылуу үчүн жооптуу. Драйвер ошондой эле хост системасы менен DSPнин ортосундагы өз ара аракеттенүү үчүн IPC механизмин жана стандарттуу API аркылуу DSP жабдыктарынын мүмкүнчүлүктөрүнө жетүү үчүн катмарды камсыз кылат. Үн ачык микропрограммасы бар DSP тиркемелерге кадимки ALSA түзмөгү катары көрүнөт, аны стандарттуу программалык интерфейс аркылуу башкарууга болот.

Sound Open Firmware 2.0деги негизги инновациялар:
- Аудио көчүрүү функцияларынын иштеши бир топ жакшырды жана эстутумга кирүүлөрдүн саны кыскарды. Кээ бир аудио иштетүү сценарийлери ошол эле аудио сапатын сактап, 40% га чейин жүктөмдүн кыскарышын көрүшкөн.
- Көп ядролуу Intel платформаларында (cAVS) туруктуулук жакшыртылды, анын ичинде каалаган DSP өзөгүндө иштеп жаткан иштеткичтерди колдоо.
- Apollo Lake (APL) платформасы үчүн Zephyr RTOS чөйрөсү XTOS ордуна микропрограмманын негизи катары колдонулат. Zephyr OS интеграциясынын деңгээли тандалган Intel платформалары үчүн функциялык паритетке жетти. Zephyr колдонуу Sound Open Firmware тиркемелеринин кодун бир топ жөнөкөйлөтүп, азайтышы мүмкүн.
- ОС иштеткен айрым Tiger Lake (TGL) түзмөктөрүндө негизги аудио жаздыруу жана ойнотууну колдоо үчүн IPC4 протоколун колдонуу мүмкүнчүлүгү ишке ашырылды Windows (IPC4 колдоосу мүмкүндүк берет Windows белгилүү бир драйверди колдонбостон, Sound Open Firmware негизиндеги DSPлер менен өз ара аракеттенүү).
Source: opennet.ru
