Leasachadh bòrd leasachaidh airson K1986BE1QI (itealain)

Leasachadh bòrd leasachaidh airson K1986BE1QI (itealain)

O chionn grunn bhliadhnaichean fhuair mi eòlas air microcontrollers Ruiseanach à Milander. B’ e 2013 a bh’ ann, nuair a bha innleadairean gu dùrachdach a’ deasbad a’ chiad thoraidhean den Phrògram Targaid Feadarail “Leasachadh bunait co-phàirtean dealanach agus electronics rèidio” airson 2008-2015. Aig an àm sin, bha an rianadair K1986BE9x (Cortex-M3 core) air a leigeil ma sgaoil mu thràth, agus bha rianadair 1986BE1T (Cortex-M1 core) dìreach air nochdadh. Anns a’ chùis phlastaig, LQFP-144, bha an sònrachadh K1986BE1QI (itealain) aige anns na sgrìobhainnean, agus air a’ chip fhèin an sònrachadh MDR32F1QI. Air làrach-lìn an neach-dèanamh tha an iar-leasachan “avia”, leis gu bheil eadar-aghaidh aige a tha sònraichte do ghnìomhachas an itealain (ARINC 429, MIL_STD_1553).

Gu h-iongantach, aig àm cuairteachadh nan luchd-riaghlaidh sin, dh’ ullaich a’ chompanaidh Milander innealan deasbaid agus leabharlann de fo-riaghailtean airson a bhith ag obair le iomaill, “ach às aonais barrantasan no dleastanasan a bharrachd a thaobh ceartachd an leabharlainn.” Tha an leabharlann coltach ris an Leabharlann Iomallach Coitcheann bho STMicroelectronics. San fharsaingeachd, tha mòran ann an cumantas aig a h-uile rianadair ARM a chaidh a thogail air cridhe Cortex-M. Air an adhbhar seo, chaidh eòlas air na riaghladairean ùra Ruiseanach air adhart gu sgiobalta. Agus dhaibhsan a cheannaich innealan deasbaid le suaicheantas, chaidh taic theicnigeach a thoirt seachad nuair a chaidh a chleachdadh.

Leasachadh bòrd leasachaidh airson K1986BE1QI (itealain)
Pasgan deasbaid airson microcontroller 1986BE1T, © Milander

Ach, thar ùine, thòisich “galaran leanabachd” de mhicro-chuairtean ùra agus leabharlannan a’ nochdadh. Dh'obraich eisimpleirean deuchainn den firmware gun duilgheadasan follaiseach, ach le atharrachaidhean mòra, thachair tubaistean agus mearachdan. B’ e a’ chiad “slugadh” nam eòlas fàilligidhean nach gabh mìneachadh ann an obrachadh rianadair CAN. Bliadhna às deidh sin, chaidh duilgheadas leis a’ mhodal a lorg air rianadair 1986BE1T (itealain) de ath-sgrùdadh tràth MKIO (sianal iomlaid fiosrachaidh ioma-fhillte). San fharsaingeachd, cha robh mòran feum air a h-uile ath-sgrùdadh air na microcontrollers sin gu 2016. Chaidh tòrr ùine agus nearbhan a-steach a bhith ag aithneachadh nan duilgheadasan sin, agus gheibhear dearbhadh air sin a-nis liostaichean mhearachdan (Earrata).

B 'e feart mì-thlachdmhor gun robh e riatanach a bhith ag obair agus a' dèiligeadh ri mearachdan chan ann air bùird deasbaid, ach air bùird innealan prototype a bha san amharc airson riochdachadh factaraidh sreathach. Mar as trice cha robh dad ann ach an ceanglaiche JTAG. Bha e duilich agus mì-ghoireasach a bhith a’ ceangal ri anailisiche loidsig, agus mar as trice cha robh LEDs no scrionaichean ann. Air an adhbhar seo, nochd am beachd a bhith a’ cruthachadh mo bhòrd deasbaid fhèin nam cheann.

Air an aon làimh, bha innealan deasbaid suaicheanta air a’ mhargaidh, a bharrachd air bùird mìorbhaileach bhon chompanaidh LDM-Systems bho Zelenograd. Air an làimh eile, tha prìsean nan toraidhean sin iongantach, agus chan eil gnìomhachd bunaiteach gun chairtean leudachaidh a’ coinneachadh ris na bha dùil. Chan eil bòrd le rianadair soldered agus ceanglaiche prìne inntinneach dhomh. Agus tha bùird nas inntinniche daor.

