Vývoj vývojové desky pro K1986BE1QI (letectví)

Vývoj vývojové desky pro K1986BE1QI (letectví)

Před několika lety jsem se seznámil s ruskými mikrokontroléry od Milanderu. Psal se rok 2013, kdy inženýři intenzivně diskutovali o prvních výsledcích federálního cílového programu „Vývoj základny elektronických součástek a rádiové elektroniky“ pro roky 2008–2015. V té době již vyšel řadič K1986BE9x (jádro Cortex-M3) a právě se objevil řadič 1986BE1T (jádro Cortex-M1). V plastovém pouzdře LQFP-144 měl v dokumentaci označení K1986BE1QI (aviation) a na čipu samotném označení MDR32F1QI. Na webových stránkách výrobce má příponu „avia“, protože má rozhraní specifická pro letecký průmysl (ARINC 429, MIL_STD_1553).

Překvapivě v době distribuce těchto ovladačů společnost Milander připravila ladicí sady a knihovnu podprogramů pro práci s periferiemi, „ale bez jakýchkoliv dalších záruk nebo závazků ohledně správnosti knihovny“. Knihovna je podobná standardní periferní knihovně od STMicroelectronics. Obecně platí, že všechny ARM řadiče postavené na jádře Cortex-M mají mnoho společného. Z tohoto důvodu probíhalo seznamování s novými ruskými dispečery rychle. A pro ty, kteří si koupili značkové ladicí sady, byla poskytnuta technická podpora během používání.

Vývoj vývojové desky pro K1986BE1QI (letectví)
Debug kit pro mikrokontrolér 1986BE1T, © Milander

Postupem času se však začaly objevovat „dětské nemoci“ nových mikroobvodů a knihoven. Testovací ukázky firmwaru fungovaly bez viditelných problémů, ale s výraznými úpravami docházelo k pádům a chybám. První „vlaštovkou“ v mé praxi byly nevysvětlitelné poruchy v činnosti regulátoru CAN. O rok později byl objeven problém s modulem na řadiči 1986BE1T (letectví) z rané revize MKIO (multiplexní kanál pro výměnu informací). Obecně platí, že všechny revize těchto mikrokontrolérů do roku 2016 měly omezené použití. Mnoho času a nervů bylo vynaloženo na identifikaci těchto problémů, jejichž potvrzení lze nyní nalézt v seznamy chyb (Errata).

Nepříjemnou vlastností bylo, že bylo potřeba pracovat a vypořádat se s chybami nikoli na ladicích deskách, ale na prototypových deskách zařízení, která byla plánována pro sériovou tovární výrobu. Kromě JTAG konektoru tam většinou nic nebylo. Spojení s logickým analyzátorem bylo obtížné a nepohodlné a obvykle tam nebyly žádné LED ani obrazovky. Z tohoto důvodu se v mé hlavě objevila myšlenka na vytvoření vlastní ladicí desky.

Na trhu byly jednak značkové ladicí sady a také nádherné desky od firmy LDM-Systems ze Zelenogradu. Na druhou stranu ceny u těchto produktů jsou ohromující a základní funkcionalita bez rozšiřujících karet nesplňuje očekávání. Deska s připájeným ovladačem a pinovým konektorem mě nezajímá. A zajímavější desky jsou drahé.

Vývoj vývojové desky pro K1986BE1QI (letectví)
Vývojová deska MILANDR LDM-HELPER-K1986BE1QI-FULL, © LDM Systems

Společnost Milander má unikátní cenovou politiku a marketing. Je tedy možné získat zdarma vzorky některých mikroobvodů, ale to je k dispozici pouze právnickým osobám a je spojeno s byrokratickým hledáním. Obecně jsou mikroobvody v kovokeramickém pouzdře zlaté v doslovném i přeneseném smyslu. Například řadič 1986BE1T stojí v Moskvě od 14 do 24 tisíc rublů. Statický paměťový čip 1645RU6U stojí od 15000 1986 rublů. A toto je cenový příkaz pro všechny produkty. Výsledkem je, že i specializované výzkumné ústavy s vládními zakázkami šetří peníze a vyhýbají se takovým cenám. Mikroobvody v plastovém pouzdře pro civilní použití jsou výrazně levnější, ale nejsou dostupné od oblíbených dodavatelů. Navíc se mi zdá, že kvalita mikroobvodů v plastovém pouzdře je horší než „zlaté“. Například jsem nemohl spustit řadič K1BE128QI na 40 MHz bez zvýšení parametru latence flash. Současně se teplota tohoto regulátoru zvýšila na 50-1986C. Ale řadič 1BE128T („zlatý“) začal na XNUMX MHz bez dalšího nastavení a zůstal studený. Je opravdu dobrý.

