Fejlesztőtábla fejlesztése a K1986BE1QI-hez (repülés)

Fejlesztőtábla fejlesztése a K1986BE1QI-hez (repülés)

Évekkel ezelőtt megismerkedtem a milánói orosz mikrokontrollerekkel. 2013 volt, amikor a mérnökök élénken megvitatták az „Elektronikus alkatrészbázis és rádióelektronika fejlesztése” szövetségi célprogram 2008-2015 közötti időszakra vonatkozó első eredményeit. Ekkor már megjelent a K1986BE9x vezérlő (Cortex-M3 mag), a 1986BE1T vezérlő (Cortex-M1 mag) pedig most jelent meg. A műanyag tokban, az LQFP-144-ben a dokumentációban a K1986BE1QI (repülés), magán a chipen pedig az MDR32F1QI jelzés szerepelt. A gyártó honlapján az „avia” utótag szerepel, mivel a repülőgépiparra jellemző interfészekkel rendelkezik (ARINC 429, MIL_STD_1553).

Meglepő módon ezeknek a vezérlőknek a forgalmazása idején a Milander cég hibakereső készleteket és szubrutinok könyvtárát készített a perifériákkal való munkavégzéshez, „de minden további garancia vagy kötelezettség nélkül a könyvtár helyességével kapcsolatban”. A könyvtár hasonló az STMicroelectronics Standard Peripheral Library-jához. Általánosságban elmondható, hogy a Cortex-M magra épített ARM vezérlők sok közös vonást mutatnak. Emiatt az új orosz vezérlőkkel való megismerkedés gyorsan haladt. Aki pedig márkás hibakereső készletet vásárolt, annak technikai támogatást nyújtottak a használat során.

Fejlesztőtábla fejlesztése a K1986BE1QI-hez (repülés)
Hibakereső készlet 1986BE1T mikrokontrollerhez, © Milander

Idővel azonban megjelentek az új mikroáramkörök és könyvtárak „gyermekkori betegségei”. A firmware tesztpéldái látható problémák nélkül működtek, de jelentős módosításokkal összeomlások és hibák fordultak elő. Az első „fecske” a gyakorlatomban a CAN vezérlő működésének megmagyarázhatatlan meghibásodása volt. Egy évvel később a modullal kapcsolatos problémát fedeztek fel az 1986BE1T (repülési) vezérlő egy korai verziójában. MKIO (multiplex információcsere csatorna). Általánosságban elmondható, hogy ezeknek a mikrovezérlőknek az összes verziója 2016-ig korlátozott volt. Rengeteg időt és idegszálat fordítottak ezeknek a problémáknak az azonosítására, amelyek megerősítését most megtalálhatjuk hibalisták (Errata).

Kellemetlen tulajdonság volt, hogy nem a hibakereső táblákon, hanem a sorozatgyári gyártásra tervezett eszközök prototípus kártyáin kellett dolgozni és a hibákat kezelni. Általában a JTAG csatlakozón kívül nem volt ott semmi. A logikai elemzővel való csatlakozás nehéz és kényelmetlen volt, és általában nem voltak LED-ek vagy képernyők. Emiatt felmerült a fejemben a saját hibakereső tábla létrehozásának ötlete.

Egyrészt a piacon voltak márkás hibakereső készletek, valamint csodálatos táblák a zelenogradi LDM-Systems cégtől. Ellenben ezeknek a termékeknek az árai elképesztőek, a bővítőkártyák nélküli alapfunkcionalitás pedig nem felel meg az elvárásoknak. A forrasztott vezérlővel és tűs csatlakozóval ellátott tábla nem érdekel. És az érdekesebb táblák drágák.

Fejlesztőtábla fejlesztése a K1986BE1QI-hez (repülés)
Fejlesztő tábla MILANDR LDM-HELPER-K1986BE1QI-FULL, © LDM Systems

