K1986BE1QI (aviasiya) üçün sazlama lövhəsinin hazırlanması

K1986BE1QI (aviasiya) üçün sazlama lövhəsinin hazırlanması

Bir neçə il əvvəl Milandr-dan rus mikrokontrollerləri ilə tanış oldum. 2013-cü il idi, mühəndislər 2008-2015-ci illər üçün "Elektron komponentlər bazasının və radioelektronikanın inkişafı" Federal Hədəf Proqramının ilk nəticələrini ciddi şəkildə müzakirə etdilər. O zaman K1986BE9x nəzarətçisi (Cortex-M3 nüvəsi) artıq buraxılmışdı və 1986BE1T nəzarətçisi (Cortex-M1 nüvəsi) təzəcə peyda olmuşdu. O, plastik LQFP-144 qutusunda sənədlərdə K1986BE1QI (aviasiya), çipin özündə isə MDR32F1QI təyinatı var idi. İstehsalçının veb saytında "hava" şəkilçisi var, çünki o, təyyarə sənayesi üçün xüsusi interfeyslərə malikdir (ARINC 429, MIL_STD_1553).

Təəccüblüdür ki, bu nəzarətçilərin paylanması zamanı Milander şirkəti, "lakin kitabxananın düzgünlüyünə dair heç bir əlavə zəmanət və öhdəlik olmadan" debug dəstləri və periferik qurğularla işləmək üçün alt proqramlar kitabxanası hazırladı. Kitabxana STMicroelectronics-in Standart Periferik Kitabxanasına bənzəyir. Ümumiyyətlə, Cortex-M nüvəsi üzərində qurulmuş bütün ARM nəzarətçiləri bir çox ortaq cəhətlərə malikdir. Bu səbəbdən yeni rus nəzarətçiləri ilə tanışlıq sürətlə getdi. Mülkiyyət debug dəstləri alanlar üçün istifadə zamanı texniki dəstək göstərildi.

K1986BE1QI (aviasiya) üçün sazlama lövhəsinin hazırlanması
Mikrokontroller 1986BE1T üçün sazlama dəsti, © Milandr

Lakin zaman keçdikcə yeni çiplərin və kitabxanaların "uşaqlıq xəstəlikləri" yaranmağa başladı. Firmware test nümunələri görünən problemlər olmadan işlədi, lakin əhəmiyyətli dəyişikliklərlə qəzalar və səhvlər yağdı. Təcrübəmdəki ilk "udmaq" CAN nəzarətçisində izaholunmaz uğursuzluqlar oldu. Bir il sonra, modulla bağlı problem erkən revizyonun 1986BE1T (hava) nəzarətçisində aşkar edildi. MCIO (multipleks məlumat mübadiləsi kanalı). Ümumiyyətlə, 2016-cı ilə qədər bu mikrokontrollerlərin bütün reviziyaları məhdud istifadə üçün nəzərdə tutulmuşdur. Təsdiqini indi tapa biləcəyiniz bu problemləri müəyyən etmək üçün çox vaxt və əsəblər getdi səhv siyahıları (Səhv).

Xoşagəlməz bir xüsusiyyət ondan ibarət idi ki, sazlama lövhələrində deyil, seriyalı fabrik istehsalı üçün planlaşdırılan prototip cihazlarının lövhələrində işləmək və səhvlərlə məşğul olmaq lazım idi. JTAG konnektoruna əlavə olaraq, ümumiyyətlə orada heç bir şey yox idi. Məntiq analizatoru ilə əlaqə qurmaq çətin və əlverişsiz idi və adətən LEDlər və ekranlar yox idi. Bu səbəbdən beynimdə öz debug lövhəmi yaratmaq fikri yarandı.

Bir tərəfdən, bazarda markalı debug dəstləri, həmçinin Zelenoqraddan olan LDM-Systems-dən gözəl lövhələr var idi. Digər tərəfdən, bu məhsulların qiymətləri insanı çaşdırır və genişləndirmə kartları olmayan əsas funksionallıq gözləntilərə cavab vermir. Lehimli nəzarətçi və pin başlığı olan lövhə mənim üçün maraqlı deyil. Və daha maraqlı lövhələr bahalıdır.

