Udvikling af et udviklingskort til K1986BE1QI (luftfart)

Udvikling af et udviklingskort til K1986BE1QI (luftfart)

For flere år siden stiftede jeg bekendtskab med russiske mikrocontrollere fra Milander. Det var i 2013, hvor ingeniører kraftigt diskuterede de første resultater af det føderale målprogram "Udvikling af elektronisk komponentbase og radioelektronik" for 2008-2015. På det tidspunkt var K1986BE9x-controlleren (Cortex-M3-kerne) allerede blevet frigivet, og 1986BE1T-controlleren (Cortex-M1-kerne) var netop dukket op. I plastkassen, LQFP-144, havde den betegnelsen K1986BE1QI (luftfart) i dokumentationen, og på selve chippen betegnelsen MDR32F1QI. På producentens hjemmeside har den suffikset "avia", da den har grænseflader, der er specifikke for flyindustrien (ARINC 429, MIL_STD_1553).

Overraskende nok, på tidspunktet for distributionen af ​​disse controllere, forberedte Milander-firmaet debugging-sæt og et bibliotek af underrutiner til at arbejde med perifere enheder, "men uden nogen yderligere garantier eller forpligtelser vedrørende korrektheden af ​​biblioteket." Biblioteket ligner Standard Peripheral Library fra STMicroelectronics. Generelt har alle ARM-controllere bygget på Cortex-M-kernen meget til fælles. Af denne grund forløb kendskabet til de nye russiske controllere hurtigt. Og for dem, der købte mærkede debugging-sæt, blev der ydet teknisk support under brug.

Udvikling af et udviklingskort til K1986BE1QI (luftfart)
Debug kit til mikrocontroller 1986BE1T, © Milander

Men med tiden begyndte "børnesygdomme" i nye mikrokredsløb og biblioteker at dukke op. Testeksempler af firmwaren fungerede uden synlige problemer, men med væsentlige ændringer, opstod der nedbrud og fejl. Den første "sluge" i min praksis var uforklarlige fejl i driften af ​​CAN-controlleren. Et år senere blev et problem med modulet opdaget på 1986BE1T (luftfart) controlleren af ​​en tidlig revision MKIO (multiplex informationsudvekslingskanal). Generelt var alle revisioner af disse mikrocontrollere indtil 2016 af begrænset brug. En masse tid og nerver gik i at identificere disse problemer, som nu kan findes bekræftelse på fejllister (Errata).

En ubehagelig funktion var, at det var nødvendigt at arbejde og håndtere fejl ikke på debugging boards, men på prototype boards af enheder, der var planlagt til seriel fabriksproduktion. Der var normalt ikke noget der undtagen JTAG-stikket. Det var svært og ubelejligt at forbinde med en logisk analysator, og der var normalt ingen lysdioder eller skærme. Af denne grund dukkede ideen om at skabe mit eget debugging board op i mit hoved.

På den ene side var der mærkevaredebugging-sæt på markedet, samt vidunderlige boards fra LDM-Systems-firmaet fra Zelenograd. Til gengæld er priserne for disse produkter svimlende, og den grundlæggende funktionalitet uden udvidelseskort lever ikke op til forventningerne. Et printkort med en loddet controller og et pin-stik er ikke interessant for mig. Og mere interessante brædder er dyre.

Udvikling af et udviklingskort til K1986BE1QI (luftfart)
Udviklingstavle MILANDR LDM-HELPER-K1986BE1QI-FULL, © LDM Systems

Milander-virksomheden har en unik prispolitik og markedsføring. Så det er muligt at få gratis prøver af nogle mikrokredsløb, men dette er kun tilgængeligt for juridiske enheder og er forbundet med en bureaukratisk søgen. Generelt er mikrokredsløb i en metalkeramisk kasse guld i bogstavelig og overført betydning. For eksempel koster en 1986BE1T-controller fra 14 til 24 tusind rubler i Moskva. Den statiske hukommelseschip 1645RU6U koster fra 15000 rubler. Og dette er prisordren for alle produkter. Som et resultat sparer selv specialiserede forskningsinstitutter med offentlige ordrer penge og viger tilbage for sådanne priser. Mikrokredsløb i en plastikkasse til civilt brug er væsentligt billigere, men de fås ikke hos populære leverandører. Derudover er kvaliteten af ​​mikrokredsløb i et plastikhus, det forekommer mig, værre end "guld" dem. For eksempel kunne jeg ikke køre K1986BE1QI-controlleren ved 128 MHz uden at øge flash-latensparameteren. Samtidig steg temperaturen på denne controller til 40-50C. Men 1986BE1T (“guld”) controlleren startede ved 128 MHz uden yderligere indstillinger og forblev kold. Han er rigtig god.