A milánói cég egyedi árpolitikával és marketinggel rendelkezik. Tehát lehetőség van ingyenes minták beszerzésére egyes mikroáramkörökről, de ez csak jogi személyek számára érhető el, és bürokratikus küldetéshez kapcsolódik. Általában a fém-kerámia tokban lévő mikroáramkörök szó szerinti és átvitt értelemben aranyak. Például egy 1986BE1T vezérlő Moszkvában 14-24 ezer rubelbe kerül. Az 1645RU6U statikus memóriachip ára 15000 1986 rubeltől kezdődik. És ez az összes termék ársorrendje. Ennek eredményeként még az állami megrendeléssel rendelkező speciális kutatóintézetek is pénzt takarítanak meg, és ódzkodnak az ilyen áraktól. A polgári használatra szánt műanyag tokos mikroáramkörök lényegesen olcsóbbak, de népszerű beszállítóktól nem kaphatók. Ezenkívül a műanyag tokban lévő mikroáramkörök minősége számomra rosszabb, mint az „arany”. Például a K1BE128QI vezérlőt nem tudtam 40 MHz-en futtatni a flash késleltetési paraméter növelése nélkül. Ugyanakkor ennek a szabályozónak a hőmérséklete 50-1986 C-ra emelkedett. De az 1BE128T („arany”) vezérlő további beállítások nélkül XNUMX MHz-en indult, és hideg maradt. Nagyon ügyes.

Fejlesztőtábla fejlesztése a K1986BE1QI-hez (repülés)
„Arany” mikrokontroller 1986BE1T, (c) Milander

Szerencsém volt, hogy műanyag tokban lévő mikrokontroller továbbra is megvásárolható a kiskereskedelemben az LDM Systems-től, és az összes kártyadiagram szabadon elérhető. A rossz az, hogy a weboldalon a vezérlő fotóján látható egy jelölés, amely szerint ez a 4-es 2014. revízió, i.e. hibákkal. Sokáig gondolkodtam, hogy vegyek vagy ne vegyek. Több év telt el így...

A hibakereső tábla létrehozásának ötlete nem tűnt el sehol. Fokozatosan kialakítottam az összes követelményt, és átgondoltam, hogyan helyezzem el az egészet egy táblán, hogy kompakt és ne drága legyen. Ugyanakkor megrendeltem a hiányzó alkatrészeket a kínaiaktól. Nem siettem – mindent magamért csináltam. A kínai beszállítók köztudottan hanyagak – ugyanazt kellett rendelnem különböző helyekről, hogy mindent megkapjak, amire szükségem volt. Sőt, néhány memóriachipről kiderült, hogy használtak - nyilvánvalóan törött eszközökből forrasztva. Ez később visszatért hozzám.

A Milander K1986BE1QI (levegő) mikrokontroller vásárlása nem egyszerű feladat. Ugyanabban a Chip and Dip üzletben a „Rendelhető termékek” részben csak a K1986BE92QI-t találtam 740 rubelért, de nem felelt meg nekem. Az egyetlen lehetőség, hogy vásároljon egy nem friss változatot az LDM-Systems-től 2000 rubelért. Mivel máshol nem találtam helyettesítőt, úgy döntöttem, hogy megveszem, ami van. Kellemes meglepetésemre eladtak egy vadonatúj, 2018 decemberében gyártott vezérlőt, 6+ (1820) verziót. De az oldalon még mindig van egy régi fotó, és a cikk írásakor a vezérlő nem elérhető...

Fejlesztőtábla fejlesztése a K1986BE1QI-hez (repülés)
Mikrokontroller K1986BE1QI (repülés) technológiai csomagolásban, (c) A szerző fotója

A hibakereső táblám főbb műszaki jellemzői MDB1986 a következő:

  • beépített hibakereső-programozó, kompatibilis a J-Link és CMSIS-DAP;
  • statikus memória 4 Mbit (256 k x 16, 10 ns);
  • flash memória chip 64Mbit, Winbond 25Q64FVSIG;
  • RS-232 interfész adó-vevő RTS és CTS vonalakkal;
  • interfészek és csatlakozók Ethernet, USB, CAN számára;
  • MAX7 7221 szegmenses kijelzővezérlő;
  • tűs csatlakozó az MKIO (MIL_STD_1553) és ARINC429 használatához;
  • fototranzisztor Everlight PT17-21C;
  • öt színes LED, egy reset gomb és két felhasználói gomb;
  • az USB-port tápellátása 5 volt;
  • nyomtatott áramköri lap méretei 100 x 80, mm

