Famolavolana birao debug ho an'ny K1986BE1QI (aviation)

Famolavolana birao debug ho an'ny K1986BE1QI (aviation)

Taona vitsy lasa izay dia nahafantatra ny microcontrollers Rosiana avy any Milandr aho. Tamin'ny 2013, rehefa niresaka tamim-pahavitrihana ny injeniera momba ny vokatra voalohany tamin'ny Programan'ny Target Federal "Fampivoarana ny fototry ny singa elektronika sy ny radio elektronika" ho an'ny 2008-2015 ny injeniera. Tamin'izany fotoana izany dia efa navoaka ny controller K1986BE9x (Cortex-M3 core), ary vao niseho ny controller 1986BE1T (Cortex-M1 core). Izy, amin'ny raharaha plastika LQFP-144, dia nanana ny anarana K1986BE1QI (aviation) ao amin'ny antontan-taratasy, ary ny anarana MDR32F1QI amin'ny chip. Ao amin'ny tranokalan'ny mpanamboatra dia misy tovana "rivotra", satria manana fifandraisana manokana amin'ny indostrian'ny fiaramanidina izy (ARINC 429, MIL_STD_1553).

Mahagaga fa tamin'ny fotoana nizarana an'ireo mpanara-maso ireo, ny orinasa Milander dia nanomana kitapo debug sy tranombokin'ny subroutines hiasa amin'ny periferika, "fa tsy misy antoka sy adidy fanampiny momba ny fahamarinan'ny tranomboky." Ny tranomboky dia mitovy amin'ny Standard Peripheral Library avy amin'ny STMicroelectronics. Amin'ny ankapobeny, ny fanaraha-maso ARM rehetra natsangana tamin'ny core Cortex-M dia manana fitoviana be dia be. Noho izany antony izany dia nandeha haingana ny fifankahalana tamin'ireo mpanara-maso Rosiana vaovao. Ary ho an'ireo izay nividy fitaovana debug manokana dia nomena fanohanana ara-teknika nandritra ny fampiasana.

Famolavolana birao debug ho an'ny K1986BE1QI (aviation)
Kit debug ho an'ny microcontroller 1986BE1T, © Milandr

Na izany aza, rehefa nandeha ny fotoana, dia nanomboka niseho ny "aretin'ny zaza" amin'ny chips sy tranomboky vaovao. Ny ohatra andrana momba ny firmware dia niasa tsy nisy olana hita maso, saingy tamin'ny fianjeran'ny fanovana lehibe dia nilatsaka ny orana. Ny "telina" voalohany tamin'ny fanazaran-tenako dia ny tsy fahombiazana tsy hay hazavaina amin'ny fanaraha-maso CAN. Herintaona taty aoriana, nisy olana tamin'ny maody hita tao amin'ny 1986BE1T (air) mpanara-maso ny fanavaozana vao haingana. MCIO (fantsona fifanakalozam-baovao marobe). Amin'ny ankapobeny, ny fanavaozana rehetra momba ireo microcontroller ireo hatramin'ny taona 2016 dia voafetra ihany ny fampiasana azy. Nandeha be ny fotoana sy ny fihenjanana mba hamantarana ireo olana ireo, ny fanamafisana izay azo jerena ankehitriny lisitry ny fahadisoana (Errata).

Ny endri-javatra tsy mahafinaritra dia ny hoe ilaina ny miasa sy miatrika lesoka tsy amin'ny tabilao debug, fa amin'ny takelaka misy fitaovana prototype izay nokasaina ho an'ny famokarana orinasa serial. Ankoatra ny mpampitohy JTAG dia matetika tsy nisy na inona na inona tao. Sarotra sy sarotra ny mifandray amin'ny mpandinika lojika, ary matetika tsy misy LED sy efijery. Noho izany antony izany dia nipoitra tao an-dohako ny hevitra hamoronana ny birao debug manokana.

Amin'ny lafiny iray, nisy kitapo debug misy marika eny an-tsena, ary koa boards mahafinaritra avy amin'ny LDM-Systems avy any Zelenograd. Amin'ny lafiny iray, ny vidin'ireo vokatra ireo dia mitarika ho amin'ny fahasahiranana, ary ny fiasa fototra tsy misy karatra fanitarana dia tsy mahafeno ny andrasana. Tsy mahaliana ahy ny solaitrabe misy mpanara-maso sy lohan'ny pin. Ary ny boards mahaliana kokoa dia lafo.