Leasachadh bòrd leasachaidh airson K1986BE1QI (itealain)
Bòrd leasachaidh MILANDR LDM-HELPER-K1986BE1QI-FULL, © LDM Systems

Tha poileasaidh prìsean agus margaidheachd sònraichte aig a’ chompanaidh Milander. Mar sin, tha e comasach sampallan an-asgaidh fhaighinn de chuid de microcircuits, ach chan eil seo ri fhaighinn ach le buidhnean laghail agus tha e co-cheangailte ri ceist biùrocratach. San fharsaingeachd, tha microcircuits ann an cùis meatailt-ceramic nan òr anns an t-seagh litireil agus fìrinneach. Mar eisimpleir, tha rianadair 1986BE1T a 'cosg bho 14 gu 24 mìle rubles ann am Moscow. Tha an sgiob cuimhne statach 1645RU6U a’ cosg bho 15000 rubles. Agus is e seo an òrdugh prìsean airson a h-uile toradh. Mar thoradh air an sin, bidh eadhon institiudan rannsachaidh sònraichte le òrdughan riaghaltais a’ sàbhaladh airgead agus a bhith diùid bho phrìsean mar sin. Tha microcircuits ann an cùis plastaig airson cleachdadh sìobhalta gu math nas saoire, ach chan eil iad rim faighinn bho sholaraichean mòr-chòrdte. A bharrachd air an sin, tha càileachd microcircuits ann an cùis plastaig, tha e coltach riumsa, nas miosa na an fheadhainn “òr”. Mar eisimpleir, cha b’ urrainn dhomh an rianadair K1986BE1QI a ruith aig 128 MHz gun a bhith ag àrdachadh am paramadair latency flash. Aig an aon àm, dh'èirich teòthachd an rianadair seo gu 40-50C. Ach thòisich rianadair 1986BE1T (“òr”) aig 128 MHz às aonais shuidheachaidhean a bharrachd agus dh’ fhan e fuar. Tha e uabhasach math.

Leasachadh bòrd leasachaidh airson K1986BE1QI (itealain)
Microcontroller “Òr” 1986BE1T, (c) Milander

Bha mi fortanach gum faodar microcontroller ann an cùis plastaig a cheannach fhathast aig reic bho LDM Systems, agus tha a h-uile clàr bùird rim faighinn gu saor. Is e an droch rud a th’ ann gum faic thu comharradh a tha ag ràdh gur e seo an 4mh ath-sgrùdadh de 2014 air an làrach-lìn san dealbh den rianadair, i.e. le lochdan. Bha mi a’ smaoineachadh airson ùine mhòr am bu chòir dhomh ceannach no nach bu chòir. Chaidh grunn bhliadhnaichean mar seo seachad...

Chan eil am beachd air bòrd deasbaid a chruthachadh air a dhol à bith an àite sam bith. Mean air mhean, chruthaich mi na riatanasan gu lèir agus smaoinich mi air mar a chuireas mi a h-uile càil air aon bhòrd gus am biodh e teann agus gun a bhith daor. Aig an aon àm, dh 'òrduich mi na pàirtean a bha a dhìth bho na Sìonaich. Cha robh mi ann an cabhag - rinn mi a h-uile càil dhomh fhìn. Tha solaraichean Sìneach gu math sloppy - bha agam ris an aon rud òrdachadh bho dhiofar àiteachan gus a h-uile dad a bha a dhìth orm fhaighinn. A bharrachd air an sin, thionndaidh cuid de na sgoltagan cuimhne gu bhith air an cleachdadh - a rèir coltais air an sàthadh bho innealan briste. Thàinig seo air ais gus mo shàrachadh nas fhaide air adhart.

Chan e obair fhurasta a th’ ann a bhith a’ ceannach microcontroller Milander K1986BE1QI (adhair). Anns an aon stòr Chip and Dip, anns an roinn “Items to order”, cha do lorg mi ach K1986BE92QI airson 740 rubles, ach cha robh e freagarrach dhomh. Is e an aon roghainn ath-sgrùdadh neo-ùr a cheannach bho LDM-Systems airson 2000 rubles. Leis nach b’ urrainn dhomh fear eile a lorg an àite sam bith eile, chuir mi romham na bha agam a cheannach. Airson mo iongnadh tlachdmhor, reic iad rianadair ùr snasail dhomh a chaidh a dhèanamh san Dùbhlachd 2018, ath-sgrùdadh 6+ (1820). Ach tha seann dealbh fhathast air an làrach, agus aig àm sgrìobhaidh chan eil an rianadair ri fhaighinn ...

