د K1986BE1QI (هوایی چلند) لپاره د پراختیایی بورډ پراختیا

د K1986BE1QI (هوایی چلند) لپاره د پراختیایی بورډ پراختیا

څو کاله دمخه زه د میلندر څخه د روسیې مایکرو کنټرولرونو سره آشنا شوم. دا 2013 و، کله چې انجینرانو د 2008-2015 لپاره د فدرالي هدف برنامې "د بریښنایی برخې اساس او راډیو برقیاتو پراختیا" په لومړیو پایلو باندې په کلکه بحث کاوه. په هغه وخت کې، د K1986BE9x کنټرولر (Cortex-M3 core) لا دمخه خپور شوی و، او د 1986BE1T کنټرولر (Cortex-M1 کور) یوازې څرګند شوی و. په پلاستيکي قضیه کې، LQFP-144، دا په اسنادو کې K1986BE1QI (هوایی چلند) نومول شوی، او پخپله چپ کې د MDR32F1QI نومول شوی. د جوړونکي په ویب پاڼه کې دا د "avia" ضمیمه لري، ځکه چې دا د الوتکې صنعت ته ځانګړي انٹرفیسونه لري (ARINC 429, MIL_STD_1553).

په حیرانتیا سره، د دې کنټرولرانو د ویشلو په وخت کې، د میلانډر شرکت د پرفیریالونو سره کار کولو لپاره د ډیبګ کولو کټونه او د فرعي روټینونو کتابتون چمتو کړ، "مګر د کتابتون د سموالي په اړه کوم اضافي تضمین یا مکلفیت پرته." کتابتون د STMicroelectronics څخه د معیاري پیریفرال کتابتون سره ورته دی. په عموم کې، د Cortex-M کور کې جوړ شوي ټول ARM کنټرولرونه ډیر مشترک دي. د دې دلیل لپاره، د نوي روسی کنټرولرانو سره پیژندنه په چټکۍ سره پرمخ لاړه. او د هغو کسانو لپاره چې د برانډ ډیبګینګ کټونه اخیستي ، د کارولو پرمهال تخنیکي ملاتړ چمتو شوی.

د K1986BE1QI (هوایی چلند) لپاره د پراختیایی بورډ پراختیا
د مایکرو کنټرولر 1986BE1T لپاره د ډیبګ کټ، © میلندر

په هرصورت، د وخت په تیریدو سره، د نوي مایکرو سرکیټونو او کتابتونونو "ماشومانو ناروغۍ" څرګندیدل پیل کړل. د فرم ویئر ازموینې مثالونه پرته له لید ستونزو سره کار کوي، مګر د پام وړ بدلونونو سره، حادثې او تېروتنې رامنځته شوې. زما په تمرین کې لومړی "تیل" د CAN کنټرولر په عملیاتو کې د نه منلو وړ ناکامۍ و. یو کال وروسته، د ماډل سره ستونزه د 1986 BE1T (هوایی چلند) کنټرولر کې د ابتدايي بیاکتنې په اړه وموندل شوه. MKIO (د څو اړخیزو معلوماتو د تبادلې چینل). په عموم کې، تر 2016 پورې د دې مایکرو کنټرولر ټول بیاکتنې د محدود کارونې وې. د دې ستونزو په پیژندلو کې ډیر وخت او اعصاب تیر شوي، چې اوس یې تایید کیدی شي د تېروتنې لیست (Erata).

یو ناخوښه ځانګړتیا دا وه چې دا اړینه وه چې کار وکړو او د غلطیو سره معامله وکړو نه د ډیبګ کولو بورډونو کې، مګر د وسایلو پروټوټایپ بورډونو کې چې د سیریل فابریکې تولید لپاره پالن شوي. هلته معمولا د JTAG نښلونکي پرته بل څه نه وو. د منطقي تحلیل کونکي سره نښلول ستونزمن او ناشونی و، او معمولا هیڅ LEDs یا سکرینونه شتون نلري. د دې دلیل لپاره، زما د خپل ډیبګ کولو بورډ جوړولو نظر زما په سر کې څرګند شو.

