K1986BE1QI (авиация) үшін әзірлеу кеңесін әзірлеу

K1986BE1QI (авиация) үшін әзірлеу кеңесін әзірлеу

Бірнеше жыл бұрын мен Milander фирмасының ресейлік микроконтроллерлерімен таныстым. Бұл 2013 жылы, инженерлер 2008-2015 жылдарға арналған «Электрондық құрамдас бөліктер базасын және радиоэлектрониканы дамыту» Федералдық мақсатты бағдарламасының алғашқы нәтижелерін қызу талқылаған кезде болды. Ол кезде K1986BE9x контроллері (Cortex-M3 ядросы) шығарылған болатын, ал 1986BE1T контроллері (Cortex-M1 ядросы) жаңа ғана пайда болған. LQFP-144 пластикалық корпусында оның құжаттамада K1986BE1QI (авиация) белгісі, ал чиптің өзінде MDR32F1QI белгісі болды. Өндірушінің веб-сайтында оның «avia» жұрнағы бар, өйткені оның ұшақ өнеркәсібіне тән интерфейстері бар (ARINC 429, MIL_STD_1553).

Бір таңқаларлығы, осы контроллерлерді тарату кезінде Milander компаниясы перифериялық құрылғылармен жұмыс істеуге арналған жөндеу жинақтары мен ішкі бағдарламалар кітапханасын дайындады, бірақ «бірақ кітапхананың дұрыстығына қатысты ешқандай қосымша кепілдіктер мен міндеттемелерсіз». Кітапхана STMicroelectronics стандартты перифериялық кітапханасына ұқсас. Жалпы, Cortex-M өзегіне салынған барлық ARM контроллерлері көп ортақ. Осы себепті жаңа ресейлік контроллерлермен танысу жылдам өтті. Ал фирмалық жөндеу жинақтарын сатып алғандар үшін пайдалану кезінде техникалық қолдау көрсетілді.

K1986BE1QI (авиация) үшін әзірлеу кеңесін әзірлеу
1986BE1T микроконтроллеріне арналған жөндеу жинағы, © Milander

Алайда, уақыт өте келе жаңа микросхемалар мен кітапханалардың «балалық аурулары» пайда бола бастады. Микробағдарламаның сынақ үлгілері көрінетін проблемаларсыз жұмыс істеді, бірақ елеулі өзгерістермен, бұзылулармен және қателермен орын алды. Менің тәжірибемдегі алғашқы «жұтыну» CAN контроллерінің жұмысындағы түсініксіз сәтсіздіктер болды. Бір жылдан кейін 1986 BE1T (авиациялық) контроллерінде модульге қатысты мәселе ерте ревизияда анықталды. MKIO (мультиплексті ақпарат алмасу арнасы). Жалпы алғанда, 2016 жылға дейін осы микроконтроллерлердің барлық нұсқалары шектеулі қолданыс болды. Бұл проблемаларды анықтауға көп уақыт пен жүйке жұмсалды, олардың растауын қазір табуға болады қателер тізімі (қате).

Жағымсыз ерекшелігі - қателерді түзету тақталарында емес, сериялық зауыттық өндіруге жоспарланған құрылғылардың прототиптік тақталарында жұмыс істеу және олармен күресу қажет болды. Әдетте JTAG қосқышынан басқа ештеңе болмады. Логикалық анализатормен қосылу қиын және ыңғайсыз болды, әдетте жарықдиодты шамдар немесе экрандар болмады. Осы себепті менің басымда өзімнің жөндеу тақтасын жасау идеясы пайда болды.

Бір жағынан, нарықта фирмалық жөндеу жинақтары, сондай-ақ Зеленоградтық LDM-Systems компаниясының тамаша тақталары болды. Екінші жағынан, бұл өнімдердің бағасы таңқаларлық және кеңейту карталары жоқ негізгі функционалдылық үміттерді қанағаттандырмайды. Дәнекерленген контроллері мен түйреуіш қосқышы бар тақта мені қызықтырмайды. Ал одан да қызықты тақталар қымбат.

