Pagpalambo sa usa ka debug board alang sa K1986BE1QI (aviation)

Pagpalambo sa usa ka debug board alang sa K1986BE1QI (aviation)

Pipila ka tuig ang milabay nahibal-an nako ang mga microcontroller sa Russia gikan sa Milandr. Kini mao ang 2013, sa diha nga ang mga inhenyero kusganong naghisgot sa unang mga resulta sa Federal Target Program "Development of electronic component base ug radio electronics" alang sa 2008-2015. Niadtong panahona, ang K1986BE9x controller (Cortex-M3 core) gipagawas na, ug ang 1986BE1T controller (Cortex-M1 core) bag-o lang nagpakita. Siya, sa plastik nga LQFP-144 nga kaso, adunay ngalan nga K1986BE1QI (aviation) sa dokumentasyon, ug ang ngalan nga MDR32F1QI sa chip mismo. Sa website sa tiggama, kini adunay suffix nga "hangin", tungod kay kini adunay mga interface nga espesipiko sa industriya sa ayroplano (ARINC 429, MIL_STD_1553).

Katingad-an, sa panahon sa pag-apod-apod niini nga mga tigkontrol, ang kompanya sa Milander nag-andam sa mga debug kit ug usa ka librarya sa mga subroutine alang sa pagtrabaho sa mga peripheral, "apan wala’y dugang nga mga garantiya ug obligasyon bahin sa katukma sa librarya." Ang librarya susama sa Standard Peripheral Library gikan sa STMicroelectronics. Sa kinatibuk-an, ang tanan nga ARM controllers nga gitukod sa Cortex-M core adunay daghan nga komon. Tungod niini nga hinungdan, ang kaila sa bag-ong mga tigkontrol sa Russia dali. Ug alang niadtong mipalit ug proprietary debug kits, gihatag ang teknikal nga suporta sa panahon sa paggamit.

Pagpalambo sa usa ka debug board alang sa K1986BE1QI (aviation)
Debugging kit para sa microcontroller 1986BE1T, © Milandr

Apan, sa paglabay sa panahon, ang "mga sakit sa pagkabata" sa bag-ong mga chips ug mga librarya nagsugod sa pagpakita. Ang mga pananglitan sa pagsulay sa firmware nagtrabaho nga wala’y makita nga mga problema, apan adunay daghang mga pagbag-o nga nag-crash ug nag-ulan ang mga sayup. Ang una nga "lamoy" sa akong praktis mao ang dili masaysay nga mga kapakyasan sa CAN controller. Usa ka tuig ang milabay, usa ka problema sa module ang nadiskobrehan sa 1986BE1T (hangin) controller sa usa ka sayo nga rebisyon MCIO (multiplex information exchange channel). Sa kinatibuk-an, ang tanan nga mga pagbag-o sa kini nga mga microcontroller hangtod sa 2016 limitado ang paggamit. Daghang oras ug nerbiyos ang nag-ila sa kini nga mga problema, ang kumpirmasyon nga makita na karon sa mga listahan sa sayop (Errata).

Ang usa ka dili maayo nga bahin mao nga gikinahanglan ang pagtrabaho ug pag-atubang sa mga kasaypanan dili sa mga debug board, apan sa mga tabla sa mga prototype nga mga himan nga giplano alang sa serial production sa pabrika. Dugang pa sa JTAG connector, kasagaran wala didto. Lisud ug dili kombenyente ang pagkonektar sa usa ka logic analyzer, ug kasagaran walay mga LED ug mga screen. Tungod niini nga hinungdan, ang ideya sa paghimo sa akong kaugalingon nga debug board mitungha sa akong ulo.

Sa usa ka bahin, adunay mga branded debug kit sa merkado, ingon man mga nindot nga tabla gikan sa LDM-Systems gikan sa Zelenograd. Sa laing bahin, ang mga presyo alang niini nga mga produkto nagduso sa usa ngadto sa usa ka stupor, ug ang batakang pag-andar nga walay mga expansion card wala makaabot sa mga gilauman. Ang usa ka board nga adunay usa ka soldered controller ug usa ka pin header dili interesado kanako. Ug ang mas makapaikag nga mga tabla mahal.

