Таҳияи шӯрои рушд барои K1986BE1QI (авиатсия)

Таҳияи шӯрои рушд барои K1986BE1QI (авиатсия)

Чанд сол пеш ман бо микроконтроллерҳои русии Миландер шинос шудам. Ин соли 2013 буд, ки муҳандисон натиҷаҳои аввалини Барномаи федералии мақсадноки «Рушди базаи ҷузъҳои электронӣ ва радиоэлектроника»-ро барои солҳои 2008-2015 бо шиддат муҳокима мекарданд. Дар он вақт, контролери K1986BE9x (core Cortex-M3) аллакай бароварда шуда буд ва контролери 1986BE1T (core Cortex-M1) нав пайдо шуда буд. Дар корпуси пластикии LQFP-144, он дар ҳуҷҷатҳо нишонаи K1986BE1QI (авиатсия) ва дар худи чип нишонаи MDR32F1QI дошт. Дар вебсайти истеҳсолкунанда он суффикси "avia" дорад, зеро он дорои интерфейсҳои хоси саноати ҳавопаймо аст (ARINC 429, MIL_STD_1553).

Тааҷҷубовар аст, ки ҳангоми паҳн кардани ин контроллерҳо, ширкати Миландер маҷмӯаҳои ислоҳи хатогиҳо ва китобхонаи зерпрограммаҳоро барои кор бо таҷҳизоти периферӣ омода кардааст, "вале бидуни ҳеҷ гуна кафолат ё ӯҳдадориҳои иловагӣ оид ба дурустии китобхона." Китобхона ба китобхонаи стандартии периферии STMicroelectronics монанд аст. Умуман, ҳама контроллерҳои ARM, ки дар ядрои Cortex-M сохта шудаанд, умумияти зиёд доранд. Аз ин сабаб, шиносоӣ бо контроллерҳои нави рус зуд идома ёфт. Ва барои онҳое, ки маҷмӯаҳои ислоҳи брендиро хариданд, дар давоми истифода дастгирии техникӣ расонида шуд.

Таҳияи шӯрои рушд барои K1986BE1QI (авиатсия)
Маҷмӯи хатогиҳо барои микроконтроллер 1986BE1T, © Миландер

Вале бо мурури замон «беморихои бачагонаи» микросхемахо ва китобхонахои нав пайдо шуданд. Намунаҳои санҷишии нармафзори миёнаравӣ бе мушкилоти намоён кор мекарданд, аммо бо тағироти назаррас, садамаҳо ва хатогиҳо рух доданд. Аввалин «фурӯбарӣ» дар амалияи ман нокомиҳои нофаҳмо дар кори контроллер CAN буд. Пас аз як сол, мушкилот бо модул дар контролери 1986BE1T (авиатсия) аз навсозии барвақт ошкор карда шуд. MKIO (канали мубодилаи иттилооти чандрасонаӣ). Умуман, ҳама таҷдиди ин микроконтроллерҳо то соли 2016 маҳдуд буданд. Барои муайян кардани ин мушкилот вақт ва асабҳои зиёд сарф шуданд, ки тасдиқи онҳоро ҳоло метавон ёфт рӯйхати хатогиҳо (хато).

Хусусияти ногувор аз он иборат буд, ки кор кардан ва бо хатогихо на дар тахтахои ислох, балки дар тахтахои прототипи дастгоххое, ки барои истехсоли сериявии завод пешбинй шуда буданд, кор кардан лозим буд. Дар он ҷо одатан ба ҷуз пайвасткунаки JTAG чизе набуд. Пайвастшавӣ бо анализатори мантиқӣ душвор ва нороҳат буд ва одатан ҳеҷ гуна LED ё экран вуҷуд надошт. Аз ин сабаб, дар сари ман идеяи сохтани тахтаи ислоҳи худ пайдо шуд.

