Evoluo de evolukomisiono por K1986BE1QI (aviado)

Evoluo de evolukomisiono por K1986BE1QI (aviado)

Antaŭ kelkaj jaroj mi konatiĝis kun rusaj mikroregiloj de Milander. Estis 2013, kiam inĝenieroj vigle diskutis pri la unuaj rezultoj de la Federacia Cel-Programo "Evoluo de elektronika kompona bazo kaj radioelektroniko" por 2008-2015. Tiutempe, la regilo K1986BE9x (kerno Cortex-M3) jam estis liberigita, kaj ĵus aperis la regilo 1986BE1T (kerno Cortex-M1). En la plasta kazo, LQFP-144, ĝi havis la nomon K1986BE1QI (aviado) en la dokumentado, kaj sur la blato mem la nomon MDR32F1QI. En la retejo de la fabrikanto ĝi havas la sufikson "avia", ĉar ĝi havas interfacojn specifajn por la aviadilindustrio (ARINC 429, MIL_STD_1553).

Mirinde, en la momento de distribuado de ĉi tiuj regiloj, la kompanio Milander preparis senararigantajn kompletojn kaj bibliotekon de subrutinoj por labori kun ekstercentraj, "sed sen aldonaj garantioj aŭ obligacioj pri la ĝusteco de la biblioteko." La biblioteko estas simila al la Standard Peripheral Library de STMicroelectronics. Ĝenerale, ĉiuj ARM-regiloj konstruitaj sur la Cortex-M-kerno havas multon komune. Tial, konatiĝo kun la novaj rusaj regiloj daŭrigis rapide. Kaj por tiuj, kiuj aĉetis markitajn sencimigajn ilarojn, teknika subteno estis provizita dum uzo.

Evoluo de evolukomisiono por K1986BE1QI (aviado)
Sencimiga ilaro por mikroregilo 1986BE1T, © Milander

Tamen, kun la tempo, "infanaj malsanoj" de novaj mikrocirkvitoj kaj bibliotekoj komencis aperi. Testekzemploj de la firmvaro funkciis sen videblaj problemoj, sed kun signifaj modifoj, kraŝoj kaj eraroj okazis. La unua "hirunto" en mia praktiko estis neklarigeblaj fiaskoj en la funkciado de la CAN-regilo. Jaron poste, problemo kun la modulo estis malkovrita sur la 1986BE1T (aviada) regilo de frua revizio MKIO (multeksa informinterŝanĝa kanalo). Ĝenerale, ĉiuj revizioj de ĉi tiuj mikroregiloj ĝis 2016 estis de limigita uzo. Multe da tempo kaj nervoj iris por identigi ĉi tiujn problemojn, kies konfirmo nun troviĝas en erarlistoj (Eraroj).

Malagrabla trajto estis, ke necesas labori kaj trakti erarojn ne sur sencimigaj tabuloj, sed sur prototipaj tabuloj de aparatoj, kiuj estis planitaj por seria fabrika produktado. Tie estis kutime nenio krom la JTAG-konektilo. Konekti kun logika analizilo estis malfacila kaj maloportuna, kaj kutime ne estis LED-oj aŭ ekranoj. Tial aperis en mia kapo la ideo krei mian propran sencimigan tabulon.

Unuflanke, estis markitaj sencimigaj ilaroj sur la merkato, kaj ankaŭ mirindaj tabuloj de la kompanio LDM-Systems de Zelenograd. Aliflanke, la prezoj por ĉi tiuj produktoj estas mirindaj, kaj la baza funkcieco sen ekspansiaj kartoj ne plenumas atendojn. Tabulo kun lutita regilo kaj pinkonektilo ne interesas min. Kaj pli interesaj tabuloj estas multekostaj.

Evoluo de evolukomisiono por K1986BE1QI (aviado)
Disvolva tabulo MILANDR LDM-HELPER-K1986BE1QI-FULL, © LDM Systems

