Ukuthuthukiswa kwebhodi lokulungisa iphutha le-K1986BE1QI (indiza)

Ukuthuthukiswa kwebhodi lokulungisa iphutha le-K1986BE1QI (indiza)

Eminyakeni embalwa edlule ngajwayelana nama-microcontrollers aseRussia avela eMilandr. Kwakungu-2013, lapho onjiniyela bexoxa ngemiphumela yokuqala ye-Federal Target Program "Ukuthuthukiswa kwesisekelo se-electronic component kanye ne-radio electronics" ngo-2008-2015. Ngaleso sikhathi, isilawuli se-K1986BE9x (Cortex-M3 core) sase sikhishiwe, futhi isilawuli se-1986BE1T (Cortex-M1 core) sasisanda kuvela. Yena, ecaleni lepulasitiki le-LQFP-144, wayenegama elithi K1986BE1QI (indiza) emibhalweni, kanye negama elithi MDR32F1QI ku-chip ngokwayo. Kuwebhusayithi yomkhiqizi, inesijobelelo esithi "umoya", njengoba inokuxhumana okuqondile embonini yezindiza (ARINC 429, MIL_STD_1553).

Ngokumangalisayo, ngesikhathi sokusatshalaliswa kwalaba balawuli, inkampani yaseMilander yalungisa amakhithi okulungisa iphutha kanye nomtapo wezincwadi ongaphansi wokusebenzelana nama-peripherals, "kodwa ngaphandle kweziqinisekiso ezengeziwe nezibopho mayelana nokunemba komtapo wezincwadi." Umtapo wolwazi ufana ne-Standard Peripheral Library evela ku-STMicroelectronics. Ngokuvamile, zonke izilawuli ze-ARM ezakhelwe phezu kwe-Cortex-M core zinokuningi okufanayo. Ngenxa yalesi sizathu, ukujwayelana nabalawuli abasha baseRussia kwahamba ngokushesha. Futhi kulabo abathenge izinsiza zokulungisa iphutha, ukusekelwa kobuchwepheshe kwanikezwa ngesikhathi sokusetshenziswa.

Ukuthuthukiswa kwebhodi lokulungisa iphutha le-K1986BE1QI (indiza)
Ikhithi yokulungisa iphutha le-microcontroller 1986BE1T, © Milandr

Nokho, ngokuhamba kwesikhathi kwaqala ukuvela "izifo zezingane" ze-chips ezintsha nemitapo yolwazi. Izibonelo zokuhlola ze-firmware zisebenze ngaphandle kwezinkinga ezibonakalayo, kodwa ngokuphahlazeka okukhulu kokuguqulwa namaphutha anile. "Ukugwinya" kokuqala ekusebenzeni kwami ​​​​kwakungukwehluleka okungaqondakali kusilawuli se-CAN. Ngemva konyaka, kwatholakala inkinga ngemojula kusilawuli sango-1986BE1T (emoyeni) sokubuyekezwa kwangaphambi kwesikhathi. I-MCIO (isiteshi sokushintshisana ngolwazi oluningi). Ngokuvamile, zonke izibuyekezo zalezi zilawuli ezincane kuze kube ngu-2016 bezinokusetshenziswa okulinganiselwe. Isikhathi esiningi kanye nezinzwa zangena ekuboneni lezi zinkinga, ukuqinisekiswa kwazo manje okungatholakala kuzo uhlu lwamaphutha (Errata).

Isici esingajabulisi ukuthi kwakudingekile ukusebenza nokubhekana namaphutha hhayi emabhodini okulungisa iphutha, kodwa emabhodini emishini ye-prototype eyayihlelelwe ukukhiqizwa kwe-serial factory. Ngokungeziwe kusixhumi se-JTAG, ngokuvamile kwakungekho lutho lapho. Kwakunzima futhi kuphazamisa ukuxhumana nokuhlaziya okunengqondo, futhi ngokuvamile ayengekho ama-LED nezikrini. Ngalesi sizathu, umqondo wokudala ibhodi lami lokususa iphutha uvele ekhanda lami.

Ngakolunye uhlangothi, kwakukhona amakhithi okususa iphutha emakethe, kanye namabhodi amangalisayo avela ku-LDM-Systems avela ku-Zelenograd. Ngakolunye uhlangothi, izintengo zale mikhiqizo zenza umuntu abe nesithukuthezi, futhi ukusebenza okuyisisekelo ngaphandle kwamakhadi okunweba akuhlangabezani nokulindelwe. Ibhodi elinesilawuli esidayisiwe kanye nesihloko sephini alinantshisekelo kimi. Futhi amabhodi athakazelisayo kakhulu ayabiza.