Udvikling af et udviklingskort til K1986BE1QI (luftfart)
"Golden" mikrocontroller 1986BE1T, (c) Milander

Jeg var heldig, at en mikrocontroller i en plastikkasse stadig kan købes i detailhandlen fra LDM Systems, og alle borddiagrammer er frit tilgængelige. Det dårlige er, at man på hjemmesiden på billedet af controlleren kan se en markering, der siger, at dette er den 4. revision af 2014, dvs. med defekter. Jeg tænkte længe om jeg skulle købe eller ej. Sådan gik der flere år...

Ideen om at oprette et fejlretningstavle er ikke forsvundet nogen steder. Efterhånden dannede jeg alle kravene og tænkte på, hvordan jeg skulle placere det hele på ét bræt, så det blev kompakt og ikke dyrt. Samtidig bestilte jeg de manglende komponenter hos kineserne. Jeg havde ikke travlt - jeg gjorde alt for mig selv. Kinesiske leverandører er notorisk sjuskede - jeg var nødt til at bestille det samme fra forskellige steder for at få alt, hvad jeg havde brug for. Desuden viste nogle af hukommelseschipsene sig at være brugt - tilsyneladende loddet fra ødelagte enheder. Dette kom tilbage til at forfølge mig senere.

At købe en mikrocontroller Milander K1986BE1QI (luft) er ikke en nem opgave. I den samme Chip and Dip-butik, i afsnittet "Artikler til bestilling" fandt jeg kun K1986BE92QI til 740 rubler, men det passede ikke mig. Den eneste mulighed er at købe en ikke-frisk revision fra LDM-Systems for 2000 rubler. Da jeg ikke kunne finde en erstatning andre steder, besluttede jeg at købe det, jeg havde. Til min glædelige overraskelse solgte de mig en helt ny controller fremstillet i december 2018, revision 6+ (1820). Men siden har stadig et gammelt foto, og i skrivende stund er controlleren ikke tilgængelig...

Udvikling af et udviklingskort til K1986BE1QI (luftfart)
Mikrocontroller K1986BE1QI (luftfart) i teknologisk emballage, (c) Foto af forfatteren

De vigtigste tekniske egenskaber ved mit fejlretningskort MDB1986 følgende:

  • indbygget debugger-programmør, kompatibel med J-Link og CMSIS-DAP;
  • statisk hukommelse 4Mbit (256k x 16, 10 ns);
  • flashhukommelseschip 64Mbit, Winbond 25Q64FVSIG;
  • RS-232 interface transceiver med RTS og CTS linjer;
  • interfaces og stik til Ethernet, USB, CAN;
  • MAX7 7221-segment display controller;
  • benstik til arbejde med MKIO (MIL_STD_1553) og ARINC429;
  • fototransistor Everlight PT17-21C;
  • fem farve-LED'er, en nulstillingsknap og to brugerknapper;
  • strømforsyningen til USB-porten er 5 volt;
  • printkort mål 100 x 80, mm

Jeg kunne godt lide kortene i STM-Discovery-serien, fordi de har en indbygget programmør-debugger - ST-Link. Branded ST-Link fungerer kun med controllere fra STMicroelectronics, men for et par år siden blev det muligt at opdatere firmwaren i ST-Link og få SEGGER J-Link OB (on-board) Debugger. Juridisk er der en begrænsning for kun at bruge sådan en debugger med STMicroelectronics-kort, men faktisk er potentialet ikke begrænset. Med en J-Link OB kan du således have en indbygget programmør-debugger på debugging-kortet. Jeg bemærker, at LDM-Systems produkter bruger CP2102 (Usb2Uart) konverteren, som kun kan blinke.

Udvikling af et udviklingskort til K1986BE1QI (luftfart)
STM32F103C8T6 mikrocontrollere, ægte og ikke så virkelige, (c) Foto af forfatteren

Så det var nødvendigt at købe den originale STM32F103C8T6, da proprietær firmware ikke vil fungere korrekt med klonen. Jeg tvivlede på denne afhandling og besluttede at prøve CS32F103C8T6 controlleren fra det kinesiske firma CKS. Jeg har ingen klager over selve controlleren, men den proprietære ST-Link-firmware fungerede ikke i den. J-Link fungerede delvist - USB-enheden blev registreret, men programmøren udførte ikke sine funktioner og mindede konstant om, at den var "defekt".