La kompanio Milander havas unikan prezpolitikon kaj merkatadon. Do, eblas akiri senpagajn specimenojn de iuj mikrocirkvitoj, sed ĉi tio estas nur disponebla por juraj entoj kaj rilatas al burokratia serĉo. Ĝenerale, mikrocirkvitoj en metal-ceramika kazo estas oro en la laŭvorta kaj figura signifo. Ekzemple, regilo de 1986BE1T kostas de 14 ĝis 24 mil rubloj en Moskvo. La senmova memorpeto 1645RU6U kostas de 15000 1986 rubloj. Kaj ĉi tio estas la preza ordo por ĉiuj produktoj. Kiel rezulto, eĉ specialigitaj esplorinstitutoj kun registaraj ordonoj ŝparas monon kaj evitas tiajn prezojn. Mikrocirkvitoj en plasta kazo por civila uzo estas signife pli malmultekostaj, sed ili ne estas haveblaj de popularaj provizantoj. Krome, la kvalito de mikrocirkvitoj en plasta kazo, ŝajnas al mi, estas pli malbona ol "oraj". Ekzemple, mi ne povus ruli la regilon K1BE128QI ĉe 40 MHz sen pliigi la parametron de latencia fulmo. Samtempe, la temperaturo de ĉi tiu regilo altiĝis al 50-1986C. Sed la 1BE128T ("ora") regilo komenciĝis ĉe XNUMX MHz sen pliaj agordoj kaj restis malvarma. Li estas vere bona.

Evoluo de evolukomisiono por K1986BE1QI (aviado)
"Ora" mikroregilo 1986BE1T, (c) Milander

Mi estis bonŝanca, ke mikroregilo en plasta skatolo ankoraŭ aĉeteblas ĉe podetala komerco de LDM Systems, kaj ĉiuj tabulo-diagramoj estas libere haveblaj. La malbona afero estas, ke en la retejo en la foto de la regilo oni povas vidi markon, kiu diras, ke tio estas la 4-a revizio de 2014, t.e. kun difektoj. Mi longe pensis, ĉu aĉeti aŭ ne aĉeti. Pluraj jaroj pasis tiel...

La ideo krei sencimigan tabulon ne malaperis ie ajn. Iom post iom, mi formis ĉiujn postulojn kaj pensis pri kiel meti ĉion sur unu tabulo, por ke ĝi estu kompakta kaj ne multekosta. Samtempe mi mendis la mankantajn komponantojn de la ĉinoj. Mi ne hastis — ĉion mi faris por mi. Ĉinaj provizantoj estas fifame malzorgemaj - mi devis mendi la samon el diversaj lokoj por ricevi ĉion, kion mi bezonis. Krome, kelkaj el la memoraj blatoj montriĝis uzataj - ŝajne lutitaj de rompitaj aparatoj. Ĉi tio revenis por hanti min poste.

Aĉeti mikroregilon Milander K1986BE1QI (aero) ne estas facila tasko. En la sama vendejo de Chip and Dip, en la sekcio "Mendeblaj aĵoj", mi trovis nur K1986BE92QI por 740 rubloj, sed ĝi ne konvenis al mi. La sola opcio estas aĉeti ne freŝan revizion de LDM-Systems por 2000 2018 rubloj. Ĉar mi ne povis trovi anstataŭaĵon aliloke, mi decidis aĉeti tion, kion mi havis. Je mia agrabla surprizo, ili vendis al mi tute novan regilon fabrikitan en decembro 6, revizio 1820+ (XNUMX). Sed la retejo ankoraŭ havas malnovan foton, kaj dum la skribado la regilo ne disponeblas...

Evoluo de evolukomisiono por K1986BE1QI (aviado)
Mikroregilo K1986BE1QI (aviado) en teknologia pakaĵo, (c) Foto de la aŭtoro

Ĉefaj teknikaj karakterizaĵoj de mia sencimiga tabulo MDB1986 jen:

  • enkonstruita erarserĉilo-programilo, kongrua kun J-Link kaj CMSIS-DAP;
  • senmova memoro 4Mbit (256k x 16, 10 ns);
  • fulmmemora blato 64Mbit, Winbond 25Q64FVSIG;
  • RS-232-interfaco-ricevilo kun RTS kaj CTS-linioj;
  • interfacoj kaj konektiloj por Ethernet, USB, CAN;
  • MAX7 7221-segmenta ekranregilo;
  • pinkonektilo por labori kun MKIO (MIL_STD_1553) kaj ARINC429;
  • fototransistoro Everlight PT17-21C;
  • kvin koloraj LEDoj, rekomencigita butono kaj du uzantbutonoj;
  • nutrado al la USB-haveno estas 5 voltoj;
  • presita cirkvito dimensioj 100 x 80, mm