Ukuthuthukiswa kwebhodi lokulungisa iphutha le-K1986BE1QI (indiza)
Ibhodi lokuthuthukisa MILANDR LDM-HELPER-K1986BE1QI-FULL, © LDM Systems

Inkampani "Milandr" inenqubomgomo yamanani eyingqayizivele kanye nokumaketha. Ngakho-ke, kungenzeka ukuthola amasampula amanye ama-microcircuits mahhala, kodwa lokhu kutholakala kuphela ezinhlanganweni ezisemthethweni futhi kuhlotshaniswa nemfuno yokuphatha. Ngokuvamile, ama-microcircuits ephaketheni le-ceramic-metal anegolide ngomqondo ongokoqobo nongokomfanekiso. Isibonelo, isilawuli se-1986BE1T sibiza eMoscow kusuka kuma-ruble ayizinkulungwane ezingu-14 kuya kwezingu-24. I-1645RU6U static memory chip ibiza kusuka kuma-ruble ayi-15000. Futhi lokhu ukuhleleka kwezintengo zayo yonke imikhiqizo. Ngenxa yalokho, ngisho nezikhungo zocwaningo ezikhethekile ezinemiyalo yombuso zonga imali futhi zigweme amanani anjalo. Ama-chips kukesi lepulasitiki ukuze asetshenziswe umphakathi ashibhe kakhulu, kodwa awatholakali kubahlinzeki abadumile. Ngaphezu kwalokho, ikhwalithi yama-chips ecaleni lepulasitiki, kubonakala kimi, libi kakhulu kune "igolide". Isibonelo, angikwazanga ukusebenzisa isilawuli se-K1986BE1QI ku-128MHz ngaphandle kokukhulisa isilungiselelo sokubambezeleka kwe-flash. Ngesikhathi esifanayo, izinga lokushisa lalesi silawuli lenyuka laya ku-40-50C. Kodwa isilawuli se-1986BE1T (“igolide”) siqale ngo-128 MHz ngaphandle kwezilungiselelo ezengeziwe futhi sahlala sibanda. Muhle ngempela.

Ukuthuthukiswa kwebhodi lokulungisa iphutha le-K1986BE1QI (indiza)
"Igolide" microcontroller 1986BE1T, (c) Milandr

Ngibe nenhlanhla yokuthi i-microcontroller esekesini lepulasitiki isengathengwa ezitolo kwa-LDM Systems, futhi wonke amabhodi wesekethe atholakala mahhala. Okubi ukuthi kusayithi esithombeni sesilawuli, ukumaka kubonakala okusho ukuthi lokhu kuyinguqulo yesi-4 ye-2014, i.e. enamaphutha. Ngacabanga isikhathi eside - ukuthenga noma ukungayithengi. Ngakho kwadlula iminyaka eminingana...

Umqondo wokudala ibhodi lokususa iphutha awunyamalala ndawo. Kancane kancane, ngakha zonke izidingo futhi ngacabanga ukuthi ngingabeka kanjani konke lokhu ebhodini elilodwa, ukuze kube compact futhi kungabizi. Ngokuhambisanayo, nga-oda izingxenye ezilahlekile kumaShayina. Ngangingajahile - ngazenzela yonke into. Abahlinzeki baseShayina badume kabi ngobudlabha - bekufanele ngi-ode into efanayo ezindaweni ezahlukene ukuze ngithole yonke into engiyidingayo. Ngaphezu kwalokho, amanye ama-memory chips aphenduke amasekeni - ngokusobala athengiswe kumadivayisi aphukile. Lokhu kwangishaya kamuva.

Ukuthenga i-microcontroller i-Milandr K1986BE1QI (indiza) akuwona umsebenzi olula. Esitolo esifanayo se-Chip ne-Dip, esigabeni esithi "Izikhundla zoku-oda", ngithole i-K1986BE92QI kuphela ngama-ruble angu-740, kodwa ayizange ingifanele. Okuwukuphela kwenketho ukuthenga ukubuyekezwa okungeyona okusha kusuka ku-LDM-Systems ngama-ruble angama-2000. Njengoba ngangingasitholi esinye isikhundla kwenye indawo, nganquma ukuthenga okwakukhona. Okwangimangaza kakhulu, bangithengisele isilawuli sokukhishwa esisha sango-December 2018, ukubuyekezwa okungu-6+ (1820). Futhi isayithi lisenesithombe esidala, futhi ngesikhathi sokubhala isilawuli asitholakali ...