Pagpalambo sa usa ka debug board alang sa K1986BE1QI (aviation)
Development board MILADR LDM-HELPER-K1986BE1QI-FULL, © LDM Systems

Ang kompanya nga "Milandr" adunay usa ka talagsaon nga palisiya sa pagpresyo ug pagpamaligya. Busa, posible nga makakuha og mga sample sa pipila ka mga microcircuits nga libre, apan kini anaa lamang sa legal nga mga entidad ug nalangkit sa usa ka bureaucratic quest. Sa kinatibuk-an, ang mga microcircuits sa usa ka seramik-metal nga pakete bulawan sa literal ug mahulagwayong diwa. Pananglitan, ang 1986BE1T controller nagkantidad sa Moscow gikan sa 14 ngadto sa 24 ka libo nga mga rubles. Ang 1645RU6U static memory chip nagkantidad gikan sa 15000 nga mga rubles. Ug kini ang han-ay sa mga presyo alang sa tanan nga mga produkto. Ingon usa ka sangputanan, bisan ang mga espesyalista nga mga institusyon sa panukiduki nga adunay mga mando sa estado nagtipig salapi ug naglikay sa ingon nga mga presyo. Ang mga chips sa usa ka plastik nga kaso alang sa paggamit sa sibilyan labi ka barato, apan dili kini makuha gikan sa mga sikat nga supplier. Dugang pa, ang kalidad sa mga chips sa usa ka plastik nga kaso, alang kanako, mas grabe pa kay sa "bulawan". Pananglitan, dili nako mapadagan ang K1986BE1QI controller sa 128MHz nga walay pagdugang sa flash latency setting. Sa samang higayon, ang temperatura niini nga controller misaka ngadto sa 40-50C. Apan ang 1986BE1T ("bulawan") controller nagsugod sa 128 MHz nga walay dugang nga mga setting ug nagpabilin nga bugnaw. Maayo gyud siya.

Pagpalambo sa usa ka debug board alang sa K1986BE1QI (aviation)
"Bulawan" nga microcontroller 1986BE1T, (c) Milandr

Swerte ko nga ang microcontroller sa usa ka plastik nga kaso mapalit gihapon sa tingi gikan sa LDM Systems, ug ang tanan nga mga circuit board libre nga magamit. Ang dili maayo nga butang mao nga sa site sa litrato sa controller, usa ka marka ang makita nga nag-ingon nga kini ang ika-4 nga rebisyon sa 2014, i.e. nga adunay mga depekto. Naghunahuna ko sa dugay nga panahon - sa pagpalit o dili pagpalit. So nilabay ang pila ka tuig...

Ang ideya sa paghimo og debug board wala mawala bisan asa. Sa hinay-hinay, akong giporma ang tanan nga mga kinahanglanon ug naghunahuna kung giunsa kini ibutang sa usa ka board, aron kini mahimong compact ug dili mahal. Sa susama, gi-order nako ang nawala nga mga sangkap gikan sa Intsik. Wala ako nagdali - gibuhat nako ang tanan alang sa akong kaugalingon. Ang mga supplier nga Intsik nabantog sa kabuang - kinahanglan kong mag-order sa parehas nga butang sa lainlaing mga lugar aron makuha ang tanan nga kinahanglan nako. Dugang pa, ang pipila sa mga memory chips nahimo nga second-hand - klaro nga gibaligya gikan sa mga guba nga aparato. Kini miigo kanako sa ulahi.

Ang pagpalit og microcontroller nga Milandr K1986BE1QI (aviation) dili sayon ​​nga buluhaton. Sa parehas nga tindahan sa Chip ug Dip, sa seksyon nga "Mga Posisyon sa pag-order", nakit-an ra nako ang K1986BE92QI alang sa 740 nga mga rubles, apan dili kini angay kanako. Ang bugtong kapilian mao ang pagpalit sa usa ka dili lab-as nga rebisyon gikan sa LDM-Systems alang sa 2000 nga mga rubles. Tungod kay wala koy nakit-an nga kapuli bisan asa, nakahukom ko nga paliton kung unsa. Sa akong makapalipay nga katingala, gibaligya nila ako usa ka bag-ong controller sa pagpagawas sa Disyembre 2018, rebisyon 6+ (1820). Ug ang site adunay gihapon usa ka daan nga litrato, ug sa panahon sa pagsulat ang controller dili magamit ...

