Datblygu bwrdd datblygu ar gyfer K1986BE1QI (hedfan)

Datblygu bwrdd datblygu ar gyfer K1986BE1QI (hedfan)

Sawl blwyddyn yn ôl deuthum yn gyfarwydd â microreolwyr Rwsiaidd o Milander. Roedd hi'n 2013, pan oedd peirianwyr yn trafod canlyniadau cyntaf y Rhaglen Darged Ffederal “Datblygu sylfaen cydrannau electronig ac electroneg radio” yn egnïol ar gyfer 2008-2015. Bryd hynny, roedd rheolydd K1986BE9x (craidd Cortex-M3) eisoes wedi'i ryddhau, ac roedd rheolydd 1986BE1T (craidd Cortex-M1) newydd ymddangos. Yn yr achos plastig, LQFP-144, roedd ganddo'r dynodiad K1986BE1QI (hedfan) yn y ddogfennaeth, ac ar y sglodyn ei hun y dynodiad MDR32F1QI. Ar wefan y gwneuthurwr mae ganddo'r ôl-ddodiad “avia”, gan fod ganddo ryngwynebau sy'n benodol i'r diwydiant awyrennau (ARINC 429, MIL_STD_1553).

Yn syndod, ar adeg dosbarthu’r rheolwyr hyn, roedd cwmni Milander wedi paratoi citiau dadfygio a llyfrgell o is-reolweithiau ar gyfer gweithio gyda perifferolion, “ond heb unrhyw warantau na rhwymedigaethau ychwanegol ynghylch cywirdeb y llyfrgell.” Mae'r llyfrgell yn debyg i'r Llyfrgell Ymylol Safonol o STMicroelectronics. Yn gyffredinol, mae gan yr holl reolwyr ARM sydd wedi'u hadeiladu ar graidd Cortex-M lawer yn gyffredin. Am y rheswm hwn, aeth ymgyfarwyddo â'r rheolwyr Rwsia newydd yn ei flaen yn gyflym. Ac i'r rhai a brynodd gitiau dadfygio brand, darparwyd cymorth technegol yn ystod y defnydd.

Datblygu bwrdd datblygu ar gyfer K1986BE1QI (hedfan)
Pecyn dadfygio ar gyfer microreolwr 1986BE1T, © Milander

Fodd bynnag, dros amser, dechreuodd “clefydau plentyndod” microcircuits a llyfrgelloedd newydd ymddangos. Gweithiodd enghreifftiau prawf o'r firmware heb broblemau gweladwy, ond gydag addasiadau sylweddol, digwyddodd damweiniau a gwallau. Y “llyncu” cyntaf yn fy bractis oedd methiannau anesboniadwy yng ngweithrediad rheolydd CAN. Flwyddyn yn ddiweddarach, darganfuwyd problem gyda'r modiwl ar reolwr 1986BE1T (hedfan) adolygiad cynnar MKIO (sianel cyfnewid gwybodaeth amlblecs). Yn gyffredinol, roedd yr holl ddiwygiadau o'r microreolyddion hyn hyd at 2016 o ddefnydd cyfyngedig. Aeth llawer o amser a nerfau i nodi'r problemau hyn, a gellir dod o hyd i gadarnhad ohonynt yn awr rhestrau gwallau (Errata).

Nodwedd annymunol oedd bod angen gweithio a delio â gwallau nid ar fyrddau dadfygio, ond ar fyrddau prototeip o ddyfeisiadau a gynlluniwyd ar gyfer cynhyrchu ffatri cyfresol. Fel arfer nid oedd dim byd yno heblaw'r cysylltydd JTAG. Roedd cysylltu â dadansoddwr rhesymeg yn anodd ac yn anghyfleus, ac fel arfer nid oedd unrhyw LEDs na sgriniau. Am y rheswm hwn, ymddangosodd y syniad o greu fy mwrdd dadfygio fy hun yn fy mhen.

Ar y naill law, roedd pecynnau dadfygio wedi'u brandio ar y farchnad, yn ogystal â byrddau gwych gan y cwmni LDM-Systems o Zelenograd. Ar y llaw arall, mae'r prisiau ar gyfer y cynhyrchion hyn yn syfrdanol, ac nid yw'r swyddogaeth sylfaenol heb gardiau ehangu yn bodloni disgwyliadau. Nid yw bwrdd gyda rheolydd sodro a chysylltydd pin o unrhyw ddiddordeb i mi. Ac mae byrddau mwy diddorol yn ddrud.