K1986BE1QI (aviasiya) üçün sazlama lövhəsinin hazırlanması
İnkişaf lövhəsi MILANDR LDM-HELPER-K1986BE1QI-FULL, © LDM Systems

"Milandr" şirkətinin unikal qiymət siyasəti və marketinqi var. Beləliklə, bəzi mikrosxemlərin nümunələrini pulsuz əldə etmək mümkündür, lakin bu, yalnız hüquqi şəxslər üçün mövcuddur və bürokratik axtarışla əlaqələndirilir. Ümumiyyətlə, keramika-metal paketindəki mikrosxemlər hərfi və məcazi mənada qızıldır. Məsələn, 1986BE1T nəzarətçisinin qiyməti Moskvada 14 ilə 24 min rubl arasındadır. 1645RU6U statik yaddaş çipinin qiyməti 15000 rubldan başlayır. Bu isə bütün məhsulların qiymət sırasıdır. Nəticədə, hətta dövlət sifarişli ixtisaslaşmış elmi-tədqiqat institutları da pula qənaət edir və belə qiymətlərdən çəkinirlər. Mülki istifadə üçün plastik qutuda olan çiplər əhəmiyyətli dərəcədə ucuzdur, lakin onlar məşhur təchizatçılardan əldə edilmir. Bundan əlavə, plastik qutuda olan çiplərin keyfiyyəti, mənə elə gəlir ki, "qızıldan" daha pisdir. Məsələn, mən K1986BE1QI nəzarət cihazını flaş gecikmə parametrini artırmadan 128 MHz tezliyində işlədə bilmədim. Eyni zamanda, bu nəzarətçinin temperaturu 40-50C-ə qədər yüksəldi. Lakin 1986BE1T ("qızıl") nəzarətçi əlavə parametrlər olmadan 128 MHz-də işə salındı ​​və soyuq qaldı. O, həqiqətən yaxşıdır.

K1986BE1QI (aviasiya) üçün sazlama lövhəsinin hazırlanması
"Qızıl" mikrokontroller 1986BE1T, (c) Milandr

Bəxtim gətirdi ki, plastik qutuda olan mikro nəzarətçi hələ də LDM Systems-dən pərakəndə satışda alına bilər və bütün dövrə lövhələri sərbəst mövcuddur. Pis olan odur ki, nəzarətçinin fotosundakı saytda bunun 4-cü ilin 2014-cü versiyası olduğunu söyləyən bir işarə görünür, yəni. qüsurları ilə. Uzun müddət düşündüm - almaq və ya almamaq. Beləliklə, bir neçə il keçdi ...

Sazlama lövhəsi yaratmaq ideyası heç yerdə itməyib. Tədricən bütün tələbləri formalaşdırdım və bütün bunları bir lövhədə necə yerləşdirməyi düşündüm ki, yığcam və bahalı olmasın. Paralel olaraq çatışmayan komponentləri çinlilərdən sifariş etdim. Mən tələsmirdim - hər şeyi özüm üçün etdim. Çin tədarükçüləri səliqəsizliyi ilə məşhurdurlar - lazım olan hər şeyi əldə etmək üçün müxtəlif yerlərdə eyni şeyi sifariş etməli oldum. Üstəlik, bəzi yaddaş çipləri ikinci əl oldu - açıq-aydın pozulmuş cihazlardan lehimləndi. Bu məni sonradan vurdu.