Famolavolana birao debug ho an'ny K1986BE1QI (aviation)
Birao fampandrosoana MILAND LDM-HELPER-K1986BE1QI-FULL, © LDM Systems

Ny orinasa "Milandr" dia manana politikam-barotra sy varotra tokana. Noho izany, azo atao ny maka santionany amin'ny microcircuits sasany maimaim-poana, saingy tsy misy afa-tsy amin'ny fikambanana ara-dalàna izany ary mifandray amin'ny fikatsahana birao. Amin'ny ankapobeny, ny microcircuits ao anaty fonosana seramika-metaly dia volamena amin'ny heviny ara-bakiteny sy ara-panoharana. Ohatra, ny 1986BE1T controller vidin'ny ao Moskoa 14 ka hatramin'ny 24 arivo roubles. Ny chip static memory 1645RU6U dia mitentina 15000 roubles. Ary izany no filaharan'ny vidin'ny vokatra rehetra. Vokatr'izany, na ny ivon-toeram-pikarohana manokana miaraka amin'ny baikon'ny fanjakana aza dia mitahiry vola ary manalavitra ny vidiny toy izany. Ny chips amin'ny tranga plastika ho an'ny fampiasana sivily dia mora kokoa, saingy tsy misy amin'ny mpamatsy malaza. Ankoatra izany, ny kalitaon'ny chips amin'ny tranga plastika, toa ahy, dia ratsy noho ny "volamena". Ohatra, tsy afaka nihazakazaka ny K1986BE1QI controller aho tamin'ny 128MHz raha tsy nampitombo ny tselatra latency. Mandritra izany fotoana izany, ny mari-pana amin'ity controller ity dia niakatra ho 40-50C. Saingy ny 1986BE1T ("volamena") dia nanomboka tamin'ny 128 MHz tsy misy fanovana fanampiny ary nijanona mangatsiaka. Tena tsara izy.

Famolavolana birao debug ho an'ny K1986BE1QI (aviation)
"Gold" microcontroller 1986BE1T, (c) Milandr

Tsara vintana aho fa mbola azo vidiana amin'ny antsinjarany avy amin'ny LDM Systems ny microcontroller ao anaty vata plastika, ary azo alaina maimaim-poana ny boards rehetra. Ny ratsy dia eo amin'ny tranokala amin'ny sarin'ny mpanara-maso dia misy marika hita milaza fa ity no fanavaozana faha-4 amin'ny 2014, izany hoe. misy kilema. Nieritreritra ela aho - hividy na tsy hividy. Dia lasa taona maromaro...

Tsy nanjavona na taiza na taiza ny hevitra hamoronana birao debug. Namorona tsikelikely ny fepetra rehetra aho ary nieritreritra ny fomba hametrahana izany rehetra izany amin'ny solaitrabe iray, mba ho compact sy tsy lafo. Mifanaraka amin'izany, nanafatra ireo singa tsy hita tamin'ny sinoa aho. Tsy maika aho - nanao ny zava-drehetra ho an'ny tenako. Ny mpamatsy sinoa dia malaza amin'ny filalaovana - tsy maintsy nanafatra zavatra mitovy amin'ny toerana samihafa aho mba hahazoana izay rehetra nilaiko. Ankoatra izany, ny sasany amin'ireo puce fitadidiana dia lasa fanindroany - mazava ho azy fa avy amin'ny fitaovana simba. Nahavoa ahy izany taty aoriana.

Ny fividianana microcontroller Milandr K1986BE1QI (aviation) dia tsy asa mora. Tao amin'ny fivarotana Chip sy Dip iray ihany, tao amin'ny fizarana "Positions to order", K1986BE92QI ihany no hitako tamin'ny 740 roubles, saingy tsy nety tamiko izany. Ny hany safidy dia ny mividy fanavaozana tsy vaovao avy amin'ny LDM-Systems amin'ny 2000 roubles. Koa satria tsy nahita solony tany an-toeran-kafa aho, dia nanapa-kevitra ny hividy an'izany aho. Nahagaga ahy fa namidin'izy ireo ahy ny fanaraha-maso famoahana vaovao tamin'ny Desambra 2018, fanavaozana 6+ (1820). Ary mbola manana sary taloha ilay tranokala, ary amin'ny fotoana anoratana dia tsy misy ny mpanara-maso ...