K1986BE1QI (авиация) үшін әзірлеу кеңесін әзірлеу
Әзірлеу тақтасы MILANDR LDM-HELPER-K1986BE1QI-FULL, © LDM Systems

Milander компаниясының бірегей баға саясаты мен маркетингі бар. Сонымен, кейбір микросұлбалардың үлгілерін тегін алуға болады, бірақ бұл тек заңды тұлғалар үшін қол жетімді және бюрократиялық іздеумен байланысты. Жалпы, металл-керамикалық корпустағы микросұлбалар тура және ауыспалы мағынада алтын болып табылады. Мысалы, 1986BE1T контроллері Мәскеуде 14-тен 24 мың рубльге дейін. 1645RU6U статикалық жад микросхемасы 15000 1986 рубльден тұрады. Және бұл барлық өнімдер үшін баға тәртібі. Соның салдарынан мемлекеттік тапсырысы бар мамандандырылған ғылыми-зерттеу институттары да үнемдеп, мұндай бағадан қашады. Азаматтық пайдалануға арналған пластикалық корпустағы микросхемалар айтарлықтай арзанырақ, бірақ олар танымал жеткізушілерде жоқ. Сонымен қатар, пластикалық корпустағы микросхемалардың сапасы, менің ойымша, «алтынға» қарағанда нашар. Мысалы, мен K1BE128QI контроллерін 40 МГц жиілікте жарқылдың кідірісі параметрін арттырмай іске қоса алмадым. Бұл ретте бұл реттегіштің температурасы 50-1986С дейін көтерілді. Бірақ 1BE128T («алтын») контроллері XNUMX МГц жиілігінде қосымша параметрлерсіз іске қосылды және суық болып қалды. Ол шынымен жақсы.

K1986BE1QI (авиация) үшін әзірлеу кеңесін әзірлеу
«Алтын» микроконтроллер 1986BE1T, (c) Milander

Пластикалық қораптағы микроконтроллерді LDM Systems-тен бөлшек саудада әлі де сатып алуға болатыны маған бақытты болды және барлық тақта диаграммалары еркін қол жетімді. Нашар жері, веб-сайтта контроллердің фотосуретінде сіз бұл 4 жылдың 2014-ші нұсқасын көрсететін таңбаны көре аласыз, яғни. ақаулармен. Сатып аламын ба, алмасам ба деп ұзақ ойландым. Осылай бірнеше жыл өтті...

Түзету тақтасын құру идеясы еш жерде жоғалған жоқ. Бірте-бірте барлық талаптарды қалыптастырып, оның барлығын бір тақтаға қалай орналастыру керектігін ойладым, ол жинақы және қымбат емес. Осы ретте жетіспейтін құрамдастарды қытайлықтарға тапсырыс бердім. Мен асықпадым - мен бәрін өзім үшін жасадым. Қытайлық жеткізушілер немқұрайлылық танытады - маған қажет нәрсенің бәрін алу үшін әртүрлі жерлерден бірдей нәрсеге тапсырыс беруге тура келді. Сонымен қатар, кейбір жад микросхемалары пайдаланылды - сынған құрылғылардан дәнекерленген болуы керек. Бұл кейінірек менің ойыма оралды.

Milander K1986BE1QI микроконтроллерін (ауа) сатып алу оңай шаруа емес. Сол Chip and Dip дүкенінде «Тапсырыс беретін заттар» бөлімінде мен 1986 рубльге тек K92BE740QI таптым, бірақ ол маған сәйкес келмеді. Жалғыз нұсқа - LDM-Systems-тен 2000 рубльге жаңа емес нұсқасын сатып алу. Басқа жерден алмастырушы таба алмағандықтан, менде бар нәрсені сатып алуды шештім. Мені таң қалдырғаны үшін, олар маған 2018 жылдың желтоқсан айында шығарылған, 6+ (1820) нұсқасы бойынша жасалған жаңа контроллерді сатты. Бірақ сайтта әлі ескі фотосурет бар, ал жазу кезінде контроллер қол жетімді емес...