Mi ŝatis la STM-Discovery-seriotabulojn ĉar ili havas enkonstruitan programilon-sencimigilon - ST-Link. Branded ST-Link nur funkcias kun regiloj de STMicroelectronics, sed antaŭ kelkaj jaroj eblis ĝisdatigi la firmvaro en ST-Link kaj akiri SEGGER J-Link OB (surŝipe) Erarserĉilo. Laŭleĝe, estas limigo pri uzado de tia erarserĉilo nur kun STMicroelectronics-tabuloj, sed fakte la potencialo ne estas limigita. Tiel, havante J-Link OB, vi povas havi enkonstruitan programiston-sencimigilon sur la sencimiga tabulo. Mi rimarkas, ke produktoj de LDM-Systems uzas la konvertilon CP2102 (Usb2Uart), kiu povas nur ekbrili.

Evoluo de evolukomisiono por K1986BE1QI (aviado)
STM32F103C8T6 mikroregiloj, realaj kaj ne tiel realaj, (c) Foto de la aŭtoro

Do, necesis aĉeti la originalan STM32F103C8T6, ĉar proprieta firmvaro ne funkcios ĝuste kun la klono. Mi dubis ĉi tiun tezon kaj decidis provi la regilon CS32F103C8T6 de la ĉina kompanio CKS. Mi havas neniujn plendojn pri la regilo mem, sed la proprieta ST-Link-firmvaro ne funkciis en ĝi. J-Link parte funkciis - la USB-aparato estis detektita, sed la programisto ne plenumis siajn funkciojn kaj konstante memorigis, ke ĝi estas "difekta".

Evoluo de evolukomisiono por K1986BE1QI (aviado)
Eraro dum funkciado de la erarserĉilo sur ne-originala regilo

Mi ne kontentiĝis pri tio kaj unue skribis la firmware por palpebrumi la LED, kaj poste efektivigis la IDCODE-peton per la JTAG-protokolo. La programisto ST-Link, kiun mi havis sur la Discovery-tabulo, kaj la programo ST-Link Utility senprobleme ekbrilis CS32F103C8T6.Fine mi konvinkiĝis, ke mia tabulo funkcias. Je mia ĝojo, la celregilo K1986BE1QI (aviado) gaje eldonis sian IDKODON per la TDO-linio.

Evoluo de evolukomisiono por K1986BE1QI (aviado)
Oscilogramo de TDO signallinio kun ĉifrita IDCODE-respondo, (c) Foto de la verkinto

Evoluo de evolukomisiono por K1986BE1QI (aviado)
Do la SWD-haveno estis utila por sencimigi la erarserĉilon mem kaj kontroli IDCODE

Estis opcio kun erarserĉilo CMSIS-DAP (Elira Alirhaveno). Konstrui projekton el ARM-fontoj ne estas facila tasko, mi prenis la projekton de X893, kaj tiam mi provis DAP42. Bedaŭrinde, Keil uVision frostiĝis kaj ne volis labori kun ili. Kiel rezulto, mi anstataŭigis la erarserĉimilon per propra STM32F103C8T6 kaj neniam revenis al ĉi tiu afero.

Evoluo de evolukomisiono por K1986BE1QI (aviado)
Sukcesa funkciado de la enkonstruita erarserĉilo J-Link STLink V2

Kiam ĉiuj ŝlosilaj komponantoj de la estonta evolutabulo estis disponeblaj, mi eniris Eagle CAD kaj malkovris, ke ili ne estas en la elementa biblioteko. Nenie estis iri — mi mem devis desegni ilin. Samtempe, mi faris muntajn punktojn por memoro, HanRun-konektilon por Ethernet, kaj aldonis kadrojn por rezistiloj kaj kondensiloj. La projektdosiero kaj komponentbiblioteko troveblas sur mia GitHub.

Skema diagramo de la evolutabulo MDB1986Evoluo de evolukomisiono por K1986BE1QI (aviado)