Famolavolana birao debug ho an'ny K1986BE1QI (aviation)
Microcontroller K1986BE1QI (aviation) amin'ny fonosana teknolojia, (c) Sary avy amin'ny mpanoratra

Famaritana ara-teknika lehibe amin'ny birao fampandrosoana ahy MDB1986 ireto manaraka ireto:

  • naorina-in debugger-programmer mifanaraka amin'ny J-Link sy CMSIS-DAP;
  • Fahatsiarovana static 4Mbit (256k x 16, 10 ns);
  • puce fahatsiarovana tselatra 64Mbit, Winbond 25Q64FVSIG;
  • RS-232 interface transceiver miaraka amin'ny tsipika RTS sy CTS;
  • interfaces sy connectors ho an'ny Ethernet, USB, CAN;
  • 7-segment fanaraha-maso fampisehoana MAX7221;
  • pin connector miasa amin'ny MCIO (MIL_STD_1553) sy ARINC429;
  • phototransistor Everlight PT17-21C;
  • LED dimy miloko, bokotra reset ary bokotra mpampiasa roa;
  • Izy io dia mandeha amin'ny seranana USB 5 volts;
  • refin'ny board circuit printy 100 x 80, mm

Tiako ny tabilaon'ny andian-tsarimihetsika STM-Discovery satria manana programa-debugger ao anatiny izy ireo - ST-Link. Ny ST-Link manan-tompo dia miara-miasa amin'ny mpanara-maso STMicroelectronics ihany, fa roa taona lasa izay dia azo atao ny manavao ny firmware ao amin'ny ST-Link ary mahazo ny SEGGER J-Link OB (eo amin'ny sambo) Debugger. Ara-dalàna, misy famerana ny fampiasana ny debugger toy izany ihany amin'ny STMicroelectronics boards, fa raha ny marina dia tsy voafetra ny mety. Noho izany, manana J-Link OB, dia afaka manana naorina-in programmer-debugger eo amin'ny birao debug. Marihiko fa ny vokatra LDM-Systems dia mampiasa ny converter CP2102 (Usb2Uart), izay tsy afaka tselatra fotsiny.

Famolavolana birao debug ho an'ny K1986BE1QI (aviation)
STM32F103C8T6 microcontrollers, tena izy fa tsy izany, (c) Sary avy amin'ny mpanoratra

Noho izany dia nilaina ny mividy ny STM32F103C8T6 tany am-boalohany, satria tsy hiasa tsara amin'ny clone ny firmware misy marika. Nisalasala aho ity tesis ity ary nanapa-kevitra ny hanandrana ny CS32F103C8T6 controller avy amin'ny orinasa sinoa CKS. Tsy manana fitarainana momba ny controller mihitsy aho, fa ny firmware ST-Link manana azy dia tsy niasa tao. J-Link dia niasa tamin'ny ampahany - hita ny fitaovana USB, saingy tsy nanatanteraka ny asany ny programmer ary nampahatsiahy hatrany fa "kilema".

Famolavolana birao debug ho an'ny K1986BE1QI (aviation)
Hadisoana rehefa mampandeha ny debugger amin'ny fanaraha-maso tsy tany am-boalohany

Tsy nionona tamin'izany aho ary nanoratra voalohany ny firmware ho an'ny jiro LED, ary avy eo dia nampihatra ny fangatahana IDCODE tamin'ny alàlan'ny protocol JTAG. Ny programmer ST-Link nananako tao amin'ny tabilao Discovery sy ny programa ST-Link Utility dia nandefa CS32F103C8T6 tsy nisy olana. Vokatr'izany dia nataoko antoka fa miasa ny biraoko. Faly aho fa namoaka tamim-pifaliana ny IDCODE teo amin'ny tsipika TDO ilay controller kendrena K1986BE1QI (aviation).