K1986BE1QI (авиация) үшін әзірлеу кеңесін әзірлеу
Технологиялық қаптамадағы микроконтроллер K1986BE1QI (авиация), (в) Автордың суреті

Менің жөндеу тақтасының негізгі техникалық сипаттамалары MDB1986 мыналарды:

  • J-Link және CMSIS-DAP үйлесімді кіріктірілген жөндеуші-бағдарламашы;
  • статикалық жад 4Мбит (256к x 16, 10 нс);
  • флэш жады микросхемасы 64Мбит, Winbond 25Q64FVSIG;
  • RTS және CTS желілері бар RS-232 интерфейстік қабылдағыш;
  • Ethernet, USB, CAN үшін интерфейстер мен қосқыштар;
  • MAX7 7221 сегментті дисплей контроллері;
  • MKIO (MIL_STD_1553) және ARINC429-мен жұмыс істеуге арналған істік қосқышы;
  • фототранзистор Everlight PT17-21C;
  • бес түсті жарық диоды, қалпына келтіру түймесі және екі пайдаланушы түймесі;
  • USB портына қуат көзі 5 вольт;
  • баспа платасының өлшемдері 100 x 80, мм

Маған STM-Discovery сериясының тақталары ұнады, өйткені оларда ST-Link бағдарламасының кіріктірілген жөндеушісі бар. Брендтік ST-Link тек STMicroelectronics контроллерлерімен жұмыс істейді, бірақ бірнеше жыл бұрын ST-Link-те микробағдарламаны жаңарту және SEGGER J-Link OB (борттық) Debugger алу мүмкіндігі пайда болды. Заңды түрде мұндай отладчикті тек STMicroelectronics тақталарымен пайдалануға шектеу бар, бірақ іс жүзінде әлеует шектелмейді. Осылайша, J-Link OB бар болса, сізде отладтау тақтасында кірістірілген бағдарламашы-түзегіш болуы мүмкін. LDM-Systems өнімдері тек жыпылықтай алатын CP2102 (Usb2Uart) түрлендіргішін пайдаланатынын ескертемін.

K1986BE1QI (авиация) үшін әзірлеу кеңесін әзірлеу
STM32F103C8T6 микроконтроллерлері, нақты және онша нақты емес, (c) Автордың суреті

Сонымен, STM32F103C8T6 түпнұсқасын сатып алу қажет болды, өйткені меншікті микробағдарлама клонмен дұрыс жұмыс істемейді. Мен бұл тезиске күмәндандым және қытайлық CKS компаниясының CS32F103C8T6 контроллерін сынап көруді шештім. Контроллердің өзіне ешқандай шағымым жоқ, бірақ меншікті ST-Link микробағдарламасы онда жұмыс істемеді. J-Link ішінара жұмыс істеді - USB құрылғысы анықталды, бірақ бағдарламашы өз функцияларын орындамады және оның «ақаулы» екенін үнемі еске салады.

K1986BE1QI (авиация) үшін әзірлеу кеңесін әзірлеу
Түпнұсқа емес контроллерде отладчикті іске қосу кезіндегі қате

Мен бұған қанағаттанбадым және алдымен жарық диодты жыпылықтау үшін микробағдарламаны жаздым, содан кейін JTAG протоколы арқылы IDCODE сұрауын орындадым. Менде Discovery тақтасында болған ST-Link программист және ST-Link Utility бағдарламасы CS32F103C8T6 еш қиындықсыз жыпылықтап тұрды.Соңында мен тақтамның жұмыс істеп тұрғанына көзім жетті. Менің қуанғаным, мақсатты контроллер K1986BE1QI (авиация) TDO желісі арқылы өзінің IDCODE-сын қуанышпен шығарды.