Ukuthuthukiswa kwebhodi lokulungisa iphutha le-K1986BE1QI (indiza)
I-Microcontroller K1986BE1QI (indiza) emaphaketheni ezobuchwepheshe, (c) Isithombe ngumbhali

Ukucaciswa okuyinhloko kwebhodi lami lokuthuthukisa I-MDB1986 okulandelayo:

  • i-debugger-programmer eyakhelwe ngaphakathi ehambisana ne-J-Link ne-CMSIS-DAP;
  • Inkumbulo emile ye-4Mbit (256k x 16, 10 ns);
  • flash memory chip 64Mbit, Winbond 25Q64FVSIG;
  • I-transceiver esibonakalayo ye-RS-232 enemigqa ye-RTS ne-CTS;
  • izixhumi ezibonakalayo nezixhumi ze-Ethernet, i-USB, i-CAN;
  • Isilawuli sokubonisa se-7-segment MAX7221;
  • isixhumi sephinikhodi sokusebenza ne-MCIO (MIL_STD_1553) kanye ne-ARINC429;
  • i-phototransistor Everlight PT17-21C;
  • ama-LED anemibala emihlanu, inkinobho yokusetha kabusha nezinkinobho zomsebenzisi ezimbili;
  • inikwa amandla yimbobo ye-USB engu-5 volts;
  • ibhodi lesifunda eliphrintiwe ubukhulu 100 x 80, mm

Ngiwathandile amabhodi ochungechunge lwe-STM-Discovery ngoba ane-programmer-debugger eyakhelwe ngaphakathi - ST-Link. I-ST-Link yokuphathelene isebenza kuphela nabalawuli be-STMicroelectronics, kodwa eminyakeni embalwa edlule kwaba nokwenzeka ukuvuselela i-firmware ku-ST-Link futhi uthole i-SEGGER J-Link OB (on-board) Debugger. Ngokomthetho, kunomkhawulo wokusebenzisa i-debugger enjalo kuphela ngamabhodi e-STMicroelectronics, kodwa empeleni amandla awanqunyelwe. Ngakho-ke, ukuba ne-J-Link OB, ungaba ne-programmer-debugger eyakhelwe ngaphakathi ebhodini lokususa iphutha. Ngiyaqaphela ukuthi imikhiqizo ye-LDM-Systems isebenzisa isiguquli se-CP2102 (Usb2Uart), esingakhanyisa kuphela.

Ukuthuthukiswa kwebhodi lokulungisa iphutha le-K1986BE1QI (indiza)
STM32F103C8T6 microcontrollers, okwangempela futhi akunjalo, (c) Isithombe ngumbhali

Ngakho-ke, kwakudingeka ukuthenga i-STM32F103C8T6 yasekuqaleni, njengoba i-firmware enegama ngeke isebenze kahle ne-clone. Ngiyingabaze le thesis futhi nganquma ukuzama isilawuli se-CS32F103C8T6 esivela enkampanini yaseChina i-CKS. Anginazo izikhalazo mayelana nesilawuli ngokwaso, kodwa i-firmware ye-ST-Link yokuphathelene ayizange isebenze kuyo. I-J-Link isebenze kancane - idivayisi ye-USB itholiwe, kodwa umhleli akazange enze imisebenzi yakhe futhi ehlala ekhumbuza ukuthi "ayinasici".

Ukuthuthukiswa kwebhodi lokulungisa iphutha le-K1986BE1QI (indiza)
Iphutha ngenkathi usebenzisa isilungisi sephutha kusilawuli okungesona esoqobo

Angizange ngithule kulokhu futhi ngiqale ngabhala i-firmware yokucwayiza i-LED, ngase ngisebenzisa isicelo se-IDCODE ngisebenzisa umthetho olandelwayo we-JTAG. Umhleli we-ST-Link enganginaye ebhodini le-Discovery kanye nohlelo lwe-ST-Link Utility lukhanyise i-CS32F103C8T6 ngaphandle kwezinkinga. Ngenxa yalokho, ngenza isiqiniseko sokuthi ibhodi lami liyasebenza. Okungijabulisile, isilawuli esiqondiwe i-K1986BE1QI (indiza) sikhiphe i-IDCODE yaso ngenjabulo phezu komugqa we-TDO.