Leasachadh bòrd leasachaidh airson K1986BE1QI (itealain)
Microcontroller K1986BE1QI (itealain) ann am pacadh teicneòlach, (c) Dealbh leis an ùghdar

Prìomh fheartan teicnigeach a’ bhùird deasbaid agam MDB 1986 na leanas:

  • prògramadair deasbaid togte, co-chosmhail ri J-Link agus CMSIS-DAP;
  • cuimhne statach 4Mbit (256k x 16, 10 ns);
  • chip cuimhne flash 64Mbit, Winbond 25Q64FVSIG;
  • Transceiver eadar-aghaidh RS-232 le loidhnichean RTS agus CTS;
  • eadar-aghaidh agus luchd-ceangail airson Ethernet, USB, CAN;
  • MAX7 7221-segment taisbeanadh rianadair;
  • ceangal prìne airson a bhith ag obair le MKIO (MIL_STD_1553) agus ARINC429;
  • phototransistor Everlight PT17-21C;
  • còig LEDan dath, putan ath-shuidheachadh agus dà phutan cleachdaiche;
  • tha solar cumhachd don phort USB 5 volts;
  • meud bòrd cuairteachaidh clò-bhuailte 100 x 80, mm

Chòrd na bùird sreath STM-Discovery rium oir tha prògramadair-debugger stèidhichte aca - ST-Link. Chan obraich Branded ST-Link ach le luchd-riaghlaidh bho STMicroelectronics, ach o chionn bliadhna no dhà bha e comasach am firmware ùrachadh ann an ST-Link agus SEGGER J-Link OB (air bòrd) Debugger fhaighinn. Gu laghail, tha cuingealachadh air a bhith a 'cleachdadh a leithid de dhì-bhugadair a-mhàin le bùird STMicroelectronics, ach gu dearbh chan eil an comas cuingealaichte. Mar sin, le J-Link OB, faodaidh tu prògramadair-debugger togte a bhith agad air a’ bhòrd deasbaid. Tha mi a’ toirt fa-near gu bheil toraidhean LDM-Systems a’ cleachdadh an inneal-tionndaidh CP2102 (Usb2Uart), nach urrainn ach frasadh.

Leasachadh bòrd leasachaidh airson K1986BE1QI (itealain)
Microcontrollers STM32F103C8T6, fìor agus nach eil cho fìor, (c) Dealbh leis an ùghdar

Mar sin, bha e riatanach an STM32F103C8T6 tùsail a cheannach, leis nach obraich firmware seilbh gu ceart leis a ’chlone. Bha mi teagmhach mun tràchdas seo agus chuir mi romham an rianadair CS32F103C8T6 fheuchainn bhon chompanaidh Sìneach CKS. Chan eil gearan sam bith agam mun rianadair fhèin, ach cha do dh'obraich am firmware seilbhe ST-Link ann. Bha J-Link ag obair gu ìre - chaidh an inneal USB a lorg, ach cha do rinn am prògramadair a dhleastanasan agus bha e an-còmhnaidh a ’cur nar cuimhne gu robh e“ easbhaidheach ”.

Leasachadh bòrd leasachaidh airson K1986BE1QI (itealain)
Mearachd nuair a ruith an dì-bhugadair air rianadair neo-thùsail

Cha robh mi riaraichte le seo agus sgrìobh mi am firmware an toiseach airson a bhith a’ priobadh an LED, agus an uairsin chuir mi an gnìomh an t-iarrtas IDCODE a’ cleachdadh protocol JTAG. Bha am prògramadair ST-Link, a bh’ agam air a’ bhòrd Discovery, agus am prògram ST-Link Utility a’ lasadh CS32F103C8T6 gun duilgheadas sam bith. Aig a’ cheann thall, bha mi cinnteach gun robh am bòrd agam ag obair. Gu mo thoileachas, chuir an rianadair targaid K1986BE1QI (itealain) an IDCODE aige gu sunndach tron ​​​​loidhne TDO.