Udvikling af et udviklingskort til K1986BE1QI (luftfart)
Fejl ved kørsel af debugger på en ikke-original controller

Jeg var ikke tilfreds med dette og skrev først firmwaren til at blinke LED'en og implementerede derefter IDCODE-anmodningen ved hjælp af JTAG-protokollen. ST-Link programmøren, som jeg havde på Discovery boardet, og ST-Link Utility programmet flashede uden problemer CS32F103C8T6. Til sidst var jeg overbevist om at mit board virkede. Til min glæde udstedte målcontrolleren K1986BE1QI (luftfart) muntert sin IDCODE via TDO-linjen.

Udvikling af et udviklingskort til K1986BE1QI (luftfart)
Oscillogram af en TDO-signallinje med et kodet IDCODE-svar, (c) Foto af forfatteren

Udvikling af et udviklingskort til K1986BE1QI (luftfart)
Så SWD-porten var praktisk til at debugge selve debuggeren og tjekke IDCODE

Der var en mulighed med en debugger CMSIS-DAP (Debug Access Port). At bygge et projekt fra ARM-kilder er ikke en nem opgave, jeg tog projektet fra X893, og så prøvede jeg DAP42. Desværre frøs Keil uVision og ønskede ikke at arbejde med dem. Som et resultat udskiftede jeg debugger-chippen med en proprietær STM32F103C8T6 og vendte aldrig tilbage til dette problem.

Udvikling af et udviklingskort til K1986BE1QI (luftfart)
Vellykket drift af den indbyggede debugger J-Link STLink V2

Da alle nøglekomponenterne i det fremtidige udviklingskort var tilgængelige, gik jeg ind i Eagle CAD og opdagede, at de ikke var i elementbiblioteket. Der var ingen steder at gå hen – jeg måtte selv tegne dem. Samtidig lavede jeg monteringsspots til memory, et HanRun stik til Ethernet og tilføjede rammer til modstande og kondensatorer. Projektfilen og komponentbiblioteket kan findes på min GitHub.

Skematisk diagram af MDB1986-udviklingskortetUdvikling af et udviklingskort til K1986BE1QI (luftfart)

Kortet er drevet af en 5 volt DC-kilde hentet fra USB-porten. Der er i alt to USB Type-B-porte på kortet. Den ene er til programmøren, den anden er til K1986BE1QI-controlleren. Tavlen kan operere fra en af ​​disse kilder eller begge samtidigt. Den enkleste belastningsregulering og strømledningsbeskyttelse implementeres ved hjælp af Schottky-dioder i kredsløb D2 og D3 (SS24). Også i diagrammet kan du se selvgendannende sikringer F1 og F2 ved 500 mA. USB-portens signallinjer er beskyttet af en USBLC6-2SC6 diodesamling.

ST-Link debugger-programmeringskredsløbet er kendt af mange; det kan findes i dokumentationen til STM32-Discovery-kort og andre kilder. Til den indledende firmware af ST-Link/J-Link-OB/DAP-klonen (valgfrit) bragte jeg linjerne SWDIO (PA13), SWCLK (PA14), GND. Mange mennesker bruger UART til firmware og er tvunget til at trække BOOT jumperne. Men jeg finder SWD mere praktisk, og denne protokol giver mulighed for fejlretning.

Næsten alle komponenter på kortet er drevet af 3.3 volt, som kommer fra AMS1117-3.3 spændingsregulatoren. For at undertrykke elektromagnetisk interferens og strømstød anvendes LC-filtre fra kondensatorer og drosler fra BLM31PG-serien.

Separat er det værd at nævne MAX7 7221-segment skærmdriveren. Ifølge specifikationen er den anbefalede strømforsyning fra 4 til 5.5 volt, og det høje signalniveau (logisk) er mindst 3.5V (0.7 x VCC), med en 5V-forsyning. For K1986BE1QI (luftfart)-controlleren svarer outputtet fra en logisk enhed til en spænding fra 2.8 til 3.3V. Der er naturligvis et misforhold mellem signalniveauerne, hvilket kan forstyrre normal drift. Jeg besluttede at forsyne MAX7221 ved 4V og reducere signalniveauerne til 2.8V (0.7 x 4 = 2.8). For at gøre dette er diode D4 (RS1A eller FR103) installeret i serie i driverens strømkreds. Det samlede spændingsfald er 0.9V (Schottky diode 0.3V og diode 0.6V), og alt virker.