La tabulo estas funkciigita per 5-volta DC-fonto akirita de la USB-haveno. Estas entute du USB-Tipo-B-havenoj sur la tabulo. Unu estas por la programisto, la dua estas por la regilo K1986BE1QI. La estraro povas funkcii de ĉiu el ĉi tiuj fontoj aŭ ambaŭ samtempe. La plej simpla ŝarĝreguligo kaj elektra linioprotekto estas efektivigitaj uzante Schottky-diodojn, en cirkvito D2 kaj D3 (SS24). Ankaŭ en la diagramo vi povas vidi memrestarigxajn fuzeojn F1 kaj F2 je 500 mA. La signallinioj de la USB-haveno estas protektitaj per USBLC6-2SC6 dioda asembleo.

La ST-Link-sencimigilo-programcirkvito estas konata al multaj; ĝi povas esti trovita en la dokumentaro por STM32-Discovery-tabuloj kaj aliaj fontoj. Por la komenca firmvaro de la klono ST-Link/J-Link-OB/DAP (laŭvola), mi eligis la liniojn SWDIO (PA13), SWCLK (PA14), GND. Multaj homoj uzas UART por firmvaro kaj estas devigitaj tiri la BOOT-saltistojn. Sed mi trovas SWD pli oportuna, kaj ĉi tiu protokolo permesas sencimigi.

Preskaŭ ĉiuj komponantoj de la tabulo estas funkciigitaj per 3.3 voltoj, kiuj venas de la tensio-reguligilo AMS1117-3.3. Por subpremi elektromagnetan interferon kaj nunajn ŝprucojn, LC-filtriloj de kondensiloj kaj ĉokiloj de la serio BLM31PG estas uzataj.

Aparte, indas mencii la MAX7-7221-segmentan ekranpelilon. Laŭ la specifo, la rekomendita nutrado estas de 4 ĝis 5.5 voltoj, kaj la alta signalnivelo (logika) estas almenaŭ 3.5V (0.7 x VCC), kun 5V provizo. Por la K1986BE1QI (aviada) regilo, la eligo de logika unuo egalrilatas al tensio de 2.8 ĝis 3.3V. Evidente estas miskongruo inter la signalniveloj, kiu povas malhelpi normalan funkciadon. Mi decidis funkciigi la MAX7221 je 4V kaj redukti la signalajn nivelojn al 2.8V (0.7 x 4 = 2.8). Por fari tion, diodo D4 (RS1A aŭ FR103) estas instalita en serio en la ŝofor-potenca cirkvito. La totala tensiofalo estas 0.9V (diodo Schottky 0.3V kaj diodo 0.6V), kaj ĉio funkcias.

Plej multaj havenoj de la mikroregilo K1986BE1QI (aviado) estas kongruaj kun signaloj ĝis 5V. Sekve, ne estas problemo uzi la MCP2551 CAN-transceptoro, kiu ankaŭ funkcias per 5V. La blato MAX232 estas indikita kiel RS-3232-ricevilo en la diagramo, sed fakte mi uzis SN65C3232D de Texas Instruments, ĉar ĝi funkcias de 3.3V kaj provizas rapidojn ĝis 1Mbit/s.

La tabulo enhavas 4 kvarco resonators - unu por la erarserĉilo (8 MHz) kaj tri por la cela mikroregilo K1986BE1QI (aviado) kun rangigoj de 32.768 kHz, 16 MHz, 25 MHz. Ĉi tiuj estas necesaj komponantoj, ĉar La parametroj de la enkonstruita RC-oscilatoro estas ene de larĝa gamo de 6 ĝis 10 MHz. Ofteco de 25 MHz estas postulata por la funkciado de la enkonstruita Ethernet-regilo. Ial, la retejo de Milandra (eble erare) deklaras, ke la plasta kazo ne havas Eterreton. Sed ni fidos je la specifo kaj faktoj.