Pagpalambo sa usa ka debug board alang sa K1986BE1QI (aviation)
Microcontroller K1986BE1QI (aviation) sa teknolohikal nga pakete, (c) Litrato sa tagsulat

Panguna nga teknikal nga mga detalye sa akong development board MDB1986 ang mga mosunod:

  • built-in nga debugger-programmer nga compatible sa J-Link ug CMSIS-DAP;
  • 4Mbit static memory (256k x 16, 10 ns);
  • flash memory chip 64Mbit, Winbond 25Q64FVSIG;
  • RS-232 interface transceiver nga adunay mga linya sa RTS ug CTS;
  • mga interface ug mga konektor alang sa Ethernet, USB, CAN;
  • 7-segment display controller MAX7221;
  • pin connector alang sa pagtrabaho uban sa MCIO (MIL_STD_1553) ug ARINC429;
  • phototransistor Everlight PT17-21C;
  • lima ka kolor nga LED, usa ka reset button ug duha ka user button;
  • kini gipadagan sa usa ka USB port nga 5 volts;
  • giimprinta nga circuit board mga sukod 100 x 80, mm

Ganahan ko sa mga tabla sa serye sa STM-Discovery tungod kay aduna silay built-in nga programmer-debugger - ST-Link. Ang proprietary ST-Link nagtrabaho lamang sa STMicroelectronics controllers, apan pipila ka tuig na ang milabay nahimong posible nga i-update ang firmware sa ST-Link ug makuha ang SEGGER J-Link OB (on-board) Debugger. Sa legal nga paagi, adunay pagdili sa paggamit sa maong debugger lamang sa STMicroelectronics boards, apan sa pagkatinuod ang potensyal dili limitado. Busa, nga adunay J-Link OB, mahimo kang adunay usa ka built-in nga programmer-debugger sa debug board. Namatikdan nako nga ang mga produkto sa LDM-Systems naggamit sa CP2102 (Usb2Uart) converter, nga mahimo ra mag-flash.

Pagpalambo sa usa ka debug board alang sa K1986BE1QI (aviation)
STM32F103C8T6 microcontrollers, tinuod ug dili, (c) Litrato sa tagsulat

Mao nga, kinahanglan nga paliton ang orihinal nga STM32F103C8T6, tungod kay ang branded nga firmware dili molihok sa husto sa clone. Nagduhaduha ko niini nga thesis ug nakahukom nga sulayan ang CS32F103C8T6 controller gikan sa Chinese company nga CKS. Wala akoy mga reklamo bahin sa controller mismo, apan ang proprietary ST-Link firmware wala molihok niini. Ang J-Link nagtrabaho nga partially - ang USB device nakit-an, apan ang programmer wala magbuhat sa mga gimbuhaton niini ug kanunay nga nagpahinumdom nga kini "depekto".

Pagpalambo sa usa ka debug board alang sa K1986BE1QI (aviation)
Kasaypanan kung gipadagan ang debugger sa usa ka dili orihinal nga controller

Wala ko kalma niini ug una nga gisulat ang firmware alang sa pagkidlap sa LED, ug dayon gipatuman ang hangyo sa IDCODE gamit ang JTAG protocol. Ang ST-Link programmer nga naa nako sa Discovery board ug ang ST-Link Utility nga programa nag-flash sa CS32F103C8T6 nga walay problema. Tungod niini, akong gisiguro nga ang akong board nagtrabaho. Sa akong kalipay, ang target controller K1986BE1QI (aviation) malipayong nagpagawas sa IDCODE niini sa linya sa TDO.

