Pembangunan papan pembangunan untuk K1986BE1QI (penerbangan)

Pembangunan papan pembangunan untuk K1986BE1QI (penerbangan)

Beberapa tahun yang lalu saya berkenalan dengan mikropengawal Rusia dari Milander. Pada tahun 2013, ketika jurutera sedang bersungguh-sungguh membincangkan hasil pertama Program Sasaran Persekutuan "Pembangunan pangkalan komponen elektronik dan elektronik radio" untuk 2008-2015. Pada masa itu, pengawal K1986BE9x (teras Cortex-M3) telah pun dikeluarkan, dan pengawal 1986BE1T (teras Cortex-M1) baru sahaja muncul. Dalam kes plastik, LQFP-144, ia mempunyai sebutan K1986BE1QI (penerbangan) dalam dokumentasi, dan pada cip itu sendiri sebutan MDR32F1QI. Di tapak web pengeluar ia mempunyai akhiran "avia", kerana ia mempunyai antara muka khusus untuk industri pesawat (ARINC 429, MIL_STD_1553).

Yang menghairankan, pada masa pengedaran pengawal ini, syarikat Milander menyediakan kit penyahpepijatan dan perpustakaan subrutin untuk bekerja dengan peranti, "tetapi tanpa sebarang jaminan atau kewajipan tambahan mengenai ketepatan perpustakaan." Perpustakaan ini serupa dengan Perpustakaan Periferal Standard daripada STMicroelectronics. Secara umum, semua pengawal ARM yang dibina pada teras Cortex-M mempunyai banyak persamaan. Atas sebab ini, membiasakan diri dengan pengawal Rusia baharu berjalan dengan pantas. Dan bagi mereka yang membeli kit penyahpepijatan berjenama, sokongan teknikal disediakan semasa penggunaan.

Pembangunan papan pembangunan untuk K1986BE1QI (penerbangan)
Kit nyahpepijat untuk mikropengawal 1986BE1T, Β© Milander

Walau bagaimanapun, dari masa ke masa, "penyakit kanak-kanak" litar mikro dan perpustakaan baru mula muncul. Contoh ujian perisian tegar berfungsi tanpa masalah yang boleh dilihat, tetapi dengan pengubahsuaian yang ketara, ranap dan ralat berlaku. "Telan" pertama dalam amalan saya ialah kegagalan yang tidak dapat dijelaskan dalam pengendalian pengawal CAN. Setahun kemudian, masalah dengan modul ditemui pada pengawal 1986BE1T (penerbangan) semakan awal MKIO (saluran pertukaran maklumat berbilang). Secara amnya, semua semakan mikropengawal ini sehingga 2016 adalah penggunaan terhad. Banyak masa dan saraf pergi untuk mengenal pasti masalah ini, pengesahan yang kini boleh didapati dalam senarai ralat (Errata).

Ciri yang tidak menyenangkan adalah bahawa ia perlu untuk bekerja dan menangani ralat bukan pada papan penyahpepijatan, tetapi pada papan prototaip peranti yang dirancang untuk pengeluaran kilang bersiri. Biasanya tiada apa-apa di sana kecuali penyambung JTAG. Menyambung dengan penganalisis logik adalah sukar dan menyusahkan, dan biasanya tiada LED atau skrin. Atas sebab ini, idea untuk mencipta papan nyahpepijat saya sendiri muncul di kepala saya.

Di satu pihak, terdapat kit penyahpepijatan berjenama di pasaran, serta papan indah dari syarikat LDM-Systems dari Zelenograd. Sebaliknya, harga untuk produk ini sangat mengejutkan, dan fungsi asas tanpa kad pengembangan tidak memenuhi jangkaan. Papan dengan pengawal yang dipateri dan penyambung pin tidak menarik minat saya. Dan papan yang lebih menarik adalah mahal.

Pembangunan papan pembangunan untuk K1986BE1QI (penerbangan)
Papan pembangunan MILADR LDM-HELPER-K1986BE1QI-FULL, Β© LDM Systems