Leasachadh bòrd leasachaidh airson K1986BE1QI (itealain)
Oscillogram de loidhne chomharran TDO le freagairt IDCODE còdaichte, (c) Dealbh leis an ùghdar

Leasachadh bòrd leasachaidh airson K1986BE1QI (itealain)
Mar sin thàinig am port SWD gu feum airson a bhith a’ dì-bhugachadh an dì-bhugadair fhèin agus a’ sgrùdadh IDCODE

Bha roghainn ann le debugger CMSIS-DAP (Port Ruigsinneachd Debug). Chan e obair furasta a th’ ann a bhith a’ togail pròiseact bho stòran ARM, thug mi am pròiseact bhuaithe X893, agus an uairsin dh'fheuch mi DAP42. Gu mì-fhortanach, reothadh Keil uVision agus cha robh e airson a bhith ag obair còmhla riutha. Mar thoradh air an sin, chuir mi STM32F103C8T6 seilbhe an àite a’ chip debugger agus cha do thill mi a-riamh chun chùis seo.

Leasachadh bòrd leasachaidh airson K1986BE1QI (itealain)
Obrachadh soirbheachail an debugger togte J-Link STLink V2

Nuair a bha na prìomh phàirtean den bhòrd leasachaidh san àm ri teachd rim faighinn, chaidh mi a-steach gu Eagle CAD agus fhuair mi a-mach nach robh iad anns an leabharlann eileamaid. Cha robh àite ri dhol - bha agam ri iad fhèin a tharraing. Aig an aon àm, rinn mi spotan sreap airson cuimhne, ceanglaiche HanRun airson Ethernet, agus chuir mi frèaman airson resistors agus capacitors. Gheibhear faidhle a’ phròiseict agus leabharlann nam pàirtean air mo GitHub.

Diagram sgeamach de bhòrd leasachaidh MDB1986Leasachadh bòrd leasachaidh airson K1986BE1QI (itealain)

Tha am bòrd air a stiùireadh le stòr 5 volt DC a gheibhear bhon phort USB. Tha dà phort USB Type-B gu h-iomlan air a’ bhòrd. Tha aon airson a’ phrògramadair, tha an dàrna fear airson rianadair K1986BE1QI. Faodaidh am bòrd obrachadh bho aon de na stòran sin no an dà chuid aig an aon àm. Tha an riaghladh luchdan as sìmplidh agus dìon loidhne cumhachd air an cur an gnìomh le bhith a’ cleachdadh diodes Schottky, ann an cuairteachadh D2 agus D3 (SS24). Cuideachd anns an diagram chì thu fuses fèin-ath-nuadhachadh F1 agus F2 aig 500 mA. Tha loidhnichean comharran a’ phuirt USB air an dìon le co-chruinneachadh diode USBLC6-2SC6.

Tha mòran eòlach air cuairteachadh debugger-programmer ST-Link; gheibhear e anns na sgrìobhainnean airson bùird STM32-Discovery agus stòran eile. Airson a’ chiad firmware den chlone ST-Link/J-Link-OB/DAP (roghainneil), thug mi a-mach na loidhnichean SWDIO (PA13), SWCLK (PA14), GND. Bidh mòran dhaoine a’ cleachdadh UART airson firmware agus feumaidh iad na geansaidhean BOOT a tharraing. Ach tha mi a’ faicinn SWD nas goireasaiche, agus tha am protocol seo a’ ceadachadh dì-bhugachadh.

Tha cha mhòr a h-uile pàirt den bhòrd air a stiùireadh le 3.3 volts, a thig bhon riaghladair bholtaids AMS1117-3.3. Gus casg a chuir air eadar-theachd electromagnetic agus gèilleadh gnàthach, thathas a’ cleachdadh sìoltachain LC bho capacitors agus chokes den t-sreath BLM31PG.