Az STM-Discovery sorozatú kártyák tetszettek, mert van beépített programozó-debuggerük - ST-Link. A márkás ST-Link csak az STMicroelectronics vezérlőivel működik, de néhány éve lehetővé vált az ST-Link firmware frissítése és a SEGGER J-Link OB (on-board) Debugger beszerzése. Jogilag csak STMicroelectronics kártyákkal van korlátozva egy ilyen hibakereső használata, de valójában a lehetőségek nincsenek korlátozva. Így a J-Link OB birtokában beépített programozó-debugger lehet a hibakereső táblán. Megjegyzem, az LDM-Systems termékei a CP2102 (Usb2Uart) konvertert használják, ami csak villogni tud.

Fejlesztőtábla fejlesztése a K1986BE1QI-hez (repülés)
STM32F103C8T6 mikrokontrollerek, valódi és nem olyan valódi, (c) A szerző fényképe

Tehát meg kellett vásárolni az eredeti STM32F103C8T6-ot, mivel a szabadalmaztatott firmware nem fog megfelelően működni a klónnal. Kételkedtem ebben a tézisben, és úgy döntöttem, hogy kipróbálom a kínai CKS cég CS32F103C8T6 vezérlőjét. Magára a vezérlőre nincs panaszom, de a szabadalmaztatott ST-Link firmware nem működött benne. A J-Link részben működött - az USB-eszközt észlelték, de a programozó nem végezte a funkcióit, és folyamatosan emlékeztette, hogy „hibás”.

Fejlesztőtábla fejlesztése a K1986BE1QI-hez (repülés)
Hiba a hibakereső nem eredeti vezérlőn való futtatásakor

Nem voltam megelégedve ezzel, és először megírtam a LED villogására szolgáló firmware-t, majd a JTAG protokollal végrehajtottam az IDCODE kérést. Az ST-Link programozó, ami a Discovery táblán volt, és az ST-Link Utility program gond nélkül felvillantotta a CS32F103C8T6-ot, végül meggyőződtem arról, hogy működik a kártyám. Örömömre a K1986BE1QI (repülés) célirányító vidáman kiadta az IDCODE-ját a TDO vonalon keresztül.

Fejlesztőtábla fejlesztése a K1986BE1QI-hez (repülés)
Egy TDO jelvonal oszcillogramja kódolt IDCODE válasszal, (c) A szerző fényképe

Fejlesztőtábla fejlesztése a K1986BE1QI-hez (repülés)
Tehát az SWD port jól jött magának a hibakeresőnek a hibakereséséhez és az IDCODE ellenőrzéséhez

Volt egy lehetőség hibakeresővel CMSIS-DAP (hibakeresési hozzáférési port). ARM forrásból projektet építeni nem egyszerű feladat, én a projektet innen vettem X893, majd kipróbáltam a DAP42-t. Sajnos a Keil uVision lefagyott, és nem akart velük dolgozni. Ennek eredményeként lecseréltem a hibakereső chipet egy szabadalmaztatott STM32F103C8T6-ra, és soha nem tértem vissza ehhez a problémához.

Fejlesztőtábla fejlesztése a K1986BE1QI-hez (repülés)
A beépített hibakereső J-Link STLink V2 sikeres működése

Amikor a jövőbeli fejlesztési tábla összes kulcsfontosságú összetevője elérhető volt, bementem az Eagle CAD-be, és rájöttem, hogy nincsenek az elemkönyvtárban. Nem volt hova menni – magamnak kellett megrajzolnom őket. Ezzel egyidőben készítettem rögzítési helyeket a memóriának, egy HanRun csatlakozót az Ethernethez, valamint kereteket adtam hozzá az ellenállásokhoz és a kondenzátorokhoz. A projektfájl és a komponens könyvtár megtalálható a GitHubon.

Az MDB1986 fejlesztőkártya sematikus diagramjaFejlesztőtábla fejlesztése a K1986BE1QI-hez (repülés)