K1986BE1QI (авиация) үшін әзірлеу кеңесін әзірлеу
Кодталған IDCODE жауабы бар TDO сигнал сызығының осциллограммасы, (c) Автордың суреті

K1986BE1QI (авиация) үшін әзірлеу кеңесін әзірлеу
Осылайша, SWD порты отладчиктің өзін жөндеу және IDCODE тексеру үшін ыңғайлы болды

Түзету құралы бар опция болды CMSIS-DAP (Debug Access Port). ARM көздерінен жоба құру оңай жұмыс емес, мен жобаны алдым X893, содан кейін мен DAP42 қолданып көрдім. Өкінішке орай, Keil uVision қатып қалды және олармен жұмыс істегісі келмеді. Нәтижесінде мен отладчик чипін меншікті STM32F103C8T6 ауыстырдым және бұл мәселеге ешқашан оралмадым.

K1986BE1QI (авиация) үшін әзірлеу кеңесін әзірлеу
Кірістірілген отладчик J-Link STLink V2 сәтті жұмыс істеуі

Болашақ әзірлеу тақтасының барлық негізгі құрамдас бөліктері қол жетімді болғанда, мен Eagle CAD жүйесіне кіріп, олардың элементтер кітапханасында жоқ екенін білдім. Баратын жер болмады - мен оларды өзім салуға тура келді. Сонымен қатар, мен жад үшін орнату нүктелерін, Ethernet үшін HanRun қосқышын жасадым және резисторлар мен конденсаторлар үшін жақтауларды қостым. Жоба файлы мен компоненттер кітапханасын табуға болады менің GitHub-да.

MDB1986 әзірлеу тақтасының схемалық диаграммасыK1986BE1QI (авиация) үшін әзірлеу кеңесін әзірлеу

Тақта USB портынан алынған 5 вольтты тұрақты ток көзінен қуат алады. Тақтада барлығы екі USB Type-B порты бар. Біреуі бағдарламашыға, екіншісі K1986BE1QI контроллеріне арналған. Басқарма осы көздердің кез келгенінен немесе екеуінен бір уақытта жұмыс істей алады. Ең қарапайым жүктемені реттеу және электр желісін қорғау Schottky диодтары арқылы, D2 және D3 (SS24) тізбегінде жүзеге асырылады. Сондай-ақ, диаграммада 1 мА-да F2 және F500 өзін-өзі қалпына келтіретін сақтандырғыштарды көруге болады. USB портының сигнал желілері USBLC6-2SC6 диод жинағымен қорғалған.

ST-Link отладчик-бағдарламашы схемасы көпшілікке белгілі, оны STM32-Discovery тақталарына арналған құжаттамада және басқа көздерден табуға болады. ST-Link/J-Link-OB/DAP клонының (қосымша) бастапқы микробағдарламасы үшін мен SWDIO (PA13), SWCLK (PA14), GND жолдарын шығардым. Көптеген адамдар микробағдарлама үшін UART пайдаланады және BOOT секіргіштерін тартуға мәжбүр. Бірақ мен SWD-ді ыңғайлырақ деп санаймын және бұл протокол жөндеуге мүмкіндік береді.

Платаның барлық дерлік компоненттері AMS3.3-1117 кернеу реттегішінен келетін 3.3 вольттан қуат алады. Электромагниттік кедергілер мен ток кернеулерін басу үшін BLM31PG сериясының конденсаторлары мен дроссельдерінен LC сүзгілері қолданылады.

MAX7 7221 сегментті дисплей драйверін бөлек атап өткен жөн. Техникалық сипаттамаға сәйкес, ұсынылған қуат көзі 4-тен 5.5 вольтке дейін, ал жоғары сигнал деңгейі (логикалық) кемінде 3.5 В (0.7 x VCC), 5 В қоректенуімен. K1986BE1QI (авиациялық) контроллері үшін логикалық блоктың шығысы 2.8-ден 3.3В-қа дейінгі кернеуге сәйкес келеді. Қалыпты жұмыс істеуге кедергі келтіруі мүмкін сигнал деңгейлері арасында сәйкессіздік бар екені анық. Мен MAX7221 құрылғысын 4 В кернеуінде қуаттандыруды және сигнал деңгейлерін 2.8 В (0.7 x 4 = 2.8) дейін азайтуды шештім. Ол үшін драйвердің қуат тізбегінде D4 диоды (RS1A немесе FR103) тізбектей орнатылған. Кернеудің жалпы төмендеуі 0.9 В (Шотки диоды 0.3 В және диод 0.6 В) және бәрі жұмыс істейді.

