K1986BE1QI (lennundus) arendusplaadi väljatöötamine

K1986BE1QI (lennundus) arendusplaadi väljatöötamine

Mitu aastat tagasi tutvusin Milanderi vene mikrokontrolleritega. See oli 2013. aastal, kui insenerid arutasid hoogsalt föderaalse sihtprogrammi “Elektroonikakomponentide baasi ja raadioelektroonika arendamine” esimesi tulemusi aastateks 2008–2015. Selleks ajaks oli K1986BE9x kontroller (Cortex-M3 tuum) juba välja antud ja 1986BE1T kontroller (Cortex-M1 tuum) oli just ilmunud. Plastkorpuses LQFP-144 oli selle dokumentatsioonis tähis K1986BE1QI (lennundus) ja kiibil endal tähis MDR32F1QI. Tootja veebisaidil on sellel järelliide "avia", kuna sellel on lennukitööstusele omased liidesed (ARINC 429, MIL_STD_1553).

Üllataval kombel valmistas Milanderi ettevõte nende kontrollerite levitamise ajal välisseadmetega töötamiseks ette silumiskomplektid ja alamprogrammide teegi, "kuid ilma täiendavate garantiide või kohustusteta raamatukogu õigsuse osas". Teek sarnaneb STMicroelectronicsi standardse välisseadmete raamatukoguga. Üldiselt on kõigil Cortex-M tuumale ehitatud ARM-kontrolleritel palju ühist. Seetõttu edenes uute Venemaa kontrolleritega tutvumine kiiresti. Ja neile, kes ostsid kaubamärgiga silumiskomplektid, pakuti kasutamise ajal tehnilist tuge.

K1986BE1QI (lennundus) arendusplaadi väljatöötamine
Silumiskomplekt mikrokontrollerile 1986BE1T, © Milander

Kuid aja jooksul hakkasid ilmnema uute mikroskeemide ja raamatukogude "lapsehaigused". Püsivara testnäited töötasid ilma nähtavate probleemideta, kuid oluliste muudatuste korral ilmnesid kokkujooksmised ja vead. Minu praktika esimene "pääsuke" oli seletamatud tõrked CAN-kontrolleri töös. Aasta hiljem avastati mooduli probleem varajase versiooni 1986BE1T (lennundus) kontrolleril. MKIO (multipleksne teabevahetuskanal). Üldiselt olid kõik nende mikrokontrollerite versioonid kuni 2016. aastani piiratud kasutusega. Nende probleemide tuvastamisele kulus palju aega ja närve, millele nüüd saab kinnitust leida vealoendid (errata).

Ebameeldiv omadus oli see, et töötada ja vigadega tegeleda oli vaja mitte silumisplaatidel, vaid seadmete prototüüpplaatidel, mis olid kavandatud tehase seeriatootmiseks. Tavaliselt polnud seal midagi peale JTAG-pistiku. Loogikaanalüsaatoriga ühenduse loomine oli keeruline ja ebamugav ning tavaliselt polnud LED-e ega ekraane. Sel põhjusel tekkis mu peas idee luua oma silumisplaat.

Ühelt poolt olid turul kaubamärgiga silumiskomplektid, aga ka imelised tahvlid Zelenogradi ettevõttelt LDM-Systems. Teisalt on nende toodete hinnad vapustavad ning põhifunktsionaalsus ilma laienduskaartideta ei vasta ootustele. Joodetud kontrolleri ja tihvti pistikuga plaat ei paku mulle huvi. Ja huvitavamad lauad on kallid.

K1986BE1QI (lennundus) arendusplaadi väljatöötamine
Arendusplaat MILANDR LDM-HELPER-K1986BE1QI-FULL, © LDM Systems