Datblygu bwrdd datblygu ar gyfer K1986BE1QI (hedfan)
Bwrdd datblygu MILANDR LDM-HELPER-K1986BE1QI-FULL, © LDM Systems

Mae gan gwmni Milander bolisi prisio a marchnata unigryw. Felly, mae'n bosibl cael samplau am ddim o rai microcircuits, ond dim ond i endidau cyfreithiol y mae hyn ar gael ac mae'n gysylltiedig â chwest biwrocrataidd. Yn gyffredinol, mae microcircuits mewn cas metel-ceramig yn aur yn yr ystyr llythrennol a ffigurol. Er enghraifft, mae rheolwr 1986BE1T yn costio rhwng 14 a 24 mil rubles ym Moscow. Mae sglodyn cof statig 1645RU6U yn costio o 15000 rubles. A dyma'r gorchymyn pris ar gyfer pob cynnyrch. O ganlyniad, mae hyd yn oed sefydliadau ymchwil arbenigol gyda gorchmynion y llywodraeth yn arbed arian ac yn osgoi prisiau o'r fath. Mae microcircuits mewn cas plastig at ddefnydd sifil yn sylweddol rhatach, ond nid ydynt ar gael gan gyflenwyr poblogaidd. Yn ogystal, mae ansawdd microcircuits mewn cas plastig, mae'n ymddangos i mi, yn waeth na rhai "aur". Er enghraifft, ni allwn redeg y rheolydd K1986BE1QI ar 128 MHz heb gynyddu'r paramedr latency fflach. Ar yr un pryd, cododd tymheredd y rheolydd hwn i 40-50C. Ond dechreuodd rheolydd 1986BE1T (“aur”) ar 128 MHz heb osodiadau ychwanegol ac arhosodd yn oer. Mae e'n dda iawn.

Datblygu bwrdd datblygu ar gyfer K1986BE1QI (hedfan)
Microreolydd “aur” 1986BE1T, (c) Milander

Roeddwn yn ffodus y gellir dal i brynu microreolydd mewn cas plastig mewn manwerthu o LDM Systems, ac mae pob diagram bwrdd ar gael am ddim. Y peth drwg yw y gallwch weld marc ar y wefan yn llun y rheolydd sy'n dweud mai dyma'r 4ydd adolygiad o 2014, h.y. gyda diffygion. Roeddwn i'n meddwl am amser hir a ddylwn brynu neu beidio. Aeth sawl blwyddyn heibio fel hyn...

Nid yw'r syniad o greu bwrdd dadfygio wedi diflannu yn unman. Yn raddol, ffurfiais yr holl ofynion a meddyliais sut i osod y cyfan ar un bwrdd fel y byddai'n gryno ac nid yn ddrud. Ar yr un pryd, gorchmynnais y cydrannau coll o'r Tseiniaidd. Doeddwn i ddim ar frys - fe wnes i bopeth i mi fy hun. Mae cyflenwyr Tsieineaidd yn ddrwg-enwog o flêr - roedd yn rhaid i mi archebu'r un peth o wahanol leoedd i gael popeth yr oeddwn ei angen. Ar ben hynny, roedd rhai o'r sglodion cof yn troi allan i gael eu defnyddio - yn ôl pob golwg sodro o ddyfeisiau wedi torri. Daeth hyn yn ôl i fy aflonyddu yn ddiweddarach.

Nid yw prynu microreolydd Milander K1986BE1QI (aer) yn dasg hawdd. Yn yr un siop Sglodion a Dip, yn yr adran “Eitemau i'w Harchebu”, dim ond K1986BE92QI a ddarganfyddais am 740 rubles, ond nid oedd yn gweddu i mi. Yr unig opsiwn yw prynu adolygiad nad yw'n ffres gan LDM-Systems am 2000 rubles. Gan na allwn ddod o hyd i un arall yn ei le, penderfynais brynu'r hyn oedd gennyf. Er mawr syndod i mi, fe wnaethant werthu rheolydd newydd sbon i mi a weithgynhyrchwyd ym mis Rhagfyr 2018, adolygiad 6+ (1820). Ond mae gan y wefan hen lun o hyd, ac ar adeg ysgrifennu nid yw'r rheolydd ar gael...

