K1986BE1QI (aviazioa) garapen-taularen garapena

K1986BE1QI (aviazioa) garapen-taularen garapena

Duela urte batzuk Milanderen errusiar mikrokontrolagailuak ezagutu nituen. 2013a zen, ingeniariek 2008-2015erako "Oinarri elektronikoen eta irrati-elektronikaren garapena" Helburu Federaleko Programaren lehen emaitzak eztabaidatzen ari zirenean. Garai hartan, K1986BE9x kontrolatzailea (Cortex-M3 core) jada kaleratua zen, eta 1986BE1T kontrolatzailea (Cortex-M1 core) agertu berria zen. Plastikozko zorroan, LQFP-144, K1986BE1QI (aviazioa) izendapena zuen dokumentazioan, eta txipan bertan MDR32F1QI izendapena. Fabrikatzailearen webgunean "avia" atzizkia du, hegazkingintzarako berariazko interfazeak dituelako (ARINC 429, MIL_STD_1553).

Harrigarria bada ere, kontrolagailu hauek banatzeko garaian Milander enpresak arazketa-kit eta azpierrutinen liburutegi bat prestatu zituen periferikoekin lan egiteko, "baina liburutegiaren zuzentasunari buruzko berme edo betebehar gehigarririk gabe". Liburutegia STMicroelectronics-en Standard Peripheral Library-ren antzekoa da. Oro har, Cortex-M nukleoan eraikitako ARM kontrolagailu guztiek komunean asko dituzte. Hori dela eta, Errusiako kontrolatzaile berriekin ezagutzea azkar joan zen. Eta markako arazketa-kitak erosi zituztenentzat, laguntza teknikoa eman zen erabileran.

K1986BE1QI (aviazioa) garapen-taularen garapena
1986BE1T mikrokontrolagailurako arazketa-kit, Β© Milander

Hala ere, denborarekin, mikrozirkuitu eta liburutegi berrien "haurtzaroko gaixotasunak" agertzen hasi ziren. Firmwarearen proba-adibideek arazo ikusgarririk gabe funtzionatu zuten, baina aldaketa esanguratsuekin, hutsegite eta akatsak gertatu ziren. Nire praktikako lehen "enara" CAN kontrolagailuaren funtzionamenduaren hutsegite ulertezinak izan ziren. Urtebete beranduago, moduluarekin arazo bat aurkitu zen 1986BE1T (aviazio) errebisio goiztiar baten kontrolagailuan. MKIO (informazio-truke multiplexaren kanala). Oro har, 2016ra arte mikrokontrolagailu horien berrikuspen guztiak erabilera mugatua izan zuten. Denbora eta nerbio asko egon ziren arazo hauek identifikatzeko, eta horren berrespena orain aurki daiteke errore-zerrendak (errata).

Ezaugarri desatsegina zen akatsak lantzea eta aurre egitea beharrezkoa zela ez arazketa-plaketan, baizik eta serieko fabrika ekoizteko aurreikusita zeuden gailuen prototipoen plaketan. Normalean ez zegoen ezer JTAG konektorea izan ezik. Analizatzaile logiko batekin konektatzea zaila eta deserosoa zen, eta normalean ez zegoen LED edo pantailarik. Hori dela eta, nire arazketa-taula sortzeko ideia agertu zitzaidan buruan.

Alde batetik, markako arazketa-kitak zeuden merkatuan, baita Zelenograd-eko LDM-Systems konpainiaren taula zoragarriak ere. Bestalde, produktu horien prezioak ikaragarriak dira, eta hedapen-txartelik gabeko oinarrizko funtzionaltasunak ez ditu itxaropenak betetzen. Soldatutako kontrolagailu bat eta pin konektore bat duen plaka bat ez zait interesatzen. Eta taula interesgarriagoak garestiak dira.

K1986BE1QI (aviazioa) garapen-taularen garapena
Garapen-plaka MILANDR LDM-HELPER-K1986BE1QI-FULL, Β© LDM Systems