له یوې خوا ، په بازار کې د برانډ شوي ډیبګینګ کټونه شتون درلود ، په بیله بیا د زیلینوګراد څخه د LDM-Systems شرکت څخه په زړه پوري بورډونه. له بلې خوا، د دې محصولاتو نرخونه حیرانونکي دي، او د پراختیا کارتونو پرته بنسټیز فعالیت تمه نه پوره کوي. یو تخته چې د سولډر شوي کنټرولر او پن نښلونکي سره زما لپاره هیڅ علاقه نلري. او نور په زړه پورې بورډونه ګران دي.

د K1986BE1QI (هوایی چلند) لپاره د پراختیایی بورډ پراختیا
پرمختیایی بورډ MILANDR LDM-HELPER-K1986BE1QI-FULL، © LDM سیسټمونه

د میلانډر شرکت د نرخونو ځانګړي پالیسۍ او بازار موندنه لري. نو ، دا ممکنه ده چې د ځینې مایکرو سرکیټونو وړیا نمونې ترلاسه کړئ ، مګر دا یوازې قانوني ادارو ته شتون لري او د بیوروکراټیک لټون سره تړاو لري. په عموم کې، د فلزي - سیرامیک قضیه کې مایکرو سرکیټونه په لفظي او انځوري معنی کې سره زر دي. د مثال په توګه، د 1986BE1T کنټرولر په مسکو کې له 14 څخه تر 24 زرو روبلو پورې لګښت لري. د 1645RU6U جامد حافظې چپ لګښت له 15000 روبل څخه. او دا د ټولو محصولاتو قیمت دی. د پایلې په توګه، حتی د حکومتي امرونو سره د څیړنې ځانګړي موسسې پیسې خوندي کوي او د داسې قیمتونو څخه لیرې کیږي. د ملکي کارونې لپاره په پلاستيکي قضیه کې مایکرو سرکیټونه د پام وړ ارزانه دي ، مګر دا د مشهور عرضه کونکو څخه شتون نلري. برسېره پردې، په پلاستيکي قضیه کې د مایکرو سرکیټونو کیفیت، زما په اند، د "سرو زرو" څخه بدتر دی. د مثال په توګه ، زه نشم کولی K1986BE1QI کنټرولر په 128 MHz کې د فلش لیټینسی پیرامیټر زیاتولو پرته پرمخ وړم. په ورته وخت کې، د دې کنټرولر د حرارت درجه 40-50C ته لوړه شوه. مګر د 1986BE1T ("سرو زرو") کنټرولر په 128 MHz کې پرته له اضافي ترتیباتو پیل شو او ساړه پاتې شو. هغه واقعیا ښه دی.

د K1986BE1QI (هوایی چلند) لپاره د پراختیایی بورډ پراختیا
"طلایی" مایکرو کنټرولر 1986BE1T، (c) میلندر

زه خوشحاله وم چې په پلاستيکي قضیه کې مایکرو کنټرولر لاهم د LDM سیسټمونو څخه په پرچون کې اخیستل کیدی شي، او د بورډ ټول ډیاګرامونه په وړیا توګه شتون لري. بد شی دا دی چې د کنټرولر په عکس کې په ویب پا onه کې تاسو یو نښه لیدلی شئ چې وايي دا د 4 څلورم بیاکتنه ده ، i.e. له عیبونو سره. ډېر وخت مې فکر کاوه چې پېروم او که نه. څو کاله همداسې تېر شول...