Pagpalambo sa usa ka debug board alang sa K1986BE1QI (aviation)
Oscillogram sa linya sa signal sa TDO nga adunay IDCODE nga gi-encode nga tubag, (c) Litrato sa tagsulat

Pagpalambo sa usa ka debug board alang sa K1986BE1QI (aviation)
Mao nga ang SWD port magamit alang sa pag-debug mismo sa debugger ug pagsusi sa IDCODE

Adunay usa ka kapilian nga adunay usa ka debugger CMSIS-DAP (Debug Access Port). Ang pagtukod og proyekto gikan sa mga tinubdan sa ARM dili sayon ​​nga buluhaton, gikuha nako ang proyekto gikan sa X893, ug gisulayan usab nako ang DAP42. Ikasubo, ang Keil uVision na-stuck ug dili gusto nga magtrabaho uban kanila. Ingon usa ka sangputanan, gipulihan nako ang debugger chip sa usa ka proprietary STM32F103C8T6 ug wala na mobalik sa kini nga isyu.

Pagpalambo sa usa ka debug board alang sa K1986BE1QI (aviation)
Malampuson nga operasyon sa built-in debugger J-Link STLink V2

Sa diha nga ang tanan nga mga yawe nga sangkap sa umaabot nga debug board anaa na, ako misulod sa Eagle CAD ug nakita nga sila wala sa librarya sa mga elemento. Wala’y maadtoan - kinahanglan nako nga idrowing sila sa akong kaugalingon. Sa samang higayon, naghimo ko og mga lingkoranan alang sa memorya, ang HanRun connector alang sa Ethernet, ug gidugang ang mga frame alang sa resistors ug capacitors. Makita ang project file ug component library Naa ko sa GitHub.

Schematic diagram sa MDB1986 debug boardPagpalambo sa usa ka debug board alang sa K1986BE1QI (aviation)

Ang board gipadagan sa usa ka 5 volt DC nga gigikanan gikan sa USB port. Adunay duha ka USB Type-B port sa board. Ang usa alang sa programmer, ang ikaduha alang sa K1986BE1QI controller. Ang board mahimong magtrabaho gikan sa bisan asa niini nga mga tinubdan o pareho sa samang higayon. Ang pinakasimple nga pag-adjust sa load ug proteksyon sa mga linya sa kuryente gipatuman sa Schottky diodes, sa D2 ug D3 (SS24) nga mga sirkito. Usab sa dayagram makita nimo ang nagpahiuli sa kaugalingon nga mga fuse F1 ug F2 sa 500mA. Ang mga linya sa signal sa USB port gipanalipdan sa USBLC6-2SC6 diode assembly.

Ang ST-Link debugger-programmer circuit nahibal-an sa kadaghanan, kini makita sa dokumentasyon alang sa STM32-Discovery boards ug uban pang mga tinubdan. Alang sa nag-unang firmware sa ST-Link / J-Link-OB / DAP clone (opsyonal), akong gipagawas ang mga linya sa SWDIO (PA13), SWCLK (PA14), GND. Daghan ang naggamit sa UART alang sa firmware ug napugos sa pagbitad sa mga jumper sa BOOT. Apan ang SWD mas sayon ​​​​alang kanako, gawas niini nga protocol nagtugot sa pag-debug.

Hapit tanan nga mga sangkap sa board gipadagan sa 3.3 volts, nga gikan sa AMS1117-3.3 voltage regulator. Aron masumpo ang electromagnetic interference ug kasamtangang pagdagsang, ang LC filters gikan sa mga capacitor ug chokes sa BLM31PG series gigamit.