Syarikat Milander mempunyai dasar penetapan harga dan pemasaran yang unik. Jadi, adalah mungkin untuk mendapatkan sampel percuma beberapa litar mikro, tetapi ini hanya tersedia untuk entiti undang-undang dan dikaitkan dengan pencarian birokrasi. Secara umum, litar mikro dalam bekas logam-seramik adalah emas dalam erti kata literal dan kiasan. Sebagai contoh, pengawal 1986BE1T berharga dari 14 hingga 24 ribu rubel di Moscow. Cip memori statik 1645RU6U berharga daripada 15000 rubel. Dan ini adalah pesanan harga untuk semua produk. Akibatnya, walaupun institut penyelidikan khusus dengan pesanan kerajaan menjimatkan wang dan menjauhkan diri daripada harga sedemikian. Litar mikro dalam bekas plastik untuk kegunaan awam adalah jauh lebih murah, tetapi ia tidak tersedia daripada pembekal popular. Di samping itu, kualiti litar mikro dalam bekas plastik, nampaknya saya, lebih buruk daripada yang "emas". Sebagai contoh, saya tidak dapat menjalankan pengawal K1986BE1QI pada 128 MHz tanpa meningkatkan parameter kependaman kilat. Pada masa yang sama, suhu pengawal ini meningkat kepada 40-50C. Tetapi pengawal 1986BE1T (β€œemas”) bermula pada 128 MHz tanpa tetapan tambahan dan kekal sejuk. Dia memang baik.

Pembangunan papan pembangunan untuk K1986BE1QI (penerbangan)
Pengawal mikro "Golden" 1986BE1T, (c) Milander

Saya bernasib baik kerana mikropengawal dalam bekas plastik masih boleh dibeli secara runcit daripada LDM Systems, dan semua rajah papan tersedia secara percuma. Perkara yang buruk ialah di laman web dalam foto pengawal anda boleh melihat tanda yang mengatakan bahawa ini adalah semakan ke-4 tahun 2014, i.e. dengan kecacatan. Saya berfikir panjang sama ada mahu membeli atau tidak. Beberapa tahun berlalu seperti ini...

Idea untuk mencipta papan nyahpepijat tidak hilang di mana-mana. Secara beransur-ansur, saya membentuk semua keperluan dan memikirkan bagaimana untuk meletakkan semuanya pada satu papan supaya ia menjadi padat dan tidak mahal. Pada masa yang sama, saya memesan komponen yang hilang dari orang Cina. Saya tidak tergesa-gesa - saya melakukan segala-galanya untuk diri saya sendiri. Pembekal Cina terkenal ceroboh - Saya terpaksa memesan perkara yang sama dari tempat yang berbeza untuk mendapatkan semua yang saya perlukan. Lebih-lebih lagi, beberapa cip memori ternyata digunakan - nampaknya dipateri dari peranti yang rosak. Ini kembali menghantui saya kemudian.

Membeli mikropengawal Milander K1986BE1QI (udara) bukanlah satu tugas yang mudah. Di kedai Chip dan Dip yang sama, dalam bahagian "Item untuk dipesan", saya mendapati hanya K1986BE92QI untuk 740 rubel, tetapi ia tidak sesuai dengan saya. Satu-satunya pilihan ialah membeli semakan tidak segar dari LDM-Systems untuk 2000 rubel. Oleh kerana saya tidak dapat mencari pengganti di tempat lain, saya memutuskan untuk membeli apa yang saya ada. Mengejutkan saya, mereka menjual saya pengawal baharu yang dikeluarkan pada Disember 2018, semakan 6+ (1820). Tetapi laman web itu masih mempunyai foto lama, dan pada masa penulisan, pengawal tidak tersedia...

Pembangunan papan pembangunan untuk K1986BE1QI (penerbangan)
Pengawal mikro K1986BE1QI (penerbangan) dalam pembungkusan teknologi, (c) Foto oleh pengarang

Ciri teknikal utama papan nyahpepijat saya MDB1986 berikut:

  • pengaturcara penyahpepijat terbina dalam, serasi dengan J-Link dan CMSIS-DAP;
  • memori statik 4Mbit (256k x 16, 10 ns);
  • cip memori kilat 64Mbit, Winbond 25Q64FVSIG;
  • Transceiver antara muka RS-232 dengan talian RTS dan CTS;
  • antara muka dan penyambung untuk Ethernet, USB, CAN;
  • MAX7 pengawal paparan 7221-segmen;
  • penyambung pin untuk bekerja dengan MKIO (MIL_STD_1553) dan ARINC429;
  • phototransistor Everlight PT17-21C;
  • lima LED warna, butang set semula dan dua butang pengguna;
  • bekalan kuasa ke port USB ialah 5 volt;
  • dimensi papan litar bercetak 100 x 80, mm

