Razvoj ploče za otklanjanje grešaka za K1986BE1QI (avijacija)

Razvoj ploče za otklanjanje grešaka za K1986BE1QI (avijacija)

Prije nekoliko godina sam se upoznao sa ruskim mikrokontrolerima iz Milandr-a. Bilo je to 2013. godine, kada su inženjeri žustro raspravljali o prvim rezultatima Saveznog ciljnog programa „Razvoj baze elektronskih komponenti i radio elektronike“ za 2008-2015. U to vrijeme, K1986BE9x kontroler (Cortex-M3 jezgro) je već bio objavljen, a 1986BE1T kontroler (Cortex-M1 jezgro) tek se pojavio. On je, u plastičnom LQFP-144 kućištu, u dokumentaciji imao oznaku K1986BE1QI (avijacija), a na samom čipu oznaku MDR32F1QI. Na web stranici proizvođača ima sufiks "air", budući da ima interfejse specifične za industriju aviona (ARINC 429, MIL_STD_1553).

Začudo, u vreme distribucije ovih kontrolera, kompanija Milander je pripremila komplete za otklanjanje grešaka i biblioteku potprograma za rad sa periferijama, „ali bez ikakvih dodatnih garancija i obaveza u pogledu ispravnosti biblioteke“. Biblioteka je slična Standardnoj perifernoj biblioteci kompanije STMicroelectronics. Generalno, svi ARM kontroleri izgrađeni na Cortex-M jezgri imaju dosta zajedničkog. Iz tog razloga, upoznavanje sa novim ruskim kontrolorima prošlo je brzo. A za one koji su kupili vlasničke komplete za otklanjanje grešaka, tehnička podrška je bila obezbeđena tokom upotrebe.

Razvoj ploče za otklanjanje grešaka za K1986BE1QI (avijacija)
Komplet za otklanjanje grešaka za mikrokontroler 1986BE1T, © Milandr

Međutim, s vremenom su se počele pojavljivati ​​"dječije bolesti" novih čipova i biblioteka. Testni primjeri firmvera su radili bez vidljivih problema, ali sa značajnim modifikacijama padali su i greške. Prva „lasta“ u mojoj praksi bili su neobjašnjivi kvarovi u CAN kontroleru. Godinu dana kasnije, problem sa modulom je otkriven na 1986BE1T (zračnom) kontroleru rane revizije MCIO (multipleksni kanal za razmjenu informacija). Generalno, sve revizije ovih mikrokontrolera do 2016. bile su ograničene upotrebe. Mnogo vremena i živaca je uloženo u identifikaciju ovih problema, čija se potvrda sada može naći liste grešaka (Errata).

Neugodna karakteristika je bila da je bilo potrebno raditi i rješavati greške ne na pločama za otklanjanje grešaka, već na pločama prototipova uređaja koji su planirani za serijsku tvorničku proizvodnju. Osim JTAG konektora, tu obično nije bilo ničega. Bilo je teško i nezgodno povezati se s logičkim analizatorom, a obično nije bilo LED dioda i ekrana. Iz tog razloga mi se u glavi pojavila ideja da napravim vlastitu ploču za otklanjanje grešaka.

S jedne strane, na tržištu su se našli brendirani kompleti za otklanjanje grešaka, kao i divne ploče LDM-Systems-a iz Zelenograda. S druge strane, cijene ovih proizvoda dovode u omamljenost, a osnovna funkcionalnost bez kartica za proširenje ne ispunjava očekivanja. Ploča sa zalemljenim kontrolerom i pin headerom me ne zanima. A interesantnije ploče su skupe.

Razvoj ploče za otklanjanje grešaka za K1986BE1QI (avijacija)
Razvojna ploča MILANDR LDM-HELPER-K1986BE1QI-FULL, © LDM Systems