Vývoj vývojové desky pro K1986BE1QI (letectví)
„Zlatý“ mikrokontrolér 1986BE1T, (c) Milander

Měl jsem štěstí, že mikrokontrolér v plastovém pouzdře lze stále zakoupit v maloobchodě od LDM Systems a všechna schémata desek jsou volně dostupná. Špatné je, že na webu na fotce ovladače je vidět označení, které říká, že se jedná o 4. revizi roku 2014, tzn. s defekty. Dlouho jsem přemýšlel, jestli koupit nebo nekoupit. Takhle uběhlo několik let...

Myšlenka vytvořit ladicí desku nikde nezmizela. Postupně jsem si formoval všechny požadavky a přemýšlel, jak to všechno umístit na jednu desku, aby to bylo skladné a nebylo to drahé. Zároveň jsem u Číňanů objednal chybějící součástky. Nikam jsem nespěchal – všechno jsem dělal pro sebe. Čínští dodavatelé jsou notoricky lajdáci – musel jsem objednávat to samé z různých míst, abych dostal vše, co jsem potřeboval. Navíc se ukázalo, že některé paměťové čipy byly použity - zřejmě připájené z rozbitých zařízení. Později se mi to vrátilo.

Nákup mikrokontroléru Milander K1986BE1QI (vzduch) není snadný úkol. Ve stejném obchodě Chip and Dip jsem v sekci „Položky na objednávku“ našel pouze K1986BE92QI za 740 rublů, ale nevyhovovalo mi to. Jedinou možností je koupit nečerstvou revizi od LDM-Systems za 2000 2018 rublů. Protože jsem nikde jinde nenašel náhradu, rozhodl jsem se koupit to, co jsem měl. K mému milému překvapení mi prodali zcela nový ovladač vyrobený v prosinci 6, revize 1820+ (XNUMX). Ale stránka má stále starou fotku a v době psaní tohoto článku není ovladač k dispozici...

Vývoj vývojové desky pro K1986BE1QI (letectví)
Mikrokontrolér K1986BE1QI (letecký) v technologickém obalu, (c) Foto autor

Hlavní technické vlastnosti mé ladicí desky MDB1986 následující:

  • vestavěný debugger-programátor, kompatibilní s J-Link a CMSIS-DAP;
  • statická paměť 4Mbit (256k x 16, 10 ns);
  • flash paměťový čip 64Mbit, Winbond 25Q64FVSIG;
  • Transceiver rozhraní RS-232 s linkami RTS a CTS;
  • rozhraní a konektory pro Ethernet, USB, CAN;
  • MAX7 7221segmentový ovladač displeje;
  • pin konektor pro práci s MKIO (MIL_STD_1553) a ARINC429;
  • fototranzistor Everlight PT17-21C;
  • pět barevných LED diod, resetovací tlačítko a dvě uživatelská tlačítka;
  • napájení do USB portu je 5 voltů;
  • rozměry desky plošných spojů 100 x 80, mm

Desky řady STM-Discovery se mi líbily, protože mají vestavěný programátor-debugger - ST-Link. Značkový ST-Link funguje pouze s ovladači od STMicroelectronics, ale před pár lety bylo možné aktualizovat firmware v ST-Link a získat SEGGER J-Link OB (on-board) Debugger. Legálně existuje omezení použití takového debuggeru pouze s deskami STMicroelectronics, ale ve skutečnosti není potenciál omezen. Takže když máte J-Link OB, můžete mít na ladicí desce vestavěný programátor-debugger. Podotýkám, že produkty LDM-Systems používají převodník CP2102 (Usb2Uart), který umí pouze flashovat.

Vývoj vývojové desky pro K1986BE1QI (letectví)
Mikrokontroléry STM32F103C8T6, skutečné a ne tak skutečné, (c) Foto autor

Bylo tedy nutné zakoupit originální STM32F103C8T6, protože proprietární firmware nebude s klonem správně fungovat. O této tezi jsem pochyboval a rozhodl jsem se vyzkoušet řadič CS32F103C8T6 od čínské firmy CKS. K samotnému ovladači nemám žádné výtky, ale proprietární firmware ST-Link v něm nefungoval. J-Link fungoval částečně - USB zařízení bylo detekováno, ale programátor neplnil své funkce a neustále připomínal, že je „vadné“.