Milander konpainiak prezioen politika eta marketin berezia ditu. Beraz, mikrozirkuitu batzuen doako laginak lor daitezke, baina pertsona juridikoentzat bakarrik dago eskuragarri eta bilaketa burokratiko batekin lotuta dago. Oro har, metal-zeramikazko kaxa bateko mikrozirkuituak urrezkoak dira zentzu literal eta figuratiboan. Adibidez, 1986BE1T kontrolagailu batek 14 eta 24 mila errublo balio du Moskun. 1645RU6U memoria estatikoko txipak 15000 errublotik aurrera balio du. Eta hau da produktu guztien prezioen eskaera. Ondorioz, gobernu-aginduak dituzten ikerketa-institutu espezializatuek ere dirua aurrezten dute eta prezio horietatik urruntzen dute. Erabilera zibilerako plastikozko kaxa bateko mikrozirkuituak nabarmen merkeagoak dira, baina ez daude hornitzaile ezagunengandik eskuragarri. Gainera, plastikozko kaxa bateko mikrozirkuituen kalitatea, iruditzen zait, "urrezkoak" baino okerragoa da. Adibidez, ezin nuen K1986BE1QI kontrolagailua exekutatu 128 MHz-n, flash latentzia-parametroa handitu gabe. Aldi berean, kontrolagailu honen tenperatura 40-50C-ra igo zen. Baina 1986BE1T ("urrea") kontrolagailua 128 MHz-n hasi zen ezarpen gehigarririk gabe eta hotza mantendu zen. Benetan ona da.

K1986BE1QI (aviazioa) garapen-taularen garapena
"Urrezko" mikrokontroladorea 1986BE1T, (c) Milander

Zortea izan nuen plastikozko kaxa batean mikrokontrolagailu bat LDM Systems-en txikizkako salmentan eros daitekeelako eta plaka-diagrama guztiak doan eskura daitezke. Txarra da webgunean kontrolagailuaren argazkian hau 4ko 2014. berrikuspena dela dioen marka bat ikus daitekeela, hau da. akatsekin. Denbora luzez pentsatu nuen erosi edo ez erosi. Hainbat urte horrela pasatu ziren...

Arazte-taula bat sortzeko ideia ez da inon desagertu. Pixkanaka, baldintza guztiak osatu eta dena taula batean nola jarri pentsatu nuen, trinkoa eta garestia ez izateko. Aldi berean, falta ziren osagaiak txinatarrei eskatu nizkion. Ez nuen presarik - dena egin nuen niretzat. Txinako hornitzaileak oso aldrebesak dira - gauza bera eskatu behar izan nuen leku ezberdinetatik behar nuen guztia lortzeko. Gainera, memoria txip batzuk erabili ziren, itxuraz hautsitako gailuetatik soldatuta. Hau itzuli zitzaidan geroago.

Milander K1986BE1QI (airea) mikrokontrolagailu bat erostea ez da lan erraza. Chip and Dip denda berean, "Eskatu beharreko elementuak" atalean, K1986BE92QI bakarrik aurkitu nuen 740 errublotan, baina ez zitzaidan egokitu. Aukera bakarra LDM-Systems-en berrikuspen berri bat erostea da 2000 errublotan. Beste inon ordezkorik aurkitu ezin nuenez, nuena erostea erabaki nuen. Nire sorpresa atseginerako, 2018ko abenduan fabrikatutako kontrolagailu berri bat saldu zidaten, 6+ berrikuspena (1820). Baina guneak oraindik argazki zahar bat dauka, eta idazteko unean kontrolagailua ez dago erabilgarri...

K1986BE1QI (aviazioa) garapen-taularen garapena
Mikrokontroladorea K1986BE1QI (aviazioa) ontzi teknologikoan, (c) egilearen argazkia

Nire arazketa-taularen ezaugarri tekniko nagusiak MDB1986 honako hau:

  • arazte-programatzailea integratua, J-Link eta CMSIS-DAP-ekin bateragarria;
  • memoria estatikoa 4Mbit (256k x 16, 10 ns);
  • flash memoria txipa 64Mbit, Winbond 25Q64FVSIG;
  • RS-232 interfaze-hartzailea RTS eta CTS lerroekin;
  • Ethernet, USB, CAN interfazeak eta konektoreak;
  • MAX7 7221 segmentuko pantaila kontrolatzailea;
  • MKIO (MIL_STD_1553) eta ARINC429-ekin lan egiteko pin konektorea;
  • fototransistorea Everlight PT17-21C;
  • bost koloretako LED, berrezarri botoia eta erabiltzaile bi botoi;
  • USB atakaren elikadura 5 voltiokoa da;
  • Zirkuitu inprimatuaren neurriak 100 x 80, mm