Saya menyukai papan siri STM-Discovery kerana ia mempunyai penyahpepijat pengaturcara terbina dalam - ST-Link. ST-Link berjenama hanya berfungsi dengan pengawal daripada STMicroelectronics, tetapi beberapa tahun yang lalu adalah mungkin untuk mengemas kini perisian tegar dalam ST-Link dan mendapatkan SEGGER J-Link OB (on-board) Debugger. Dari segi undang-undang, terdapat sekatan untuk menggunakan penyahpepijat sedemikian hanya dengan papan STMicroelectronics, tetapi sebenarnya potensinya tidak terhad. Oleh itu, mempunyai J-Link OB, anda boleh mempunyai penyahpepijat pengaturcara terbina dalam pada papan nyahpepijat. Saya perhatikan bahawa produk LDM-Systems menggunakan penukar CP2102 (Usb2Uart), yang hanya boleh berkelip.

Pembangunan papan pembangunan untuk K1986BE1QI (penerbangan)
Pengawal mikro STM32F103C8T6, nyata dan tidak begitu nyata, (c) Foto oleh pengarang

Jadi, adalah perlu untuk membeli STM32F103C8T6 asal, kerana perisian tegar proprietari tidak akan berfungsi dengan betul dengan klon. Saya meragui tesis ini dan memutuskan untuk mencuba pengawal CS32F103C8T6 dari syarikat China CKS. Saya tidak mempunyai aduan tentang pengawal itu sendiri, tetapi perisian tegar ST-Link proprietari tidak berfungsi di dalamnya. J-Link berfungsi sebahagiannya - peranti USB dikesan, tetapi pengaturcara tidak melaksanakan fungsinya dan sentiasa mengingatkan bahawa ia "cacat".

Pembangunan papan pembangunan untuk K1986BE1QI (penerbangan)
Ralat semasa menjalankan penyahpepijat pada pengawal bukan asal

Saya tidak berpuas hati dengan ini dan mula-mula menulis firmware untuk berkelip LED, dan kemudian melaksanakan permintaan IDCODE menggunakan protokol JTAG. Pengaturcara ST-Link, yang saya ada pada papan Discovery, dan program Utiliti ST-Link memancarkan CS32F103C8T6 tanpa sebarang masalah. Pada akhirnya, saya yakin bahawa papan saya berfungsi. Yang menggembirakan saya, pengawal sasaran K1986BE1QI (penerbangan) mengeluarkan IDCODEnya melalui talian TDO.

Pembangunan papan pembangunan untuk K1986BE1QI (penerbangan)
Osilogram garis isyarat TDO dengan tindak balas IDCODE yang dikodkan, (c) Foto oleh pengarang

Pembangunan papan pembangunan untuk K1986BE1QI (penerbangan)
Jadi port SWD berguna untuk menyahpepijat debugger itu sendiri dan menyemak IDCODE

Terdapat pilihan dengan penyahpepijat CMSIS-DAP (Port Akses Nyahpepijat). Membina projek daripada sumber ARM bukanlah tugas yang mudah, saya mengambil projek itu X893, dan kemudian saya mencuba DAP42. Malangnya, Keil uVision membeku dan tidak mahu bekerjasama dengan mereka. Akibatnya, saya menggantikan cip penyahpepijat dengan STM32F103C8T6 proprietari dan tidak pernah kembali kepada isu ini.

Pembangunan papan pembangunan untuk K1986BE1QI (penerbangan)
Operasi yang berjaya bagi penyahpepijat terbina dalam J-Link STLink V2

Apabila semua komponen utama papan pembangunan masa depan tersedia, saya pergi ke Eagle CAD dan mendapati bahawa mereka tidak berada dalam perpustakaan elemen. Tiada tempat untuk pergi - saya terpaksa melukisnya sendiri. Pada masa yang sama, saya membuat tempat pelekap untuk ingatan, penyambung HanRun untuk Ethernet, dan menambah bingkai untuk perintang dan kapasitor. Fail projek dan perpustakaan komponen boleh didapati pada GitHub saya.