Аз як тараф, дар бозор маҷмӯаҳои ислоҳи бренди, инчунин тахтаҳои олиҷаноби ширкати LDM-Systems аз Зеленоград буданд. Аз тарафи дигар, нархҳои ин маҳсулот ҳайратангезанд ва функсияҳои асосӣ бидуни кортҳои васеъшавӣ ба интизориҳо ҷавобгӯ нестанд. Тахтае, ки контролери кафшершуда ва пайвасткунаки пиндор дорад, барои ман манфиатдор нест. Ва тахтаҳои ҷолибтар гарон ҳастанд.

Таҳияи шӯрои рушд барои K1986BE1QI (авиатсия)
Шӯрои рушд MILANDR LDM-HELPER-K1986BE1QI-FULL, © LDM Systems

Ширкати Milander дорои сиёсати ягонаи нархгузорӣ ва маркетинг мебошад. Ҳамин тариқ, метавон намунаи баъзе микросхемаҳоро ройгон гирифт, аммо ин танҳо ба шахсони ҳуқуқӣ дастрас аст ва бо ҷустуҷӯи бюрократӣ алоқаманд аст. Умуман, микросхемаҳои дар корпуси металлӣ-салолӣ ба маънои аслӣ ва рамзӣ тилло мебошанд. Масалан, як контролери соли 1986БЕ1Т дар Москва аз 14 то 24 хазор сум арзиш дорад. Чипи хотираи статикии 1645RU6U аз 15000 1986 рубл арзиш дорад. Ва ин фармоиши нарх барои ҳама маҳсулот аст. Натичаи хамин аст, ки хатто институтхои махсуси илмй-тадкикотй бо закази давлатй маблагро сарфа карда, аз ин гуна нарххо худдорй мекунанд. Микросхемаҳо дар корпуси пластикӣ барои истифодаи шаҳрвандӣ хеле арзонтаранд, аммо онҳо аз таъминкунандагони машҳур дастрас нестанд. Илова бар ин, сифати микросхемаҳои корпуси пластикӣ, ба назарам, аз «тиллоӣ» бадтар аст. Масалан, ман контроллери K1BE128QI-ро дар 40 МГс бе зиёд кардани параметри таъхири флешдор кор карда натавонистам. Дар баробари ин харорати ин контроллер ба 50—1986С расид. Аммо контролери соли 1BE128T ("тиллоӣ") бе танзимоти иловагӣ дар XNUMX МГс оғоз ёфт ва хунук монд. Вай дар ҳақиқат хуб аст.

Таҳияи шӯрои рушд барои K1986BE1QI (авиатсия)
Микроконтроллери "тиллоӣ" 1986BE1T, (в) Миландер

Ман хушбахт будам, ки микроконтроллерро дар қуттии пластикӣ то ҳол аз LDM Systems дар чакана харидан мумкин аст ва ҳама диаграммаҳои тахта ройгон дастрасанд. Бадии кор дар он аст, ки дар вебсайт дар акси контроллер шумо аломатеро мебинед, ки мегӯяд, ки ин 4-умин таҷдиди соли 2014 аст, яъне. бо камбудихо. Ман муддати дароз фикр мекардам, ки харам ё нахарам. Чанд сол чунин гузашт...

Идеяи таъсиси тахтаи ислоҳот дар ҳеҷ ҷо аз байн нарафтааст. Оҳиста-оҳиста ман тамоми талаботро ташаккул додам ва фикр мекардам, ки чӣ гуна ҳамаашро дар як тахта ҷойгир кунам, то ки он паймон бошад ва гарон набошад. Дар баробари ин, ман ҷузъҳои гумшударо аз чиниҳо фармоиш додам. Ман шитоб намекардам - ​​ҳама чизро барои худ кардам. Таъминкунандагони чинӣ ба таври ноустувор ҳастанд - ман маҷбур будам, ки ҳамон чизро аз ҷойҳои гуногун фармоиш диҳам, то ҳама чизеро, ки ба ман лозим буд, бигирам. Ғайр аз он, баъзе микросхемаҳои хотира истифода мешаванд - аз афташ аз дастгоҳҳои шикаста кафшер карда шудаанд. Ин баъдтар маро ба ташвиш овард.