Vývoj vývojové desky pro K1986BE1QI (letectví)
Chyba při spuštění ladicího programu na neoriginálním řadiči

S tím jsem se nespokojil a nejprve jsem napsal firmware pro blikání LED a následně implementoval požadavek IDCODE pomocí protokolu JTAG. Programátor ST-Link, který jsem měl na desce Discovery a program ST-Link Utility bez problémů flashly CS32F103C8T6.Nakonec jsem se přesvědčil, že moje deska funguje. K mé radosti cílový kontrolér K1986BE1QI (letectví) vesele vydal svůj IDCODE přes linku TDO.

Vývoj vývojové desky pro K1986BE1QI (letectví)
Oscilogram signálového vedení TDO se zakódovanou odezvou IDCODE, (c) Foto autor

Vývoj vývojové desky pro K1986BE1QI (letectví)
Takže SWD port přišel vhod pro ladění samotného debuggeru a kontrolu IDCODE

Byla zde možnost s debuggerem CMSIS-DAP (Debug Access Port). Vybudovat projekt ze zdrojů ARM není snadný úkol, projekt jsem převzal X893a pak jsem zkusil DAP42. Keil uVision bohužel zamrzl a nechtěl s nimi pracovat. V důsledku toho jsem vyměnil ladicí čip za proprietární STM32F103C8T6 a nikdy jsem se k tomuto problému nevrátil.

Vývoj vývojové desky pro K1986BE1QI (letectví)
Úspěšné fungování vestavěného debuggeru J-Link STLink V2

Když byly k dispozici všechny klíčové komponenty budoucí vývojové desky, šel jsem do Eagle CAD a zjistil, že nejsou v knihovně prvků. Nebylo kam jít - musel jsem je nakreslit sám. Zároveň jsem vyrobil montážní místa pro paměti, konektor HanRun pro Ethernet a přidal rámečky pro rezistory a kondenzátory. Lze nalézt soubor projektu a knihovnu komponent na mém GitHubu.

Schematické schéma vývojové desky MDB1986Vývoj vývojové desky pro K1986BE1QI (letectví)

Deska je napájena 5V DC zdrojem získaným z USB portu. Na desce jsou celkem dva USB Type-B porty. Jeden je pro programátor, druhý je pro kontrolér K1986BE1QI. Deska může pracovat z kteréhokoli z těchto zdrojů nebo z obou současně. Nejjednodušší regulace zátěže a ochrana napájecího vedení jsou realizovány pomocí Schottkyho diod, v obvodu D2 a D3 (SS24). Také na schématu můžete vidět samoobnovitelné pojistky F1 a F2 při 500 mA. Signální linky portu USB jsou chráněny sestavou diod USBLC6-2SC6.

Debugger-programátor obvod ST-Link je mnohým známý, lze jej nalézt v dokumentaci k deskám STM32-Discovery a dalších zdrojích. Pro počáteční firmware klonu ST-Link/J-Link-OB/DAP (volitelně) jsem vytáhl řádky SWDIO (PA13), SWCLK (PA14), GND. Mnoho lidí používá UART pro firmware a jsou nuceni vytáhnout propojky BOOT. Ale SWD mi přijde pohodlnější a tento protokol umožňuje ladění.

Téměř všechny komponenty desky jsou napájeny 3.3 volty, které pocházejí z regulátoru napětí AMS1117-3.3. Pro potlačení elektromagnetického rušení a proudových rázů se používají LC filtry z kondenzátorů a tlumivek řady BLM31PG.

Samostatně stojí za zmínku ovladač 7segmentového displeje MAX7221. Podle specifikace je doporučené napájení od 4 do 5.5 V a vysoká úroveň signálu (logická) je minimálně 3.5 V (0.7 x VCC), při napájení 5V. U ovladače K1986BE1QI (letecký) odpovídá výstup logické jednotky napětí od 2.8 do 3.3V. Je zřejmé, že existuje nesoulad mezi úrovněmi signálu, který může narušovat normální provoz. Rozhodl jsem se napájet MAX7221 na 4V a snížit úrovně signálu na 2.8V (0.7 x 4 = 2.8). K tomu je dioda D4 (RS1A nebo FR103) instalována sériově v napájecím obvodu ovladače. Celkový úbytek napětí je 0.9V (Schottkyho dioda 0.3V a dioda 0.6V) a vše funguje.