د ډیبګ بورډ رامینځته کولو مفکوره چیرته ورکه شوې نه ده. په تدریج سره، ما ټول اړتیاوې رامینځته کړې او فکر مې وکړ چې څنګه دا ټول په یوه تخته کې ځای پرځای کړم ترڅو دا به کمپیکٹ وي او ګران نه وي. په ورته وخت کې، ما د چینایي څخه ورک شوي اجزاو امر وکړ. زه هیڅ بیړه نه وم - ما هرڅه د ځان لپاره وکړل. چینایي عرضه کونکي په بده توګه سپک دي - ما باید ورته شی له مختلف ځایونو څخه امر کړی وای ترڅو هرڅه چې ورته اړتیا لرم ترلاسه کړم. سربیره پردې ، ځینې د حافظې چپس کارول شوي - په څرګند ډول د مات شوي وسیلو څخه پلورل شوي. دا وروسته بیرته زما د ځورولو لپاره راغله.

د مایکرو کنټرولر میلندر K1986BE1QI (هوا) پیرود کول اسانه کار ندی. په ورته چپ او ډیپ پلورنځي کې ، د "آرډر کولو توکو" برخې کې ، ما د 1986 روبلو لپاره یوازې K92BE740QI وموندل ، مګر دا زما سره مناسب نه و. یوازینی اختیار دا دی چې د 2000 روبلو لپاره د LDM-Systems څخه غیر تازه بیاکتنه واخلئ. څرنګه چې ما په بل ځای کې بدیل ونه موندل، ما پریکړه وکړه چې هغه څه واخلم چې زه یې لرم. زما د خوښۍ حیرانتیا لپاره، دوی ما ته یو نوی نوی کنټرولر وپلورل چې په دسمبر 2018 کې جوړ شوی، بیاکتنه 6+ (1820). مګر سایټ لاهم یو زوړ عکس لري ، او د لیکلو په وخت کې کنټرولر شتون نلري ...

د K1986BE1QI (هوایی چلند) لپاره د پراختیایی بورډ پراختیا
مایکرو کنټرولر K1986BE1QI (هوایی چلند) په تخنیکي بسته بندۍ کې، (c) د لیکوال لخوا عکس

زما د ډیبګ بورډ اصلي تخنیکي ځانګړتیاوې MDB1986 لاندې

  • جوړ شوی ډیبګر-پروګرامر، د J-Link او CMSIS-DAP سره مطابقت لري؛
  • جامد حافظه 4Mbit (256k x 16, 10 ns);
  • د فلش حافظې چپ 64Mbit، Winbond 25Q64FVSIG؛
  • د RTS او CTS لینونو سره RS-232 انٹرفیس ټرانسیور؛
  • د ایترنیټ، USB، CAN لپاره انٹرفیسونه او نښلونکي؛
  • MAX7 د 7221 برخې د ښودلو کنټرولر؛
  • د MKIO (MIL_STD_1553) او ARINC429 سره کار کولو لپاره پن نښلونکی؛
  • phototransistor Everlight PT17-21C؛
  • پنځه رنګه LEDs، د بیا تنظیم کولو تڼۍ او دوه کاروونکي بټن؛
  • د USB پورټ ته د بریښنا رسولو 5 وولټ دی؛
  • د چاپ شوي سرکټ بورډ ابعاد 100 x 80، mm

ما د STM-Discovery لړۍ بورډونه خوښ کړل ځکه چې دوی یو جوړ شوی پروګرامر - ډیبګر لري - ST-Link. برانډ شوی ST-Link یوازې د STMicroelectronics کنټرولرانو سره کار کوي ، مګر څو کاله دمخه دا ممکنه شوه چې په ST-Link کې فرم ویئر تازه کړئ او د SEGGER J-Link OB (آن بورډ) ډیبګر ترلاسه کړئ. په قانوني توګه، یوازې د STMicroelectronics بورډونو سره د داسې ډیبګر کارولو محدودیت شتون لري، مګر په حقیقت کې احتمال محدود ندی. په دې توګه، د J-Link OB درلودل، تاسو کولی شئ د ډیبګینګ بورډ کې جوړ شوی پروګرامر - ډیبګر ولرئ. زه یادونه کوم چې د LDM-Systems محصولات د CP2102 (Usb2Uart) کنورټر کاروي، کوم چې یوازې فلش کولی شي.

