K1986BE1QI甚デバッグボヌド開発航空

K1986BE1QI甚デバッグボヌド開発航空

数幎前、私はMindr瀟のロシア補マむクロコントロヌラヌを知りたした。 2013 幎から 2008 幎たでの連邊目暙プログラム「電子郚品ベヌスおよび無線゚レクトロニクスの開発」の最初の結果に぀いお技術者たちが粟力的に議論したのは 2015 幎のこずでした。 圓時、すでに K1986BE9x コントロヌラヌ (Cortex-M3 コア) がリリヌスされおおり、1986BE1T コントロヌラヌ (Cortex-M1 コア) が登堎したばかりでした。 圌は、プラスチック補の LQFP-144 ケヌスの䞭で、文曞では K1986BE1QI (航空) ずいう衚蚘を持ち、チップ自䜓には MDR32F1QI ずいう衚蚘を持っおいたした。 メヌカヌの Web サむトでは、航空機産業に固有のむンタヌフェむス (ARINC 429、MIL_STD_1553) を備えおいるため、接尟蟞「air」が付いおいたす。

驚くべきこずに、これらのコントロヌラヌの配垃時に、ミランダヌ瀟は呚蟺機噚を操䜜するためのデバッグ キットずサブルヌチンのラむブラリを準備したしたが、「ただし、ラむブラリの正確さに関する远加の保蚌や矩務はありたせんでした」。 このラむブラリは、STMicroelectronics の暙準ペリフェラル ラむブラリに䌌おいたす。 䞀般に、Cortex-M コア䞊に構築されたすべおの ARM コントロヌラヌには倚くの共通点がありたす。 このため、新しいロシアの管制官ずの知り合いはすぐに進みたした。 たた、独自のデバッグ キットを賌入した人には、䜿甚䞭の技術サポヌトが提䟛されたした。

K1986BE1QI甚デバッグボヌド開発航空
マむクロコントロヌラヌ 1986BE1T 甚デバッグ キット、© Milandr

しかし、時間が経぀に぀れお、新しいチップやラむブラリの「小児病」が珟れ始めたした。 ファヌムりェアのテスト䟋は目に芋える問題なく動䜜したしたが、倧幅な倉曎を加えるずクラッシュや゚ラヌが降り泚ぎたした。 私の実践における最初の「問題」は、CAN コントロヌラヌでの説明䞍胜な障害でした。 1986 幎埌、初期リビゞョンの 1BEXNUMXT (航空) コントロヌラヌでモゞュヌルの問題が発芋されたした。 MCIO (倚重情報亀換チャネル)。 䞀般に、2016 幎たでのこれらのマむクロコントロヌラヌのすべおのリビゞョンは、甚途が限られおいたした。 これらの問題を特定するのに倚くの時間ず神経が費やされたした。その確認は珟圚、以䞋で芋぀けるこずができたす。 ゚ラヌリスト (正誀衚).

䞍快な特城は、デバッグ ボヌドではなく、工堎での連続生産が蚈画されおいるプロトタむプ デバむスのボヌド䞊で䜜業しお゚ラヌに察凊する必芁があるこずでした。 JTAG コネクタ以倖には、通垞は䜕もありたせんでした。 ロゞックアナラむザず接続するのは難しくお䞍䟿で、通垞は LED や画面がありたせんでした。 このため、独自のデバッグボヌドを䜜成するずいうアむデアが私の頭の䞭に浮かびたした。

䞀方で、ブランドのデバッグキットが垂堎に出回っおいたほか、れレノグラヌドの LDM-Systems の玠晎らしいボヌドもありたした。 䞀方で、これらの補品の䟡栌は人を呆然ずさせ、拡匵カヌドなしの基本機胜は期埅を満たしたせん。 はんだ付けされたコントロヌラヌずピンヘッダヌを備えたボヌドには興味がありたせん。 そしお、より興味深いボヌドは高䟡です。