Většina portů mikrokontroléru K1986BE1QI (letecký) je kompatibilní se signály do 5V. Není tedy problém použít transceiver MCP2551 CAN, který také funguje na 5V. Čip MAX232 je na schématu označen jako RS-3232 transceiver, ale ve skutečnosti jsem použil SN65C3232D od Texas Instruments, protože pracuje od 3.3 V a poskytuje rychlosti až 1 Mbit/s.

Deska obsahuje 4 quartzové rezonátory - jeden pro debugger (8 MHz) a tři pro cílový mikrokontrolér K1986BE1QI (letecký) s hodnocením 32.768 kHz, 16 MHz, 25 MHz. To jsou nezbytné součásti, protože Parametry vestavěného RC oscilátoru jsou v širokém rozsahu od 6 do 10 MHz. Pro provoz vestavěného ethernetového řadiče je vyžadována frekvence 25 MHz. Z nějakého důvodu web Milandra (možná omylem) uvádí, že plastové pouzdro nemá Ethernet. Budeme se ale spoléhat na specifikaci a fakta.

Důležitým podnětem pro vytvoření vlastní vývojové desky byla možnost pracovat s externí systémovou sběrnicí EBC (external bus controller), což je v podstatě paralelní port. Mikrokontrolér K1986BE1QI (letadlo) umožňuje připojit a pracovat s externími paměťovými čipy a periferními zařízeními, například ADC, FPGA atd. Možnosti externí systémové sběrnice jsou poměrně velké – můžete pracovat s 8bitovou, 16bitovou i 32bitovou statickou RAM, ROM a NAND Flash. Pro čtení/zápis 32bitových dat může řadič automaticky provádět 2 odpovídající operace pro 16bitové čipy a 8 operace pro 4bitové čipy. Je zřejmé, že 32bitová I/O operace bude dokončena nejrychleji s 32bitovou datovou sběrnicí. Mezi nevýhody patří nutnost, aby program pracoval s 32bitovými daty a deska bude muset položit 32 stop.

Vývoj vývojové desky pro K1986BE1QI (letectví)
Statické čipy RAM, použité (hádejte, který je vadný)

Vyváženým řešením je použití 16bitových paměťových čipů. Náhodou jsem měl na skladě čipy Integrated Silicon Solutions Inc. (ISSI IS61LV25616AL, 16 x 256k, 10 ns, 3.3V). Firma Milander má samozřejmě vlastní statické paměťové čipy řada 1645RU, ale jsou příliš drahé a nedostupné. Alternativně existují pin-kompatibilní Samsung K6R4016V1D. Dříve jsem zmínil, že se ukázalo, že mikroobvody byly použity a kopie, kterou jsem nainstaloval, zpočátku dávala poruchy a chaotické hodnoty v 15. datovém řádku. Hledání hardwarových chyb trvalo několik dní a o to větší byl pocit zadostiučinění, když jsem poškozený čip vyměnil za funkční. Ať už je to jakkoli, rychlost práce s externí pamětí ponechává mnoho přání.

Externí sběrnice a režim StandAloneMikrokontrolér K1986BE1QI (letadlo) má unikátní režim StandAlone, který je určen pro přímý externí přístup k řadičům Ethernet a MKIO (MIL_STD_1553) přes externí sběrnici s jádrem ve stavu reset, tzn. nepoužívá. Tento režim je vhodný pro procesory a FPGA, které nemají Ethernet a/nebo MKIO.
Schéma zapojení je následující:

  • datová sběrnice MCU(D0-D15) => SRAM(I/O0-I/O15),
  • adresová sběrnice MCU(A1-A18) => SRAM(A0-A17),
  • ovládání MCU(nWR,nRD,PortC2) => SRAM (WE,OE,CE),
  • SRAM(UB,LB) jsou připojeny nebo přitaženy k zemi přes odpor.

CE linka je připojena k napájení přes rezistor, piny pro vzorkování bajtu MCU (BE0-BE3) nejsou využity. Pod spoilerem uvádím kód pro inicializaci portů a externího řadiče sběrnice.

Inicializace portů a řadiče EBC (externí řadič sběrnice)

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