Az alaplap tápellátását az USB-portról kapott 5 voltos DC forrás biztosítja. Az alaplapon összesen két USB Type-B port található. Az egyik a programozóé, a második a K1986BE1QI vezérlőé. A tábla ezen források bármelyikéről, vagy mindkettőről egyidejűleg működhet. A legegyszerűbb terhelésszabályozás és vezetékvédelem Schottky diódákkal valósul meg, a D2 és D3 (SS24) áramkörben. Szintén az ábrán láthatók az önvisszaálló F1 és F2 biztosítékok 500 mA-nél. Az USB port jelvonalait USBLC6-2SC6 dióda szerelvény védi.

Az ST-Link hibakereső-programozó áramkört sokan ismerik, megtalálható az STM32-Discovery kártyák dokumentációjában és más forrásokban. Az ST-Link/J-Link-OB/DAP klón (opcionális) kezdeti firmware-éhez az SWDIO (PA13), SWCLK (PA14), GND sorokat hoztam ki. Sokan UART-ot használnak firmware-ként, és kénytelenek meghúzni a BOOT jumpert. De az SWD-t kényelmesebbnek találom, és ez a protokoll lehetővé teszi a hibakeresést.

Az alaplap szinte minden alkatrésze 3.3 voltos tápellátást kap, amely az AMS1117-3.3 feszültségszabályozóról származik. Az elektromágneses interferencia és az áramingadozások elnyomására a BLM31PG sorozat kondenzátoraiból és fojtótekercseiből származó LC szűrőket használnak.

Külön érdemes megemlíteni a MAX7 7221 szegmenses kijelző-illesztőprogramot. A specifikáció szerint az ajánlott tápfeszültség 4-5.5 V, a magas jelszint (logikai) pedig legalább 3.5 V (0.7 x VCC), 5 V-os tápellátás mellett. A K1986BE1QI (repülési) vezérlő esetében egy logikai egység kimenete 2.8 és 3.3 V közötti feszültségnek felel meg. Nyilvánvalóan eltérés van a jelszintek között, ami zavarhatja a normál működést. Úgy döntöttem, hogy a MAX7221-et 4 V-ról táplálom, és a jelszintet 2.8 V-ra csökkentem (0.7 x 4 = 2.8). Ehhez a D4 diódát (RS1A vagy FR103) sorosan telepítik a meghajtó tápáramkörébe. A teljes feszültségesés 0.9 V (Schottky dióda 0.3 V és dióda 0.6 V), és minden működik.

A K1986BE1QI (repülési) mikrokontroller legtöbb portja 5 V-ig kompatibilis a jelekkel. Ezért nem okoz gondot az MCP2551 CAN adó-vevő használata, amely szintén 5 V-on működik. A MAX232 chip RS-3232 adó-vevőként van feltüntetve a diagramon, de valójában a Texas Instruments SN65C3232D-jét használtam, mert 3.3 V-ról működik, és akár 1 Mbit/s sebességet biztosít.

A kártya 4 kvarc rezonátort tartalmaz - egy a hibakeresőhöz (8 MHz) és három a K1986BE1QI (repülés) célmikrokontrollerhez, 32.768 kHz, 16 MHz, 25 MHz névleges értékkel. Ezek szükséges alkatrészek, mert A beépített RC oszcillátor paraméterei széles tartományban vannak 6-10 MHz között. A beépített Ethernet vezérlő működéséhez 25 MHz-es frekvencia szükséges. Valamiért a Milandra weboldalán (talán tévedésből) az szerepel, hogy a műanyag tokban nincs Ethernet. De hagyatkozunk a specifikációra és a tényekre.