Ukuthuthukiswa kwebhodi lokulungisa iphutha le-K1986BE1QI (indiza)
I-Oscillogram yomugqa wesiginali ye-TDO enempendulo efakwe ikhodi ye-IDCODE, (c) Isithombe sombhali

Ukuthuthukiswa kwebhodi lokulungisa iphutha le-K1986BE1QI (indiza)
Ngakho-ke imbobo ye-SWD ifike yaba usizo ekususeni isilungisi iphutha ngokwayo kanye nokuhlola i-IDCODE

Kube khona inketho nge-debugger I-CMSIS-DAP (Imbobo yokufinyelela yokususa iphutha). Ukwakha iphrojekthi emithonjeni ye-ARM akuwona umsebenzi olula, ngithathe kuwo iphrojekthi X893, ngabe sengizama ne-DAP42. Ngeshwa, i-Keil uVision yabhajwa futhi yayingafuni ukusebenza nabo. Ngenxa yalokho, ngimiselele i-chip ye-debugger nge-STM32F103C8T6 yobunikazi futhi angiphindanga ngabuyela kulolu daba.

Ukuthuthukiswa kwebhodi lokulungisa iphutha le-K1986BE1QI (indiza)
Ukusebenza ngempumelelo kwe-debugger eyakhelwe ngaphakathi i-J-Link STLink V2

Lapho zonke izingxenye ezibalulekile zebhodi lokususa iphutha lesikhathi esizayo zitholakala, ngangena ku-Eagle CAD futhi ngathola ukuthi zazingekho emtatsheni wezincwadi wezakhi. Akukho lapho ngingaya khona - kwadingeka ngizidwebe ngokwami. Ngaso leso sikhathi, ngenza izihlalo zememori, isixhumi se-HanRun se-Ethernet, futhi ngengeza amafreyimu ama-resistors nama-capacitor. Ifayela lephrojekthi nomtapo wezincwadi wengxenye ingatholakala Nginayo ku-GitHub.

Umdwebo wohlelo lwebhodi lokususa iphutha le-MDB1986Ukuthuthukiswa kwebhodi lokulungisa iphutha le-K1986BE1QI (indiza)

Ibhodi linikwa amandla ngumthombo we-5 volt DC osuka embobeni ye-USB. Kukhona izimbobo ezimbili ze-USB Type-B ebhodini. Eyodwa ngeyomhleli, eyesibili ingesilawuli se-K1986BE1QI. Ibhodi lingasebenza kunoma iyiphi yale mithombo noma kokubili ngesikhathi esisodwa. Ukulungiswa komthwalo okulula kakhulu nokuvikelwa kwezintambo zikagesi kusetshenziswa kuma-Schottky diode, kumasekhethi e-D2 ne-D3 (SS24). Futhi emdwebeni ungabona ama-fuse azibuyiselayo i-F1 ne-F2 ku-500mA. Imigqa yesiginali yembobo ye-USB ivikelwe ukuhlangana kwe-USBLC6-2SC6 diode.

Isekethe ye-ST-Link debugger-programmer yaziwa abaningi, ingatholakala emibhalweni yamabhodi e-STM32-Discovery neminye imithombo. Nge-firmware eyinhloko ye-ST-Link / J-Link-OB / DAP clone (uma uthanda), ngikhiphe i-SWDIO (PA13), SWCLK (PA14), imigqa ye-GND. Abaningi basebenzisa i-UART ye-firmware futhi baphoqeleka ukuthi badonse ama-BOOT jumpers. Kepha i-SWD ingilungele kakhulu, ngaphandle kwale protocol ivumela ukulungisa iphutha.

Cishe zonke izingxenye zebhodi zinikwe amandla yi-3.3 volts, evela ku-AMS1117-3.3 voltage regulator. Ukucindezela ukuphazanyiswa kuka-electromagnetic kanye nokuhlinzwa kwamanje, izihlungi ze-LC ezivela kuma-capacitor nokuklinywa kochungechunge lwe-BLM31PG ziyasetshenziswa.