Mikrokontroller Milandr K1986BE1QI (aviasiya) almaq asan məsələ deyil. Eyni Chip və Dip mağazasında, "Sifariş vermək üçün mövqelər" bölməsində 1986 rubl üçün yalnız K92BE740QI tapdım, amma mənə uyğun deyildi. Yeganə seçim LDM-Systems-dən 2000 rubl üçün təzə olmayan bir versiya almaqdır. Başqa heç bir yerdə əvəz tapa bilmədiyim üçün, olanı almağa qərar verdim. Xoş sürprizimə görə, onlar mənə 2018-ci ilin dekabr ayının yeni buraxılış nəzarətçisi, revizyon 6+ (1820) satdılar. Saytda hələ də köhnə bir fotoşəkil var və yazı zamanı nəzarətçi mövcud deyil ...

K1986BE1QI (aviasiya) üçün sazlama lövhəsinin hazırlanması
Mikrokontroller K1986BE1QI (aviasiya) texnoloji qablaşdırmada, (c) Müəllifin fotosu

İnkişaf lövhəmin əsas texniki xüsusiyyətləri MDB1986 aşağıdakı:

  • J-Link və CMSIS-DAP ilə uyğun olan daxili sazlayıcı-proqramçı;
  • 4Mbit statik yaddaş (256k x 16, 10 ns);
  • flash yaddaş çipi 64Mbit, Winbond 25Q64FVSIG;
  • RTS və CTS xətləri ilə RS-232 interfeys ötürücü;
  • Ethernet, USB, CAN üçün interfeyslər və birləşdiricilər;
  • 7 seqmentli displey nəzarətçisi MAX7221;
  • MCIO (MIL_STD_1553) və ARINC429 ilə işləmək üçün pin konnektoru;
  • fototransistor Everlight PT17-21C;
  • beş rəngli LED, sıfırlama düyməsi və iki istifadəçi düyməsi;
  • 5 voltluq USB portu ilə təchiz edilmişdir;
  • çap dövrə lövhəsi ölçüləri 100 x 80, mm

STM-Discovery seriyasının lövhələrini bəyəndim, çünki onların daxili proqramçı-debugger - ST-Link var. Brendli ST-Link yalnız STMicroelectronics kontrollerləri ilə işləyir, lakin bir neçə il əvvəl ST-Link-də proqram təminatını yeniləmək və SEGGER J-Link OB (bortda) Debugger əldə etmək mümkün oldu. Qanuni olaraq, belə bir düzəldici yalnız STMicroelectronics lövhələri ilə istifadə etmək üçün bir məhdudiyyət var, lakin əslində potensial məhdud deyil. Beləliklə, J-Link OB-yə sahib olmaqla, siz sazlama lövhəsində quraşdırılmış proqramçı-debuggerə sahib ola bilərsiniz. Qeyd edim ki, LDM-Systems məhsulları yalnız yanıb-sönən CP2102 (Usb2Uart) çeviricisindən istifadə edir.

K1986BE1QI (aviasiya) üçün sazlama lövhəsinin hazırlanması
STM32F103C8T6 mikrokontrollerlər, real və belə deyil, (c) Müəllifin fotosu

Beləliklə, orijinal STM32F103C8T6 almaq lazım idi, çünki markalı proqram təminatı klonla düzgün işləməyəcək. Mən bu tezisə şübhə etdim və Çinin CKS şirkətinin CS32F103C8T6 kontrollerini sınamaq qərarına gəldim. Nəzarətçinin özü ilə bağlı heç bir şikayətim yoxdur, lakin özəl ST-Link proqram təminatı onda işləmədi. J-Link qismən işlədi - USB cihazı aşkar edildi, lakin proqramçı öz funksiyalarını yerinə yetirmədi və onun "qüsurlu" olduğunu daim xatırlatdı.

K1986BE1QI (aviasiya) üçün sazlama lövhəsinin hazırlanması
Sazlayıcını orijinal olmayan nəzarətçidə işə salarkən xəta

Mən bununla sakitləşmədim və əvvəlcə LED-in yanıb-sönməsi üçün proqram təminatı yazdım, sonra JTAG protokolundan istifadə edərək IDCODE sorğusunu həyata keçirdim. Discovery lövhəsində olan ST-Link proqramçısı və ST-Link Utility proqramı problemsiz CS32F103C8T6-nı işıqlandırdı.Nəticədə lövhəmin işlədiyinə əmin oldum. Sevindirici haldır ki, K1986BE1QI hədəf nəzarətçisi (aviasiya) TDO xətti üzərində öz IDCODE-ni şənliklə verdi.