Air leth, is fhiach iomradh a thoirt air an draibhear taisbeanaidh MAX7 7221-segment. A rèir an t-sònrachadh, tha an solar cumhachd a thathar a’ moladh bho 4 gu 5.5 volts, agus tha an ìre comharra àrd (aon loidsigeach) co-dhiù 3.5V (0.7 x VCC), le solar 5V. Airson an rianadair K1986BE1QI (itealain), tha toradh aonad loidsigeach a ’freagairt ri bholtadh bho 2.8 gu 3.3V. Gu follaiseach tha mì-chothromachadh eadar ìrean nan comharran a dh’ fhaodadh bacadh a chuir air gnìomhachd àbhaisteach. Cho-dhùin mi cumhachd a thoirt don MAX7221 aig 4V agus na h-ìrean comharran a lughdachadh gu 2.8V (0.7 x 4 = 2.8). Gus seo a dhèanamh, tha diode D4 (RS1A no FR103) air a chuir a-steach ann an sreath le cuairteachadh cumhachd an draibhear. Is e an tuiteam bholtachd iomlan 0.9V (Schottky diode 0.3V agus diode 0.6V), agus tha a h-uile dad ag obair.

Tha a’ mhòr-chuid de phuirt den microcontroller K1986BE1QI (itealain) co-chòrdail ri comharran suas gu 5V. Mar sin, chan eil duilgheadas sam bith ann a bhith a’ cleachdadh an transceiver CAN MCP2551, a tha cuideachd ag obair air 5V. Tha a’ chip MAX232 air a chomharrachadh mar transceiver RS-3232 anns an diagram, ach gu dearbh chleachd mi SN65C3232D bho Texas Instruments, oir bidh e ag obair bho 3.3V agus a’ toirt seachad astaran suas gu 1Mbit/s.

Tha 4 resonators quartz air a’ bhòrd - aon airson an debugger (8 MHz) agus trì airson an targaid microcontroller K1986BE1QI (itealain) le rangachadh de 32.768 kHz, 16 MHz, 25 MHz. Tha iad sin nan co-phàirtean riatanach, air sgàth Tha crìochan an oscillator RC togte taobh a-staigh raon farsaing bho 6 gu 10 MHz. Tha feum air tricead 25 MHz airson obrachadh an rianadair Ethernet togte. Air adhbhar air choireigin, tha làrach-lìn Milandra (is dòcha le mearachd) ag ràdh nach eil Ethernet aig a’ chùis phlastaig. Ach bidh sinn an urra ris an t-sònrachadh agus na fìrinnean.

B ’e brosnachadh cudromach airson a’ bhòrd leasachaidh agam fhìn a chruthachadh an cothrom a bhith ag obair leis a ’bhus siostam taobh a-muigh EBC (smachdadair bus taobh a-muigh), a tha gu ìre mhòr na phort co-shìnte. Leigidh am microcontroller K1986BE1QI (itealain) dhut ceangal agus obrachadh le sgoltagan cuimhne taobh a-muigh agus innealan iomaill, mar eisimpleir, ADCn, FPGAn, msaa. Tha comasan bus an t-siostaim taobh a-muigh gu math mòr - faodaidh tu obrachadh le RAM statach 8-bit, 16-bit agus 32-bit, ROM agus NAND Flash. Gus dàta 32-bit a leughadh / a sgrìobhadh, faodaidh an rianadair 2 obrachadh co-fhreagarrach a dhèanamh gu fèin-ghluasadach airson chips 16-bit, agus 8 gnìomhachd airson chips 4-bit. Gu follaiseach, thèid gnìomhachd I/O 32-bit a chrìochnachadh as luaithe le bus dàta 32-bit. Tha na h-eas-bhuannachdan a’ toirt a-steach an fheum air a’ phrògram obrachadh le dàta 32-bit, agus feumaidh am bòrd 32 slighe a chuir sìos.

Leasachadh bòrd leasachaidh airson K1986BE1QI (itealain)
Sgoltagan RAM statach, air an cleachdadh (toradh dè am fear a tha easbhaidheach)

Is e fuasgladh cothromach a bhith a’ cleachdadh chips cuimhne 16-bit. Thachair gu robh sgoltagan Integrated Silicon Solutions Inc. agam ann an stoc. (ISSI IS61LV25616AL, 16 x 256k, 10 ns, 3.3V). Gu dearbh, tha na sgoltagan cuimhne statach aca fhèin aig a ’chompanaidh Milander sreath 1645RU, ach tha iad ro dhaor agus nach 'eil iad r'a fhaotainn. Mar roghainn eile, tha Samsung K6R4016V1D a tha co-chosmhail ri prìne. Na bu thràithe thug mi iomradh air gun deach na microcircuits a chleachdadh agus thug an leth-bhreac a chuir mi a-steach an toiseach fàilligidhean agus luachan chaotic anns an loidhne dàta 15th. Thug e grunn làithean gus mearachdan bathar-cruaidh a lorg, agus mar as motha am faireachdainn de shàsachadh nuair a chuir mi fear obrach an àite a’ chip millte. Biodh sin mar a dh ’fhaodadh e, tha astar a bhith ag obair le cuimhne bhon taobh a-muigh a’ fàgail mòran ri bhith air a mhiannachadh.