Grava instigo por krei mian propran evolutablon estis la ŝanco labori kun la ekstera sistema buso EBC (ekstera busregilo), kiu estas esence paralela haveno. La mikroregilo K1986BE1QI (aviadilo) permesas vin konekti kaj labori kun eksteraj memoraj blatoj kaj ekstercentraj aparatoj, ekzemple, ADC-oj, FPGA-oj, ktp. La kapabloj de la ekstera sistema buso estas sufiĉe grandaj - vi povas labori kun 8-bita, 16-bita kaj 32-bita senmova RAM, ROM kaj NAND Flash. Por legi/skribi 32-bitajn datumojn, la regilo povas aŭtomate plenumi 2 respondajn operaciojn por 16-bitaj blatoj, kaj 8 operaciojn por 4-bitaj blatoj. Evidente, 32-bita I/O operacio estos kompletigita plej rapide kun 32-bita datumbuso. La malavantaĝoj inkluzivas la bezonon de la programo funkcii kun 32-bitaj datumoj, kaj la tabulo devos meti 32-trakojn.

Evoluo de evolukomisiono por K1986BE1QI (aviado)
Senmovaj RAM-fritoj, uzataj (divenu kiu estas misa)

Ekvilibra solvo estas uzi 16-bitajn memorajn blatojn. Mi hazarde havis blatojn de Integrated Silicon Solutions Inc. (ISSI IS61LV25616AL, 16 x 256k, 10 ns, 3.3V). Kompreneble, la kompanio Milander havas siajn proprajn statikajn memorajn blatojn serio 1645RU, sed ili estas tro multekostaj kaj neatingeblaj. Kiel alternativo, ekzistas pin-kongruaj Samsung K6R4016V1D. Antaŭe mi menciis, ke la mikrocirkvitoj montriĝis uzataj kaj la kopio, kiun mi instalis, komence donis fiaskojn kaj ĥaosajn valorojn en la 15-a datumlinio. Necesis pluraj tagoj por trovi aparatajn erarojn, kaj des pli granda la sento de kontento kiam mi anstataŭigis la difektitan blaton per funkcianta. Estu kiel ajn, la rapideco labori kun ekstera memoro lasas multe por deziri.

Ekstera buso kaj Sendependa reĝimoLa mikroregilo K1986BE1QI (aviadilo) havas unikan StandAlone-reĝimon, kiu estas desegnita por rekta ekstera aliro al Ethernet- kaj MKIO-regiloj (MIL_STD_1553) per ekstera buso, kun la kerno en la rekomencigita stato, t.e. ne uzata. Ĉi tiu reĝimo estas oportuna por procesoroj kaj FPGA, kiuj ne havas Eterreton kaj/aŭ MKIO.
La koneksa diagramo estas kiel sekvas:

  • datumbuso MCU (D0-D15) => SRAM (I/O0-I/O15),
  • adresbuso MCU(A1-A18) => SRAM(A0-A17),
  • kontroli MCU(nWR,nRD,PortC2) => SRAM (NI,OE,CE),
  • SRAM (UB, LB) estas konektitaj aŭ tiritaj al grundo tra rezistilo.

La CE-linio estas ligita al la elektroprovizo tra rezistilo; la stiftoj por provado de la MCU-bajto (BE0-BE3) ne estas uzitaj. Sub la spoiler, mi provizas la kodon por pravalorigi la havenojn kaj la eksteran busregilon.

Inicializante havenojn kaj EBC-regilon (ekstera busregilo)

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);
}

La mikroregilo en la pakaĵo LQFP-144 kaj la memoro en la pakaĵo TSOP-44 havas multajn rilatajn pinglojn kaj okupas multe da spaco sur la presita cirkvito. Havante sperton pri solvado de optimumigo de problemoj en la kampo de ekonomio, estis evidente al mi, ke necesas unue meti ĉi tiujn mikrocirkvitojn sur la tabulon. En diversaj fontoj mi trovis laŭdajn recenzojn pri CAD TopoR (Topologia Enkursigilo). Mi elŝutis la provversion kaj povis eksporti mian projekton de Eagle CAD tie nur post kiam mi forigis preskaŭ ĉiujn komponantojn. Bedaŭrinde, la programo TopoR ne helpis min meti eĉ 10 elementojn sur la tabulon. Unue, ĉiuj komponantoj estis metitaj en angulon, kaj poste aranĝitaj laŭ la rando. Mi ne estis kontenta pri ĉi tiu opcio, kaj dum longa tempo mi spuris la tabulon permane en la konata Eagle CAD-medio.