K1986BE1QI (aviasiya) üçün sazlama lövhəsinin hazırlanması
IDCODE kodlu cavabı olan TDO siqnal xəttinin oscilloqramı, (c) Müəllifin fotoşəkili

K1986BE1QI (aviasiya) üçün sazlama lövhəsinin hazırlanması
Beləliklə, SWD portu sazlayıcının özünü sazlamaq və IDCODE-u yoxlamaq üçün lazımlı oldu

Sazlayıcı ilə bir seçim var idi CMSIS-DAP (Debug Access Port). ARM mənbələrindən layihə qurmaq asan məsələ deyil, layihəni məndən götürdüm X893, və sonra mən də DAP42-ni sınadım. Təəssüf ki, Keil uVision ilişib qaldı və onlarla işləmək istəmədi. Nəticədə, mən ayıklama çipini xüsusi STM32F103C8T6 ilə əvəz etdim və heç vaxt bu məsələyə qayıtmadım.

K1986BE1QI (aviasiya) üçün sazlama lövhəsinin hazırlanması
Daxili sazlayıcı J-Link STLink V2-nin uğurlu işləməsi

Gələcək debug lövhəsinin bütün əsas komponentləri mövcud olduqda, mən Eagle CAD-ə daxil oldum və onların elementlər kitabxanasında olmadığını gördüm. Getməyə yer yoxdur - onları özüm çəkməli idim. Eyni zamanda yaddaş üçün oturacaqlar, Ethernet üçün HanRun konnektoru düzəltdim və rezistorlar və kondansatörlər üçün çərçivələr əlavə etdim. Layihə faylı və komponent kitabxanası tapıla bilər Məndə GitHub-da var.

MDB1986 debug lövhəsinin sxematik diaqramıK1986BE1QI (aviasiya) üçün sazlama lövhəsinin hazırlanması

Lövhə USB portundan 5 voltluq DC mənbəyi ilə qidalanır. Lövhədə iki USB Type-B portu var. Biri proqramçı üçün, ikincisi K1986BE1QI nəzarətçisi üçündür. Şura bu mənbələrdən hər hansı birindən və ya hər ikisindən eyni vaxtda işləyə bilər. Elektrik xətlərinin ən sadə yük tənzimlənməsi və qorunması Schottky diodlarında, D2 və D3 (SS24) sxemlərində həyata keçirilir. Həmçinin diaqramda 1mA-da özünü bərpa edən F2 və F500 qoruyucularını görə bilərsiniz. USB portunun siqnal xətləri USBLC6-2SC6 diod qurğusu ilə qorunur.

ST-Link debugger-proqramçı sxemi çoxlarına məlumdur, onu STM32-Discovery lövhələri üçün sənədlərdə və digər mənbələrdə tapmaq olar. ST-Link / J-Link-OB / DAP klonunun (isteğe bağlı) əsas proqram təminatı üçün SWDIO (PA13), SWCLK (PA14), GND xətlərini çıxardım. Bir çoxları proqram təminatı üçün UART istifadə edir və BOOT keçidlərini çəkməyə məcbur olurlar. Ancaq SWD mənim üçün daha rahatdır, bundan başqa bu protokol sazlamaya imkan verir.

Lövhənin demək olar ki, bütün komponentləri AMS3.3-1117 gərginlik tənzimləyicisindən gələn 3.3 voltla işləyir. Elektromaqnit müdaxiləsini və cərəyan dalğalarını yatırtmaq üçün BLM31PG seriyasının kondansatörlərindən və boğucularından LC filtrləri istifadə olunur.