د K1986BE1QI (هوایی چلند) لپاره د پراختیایی بورډ پراختیا
STM32F103C8T6 مایکرو کنټرولرونه، ریښتیني او دومره ریښتیني ندي، (c) د لیکوال لخوا عکس

نو، دا اړینه وه چې اصلي STM32F103C8T6 واخلئ، ځکه چې د ملکیت فرم ویئر به د کلون سره سم کار ونکړي. ما په دې مقاله شک وکړ او پریکړه مې وکړه چې د چینایي شرکت CKS څخه د CS32F103C8T6 کنټرولر هڅه وکړم. زه پخپله د کنټرولر په اړه هیڅ شکایت نلرم، مګر د ملکیت ST-Link فرم ویئر پدې کې کار نه دی کړی. J-Link په جزوي توګه کار وکړ - د USB وسیله کشف شوه، مګر پروګرامر خپل فعالیتونه ترسره نه کړل او په دوامداره توګه یې یادونه وکړه چې دا "عیب" دی.

د K1986BE1QI (هوایی چلند) لپاره د پراختیایی بورډ پراختیا
تېروتنه کله چې په غیر اصلي کنټرولر کې ډیبګر چلول

زه له دې څخه راضي نه وم او لومړی یې د LED روښانه کولو لپاره فرم ویئر ولیکل، او بیا یې د JTAG پروتوکول په کارولو سره د IDCODE غوښتنه پلي کړه. د ST-Link پروګرامر، چې ما د کشف بورډ کې درلود، او د ST-Link یوټیلټي پروګرام پرته له کومې ستونزې CS32F103C8T6 فلش کړ، په پای کې، زه ډاډه وم چې زما بورډ کار کوي. زما د خوښۍ لپاره ، د هدف کنټرولر K1986BE1QI (هوایی چلند) په خوښۍ سره خپل IDCODE د TDO لاین له لارې خپور کړ.

د K1986BE1QI (هوایی چلند) لپاره د پراختیایی بورډ پراختیا
د کوډ شوي IDCODE ځواب سره د TDO سیګنال لاین اوسیلوگرام، (c) د لیکوال لخوا عکس

د K1986BE1QI (هوایی چلند) لپاره د پراختیایی بورډ پراختیا
نو د SWD بندر پخپله د ډیبګر ډیبګ کولو او IDCODE چیک کولو لپاره په کار کې راغلی

د ډیبګر سره یو اختیار شتون درلود CMSIS-DAP (Debug Access Port). د ARM سرچینو څخه د پروژې جوړول یو اسانه کار نه دی، ما دا پروژه واخیستله X893، او بیا ما د DAP42 هڅه وکړه. له بده مرغه، Keil uVision کنګل شو او نه غوښتل چې د دوی سره کار وکړي. د پایلې په توګه ، ما د ډیبګر چپ د ملکیت STM32F103C8T6 سره ځای په ځای کړ او هیڅکله دې مسلې ته نه راګرځیدلی.

د K1986BE1QI (هوایی چلند) لپاره د پراختیایی بورډ پراختیا
د جوړ شوي ډیبګر J-Link STLink V2 بریالي عملیات

کله چې د راتلونکي پرمختیایي بورډ ټولې کلیدي برخې شتون درلود، زه د ایګل CAD ته لاړم او وموندله چې دوی د عنصر کتابتون کې ندي. د تګ لپاره هیڅ ځای نه و - زه باید دوی پخپله رسم کړم. په ورته وخت کې ، ما د حافظې لپاره د نصب کولو ځایونه جوړ کړل ، د ایترنیټ لپاره د هان رون نښلونکی ، او د مقاومت کونکو او کیپسیټرونو لپاره چوکاټونه اضافه کړل. د پروژې فایل او د برخې کتابتون موندل کیدی شي زما په GitHub کې.