Grava elemento de presita cirkvito estas silkekrana presado. La evolutabulo devas ne nur havi etikedojn por la elektronikaj komponantoj, sed ĉiuj konektiloj ankaŭ devas esti etikeditaj. Sur la dorso de la tabulo mi metis tabelojn kun la funkcioj de la regulhavenoj (ĉefa, alternativa, superregita, reala). Mi mendis la produktadon de presitaj cirkvitoj en Ĉinio de la konata oficejo PCBWay. Mi ne laŭdos ĝin ĉar la kvalito estas bona. Ili povas fari pli bone, kun pli striktaj toleremoj, sed kontraŭ pago.

Evoluo de evolukomisiono por K1986BE1QI (aviado)
Produktitaj MDB1986 presitaj cirkvitoj, (c) Foto de la aŭtoro

Mi devis luti la komponantojn "sur miaj genuoj" per 40-vata lutfero kaj POS-61-lutaĵo, ĉar mi malofte lutas, 1-2 fojojn jare, kaj la lutpasto sekiĝis. Mi ankaŭ devis ŝanĝi la ĉinan regilon CS32F103 al la originala STM32F103, kaj poste ankaŭ anstataŭigi la memoron. Ĝenerale, nun mi estas tute kontenta pri la rezulto, kvankam mi ankoraŭ ne kontrolis la funkciadon de RS-232 kaj CAN.

Evoluo de evolukomisiono por K1986BE1QI (aviado)
MDB1986-sencimiga tabulo en funkciado - ĝi brilas kaj varmiĝas, (c) Foto de la aŭtoro

En la retejo de Milandra vi povas trovi sufiĉe edukaj materialoj por lerni regilojn serio 1986BE9 (Cortex-M3-kerno), sed por la mikroregilo K1986BE1QI (aviada) mi vidas nenion tie. Rigardante la materialojn, manlibrojn kaj laboratoriajn laborojn por universitatoj tie publikigitaj, mi ĝojas, ke personaro estas trejnita en la tuta lando por labori kun rusaj regiloj. Plej multaj trejnaj materialoj prepariĝas por labori kun I/O-havenoj, tempigiloj, ADC, DAC, SPI, UART. Malsamaj IDE-disvolvaj medioj estas uzataj (Keil, IAR, CodeMaster). Ie ili programas uzante CMSIS-registrojn, kaj ie ili uzas la MDR-Bibliotekon. Rimedo devas esti menciita Komencu Milanr, kiu enhavas multajn artikolojn de praktikantaj programistoj. Kaj, kompreneble, ni ne forgesu Milandra forumo.

Pensis pri MilandraMikroelektroniko disvolviĝas en Rusio, kaj la kompanio Milander ludas elstaran rolon en ĉi tiu procezo. Novaj interesaj mikroregiloj aperas, ekzemple, 1986BE81T kaj Elektrosila kun interfacoj SpaceWire kaj MKIO (same kiel en 1986BE1 kaj, eble, kun la samaj problemoj), ktp. Sed ordinaraj studentoj, instruistoj kaj inĝenieroj ne povas aĉeti tiajn mikrocirkvitojn. Ĉi tio signifas, ke la inĝenieristiko ne povos rapide identigi erarojn kaj problemojn kun ĉi tiu blato. Ŝajnas al mi, ke unue necesas produkti mikrocirkvitojn en plasta ujo, disdoni ilin al ĉiuj interesitoj, kaj post aprobo (latine approbatio - aprobo, rekono) de specialistoj, ili povas prepari revizion en metal-ceramika ujo kun protekto de ĉiuj teruraj faktoroj. Mi esperas, ke ni ĈIUJ estos baldaŭ kontenta pri la novaj projektoj anoncitaj ĉe la ekspozicioj.
La sencimiga tabulo, kiun mi ellaboris, povas esti ripetita, modifita kaj uzata de iu ajn en la eduka procezo. Antaŭ ĉio, mi faris la tabulon por mi, sed tiel bone rezultis, ke Mi decidis dividi kun ĉiuj.

K1986BE1QI (aero) estas tre interesa regilo kun unikaj interfacoj uzeblaj en universitatoj por instrui studentojn. Mi pensas, ke post korektado de la eraroj identigitaj en la regilo kaj trapaso de atestadaj testoj, la regilo flugos en la plej vera senco de la vorto!

fonto: www.habr.com

Aldoni komenton