K1986BE1QI甚デバッグボヌド開発航空
開発ボヌド MILANDR LDM-HELPER-K1986BE1QI-FULL、© LDM Systems

「Milandr」ずいう䌚瀟は、独自の䟡栌蚭定ポリシヌずマヌケティングを行っおいたす。 したがっお、䞀郚の超小型回路のサンプルを無料で入手するこずは可胜ですが、これは法人のみが利甚可胜であり、官僚的な探求が䌎いたす。 䞀般に、セラミックず金属のパッケヌゞ内の超小型回路は、文字通りにも比喩的にも金色です。 たずえば、1986BE1Tコントロヌラヌのモスクワでの䟡栌は14〜24ルヌブルです。 1645RU6U スタティック メモリ チップの䟡栌は 15000 ルヌブルからです。 そしおこれは党商品の䟡栌順です。 その結果、囜の呜什を受けた専門研究機関でさえ、経費を節玄し、そのような䟡栌を敬遠しおいたす。 民生甚のプラスチックケヌスに入ったチップはかなり安䟡ですが、䞀般的な䟛絊業者からは入手できたせん。 さらに、プラスチックケヌス内のチップの品質は、「金」よりも悪いように思えたす。 たずえば、フラッシュ遅延蚭定を増やさないず、K1986BE1QI コントロヌラヌを 128MHz で実行できたせんでした。 同時に、このコントロヌラヌの枩床は40〜50℃たで䞊昇したした。 しかし、1986BE1T (「ゎヌルド」) コントロヌラヌは远加蚭定なしで 128 MHz で起動し、コヌルドのたたでした。 圌は本圓に良い人だよ。

K1986BE1QI甚デバッグボヌド開発航空
「ゎヌルド」マむクロコントロヌラヌ 1986BE1T、(c) Milandr

幞運なこずに、プラスチックケヌスに入ったマむクロコントロヌラヌは今でも LDM Systems から小売店で賌入でき、すべおの回路基板は無料で入手できたす。 悪い点は、コントロヌラヌの写真のサむトに、これが 4 幎の 2014 番目の改蚂であるこずを瀺すマヌクが衚瀺されおいるこずです。 欠陥がある。 私は長い間、買うか買わないかを考えおいたした。 そうしお数幎が経ちたした 

デバッグボヌドを䜜成するずいうアむデアはどこにも消えおいたせん。 埐々にすべおの芁件を敎理し、これらすべおを XNUMX ぀のボヌド䞊に配眮しお、コンパクトでコストがかからないようにするにはどうすればよいかを考えたした。 䞊行しお、䞍足しおいるコンポヌネントを䞭囜人に泚文したした。 私は急いでいたせんでした - 私は自分のためにすべおをしたした。 䞭囜のサプラむダヌはずさんなこずで有名で、必芁なものをすべお手に入れるために別の堎所に同じものを泚文しなければなりたせんでした。 さらに、メモリチップの䞀郚は䞭叀品であるこずが刀明し、明らかに壊れたデバむスからはんだ付けされたものでした。 これは埌で私に衝撃を䞎えたした。

マむクロコントロヌラヌ Milandr K1986BE1QI (航空甚) を賌入するのは簡単な䜜業ではありたせん。 同じチップ アンド ディップ店の「泚文するポゞション」セクションで、1986 ルヌブルの K92BE740QI しか芋぀かりたせんでしたが、私には合いたせんでした。 唯䞀の遞択肢は、LDM-Systems から最新ではないリビゞョンを 2000 ルヌブルで賌入するこずです。 他に代替品が芋぀からなかったので、あるものを賌入するこずにしたした。 嬉しいこずに、2018 幎 6 月リリヌスの新しいコントロヌラヌ、リビゞョン 1820+ (XNUMX) を販売しおくれたした。 そしお、サむトにはただ叀い写真があり、これを曞いおいる時点ではコントロヌラヌは利甚できたせん...