Ngokwehlukana, kufanelekile ukusho umshayeli wesibonisi we-MAX7 7221-segment. Ngokusho kokucaciswa, ukunikezwa kwamandla okunconyiwe kusuka ku-4 kuya ku-5.5 volts, futhi ileveli yesiginali ephezulu (logic one) ayikho ngaphansi kuka-3.5V (0.7 x VCC), uma inikwa amandla yi-5V. Okwesilawuli se-K1986BE1QI (indiza), ukuphuma kweyunithi enengqondo kuhambisana ne-voltage esuka ku-2.8 kuya ku-3.3V. Ngokusobala, kunokungafani kumazinga esignali okungaphazamisa ukusebenza okuvamile. Nginqume ukunika amandla i-MAX7221 kusuka ku-4V futhi ngehlise amazinga esignali ku-2.8V (0.7 x 4 = 2.8). Ukuze wenze lokhu, i-diode D4 (RS1A noma FR103) ifakwe ochungechungeni kumjikelezo wamandla omshayeli. Isamba sokwehla kwamandla kagesi ngu-0.9V (0.3V Schottky diode ne-0.6V diode), futhi yonke into iyasebenza.

Amachweba amaningi ku-K1986BE1QI microcontroller (indiza) ahambisana namasignali afika ku-5V. Ngakho-ke, ukusetshenziswa kwe-MCP2551 CAN transceiver, esebenza futhi kusuka ku-5V, akubangeli izinkinga. Umdwebo ubonisa i-chip ye-MAX232 njenge-transceiver ye-RS-3232, kodwa empeleni ngisebenzise i-SN65C3232D evela e-Texas Instruments, ngoba isebenza ukusuka ku-3.3V futhi inikeza isivinini esifika ku-1Mbit/s.

Kukhona amaresonatha angama-quartz angu-4 ebhodini - eyodwa ye-debugger (8 MHz) futhi emithathu ye-microcontroller eqondiwe K1986BE1QI (indiza) enamanani ajwayelekile angu-32.768 kHz, 16 MHz, 25 MHz. Lezi yizingxenye ezidingekayo, ngoba. imingcele ye-generator ye-RC eyakhelwe ngaphakathi isebangeni elibanzi ukusuka ku-6 kuye ku-10 MHz. Imvamisa engu-25 MHz iyadingeka ekusebenzeni kwesilawuli se-Ethernet esakhelwe ngaphakathi. Ngesizathu esithile, iwebhusayithi ye-Milandra (mhlawumbe ngephutha) ithi ayikho i-Ethernet ecaleni lepulasitiki. Kodwa sizoncika ekucacisweni nasemaqinisweni.

Isikhuthazo esibalulekile sokwenza ibhodi lakho lokususa iphutha kube yithuba lokusebenza nebhasi lesistimu ye-EBC yangaphandle (isilawuli sebhasi sangaphandle), okuyimbobo ehambisanayo. I-K1986BE1QI microcontroller (indiza) ikuvumela ukuthi uxhume futhi usebenze ngama-memory chips angaphandle kanye namadivayisi we-peripheral, njenge-ADC, FPGA, njll. Amathuba ebhasi lesistimu yangaphandle makhulu impela - ungasebenza nge-8-bit, 16-bit kanye ne-32-bit static RAM, i-ROM ne-NAND Flash. Ukufunda / ukubhala idatha ye-32-bit, isilawuli singakwazi ukwenza ngokuzenzakalelayo imisebenzi emi-2 ehambisanayo kuma-microcircuits angu-16-bit, kanye nemisebenzi emi-8 kweyi-4-bit. Ngokusobala, ukusebenza kwe-32-bit I/O kuzoba okushesha kakhulu ngebhasi ledatha le-32-bit. Ububi buhlanganisa isidingo sokuthi uhlelo lusebenze ngedatha ye-32-bit, futhi ibhodi kuzodingeka libeke amathrekhi angama-32.

Ukuthuthukiswa kwebhodi lokulungisa iphutha le-K1986BE1QI (indiza)
Ama-chips e-SRAM, asetshenzisiwe (qagela ukuthi iyiphi engalungile)