STM-Discovery serieko plakak gustatu zaizkit, programatzaile-arazketa bat dutelako - ST-Link. Markako ST-Link-ek STMicroelectronics-eko kontrolagailuekin bakarrik funtzionatzen du, baina duela urte pare bat posible izan zen ST-Link-en firmwarea eguneratzea eta SEGGER J-Link OB (on-board) araztailea eskuratzea. Legez, arazte hori STMicroelectronics plakekin soilik erabiltzeko muga bat dago, baina, egia esan, potentziala ez da mugatua. Horrela, J-Link OB bat edukita, programatzaile-arazketa bat izan dezakezu arazketa-taulan. Kontuan izan dut LDM-Systems produktuek CP2102 (Usb2Uart) bihurgailua erabiltzen dutela, zeina soilik flash daitekeena.

K1986BE1QI (aviazioa) garapen-taularen garapena
STM32F103C8T6 mikrokontrolagailuak, errealak eta ez hain errealak, (c) Egilearen argazkia

Beraz, beharrezkoa zen jatorrizko STM32F103C8T6 erostea, jabedun firmwarea ez baita behar bezala funtzionatuko klonarekin. Tesi hau zalantzan jarri nuen eta Txinako CKS konpainiaren CS32F103C8T6 kontrolagailua probatzea erabaki nuen. Ez dut kexarik kontrolagailu berari buruz, baina ST-Link firmware jabedunak ez du funtzionatu bertan. J-Link-ek partzialki funtzionatu zuen - USB gailua detektatu zen, baina programatzaileak ez zituen bere funtzioak bete eta etengabe gogorarazi zuen "akatsa" zela.

K1986BE1QI (aviazioa) garapen-taularen garapena
Errore bat gertatu da jatorrizko ez den kontrolagailu batean arazketa exekutatzen ari zarenean

Ez nintzen horrekin konforme eta lehenik LED-a keinu egiteko firmwarea idatzi nuen, eta gero IDCODE eskaera inplementatu nuen JTAG protokoloa erabiliz. Discovery plakan neukan ST-Link programatzaileak eta ST-Link Utility programak arazorik gabe CS32F103C8T6 flash jarri zuten.Azkenean, nire plaka funtzionatzen ari zela sinetsita nengoen. Nire pozerako, helburuko K1986BE1QI (aviazioa) helburuko kontrolatzaileak alaitasunez eman zuen bere IDCODE TDO linearen bidez.

K1986BE1QI (aviazioa) garapen-taularen garapena
TDO seinale-lerro baten oszilograma, kodetutako IDCODE erantzunarekin, (c) Egilearen argazkia

K1986BE1QI (aviazioa) garapen-taularen garapena
Beraz, SWD ataka ondo etorri zen araztailea bera arazteko eta IDCODE egiaztatzeko

Aukera bat zegoen arazte batekin CMSIS-DAP (arazketarako sarbide-ataka). ARM iturrietatik proiektu bat eraikitzea ez da lan erraza, proiektua bertatik hartu dut X893, eta gero DAP42 probatu nuen. Zoritxarrez, Keil uVision izoztu egin zen eta ez zuen haiekin lan egin nahi izan. Ondorioz, arazte-txipa STM32F103C8T6 jabedun batekin ordezkatu nuen eta ez nintzen inoiz arazo honetara itzuli.

K1986BE1QI (aviazioa) garapen-taularen garapena
J-Link STLink V2 integratutako araztearen funtzionamendu arrakastatsua

Etorkizuneko garapen-taularen funtsezko osagai guztiak eskuragarri zeudenean, Eagle CAD-era sartu nintzen eta elementuen liburutegian ez zeudela aurkitu nuen. Ez zegoen nora joan - neuk marraztu behar izan nituen. Aldi berean, memoriarako muntatzeko lekuak egin nituen, Etherneterako HanRun konektore bat eta erresistentzietarako eta kondentsadoreetarako fotogramak gehitu nituen. Proiektuaren fitxategia eta osagaien liburutegia aurki daitezke nire GitHub-en.

MDB1986 garapen-plakaren diagrama eskematikoaK1986BE1QI (aviazioa) garapen-taularen garapena