Datblygu bwrdd datblygu ar gyfer K1986BE1QI (hedfan)
Microreolydd K1986BE1QI (hedfan) mewn pecynnu technolegol, (c) Llun gan yr awdur

Prif nodweddion technegol fy mwrdd dadfygio MDB1986 y canlynol:

  • rhaglennydd dadfygiwr adeiledig, sy'n gydnaws â J-Link a CMSIS-DAP;
  • cof statig 4Mbit (256k x 16, 10 ns);
  • sglodion cof fflach 64Mbit, Winbond 25Q64FVSIG;
  • transceiver rhyngwyneb RS-232 gyda llinellau RTS a CTS;
  • rhyngwynebau a chysylltwyr ar gyfer Ethernet, USB, CAN;
  • MAX7 7221-segment rheolydd arddangos;
  • cysylltydd pin ar gyfer gweithio gyda MKIO (MIL_STD_1553) ac ARINC429;
  • ffototransistor Everlight PT17-21C;
  • LEDs pum lliw, botwm ailosod a dau fotwm defnyddiwr;
  • cyflenwad pŵer i'r porthladd USB yw 5 folt;
  • bwrdd cylched printiedig dimensiynau 100 x 80, mm

Roeddwn i'n hoffi'r byrddau cyfres STM-Discovery oherwydd bod ganddyn nhw raglennydd-debugger adeiledig - ST-Link. Dim ond gyda rheolwyr o STMicroelectronics y mae brand ST-Link yn gweithio, ond ychydig flynyddoedd yn ôl daeth yn bosibl diweddaru'r firmware yn ST-Link a chael Dadfygiwr J-Link OB (ar y bwrdd) SEGGER. Yn gyfreithiol, mae cyfyngiad ar ddefnyddio dadfygiwr o'r fath gyda byrddau STMicroelectronics yn unig, ond mewn gwirionedd nid yw'r potensial yn gyfyngedig. Felly, gyda J-Link OB, gallwch gael rhaglennydd-dadfygiwr adeiledig ar y bwrdd dadfygio. Sylwaf fod cynhyrchion LDM-Systems yn defnyddio'r trawsnewidydd CP2102 (Usb2Uart), a all fflachio yn unig.

Datblygu bwrdd datblygu ar gyfer K1986BE1QI (hedfan)
STM32F103C8T6 microreolyddion, go iawn a ddim mor real, (c) Llun gan yr awdur

Felly, roedd angen prynu'r STM32F103C8T6 gwreiddiol, gan na fydd firmware perchnogol yn gweithio'n gywir gyda'r clôn. Roeddwn yn amau'r traethawd ymchwil hwn a phenderfynais roi cynnig ar reolwr CS32F103C8T6 o'r cwmni Tsieineaidd CKS. Nid oes gennyf unrhyw gwynion am y rheolydd ei hun, ond nid oedd y cadarnwedd ST-Link perchnogol yn gweithio ynddo. Gweithiodd J-Link yn rhannol - canfuwyd y ddyfais USB, ond ni chyflawnodd y rhaglennydd ei swyddogaethau ac atgoffodd yn gyson ei fod yn "ddiffygiol".

Datblygu bwrdd datblygu ar gyfer K1986BE1QI (hedfan)
Gwall wrth redeg y dadfygiwr ar reolydd nad yw'n wreiddiol

Nid oeddwn yn fodlon â hyn ac yn gyntaf ysgrifennodd y firmware ar gyfer amrantu y LED, ac yna gweithredu'r cais IDCODE gan ddefnyddio'r protocol JTAG. Fflachiodd y rhaglennydd ST-Link, a oedd gennyf ar y bwrdd Discovery, a rhaglen ST-Link Utility CS32F103C8T6 heb unrhyw broblemau.Yn y diwedd, roeddwn yn argyhoeddedig bod fy mwrdd yn gweithio. Er mawr lawenydd i mi, cyhoeddodd y rheolwr targed K1986BE1QI (hedfan) ei IDCODE trwy'r llinell TDO.