Gambarajah skematik papan pembangunan MDB1986Pembangunan papan pembangunan untuk K1986BE1QI (penerbangan)

Papan ini dikuasakan oleh sumber DC 5 volt yang diperoleh daripada port USB. Terdapat sejumlah dua port USB Jenis-B pada papan. Satu adalah untuk pengaturcara, yang kedua adalah untuk pengawal K1986BE1QI. Lembaga boleh beroperasi dari salah satu sumber ini atau kedua-duanya secara serentak. Peraturan beban yang paling mudah dan perlindungan talian kuasa dilaksanakan menggunakan diod Schottky, dalam litar D2 dan D3 (SS24). Juga dalam rajah anda boleh melihat fius memulihkan sendiri F1 dan F2 pada 500 mA. Talian isyarat port USB dilindungi oleh pemasangan diod USBLC6-2SC6.

Litar debugger-programmer ST-Link diketahui ramai; ia boleh didapati dalam dokumentasi untuk papan STM32-Discovery dan sumber lain. Untuk perisian tegar awal klon ST-Link/J-Link-OB/DAP (pilihan), saya mengeluarkan garisan SWDIO (PA13), SWCLK (PA14), GND. Ramai orang menggunakan UART untuk firmware dan terpaksa menarik pelompat BOOT. Tetapi saya dapati SWD lebih mudah, dan protokol ini membenarkan penyahpepijatan.

Hampir semua komponen papan dikuasakan oleh 3.3 volt, yang berasal dari pengatur voltan AMS1117-3.3. Untuk menyekat gangguan elektromagnet dan lonjakan arus, penapis LC daripada kapasitor dan pencekik siri BLM31PG digunakan.

Secara berasingan, pemacu paparan 7-segmen MAX7221 patut disebut. Mengikut spesifikasi, bekalan kuasa yang disyorkan adalah dari 4 hingga 5.5 volt, dan tahap isyarat tinggi (logik) sekurang-kurangnya 3.5V (0.7 x VCC), dengan bekalan 5V. Untuk pengawal K1986BE1QI (penerbangan), output unit logik sepadan dengan voltan dari 2.8 hingga 3.3V. Jelas sekali terdapat ketidakpadanan antara tahap isyarat yang mungkin mengganggu operasi biasa. Saya memutuskan untuk menghidupkan MAX7221 pada 4V dan mengurangkan tahap isyarat kepada 2.8V (0.7 x 4 = 2.8). Untuk melakukan ini, diod D4 (RS1A atau FR103) dipasang secara bersiri dalam litar kuasa pemacu. Jumlah penurunan voltan ialah 0.9V (Diod Schottky 0.3V dan diod 0.6V), dan semuanya berfungsi.

Kebanyakan port pengawal mikro K1986BE1QI (penerbangan) serasi dengan isyarat sehingga 5V. Oleh itu, tiada masalah menggunakan transceiver MCP2551 CAN, yang juga beroperasi pada 5V. Cip MAX232 ditunjukkan sebagai transceiver RS-3232 dalam rajah, tetapi sebenarnya saya menggunakan SN65C3232D dari Texas Instruments, kerana ia beroperasi dari 3.3V dan memberikan kelajuan sehingga 1Mbit/s.

Papan mengandungi 4 resonator kuarza - satu untuk penyahpepijat (8 MHz) dan tiga untuk mikropengawal sasaran K1986BE1QI (penerbangan) dengan penarafan 32.768 kHz, 16 MHz, 25 MHz. Ini adalah komponen yang diperlukan, kerana Parameter pengayun RC terbina dalam berada dalam julat luas dari 6 hingga 10 MHz. Kekerapan 25 MHz diperlukan untuk pengendalian pengawal Ethernet terbina dalam. Atas sebab tertentu, laman web Milandra (mungkin secara tidak sengaja) menyatakan bahawa kotak plastik itu tidak mempunyai Ethernet. Tetapi kami akan bergantung pada spesifikasi dan fakta.