Sa tinuud, angay nga hisgutan ang MAX7 7221-segment display driver. Sumala sa detalye, ang girekomendar nga suplay sa kuryente gikan sa 4 hangtod 5.5 volts, ug ang taas nga lebel sa signal (logic one) labing menos 3.5V (0.7 x VCC), kung gipadagan sa 5V. Alang sa K1986BE1QI controller (aviation), ang output sa usa ka lohikal nga yunit katumbas sa usa ka boltahe gikan sa 2.8 ngadto sa 3.3V. Dayag nga adunay dili tugma sa lebel sa signal nga makabalda sa normal nga operasyon. Nakahukom ko sa gahum sa MAX7221 gikan sa 4V ug ipaubos ang lebel sa signal ngadto sa 2.8V (0.7 x 4 = 2.8). Aron mahimo kini, usa ka diode D4 (RS1A o FR103) ang gi-install sa serye sa sirkito sa gahum sa drayber. Ang kinatibuk-ang paghulog sa boltahe mao ang 0.9V (0.3V Schottky diode ug 0.6V diode), ug ang tanan nagtrabaho.

Kadaghanan sa mga pantalan sa K1986BE1QI microcontroller (aviation) nahiuyon sa mga signal hangtod sa 5V. Busa, ang paggamit sa MCP2551 CAN transceiver, nga naglihok usab gikan sa 5V, dili hinungdan sa mga problema. Ang diagram nagpakita sa MAX232 chip isip RS-3232 transceiver, apan sa pagkatinuod akong gigamit ang SN65C3232D gikan sa Texas Instruments, tungod kay naglihok kini gikan sa 3.3V ug naghatag katulin hangtod sa 1Mbit/s.

Adunay 4 ka quartz resonator sa board - usa alang sa debugger (8 MHz) ug tulo alang sa target nga microcontroller K1986BE1QI (aviation) nga adunay mga nominal nga kantidad nga 32.768 kHz, 16 MHz, 25 MHz. Kini mao ang gikinahanglan nga mga sangkap, tungod kay. ang mga parameter sa built-in nga RC generator naa sa usa ka halapad nga range gikan sa 6 hangtod 10 MHz. Ang frequency sa 25 MHz gikinahanglan alang sa operasyon sa built-in Ethernet controller. Sa pipila ka rason, ang website ni Milandra (tingali sa sayop) nag-ingon nga walay Ethernet sa plastik nga kaso. Apan kita mosalig sa mga detalye ug mga kamatuoran.

Usa ka importante nga insentibo alang sa paghimo sa imong kaugalingon nga debug board mao ang oportunidad sa pagtrabaho uban sa usa ka eksternal nga EBC (external bus controller) system bus, nga mao ang usa ka parallel port. Ang K1986BE1QI microcontroller (aviation) nagtugot kanimo sa pagkonektar ug pagtrabaho sa mga external memory chips ug peripheral device, sama sa ADC, FPGA, ug uban pa. Ang mga posibilidad sa eksternal nga sistema sa bus dako kaayo - mahimo ka magtrabaho uban ang 8-bit, 16-bit ug 32-bit static RAM, ROM ug NAND Flash. Para sa pagbasa/pagsulat sa 32-bit nga datos, ang controller mahimong awtomatik nga makahimo og 2 ka katugbang nga operasyon para sa 16-bit microcircuits, ug 8 ka operasyon para sa 4-bit nga mga operasyon. Dayag nga, ang usa ka 32-bit nga I/O nga operasyon mao ang labing paspas nga adunay 32-bit nga data bus. Ang mga disadvantages naglakip sa panginahanglan alang sa programa sa pag-operate uban sa 32-bit data, ug ang board kinahanglan nga ibutang 32 tracks.

Pagpalambo sa usa ka debug board alang sa K1986BE1QI (aviation)
SRAM chips, gigamit (tag-ana kung unsa ang depekto)

Ang usa ka balanse nga solusyon mao ang paggamit sa 16-bit memory chips. Nahuman ko ang mga chips sa Integrated Silicon Solutions Inc. (ISSI IS61LV25616AL, 16x256k, 10ns, 3.3V). Siyempre, ang kompanya nga "Milandr" adunay kaugalingon nga static memory chips serye 1645RUapan kini mahal kaayo ug dili magamit. Sa laing bahin, adunay mga pin-compatible nga Samsung K6R4016V1D. Gihisgotan nako sa sayo pa nga ang mga IC mga segunda-mano ug ang kopya nga akong gi-install sa sinugdan nagkurog ug dili maayo sa ika-15 nga linya sa datos. Nagkinahanglan kini og pipila ka mga adlaw aron makit-an ang mga sayup sa hardware, ug mas dako ang pagbati sa katagbawan sa dihang akong gipulihan ang nadaot nga chip sa usa nga nagtrabaho. Bisan pa, ang katulin sa pagtrabaho uban ang eksternal nga panumduman nagbilin labi ka gusto.