A saját fejlesztési tábla létrehozásához fontos ösztönző volt az EBC külső rendszerbusszal (external bus controller) való együttműködés lehetősége, amely lényegében párhuzamos port. A K1986BE1QI mikrokontroller (repülőgép) lehetővé teszi a külső memóriachipek és perifériás eszközök, például ADC-k, FPGA-k stb. A külső rendszerbusz képességei meglehetősen nagyok - 8 bites, 16 bites és 32 bites statikus RAM, ROM és NAND Flash segítségével dolgozhat. A 32 bites adatok olvasásához/írásához a vezérlő automatikusan 2 megfelelő műveletet tud végrehajtani a 16 bites chipeknél, és 8 műveletet a 4 bites chipeknél. Nyilvánvaló, hogy egy 32 bites I/O művelet a 32 bites adatbusszal fejeződik be a leggyorsabban. A hátrányok közé tartozik, hogy a programnak 32 bites adatokkal kell működnie, és az alaplapnak 32 sávot kell lefektetnie.

Fejlesztőtábla fejlesztése a K1986BE1QI-hez (repülés)
Statikus RAM chipek, használtak (találd ki, melyik a hibás)

Kiegyensúlyozott megoldás a 16 bites memóriachipek használata. Véletlenül volt készleten az Integrated Silicon Solutions Inc. chipjeim. (ISSI IS61LV25616AL, 16 x 256 k, 10 ns, 3.3 V). Természetesen a milánói cég saját statikus memória chipekkel rendelkezik sorozat 1645RU, de túl drágák és nem elérhetők. Alternatív megoldásként léteznek tűvel kompatibilis Samsung K6R4016V1D. Korábban említettem, hogy a mikroáramkörök használtnak bizonyultak, és az eredetileg telepített példány a 15. adatsorban hibákat, kaotikus értékeket adott. Több napig tartott a hardverhibák megtalálása, és annál nagyobb volt az elégedettség érzése, amikor a sérült chipet működőképesre cseréltem. Bárhogy is legyen, a külső memóriával végzett munka sebessége sok kívánnivalót hagy maga után.

Külső busz és StandAlone módA K1986BE1QI mikrokontroller (repülőgép) egyedülálló StandAlone üzemmóddal rendelkezik, amely az Ethernet és MKIO vezérlők (MIL_STD_1553) külső buszon keresztüli közvetlen külső elérésére szolgál, a mag reset állapotban, azaz. nem használt. Ez a mód olyan processzorok és FPGA-k számára kényelmes, amelyek nem rendelkeznek Ethernettel és/vagy MKIO-val.
A kapcsolási rajz a következő:

  • adatbusz MCU(D0-D15) => SRAM(I/O0-I/O15),
  • címbusz MCU(A1-A18) => SRAM(A0-A17),
  • vezérlő MCU(nWR,nRD,PortC2) => SRAM (WE,OE,CE),
  • Az SRAM(UB,LB) egy ellenálláson keresztül csatlakozik vagy húzza a földre.

A CE vezeték ellenálláson keresztül csatlakozik a tápegységhez, az MCU bájt mintavételére szolgáló érintkezők (BE0-BE3) nincsenek használatban. A spoiler alatt megadom a portok és a külső buszvezérlő inicializálásának kódját.

Portok és EBC vezérlő inicializálása (külső buszvezérlő)

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

Az LQFP-144 csomagban lévő mikrokontroller és a TSOP-44 csomagban lévő memória sok érintkezőt tartalmaz, és sok helyet foglal el a nyomtatott áramköri lapon. A közgazdasági optimalizálási feladatok megoldásában szerzett tapasztalataim alapján nyilvánvaló volt számomra, hogy ezeket a mikroáramköröket először a táblán kell elhelyezni. Különféle forrásokban találkoztam dicsérő kritikákkal kb CAD TopoR (topológiai útválasztó). Letöltöttem a próbaverziót, és csak azután tudtam oda exportálni a projektemet az Eagle CAD-ből, miután szinte az összes összetevőt eltávolítottam. Sajnos a TopoR program még 10 elemet sem segített elhelyezni a táblán. Először az összes alkatrészt egy sarokba helyezték, majd a szélek mentén elrendezték. Nem voltam megelégedve ezzel a lehetőséggel, és sokáig kézzel nyomon követtem a táblát az ismerős Eagle CAD környezetben.