Famolavolana birao debug ho an'ny K1986BE1QI (aviation)
Oscillogram amin'ny tsipika famantarana TDO miaraka amin'ny valin-kafatra IDCODE, (c) Sary avy amin'ny mpanoratra

Famolavolana birao debug ho an'ny K1986BE1QI (aviation)
Noho izany, ny seranan-tsambo SWD dia azo ampiasaina amin'ny debugging ny debugger sy ny fanamarinana IDCODE

Nisy safidy tamin'ny debugger CMSIS-DAP (Serana fidirana debug). Tsy asa mora ny fananganana tetikasa avy amin'ny loharanon'ny ARM, nalaiko ilay tetikasa X893, ary nanandrana DAP42 koa aho. Indrisy anefa fa tafahitsoka i Keil uVision ary tsy te hiara-hiasa amin'izy ireo. Vokatr'izany dia nosoloiko tamin'ny STM32F103C8T6 ny puce debugger ary tsy niverina tamin'ity olana ity mihitsy aho.

Famolavolana birao debug ho an'ny K1986BE1QI (aviation)
Fampandehanana mahomby amin'ny debugger J-Link STLink V2

Rehefa nisy ny singa fototra rehetra amin'ny birao debug ho avy dia niditra tao amin'ny Eagle CAD aho ary hitako fa tsy tao amin'ny tranombokin'ny singa izy ireo. Tsy misy na aiza na aiza - tsy maintsy nanao sary azy ireo aho. Nandritra izany fotoana izany dia nanao seza ho an'ny fitadidiana aho, ny connector HanRun ho an'ny Ethernet, ary nanampy frame ho an'ny resistors sy capacitors. Ny rakitra tetikasa sy ny tranomboky singa dia azo jerena Manana izany ao amin'ny GitHub aho.

Ireo singa mifandraika amin'ny MDB1986Famolavolana birao debug ho an'ny K1986BE1QI (aviation)

Ny birao dia mampiasa loharano 5 volt DC avy amin'ny seranan-tsambo USB. Misy seranana USB Type-B roa eo amin'ny solaitrabe. Ny iray dia ho an'ny programmer, ny faharoa dia ho an'ny K1986BE1QI controller. Ny birao dia afaka miasa avy amin'ny iray amin'ireo loharano ireo na amin'ny fotoana iray ihany. Ny fanitsiana enta-mavesatra tsotra indrindra sy ny fiarovana ny tariby herinaratra dia ampiharina amin'ny diodes Schottky, ao amin'ny faritra D2 sy D3 (SS24). Ao amin'ny kisary ihany koa dia azonao atao ny mahita ireo fuses mamerina amin'ny laoniny F1 sy F2 amin'ny 500mA. Ny tsipika famantarana ny seranan-tsambo USB dia arovan'ny fivorian'ny diode USBLC6-2SC6.

Ny ST-Link debugger-programmer circuit dia fantatry ny maro, azo jerena ao amin'ny antontan-taratasy ho an'ny boards STM32-Discovery sy loharano hafa. Ho an'ny firmware voalohany amin'ny clone ST-Link / J-Link-OB / DAP (tsy voatery), dia namoaka ny tsipika SWDIO (PA13), SWCLK (PA14), GND aho. Maro no mampiasa UART ho an'ny firmware ary voatery misintona ny jumper BOOT. Fa ny SWD dia mety kokoa amiko, ankoatra ity protocol ity dia mamela ny debugging.

Saika ny singa rehetra ao amin'ny birao dia mandeha amin'ny 3.3 volts, izay avy amin'ny regulator malefaka AMS1117-3.3. Mba hanakanana ny fitsabahana elektromagnetika sy ny fisondrotan'izao fotoana izao, dia ampiasaina ny sivana LC avy amin'ny kapasitera sy kenda an'ny andiany BLM31PG.