Хариди микроконтроллери Milander K1986BE1QI (ҳаво) кори осон нест. Дар ҳамон мағозаи Chip and Dip, дар қисмати «Моддаҳои фармоишӣ» ман танҳо K1986BE92QI-ро ба маблағи 740 рубл ёфтам, аммо ин ба ман мувофиқ набуд. Варианти ягона ин аст, ки аз LDM-Systems як нусхаи навро барои 2000 рубл харед. Азбаски ман дар ягон ҷои дигар ивазкунанда пайдо карда натавонистам, ман қарор додам, ки он чизеро, ки дорам, харам. Ба тааҷҷубоваронаи ман, онҳо ба ман контроллери наверо фурӯхтанд, ки моҳи декабри соли 2018 истеҳсол шудааст, версияи 6+ (1820). Аммо дар сомона як акси кӯҳна боқӣ мондааст ва дар замони навиштан контроллер дастрас нест...

Таҳияи шӯрои рушд барои K1986BE1QI (авиатсия)
Микроконтроллер K1986BE1QI (авиатсия) дар бастаи технологӣ, (в) Сурати муаллиф

Хусусиятҳои асосии техникии панели ислоҳи ман MDB1986 инҳоянд:

  • дарунсохти debugger-барномасоз, мувофиқ бо J-Link ва CMSIS-DAP;
  • хотираи статикӣ 4Mbit (256k x 16, 10 ns);
  • чипи хотираи флеш 64Mbit, Winbond 25Q64FVSIG;
  • Интиқоли интерфейси RS-232 бо хатҳои RTS ва CTS;
  • интерфейсҳо ва пайвасткунакҳо барои Ethernet, USB, CAN;
  • MAX7 контролери дисплейи 7221-сегментӣ;
  • пайвасткунаки пин барои кор бо MKIO (MIL_STD_1553) ва ARINC429;
  • фототранзистор Everlight PT17-21C;
  • панҷ LED-и ранга, тугмаи барқароркунӣ ва ду тугмаи корбар;
  • таъминоти барқ ​​ба порти USB 5 вольт аст;
  • андозаҳои тахтаи ноҳиявӣ чоп 100 x 80, мм

Ба ман тахтаҳои силсилаи STM-Discovery писанд омад, зеро онҳо дорои барномасоз-debugger - ST-Link мебошанд. Бренди ST-Link танҳо бо контроллерҳои STMicroelectronics кор мекунад, аммо чанд сол пеш имкон пайдо шуд, ки нармафзори нармафзорро дар ST-Link навсозӣ кунед ва SEGGER J-Link OB (дар борт) Debugger гиред. Аз рӯи қонун, истифодаи чунин ислоҳкунанда танҳо бо тахтаҳои STMicroelectronics маҳдудият вуҷуд дорад, аммо дар асл потенсиал маҳдуд нест. Ҳамин тариқ, бо доштани J-Link OB, шумо метавонед дар тахтаи ислоҳкунанда барномасоз-дебаггер дошта бошед. Ман қайд мекунам, ки маҳсулоти LDM-Systems конвертери CP2102 (Usb2Uart) -ро истифода мебаранд, ки танҳо метавонад дурахшид.

Таҳияи шӯрои рушд барои K1986BE1QI (авиатсия)
Микроконтроллерҳои STM32F103C8T6, воқеӣ ва на он қадар воқеӣ, (в) Акс аз муаллиф