Plaka USB atakatik lortutako 5 voltioko DC iturri batek elikatzen du. Guztira bi USB mota-B ataka daude taulan. Bata programatzailearentzat da, bigarrena K1986BE1QI kontroladorearentzat. Taulak iturri hauetatik edo bietatik aldi berean funtziona dezake. Karga erregulazio errazena eta linea elektrikoaren babesa Schottky diodoak erabiliz ezartzen dira, D2 eta D3 zirkuituan (SS24). Era berean, eskeman F1 eta F2 fusibleak 500 mA-tan ikus ditzakezu. USB atakaren seinale-lerroak USBLC6-2SC6 diodo-multzo batek babesten ditu.

ST-Link arazte-programatzaile zirkuitua askorentzat ezaguna da; STM32-Discovery plaken eta beste iturri batzuen dokumentazioan aurki daiteke. ST-Link/J-Link-OB/DAP klonaren hasierako firmwarerako (aukerakoa), SWDIO (PA13), SWCLK (PA14), GND lerroak atera nituen. Jende askok firmwarerako UART erabiltzen du eta BOOT jumperak tiratzera behartuta daude. Baina SWD erosoagoa iruditzen zait, eta protokolo honek arazketa ahalbidetzen du.

Plakako ia osagai guztiak 3.3 voltioz elikatzen dira, AMS1117-3.3 tentsio-erregulagailutik datozenak. Interferentzia elektromagnetikoak eta korronte igoerak kentzeko, BLM31PG serieko kondentsadoreen eta txokeen LC iragazkiak erabiltzen dira.

Bereiz, aipatzekoa da MAX7 7221 segmentuko pantaila kontrolatzailea. Zehaztapenaren arabera, gomendatutako elikadura hornidura 4 eta 5.5 voltiokoa da, eta seinale maila altua (logikoa) gutxienez 3.5 V (0.7 x VCC), 5 V hornidurarekin. K1986BE1QI (aviazio) kontrolagailurako, unitate logiko baten irteera 2.8 eta 3.3V bitarteko tentsio bati dagokio. Jakina, seinale-mailen arteko desadostasuna dago eta horrek funtzionamendu normala oztopatu dezake. MAX7221 4V-tan elikatzea eta seinale-mailak 2.8V-ra murriztea erabaki nuen (0.7 x 4 = 2.8). Horretarako, D4 diodoa (RS1A edo FR103) seriean instalatzen da kontrolatzailearen potentzia zirkuituan. Tentsio-jaitsiera totala 0.9 V-koa da (Schottky diodoa 0.3 V eta diodoa 0.6 V) eta dena funtzionatzen du.

K1986BE1QI (aviazio) mikrokontrolagailuaren ataka gehienak 5V arteko seinaleekin bateragarriak dira. Hori dela eta, ez dago arazorik MCP2551 CAN transzeiver erabiltzeko, 5V-n ere funtzionatzen duena. MAX232 txipa RS-3232 transceptor gisa adierazten da diagraman, baina egia esan Texas Instruments-eko SN65C3232D erabili nuen, izan ere 3.3V-tik funtzionatzen du eta 1Mbit/s-ko abiadura eskaintzen du.

Plakak 4 kuartzozko erresonatzaile ditu - bat arazterako (8 MHz) eta hiru helburuko mikrokontrolagailurako K1986BE1QI (aviazioa) 32.768 kHz, 16 MHz, 25 MHz-ko balorazioekin. Beharrezkoak diren osagaiak dira, zeren RC osziladore integratuaren parametroak 6 eta 10 MHz arteko tarte zabalean daude. 25 MHz-ko maiztasuna behar da integratutako Ethernet kontrolagailuaren funtzionamendurako. Zerbaitegatik, Milandraren webguneak (akatsez agian) dio plastikozko kutxak ez duela Ethernetik. Baina zehaztapenetan eta gertaeretan oinarrituko gara.