Milanderi ettevõttel on ainulaadne hinnapoliitika ja turundus. Seega on võimalik saada mõne mikrolülituse tasuta näidiseid, kuid see on saadaval ainult juriidilistele isikutele ja on seotud bürokraatliku otsinguga. Üldiselt on metallkeraamilises korpuses olevad mikroskeemid kuldsed nii otseses kui ka ülekantud tähenduses. Näiteks 1986BE1T kontroller maksab Moskvas 14-24 tuhat rubla. Staatiline mälukiip 1645RU6U maksab alates 15000 1986 rubla. Ja see on kõikide toodete hinnajärjestus. Selle tulemusel hoiavad isegi valitsuse tellimustega spetsialiseerunud uurimisinstituudid raha kokku ja hoiavad selliste hindade eest kõrvale. Tsiviilkasutusse mõeldud plastkorpuses mikrolülitused on oluliselt odavamad, kuid populaarsetelt tarnijatelt neid saada pole. Lisaks tundub mulle, et plastkorpuses olevate mikroskeemide kvaliteet on halvem kui "kuldsetel". Näiteks ei saanud ma K1BE128QI kontrollerit käivitada sagedusel 40 MHz ilma välgu latentsusaja parameetrit suurendamata. Samal ajal tõusis selle kontrolleri temperatuur 50-1986C-ni. Kuid 1BE128T ("kuldne") kontroller alustas ilma lisaseadeteta XNUMX MHz ja jäi külmaks. Ta on tõesti hea.

K1986BE1QI (lennundus) arendusplaadi väljatöötamine
“Kuldne” mikrokontroller 1986BE1T, (c) Milander

Mul vedas, et plastümbrises mikrokontrollerit saab endiselt LDM Systemsist jaemüügist osta ja kõik plaadiskeemid on vabalt saadaval. Halb on see, et kodulehel on kontrolleri fotol näha märgistus, mis ütleb, et tegemist on 4. aasta 2014. redaktsiooniga, s.o. defektidega. Mõtlesin kaua, kas osta või mitte. Mitu aastat möödus nii...

Silumisplaadi loomise idee pole kuhugi kadunud. Tasapisi kujundasin kõik nõuded ja mõtlesin, kuidas see kõik ühele tahvlile paigutada, et see oleks kompaktne ja mitte kallis. Samas tellisin puuduvad komponendid hiinlastelt. Mul ei olnud kiiret – tegin kõik enda jaoks. Hiina tarnijad on kurikuulsalt lohakad – pidin tellima sama asja erinevatest kohtadest, et kõik vajalik kätte saada. Veelgi enam, mõned mälukiibid osutusid kasutatud - ilmselt joodetud purunenud seadmetest. See tuli mind hiljem tagasi kummitama.

Mikrokontrolleri Milander K1986BE1QI (õhk) ostmine pole lihtne ülesanne. Samas Chip and Dip poes leidsin jaotisest “Tellitavad kaubad” ainult K1986BE92QI hinnaga 740 rubla, kuid see mulle ei sobinud. Ainus võimalus on osta LDM-Systemsilt mittevärske versioon 2000 rubla eest. Kuna ma ei leidnud mujalt asendust, otsustasin osta selle, mis mul oli. Minu meeldivaks üllatuseks müüsid nad mulle 2018. aasta detsembris toodetud uhiuue kontrolleri, versioon 6+ (1820). Kuid saidil on endiselt vana foto ja selle kirjutamise ajal pole kontroller saadaval...

K1986BE1QI (lennundus) arendusplaadi väljatöötamine
Mikrokontroller K1986BE1QI (lennundus) tehnoloogilises pakendis, (c) Autori foto

Minu silumisplaadi peamised tehnilised omadused MDB1986 järgmine:

  • sisseehitatud siluri-programmeerija, mis ühildub J-Linki ja CMSIS-DAP-iga;
  • staatiline mälu 4Mbit (256k x 16, 10 ns);
  • välkmälu kiip 64Mbit, Winbond 25Q64FVSIG;
  • RTS- ja CTS-liinidega RS-232 liidesega transiiver;
  • liidesed ja pistikud Etherneti, USB, CAN jaoks;
  • MAX7 7221-segmendiline ekraanikontroller;
  • pin pistik MKIO (MIL_STD_1553) ja ARINC429-ga töötamiseks;
  • fototransistor Everlight PT17-21C;
  • viis värvilist LED-i, lähtestamisnupp ja kaks kasutajanuppu;
  • USB-pordi toiteallikas on 5 volti;
  • trükkplaadi mõõdud 100 x 80, mm