Ҳамин тавр, лозим буд, ки STM32F103C8T6-и аслии худро харед, зеро нармафзори хусусӣ бо клон дуруст кор намекунад. Ман ба ин рисола шубҳа доштам ва тасмим гирифтам, ки контроллери CS32F103C8T6-ро аз ширкати чинии CKS санҷам. Ман дар бораи худи контроллер шикоят надорам, аммо нармафзори хусусии ST-Link дар он кор намекард. J-Link қисман кор кард - дастгоҳи USB ошкор карда шуд, аммо барномасоз вазифаҳои худро иҷро накард ва пайваста хотиррасон мекард, ки он "ноқис" аст.

Таҳияи шӯрои рушд барои K1986BE1QI (авиатсия)
Хатогӣ ҳангоми иҷро кардани ислоҳкунанда дар контролери ғайриоригиналӣ

Ман бо ин қаноатманд набудам ва аввал прошивкаро барои чашмак задани LED навиштам ва сипас дархости IDCODE-ро бо истифода аз протоколи JTAG амалӣ кардам. Барномасози ST-Link, ки ман дар тахтаи Discovery доштам ва барномаи ST-Link Utility CS32F103C8T6-ро бе ягон мушкилот дурахшиданд Дар охир бовари ҳосил кардам, ки тахтаи ман кор мекунад. Бо шодии ман, контролери ҳадаф K1986BE1QI (авиатсия) IDCODE-и худро тавассути хати TDO шодона дод.

Таҳияи шӯрои рушд барои K1986BE1QI (авиатсия)
Осциллограммаи хати сигнали TDO бо вокуниши рамзи IDCODE, (c) Акс аз муаллиф

Таҳияи шӯрои рушд барои K1986BE1QI (авиатсия)
Ҳамин тавр, бандари SWD барои ислоҳи худи ислоҳкунанда ва санҷиши IDCODE муфид буд

Имконият бо debugger вуҷуд дошт CMSIS-DAP (порти дастрасии хатогиҳо). Сохтани лоиҳа аз манбаъҳои ARM кори осон нест, ман лоиҳаро аз он гирифтам X893, ва он гоҳ ман DAP42-ро санҷидам. Мутаассифона, Keil uVision ях кард ва нахост бо онҳо кор кунад. Дар натиҷа, ман чипи дебаггерро бо STM32F103C8T6 хусусӣ иваз кардам ва ҳеҷ гоҳ ба ин масъала барнагаштам.

Таҳияи шӯрои рушд барои K1986BE1QI (авиатсия)
Фаъолияти бомуваффақияти debugger дарунсохт J-Link STLink V2

Вақте ки ҳамаи ҷузъҳои асосии тахтаи рушди оянда дастрас буданд, ман ба Eagle CAD даромадам ва фаҳмидам, ки онҳо дар китобхонаи элементҳо нестанд. Ҷои рафтан набуд - ман маҷбур будам, ки худам онҳоро кашам. Ҳамзамон, ман ҷойҳои насбкуниро барои хотира, пайвасткунаки HanRun барои Ethernet сохтам ва барои резисторҳо ва конденсаторҳо чаҳорчӯба илова кардам. Файли лоиҳа ва китобхонаи ҷузъҳоро пайдо кардан мумкин аст дар GitHub ман.

Диаграммаи схематикии Шӯрои рушди MDB1986Таҳияи шӯрои рушд барои K1986BE1QI (авиатсия)

Тахта аз манбаи DC 5 вольт, ки аз порти USB гирифта шудааст, таъмин карда мешавад. Дар тахта ҳамагӣ ду порти USB Type-B мавҷуд аст. Яке барои барномасоз, дуюм барои контролери K1986BE1QI. Раёсат метавонад аз яке аз ин манбаъҳо ё ҳарду ҳамзамон кор кунад. Соддатарин танзими сарборӣ ва муҳофизати хати барқ ​​бо истифода аз диодҳои Schottky дар схемаи D2 ва D3 (SS24) амалӣ карда мешавад. Инчунин дар диаграмма шумо метавонед предохранителҳои худбарқароршавандаи F1 ва F2-ро дар 500 мА бинед. Хатҳои сигнали порти USB аз ҷониби маҷмӯи диодҳои USBLC6-2SC6 ҳифз карда мешаванд.