Nire garapen-taula sortzeko pizgarri garrantzitsu bat kanpoko sistema-busaren EBC (kanpoko bus kontrolatzailea) lan egiteko aukera izan zen, funtsean ataka paraleloa dena. K1986BE1QI mikrokontrolagailuak (hegazkinak) kanpoko memoria txip eta gailu periferikoekin konektatu eta lan egiteko aukera ematen du, adibidez, ADCak, FPGAak, etab. Kanpoko sistema-busaren gaitasunak nahiko handiak dira - 8 biteko, 16 biteko eta 32 biteko RAM estatikoarekin, ROMarekin eta NAND Flashekin lan egin dezakezu. 32 biteko datuak irakurtzeko/idazteko, kontrolatzaileak automatikoki egin ditzake dagozkien 2 eragiketa 16 biteko txipentzat eta 8 eragiketa 4 biteko txipentzat. Jakina, 32 biteko I/O eragiketa bat azkarren osatuko da 32 biteko datu-bus batekin. Desabantailen artean, programak 32 biteko datuekin funtzionatzeko beharra dago, eta taulak 32 pista jarri beharko ditu.

K1986BE1QI (aviazioa) garapen-taularen garapena
RAM txip estatikoak, erabiliak (asmatu zein den akastuna)

Irtenbide orekatu bat 16 biteko memoria-txipak erabiltzea da. Integrated Silicon Solutions Inc. txipak stockean nituen. (ISSI IS61LV25616AL, 16 x 256k, 10 ns, 3.3V). Jakina, Milander konpainiak bere memoria estatikoko txip propioak ditu 1645RU seriea, baina garestiegiak eta eskuragarri ez daude. Alternatiba gisa, pin bateragarriak diren Samsung K6R4016V1D daude. Lehenago aipatu nuen mikrozirkuituek erabili zirela eta hasieran instalatu nuen kopiak hutsegite eta balio kaotikoak eman zituela 15. datu-lerroan. Hainbat egun behar izan ziren hardware akatsak aurkitzeko, eta orduan eta poztasun sentsazioa handiagoa izan hondatutako txipa funtzionatzen duen batekin ordezkatu nuenean. Dena den, kanpoko memoriarekin lan egiteko abiadurak asko uzten du.

Kanpoko autobusa eta StandAlone moduaK1986BE1QI mikrokontrolagailuak (hegazkinak) StandAlone modu berezia du, Ethernet eta MKIO kontrolagailuetara (MIL_STD_1553) kanpoko zuzeneko sarbidea izateko diseinatuta dagoena, kanpoko bus baten bidez, nukleoa berrezarri egoeran duela, hau da. ez erabiltzen. Modu hau erosoa da Ethernet eta/edo MKIO ez duten prozesadoreentzat eta FPGAentzat.
Konexio-eskema hau da:

  • datu-busa MCU (D0-D15) => SRAM (I/O0-I/O15),
  • helbide-busa MCU (A1-A18) => SRAM (A0-A17),
  • kontrolatu MCU (nWR,nRD,PortC2) => SRAM (WE,OE,CE),
  • SRAM (UB,LB) erresistentzia baten bidez konektatzen edo lurrera eramaten dira.

CE linea elikadura-iturrira erresistentzia baten bidez konektatzen da; MCU bytea (BE0-BE3) lagintzeko pinak ez dira erabiltzen. Spoiler-aren azpian, portuak eta kanpoko bus kontrolatzailea hasieratzeko kodea ematen dut.

Portuak eta EBC kontrolagailua hasieratzea (kanpoko bus kontrolatzailea)

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

LQFP-144 paketeko mikrokontrolagailuak eta TSOP-44 paketeko memoriak pin elkartu asko dituzte eta leku asko hartzen dute zirkuitu inprimatuko plakan. Ekonomiaren arloan optimizazio arazoak konpontzen esperientzia izanda, begi bistakoa zitzaidan mikrozirkuitu hauek plakan jartzea beharrezkoa zela. Hainbat iturritan laudoriozko iritziak topatu ditut CAD TopoR (bideratzaile topologikoa). Proba bertsioa deskargatu nuen eta Eagle CAD-tik nire proiektua esportatu ahal izan nuen ia osagai guztiak kendu ondoren. Zoritxarrez, TopoR programak ez zidan lagundu taulan 10 elementu ere jartzen. Lehenik eta behin, osagai guztiak izkina batean jarri ziren, eta gero ertzean antolatu ziren. Ez nengoen konforme aukera honekin, eta denbora luzez taula eskuz trazatu nuen Eagle CAD ingurune ezagunean.