Kompanija "Milandr" ima jedinstvenu politiku cena i marketinga. Dakle, moguće je besplatno dobiti uzorke nekih mikro krugova, ali to je dostupno samo pravnim licima i povezano je s birokratskom potragom. Općenito, mikrokola u keramičko-metalnom paketu su zlatna u doslovnom i figurativnom smislu. Na primjer, kontroler 1986BE1T košta u Moskvi od 14 do 24 hiljade rubalja. Čip statičke memorije 1645RU6U košta od 15000 rubalja. A ovo je redoslijed cijena za sve proizvode. Kao rezultat toga, čak i specijalizovani istraživački instituti sa državnim narudžbinama štede novac i izbegavaju takve cene. Čipovi u plastičnoj kutiji za civilnu upotrebu su znatno jeftiniji, ali ih nema kod popularnih dobavljača. Osim toga, kvalitet čipova u plastičnom kućištu, čini mi se, lošiji je od "zlata". Na primjer, nisam mogao pokrenuti K1986BE1QI kontroler na 128MHz bez povećanja postavke latencije blica. Istovremeno, temperatura ovog regulatora porasla je na 40-50C. Ali 1986BE1T („zlatni“) kontroler je pokrenuo na 128 MHz bez dodatnih podešavanja i ostao je hladan. On je stvarno dobar.

Razvoj ploče za otklanjanje grešaka za K1986BE1QI (avijacija)
"Zlatni" mikrokontroler 1986BE1T, (c) Milandr

Imao sam sreću da se mikrokontroler u plastičnom kućištu još uvijek može kupiti u maloprodaji od LDM Systems-a, a sve ploče su slobodno dostupne. Loša stvar je što je na sajtu na fotografiji kontrolora vidljiva oznaka koja kaže da je ovo 4. revizija 2014. godine, tj. sa nedostacima. Dugo sam razmišljao - kupiti ili ne kupiti. Tako je prošlo nekoliko godina...

Ideja o stvaranju ploče za otklanjanje grešaka nije nigdje nestala. Postepeno sam formirao sve zahtjeve i razmišljao kako sve to smjestiti na jednu ploču, tako da bude kompaktno i ne skupo. Paralelno s tim, naručio sam komponente koje nedostaju od Kineza. Nije mi se žurilo - sve sam radila za sebe. Kineski dobavljači su poznati po aljkavosti - morao sam naručiti istu stvar na različitim mjestima da bih dobio sve što mi je trebalo. Štaviše, ispostavilo se da su neki od memorijskih čipova polovni - očito zalemljeni od pokvarenih uređaja. Ovo me pogodilo kasnije.

Kupovina mikrokontrolera Milandr K1986BE1QI (avijacija) nije lak zadatak. U istoj prodavnici Chip and Dip, u odjeljku "Pozicije po narudžbi", našao sam samo K1986BE92QI za 740 rubalja, ali mi nije odgovarao. Jedina opcija je kupiti nesvježu reviziju od LDM-Systems-a za 2000 rubalja. Pošto nigde drugde nisam mogao da nađem zamenu, odlučio sam da kupim ono što je bilo. Na moje prijatno iznenađenje, prodali su mi potpuno novi kontroler izdanja iz decembra 2018, revizija 6+ (1820). I stranica još uvijek ima staru fotografiju, a u vrijeme pisanja kontrolor nije dostupan...

Razvoj ploče za otklanjanje grešaka za K1986BE1QI (avijacija)
Mikrokontroler K1986BE1QI (avijacija) u tehnološkom pakovanju, (c) Fotografija autora

Glavne tehničke specifikacije moje razvojne ploče MDB1986 sledeće:

  • ugrađeni programator za otklanjanje grešaka kompatibilan sa J-Link i CMSIS-DAP;
  • 4Mbit statička memorija (256k x 16, 10 ns);
  • fleš memorijski čip 64Mbit, Winbond 25Q64FVSIG;
  • RS-232 interfejs primopredajnik sa RTS i CTS linijama;
  • interfejsi i konektori za Ethernet, USB, CAN;
  • 7-segmentni displej kontroler MAX7221;
  • pin konektor za rad sa MCIO (MIL_STD_1553) i ARINC429;
  • fototranzistor Everlight PT17-21C;
  • pet LED dioda u boji, dugme za resetovanje i dva korisnička dugmeta;
  • napaja se preko USB porta od 5 volti;
  • dimenzije štampane ploče 100 x 80, mm