K1986BE1QI (авиациялық) микроконтроллерінің көптеген порттары 5 В дейінгі сигналдармен үйлесімді. Сондықтан MCP2551 CAN трансиверін пайдалануда ешқандай проблема жоқ, ол да 5 В-та жұмыс істейді. MAX232 чипі диаграммада RS-3232 қабылдағыш ретінде көрсетілген, бірақ іс жүзінде мен Texas Instruments-тен SN65C3232D қолдандым, себебі ол 3.3 В-тан жұмыс істейді және 1 Мбит/с жылдамдықты қамтамасыз етеді.

Тақтада 4 кварц резонаторы бар - біреуі отладчик үшін (8 МГц) және үшеуі 1986 кГц, 1 МГц, 32.768 МГц рейтингтері бар K16BE25QI (авиация) мақсатты микроконтроллері үшін. Бұл қажетті компоненттер, өйткені Кірістірілген RC осцилляторының параметрлері 6-дан 10 МГц-ке дейінгі кең диапазонда. Кірістірілген Ethernet контроллерінің жұмысы үшін 25 МГц жиілігі қажет. Қандай да бір себептермен Миландраның веб-сайтында (мүмкін қателесіп) пластикалық корпуста Ethernet жоқ деп жазылған. Бірақ біз спецификация мен фактілерге сүйенеміз.

Менің жеке даму тақтасын құру үшін маңызды ынталандыру сыртқы жүйелік шиналық EBC (сыртқы шина контроллері) арқылы жұмыс істеу мүмкіндігі болды, ол негізінен параллель порт болып табылады. K1986BE1QI микроконтроллері (ұшақ) сыртқы жад микросхемаларымен және перифериялық құрылғылармен, мысалы, ADC, FPGA және т.б. қосылуға және жұмыс істеуге мүмкіндік береді. Сыртқы жүйелік шинаның мүмкіндіктері айтарлықтай үлкен - сіз 8-биттік, 16-биттік және 32-биттік статикалық жедел жадымен, ROM және NAND Flash-пен жұмыс істей аласыз. 32 биттік деректерді оқу/жазу үшін контроллер 2 биттік микросхемалар үшін 16 сәйкес әрекетті және 8 биттік микросхемалар үшін 4 операцияны автоматты түрде орындай алады. 32 биттік енгізу/шығару операциясы 32 биттік деректер шинасы арқылы ең жылдам орындалатыны анық. Кемшіліктерге бағдарламаның 32-биттік деректермен жұмыс істеу қажеттілігі кіреді, ал тақта 32 жолды салуға мәжбүр болады.

K1986BE1QI (авиация) үшін әзірлеу кеңесін әзірлеу
Статикалық жедел жад чиптері, қолданылған (қайсысы ақаулы екенін болжаңыз)

Теңдестірілген шешім 16 биттік жад микросхемаларын пайдалану болып табылады. Менің қоймада Integrated Silicon Solutions Inc. чиптері болды. (ISSI IS61LV25616AL, 16 x 256k, 10 нс, 3.3 В). Әрине, Milander компаниясында өзінің статикалық жад микросхемалары бар сериясы 1645RU, бірақ олар тым қымбат және қолжетімсіз. Балама ретінде түйреуіштермен үйлесімді Samsung K6R4016V1D бар. Бұрын мен микросұлбалар қолданылғанын және мен орнатқан көшірме бастапқыда 15-ші деректер жолында сәтсіздіктер мен хаотикалық мәндерді бергенін айттым. Аппараттық қателерді табу үшін бірнеше күн қажет болды және зақымдалған чипті жұмыс істейтін чиппен ауыстырған кезде қанағаттану сезімі соғұрлым көп болды. Қалай болғанда да, сыртқы жадпен жұмыс істеу жылдамдығы көп нәрсені қаламайды.