Isixazululo esinokulinganisela ukusebenzisa ama-memory chips angu-16-bit. Ngagcina senginama-chips e-Integrated Silicon Solutions Inc.. (ISSI IS61LV25616AL, 16x256k, 10ns, 3.3V). Yiqiniso, inkampani "Milandr" has eyakhe static inkumbulo chips Uchungechunge 1645RUkodwa zibiza kakhulu futhi azitholakali. Kungenjalo, kukhona Samsung K6R4016V1D ehambisana nephinikhodi. Ngike ngasho phambilini ukuthi ama-IC ayengawasetshenziswa futhi ikhophi engangiyifakile ekuqaleni yayintengantenga futhi iguquguquka emugqeni wedatha we-15. Kuthathe izinsuku ezimbalwa ukuthola amaphutha ezingxenyekazi zekhompuyutha, futhi kwaba mkhulu umuzwa wokwaneliseka lapho ngishintsha i-chip eyonakele ngifake esebenzayo. Yiba noma kunjalo, isivinini sokusebenza ngememori yangaphandle sishiya okuningi okufanele ukwenze.

Ibhasi langaphandle kanye ne-StandAlone ModeI-microcontroller ye-K1986BE1QI (indiza) inemodi ye-StandAlone eyingqayizivele, eklanyelwe ukufinyelela okuqondile kwangaphandle ku-Ethernet kanye nezilawuli ze-MCIO (MIL_STD_1553) ngebhasi langaphandle, kuyilapho umgogodla usesimweni sokusetha kabusha, i.e. engasetshenzisiwe. Le modi iwusizo kumaphrosesa nama-FPGA angenayo i-Ethernet kanye/noma i-MCIO.
Umdwebo wokuxhumana umi kanje:

  • ibhasi ledatha i-MCU(D0-D15) => I-SRAM(I/O0-I/O15),
  • ibhasi lekheli i-MCU(A1-A18) => SRAM(A0-A17),
  • Ukulawula kwe-MCU(nWR,nRD,PortC2) => I-SRAM (WE,OE,CE),
  • I-SRAM(UB,LB) ixhunyiwe noma idonselwa phansi ngesiphikisa.

Ulayini we-CE udonselwa phezulu ukuze ube namandla ngesixhasi, izikhonkwane ze-MCU byte fetch (BE0-BE3) azisetshenziswa. Ngaphansi kwe-spoiler nginikeza ikhodi yokuqalisa izimbobo nesilawuli sebhasi sangaphandle.

Ukuqaliswa kwamachweba nesilawuli se-EBC (isilawuli samabhasi sangaphandle)

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

I-microcontroller kuphakheji ye-LQFP-144 kanye nenkumbulo kuphakheji ye-TSOP-44 inamaphini amaningi axhunyiwe futhi ithatha isikhala esiningi se-PCB. Njengoba nginolwazi lokuxazulula izinkinga zokuthuthukisa emkhakheni wezomnotho, kwaba sobala kimi ukuthi lawa ma-microcircuits kufanele abekwe ebhodini kwasekuqaleni. Emithonjeni ehlukahlukene, ngathola ukubuyekezwa okuhlonishwayo mayelana I-CAD TopoR (I-Topological Router). Ngilande inguqulo yesilingo futhi ngakwazi ukuthumela iphrojekthi yami ku-Eagle CAD lapho kuphela lapho ngisusa cishe zonke izingxenye. Ngeshwa, uhlelo lwe-TopoR aluzange lungisize ngibeke ngisho nezinto eziyi-10 ebhodini. Okokuqala, zonke izingxenye zafakwa ekhoneni, bese zihlelwa eceleni komkhawulo. Le nketho ayizange ingigculise, futhi ngichithe isikhathi eside ngilandela ibhodi mathupha endaweni evamile yoKhozi CAD.

Ukuphrinta kwesikrini kuyisici esibalulekile sebhodi lesifunda eliphrintiwe. Ebhodini lokususa iphutha, akumele kube namasiginesha kuphela ezingxenyeni ze-elekthronikhi, kodwa zonke izixhumi kufanele zisayinwe. Ngakolunye uhlangothi lwebhodi, ngibeke amathebula-izikhumbuzi nemisebenzi yamachweba okulawula (okuyinhloko, okunye, okubhalwe ngaphezulu, okwangempela). Ngayala ukuba kwenziwe amabhodi esifunda anyathelisiwe e-China ehhovisi elaziwayo le-PCBWay. Ngeke ngidumise, ngoba izinga lihle. Bangenza kangcono ngokubekezelelana okuncane, kodwa ngenkokhelo.