د MDB1986 پرمختیایي بورډ سکیمیک ډیاګرامد K1986BE1QI (هوایی چلند) لپاره د پراختیایی بورډ پراختیا

بورډ د USB پورټ څخه ترلاسه شوي د 5 ولټ DC سرچینې لخوا پرمخ وړل کیږي. په بورډ کې ټولټال دوه USB ډول-B بندرونه شتون لري. یو د پروګرامر لپاره دی، دویم د K1986BE1QI کنټرولر لپاره دی. بورډ کولی شي له دې سرچینو څخه یا دواړه په ورته وخت کې کار وکړي. د بار کولو خورا ساده مقررات او د بریښنا لاین محافظت د Schottky diodes په کارولو سره پلي کیږي، په سرکټ D2 او D3 (SS24). همدارنګه په ډیاګرام کې تاسو کولی شئ د ځان رغولو فیوزونه F1 او F2 په 500 mA کې وګورئ. د USB پورټ سیګنال لاینونه د USBLC6-2SC6 ډایډډ اسمبلۍ لخوا خوندي شوي.

د ST-Link ډیبګر-پروګرامر سرکټ ډیری ته پیژندل شوی؛ دا د STM32-Discovery بورډونو او نورو سرچینو لپاره په اسنادو کې موندل کیدی شي. د ST-Link/J-Link-OB/DAP کلون (اختیاري) لومړني فرم ویئر لپاره ، ما د SWDIO (PA13) ، SWCLK (PA14) ، GND لاینونه راوړل. ډیری خلک د فرم ویئر لپاره UART کاروي او مجبور دي چې د بوټ جمپرونه راوباسي. مګر زه SWD ډیر اسانه وموم، او دا پروتوکول د ډیبګ کولو لپاره اجازه ورکوي.

د بورډ نږدې ټولې برخې د 3.3 ولټ لخوا پرمخ وړل کیږي، کوم چې د AMS1117-3.3 ولټاژ تنظیم کونکي څخه راځي. د بریښنایی مقناطیسي مداخلې او اوسني سرجونو د مخنیوي لپاره ، د کاپسیټرونو څخه LC فلټرونه او د BLM31PG لړۍ چوکس کارول کیږي.

په جلا توګه، دا د MAX7 7221 سیګمینټ ډسپلین ډرایور د یادولو وړ دی. د مشخصاتو له مخې، وړاندیز شوی بریښنا رسولو له 4 څخه تر 5.5 ولټو پورې دی، او د لوړ سیګنال کچه (منطقي یو) لږترلږه 3.5V (0.7 x VCC) دی، د 5V رسولو سره. د K1986BE1QI (هوایی چلند) کنټرولر لپاره، د منطقي واحد محصول له 2.8 څخه تر 3.3V پورې ولتاژ سره مطابقت لري. په ښکاره ډول د سیګنال کچو ترمینځ توپیر شتون لري کوم چې ممکن د نورمال عملیاتو سره مداخله وکړي. ما پریکړه وکړه چې MAX7221 په 4V کې بریښنا کړم او د سیګنال کچه 2.8V (0.7 x 4 = 2.8) ته راټیټ کړم. د دې کولو لپاره، ډایډډ D4 (RS1A یا FR103) په لړۍ کې د ډرایور بریښنا سرکټ کې نصب شوی. ټول ولتاژ ډراپ 0.9V دی (Schottky diode 0.3V او diode 0.6V)، او هرڅه کار کوي.

د K1986BE1QI (هوایی) مایکرو کنټرولر ډیری بندرونه تر 5V پورې سیګنالونو سره مطابقت لري. له همدې امله ، د MCP2551 CAN ټرانسیور کارولو کې کومه ستونزه شتون نلري ، کوم چې په 5V کې هم کار کوي. MAX232 چپ په ډیاګرام کې د RS-3232 ټرانسیور په توګه ښودل شوی ، مګر په حقیقت کې ما د ټیکساس وسیلو څخه SN65C3232D کارولی ، ځکه چې دا د 3.3V څخه کار کوي او تر 1Mbit/s پورې سرعت چمتو کوي.