Datblygu bwrdd datblygu ar gyfer K1986BE1QI (hedfan)
Osgilogram o linell signal TDO gydag ymateb IDCODE wedi'i amgodio, (c) Llun gan yr awdur

Datblygu bwrdd datblygu ar gyfer K1986BE1QI (hedfan)
Felly daeth y porthladd SWD yn ddefnyddiol ar gyfer dadfygio'r dadfygiwr ei hun a gwirio IDCODE

Roedd opsiwn gyda dadfygiwr CMSIS-DAP (Porth Mynediad Dadfygio). Nid yw adeiladu prosiect o ffynonellau ARM yn dasg hawdd, cymerais y prosiect oddi wrth X893, ac yna ceisiais DAP42. Yn anffodus, rhewodd Keil uVision ac nid oedd am weithio gyda nhw. O ganlyniad, rhoddais STM32F103C8T6 perchnogol yn lle'r sglodion dadfygiwr ac ni ddychwelodd erioed at y mater hwn.

Datblygu bwrdd datblygu ar gyfer K1986BE1QI (hedfan)
Gweithrediad llwyddiannus y dadfygiwr adeiledig J-Link STLink V2

Pan oedd holl gydrannau allweddol bwrdd datblygu'r dyfodol ar gael, es i mewn i Eagle CAD a darganfod nad oeddent yn y llyfrgell elfen. Doedd dim unman i fynd - roedd yn rhaid i mi eu tynnu fy hun. Ar yr un pryd, gwnes smotiau mowntio ar gyfer cof, cysylltydd HanRun ar gyfer Ethernet, ac ychwanegu fframiau ar gyfer gwrthyddion a chynwysorau. Gellir dod o hyd i ffeil y prosiect a'r llyfrgell gydrannau ar fy GitHub.

Diagram sgematig o fwrdd datblygu MDB1986Datblygu bwrdd datblygu ar gyfer K1986BE1QI (hedfan)

Mae'r bwrdd yn cael ei bweru gan ffynhonnell DC 5 folt a geir o'r porthladd USB. Mae cyfanswm o ddau borthladd USB Math-B ar y bwrdd. Mae un ar gyfer y rhaglennydd, mae'r ail ar gyfer y rheolydd K1986BE1QI. Gall y bwrdd weithredu o'r naill ffynhonnell neu'r llall neu'r ddwy ar yr un pryd. Mae'r rheoliad llwyth symlaf a'r amddiffyniad llinell bŵer yn cael eu gweithredu gan ddefnyddio deuodau Schottky, mewn cylched D2 a D3 (SS24). Hefyd yn y diagram gallwch weld ffiwsiau hunan-adfer F1 a F2 ar 500 mA. Mae llinellau signal y porthladd USB yn cael eu hamddiffyn gan gynulliad deuod USBLC6-2SC6.

Mae cylched dadfygiwr-rhaglennydd ST-Link yn hysbys i lawer; mae i'w gael yn y dogfennau ar gyfer byrddau STM32-Discovery a ffynonellau eraill. Ar gyfer cadarnwedd cychwynnol y clôn ST-Link/J-Link-OB/DAP (dewisol), dygais allan y llinellau SWDIO (PA13), SWCLK (PA14), GND. Mae llawer o bobl yn defnyddio UART ar gyfer firmware ac yn cael eu gorfodi i dynnu'r siwmperi BOOT. Ond rwy'n gweld SWD yn fwy cyfleus, ac mae'r protocol hwn yn caniatáu dadfygio.

Mae bron pob cydran o'r bwrdd yn cael ei bweru gan 3.3 folt, sy'n dod o reoleiddiwr foltedd AMS1117-3.3. Er mwyn atal ymyrraeth electromagnetig ac ymchwyddiadau cerrynt, defnyddir hidlwyr LC o gynwysorau a thagu'r gyfres BLM31PG.