A nyomtatott áramköri lap fontos eleme a szitanyomás. A fejlesztőlapon nem csak az elektronikus alkatrészeket kell felcímkézni, hanem minden csatlakozót is fel kell címkézni. A tábla hátuljára táblázatokat helyeztem el a vezérlő portjainak funkcióival (fő, alternatív, felülírt, aktuális). A nyomtatott áramköri lapok gyártását Kínában rendeltem meg a jól ismert PCBWay irodától. Nem dicsérem, mert jó a minőség. Jobban tudnak, szűkebb tűréshatárokkal, de díj ellenében.

Fejlesztőtábla fejlesztése a K1986BE1QI-hez (repülés)
Gyártott MDB1986 nyomtatott áramköri lapok, (c) A szerző fényképe

Az alkatrészeket „térdre” kellett forrasztanom egy 40 wattos forrasztópákával és POS-61-es forraszanyaggal, mert ritkán forrasztok, évente 1-2 alkalommal, és kiszáradt a forrasztópaszta. A kínai CS32F103 vezérlőt is le kellett cserélnem az eredeti STM32F103-ra, majd a memóriát is cserélnem kellett. Általánosságban elmondható, hogy most teljesen elégedett vagyok az eredménnyel, bár még nem ellenőriztem az RS-232 és a CAN működését.

Fejlesztőtábla fejlesztése a K1986BE1QI-hez (repülés)
MDB1986 hibakereső tábla működés közben – ragyog és melegít, (c) A szerző fotója

A Milandra honlapján találsz eleget Oktatási anyagok tanulásvezérlők számára sorozat 1986BE9 (Cortex-M3 mag), de a K1986BE1QI (repülési) mikrokontrollernél nem látok ott semmit. Az ott kiadott anyagokat, kézikönyveket és az egyetemek laboratóriumi munkáit áttekintve örülök, hogy országszerte folyik a személyzet képzése az orosz vezérlőkkel való együttműködésre. A legtöbb oktatóanyag az I/O portokkal, időzítőkkel, ADC-vel, DAC-val, SPI-vel, UART-tal való munkára készít fel. Különböző IDE fejlesztői környezeteket használnak (Keil, IAR, CodeMaster). Valahol CMSIS regiszterekkel programoznak, valahol pedig az MDR Library-t használják. Az erőforrást meg kell említeni Start Milandr, amely sok cikket tartalmaz gyakorló programozóktól. És természetesen nem szabad megfeledkeznünk róla Milandra fórum.

Milandrára gondoltamA mikroelektronika Oroszországban fejlődik, és ebben a folyamatban kiemelkedő szerepet játszik a milánói cég. Új érdekes mikrokontrollerek jelennek meg, például a 1986BE81T és az Elektrosila SpaceWire és MKIO interfésszel (ugyanaz, mint az 1986BE1-ben, és esetleg ugyanazokkal a problémákkal) stb. De a hétköznapi diákok, tanárok és építőmérnökök nem vásárolhatnak ilyen mikroáramköröket. Ez azt jelenti, hogy a mérnöki közösség nem fogja tudni gyorsan azonosítani a chippel kapcsolatos hibákat és problémákat. Számomra úgy tűnik, először műanyag tokban kell mikroáramköröket gyártani, minden érdeklődőnek szétosztani, majd a szakemberek általi jóváhagyás (latin approbatio - jóváhagyás, elismerés) után fém-kerámia tokban revíziót készíteni. védelem minden szörnyű tényezőtől. Remélem, hogy a közeljövőben mindannyian elégedettek leszünk a kiállításokon bejelentett új projektekkel.
Az általam kifejlesztett hibakereső táblát bárki megismételheti, módosíthatja és használhatja az oktatási folyamat során. Először is magamnak készítettem a táblát, de olyan jól sikerült, hogy Úgy döntöttem, megosztom mindenkivel.

A K1986BE1QI (levegő) egy nagyon érdekes, egyedi interfészekkel rendelkező vezérlő, amely egyetemeken használható a hallgatók oktatására. Úgy gondolom, hogy a vezérlőben feltárt hibák kijavítása és a tanúsítási tesztek letétele után a vezérlő a szó legvalószínűbb értelmében repülni fog!

Forrás: will.com

Hozzászólás