Mulle meeldisid STM-Discovery seeria plaadid, kuna neil on sisseehitatud programmeerija-siluja - ST-Link. Branded ST-Link töötab ainult STMicroelectronicsi kontrolleritega, kuid paar aastat tagasi sai võimalikuks ST-Linki püsivara värskendamine ja SEGGER J-Link OB (on-board) siluri hankimine. Juriidiliselt on sellise siluri kasutamisel piirang ainult STMicroelectronics plaatidega, kuid tegelikult pole potentsiaal piiratud. Seega, kui teil on J-Link OB, saate silumisplaadil olla sisseehitatud programmeerija-siluja. Märgin, et LDM-Systemsi tooted kasutavad CP2102 (Usb2Uart) muundurit, mis suudab ainult vilkuda.

K1986BE1QI (lennundus) arendusplaadi väljatöötamine
STM32F103C8T6 mikrokontrollerid, päris ja mitte nii päris, (c) Autori foto

Niisiis oli vaja osta originaal STM32F103C8T6, kuna patenteeritud püsivara ei tööta klooniga õigesti. Kahtlesin selles lõputöös ja otsustasin proovida Hiina ettevõtte CKS kontrollerit CS32F103C8T6. Mul pole kontrolleri enda kohta kaebusi, kuid patenteeritud ST-Linki püsivara selles ei töötanud. J-Link töötas osaliselt - USB-seade tuvastati, kuid programmeerija ei täitnud oma funktsioone ja tuletas pidevalt meelde, et see on defektne.

K1986BE1QI (lennundus) arendusplaadi väljatöötamine
Viga siluri käivitamisel mitteoriginaalsel kontrolleril

Ma ei olnud sellega rahul ja kirjutasin esmalt LED-i vilkumise püsivara ja seejärel rakendasin JTAG-protokolli kasutades IDCODE-i päringu. Programmeerija ST-Link, mis mul Discovery plaadil oli, ja ST-Link Utility programm välgutasid probleemideta CS32F103C8T6.Lõpuks olin veendunud, et mu plaat töötab. Minu rõõmuks andis sihtkontroller K1986BE1QI (lennundus) TDO liini kaudu rõõmsalt välja oma IDCODE.

K1986BE1QI (lennundus) arendusplaadi väljatöötamine
TDO signaaliliini ostsillogramm kodeeritud IDCODE vastusega, (c) Autori foto

K1986BE1QI (lennundus) arendusplaadi väljatöötamine
Seega oli SWD-port abiks siluri enda silumiseks ja IDCODE kontrollimiseks

Seal oli valik siluriga CMSIS-DAP (silumispääsuport). Projekti koostamine ARM-i allikatest ei ole lihtne ülesanne, võtsin projekti sellest X893, ja siis proovisin DAP42. Kahjuks Keil uVision tardus ega tahtnud nendega koostööd teha. Selle tulemusel asendasin silurikiibi patenteeritud STM32F103C8T6 vastu ega pöördunud enam selle probleemi juurde.

K1986BE1QI (lennundus) arendusplaadi väljatöötamine
Sisseehitatud siluri J-Link STLink V2 edukas töö

Kui kõik tulevase arendusplaadi võtmekomponendid olid saadaval, läksin Eagle CAD-i ja avastasin, et neid pole elementide teegis. Polnud kuhugi minna – pidin need ise joonistama. Samal ajal tegin mälule kinnituskohad, Ethernetile HanRuni pistiku ja lisasin takistitele ja kondensaatoritele raamid. Leiate projektifaili ja komponentide teegi minu GitHubis.