Sviđale su mi se ploče serije STM-Discovery jer imaju ugrađeni programator-debugger - ST-Link. Brendirani ST-Link radi samo sa STMicroelectronics kontrolerima, ali prije nekoliko godina postalo je moguće ažurirati firmver u ST-Link-u i dobiti SEGGER J-Link OB (on-board) Debugger. Zakonski postoji ograničenje da se takav debuger koristi samo sa STMicroelectronics pločama, ali u stvari potencijal nije ograničen. Dakle, ako imate J-Link OB, možete imati ugrađeni programator-debugger na ploči za otklanjanje grešaka. Napominjem da proizvodi LDM-Systems koriste CP2102 (Usb2Uart) pretvarač, koji može samo bljeskati.

Razvoj ploče za otklanjanje grešaka za K1986BE1QI (avijacija)
Mikrokontroleri STM32F103C8T6, pravi i ne, (c) Fotografija autora

Dakle, bilo je potrebno kupiti originalni STM32F103C8T6, jer brendirani firmver neće raditi ispravno sa klonom. Sumnjao sam u ovu tezu i odlučio sam da isprobam kontroler CS32F103C8T6 kineske kompanije CKS. Nemam pritužbi na sam kontroler, ali vlasnički ST-Link firmver nije radio u njemu. J-Link je djelomično radio - USB uređaj je otkriven, ali programator nije obavljao svoje funkcije i stalno je podsjećao da je "neispravan".

Razvoj ploče za otklanjanje grešaka za K1986BE1QI (avijacija)
Greška prilikom pokretanja programa za otklanjanje grešaka na neoriginalnom kontroleru

Nisam se smirio na ovo i prvo sam napisao firmware za treptanje LED-a, a zatim implementirao IDCODE zahtjev koristeći JTAG protokol. ST-Link programator koji sam imao na Discovery ploči i ST-Link Utility program su bez problema bljesnuli CS32F103C8T6.Kao rezultat toga, uvjerio sam se da moja ploča radi. Na moje oduševljenje, ciljni kontrolor K1986BE1QI (avijacija) je veselo izdao svoj IDCODE preko TDO linije.

Razvoj ploče za otklanjanje grešaka za K1986BE1QI (avijacija)
Oscilogram TDO signalne linije sa IDCODE kodiranim odgovorom, (c) Fotografija autora

Razvoj ploče za otklanjanje grešaka za K1986BE1QI (avijacija)
Tako je SWD port dobro došao za otklanjanje grešaka u samom debugeru i provjeru IDCODE-a

Postojala je opcija sa debagerom CMSIS-DAP (pristupni port za otklanjanje grešaka). Izgradnja projekta iz ARM izvora nije lak zadatak, preuzeo sam projekat iz X893, a onda sam probao i DAP42. Nažalost, Keil uVision je zapeo i nije želio raditi s njima. Kao rezultat toga, zamijenio sam čip za otklanjanje grešaka sa vlasničkim STM32F103C8T6 i više se nisam vratio na ovaj problem.

Razvoj ploče za otklanjanje grešaka za K1986BE1QI (avijacija)
Uspješno funkcioniranje ugrađenog debugera J-Link STLink V2

Kada su sve ključne komponente buduće ploče za otklanjanje grešaka bile dostupne, ušao sam u Eagle CAD i otkrio da ih nema u biblioteci elemenata. Nema se kuda - morao sam ih sam nacrtati. Istovremeno sam napravio sjedišta za memoriju, HanRun konektor za Ethernet i dodao okvire za otpornike i kondenzatore. Datoteka projekta i biblioteka komponenti se mogu pronaći Imam ga na GitHubu.