External Bus ug StandAlone ModeAng K1986BE1QI (aviation) microcontroller adunay usa ka talagsaon nga StandAlone mode, nga gidisenyo alang sa direkta nga eksternal nga access sa Ethernet ug MCIO controllers (MIL_STD_1553) pinaagi sa usa ka eksternal nga bus, samtang ang kinauyokan anaa sa usa ka reset nga estado, i.e. wala gigamit. Kini nga mode mapuslanon alang sa mga processor ug FPGA nga walay Ethernet ug/o MCIO.
Ang diagram sa koneksyon mao ang mosunod:

  • data bus MCU(D0-D15) => SRAM(I/O0-I/O15),
  • address bus MCU(A1-A18) => SRAM(A0-A17),
  • Kontrol sa MCU(nWR,nRD,PortC2) => SRAM (KAMI,OE,CE),
  • Ang SRAM(UB,LB) konektado o gibira sa yuta pinaagi sa usa ka resistor.

Ang CE nga linya gibira ngadto sa gahum pinaagi sa usa ka resistor, ang MCU byte fetch pins (BE0-BE3) wala gigamit. Ubos sa spoiler akong gihatag ang code alang sa pag-initialize sa mga pantalan ug sa external bus controller.

Pagsugod sa mga pantalan ug EBC controller (external bus controller)

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

Ang microcontroller sa LQFP-144 nga pakete ug ang panumduman sa TSOP-44 nga pakete adunay daghang konektado nga mga lagdok ug mokuha ug daghang luna sa PCB. Ang pagbaton og kasinatian sa pagsulbad sa mga problema sa pag-optimize sa natad sa ekonomiya, klaro alang kanako nga kini nga mga microcircuits kinahanglan ibutang sa board sa unang dapit. Sa lainlaing mga gigikanan, nakit-an nako ang pagdayeg nga mga pagsusi bahin sa CAD TopoR (Topological Router). Gi-download nako ang bersyon sa pagsulay ug nakahimo sa pag-eksport sa akong proyekto gikan sa Eagle CAD didto lamang sa dihang akong gikuha ang halos tanan nga mga sangkap. Ikasubo, ang programa sa TopoR wala makatabang kanako sa pagbutang bisan sa 10 ka elemento sa pisara. Una, ang tanan nga mga sangkap gibutang sa usa ka suok, ug dayon gihan-ay sa daplin. Kini nga kapilian wala makatagbaw kanako, ug ako migugol sa usa ka taas nga panahon sa pagsubay sa board nga mano-mano sa pamilyar nga palibot sa Eagle CAD.

Ang pag-imprenta sa screen usa ka importante nga elemento sa giimprinta nga circuit board. Sa debug board, dili lamang kinahanglan nga adunay mga pirma alang sa mga elektronik nga sangkap, apan ang tanan nga mga konektor kinahanglan nga pirmahan. Sa likod nga bahin sa board, akong gibutang ang mga lamesa-mga pahinumdom nga adunay mga function sa controller ports (main, alternatibo, overridden, aktuwal). Nagmando ko sa paghimo ug mga printed circuit boards sa China sa iladong opisina sa PCBWay. Dili ko magdayeg, tungod kay ang kalidad maayo. Makahimo sila og mas maayo sa gagmay nga mga pagtugot, apan alang sa usa ka bayad.

Pagpalambo sa usa ka debug board alang sa K1986BE1QI (aviation)
Gigama nga mga printed circuit boards MDB1986, (c) Litrato sa tagsulat