Bus taobh a-muigh agus modh StandAloneTha modh StandAlone sònraichte aig microcontroller K1986BE1QI (itealain), a tha air a dhealbhadh airson ruigsinneachd dìreach bhon taobh a-muigh gu riaghladairean Ethernet agus MKIO (MIL_STD_1553) tro bhus a-muigh, leis a’ chridhe san staid ath-shuidheachadh, i.e. gun chleachdadh. Tha am modh seo goireasach dha pròiseasairean agus FPGAn aig nach eil Ethernet agus / no MKIO.
Tha an sgeama ceangail mar a leanas:

  • bus dàta MCU(D0-D15) => SRAM(I/O0-I/O15),
  • seòladh bus MCU(A1-A18) => SRAM(A0-A17),
  • smachd MCU (nWR, nRD, PortC2) => SRAM (WE,OE,CE),
  • Tha SRAM (UB, LB) ceangailte no air an tarraing gu talamh tro fhriotair.

Tha an loidhne CE ceangailte ris an t-solar cumhachd tro resistor; chan eilear a’ cleachdadh na prìneachan airson a bhith a’ samplachadh byte MCU (BE0-BE3). Fon spoiler, bheir mi seachad an còd airson na puirt agus an rianadair bus a-muigh a thòiseachadh.

A’ tòiseachadh puirt agus rianadair EBC (smachdadair bus taobh a-muigh)

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

Tha mòran phrìneachan co-cheangailte ris a’ microcontroller anns a’ phacaid LQFP-144 agus a’ chuimhne anns a’ phacaid TSOP-44 agus gabhaidh iad tòrr àite air a’ bhòrd cuairteachaidh clò-bhuailte. Le eòlas air fuasgladh fhaighinn air duilgheadasan optimization ann an raon eaconamas, bha e follaiseach dhomh gu robh e riatanach na microcircuits sin a chuir air a’ bhòrd an toiseach. Ann an diofar stòran tha mi air lèirmheasan moladh a lorg mu dheidhinn CAD TopoR (Ròcair topological). Luchdaich sìos mi an dreach deuchainn agus bha e comasach dhomh mo phròiseact a chuir a-mach à Eagle CAD an sin dìreach às deidh dhomh cha mhòr a h-uile pàirt a thoirt air falbh. Gu mì-fhortanach, cha do chuidich am prògram TopoR mi gus eadhon eileamaidean 10 a chuir air a ’bhòrd. An toiseach, chaidh na pàirtean uile a chuir ann an oisean, agus an uairsin a rèiteachadh air an oir. Cha robh mi riaraichte leis an roghainn seo, agus airson ùine mhòr lorg mi am bòrd le làimh ann an àrainneachd eòlach Eagle CAD.

Is e eileamaid chudromach de bhòrd cuairteachaidh clò-bhuailte clò-bhualadh sgrion sìoda. Feumaidh chan e a-mhàin bileagan a bhith aig a’ bhòrd leasachaidh airson na pàirtean dealanach, ach feumaidh gach ceangal a bhith air a chomharrachadh cuideachd. Air cùl a 'bhùird chuir mi clàran le gnìomhan a' phuirt smachd (prìomh, roghainn eile, ro-làimh, fìor). Dh’ òrduich mi bùird cuairteachaidh clò-bhuailte a dhèanamh ann an Sìona bhon oifis ainmeil PCBWay. Cha bhith mi ga mholadh oir tha an càileachd math. Faodaidh iad dèanamh nas fheàrr, le fulangas nas teann, ach airson cìs.

Leasachadh bòrd leasachaidh airson K1986BE1QI (itealain)
Bùird cuairteachaidh clò-bhuailte MDB1986 dèanta, (c) Dealbh leis an ùghdar