په بورډ کې 4 کوارټز ریزونیټرونه شامل دي - یو د ډیبګر (8 MHz) لپاره او درې د هدف مایکرو کنټرولر K1986BE1QI (هوایی) لپاره د 32.768 kHz، 16 MHz، 25 MHz درجې سره. دا اړینې برخې دي، ځکه د جوړ شوي RC oscillator پیرامیټونه د 6 څخه تر 10 MHz پورې په پراخه کچه کې دي. د جوړ شوي ایترنیټ کنټرولر عملیاتو لپاره د 25 MHz فریکونسۍ ته اړتیا ده. د ځینو دلیلونو لپاره، د میلندرا ویب پاڼه (شاید په غلطۍ سره) وایي چې د پلاستيک قضیه ایترنیټ نلري. مګر موږ به په توضیحاتو او حقایقو تکیه وکړو.

زما د خپل پرمختیایي بورډ رامینځته کولو لپاره یو مهم هڅونه د بهرني سیسټم بس EBC (بهرني بس کنټرولر) سره د کار کولو فرصت و ، کوم چې اساسا یو موازي بندر دی. د K1986BE1QI مایکرو کنټرولر (الوتکې) تاسو ته اجازه درکوي چې د بهرني حافظې چپس او پردیو وسیلو سره وصل شئ او کار وکړئ ، د مثال په توګه ، ADCs ، FPGAs او نور. د بهرني سیسټم بس وړتیاوې خورا لوی دي - تاسو کولی شئ د 8-bit، 16-bit او 32-bit جامد RAM، ROM او NAND فلش سره کار وکړئ. د 32-bit ډیټا لوستلو / لیکلو لپاره ، کنټرولر کولی شي په اوتومات ډول د 2-bit چپس لپاره 16 ورته عملیات ترسره کړي ، او د 8-bit چپس لپاره 4 عملیات. په ښکاره ډول، د 32-bit I/O عملیات به د 32-bit ډیټا بس سره په چټکۍ سره بشپړ شي. په زیانونو کې د 32-bit ډیټا سره د کار کولو لپاره د برنامه اړتیا شامله ده ، او بورډ باید 32 ټریکونه ځای په ځای کړي.

د K1986BE1QI (هوایی چلند) لپاره د پراختیایی بورډ پراختیا
جامد RAM چپس، کارول شوي (فکر وکړئ کوم یو نیمګړی دی)

یو متوازن حل د 16-bit حافظې چپس کارول دي. ما په سټاک کې د Integrated Silicon Solutions Inc. چپس درلود. (ISSI IS61LV25616AL، 16 x 256k، 10 ns، 3.3V). البته، د میلندر شرکت خپل جامد حافظې چپس لري لړۍ 1645RU، مګر دوی خورا ګران دي او شتون نلري. د بدیل په توګه، د پن سره مطابقت لرونکي سامسنګ K6R4016V1D شتون لري. مخکې ما یادونه وکړه چې مایکرو سرکیټونه کارول شوي او هغه کاپي چې ما په پیل کې نصب کړې د 15 ډیټا لاین کې ناکامي او ګډوډي ارزښتونه ورکړل. د هارډویر غلطیو موندلو لپاره څو ورځې وخت ونیو ، او د رضایت احساس خورا لوی کله چې ما خراب شوی چپ د کار کونکي سره بدل کړ. لکه څنګه چې کیدی شي، د بهرني حافظې سره د کار کولو سرعت ډیر څه پریږدي چې مطلوب وي.