Схемаи барномасози ST-Link ба бисёриҳо маълум аст; онро дар ҳуҷҷатҳои тахтаҳои STM32-Discovery ва дигар манбаъҳо ёфтан мумкин аст. Барои нармафзори ибтидоии клони ST-Link/J-Link-OB/DAP (ихтиёрӣ), ман хатҳои SWDIO (PA13), SWCLK (PA14), GND -ро баровардам. Бисёр одамон UART-ро барои нармафзори нармафзор истифода мебаранд ва маҷбур мешаванд, ки jumpers BOOT-ро кашанд. Аммо ман SWD-ро қулайтар меҳисобам ва ин протокол имкон медиҳад, ки хатогиҳоро ислоҳ кунад.

Қариб ҳамаи ҷузъҳои панел бо қувваи 3.3 вольт, ки аз танзимгари шиддати AMS1117-3.3 меояд, таъмин карда мешаванд. Барои рафъи дахолати электромагнитӣ ва шиддати ҷорӣ, филтрҳои LC аз конденсаторҳо ва шокҳои силсилаи BLM31PG истифода мешаванд.

Алоҳида, бояд қайд кард, ки драйвери дисплейи 7-сегменти MAX7221. Тибқи мушаххасот, таъминоти барқи тавсияшаванда аз 4 то 5.5 вольт аст ва сатҳи баланди сигнал (мантиқӣ) на камтар аз 3.5 В (0.7 x VCC), бо таъминоти 5 В. Барои контролери K1986BE1QI (авиатсия) баромади воҳиди мантиқӣ ба шиддат аз 2.8 то 3.3 В мувофиқат мекунад. Аён аст, ки байни сатҳҳои сигнал номувофиқӣ вуҷуд дорад, ки метавонад ба кори муқаррарӣ халал расонад. Ман тасмим гирифтам, ки MAX7221-ро дар 4V барқ ​​диҳам ва сатҳи сигналро то 2.8 В кам кунам (0.7 x 4 = 2.8). Барои ин, диод D4 (RS1A ё FR103) дар схемаи қувваи драйвер ба таври пайдарпай насб карда мешавад. Камшавии умумии шиддат 0.9 В (диоди Шоттки 0.3 В ва диод 0.6 В) аст ва ҳама чиз кор мекунад.

Аксари бандарҳои микроконтроллери K1986BE1QI (авиатсия) бо сигналҳои то 5V мувофиқанд. Аз ин рӯ, истифодаи интиқоли MCP2551 CAN, ки дар 5V низ кор мекунад, ҳеҷ мушкиле вуҷуд надорад. Дар диаграмма чипи MAX232 ҳамчун интиқолдиҳандаи RS-3232 нишон дода шудааст, аммо дар асл ман SN65C3232D-ро аз Texas Instruments истифода бурдам, зеро он аз 3.3V кор мекунад ва суръатро то 1Мбит/с таъмин мекунад.

Дар тахта 4 резонатори кварцӣ мавҷуд аст - яке барои ислоҳкунанда (8 МГс) ва сето барои микроконтроллери мавриди ҳадаф K1986BE1QI (авиатсия) бо рейтингҳои 32.768 кГц, 16 МГс, 25 МГс. Ин ҷузъҳои зарурӣ мебошанд, зеро Параметрҳои осциллятори дарунсохташудаи RC дар доираи васеъ аз 6 то 10 МГс мебошанд. Барои кори контролери дарунсохташудаи Ethernet басомади 25 МГс лозим аст. Бо баъзе сабабҳо, вебсайти Миландра (шояд хато бошад) мегӯяд, ки корпуси пластикӣ Ethernet надорад. Аммо мо ба мушаххасот ва далелҳо такя хоҳем кард.