Сыртқы автобус және StandAlone режиміK1986BE1QI микроконтроллерінің (ұшақ) бірегей StandAlone режимі бар, ол Ethernet және MKIO контроллерлеріне (MIL_STD_1553) сыртқы шинасы арқылы тікелей сыртқы қол жеткізуге арналған, ядросы қалпына келтіру күйінде, яғни. қолданылмайды. Бұл режим Ethernet және/немесе MKIO жоқ процессорлар мен FPGA үшін ыңғайлы.
Қосылу схемасы келесідей:

  • деректер шинасы MCU(D0-D15) => SRAM(I/O0-I/O15),
  • мекенжай шинасы MCU(A1-A18) => SRAM(A0-A17),
  • басқару MCU(nWR,nRD,PortC2) => SRAM (WE,OE,CE),
  • SRAM(UB,LB) резистор арқылы жерге қосылады немесе тартылады.

CE желісі резистор арқылы қуат көзіне қосылған, MCU байты (BE0-BE3) іріктеу үшін түйреуіштер пайдаланылмайды. Спойлер астында мен порттарды және сыртқы шина контроллерін инициализациялау кодын беремін.

Порттарды және EBC контроллерін инициализациялау (сыртқы шина контроллері)

void SRAM_Init (void)
{
	EBC_InitTypeDef          EBC_InitStruct = { 0 };
	EBC_MemRegionInitTypeDef EBC_MemRegionInitStruct = { 0 };
	PORT_InitTypeDef         initStruct = { 0 };

	RST_CLK_PCLKcmd (RST_CLK_PCLK_EBC, ENABLE);

	PORT_StructInit (&initStruct);
	//--------------------------------------------//
	// DATA PA0..PA15 (D0..D15)                   //
	//--------------------------------------------//
	initStruct.PORT_MODE      = PORT_MODE_DIGITAL;
	initStruct.PORT_PD_SHM    = PORT_PD_SHM_ON;
	initStruct.PORT_SPEED     = PORT_SPEED_FAST;
	initStruct.PORT_FUNC      = PORT_FUNC_MAIN;
	initStruct.PORT_Pin       = PORT_Pin_All;
	PORT_Init (MDR_PORTA, &initStruct);	
	//--------------------------------------------//
	// Address PF3-PF15 (A0..A12), A0 - not used. //
	//--------------------------------------------//
	initStruct.PORT_FUNC      = PORT_FUNC_ALTER;
	initStruct.PORT_Pin       = PORT_Pin_4  | PORT_Pin_5  |
	                            PORT_Pin_6  | PORT_Pin_7  |
	                            PORT_Pin_8  | PORT_Pin_9  |
								PORT_Pin_10 | PORT_Pin_11 |
	                            PORT_Pin_12 | PORT_Pin_13 |
								PORT_Pin_14 | PORT_Pin_15;
	PORT_Init (MDR_PORTF, &initStruct);	
	//--------------------------------------------//
	// Address PD3..PD0 (A13..A16)                //
	//--------------------------------------------//
	initStruct.PORT_FUNC      = PORT_FUNC_OVERRID;
	initStruct.PORT_Pin       = PORT_Pin_0 | PORT_Pin_1 |
	                            PORT_Pin_2 | PORT_Pin_3;
	PORT_Init (MDR_PORTD, &initStruct);	
	//--------------------------------------------//
	// Address PE3, PE4 (A17, A18)                //
	//--------------------------------------------//
	initStruct.PORT_FUNC      = PORT_FUNC_ALTER;
	initStruct.PORT_Pin       = PORT_Pin_3 | PORT_Pin_4;
	PORT_Init (MDR_PORTE, &initStruct);	
	//--------------------------------------------//
	// Control PC0,PC1 (nWE,nOE)                  //
	//--------------------------------------------//
	initStruct.PORT_FUNC      = PORT_FUNC_MAIN;
	initStruct.PORT_Pin       = PORT_Pin_0 | PORT_Pin_1;
	PORT_Init (MDR_PORTC, &initStruct);	
	//--------------------------------------------//
	// Control PC2 (nCE)                          //
	//--------------------------------------------//
	initStruct.PORT_PD        = PORT_PD_DRIVER;
	initStruct.PORT_OE        = PORT_OE_OUT;
	initStruct.PORT_FUNC      = PORT_FUNC_PORT;
	initStruct.PORT_Pin       = MDB_SRAM_CE;
	PORT_Init (MDR_PORTC, &initStruct);	

	//--------------------------------------------//
	// Initialize EBC controler                   //
	//--------------------------------------------//
	EBC_DeInit();
	EBC_StructInit(&EBC_InitStruct);
	EBC_InitStruct.EBC_Mode             = EBC_MODE_RAM;
	EBC_InitStruct.EBC_WaitState        = EBC_WAIT_STATE_3HCLK;
	EBC_InitStruct.EBC_DataAlignment    = EBC_EBC_DATA_ALIGNMENT_16;
	EBC_Init(&EBC_InitStruct);
	
	EBC_MemRegionStructInit(&EBC_MemRegionInitStruct);
	EBC_MemRegionInitStruct.WS_Active   = 2;
	EBC_MemRegionInitStruct.WS_Setup    = EBC_WS_SETUP_CYCLE_1HCLK;
	EBC_MemRegionInitStruct.WS_Hold     = EBC_WS_HOLD_CYCLE_1HCLK;
	EBC_MemRegionInitStruct.Enable_Tune = ENABLE;
	EBC_MemRegionInit (&EBC_MemRegionInitStruct, EBC_MEM_REGION_60000000);
	EBC_MemRegionCMD(EBC_MEM_REGION_60000000, ENABLE);

	// Turn ON RAM (nCE)
	PORT_ResetBits (MDR_PORTC, MDB_SRAM_CE);
}