بهرنۍ بس او د سټنډرډ حالتK1986BE1QI مایکروکنټرولر (الوتکه) یو ځانګړی سټینډ الون حالت لري، کوم چې ایترنیټ او MKIO کنټرولرانو (MIL_STD_1553) ته د بهرني بس له لارې د مستقیم بهرني لاسرسي لپاره ډیزاین شوی، د ری سیٹ حالت کې اصلي سره، i.e. نه کارول کیږي دا حالت د پروسیسرونو او FPGAs لپاره مناسب دی چې ایترنیټ او/یا MKIO نلري.
د پیوستون ډیاګرام په لاندې ډول دی:

  • د ډیټا بس MCU(D0-D15) => SRAM(I/O0-I/O15)،
  • د بس پته MCU(A1-A18) => SRAM(A0-A17)،
  • کنټرول MCU(nWR,nRD,PortC2) => SRAM (WE,OE,CE),
  • SRAM (UB,LB) د مقاومت له لارې ځمکې ته نښلول شوي یا ایستل کیږي.

د CE لاین د ریزسټر له لارې د بریښنا رسولو سره وصل دی؛ د MCU بایټ (BE0-BE3) نمونې کولو لپاره پنونه نه کارول کیږي. د سپیلر لاندې ، زه د بندرونو او بهرني بس کنټرولر پیل کولو لپاره کوډ چمتو کوم.

د بندرونو پیل کول او د EBC کنټرولر (بهرني بس کنټرولر)

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 کڅوړه کې مایکرو کنټرولر او په TSOP-44 بسته کې حافظه ډیری تړلي پنونه لري او په چاپ شوي سرکټ بورډ کې ډیر ځای نیسي. د اقتصاد په برخه کې د اصلاح کولو ستونزو حل کولو کې تجربه درلودل ، ما ته څرګنده وه چې دا اړینه وه چې دا مایکرو سرکیټونه لومړی په بورډ کې ځای په ځای کړئ. په مختلفو سرچینو کې زه د ستاینې وړ بیاکتنې سره مخ شوی یم CAD TopoR (Topological Router). ما د آزموینې نسخه ډاونلوډ کړه او وکولی شوم چې زما پروژه د ایګل CAD څخه صادر کړم یوازې وروسته له هغه چې ما نږدې ټولې برخې لرې کړې. له بده مرغه، د TopoR پروګرام زما سره په بورډ کې حتی 10 عناصر ځای په ځای کولو کې مرسته نه ده کړې. لومړی، ټولې برخې په یوه کونج کې کیښودل شوې، او بیا د څنډې سره تنظیم شوي. زه د دې اختیار څخه راضي نه وم، او د اوږدې مودې لپاره ما د ایګل CAD پیژندل شوي چاپیریال کې په لاسي ډول بورډ تعقیب کړ.

د چاپ شوي سرکټ بورډ یو مهم عنصر د ورېښمو سکرین چاپ کول دي. پراختیایی بورډ باید نه یوازې د بریښنایی برخو لپاره لیبل ولري ، بلکه ټول نښلونکي باید لیبل هم ولري. د بورډ په شا کې ما د کنټرولر بندرونو دندو سره میزونه ځای په ځای کړل (اصلي، بدیل، ډیر شوی، حقیقي). ما په چین کې د مشهور PCBWay دفتر څخه د چاپ شوي سرکټ بورډونو تولید امر وکړ. زه به یې ستاینه ونه کړم ځکه چې کیفیت ښه دی. دوی کولی شي ښه کار وکړي، د سخت زغم سره، مګر د فیس لپاره.

د K1986BE1QI (هوایی چلند) لپاره د پراختیایی بورډ پراختیا
د MDB1986 چاپ شوي سرکټ بورډونه جوړ شوي، (c) د لیکوال لخوا عکس

ما باید د 40 واټ سولډرینګ اوسپنې او POS-61 سولډر سره اجزاوې "زما په زنګونونو" سولر کړي ، ځکه چې زه په ندرت سره په کال کې 1-2 ځله سولډر کوم ، او د سولډرینګ پیسټ وچ شوی و. ما باید د چینایي CS32F103 کنټرولر اصلي STM32F103 ته بدل کړی وای، او بیا یې حافظه هم بدله کړه. په عموم کې، اوس زه د پایلې څخه په بشپړه توګه مطمین یم، که څه هم ما تراوسه د RS-232 او CAN عملیات نه دي چک کړي.