Zirkuitu inprimatuko plaka baten elementu garrantzitsu bat serigrafia inprimatzea da. Garapen-plakak osagai elektronikoetarako etiketak ez ezik, konektore guztiak ere etiketatuta egon behar dira. Arbelaren atzealdean kontrolagailuen ataken funtzioekin taulak jarri nituen (nagusia, alternatiboa, gainidatzia, benetakoa). Txinan PCBWay bulego ezagunetik inprimatutako zirkuitu plakak ekoiztea agindu nuen. Ez dut goraipatuko kalitatea ona delako. Hobeto egin dezakete, tolerantzia estuagoekin, baina kuota baten truke.

K1986BE1QI (aviazioa) garapen-taularen garapena
MDB1986 zirkuitu inprimatuak egindako plakak, (c) Egilearen argazkia

Osagaiak "belaunetan" soldatu behar izan ditut 40 watt-ko soldadura batekin eta POS-61 soldadurarekin, gutxitan soldatzen nuelako, urtean 1-2 aldiz, eta soldadura-pasta lehortu egin zelako. Txinako CS32F103 kontrolagailua jatorrizko STM32F103ra aldatu behar izan nuen, eta, ondoren, memoria ere ordeztu behar izan nuen. Oro har, orain guztiz pozik nago emaitzarekin, nahiz eta oraindik ez dudan egiaztatu RS-232 eta CANen funtzionamendua.

K1986BE1QI (aviazioa) garapen-taularen garapena
MDB1986 arazketa-taula martxan - distira eta berotzen du, (c) egilearen argazkia

Milandraren webgunean nahikoa aurki dezakezu Kontrolatzaileak ikasteko material didaktikoak 1986BE9 seriea (Cortex-M3 nukleoa), baina K1986BE1QI (aviaziozko) mikrokontrolagailurako ez dut ezer ikusten hor. Bertan argitaratutako unibertsitateetarako materialak, eskuliburuak eta laborategiko lanak ikusita, pozten naiz herrialde osoan langileak trebatzen ari direla Errusiako kontrolatzaileekin lan egiteko. Prestakuntza-material gehienak I/O portuekin, tenporizadoreekin, ADC, DAC, SPI, UARTekin lan egiteko prestatzen dira. IDE garapen-ingurune desberdinak erabiltzen dira (Keil, IAR, CodeMaster). Nonbait programatzen dute CMSIS erregistroak erabiliz, eta nonbait MDR Liburutegia erabiltzen dute. Baliabidea aipatu behar da Hasi Milanr, programatzaile praktikatzaileen artikulu asko biltzen dituena. Eta, noski, ez dugu ahaztu behar Milandra foroa.

Milandrari buruz pentsatuMikroelektronika Errusian garatzen ari da, eta Milander konpainiak protagonismo handia du prozesu horretan. Mikrokontrolagailu interesgarri berriak agertzen ari dira, adibidez, 1986BE81T eta Elektrosila SpaceWire eta MKIO interfazeekin (1986BE1eko berdinak eta, beharbada, arazo berdinekin), etab. Baina ikasle arruntek, irakasleek eta ingeniari zibilek ezin dituzte horrelako mikrozirkuiturik erosi. Horrek esan nahi du ingeniaritza komunitateak ezin izango dituela txip honekin akatsak eta arazoak azkar identifikatu. Iruditzen zait lehenik plastikozko kaxa batean mikrozirkuitu batzuk ekoitzi behar direla, interesdun guztiei banatu, eta espezialistek (latinezko homologazioa - onespena, aitorpena) onartu ondoren, metal-zeramikazko kaxa batean errebisio bat prestatu dezaketela. faktore ikaragarri guztietatik babestea. Espero dut etorkizun hurbilean DENOK pozik egongo garela erakusketetan iragarritako proiektu berriekin.
Garatu dudan arazketa-taula errepikatu, aldatu eta edonork erabil dezake hezkuntza-prozesuan. Lehenik eta behin, taula neuretzat egin nuen, baina oso ondo atera zitzaidan Guztiekin partekatzea erabaki nuen.

K1986BE1QI (airea) oso kontrolagailu interesgarria da, unibertsitateetan ikasleei irakasteko erabil daitekeen interfaze bereziak dituena. Uste dut kontrolagailuan identifikatutako akatsak zuzendu eta ziurtapen probak gainditu ondoren, kontrolagailuak hitzaren zentzurik egiazkoenean hegan egingo duela!

Iturria: www.habr.com

Gehitu iruzkin berria