De fleste porte på K1986BE1QI (luftfart) mikrocontrolleren er kompatible med signaler op til 5V. Derfor er der ingen problemer med at bruge MCP2551 CAN transceiveren, som også fungerer på 5V. MAX232 chippen er angivet som en RS-3232 transceiver i diagrammet, men faktisk brugte jeg SN65C3232D fra Texas Instruments, pga. den kører fra 3.3V og giver hastigheder op til 1Mbit/s.

Kortet indeholder 4 kvartsresonatorer - en til debuggeren (8 MHz) og tre til målmikrocontrolleren K1986BE1QI (luftfart) med ratings på 32.768 kHz, 16 MHz, 25 MHz. Disse er nødvendige komponenter, fordi Parametrene for den indbyggede RC-oscillator ligger inden for et bredt område fra 6 til 10 MHz. Der kræves en frekvens på 25 MHz til driften af ​​den indbyggede Ethernet-controller. Af en eller anden grund står der på Milandras hjemmeside (måske ved en fejl), at plastikhuset ikke har Ethernet. Men vi vil stole på specifikationen og fakta.

Et vigtigt incitament til at skabe mit eget udviklingskort var muligheden for at arbejde med den eksterne systembus EBC (ekstern buscontroller), som i det væsentlige er en parallelport. K1986BE1QI mikrocontroller (fly) giver dig mulighed for at forbinde og arbejde med eksterne hukommelseschips og perifere enheder, for eksempel ADC'er, FPGA'er osv. Mulighederne for den eksterne systembus er ret store - du kan arbejde med 8-bit, 16-bit og 32-bit statisk RAM, ROM og NAND Flash. For at læse/skrive 32-bit data kan controlleren automatisk udføre 2 tilsvarende operationer for 16-bit chips og 8 operationer for 4-bit chips. Det er klart, at en 32-bit I/O-operation vil blive afsluttet hurtigst med en 32-bit databus. Ulemperne omfatter behovet for, at programmet skal fungere med 32-bit data, og bestyrelsen skal lægge 32 spor.

Udvikling af et udviklingskort til K1986BE1QI (luftfart)
Statiske RAM-chips, brugt (gæt hvilken der er defekt)

En afbalanceret løsning er at bruge 16-bit hukommelseschips. Jeg havde tilfældigvis Integrated Silicon Solutions Inc. chips på lager. (ISSI IS61LV25616AL, 16 x 256k, 10 ns, 3.3V). Naturligvis har firmaet Milander sine egne statiske hukommelseschips serie 1645RU, men de er for dyre og utilgængelige. Som et alternativ er der pin-kompatible Samsung K6R4016V1D. Tidligere nævnte jeg, at mikrokredsløbene viste sig at blive brugt, og kopien, som jeg installerede, gav oprindeligt fejl og kaotiske værdier i den 15. datalinje. Det tog flere dage at finde hardwarefejl, og desto større blev følelsen af ​​tilfredshed, da jeg udskiftede den beskadigede chip med en fungerende. Uanset hvad, lader hastigheden af ​​at arbejde med ekstern hukommelse meget tilbage at ønske.

Ekstern bus og StandAlone-tilstandK1986BE1QI mikrocontrolleren (fly) har en unik StandAlone mode, som er designet til direkte ekstern adgang til Ethernet og MKIO controllere (MIL_STD_1553) via en ekstern bus, med kernen i reset tilstand, dvs. anvendes ikke. Denne tilstand er praktisk for processorer og FPGA'er, der ikke har Ethernet og/eller MKIO.
Tilslutningsdiagrammet er som følger:

  • databus MCU(D0-D15) => SRAM(I/O0-I/O15),
  • adressebus MCU(A1-A18) => SRAM(A0-A17),
  • kontrol MCU(nWR,nRD,PortC2) => SRAM (WE,OE,CE),
  • SRAM(UB,LB) er forbundet eller trukket til jord gennem en modstand.

CE-linjen er forbundet til strømforsyningen gennem en modstand; benene til sampling af MCU-byten (BE0-BE3) bruges ikke. Under spoileren giver jeg koden til initialisering af portene og den eksterne buscontroller.

Initialiseringsporte og EBC-controller (ekstern buscontroller)

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