Kinahanglan nakong i-unsolder ang mga sangkap "sa tuhod" gamit ang 40-watt soldering iron ug POS-61 solder, tungod kay panagsa ra ko magsolder, 1-2 ka beses sa usa ka tuig, ug ang solder paste nauga. Kinahanglan usab nako nga usbon ang Chinese CS32F103 controller sa orihinal nga STM32F103, ug dayon ilisan usab ang memorya. Sa kinatibuk-an, karon ako hingpit nga natagbaw sa resulta, bisan tuod wala pa nako masusi ang operasyon sa RS-232 ug CAN.

Pagpalambo sa usa ka debug board alang sa K1986BE1QI (aviation)
Debug board MDB1986 sa operasyon — nagsidlak ug nagpainit, (с) Litrato sa tagsulat

Sa site nga "Milandra" makit-an nimo ang igo mga materyal sa pagkat-on alang sa mga tigkontrol sa pagkat-on 1986BE9 series (Cortex-M3 core), pero para sa K1986BE1QI (aviation) microcontroller, wala koy makita didto. Human sa pagrepaso sa mga materyales nga gipatik didto, mga manwal ug mga buhat sa laboratoryo alang sa mga unibersidad, nalipay ako nga ang mga personahe gibansay sa tibuok nasod aron sa pagtrabaho uban sa mga tigkontrol sa Russia. Kadaghanan sa mga materyal sa pagbansay andam sa pagtrabaho uban sa I / O ports, timers, ADC, DAC, SPI, UART. Lainlaing mga IDE ang gigamit (Keil, IAR, CodeMaster). Bisan asa sila nagprograma gamit ang mga rehistro sa CMSIS, ug sa usa ka dapit ilang gigamit ang MDR Library. Kinahanglang hisgotan ang kahinguhaan Pagsugod sa Milandr, nga adunay daghang mga artikulo gikan sa pagpraktis sa mga programmer. Ug, siyempre, dili nato kalimtan Forum Milandra.

Naghunahuna kang MilandraAng microelectronics sa Russia nag-uswag, ug ang kompanya nga "Milandr" adunay hinungdanon nga papel sa kini nga proseso. Ang bag-ong makapaikag nga mga microcontroller nagpakita, pananglitan, 1986BE81T ug Elektrosila nga adunay mga interface sa SpaceWire ug MKIO (sama sa 1986BE1 ug, posible, adunay parehas nga mga problema), ug uban pa. Apan alang sa ordinaryong mga estudyante, magtutudlo ug civil engineers, dili realistiko ang pagpalit sa maong mga microcircuits. Kini nagpasabut nga ang komunidad sa engineering dili dali nga makaila sa mga sayup ug mga problema sa kini nga chip. Para nako, kinahanglan una nga maghimo mga microcircuits sa usa ka plastik nga kaso, ipanghatag kini sa tanan nga mga interesado nga partido, ug pagkahuman sa pag-apruba (Latin approbatio - pag-apruba, pag-ila) ang mga espesyalista mahimo’g mag-andam usa ka pagbag-o sa usa ka seramik-metal nga kaso nga adunay proteksyon gikan sa tanan nga makalilisang nga mga hinungdan. Nanghinaut ko nga sa umaabot nga kita TANAN malipay sa mga bag-ong proyekto nga gipahibalo sa mga eksibisyon.
Bisan kinsa mahimong mag-usab, magbag-o ug mogamit sa debug board nga akong naugmad sa proseso sa edukasyon. Una sa tanan, naghimo ako og usa ka tabla alang sa akong kaugalingon, apan kini nahimo nga maayo kaayo Nakahukom ko nga ipaambit sa tanan.

Ang K1986BE1QI (hangin) usa ka makapaikag kaayo nga tigkontrol nga adunay talagsaon nga mga interface nga magamit sa mga unibersidad alang sa pagtudlo sa mga estudyante. Sa akong hunahuna nga pagkahuman sa pagtul-id sa mga sayup nga nahibal-an sa controller ug pagpasa sa mga pagsulay sa sertipikasyon, ang controller molupad sa tinuud nga kahulugan sa pulong!

Source: www.habr.com

Idugang sa usa ka comment