B ’fheudar dhomh na pàirtean a shàrachadh“ air mo ghlùinean ”le iarann ​​​​solder 40-watt agus solder POS-61, oir is ann ainneamh a bhios mi a’ solder, 1-2 uair sa bhliadhna, agus bha am pasgan solder air tiormachadh. B’ fheudar dhomh cuideachd an rianadair Sìneach CS32F103 atharrachadh chun STM32F103 tùsail, agus an uairsin a’ chuimhne a chuir na àite. San fharsaingeachd, a-nis tha mi gu tur riaraichte leis a 'toradh, ged nach eil mi fhathast air sgrùdadh a dhèanamh air obrachadh RS-232 agus CAN.

Leasachadh bòrd leasachaidh airson K1986BE1QI (itealain)
Bòrd deasbaid MDB1986 ag obair - bidh e a’ deàrrsadh agus a’ blàthachadh, (c) Dealbh leis an ùghdar

Air làrach-lìn Milandra gheibh thu gu leòr stuthan foghlaim airson luchd-riaghlaidh ionnsachaidh sreath 1986BE9 (Cortex-M3 core), ach airson microcontroller K1986BE1QI (itealain) chan eil mi a’ faicinn dad an sin. An dèidh sùil a thoirt air na stuthan, leabhraichean-làimhe agus obair-lann airson oilthighean a chaidh fhoillseachadh an sin, tha mi toilichte gu bheil luchd-obrach gan trèanadh air feadh na dùthcha gus obrachadh le luchd-riaghlaidh Ruiseanach. Bidh a’ mhòr-chuid de stuthan trèanaidh ag ullachadh airson obrachadh le puirt I/O, timers, ADC, DAC, SPI, UART. Thathas a’ cleachdadh diofar àrainneachdan leasachaidh IDE (Keil, IAR, CodeMaster). An àiteigin bidh iad a’ prògramadh a’ cleachdadh chlàran CMSIS, agus an àiteigin bidh iad a’ cleachdadh Leabharlann MDR. Feumar iomradh a thoirt air goireas Tòisich Milandr, anns a bheil mòran artaigilean bho phrògramadairean practaigeach. Agus, gu dearbh, cha bu chòir dhuinn dìochuimhneachadh mu dheidhinn Fòram Milandra.

Smaoinich air MilandraTha microelectronics a’ leasachadh anns an Ruis, agus tha àite follaiseach aig a’ chompanaidh Milander sa phròiseas seo. Tha microcontrollers inntinneach ùra a’ nochdadh, mar eisimpleir, 1986BE81T agus Elektrosila le eadar-aghaidh SpaceWire agus MKIO (an aon rud ri 1986BE1 agus, is dòcha, leis na h-aon dhuilgheadasan), msaa. Ach chan urrainn dha oileanaich àbhaisteach, tidsearan agus innleadairean catharra microcircuits mar sin a cheannach. Tha seo a’ ciallachadh nach bi e comasach don choimhearsnachd innleadaireachd mearachdan agus duilgheadasan leis a’ chip seo aithneachadh gu sgiobalta. Tha e coltach riumsa gu bheil e riatanach an toiseach microcircuits a dhèanamh ann an cùis plastaig, an sgaoileadh chun a h-uile duine le ùidh, agus an dèidh approbation (Laideann approbatio - aonta, aithneachadh) le eòlaichean, faodaidh iad ath-sgrùdadh ullachadh ann an cùis meatailt-ceramic le. dìon bho gach nì uamhasach. Tha mi an dòchas a dh’ aithghearr gum bi sinn UILE toilichte leis na pròiseactan ùra a chaidh ainmeachadh aig na taisbeanaidhean.
Faodar am bòrd deasbaid a leasaich mi ath-aithris, atharrachadh agus a chleachdadh le neach sam bith sa phròiseas foghlaim. An toiseach, rinn mi am bòrd dhomh fhìn, ach thionndaidh e a-mach cho math sin Cho-dhùin mi a roinn leis a h-uile duine.

Tha K1986BE1QI (adhair) na rianadair gu math inntinneach le eadar-aghaidh gun samhail a ghabhas cleachdadh ann an oilthighean gus oileanaich a theagasg. Tha mi a’ smaoineachadh, às deidh dha na mearachdan a chaidh a chomharrachadh anns an rianadair a cheartachadh agus a dhol seachad air deuchainnean teisteanais, gun sgèith an rianadair anns an fhìor chiall den fhacal!

Source: www.habr.com

Cuir beachd ann