MAX7 7221 seqmentli displey sürücüsünü ayrıca qeyd etmək lazımdır. Spesifikasiyaya görə, tövsiyə olunan enerji təchizatı 4 ilə 5.5 volt arasındadır və yüksək siqnal səviyyəsi (məntiqi bir) 3.5V ilə təchiz edildikdə 0.7V (5 x VCC) az deyil. K1986BE1QI nəzarətçisi (aviasiya) üçün məntiqi vahidin çıxışı 2.8 ilə 3.3V arasında gərginliyə uyğundur. Aydındır ki, normal əməliyyatı poza biləcək siqnal səviyyələrində uyğunsuzluq var. MAX7221-i 4V-dən gücləndirməyə və siqnal səviyyələrini 2.8V-ə endirməyə qərar verdim (0.7 x 4 = 2.8). Bunu etmək üçün, sürücünün güc dövrəsində ardıcıl olaraq bir diod D4 (RS1A və ya FR103) quraşdırılmışdır. Ümumi gərginlik azalması 0.9V (0.3V Schottky diodu və 0.6V diod) və hər şey işləyir.

K1986BE1QI mikro nəzarət cihazındakı (aviasiya) əksər portlar 5V-ə qədər olan siqnallarla uyğun gəlir. Buna görə də, 2551V-dən də işləyən MCP5 CAN ötürücüsünün istifadəsi problem yaratmır. Diaqram MAX232 çipini RS-3232 ötürücü kimi göstərir, amma əslində mən Texas Instruments-dan SN65C3232D istifadə etdim, çünki 3.3V-dən işləyir və 1Mbit/s sürəti təmin edir.

Lövhədə 4 kvars rezonatoru var - biri sazlayıcı (8 MHz) və üçü 1986 kHz, 1 MHz, 32.768 MHz nominal dəyərləri olan K16BE25QI (aviasiya) hədəf mikrokontrolleri üçün. Bunlar zəruri komponentlərdir, çünki. quraşdırılmış RC generatorunun parametrləri 6 ilə 10 MHz arasında geniş diapazondadır. Daxili Ethernet nəzarətçisinin işləməsi üçün 25 MHz tezliyi tələb olunur. Nədənsə, Milandranın saytında (bəlkə də səhvən) plastik qutuda Ethernet olmadığı bildirilir. Amma biz spesifikasiyaya və faktlara əsaslanacağıq.

Öz sazlama lövhənizi yaratmaq üçün vacib bir stimul, mahiyyətcə paralel port olan xarici EBC (xarici avtobus nəzarətçisi) sistem avtobusu ilə işləmək imkanı idi. K1986BE1QI mikrokontrolleri (aviasiya) xarici yaddaş çipləri və ADC, FPGA və s. kimi periferik qurğularla əlaqə saxlamağa və onlarla işləməyə imkan verir. Xarici sistem avtobusunun imkanları kifayət qədər böyükdür - siz 8-bit, 16-bit və 32-bit statik RAM, ROM və NAND Flash ilə işləyə bilərsiniz. 32 bitlik məlumatları oxumaq / yazmaq üçün nəzarətçi avtomatik olaraq 2 bitlik mikrosxemlər üçün 16 uyğun əməliyyatı və 8 bitlik üçün 4 əməliyyatı yerinə yetirə bilər. Aydındır ki, 32 bitlik giriş/çıxış əməliyyatı 32 bitlik məlumat avtobusu ilə ən sürətli olacaq. Dezavantajlara proqramın 32 bitlik məlumatlarla işləməsi zərurəti daxildir və board 32 trek çəkməli olacaq.

K1986BE1QI (aviasiya) üçün sazlama lövhəsinin hazırlanması
SRAM çipləri, istifadə olunub (hansısının qüsurlu olduğunu təxmin edin)