Šematski dijagram MDB1986 ploče za otklanjanje grešakaRazvoj ploče za otklanjanje grešaka za K1986BE1QI (avijacija)

Ploča se napaja od 5 volti DC izvora iz USB porta. Na ploči se nalaze dva USB Type-B porta. Jedan je za programator, drugi je za K1986BE1QI kontroler. Ploča može raditi iz bilo kojeg od ovih izvora ili oba u isto vrijeme. Najjednostavnije podešavanje opterećenja i zaštita električnih vodova implementirano je na Schottky diodama, u krugovima D2 i D3 (SS24). Također na dijagramu možete vidjeti samooporavljajuće osigurače F1 i F2 na 500mA. Signalne linije USB porta zaštićene su sklopom diode USBLC6-2SC6.

St-Link debuger-programerski krug je poznat mnogima, može se naći u dokumentaciji za STM32-Discovery ploče i drugim izvorima. Za primarni firmver ST-Link / J-Link-OB / DAP klona (opciono), izveo sam SWDIO (PA13), SWCLK (PA14), GND linije. Mnogi koriste UART za firmver i prisiljeni su povući BOOT džampere. Ali SWD mi je zgodniji, osim što ovaj protokol omogućava otklanjanje grešaka.

Gotovo sve komponente ploče se napajaju sa 3.3 volta, koji dolaze iz regulatora napona AMS1117-3.3. Za suzbijanje elektromagnetskih smetnji i strujnih udara koriste se LC filteri iz kondenzatora i prigušnica serije BLM31PG.

Odvojeno, vrijedi spomenuti MAX7 drajver za 7221-segmentni ekran. Prema specifikaciji, preporučeno napajanje je od 4 do 5.5 volti, a visoki nivo signala (logički) je najmanje 3.5V (0.7 x VCC), kada se napaja od 5V. Za kontroler K1986BE1QI (avijacija), izlaz logičke jedinice odgovara naponu od 2.8 do 3.3 V. Očigledno, postoji neusklađenost u nivoima signala koja može poremetiti normalan rad. Odlučio sam napajati MAX7221 sa 4V i smanjiti nivoe signala na 2.8V (0.7 x 4 = 2.8). Da biste to učinili, dioda D4 (RS1A ili FR103) se ugrađuje serijski u strujni krug vozača. Ukupni pad napona je 0.9V (0.3V Schottky dioda i 0.6V dioda), i sve radi.

Većina portova na mikrokontroleru K1986BE1QI (avijacija) je kompatibilna sa signalima do 5V. Stoga korištenje MCP2551 CAN primopredajnika, koji također radi od 5V, ne uzrokuje probleme. Dijagram prikazuje MAX232 čip kao RS-3232 primopredajnik, ali u stvari sam koristio SN65C3232D iz Texas Instruments, jer radi od 3.3V i pruža brzinu do 1Mbit/s.

Na ploči se nalaze 4 kvarcna rezonatora - jedan za debager (8 MHz) i tri za ciljni mikrokontroler K1986BE1QI (avijacija) sa nominalnim vrijednostima 32.768 kHz, 16 MHz, 25 MHz. To su neophodne komponente, jer. parametri ugrađenog RC generatora su u širokom rasponu od 6 do 10 MHz. Za rad ugrađenog Ethernet kontrolera potrebna je frekvencija od 25 MHz. Iz nekog razloga, Milandrina web stranica (možda greškom) navodi da u plastičnom kućištu nema Etherneta. Ali mi ćemo se osloniti na specifikacije i činjenice.