Mikrocontrolleren i LQFP-144-pakken og hukommelsen i TSOP-44-pakken har mange tilhørende ben og fylder meget på printkortet. Da jeg havde erfaring med at løse optimeringsproblemer inden for økonomi, var det indlysende for mig, at det var nødvendigt at placere disse mikrokredsløb på tavlen først. I forskellige kilder er jeg stødt på rosende anmeldelser om CAD TopoR (topologisk router). Jeg downloadede prøveversionen og var først i stand til at eksportere mit projekt fra Eagle CAD der, efter at jeg fjernede næsten alle komponenterne. Desværre hjalp TopoR-programmet mig ikke med at placere selv 10 elementer på tavlen. Først blev alle komponenterne placeret i et hjørne og derefter arrangeret langs kanten. Jeg var ikke tilfreds med denne mulighed, og i lang tid sporede jeg brættet manuelt i det velkendte Eagle CAD-miljø.

Et vigtigt element i et printkort er silketryk. Udviklingstavlen skal ikke kun have etiketter til de elektroniske komponenter, men alle stik skal også mærkes. På bagsiden af ​​brættet placerede jeg borde med funktionerne fra controllerportene (hoved, alternativ, tilsidesat, faktisk). Jeg bestilte produktionen af ​​printplader i Kina fra det velkendte PCBWay-kontor. Jeg vil ikke rose det, fordi kvaliteten er god. De kan gøre det bedre, med snævrere tolerancer, men mod et gebyr.

Udvikling af et udviklingskort til K1986BE1QI (luftfart)
Fremstillet MDB1986 printkort, (c) Foto af forfatteren

Jeg var nødt til at lodde komponenterne "på knæene" med en 40-watt loddekolbe og POS-61 lodde, fordi jeg sjældent lodde, 1-2 gange om året, og loddepastaen var tørret ud. Jeg skulle også skifte den kinesiske CS32F103 controller til den originale STM32F103, og så også udskifte hukommelsen. Generelt er jeg nu helt tilfreds med resultatet, selvom jeg endnu ikke har kontrolleret driften af ​​RS-232 og CAN.

Udvikling af et udviklingskort til K1986BE1QI (luftfart)
MDB1986 debug board i drift - det skinner og varmer, (c) Foto af forfatteren

På Milandras hjemmeside kan du finde nok undervisningsmateriale til læringscontrollere serie 1986BE9 (Cortex-M3 kerne), men for K1986BE1QI (luftfart) mikrocontrolleren kan jeg ikke se noget der. Efter at have set på materialerne, manualerne og laboratoriearbejdet for universiteter, der er offentliggjort der, er jeg glad for, at personale bliver uddannet i hele landet til at arbejde med russiske controllere. De fleste træningsmaterialer forbereder sig på at arbejde med I/O-porte, timere, ADC, DAC, SPI, UART. Der bruges forskellige IDE-udviklingsmiljøer (Keil, IAR, CodeMaster). Et eller andet sted programmerer de ved hjælp af CMSIS-registre, og et eller andet sted bruger de MDR-biblioteket. Ressource skal nævnes Start Milandr, som indeholder mange artikler fra praktiserende programmører. Og det skal vi selvfølgelig ikke glemme Milandra forum.

Tænkte på MilandraMikroelektronik er under udvikling i Rusland, og Milander-virksomheden spiller en fremtrædende rolle i denne proces. Nye interessante mikrocontrollere dukker op, for eksempel 1986BE81T og Elektrosila med SpaceWire og MKIO interfaces (det samme som i 1986BE1 og muligvis med de samme problemer) osv. Men almindelige studerende, lærere og civilingeniører kan ikke købe sådanne mikrokredsløb. Det betyder, at ingeniørsamfundet ikke hurtigt vil være i stand til at identificere fejl og problemer med denne chip. Det forekommer mig, at det først er nødvendigt at producere mikrokredsløb i en plastikkasse, distribuere dem til alle interesserede parter, og efter godkendelse (latinsk approbatio - godkendelse, anerkendelse) af specialister, kan de forberede en revision i en metalkeramisk sag med beskyttelse mod alle forfærdelige faktorer. Jeg håber, at vi i den nærmeste fremtid ALLE vil være glade for de nye projekter, der annonceres på udstillingerne.
Det fejlretningstavle, jeg udviklede, kan gentages, ændres og bruges af alle i uddannelsesprocessen. Først og fremmest lavede jeg tavlen til mig selv, men det blev så godt at Jeg besluttede at dele med alle.

K1986BE1QI (luft) er en meget interessant controller med unikke grænseflader, som kan bruges på universiteter til at undervise studerende. Jeg tror, ​​at efter at have rettet de fejl, der er identificeret i controlleren og bestået certificeringstest, vil controlleren flyve i ordets sandeste betydning!

Kilde: www.habr.com

Tilføj en kommentar