د K1986BE1QI (هوایی چلند) لپاره د پراختیایی بورډ پراختیا
د MDB1986 ډیبګ بورډ په فعالیت کې - دا ځلیږي او ګرموي، (c) د لیکوال لخوا عکس

په میلندرا ویب پا onه کې تاسو کولی شئ کافي ومومئ د زده کړې کنټرولرانو لپاره تعلیمي مواد لړۍ 1986BE9 (Cortex-M3 core)، مګر د K1986BE1QI (هوايي چلند) مایکرو کنټرولر لپاره زه هلته هیڅ نه وینم. د پوهنتونونو لپاره د موادو، لارښود او لابراتوار کارونو ته په کتلو سره چې هلته خپاره شوي، خوښ یم چې پرسونل په ټول هیواد کې روزل کیږي ترڅو د روسیې کنټرولرانو سره کار وکړي. ډیری روزنیز توکي د I/O بندرونو، ټایمرونو، ADC، DAC، SPI، UART سره کار کولو لپاره چمتو کوي. د IDE د پراختیا مختلف چاپیریال کارول کیږي (کییل، IAR، CodeMaster). په ځینو ځایونو کې دوی د CMSIS راجسترونو په کارولو سره پروګرام کوي، او چیرته دوی د MDR کتابتون کاروي. سرچینې باید ذکر شي میلانډر پیل کړئ، کوم چې د تمرین کونکو پروګرامرانو ډیری مقالې لري. او، البته، موږ باید هیر نکړو د میلندرا فورم.

د میلندرا په اړه فکر وکړمایکرو الیکترونیک په روسیه کې وده کوي، او د میلندر شرکت پدې پروسه کې مهم رول لوبوي. نوي په زړه پوري مایکرو کنټرولرونه څرګندیږي ، د مثال په توګه ، 1986BE81T او Elektrosila د SpaceWire او MKIO انٹرفیسونو سره (د 1986BE1 په څیر او احتمالا د ورته ستونزو سره) ، او داسې نور. مګر عادي زده کونکي، ښوونکي او ملکي انجینران نشي کولی دا ډول مایکرو سرکیټونه واخلي. دا پدې مانا ده چې د انجینرۍ ټولنه به ونشي کولی د دې چپ سره غلطۍ او ستونزې په چټکۍ سره وپیژني. ماته داسې بریښي چې لومړی دا اړینه ده چې په پلاستيکي قضیه کې مایکرو سرکیټ تولید کړئ ، ټولو علاقه لرونکو اړخونو ته یې وویشئ ، او د متخصصینو لخوا تصویب (لاتین تصویب - تصویب ، پیژندنه) وروسته ، دوی کولی شي د فلزي سیرامیک قضیه کې بیاکتنه چمتو کړي. د ټولو ناوړه عواملو څخه ساتنه. زه امید لرم چې په نږدې راتلونکي کې به موږ ټول په نندارتونونو کې اعلان شوي نوي پروژې خوښ کړو.
د ډیبګ بورډ چې ما رامینځته کړی د هرچا لخوا په تعلیمي پروسه کې تکرار ، ترمیم او کارول کیدی شي. لومړی، ما د ځان لپاره بورډ جوړ کړ، مګر دا دومره ښه وګرځید ما پریکړه وکړه چې د هرچا سره شریک کړم.

K1986BE1QI (هوا) یو ډیر په زړه پوری کنټرولر دی چې د ځانګړي انٹرفیسونو سره چې په پوهنتونونو کې د زده کونکو د تدریس لپاره کارول کیدی شي. زه فکر کوم چې په کنټرولر کې پیژندل شوي غلطیو سمولو او د تصدیق ازموینې پاس کولو وروسته ، کنټرولر به د کلمې په ریښتیني معنی کې الوتنه وکړي!

سرچینه: www.habr.com

Add a comment