Ukuthuthukiswa kwebhodi lokulungisa iphutha le-K1986BE1QI (indiza)
Amabhodi esekethe aphrintiwe akhiqiziwe MDB1986, (c) Isithombe ngumbhali

Kwadingeka ngikhulule izingxenye "emadolweni" nge-40-watt soldering iron kanye ne-POS-61 solder, ngoba angivamile ukuthengisa, izikhathi ezingu-1-2 ngonyaka, futhi i-solder paste yomile. Kwadingeka futhi ukuthi ngishintshe isilawuli se-CS32F103 saseShayina siye ku-STM32F103 yasekuqaleni, bese ngibuyisela inkumbulo. Ngokuvamile, manje nganeliseke ngokuphelele ngomphumela, nakuba ngingakahloli ukusebenza kwe-RS-232 ne-CAN.

Ukuthuthukiswa kwebhodi lokulungisa iphutha le-K1986BE1QI (indiza)
Ibhodi lokususa iphutha i-MDB1986 liyasebenza — liyakhanya futhi liyafudumala, (с) Isithombe sombhali

Esizeni "Milandra" ungathola okwanele izinto zokufunda zabalawuli bokufunda 1986BE9 uchungechunge (Cortex-M3 core), kodwa ku-K1986BE1QI (indiza) microcontroller, angiboni lutho lapho. Ngemva kokubukeza izinto ezinyatheliswa lapho, izincwadi zemanyuwali nomsebenzi waselabhorethri wamanyuvesi, ngiyajabula ngokuthi izisebenzi ziyaqeqeshwa ezweni lonke ukuze zisebenze nabalawuli baseRussia. Iningi lezinto zokuqeqesha zilungiselelwe ukusebenza namachweba we-I / O, izikhathi, i-ADC, i-DAC, i-SPI, i-UART. Kusetshenziswa ama-IDE ahlukene (Keil, IAR, CodeMaster). Endaweni ethile bahlela besebenzisa amarejista e-CMSIS, futhi kwenye indawo basebenzisa i-MDR Library. Insiza kufanele kukhulunywe ngayo Qala uMilandr, equkethe izindatshana eziningi ezivela kubahleli bezinhlelo abazijwayezayo. Futhi-ke, akufanele sikhohlwe mayelana Inkundla yeMilandra.

Ecabanga ngoMilandraMicroelectronics eRussia ithuthuka, futhi inkampani "Milandr" idlala indima ebalulekile kule nqubo. Ama-microcontrollers amasha athakazelisayo avela, isibonelo, i-1986BE81T ne-Elektrosila ene-SpaceWire kanye ne-MKIO interfaces (efana neyango-1986BE1 futhi, mhlawumbe, nezinkinga ezifanayo), njll. Kodwa kubafundi abajwayelekile, othisha kanye nonjiniyela bomphakathi, akulona iqiniso ukuthenga ama-microcircuits anjalo. Lokhu kusho ukuthi umphakathi wonjiniyela ngeke ukwazi ukubona ngokushesha amaphutha nezinkinga zale chip. Kubonakala kimi ukuthi okokuqala kudingekile ukukhiqiza ama-microcircuits ebhokisini lepulasitiki, ukuwasabalalisa phakathi kwabo bonke abathintekayo, futhi kuphela ngemva kokugunyazwa (i-Latin approbatio - ukuvunywa, ukuqashelwa) ochwepheshe bangalungiselela ukubuyekezwa esimweni se-ceramic-metal ngokuvikelwa kusuka. zonke izici ezimbi. Ngithemba esikhathini esizayo esiseduze SONKE sizojabula ngamaphrojekthi amasha amenyezelwe embukisweni.
Noma ubani angaphinda, alungise futhi asebenzise ibhodi lokususa iphutha engilithuthukisile kunqubo yemfundo. Okokuqala, ngazenzela ibhodi, kodwa kwaba kuhle kakhulu Nganquma ukwabelana nawo wonke umuntu.

I-K1986BE1QI (umoya) iyisilawuli esithakazelisa kakhulu esinokuxhumana okuhlukile okungasetshenziswa emanyuvesi ukufundisa abafundi. Ngicabanga ukuthi ngemva kokulungisa amaphutha akhonjwe kusilawuli kanye nokuphasa izivivinyo zesitifiketi, isilawuli sizondiza ngomqondo weqiniso wegama!

Source: www.habr.com

Engeza amazwana