Ar wahân, mae'n werth sôn am y gyrrwr arddangos MAX7 7221-segment. Yn ôl y fanyleb, mae'r cyflenwad pŵer a argymhellir rhwng 4 a 5.5 folt, ac mae lefel y signal uchel (un rhesymegol) o leiaf 3.5V (0.7 x VCC), gyda chyflenwad 5V. Ar gyfer y rheolydd K1986BE1QI (hedfan), mae allbwn uned resymegol yn cyfateb i foltedd o 2.8 i 3.3V. Yn amlwg, mae diffyg cyfatebiaeth rhwng lefelau'r signal a allai ymyrryd â gweithrediad arferol. Penderfynais bweru'r MAX7221 ar 4V a lleihau lefelau'r signal i 2.8V (0.7 x 4 = 2.8). I wneud hyn, gosodir deuod D4 (RS1A neu FR103) mewn cyfres yn y gylched pŵer gyrrwr. Cyfanswm y gostyngiad mewn foltedd yw 0.9V (deuod Schottky 0.3V a deuod 0.6V), ac mae popeth yn gweithio.

Mae'r rhan fwyaf o borthladdoedd y microreolydd K1986BE1QI (hedfan) yn gydnaws â signalau hyd at 5V. Felly, nid oes problem wrth ddefnyddio'r transceiver CAN MCP2551, sydd hefyd yn gweithredu ar 5V. Mae'r sglodyn MAX232 wedi'i nodi fel trosglwyddydd RS-3232 yn y diagram, ond mewn gwirionedd defnyddiais SN65C3232D o Texas Instruments, oherwydd mae'n gweithredu o 3.3V ac yn darparu cyflymderau hyd at 1Mbit yr eiliad.

Mae'r bwrdd yn cynnwys 4 cyseinydd cwarts - un ar gyfer y dadfygiwr (8 MHz) a thri ar gyfer y microreolydd targed K1986BE1QI (hedfan) gyda graddfeydd o 32.768 kHz, 16 MHz, 25 MHz. Mae'r rhain yn gydrannau angenrheidiol, oherwydd Mae paramedrau'r osgiliadur RC adeiledig o fewn ystod eang o 6 i 10 MHz. Mae angen amledd o 25 MHz ar gyfer gweithredu'r rheolydd Ethernet adeiledig. Am ryw reswm, mae gwefan Milandra (efallai trwy gamgymeriad) yn nodi nad oes gan yr achos plastig Ethernet. Ond byddwn yn dibynnu ar y fanyleb a'r ffeithiau.

Cymhelliant pwysig ar gyfer creu fy mwrdd datblygu fy hun oedd y cyfle i weithio gyda'r system bws allanol EBC (rheolwr bws allanol), sydd yn ei hanfod yn borthladd cyfochrog. Mae'r microreolydd K1986BE1QI (awyrennau) yn caniatáu ichi gysylltu a gweithio gyda sglodion cof allanol a dyfeisiau ymylol, er enghraifft, ADCs, FPGAs, ac ati. Mae galluoedd y bws system allanol yn eithaf mawr - gallwch weithio gyda RAM statig 8-bit, 16-bit a 32-bit, ROM a NAND Flash. I ddarllen/ysgrifennu data 32-did, gall y rheolydd gyflawni 2 weithred gyfatebol yn awtomatig ar gyfer sglodion 16-did, a 8 gweithrediad ar gyfer sglodion 4-did. Yn amlwg, bydd gweithrediad I/O 32-did yn cael ei gwblhau gyflymaf gyda bws data 32-did. Mae'r anfanteision yn cynnwys yr angen i'r rhaglen weithredu gyda data 32-bit, a bydd yn rhaid i'r bwrdd osod 32 trac.