Insentif penting untuk mencipta papan pembangunan saya sendiri ialah peluang untuk bekerja dengan bas sistem luaran EBC (pengawal bas luaran), yang pada asasnya merupakan port selari. Pengawal mikro K1986BE1QI (pesawat) membolehkan anda menyambung dan bekerja dengan cip memori luaran dan peranti persisian, contohnya, ADC, FPGA, dsb. Keupayaan bas sistem luaran agak besar - anda boleh bekerja dengan RAM statik 8-bit, 16-bit dan 32-bit, ROM dan NAND Flash. Untuk membaca/menulis data 32-bit, pengawal secara automatik boleh melakukan 2 operasi yang sepadan untuk cip 16-bit dan 8 operasi untuk cip 4-bit. Jelas sekali, operasi I/O 32-bit akan diselesaikan paling cepat dengan bas data 32-bit. Kelemahannya termasuk keperluan untuk program beroperasi dengan data 32-bit, dan lembaga perlu meletakkan 32 trek.

Pembangunan papan pembangunan untuk K1986BE1QI (penerbangan)
Cip RAM statik, digunakan (teka mana yang rosak)

Penyelesaian yang seimbang ialah menggunakan cip memori 16-bit. Saya kebetulan mempunyai cip Integrated Silicon Solutions Inc. dalam stok. (ISSI IS61LV25616AL, 16 x 256k, 10 ns, 3.3V). Sudah tentu, syarikat Milander mempunyai cip memori statiknya sendiri siri 1645RU, tetapi ia terlalu mahal dan tidak tersedia. Sebagai alternatif, terdapat Samsung K6R4016V1D yang serasi dengan pin. Terdahulu saya menyebut bahawa litar mikro ternyata digunakan dan salinan yang saya pasang pada mulanya memberikan kegagalan dan nilai huru-hara dalam baris data ke-15. Ia mengambil masa beberapa hari untuk mencari ralat perkakasan, dan semakin besar perasaan kepuasan apabila saya menggantikan cip yang rosak dengan yang berfungsi. Walau apa pun, kelajuan bekerja dengan memori luaran meninggalkan banyak yang diingini.

Bas luaran dan mod SendiriPengawal mikro K1986BE1QI (pesawat) mempunyai mod StandAlone yang unik, yang direka untuk akses luaran terus kepada pengawal Ethernet dan MKIO (MIL_STD_1553) melalui bas luaran, dengan teras dalam keadaan tetapan semula, i.e. tidak digunakan. Mod ini sesuai untuk pemproses dan FPGA yang tidak mempunyai Ethernet dan/atau MKIO.
Gambar rajah sambungan adalah seperti berikut:

  • bas data MCU(D0-D15) => SRAM(I/O0-I/O15),
  • alamat bas MCU(A1-A18) => SRAM(A0-A17),
  • kawal MCU(nWR,nRD,PortC2) => SRAM (WE,OE,CE),
  • SRAM(UB,LB) disambungkan atau ditarik ke tanah melalui perintang.

Talian CE disambungkan kepada bekalan kuasa melalui perintang; pin untuk pensampelan bait MCU (BE0-BE3) tidak digunakan. Di bawah spoiler, saya menyediakan kod untuk memulakan port dan pengawal bas luaran.

Memulakan port dan pengawal EBC (pengawal bas luaran)

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

Pengawal mikro dalam pakej LQFP-144 dan memori dalam pakej TSOP-44 mempunyai banyak pin yang berkaitan dan mengambil banyak ruang pada papan litar bercetak. Mempunyai pengalaman dalam menyelesaikan masalah pengoptimuman dalam bidang ekonomi, adalah jelas kepada saya bahawa adalah perlu untuk meletakkan litar mikro ini pada papan terlebih dahulu. Dalam pelbagai sumber saya telah menemui ulasan pujian tentang CAD TopoR (Penghala Topologi). Saya memuat turun versi percubaan dan dapat mengeksport projek saya dari Eagle CAD di sana hanya selepas saya mengalih keluar hampir semua komponen. Malangnya, program TopoR tidak membantu saya meletakkan walaupun 10 elemen pada papan. Pertama, semua komponen diletakkan di sudut, dan kemudian disusun di sepanjang tepi. Saya tidak berpuas hati dengan pilihan ini, dan untuk masa yang lama saya mengesan papan secara manual dalam persekitaran Eagle CAD yang biasa.