LQFP-144 бумасындағы микроконтроллер және TSOP-44 бумасындағы жад көптеген байланыстырылған түйреуіштерге ие және баспа платасында көп орын алады. Экономика саласындағы оңтайландыру мәселелерін шешуде тәжірибеге ие болғандықтан, мен үшін бұл микросұлбаларды алдымен тақтаға орналастыру керек екені анық болды. Түрлі дереккөздерде мен туралы мақтаулы пікірлерді кездестірдім CAD TopoR (топологиялық маршрутизатор). Мен сынақ нұсқасын жүктеп алдым және барлық дерлік компоненттерді жойғаннан кейін ғана жобамды Eagle CAD жүйесінен экспорттай алдым. Өкінішке орай, TopoR бағдарламасы маған тақтаға тіпті 10 элементті орналастыруға көмектеспеді. Біріншіден, барлық компоненттер бұрышқа орналастырылды, содан кейін жиегі бойымен реттеледі. Бұл опция мені қанағаттандырмады және мен ұзақ уақыт бойы таныс Eagle CAD ортасында тақтаны қолмен қадағаладым.

Баспа схемасының маңызды элементі - жібек экранды басып шығару. Әзірлеу тақтасында электронды компоненттерге арналған белгілер ғана емес, сонымен қатар барлық қосқыштар да таңбалануы керек. Тақтаның артқы жағында мен контроллер порттарының функциялары бар кестелерді орналастырдым (негізгі, балама, қайта анықталған, нақты). Мен танымал PCBWay кеңсесіне Қытайда баспа платаларын шығаруға тапсырыс бердім. Мақтамаймын, себебі сапасы жақсы. Олар қатаң төзімділікпен жақсырақ жұмыс істей алады, бірақ ақылы.