Datblygu bwrdd datblygu ar gyfer K1986BE1QI (hedfan)
Sglodion RAM statig, a ddefnyddir (dyfalwch pa un sy'n ddiffygiol)

Ateb cytbwys yw defnyddio sglodion cof 16-did. Roeddwn i'n digwydd bod â sglodion Integrated Silicon Solutions Inc. mewn stoc. (ISSI IS61LV25616AL, 16 x 256k, 10 ns, 3.3V). Wrth gwrs, mae gan gwmni Milander ei sglodion cof sefydlog ei hun cyfres 1645RU, ond maent yn rhy ddrud ac nid ydynt ar gael. Fel dewis arall, mae Samsung K6R4016V1D sy'n gydnaws â phin. Yn gynharach soniais fod y microcircuits wedi troi allan i gael eu defnyddio a bod y copi a osodais i ddechrau yn rhoi methiannau a gwerthoedd anhrefnus yn y 15fed llinell ddata. Cymerodd sawl diwrnod i ddod o hyd i wallau caledwedd, a'r mwyaf yw'r teimlad o foddhad pan roddais un gweithredol yn lle'r sglodyn difrodi. Boed hynny fel y gall, mae cyflymder gweithio gyda chof allanol yn gadael llawer i'w ddymuno.

Bws allanol a modd StandAloneMae gan y microreolydd K1986BE1QI (awyrennau) fodd StandAlone unigryw, sydd wedi'i gynllunio ar gyfer mynediad allanol uniongyrchol i reolwyr Ethernet a MKIO (MIL_STD_1553) trwy fws allanol, gyda'r craidd yn y cyflwr ailosod, h.y. na chaiff ei ddefnyddio. Mae'r modd hwn yn gyfleus i broseswyr a FPGAs nad oes ganddynt Ethernet a / neu MKIO.
Mae'r diagram cysylltiad fel a ganlyn:

  • bws data MCU(D0-D15) => SRAM(I/O0-I/O15),
  • bws cyfeiriad MCU(A1-A18) => SRAM(A0-A17),
  • rheoli MCU(nWR, nRD, PortC2) => SRAM (WE,OE,CE),
  • Mae SRAM (UB, LB) yn cael eu cysylltu neu eu tynnu i'r ddaear trwy wrthydd.

Mae'r llinell CE wedi'i chysylltu â'r cyflenwad pŵer trwy wrthydd; ni ddefnyddir y pinnau ar gyfer samplu beit MCU (BE0-BE3). O dan y sbwyliwr, rwy'n darparu'r cod ar gyfer cychwyn y porthladdoedd a'r rheolydd bws allanol.

Cychwyn porthladdoedd a rheolydd EBC (rheolwr bws allanol)

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

Mae gan y microreolydd yn y pecyn LQFP-144 a'r cof yn y pecyn TSOP-44 lawer o binnau cysylltiedig ac maent yn cymryd llawer o le ar y bwrdd cylched printiedig. O gael profiad o ddatrys problemau optimeiddio ym maes economeg, roedd yn amlwg i mi fod angen gosod y microcircuits hyn ar y bwrdd yn gyntaf. Mewn amrywiol ffynonellau rwyf wedi dod ar draws adolygiadau canmoliaethus am CAD TopoR (Llwybrydd Topolegol). Fe wnes i lawrlwytho'r fersiwn prawf ac roeddwn i'n gallu allforio fy mhrosiect o Eagle CAD yno dim ond ar ôl i mi dynnu bron pob un o'r cydrannau. Yn anffodus, ni wnaeth rhaglen TopoR fy helpu i osod hyd yn oed 10 elfen ar y bwrdd. Yn gyntaf, gosodwyd yr holl gydrannau mewn cornel, ac yna eu trefnu ar hyd yr ymyl. Nid oeddwn yn fodlon â'r opsiwn hwn, ac am amser hir fe wnes i olrhain y bwrdd â llaw yn amgylchedd cyfarwydd Eagle CAD.

Elfen bwysig o fwrdd cylched printiedig yw argraffu sgrin sidan. Rhaid i'r bwrdd datblygu nid yn unig gael labeli ar gyfer y cydrannau electronig, ond rhaid labelu pob cysylltydd hefyd. Ar gefn y bwrdd gosodais dablau gyda swyddogaethau'r porthladdoedd rheolydd (prif, amgen, diystyru, gwirioneddol). Gorchmynnais gynhyrchu byrddau cylched printiedig yn Tsieina o swyddfa adnabyddus PCBWay. Ni fyddaf yn ei ganmol oherwydd bod yr ansawdd yn dda. Gallant wneud yn well, gyda goddefiannau tynnach, ond am ffi.

Datblygu bwrdd datblygu ar gyfer K1986BE1QI (hedfan)
Byrddau cylched printiedig MDB1986 wedi'u gweithgynhyrchu, (c) Llun gan yr awdur

Roedd yn rhaid i mi sodro'r cydrannau “ar fy ngliniau” gyda haearn sodro 40-wat a sodr POS-61, oherwydd anaml y byddaf yn sodro, 1-2 gwaith y flwyddyn, ac roedd y past sodro wedi sychu. Roedd yn rhaid i mi hefyd newid y rheolydd CS32F103 Tsieineaidd i'r STM32F103 gwreiddiol, ac yna disodli'r cof hefyd. Yn gyffredinol, nawr rwy'n gwbl fodlon â'r canlyniad, er nad wyf eto wedi gwirio gweithrediad RS-232 a CAN.

Datblygu bwrdd datblygu ar gyfer K1986BE1QI (hedfan)
Bwrdd dadfygio MDB1986 ar waith - mae'n disgleirio ac yn cynhesu, (c) Llun gan yr awdur

Ar wefan Milandra gallwch ddod o hyd i ddigon deunyddiau addysgol ar gyfer rheolwyr dysgu cyfres 1986BE9 (Craidd Cortex-M3), ond ar gyfer y microreolydd K1986BE1QI (hedfan) nid wyf yn gweld unrhyw beth yno. Ar ôl edrych ar y deunyddiau, y llawlyfrau a’r gwaith labordy ar gyfer prifysgolion a gyhoeddwyd yno, rwy’n falch bod personél yn cael eu hyfforddi ledled y wlad i weithio gyda rheolwyr Rwsia. Mae'r rhan fwyaf o ddeunyddiau hyfforddi yn paratoi ar gyfer gweithio gyda phorthladdoedd I/O, amseryddion, ADC, DAC, SPI, UART. Defnyddir gwahanol amgylcheddau datblygu IDE (Keil, IAR, CodeMaster). Yn rhywle maen nhw'n rhaglennu gan ddefnyddio cofrestrau CMSIS, ac yn rhywle maen nhw'n defnyddio'r Llyfrgell MDR. Rhaid crybwyll adnoddau Cychwyn Milandr, sy'n cynnwys llawer o erthyglau gan raglenwyr sy'n ymarfer. Ac, wrth gwrs, ni ddylem anghofio amdano Fforwm Milandra.

Meddwl am MilandraMae microelectroneg yn datblygu yn Rwsia, ac mae cwmni Milander yn chwarae rhan amlwg yn y broses hon. Mae microreolyddion diddorol newydd yn ymddangos, er enghraifft, 1986BE81T ac Elektrosila gyda rhyngwynebau SpaceWire a MKIO (yr un peth ag yn 1986BE1 ac, o bosibl, gyda'r un problemau), ac ati. Ond ni all myfyrwyr cyffredin, athrawon a pheirianwyr sifil brynu microcircuits o'r fath. Mae hyn yn golygu na fydd y gymuned beirianyddol yn gallu nodi gwallau a phroblemau gyda'r sglodyn hwn yn gyflym. Mae'n ymddangos i mi fod yn gyntaf mae angen cynhyrchu microcircuits mewn cas plastig, eu dosbarthu i bawb sydd â diddordeb, ac ar ôl approbation (Lladin approbatio - cymeradwyaeth, cydnabyddiaeth) gan arbenigwyr, gallwch baratoi adolygiad mewn achos metel-ceramig gyda amddiffyniad rhag pob ffactor ofnadwy. Rwy'n gobeithio yn y dyfodol agos y byddwn ni PAWB yn falch o'r prosiectau newydd a gyhoeddwyd yn yr arddangosfeydd.
Gall y bwrdd dadfygio a ddatblygais gael ei ailadrodd, ei addasu a'i ddefnyddio gan unrhyw un yn y broses addysgol. Yn gyntaf oll, fe wnes i'r bwrdd i mi fy hun, ond fe drodd mor dda â hynny Penderfynais rannu gyda phawb.

Mae K1986BE1QI (aer) yn rheolydd diddorol iawn gyda rhyngwynebau unigryw y gellir eu defnyddio mewn prifysgolion i ddysgu myfyrwyr. Credaf, ar ôl cywiro'r gwallau a nodwyd yn y rheolydd a phasio profion ardystio, y bydd y rheolwr yn hedfan yng ngwir ystyr y gair!

Ffynhonnell: hab.com

Ychwanegu sylw