Misaraka, mendrika ny manonona ny mpamily fampisehoana MAX7 7221-segment. Araka ny famaritana, ny famatsiana herinaratra atolotra dia avy amin'ny 4 ka hatramin'ny 5.5 volts, ary ny haavon'ny famantarana avo (lojika) dia farafahakeliny 3.5V (0.7 x VCC), rehefa mandeha amin'ny 5V. Ho an'ny K1986BE1QI controller (aviation), ny vokatra avy amin'ny singa lojika dia mifanaraka amin'ny voltase avy amin'ny 2.8 mankany 3.3V. Mazava ho azy fa misy tsy fitoviana amin'ny haavon'ny famantarana izay mety hanelingelina ny fampandehanana ara-dalàna. Nanapa-kevitra ny hampiato ny MAX7221 amin'ny 4V aho ary hampidina ny haavon'ny famantarana ho 2.8V (0.7 x 4 = 2.8). Mba hanaovana izany, ny diode D4 (RS1A na FR103) dia napetraka amin'ny andian-tsarimihetsika ao amin'ny circuit power driver. Ny totalin'ny rotsak'orana dia 0.9V (0.3V Schottky diode sy 0.6V diode), ary mandeha ny zava-drehetra.

Ny ankamaroan'ny seranana ao amin'ny microcontroller K1986BE1QI (aviation) dia mifanaraka amin'ny famantarana hatramin'ny 5V. Noho izany, ny fampiasana ny transceiver MCP2551 CAN, izay miasa amin'ny 5V ihany koa, dia tsy miteraka olana. Ny kisary dia mampiseho ny chip MAX232 ho RS-3232 transceiver, fa raha ny marina dia nampiasa SN65C3232D avy amin'ny Texas Instruments aho, satria miasa amin'ny 3.3V izy io ary manome hafainganam-pandeha hatramin'ny 1Mbit/s.

Misy resonator quartz 4 eo amin'ny solaitrabe - iray ho an'ny debugger (8 MHz) ary telo ho an'ny microcontroller kendrena K1986BE1QI (aviation) miaraka amin'ny sanda nomena 32.768 kHz, 16 MHz, 25 MHz. Ireo dia singa ilaina, satria. ny masontsivana ny naorina-in RC generator dia eo amin'ny midadasika ny 6 ka hatramin'ny 10 MHz. Ny fatran'ny 25 MHz dia takiana amin'ny fampandehanana ny fanaraha-maso Ethernet naorina. Noho ny antony sasany, ny tranokalan'i Milandra (angamba ho diso) dia milaza fa tsy misy Ethernet ao anaty kitapo plastika. Fa hiantehitra amin'ny famaritana sy ny zava-misy isika.

Ny fandrisihana manan-danja amin'ny famoronana birao debug anao manokana dia ny fahafahana miara-miasa amin'ny fiara fitateram-pitaterana EBC ivelany (external bus controller), izay seranan-tsambo mifanitsy amin'ny ankapobeny. Ny K1986BE1QI microcontroller (aviation) dia ahafahanao mifandray sy miasa amin'ny puce fitadidiana ivelany sy fitaovana periferika, toy ny ADC, FPGA, sns. Ny fahafahan'ny fiara fitateram-bahoaka ivelany dia lehibe - afaka miasa amin'ny 8-bit, 16-bit ary 32-bit static RAM, ROM ary NAND Flash ianao. Ho an'ny famakiana / fanoratana angona 32-bit, ny mpanara-maso dia afaka manao asa 2 mifanaraka amin'izany ho an'ny microcircuits 16-bit, ary asa 8 ho an'ny 4-bit. Mazava ho azy fa ny fandidiana I/O 32-bit no haingana indrindra amin'ny bus data 32-bit. Ny tsy fahampiana dia ny filàna ny programa miasa miaraka amin'ny angon-drakitra 32-bit, ary ny birao dia tsy maintsy mametraka lalana 32.

Famolavolana birao debug ho an'ny K1986BE1QI (aviation)
SRAM puce, efa nampiasaina (hevero hoe iza no tsy mety)