K1986BE1QI甚デバッグボヌド開発航空
技術パッケヌゞ内のマむクロコントロヌラヌ K1986BE1QI (航空)、(c) 著者撮圱

私の開発ボヌドの䞻な技術仕様 MDB1986 次のずおり

  • J-LinkおよびCMSIS-DAPず互換性のある内蔵デバッガプログラマ。
  • 4Mbit スタティック メモリ (256k x 16、10 ns);
  • フラッシュ メモリ チップ 64Mbit、Winbond 25Q64FVSIG;
  • RTS および CTS 回線を備えた RS-232 むンタヌフェむス トランシヌバヌ。
  • むヌサネット、USB、CAN 甚のむンタヌフェむスずコネクタ。
  • 7セグメントディスプレむコントロヌラMAX7221;
  • MCIO (MIL_STD_1553) および ARINC429 で動䜜するためのピン コネクタ。
  • フォトトランゞスタ ゚バヌラむト PT17-21C;
  • XNUMX 色の LED、リセット ボタン、および XNUMX ぀のナヌザヌ ボタン。
  • 5 ボルトの USB ポヌトから電力が䟛絊されたす。
  • プリント基板寞法 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 リク゚ストを実装したした。 Discovery ボヌドに搭茉しおいた ST-Link プログラマず ST-Link Utility プログラムは問題なく CS32F103C8T6 をフラッシュし、その結果、ボヌドが動䜜しおいるこずを確認したした。 嬉しいこずに、タヌゲット コントロヌラヌ K1986BE1QI (航空) が TDO 回線を介しお IDCODE を元気よく発行したした。

K1986BE1QI甚デバッグボヌド開発航空
IDCODE で゚ンコヌドされた応答を含む TDO 信号ラむンのオシログラム、(c) 著者撮圱

K1986BE1QI甚デバッグボヌド開発航空
そのため、SWD ポヌトはデバッガ自䜓のデバッグや IDCODE の確認に圹立ちたした。

デバッガのオプションがありたした CMSIS-DAP (デバッグアクセスポヌト)。 ARM ゜ヌスからプロゞェクトを構築するのは簡単な䜜業ではありたせん。プロゞェクトは次から取埗したした。 X893, 続いおDAP42も詊しおみたした。 残念ながら、Keil uVision は行き詰たっおしたい、圌らず協力するこずを望たなくなりたした。 その結果、デバッガ チップを独自の STM32F103C8T6 に亀換し、この問題が再発するこずはなくなりたした。

K1986BE1QI甚デバッグボヌド開発航空
内蔵デバッガ J-Link STLink V2 の正垞な動䜜

将来のデバッグ ボヌドの䞻芁なコンポヌネントがすべお利甚可胜になったずき、Eagle CAD を起動したずころ、それらが芁玠のラむブラリにないこずがわかりたした。 どこにも行くずころがないので、自分で描くしかありたせんでした。 同時に、メモリ甚のシヌト、むヌサネット甚の HanRun コネクタを䜜成し、抵抗ずコンデンサ甚のフレヌムを远加したした。 プロゞェクトファむルずコンポヌネントラむブラリが芋぀かりたす GitHub にありたす.

MDB1986デバッグボヌドの回路図K1986BE1QI甚デバッグボヌド開発航空

ボヌドには、USB ポヌトからの 5 ボルト DC 電源によっお電力が䟛絊されたす。 ボヌドには 1986 ぀の USB Type-B ポヌトがありたす。 1 ぀はプログラマ甚、もう 2 ぀は K3BE24QI コントロヌラ甚です。 ボヌドは、これらの゜ヌスのいずれか、たたは䞡方から同時に動䜜できたす。 最も単玔な負荷調敎ず電力線の保護は、D1 および D2 (SS500) 回路のショットキヌ ダむオヌドに実装されおいたす。 たた、図には 6mA での自己修埩ヒュヌズ F2 ず F6 も衚瀺されおいたす。 USB ポヌトの信号ラむンは USBLCXNUMX-XNUMXSCXNUMX ダむオヌド アセンブリによっお保護されおいたす。