Ҳавасмандии муҳим барои эҷоди Шӯрои рушди шахсии ман ин имкони кор бо автобуси системаи берунии EBC (назоратчии автобуси беруна), ки аслан бандари мувозӣ аст, буд. Микроконтроллери K1986BE1QI (ҳавопаймо) ба шумо имкон медиҳад, ки бо микросхемаҳои хотираи беруна ва дастгоҳҳои периферӣ пайваст ва кор кунед, масалан, ADC, FPGA ва ғайра. Имкониятҳои автобуси системаи беруна хеле калонанд - шумо метавонед бо хотираи статикии 8-бит, 16-бит ва 32-бит, ROM ва NAND Flash кор кунед. Барои хондан/навиштани маълумоти 32-бит, контроллер метавонад ба таври худкор 2 амалиёти мувофиқро барои микросхемаҳои 16-битӣ ва 8 амалиётро барои микросхемаҳои 4-бит иҷро кунад. Аён аст, ки амалиёти 32-битии I/O бо автобуси додаҳои 32-бит зудтар анҷом дода мешавад. Камбудиҳо зарурати кор кардани барнома бо маълумоти 32-битро дар бар мегиранд ва тахта бояд 32 роҳро ҷойгир кунад.

Таҳияи шӯрои рушд барои K1986BE1QI (авиатсия)
Микросхемаҳои RAM статикӣ, ки истифода мешаванд (фаъол кунед, ки кадоме аз онҳо ноқис аст)

Ҳалли мутавозин ин истифодаи микросхемаҳои хотираи 16-бит мебошад. Ман тасодуфан дар саҳҳомӣ микросхемаҳои Integrated Silicon Solutions Inc доштам. (ISSI IS61LV25616AL, 16 x 256k, 10 ns, 3.3V). Албатта, ширкати Milander дорои микросхемаҳои хотираи статикии худро дорад силсилаи 1645RU, аммо онҳо хеле гарон ва дастнорасанд. Ҳамчун алтернатива, Samsung K6R4016V1D бо PIN мувофиқ мавҷуданд. Пештар ман гуфта будам, ки микросхемаҳои истифодашуда пайдо шуданд ва нусхае, ки ман насб кардам, дар хати 15-уми маълумот нокомиҳо ва арзишҳои бесарусомонӣ дод. Барои дарёфти хатогиҳои сахтафзор чанд рӯз лозим шуд ва вақте ки ман чипи вайроншударо бо чипи корӣ иваз кардам, эҳсоси қаноатмандӣ зиёдтар мешуд. Новобаста аз он, ки суръати кор бо хотираи беруна бисёр чизҳоро талаб мекунад.

Автобуси беруна ва ҳолати StandAloneМикроконтроллери K1986BE1QI (ҳавопаймо) дорои режими беҳамтои StandAlone мебошад, ки барои дастрасии мустақими беруна ба контроллерҳои Ethernet ва MKIO (MIL_STD_1553) тавассути автобуси беруна пешбинӣ шудааст, ки ядро ​​дар ҳолати азнавсозӣ, яъне. истифода нашудаанд. Ин режим барои протсессорҳо ва FPGAs, ки Ethernet ва/ё MKIO надоранд, қулай аст.
Диаграммаи пайвастшавӣ чунин аст:

  • автобуси маълумот 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 истеҳсол карда шудааст, (в) Сурати муаллиф

Маҷбур шудам, ки ҷузъҳоро дар зонуҳоям бо дарзмоли 40 ваттӣ ва кафшери POS-61 кафшер кунам, зеро дар як сол 1-2 маротиба кам кафшер мекунам ва хамираи кафшерӣ хушк шуда буд. Ман инчунин бояд контролери CS32F103-и чиниро ба STM32F103-и аслӣ иваз кунам ва сипас хотираро низ иваз кунам. Умуман, ҳоло ман аз натиҷа комилан қаноатмандам, гарчанде ки ман кори RS-232 ва CAN-ро ҳанӯз тафтиш накардаам.