Ny vahaolana voalanjalanja dia ny fampiasana puce mémoire 16-bit. Niafara tamin'ny chips Integrated Silicon Solutions Inc. aho. (ISSI IS61LV25616AL, 16x256k, 10ns, 3.3V). Mazava ho azy, ny orinasa "Milandr" manana ny static fahatsiarovana chips Sary 1645RUfa lafo loatra ary tsy misy. Raha tsy izany dia misy Samsung K6R4016V1D mifanentana amin'ny pin. Nolazaiko teo aloha fa ny ICs dia tanana faharoa ary ny kopia napetrako tamin'ny voalohany dia nikoropaka sy tsy nety tamin'ny laharana faha-15. Naharitra andro maromaro vao nahita ny hadisoana amin'ny fitaovana, ary vao mainka ny fahatsapana fahafaham-po rehefa nosoloiko ilay puce simba tamin'ny iray miasa. Na izany na tsy izany, ny hafainganan'ny fiasana amin'ny fitadidiana ivelany dia mamela betsaka.

Bus ivelany sy fomba mitokanaNy microcontroller K1986BE1QI (aviation) dia manana fomba StandAlone tokana, izay natao ho an'ny fidirana ivelany mivantana amin'ny Ethernet sy MCIO controllers (MIL_STD_1553) amin'ny alàlan'ny fiara fitateram-bahoaka ivelany, raha toa ka ao anatin'ny reset ny fotony, izany hoe. tsy ampiasaina. Ity fomba ity dia ilaina ho an'ny processeur sy FPGA izay tsy manana Ethernet sy/na MCIO.
Ny diagram ny fifandraisana dia toy izao manaraka izao:

  • data bus MCU(D0-D15) => SRAM(I/O0-I/O15),
  • adiresy bus MCU(A1-A18) => SRAM(A0-A17),
  • Fanaraha-maso MCU(nWR,nRD,PortC2) => SRAM (WE,OE,CE),
  • SRAM(UB,LB) dia mifandray na misintona amin'ny tany amin'ny alalan'ny resistor.

Ny tsipika CE dia alaina amin'ny herinaratra amin'ny alàlan'ny resistor, tsy ampiasaina ny tsipika MCU byte fetch (BE0-BE3). Eo ambanin'ny mpandroba dia omeko ny kaody ho an'ny fanombohana ny seranana sy ny mpitantana bus ivelany.

Fanombohana ny seranan-tsambo sy ny 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);
}

Ny microcontroller ao amin'ny fonosana LQFP-144 sy ny fitadidiana ao amin'ny fonosana TSOP-44 dia manana pins maro mifandray ary maka toerana PCB be dia be. Manana traikefa amin'ny famahana ny olan'ny optimization eo amin'ny sehatry ny toekarena, dia niharihary tamiko fa tokony hapetraka eo amin'ny solaitrabe aloha ireo microcircuits ireo. Tao amin'ny loharano isan-karazany dia nahita hevitra momba ny fiderana aho CAD TopoR (Topological Router). Nisintona ny dikan-tsarimihetsika aho ary afaka nanondrana ny tetikasako avy amin'ny Eagle CAD tany raha tsy nesoriko saika ny singa rehetra. Indrisy anefa fa tsy nanampy ahy hametraka na singa 10 eo amin'ny solaitrabe aza ny programa TopoR. Voalohany, ny singa rehetra dia napetraka teo amin'ny zorony, ary avy eo dia nalahatra teo amin'ny sisiny. Tsy nahafa-po ahy io safidy io, ary nandany fotoana ela aho tamin'ny fanaraha-maso ny solaitrabe tamin'ny alàlan'ny tontolo mahazatra Eagle CAD.

Ny fanontam-pirinty dia singa manan-danja amin'ny board circuit printy. Ao amin'ny tabilao debug, tsy hoe tsy maintsy misy sonia ho an'ny singa elektronika ihany, fa tsy maintsy misy sonia ny connecteur rehetra. Eo amin'ny ilany andrefan'ny solaitrabe, napetrako ireo fampahatsiahivana latabatra miaraka amin'ny fiasan'ny seranan-tsambo (main, alternative, overridden, tena). Nanafatra ny fanamboarana ny takelaka fizaran-tany vita pirinty tany Shina tao amin'ny birao PCBWay malaza aho. Tsy hidera aho, satria tsara ny kalitao. Afaka manao tsara kokoa izy ireo amin'ny fandeferana kely kokoa, saingy ho sarany.

Famolavolana birao debug ho an'ny K1986BE1QI (aviation)
Namboarina boards circuit printy MDB1986, (c) Sary avy amin'ny mpanoratra