MDB1986 arendusplaadi skemaatiline diagrammK1986BE1QI (lennundus) arendusplaadi väljatöötamine

Plaat saab toite 5-voldist alalisvooluallikast, mis saadakse USB-pordist. Plaadil on kokku kaks B-tüüpi USB-porti. Üks on programmeerijale, teine ​​kontrollerile K1986BE1QI. Tahvel võib töötada mõlemast neist allikatest või mõlemast samaaegselt. Lihtsaim koormuse reguleerimine ja elektriliinide kaitse on rakendatud Schottky dioodide abil, ahelates D2 ja D3 (SS24). Ka diagrammil näete isetaastuvaid kaitsmeid F1 ja F2 500 mA juures. USB-pordi signaaliliinid on kaitstud USBLC6-2SC6 dioodikomplektiga.

ST-Linki siluri-programmeerija skeem on paljudele teada; selle leiate STM32-Discovery plaatide dokumentatsioonist ja muudest allikatest. ST-Link/J-Link-OB/DAP klooni (valikuline) algse püsivara jaoks tõin välja read SWDIO (PA13), SWCLK (PA14), GND. Paljud inimesed kasutavad püsivara jaoks UART-i ja on sunnitud tõmbama BOOT-jumpsu. Kuid minu arvates on SWD mugavam ja see protokoll võimaldab silumist.

Peaaegu kõik plaadi komponendid saavad toite 3.3 voltiga, mis pärineb AMS1117-3.3 pingeregulaatorist. Elektromagnetiliste häirete ja voolutugevuste summutamiseks kasutatakse BLM31PG seeria kondensaatorite ja drosselite LC-filtreid.

Eraldi väärib mainimist MAX7 7221-segmendiline kuvari draiver. Vastavalt spetsifikatsioonile on soovitatav toiteallikas 4 kuni 5.5 volti ja kõrge signaalitase (loogiline) on vähemalt 3.5 V (0.7 x VCC), 5 V toiteallikaga. K1986BE1QI (lennundus) kontrolleri puhul vastab loogilise üksuse väljund pingele 2.8 kuni 3.3 V. Ilmselgelt on signaalitasemete mittevastavus, mis võib häirida normaalset tööd. Otsustasin MAX7221 toita 4 V ja vähendada signaali taset 2.8 V-ni (0.7 x 4 = 2.8). Selleks paigaldatakse draiveri toiteahelasse järjestikku diood D4 (RS1A või FR103). Kokku on pingelang 0.9V (Schottky diood 0.3V ja diood 0.6V) ja kõik töötab.

Enamik K1986BE1QI (lennundus) mikrokontrolleri porte ühildub kuni 5 V signaalidega. Seetõttu pole probleemi ka 2551V pealt töötava transiiveri MCP5 CAN kasutamisel. MAX232 kiip on skeemil märgitud kui RS-3232 transiiver, kuid tegelikult kasutasin Texas Instrumentsi SN65C3232D, kuna see töötab alates 3.3 V ja pakub kiirust kuni 1 Mbit/s.

Tahvel sisaldab 4 kvartsresonaatorit - üks siluri jaoks (8 MHz) ja kolm sihtmärkmikrokontrolleri K1986BE1QI (lennundus) jaoks sagedustega 32.768 kHz, 16 MHz, 25 MHz. Need on vajalikud komponendid, sest Sisseehitatud RC-ostsillaatori parameetrid on laias vahemikus 6 kuni 10 MHz. Sisseehitatud Etherneti kontrolleri tööks on vaja 25 MHz sagedust. Millegipärast on Milandra veebisaidil (võib-olla ekslikult) kirjas, et plastikust korpusel pole Etherneti. Kuid me tugineme spetsifikatsioonidele ja faktidele.