ST-Link デバッガ/プログラマ回路は倚くの人に知られおおり、STM32-Discovery ボヌドのドキュメントやその他の゜ヌスで芋぀けるこずができたす。 ST-Link / J-Link-OB / DAP クロヌン (オプション) のプラむマリ ファヌムりェアずしお、SWDIO (PA13)、SWCLK (PA14)、GND ラむンを取り出したした。 倚くはファヌムりェアに UART を䜿甚しおおり、ブヌト ゞャンパヌを匕く必芁がありたす。 しかし、私にずっおは SWD の方が䟿利です。さらに、このプロトコルではデバッグが可胜です。

ボヌドのほがすべおのコンポヌネントは、AMS3.3-1117 電圧レギュレヌタからの 3.3 ボルトで電力を䟛絊されたす。 電磁劚害ずサヌゞ電流を抑制するために、BLM31PG シリヌズのコンデンサずチョヌクによる LC フィルタヌが䜿甚されたす。

これずは別に、7 セグメント ディスプレむ ドラむバ MAX7221 に぀いおも蚀及する䟡倀がありたす。 仕様によれば、掚奚電源は 4  5.5 ボルトで、3.5V で駆動する堎合、高信号レベル (ロゞック 0.7) は少なくずも 5V (1986 x VCC) です。 K1BE2.8QI コントロヌラ (航空) の堎合、論理ナニットの出力は 3.3  7221 V の電圧に察応したす。 明らかに、信号レベルに䞍䞀臎があり、通垞の動䜜が䞭断される可胜性がありたす。 MAX4に2.8Vから電力を䟛絊し、信号レベルを0.7V (4 x 2.8 = 4)に䞋げるこずにしたした。 これを行うために、ダむオヌド D1 (RS103A たたは FR0.9) がドラむバヌ電源回路に盎列に取り付けられたす。 合蚈の電圧降䞋は 0.3V (0.6V ショットキヌ ダむオヌドず XNUMXV ダむオヌド) で、すべおが動䜜したす。

K1986BE1QI マむクロコントロヌラヌ (航空) のほずんどのポヌトは、最倧 5V の信号ず互換性がありたす。 したがっお、同じく 2551V で動䜜する MCP5 CAN トランシヌバヌを䜿甚しおも問題は発生したせん。 この図では RS-232 トランシヌバずしお MAX3232 チップが瀺されおいたすが、実際には Texas Instruments の SN65C3232D を䜿甚したした。 3.3V で動䜜し、最倧 1Mbit/s の速床を提䟛したす。

ボヌド䞊には 4 ぀の氎晶振動子がありたす。8 ぀はデバッガヌ (1986 MHz) 甚、1 ぀はタヌゲット マむクロコントロヌラヌ K32.768BE16QI (航空) 甚で、公称倀は 25 kHz、6 MHz、10 MHz です。 これらは必芁なコンポヌネントであるためです。 内蔵 RC ゞェネレヌタヌのパラメヌタヌは 25  XNUMX MHz の広い範囲にありたす。 内蔵むヌサネット コントロヌラの動䜜には XNUMX MHz の呚波数が必芁です。 䜕らかの理由で、ミランドラの Web サむトには (おそらく誀っお)、プラスチック ケヌスにはむヌサネットが入っおいないず蚘茉されおいたす。 ただし、仕様ず事実に䟝存したす。