Balanslaşdırılmış həll yolu 16 bitlik yaddaş çiplərindən istifadə etməkdir. Mən Integrated Silicon Solutions Inc. çipləri ilə başa çatdım. (ISSI IS61LV25616AL, 16x256k, 10ns, 3.3V). Əlbəttə ki, "Milandr" şirkətinin öz statik yaddaş çipləri var seriyası 1645RUlakin onlar çox bahadır və mövcud deyil. Alternativ olaraq, pin uyğun Samsung K6R4016V1D var. Daha əvvəl qeyd etdim ki, IC-lər ikinci əldir və mənim quraşdırdığım nüsxə əvvəlcə 15-ci məlumat xəttində yalnış və nizamsız idi. Aparat xətalarını tapmaq bir neçə gün çəkdi və zədələnmiş çipi işləyən çipi ilə əvəz edəndə məmnunluq hissi daha da artdı. Nə olursa olsun, xarici yaddaşla işləmə sürəti çox şey arzulayır.

Xarici avtobus və müstəqil rejimK1986BE1QI mikro nəzarət cihazı (aviasiya) unikal StandAlone rejiminə malikdir, o, xarici avtobus vasitəsilə Ethernet və MCIO kontrollerlərinə (MIL_STD_1553) birbaşa xarici çıxış üçün nəzərdə tutulmuşdur, nüvə sıfırlama vəziyyətində olarkən, yəni. istifadə olunmur. Bu rejim Ethernet və/və ya MCIO-ya malik olmayan prosessorlar və FPGA-lar üçün faydalıdır.
Bağlantı diaqramı aşağıdakı kimidir:

  • məlumat avtobusu MCU(D0-D15) => SRAM(I/O0-I/O15),
  • ünvan avtobusu MCU(A1-A18) => SRAM(A0-A17),
  • MCU nəzarəti (nWR, nRD, PortC2) => SRAM (WE, OE, CE),
  • SRAM (UB, LB) bir rezistor vasitəsilə yerə bağlanır və ya çəkilir.

CE xətti bir rezistor vasitəsilə gücə çəkilir, MCU bayt gətirmə sancaqları (BE0-BE3) istifadə edilmir. Spoiler altında portların və xarici avtobus nəzarətçisinin işə salınması üçün kodu verirəm.

Limanların və EBC kontrollerinin işə salınması (xarici avtobus nəzarətçisi)

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

LQFP-144 paketindəki mikrokontroller və TSOP-44 paketindəki yaddaş çoxlu bağlı pinlərə malikdir və çoxlu PCB yer tutur. İqtisadiyyat sahəsində optimallaşdırma məsələlərinin həllində təcrübəyə malik olduğum üçün mənə aydın idi ki, bu mikrosxemlər ilk növbədə lövhədə yerləşdirilməlidir. Müxtəlif mənbələrdə haqqında tərifli rəylərə rast gəldim CAD TopoR (Topoloji Router). Sınaq versiyasını yüklədim və layihəmi Eagle CAD-dən yalnız demək olar ki, bütün komponentləri siləndə ixrac edə bildim. Təəssüf ki, TopoR proqramı lövhədə hətta 10 elementi yerləşdirməyə kömək etmədi. Birincisi, bütün komponentlər bir küncə yerləşdirildi, sonra isə kənar boyunca düzüldü. Bu seçim məni qane etmədi və mən uzun müddət tanış Eagle CAD mühitində lövhəni əl ilə izləməyə sərf etdim.

Ekran çapı çap dövrə lövhəsinin vacib elementidir. Sazlama lövhəsində yalnız elektron komponentlər üçün imzalar olmamalıdır, həm də bütün bağlayıcılar imzalanmalıdır. Lövhənin arxa tərəfində nəzarətçi portlarının funksiyaları (əsas, alternativ, ləğv edilmiş, aktual) olan cədvəllər-xatırlatmaları yerləşdirdim. Tanınmış PCBWay ofisində Çində çap dövrə lövhələrinin istehsalını sifariş etdim. Mən tərifləməyəcəyəm, çünki keyfiyyət yaxşıdır. Daha kiçik dözümlülüklərlə daha yaxşı edə bilərlər, lakin bir ödəniş üçün.

K1986BE1QI (aviasiya) üçün sazlama lövhəsinin hazırlanması
MDB1986 çap dövrə lövhələri, (c) Müəllifin fotosu