Mikrokontrolér v pouzdře LQFP-144 a paměť v pouzdře TSOP-44 mají mnoho přidružených pinů a zabírají hodně místa na desce plošných spojů. Po zkušenostech s řešením optimalizačních úloh v oblasti ekonomiky mi bylo zřejmé, že je nutné tyto mikroobvody nejprve umístit na desku. V různých zdrojích jsem narazil na pochvalné recenze o CAD TopoR (topologický směrovač). Stáhl jsem si zkušební verzi a mohl jsem tam exportovat svůj projekt z Eagle CAD až poté, co jsem odstranil téměř všechny komponenty. Program TopoR mi bohužel nepomohl umístit ani 10 prvků na desku. Nejprve byly všechny součásti umístěny do rohu a poté uspořádány podél okraje. S touto možností jsem nebyl spokojen a dlouho jsem desku obkresloval ručně ve známém CAD prostředí Eagle.

Důležitým prvkem desky plošných spojů je sítotisk. Vývojová deska musí mít nejen štítky pro elektronické součástky, ale také všechny konektory. Na zadní stranu desky jsem umístil tabulky s funkcemi portů regulátoru (hlavní, alternativní, přepsaný, aktuální). Výrobu desek plošných spojů jsem si objednal v Číně u známé kanceláře PCBWay. Nebudu to chválit, protože kvalita je dobrá. Mohou to udělat lépe, s užšími tolerancemi, ale za poplatek.

Vývoj vývojové desky pro K1986BE1QI (letectví)
Vyrobené desky plošných spojů MDB1986, (c) Foto autor

Součástky jsem musel pájet „na koleně“ 40W páječkou a pájkou POS-61, protože pájem zřídka, 1-2x ročně a pájecí pasta zaschla. Musel jsem také změnit čínský řadič CS32F103 na původní STM32F103 a poté také vyměnit paměti. Obecně jsem nyní s výsledkem zcela spokojen, i když jsem ještě nezkontroloval fungování RS-232 a CAN.

Vývoj vývojové desky pro K1986BE1QI (letectví)
Debug MDB1986 v provozu - svítí a hřeje, (c) Foto autor

Na webu Milandra toho najdete dost vzdělávací materiály pro výuku ovladačů řada 1986BE9 (jádro Cortex-M3), ale pro mikrokontrolér K1986BE1QI (letecký) tam nic nevidím. Když jsem se podíval na tam zveřejněné materiály, manuály a laboratorní práce pro univerzity, jsem rád, že se v celé zemi školí personál pro práci s ruskými dispečery. Většina školicích materiálů se připravuje na práci s I/O porty, časovači, ADC, DAC, SPI, UART. Používají se různá vývojová prostředí IDE (Keil, IAR, CodeMaster). Někde programují pomocí registrů CMSIS a někde používají MDR Library. Musí být uveden zdroj Start Milandr, která obsahuje mnoho článků od praktikujících programátorů. A samozřejmě bychom na to neměli zapomínat fórum Milandra.

Myslel jsem na MilandruV Rusku se rozvíjí mikroelektronika a významnou roli v tomto procesu hraje společnost Milander. Nové zajímavé mikrokontroléry se objevují např. 1986BE81T a Elektrosila s rozhraním SpaceWire a MKIO (stejné jako v 1986BE1 a případně se stejnými problémy) atd. Běžní studenti, učitelé a stavební inženýři si ale takové mikroobvody koupit nemohou. To znamená, že inženýrská komunita nebude schopna rychle identifikovat chyby a problémy s tímto čipem. Zdá se mi, že nejdříve je potřeba vyrobit mikroobvody v plastovém kufříku, rozdat je všem zájemcům a po aprobaci (lat. approbatio - schválení, uznání) specialisty mohou připravit revizi v kovokeramickém kufříku s ochranu před všemi hroznými faktory. Doufám, že v blízké budoucnosti budeme VŠICHNI potěšeni novými projekty oznámenými na výstavách.
Debug board, který jsem vyvinul, může opakovat, upravovat a používat kdokoli ve vzdělávacím procesu. Nejprve jsem si desku vyrobil pro sebe, ale dopadlo to tak dobře, že Rozhodl jsem se sdílet se všemi.

K1986BE1QI (air) je velmi zajímavý ovladač s unikátními rozhraními, který lze využít na univerzitách k výuce studentů. Myslím, že po opravě zjištěných chyb v regulátoru a absolvování certifikačních testů regulátor poletí v tom pravém slova smyslu!

Zdroj: www.habr.com

Přidat komentář