Таҳияи шӯрои рушд барои K1986BE1QI (авиатсия)
Тахтаи ислоҳи MDB1986 дар кор аст - он медурахшад ва гарм мекунад, (в) Сурати муаллиф

Дар вебсайти Milandra шумо метавонед кофӣ пайдо кунед маводи таълимӣ барои контроллерҳои таълим силсилаи 1986BE9 (аслии Cortex-M3), аммо барои микроконтроллери K1986BE1QI (авиатсия) ман дар он ҷо чизе намебинам. Материалхо, дастурхо ва корхои лабораториеро, ки дар он чо барои донишкадахои олй нашр шудаанд, аз назар гузаронда, шодам, ки дар тамоми мамлакат барои кор кардан бо контролерхои рус кадрхо тайёр карда мешаванд. Аксари маводҳои таълимӣ барои кор бо портҳои вуруд/чор, таймерҳо, ADC, DAC, SPI, UART омода мешаванд. Муҳитҳои гуногуни таҳияи IDE истифода мешаванд (Keil, IAR, CodeMaster). Дар ҷое онҳо бо истифода аз регистрҳои CMSIS барномарезӣ мекунанд ва дар ҷое китобхонаи MDR-ро истифода мебаранд. Манбаъ бояд зикр карда шавад Миландрро оғоз кунед, ки мақолаҳои зиёде аз барномасозони таҷрибадорро дар бар мегирад. Ва, албатта, набояд фаромӯш кард Форуми Миландра.

Дар бораи Миландра фикр мекардамДар Русия микроэлектроника инкишоф меёбад ва дар ин раванд ширкати Миландер нақши намоён мебозад. Микроконтроллерҳои нави ҷолиб пайдо мешаванд, масалан, 1986BE81T ва Elektrosila бо интерфейсҳои SpaceWire ва MKIO (ҳамон тавре ки дар соли 1986BE1 ва эҳтимолан бо ҳамон мушкилот) ва ғайра. Аммо студентон, муаллимон ва инженерони оддй ин гуна микросхемахоро харида наметавонанд. Ин маънои онро дорад, ки ҷомеаи муҳандисӣ наметавонад хатогиҳо ва мушкилотро бо ин чип зуд муайян кунад. Ба назари ман, аввал бояд микросхемаҳоро дар корпуси пластикӣ истеҳсол намуда, ба ҳамаи ҷонибҳои манфиатдор тақсим кард ва пас аз апробация (лотинӣ approbatio — тасвиб, эътироф) аз ҷониби мутахассисон онҳо метавонанд ревизияро дар корпуси металлию сафолӣ бо муҳофизат аз ҳама омилҳои даҳшатовар. Умедворам, ки дар ояндаи наздик ҳамаи мо аз лоиҳаҳои наве, ки дар намоишгоҳҳо эълон карда мешаванд, шод хоҳем шуд.
Тахтаи дебагро, ки ман таҳия кардам, метавонад ҳар кас дар раванди таълим такрор кунад, тағир диҳад ва истифода барад. Пеш аз хама тахтаро барои худам сохтам, аммо чунон хуб шуд, ки Ман қарор додам, ки бо ҳама мубодила кунам.

K1986BE1QI (ҳаво) як контролери хеле ҷолиб бо интерфейсҳои беназирест, ки дар донишгоҳҳо барои таълими донишҷӯён истифода мешаванд. Ман фикр мекунам, ки пас аз ислоҳи хатогиҳои дар контроллер муайяншуда ва супоридани санҷишҳои сертификатсия, контроллер ба маънои воқеии калима парвоз хоҳад кард!

Манбаъ: will.com

Илова Эзоҳ