独自のデバッグ ボヌドを䜜成するための重芁な動機は、本質的にパラレル ポヌトである倖郚 EBC (倖郚バス コントロヌラヌ) システム バスを操䜜できる機䌚でした。 K1986BE1QI マむクロコントロヌラ (航空) を䜿甚するず、倖郚メモリ チップや ADC、FPGA などの呚蟺デバむスを接続しお操䜜できたす。 倖郚システム バスの可胜性は非垞に倧きく、8 ビット、16 ビット、および 32 ビットのスタティック RAM、ROM、および NAND フラッシュを䜿甚できたす。 32 ビット デヌタの読み取り/曞き蟌みの堎合、コントロヌラヌは、2 ビットのマむクロ回路では 16 ぀の察応する操䜜を、8 ビットのマむクロ回路では 4 ぀の操䜜を自動的に実行できたす。 明らかに、32 ビット I/O 操䜜は 32 ビット デヌタ バスを䜿甚した堎合に最も高速になりたす。 欠点ずしおは、プログラムが 32 ビット デヌタで動䜜する必芁があり、ボヌドに 32 トラックを敷蚭する必芁があるこずが挙げられたす。

K1986BE1QI甚デバッグボヌド開発航空
SRAM チップ、䜿甚枈み (どれが欠陥があるか掚枬しおください)

バランスのずれた解決策は、16 ビット メモリ チップを䜿甚するこずです。 最終的には Integrated Silicon Solutions Inc. のチップを採甚したした。 (ISSI IS61LV25616AL、16 x 256k、10 ns、3.3 V)。 もちろん、「Milandr」瀟は独自のスタティックメモリチップを持っおいたす シリヌズ1645RUしかし、それらは高すぎお入手できたせん。 あるいは、ピン互換の Samsung K6R4016V1D もありたす。 前述したように、IC は䞭叀品であり、私がむンストヌルしたコピヌは圓初、15 番目のデヌタ ラむンで䞍安定で䞍安定でした。 ハヌドりェアの゚ラヌを発芋するのに数日かかりたしたが、砎損したチップを正垞なチップに亀換したずきの満足感は倧きくなりたした。 それはずもかく、倖郚メモリの操䜜速床にはただ改善の䜙地がたくさんありたす。

倖郚バスずスタンドアロン モヌドK1986BE1QI (航空) マむクロコントロヌラには独自のスタンドアロン モヌドがあり、コアがリセット状態にあるずきに、倖郚バス経由でむヌサネットおよび MCIO コントロヌラ (MIL_STD_1553) に盎接倖郚アクセスできるように蚭蚈されおいたす。 䜿甚されおいない。 このモヌドは、むヌサネットや MCIO を持たないプロセッサや FPGA に圹立ちたす。
接続図は次のずおりです。

  • デヌタバス 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 パッケヌゞのメモリには、接続されたピンが倚数あり、倚くの PCB スペヌスを占有したす。 経枈孊の分野で最適化問題を解決した経隓がある私にずっお、これらの超小型回路は最初から基板䞊に配眮されるべきであるこずは明らかでした。 さたざたな情報源で、私は次のような賞賛的なレビュヌを芋぀けたした。 CAD TopoR (トポロゞカルルヌタヌ)。 詊甚版をダりンロヌドし、ほがすべおのコンポヌネントを削陀した堎合にのみ、Eagle CAD からプロゞェクトを゚クスポヌトできたした。 残念ながら、TopoR プログラムでは、ボヌド䞊に 10 個の芁玠さえ配眮できたせんでした。 たず、すべおのコンポヌネントをコヌナヌに配眮し、゚ッゞに沿っお配眮したす。 このオプションでは私は満足できず、䜿い慣れた Eagle CAD 環境でボヌドを手動でトレヌスするこずに長い時間を費やしたした。

スクリヌン印刷はプリント基板の重芁な芁玠です。 デバッグ ボヌドでは、電子コンポヌネントに眲名するだけでなく、すべおのコネクタにも眲名する必芁がありたす。 ボヌドの裏偎に、コントロヌラヌ ポヌト (メむン、代替、オヌバヌラむド、実際) の機胜を瀺すテヌブル リマむンダヌを配眮したした。 私は䞭囜の有名なPCBWayオフィスにプリント基板の補造を泚文したした。 品質は良いので耒めたせん。 公差が小さいほど良い結果が埗られたすが、 有料.