Oluliseks stiimuliks oma arendusplaadi loomisel oli võimalus töötada välise süsteemisiiniga EBC (external bus controller), mis on sisuliselt paralleelport. Mikrokontroller K1986BE1QI (lennuk) võimaldab ühendada ja töötada väliste mälukiipide ja välisseadmetega, näiteks ADC-d, FPGA-d jne. Välise süsteemisiini võimalused on üsna suured – saab töötada 8-bitise, 16-bitise ja 32-bitise staatilise RAM-i, ROM-i ja NAND Flashiga. 32-bitiste andmete lugemiseks/kirjutamiseks saab kontroller automaatselt sooritada 2 vastavat toimingut 16-bitiste kiipide puhul ja 8 toimingut 4-bitiste kiipide puhul. Ilmselgelt valmib 32-bitine I/O toiming kõige kiiremini 32-bitise andmesiiniga. Puuduste hulka kuulub vajadus, et programm töötaks 32-bitiste andmetega ja plaat peab laduma 32 rada.

K1986BE1QI (lennundus) arendusplaadi väljatöötamine
Staatilised RAM-kiibid, kasutatud (arvake ära, milline neist on defektne)

Tasakaalustatud lahendus on 16-bitiste mälukiipide kasutamine. Mul juhtus laos olema Integrated Silicon Solutions Inc. kiibid. (ISSI IS61LV25616AL, 16 x 256 k, 10 ns, 3.3 V). Loomulikult on Milanderi ettevõttel oma staatilised mälukiibid seeria 1645RU, kuid need on liiga kallid ja pole saadaval. Alternatiivina on pin-ühilduvad Samsung K6R4016V1D. Varem mainisin, et mikroskeemid osutusid kasutatud ja minu installitud koopia andis 15. andmereal tõrkeid ja kaootilisi väärtusi. Riistvaravigade leidmiseks kulus mitu päeva ja seda suurem oli rahulolutunne, kui vahetasin kahjustatud kiibi töötava vastu. Olgu kuidas on, aga välismäluga töötamise kiirus jätab soovida.

Väline siin ja StandAlone režiimMikrokontrolleril K1986BE1QI (lennuk) on ainulaadne StandAlone režiim, mis on mõeldud välise siini kaudu otseseks väliseks juurdepääsuks Etherneti ja MKIO kontrolleritele (MIL_STD_1553), kusjuures tuum on lähtestatud olekus, st. pole kasutatud. See režiim on mugav protsessoritele ja FPGA-dele, millel pole Etherneti ja/või MKIO-d.
Ühendusskeem on järgmine:

  • andmesiin MCU(D0-D15) => SRAM(I/O0-I/O15),
  • aadressi siin MCU(A1-A18) => SRAM(A0-A17),
  • juht MCU (nWR, nRD, PortC2) => SRAM (WE, OE, CE),
  • SRAM(UB,LB) ühendatakse või tõmmatakse maandusega läbi takisti.

CE-liin on ühendatud toiteallikaga läbi takisti, MCU-baidi (BE0-BE3) diskreetimise kontakte ei kasutata. Spoileri all annan koodi portide ja välise siini kontrolleri lähtestamiseks.

Portide ja EBC-kontrolleri lähtestamine (väline siinikontroller)

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 paketi mikrokontrolleril ja TSOP-44 paketi mälul on palju seotud kontakte ja need võtavad trükkplaadil palju ruumi. Omades ökonoomika valdkonna optimeerimisülesannete lahendamise kogemust, oli minu jaoks ilmne, et kõigepealt on vaja need mikroskeemid plaadile paigutada. Erinevates allikates olen kohanud kiitvaid ülevaateid CAD TopoR (topoloogiline ruuter). Laadisin alla prooviversiooni ja sain oma projekti Eagle CAD-ist sinna eksportida alles pärast seda, kui olin peaaegu kõik komponendid eemaldanud. Kahjuks ei aidanud TopoR programm mul isegi 10 elementi tahvlile paigutada. Esiteks asetati kõik komponendid nurka ja seejärel paigutati mööda serva. Ma ei olnud selle valikuga rahul ja pikka aega jälgisin tahvlit käsitsi tuttavas Eagle CAD keskkonnas.