Tsy maintsy nesoriko ny singa "eo amin'ny lohalika" miaraka amin'ny vy fametahana 40-watt sy solder POS-61, satria mahalana aho, in-1-2 isan-taona, ary maina ny pasteur. Tsy maintsy nanova ny mpanara-maso sinoa CS32F103 ho an'ny STM32F103 tany am-boalohany ihany koa aho, ary avy eo nosoloina ny fahatsiarovana. Amin'ny ankapobeny, ankehitriny dia afa-po tanteraka amin'ny vokatra aho, na dia mbola tsy nanamarina ny fiasan'ny RS-232 sy CAN aza aho.

Famolavolana birao debug ho an'ny K1986BE1QI (aviation)
Debug board MDB1986 miasa — mamirapiratra sy mafana, (с) Sary avy amin'ny mpanoratra

Ao amin'ny tranokala "Milandra" dia afaka mahita ampy ianao fitaovana fianarana ho an'ny fanaraha-maso ny fianarana andiany 1986BE9 (Cortex-M3 core), fa ho an'ny microcontroller K1986BE1QI (aviation), tsy hitako izay na inona na inona. Rehefa avy nandinika ireo fitaovana navoaka tao, boky torolalana ary asa laboratoara ho an'ny anjerimanontolo aho, dia faly aho fa voaofana manerana ny firenena ny mpiasa mba hiara-miasa amin'ireo mpanara-maso Rosiana. Ny ankamaroan'ny fitaovana fanofanana dia voaomana hiasa amin'ny seranana I / O, timer, ADC, DAC, SPI, UART. IDE samihafa no ampiasaina (Keil, IAR, CodeMaster). Any amin'ny toerana iray dia mampiasa rejisitra CMSIS izy ireo, ary any amin'ny toerana iray mampiasa ny Tranomboky MDR. Tsy maintsy lazaina ny loharanon-karena Manomboka Milandr, izay mirakitra lahatsoratra maro avy amin'ny programmer fanazaran-tena. Ary, mazava ho azy, tsy tokony hanadino ny momba Forum Milandra.

Mieritreritra an'i MilandraNy microelectronics any Rosia dia mivoatra, ary ny orinasa "Milandr" dia manana anjara toerana lehibe amin'ity dingana ity. Misy microcontrollers vaovao mahaliana, ohatra, 1986BE81T sy Elektrosila miaraka amin'ny SpaceWire sy MKIO interfaces (mitovy amin'ny tamin'ny 1986BE1 ary, mety misy olana mitovy), sns. Fa ho an'ny mpianatra tsotra, mpampianatra ary injeniera sivily, dia tsy azo atao ny mividy microcircuit toy izany. Midika izany fa tsy ho afaka hamantatra haingana ny lesoka sy ny olana amin'ity chip ity ny vondrom-piarahamonina injeniera. Amiko aloha dia ilaina ny mamokatra microcircuits amin'ny raharaha plastika, mizara azy ireo amin'ny antoko liana rehetra, ary aorian'ny fankatoavana (latina approbatio - fankatoavana, fanekena) dia afaka manomana fanavaozana amin'ny raharaha seramika-metaly miaraka amin'ny fiarovana ny manam-pahaizana manokana. anton-javatra mahatsiravina rehetra. Manantena aho fa tsy ho ela dia ho faly isika rehetra amin'ireo tetikasa vaovao nambara tamin'ny fampirantiana.
Na iza na iza dia afaka mamerina, manova ary mampiasa ny birao debug izay novolavolaiko tamin'ny dingana fampianarana. Voalohany indrindra, nanao board ho an'ny tenako aho, saingy tena tsara izany Nanapa-kevitra ny hizara amin'ny rehetra aho.

K1986BE1QI (rivotra) dia mpanara-maso tena mahaliana miaraka amin'ny fifandraisana tokana azo ampiasaina any amin'ny oniversite hampianarana ny mpianatra. Heveriko fa aorian'ny fanitsiana ireo lesoka hita ao amin'ny mpanara-maso sy nandalo fitsapana fanamarinana, dia hanidina amin'ny tena hevitry ny teny ny mpanara-maso!

Source: www.habr.com

Add a comment