Važan poticaj za kreiranje vlastite ploče za otklanjanje grešaka bila je mogućnost rada sa eksternom EBC (eksterni bus kontroler) sistemskom magistralom, koja je u suštini paralelni port. Mikrokontroler K1986BE1QI (avijacija) omogućava vam povezivanje i rad sa eksternim memorijskim čipovima i perifernim uređajima, kao što su ADC, FPGA, itd. Mogućnosti eksterne sistemske magistrale su prilično velike - možete raditi sa 8-bitnim, 16-bitnim i 32-bitnim statičkim RAM-om, ROM-om i NAND Flash-om. Za čitanje / pisanje 32-bitnih podataka, kontroler može automatski izvršiti 2 odgovarajuće operacije za 16-bitna mikrokola i 8 operacije za 4-bitna. Očigledno, 32-bitna I/O operacija će biti najbrža sa 32-bitnom sabirnicom podataka. Nedostaci uključuju potrebu da program radi sa 32-bitnim podacima, a ploča će morati postaviti 32 staze.

Razvoj ploče za otklanjanje grešaka za K1986BE1QI (avijacija)
SRAM čipovi, korišteni (pogodi koji je neispravan)

Balansirano rješenje je korištenje 16-bitnih memorijskih čipova. Završio sam sa čipovima Integrated Silicon Solutions Inc. (ISSI IS61LV25616AL, 16x256k, 10ns, 3.3V). Naravno, kompanija "Milandr" ima svoje čipove statičke memorije serija 1645RUali su preskupi i nedostupni. Alternativno, postoje pin-kompatibilni Samsung K6R4016V1D. Ranije sam spomenuo da su IC-ovi polovni i da je kopija koju sam instalirao u početku bila kolebljiva i nepravilna na 15. liniji podataka. Trebalo je nekoliko dana da pronađem hardverske greške, a osjećaj zadovoljstva je bio veći kada sam oštećeni čip zamijenio ispravnim. Bilo kako bilo, brzina rada sa eksternom memorijom ostavlja mnogo da se poželi.

Eksterna magistrala i samostalni način radaMikrokontroler K1986BE1QI (avijacija) ima jedinstveni StandAlone mod, koji je dizajniran za direktan eksterni pristup Ethernet i MCIO kontrolerima (MIL_STD_1553) preko eksterne magistrale, dok je jezgro u stanju resetovanja, tj. nije korišteno. Ovaj način rada je koristan za procesore i FPGA koji nemaju Ethernet i/ili MCIO.
Dijagram povezivanja je sljedeći:

  • sabirnica podataka MCU(D0-D15) => SRAM(I/O0-I/O15),
  • adresna sabirnica MCU(A1-A18) => SRAM(A0-A17),
  • MCU kontrola (nWR,nRD,PortC2) => SRAM (WE,OE,CE),
  • SRAM(UB,LB) su povezani ili povučeni na masu preko otpornika.

CE linija se povlači na napajanje preko otpornika, pinovi za preuzimanje bajta MCU (BE0-BE3) se ne koriste. Ispod spojlera dajem kod za inicijalizaciju portova i eksternog bus kontrolera.

Inicijalizacija portova i EBC kontrolera (eksterni bus kontroler)

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

Mikrokontroler u LQFP-144 paketu i memorija u TSOP-44 paketu imaju mnogo povezanih pinova i zauzimaju puno PCB prostora. Imajući iskustva u rješavanju problema optimizacije iz oblasti ekonomije, bilo mi je očito da ova mikro kola prije svega treba postaviti na ploču. U raznim izvorima naišao sam na pohvalne kritike o CAD TopoR (topološki ruter). Skinuo sam probnu verziju i uspeo sam da izvezem svoj projekat iz Eagle CAD tamo tek kada sam uklonio skoro sve komponente. Nažalost, TopoR program mi nije pomogao da postavim ni 10 elemenata na tablu. Prvo su sve komponente postavljene u ugao, a zatim raspoređene po ivici. Ova opcija me nije zadovoljila, i proveo sam dugo vremena prateći ploču ručno u poznatom Eagle CAD okruženju.