Komponentləri 40 vattlıq bir lehimləmə dəmiri və POS-61 lehimlə "diz üstə" açmalı oldum, çünki nadir hallarda ildə 1-2 dəfə lehimləyirəm və lehim pastası quruyur. Mən də Çin CS32F103 nəzarət cihazını orijinal STM32F103 ilə dəyişməli oldum və sonra yaddaşı da dəyişdirməli oldum. Ümumiyyətlə, RS-232 və CAN-ın işini hələ yoxlamamış olsam da, nəticədən tam razıyam.

K1986BE1QI (aviasiya) üçün sazlama lövhəsinin hazırlanması
Debug board MDB1986 işləyir — parlayır və qızdırır, (с) Müəllifin fotosu

"Milandra" saytında kifayət qədər tapa bilərsiniz öyrənmə nəzarətçiləri üçün təlim materialları 1986BE9 seriyası (Cortex-M3 nüvəsi), lakin K1986BE1QI (aviasiya) mikrokontrolleri üçün orada heç nə görmürəm. Orada dərc olunmuş materialları, dərslikləri və universitetlər üçün laboratoriya işlərini nəzərdən keçirdikdən sonra şadam ki, bütün ölkədə Rusiya nəzarətçiləri ilə işləmək üçün kadrlar hazırlanır. Təlim materiallarının əksəriyyəti giriş/çıxış portları, taymerlər, ADC, DAC, SPI, UART ilə işləmək üçün hazırlanmışdır. Müxtəlif IDE-lərdən istifadə olunur (Keil, IAR, CodeMaster). Harada onlar CMSIS registrlərindən istifadə edərək proqramlaşdırırlar, haradasa MDR Kitabxanasından istifadə edirlər. Resurs qeyd edilməlidir Milandra başlayınTəcrübəli proqramçıların bir çox məqaləsini ehtiva edir. Və təbii ki, unutmamalıyıq Milandra Forumu.

Milandra haqqında düşünürəmRusiyada mikroelektronika inkişaf edir və bu prosesdə "Milandr" şirkəti mühüm rol oynayır. Yeni maraqlı mikrokontrollerlər meydana çıxır, məsələn, SpaceWire və MKIO interfeysləri olan 1986BE81T və Elektrosila (1986BE1-də olduğu kimi və bəlkə də eyni problemlərlə) və s. Ancaq adi tələbələr, müəllimlər və inşaat mühəndisləri üçün belə mikrosxemləri almaq real deyil. Bu o deməkdir ki, mühəndislik icması bu çipin səhvlərini və problemlərini tez müəyyən edə bilməyəcək. Mənə elə gəlir ki, əvvəlcə plastik qutuda mikrosxemlər hazırlamaq, onları bütün maraqlı tərəflərə paylamaq lazımdır və yalnız aprobasiyadan sonra (latınca aprobatio - təsdiq, tanınma) mütəxəssislər keramika-metal qutuda mühafizəsi ilə təftiş hazırlaya bilərlər. bütün dəhşətli amillər. Ümid edirəm ki, yaxın gələcəkdə sərgilərdə elan edilən yeni layihələr HAMAMIZI məmnun edəcək.
Tədris prosesində mənim hazırladığım sazlama lövhəsini hər kəs təkrarlaya, dəyişdirə və istifadə edə bilər. Əvvəlcə özüm üçün lövhə düzəltdim, amma o qədər yaxşı çıxdı ki Hər kəslə bölüşmək qərarına gəldim.

K1986BE1QI (hava) tələbələrin tədrisi üçün universitetlərdə istifadə oluna bilən unikal interfeyslərə malik çox maraqlı nəzarətçidir. Hesab edirəm ki, nəzarətçidə müəyyən edilmiş səhvləri düzəldəndən və sertifikatlaşdırma testlərindən keçdikdən sonra nəzarətçi sözün əsl mənasında uçacaq!

Mənbə: www.habr.com

Добавить комментарий