K1986BE1QI (авиация) үшін әзірлеу кеңесін әзірлеу
MDB1986 шығарылған баспа платалары, (c) Автордың суреті

Мен компоненттерді 40 ватт дәнекерлеуішпен және POS-61 дәнекерімен «тізеге» дәнекерлеуге тура келді, өйткені мен жылына 1-2 рет сирек дәнекерлеймін, ал дәнекерлеу пастасы кеуіп қалды. Сондай-ақ, қытайлық CS32F103 контроллерін STM32F103 түпнұсқасына өзгертуге, содан кейін жадты ауыстыруға тура келді. Жалпы, қазір мен RS-232 және CAN жұмысын әлі тексермесем де, нәтижеге толықтай қанағаттанамын.

K1986BE1QI (авиация) үшін әзірлеу кеңесін әзірлеу
MDB1986 жөндеу тақтасы жұмыс істейді - ол жарқырайды және жылытады, (c) Автордың суреті

Milandra веб-сайтында сіз жеткілікті таба аласыз бақылаушыларға арналған оқу материалдары сериясы 1986BE9 (Cortex-M3 ядросы), бірақ K1986BE1QI (авиация) микроконтроллері үшін мен онда ештеңе көрмеймін. Онда жарияланған жоғары оқу орындарына арналған материалдарға, оқу құралдарына, зертханалық жұмыстарға қарап, ресейлік контроллерлармен жұмыс істеу үшін республика бойынша кадрлар даярланып жатқанына қуаныштымын. Оқу материалдарының көпшілігі енгізу-шығару порттарымен, таймерлермен, ADC, DAC, SPI, UART-пен жұмыс істеуге дайындалады. Әртүрлі IDE әзірлеу орталары қолданылады (Keil, IAR, CodeMaster). Бір жерде олар CMSIS регистрлерін пайдалана отырып бағдарламалайды, ал бір жерде олар MDR кітапханасын пайдаланады. Ресурсты атап өту керек Миландрды бастаңыз, онда тәжірибелі бағдарламашылардың көптеген мақалалары бар. Және, әрине, бұл туралы ұмытпау керек Миландра форумы.

Миландра туралы ойладымРесейде микроэлектроника дамып келеді және бұл процесте Milander компаниясы маңызды рөл атқарады. Жаңа қызықты микроконтроллерлер пайда болады, мысалы, SpaceWire және MKIO интерфейстері бар 1986BE81T және Elektrosila (1986BE1-дегідей және, мүмкін, бірдей проблемалары бар) және т.б. Бірақ қарапайым студенттер, мұғалімдер және инженер-құрылысшылар мұндай микросұлбаларды сатып ала алмайды. Бұл инженерлік қауымдастық бұл чиптің қателері мен проблемаларын тез анықтай алмайтынын білдіреді. Меніңше, ең алдымен микросұлбаларды пластикалық корпуста жасап, оларды барлық мүдделі тұлғаларға таратып, мамандар апробациядан (латынша approbatio - бекіту, тану) өткеннен кейін олар металл керамикалық корпуста ревизия дайындай алады. барлық қорқынышты факторлардан қорғау. Жақын арада көрмелерде жарияланған жаңа жобалар бәрімізді қуантады деп сенемін.
Мен жасаған жөндеу тақтасын оқу процесінде кез келген адам қайталай алады, өзгерте алады және пайдалана алады. Ең алдымен мен тақтаны өзім үшін жасадым, бірақ ол соншалықты жақсы болды Барлығымен бөлісуді жөн көрдім.

K1986BE1QI (ауа) – университеттерде студенттерді оқыту үшін пайдалануға болатын бірегей интерфейстері бар өте қызықты контроллер. Контроллерде анықталған қателерді түзетіп, сертификаттау сынақтарынан өткеннен кейін контроллер сөздің шын мағынасында ұшады деп ойлаймын!

Ақпарат көзі: www.habr.com

пікір қалдыру