Trükkplaadi oluline element on siiditrükk. Arendusplaadil ei tohi olla ainult elektrooniliste komponentide sildid, vaid ka kõik pistikud peavad olema märgistatud. Tahvli tagaküljele asetasin tabelid kontrolleri portide funktsioonidega (peamine, alternatiivne, tühistatud, tegelik). Trükkplaatide tootmise tellisin Hiinas tuntud PCBWay kontorist. Ma ei kiida seda, sest kvaliteet on hea. Nad saavad paremini hakkama, väiksemate tolerantsidega, kuid tasu eest.

K1986BE1QI (lennundus) arendusplaadi väljatöötamine
Toodetud MDB1986 trükkplaadid, (c) Autori foto

Komponendid pidin jootma “põlve peal” 40-vatise jootekolvi ja POS-61 joodisega, sest jootan harva, 1-2 korda aastas ja jootepasta oli ära kuivanud. Pidin ka Hiina CS32F103 kontrolleri vahetama originaal STM32F103 vastu ja siis ka mälu vahetama. Üldiselt olen nüüd tulemusega täiesti rahul, kuigi ma pole veel RS-232 ja CAN-i tööd kontrollinud.

K1986BE1QI (lennundus) arendusplaadi väljatöötamine
MDB1986 silumisplaat töökorras - läigib ja soojendab, (c) Autori foto

Milandra kodulehelt leiab piisavalt õppematerjalid õppekontrolleritele seeria 1986BE9 (Cortex-M3 tuum), kuid K1986BE1QI (lennundus) mikrokontrolleri puhul ei näe ma seal midagi. Vaadates seal avaldatud materjale, käsiraamatuid ja ülikoolide laboritöid, on mul hea meel, et kogu riigis koolitatakse personali Vene kontrolleritega töötamiseks. Enamik koolitusmaterjale valmistab ette töötamiseks I/O portide, taimerite, ADC, DAC, SPI, UART. Kasutatakse erinevaid IDE arenduskeskkondi (Keil, IAR, CodeMaster). Kuskil nad programmeerivad CMSIS-i registreid kasutades ja kuskil MDR-teeki. Mainida tuleb ressurssi Alusta Milandr, mis sisaldab palju artikleid praktiseerivatelt programmeerijatelt. Ja loomulikult ei tohiks me seda unustada Milandra foorum.

Mõtlesin MilandraleMikroelektroonika areneb Venemaal ja Milanderi ettevõte mängib selles protsessis silmapaistvat rolli. Ilmub uusi huvitavaid mikrokontrollereid, näiteks SpaceWire ja MKIO liidestega 1986BE81T ja Elektrosila (sama mis 1986BE1 ja võib-olla samade probleemidega) jne. Kuid tavalised õpilased, õpetajad ja ehitusinsenerid ei saa selliseid mikroskeeme osta. See tähendab, et inseneriringkond ei suuda selle kiibiga vigu ja probleeme kiiresti tuvastada. Mulle tundub, et esmalt on vaja toota mikroskeemid plastkorpuses, jagada need kõigile huvilistele ja pärast spetsialistide poolt kooskõlastamist (ladina approbatio - heakskiit, tunnustamine) saavad nad koostada revisjoni metallkeraamilises korpuses koos kaitse kõigi kohutavate tegurite eest. Loodan, et lähitulevikus oleme näitustel välja kuulutatud uute projektidega rahul.
Minu välja töötatud silumisplaati saab igaüks õppeprotsessis korrata, muuta ja kasutada. Kõigepealt tegin tahvli endale, aga tuli nii hästi välja, et Otsustasin kõigiga jagada.

K1986BE1QI (õhk) on väga huvitav unikaalsete liidestega kontroller, mida saab kasutada ülikoolides üliõpilaste õpetamiseks. Arvan, et peale kontrolleris tuvastatud vigade parandamist ja sertifitseerimistestide läbimist lendab kontroller selle sõna otseses mõttes!

Allikas: www.habr.com

Lisa kommentaar