Sito štampa je važan element štampane ploče. Na ploči za otklanjanje grešaka, ne samo da moraju postojati potpisi za elektronske komponente, već i svi konektori moraju biti potpisani. Na poleđini ploče postavio sam tabele-podsjetnike sa funkcijama portova kontrolera (glavni, alternativni, nadjačani, stvarni). Naručio sam proizvodnju štampanih ploča u Kini u poznatom uredu PCBWay. Neću hvaliti jer je kvalitet dobar. Oni mogu bolje sa manjim tolerancijama, ali uz naknadu.

Razvoj ploče za otklanjanje grešaka za K1986BE1QI (avijacija)
Proizvedene štampane ploče MDB1986, (c) Fotografija autora

Komponente sam morao da odlemim „na koleno“ lemilom od 40 vati i POS-61 lemom, jer retko lemim, 1-2 puta godišnje, i pasta za lemljenje se osušila. Također sam morao promijeniti kineski CS32F103 kontroler u originalni STM32F103, a zatim i memoriju. Generalno, sada sam potpuno zadovoljan rezultatom, iako još nisam provjerio rad RS-232 i CAN-a.

Razvoj ploče za otklanjanje grešaka za K1986BE1QI (avijacija)
Ploča za otklanjanje grešaka MDB1986 u radu — sija i grije, (s) Fotografija autora

Na sajtu "Milandra" možete pronaći dovoljno nastavni materijali za kontrolore učenja 1986BE9 serija (Cortex-M3 jezgro), ali za K1986BE1QI (avijacijski) mikrokontroler, ne vidim ništa tu. Nakon pregleda tamo objavljenih materijala, priručnika i laboratorijskih radova za univerzitete, drago mi je da se osoblje obučava u cijeloj zemlji za rad sa ruskim kontrolorima. Većina materijala za obuku je pripremljena za rad sa I/O portovima, tajmerima, ADC, DAC, SPI, UART. Koriste se različiti IDE-ovi (Keil, IAR, CodeMaster). Negdje programiraju koristeći CMSIS registre, a negdje koriste MDR biblioteku. Mora se spomenuti resurs Pokreni Milandr, koji sadrži mnoge članke programera praktičara. I, naravno, ne treba zaboraviti Forum Milandra.

Razmišljam o MilandruMikroelektronika u Rusiji se razvija, a kompanija "Milandr" igra značajnu ulogu u ovom procesu. Pojavljuju se novi zanimljivi mikrokontroleri, na primjer, 1986BE81T i Elektrosila sa SpaceWire i MKIO sučeljima (isti kao u 1986BE1 i, moguće, sa istim problemima) itd. Ali za obične studente, nastavnike i građevinske inženjere nije realno kupiti takva mikro kola. To znači da inženjerska zajednica neće moći brzo da identifikuje greške i probleme ovog čipa. Čini mi se da je prvo potrebno proizvesti mikro kola u plastičnom kućištu, distribuirati ih svim zainteresovanim stranama, a tek nakon odobrenja (lat. approbatio - odobrenje, priznanje) stručnjaci mogu pripremiti reviziju u keramičko-metalnom kućištu sa zaštitom od sve strašne faktore. Nadam se da ćemo u bliskoj budućnosti SVI biti zadovoljni novim projektima najavljenim na izložbama.
Svatko može ponoviti, modificirati i koristiti ploču za otklanjanje grešaka koju sam razvio u obrazovnom procesu. Prije svega, napravio sam ploču za sebe, ali je tako dobro ispala Odlučio sam podijeliti sa svima.

K1986BE1QI (air) je vrlo zanimljiv kontroler sa jedinstvenim interfejsima koji se može koristiti na univerzitetima za podučavanje studenata. Mislim da će nakon ispravljanja grešaka uočenih u kontroloru i prolaska certifikacijskih testova, kontrolor letjeti u pravom smislu riječi!

izvor: www.habr.com

Dodajte komentar