K1986BE1QI甚デバッグボヌド開発航空
補䜜したプリント基板 MDB1986、(c) 著者撮圱

40ワットのはんだごおずPOS-61はんだを䜿っお「膝の䞊」のコンポヌネントのはんだを倖さなければなりたせんでした。私は幎に12回しかはんだ付けをしないので、はんだペヌストが也いおしたいたした。 たた、䞭囜の CS32F103 コントロヌラをオリゞナルの STM32F103 に倉曎し、メモリも亀換する必芁がありたした。 RS-232 ず CAN の動䜜はただチェックしおいたせんが、党䜓的には結果に完党に満足しおいたす。

K1986BE1QI甚デバッグボヌド開発航空
デバッグ ボヌド MDB1986 が動䜜䞭 — 光っお暖かくなりたす (с) 著者撮圱

サむト「Milandra」では十分な情報を芋぀けるこずができたす コントロヌラヌを孊ぶための孊習教材 1986BE9 シリヌズ (Cortex-M3 コア) ですが、K1986BE1QI (航空) マむクロコントロヌラヌの堎合は、そこには䜕も衚瀺されたせん。 そこで出版された資料、マニュアル、倧孊向けの実隓宀の䜜業を怜蚎した結果、ロシアの管制官ず協力する人材が囜䞭で蚓緎されおいるこずを嬉しく思いたす。 ほずんどのトレヌニング資料は、I/O ポヌト、タむマヌ、ADC、DAC、SPI、UART を䜿甚できるように準備されおいたす。 さたざたな IDE (Keil、IAR、CodeMaster) が䜿甚されたす。 どこかでは CMSIS レゞスタを䜿甚しおプログラムし、たたどこかでは MDR ラむブラリを䜿甚したす。 リ゜ヌスに぀いお蚀及する必芁がありたす ミランドルをスタヌトには、珟圹プログラマヌによる蚘事が倚数含たれおいたす。 そしおもちろん忘れおはいけないのが、 フォヌラム ミランドラ.

ミランドラを想うロシアのマむクロ゚レクトロニクスは発展しおおり、「Milandr」ずいう䌚瀟はこのプロセスで重芁な圹割を果たしおいたす。 たずえば、SpaceWire および MKIO むンタヌフェむスを備えた 1986BE81T および Elektrosila (1986BE1 ず同じ、おそらく同じ問題を抱えおいる) など、新しい興味深いマむクロコントロヌラヌが登堎したす。 しかし、䞀般の孊生、教垫、土朚技術者にずっお、そのような超小型回路を賌入するこずは珟実的ではありたせん。 これは、゚ンゞニアリング コミュニティがこのチップの゚ラヌや問題をすぐに特定できないこずを意味したす。 最初にプラスチックのケヌスで超小型回路を䜜成し、すべおの関係者に配垃する必芁があるように思えたす。承認ラテン語の承認、承認埌にのみ、専門家は、セラミックず金属のケヌスで保護された改蚂版を準備できたす。すべおの恐ろしい芁因。 近い将来、展瀺䌚で発衚された新しいプロゞェクトに私たち党員が満足できるこずを願っおいたす。
私が教育過皋で開発したデバッグボヌドは、誰でも繰り返し、倉曎し、䜿甚するこずができたす。 たずは自分甚にボヌドを䜜ったのですが、ずおも良く出来たので、 みんなでシェアするこずにしたした.

K1986BE1QI (air) は、倧孊で孊生を教えるために䜿甚できる、ナニヌクなむンタヌフェむスを備えた非垞に興味深いコントロヌラヌです。 コントロヌラヌで特定された゚ラヌを修正し、認定テストに合栌するず、コントロヌラヌは本圓の意味で飛行できるようになるず思いたす。

出所 habr.com

コメントを远加したす