Elemen penting papan litar bercetak ialah percetakan skrin sutera. Papan pembangunan bukan sahaja mesti mempunyai label untuk komponen elektronik, tetapi semua penyambung juga mesti dilabelkan. Di bahagian belakang papan saya meletakkan jadual dengan fungsi port pengawal (utama, alternatif, ditindih, sebenar). Saya memesan pengeluaran papan litar bercetak di China dari pejabat PCBWay yang terkenal. Saya tidak akan memuji kerana kualitinya bagus. Mereka boleh melakukan yang lebih baik, dengan toleransi yang lebih ketat, tetapi dengan bayaran.

Pembangunan papan pembangunan untuk K1986BE1QI (penerbangan)
Papan litar bercetak MDB1986 yang dihasilkan, (c) Foto oleh pengarang

Saya terpaksa menyolder komponen "di lutut saya" dengan besi pematerian 40 watt dan pateri POS-61, kerana saya jarang memateri, 1-2 kali setahun, dan pes pematerian telah kering. Saya juga terpaksa menukar pengawal CS32F103 Cina kepada STM32F103 asal, dan kemudian juga menggantikan memori. Secara umum, sekarang saya benar-benar berpuas hati dengan hasilnya, walaupun saya belum lagi menyemak operasi RS-232 dan CAN.

Pembangunan papan pembangunan untuk K1986BE1QI (penerbangan)
Papan nyahpepijat MDB1986 sedang beroperasi - ia bersinar dan hangat, (c) Foto oleh pengarang

Di laman web Milandra anda boleh menemui cukup bahan pendidikan untuk pengawal pembelajaran siri 1986BE9 (teras Cortex-M3), tetapi untuk mikropengawal K1986BE1QI (penerbangan) saya tidak nampak apa-apa di sana. Setelah melihat bahan, manual dan kerja makmal untuk universiti yang diterbitkan di sana, saya gembira kerana kakitangan sedang dilatih di seluruh negara untuk bekerja dengan pengawal Rusia. Kebanyakan bahan latihan bersedia untuk bekerja dengan port I/O, pemasa, ADC, DAC, SPI, UART. Persekitaran pembangunan IDE yang berbeza digunakan (Keil, IAR, CodeMaster). Di suatu tempat mereka memprogram menggunakan daftar CMSIS, dan di suatu tempat mereka menggunakan Perpustakaan MDR. Sumber mesti disebut Mulakan Milandr, yang mengandungi banyak artikel daripada pengaturcara yang mengamalkan. Dan, sudah tentu, kita tidak boleh melupakannya forum Milandra.

Terfikir tentang MilandraMikroelektronik berkembang di Rusia, dan syarikat Milander memainkan peranan penting dalam proses ini. Mikropengawal baru yang menarik muncul, sebagai contoh, 1986BE81T dan Elektrosila dengan antara muka SpaceWire dan MKIO (sama seperti pada 1986BE1 dan, mungkin, dengan masalah yang sama), dsb. Tetapi pelajar biasa, guru dan jurutera awam tidak boleh membeli litar mikro tersebut. Ini bermakna komuniti kejuruteraan tidak akan dapat mengenal pasti ralat dan masalah dengan cepat dengan cip ini. Nampaknya saya mula-mula perlu menghasilkan litar mikro dalam bekas plastik, mengedarkannya kepada semua pihak yang berminat, dan selepas kelulusan (approbatio Latin - kelulusan, pengiktirafan) oleh pakar, mereka boleh menyediakan semakan dalam kes logam-seramik dengan perlindungan daripada semua faktor yang dahsyat. Saya berharap dalam masa terdekat kita SEMUA akan berpuas hati dengan projek-projek baru yang diumumkan di pameran.
Papan nyahpepijat yang saya bangunkan boleh diulang, diubah suai dan digunakan oleh sesiapa sahaja dalam proses pendidikan. Pertama sekali, saya membuat papan untuk diri saya sendiri, tetapi ternyata begitu baik Saya memutuskan untuk berkongsi dengan semua orang.

K1986BE1QI (air) ialah pengawal yang sangat menarik dengan antara muka unik yang boleh digunakan di universiti untuk mengajar pelajar. Saya fikir selepas membetulkan ralat yang dikenal pasti dalam pengawal dan lulus ujian pensijilan, pengawal akan terbang dalam erti kata yang sebenar!

Sumber: www.habr.com

Tambah komen