NXP-Freescaleの組み蟌み電子機噚向けのKinetisマむクロコントロヌラ。 自分で発芋する


時々、䜕かを倉える必芁性も私をカバヌしたす。 そしお、ほずんどの堎合、私は自分の蚭蚈でマむクロコントロヌラヌファミリヌを倉曎したす。 そしお、私はこれだけではありたせん。 毎幎、少なくずも50の開発者が次のプロゞェクトを実行するプロセッサを倉曎しおいたす。 今回は、Kinetisファミリヌを詊しおみるこずにしたした。

Kinetisは、最倧240 MHzのコア呚波数を備えた、MMUなしのARM Cortex-M0 / M4 / M7プロセッサコアに基づく䜎消費電力の32ビットマむクロコントロヌラのファミリです。 MMUがないこずは、KinetisがWindows、QNX、Android、iOSなどのオペレヌティングシステムを察象ずしおいないこずを意味したす。 これらのマむクロコントロヌラは、心臓むンプラントから電気自動車のコントロヌラたで、さたざたな組み蟌みデバむスの䞀郚ずしおハヌドリアルタむムシステムコヌドを実行するように蚭蚈されおいたす。 Kinetisで実行するLinuxビルドがありたすが。

Kinetisはどこで䜿甚できたすか


フリヌスケヌルは倚くのアプリケヌションをリストできたす。 しかし、私にずっおは、産業甚コントロヌラヌ、タッチ制埡なしのベクトルを備えた呚波数コンバヌタヌ、サむリスタヌレギュレヌタヌ、電圧コンバヌタヌ、ネットワヌクアナラむザヌ、゚レベヌタヌ、゚レベヌタヌ、コンベダヌ、その他倚くのドラむブを備えた制埡システム甚のプログラマブルロゞックコントロヌラヌを特定しおいたす。 Kinetisの有望なトピックは、モノのむンタヌネットずスマヌトセンサヌです。 そしお最埌に、マルチコプタヌや他のロボット工孊で詊しおみるずいいでしょう。

Kinetisの興味深い点は䜕ですか


Kinetisに最も近い競合他瀟は、 STM32F4 、 LPC4000 、 XMC4000 、 SAM4Sおよびいく぀かのあたり知られおいないファミリヌのマむクロコントロヌラヌです。 しばらくの間、競合他瀟もARM-Cortex-M7コアを䜿甚した゜リュヌションを提䟛しおきたした。 䞀般的に、圌らも静止しおいたせん。

2014幎の組み蟌み垂堎調査によるず、䞖界で最も人気のある32ビットファミリはSTM32です。 したがっお、STM32にはないKinetisの機胜にさらに重点が眮かれたす。

次の図では、MK70FN1M0VMJ15チップのKinetisファミリのシニアメンバヌのブロック図を瀺したした。 これは、Kinetisの特城を匷調するために、フリヌスケヌルの説明で慣習的に描かれおいるものよりも少し詳现です。 括匧内には、䌚瀟の説明で䜿甚されるブロックの名前が瀺されおいたす。


しかし、Kinetisの䞻な利点

-呜名法の幅 。 呜名法の面では、KinetisはSTM32に劣らず、さらに優れおいたす。 Kinetisには、ARMコア䞊に䞖界最小のチップ2.0 x 1.6 mmず256ピンを備えた高床なMK70チップがあり、STMずは異なりDDRAMを接続できたす。

-厳しい動䜜条件ぞの優れた適応性 。 このファミリには、最倧5.5 Vの䟛絊電圧のチップがありたす。特に電磁干枉に察する耐性が向䞊した車茉アプリケヌション向けのチップがありたす。 さらに、ファミリ党䜓のマむクロコントロヌラの呚蟺には、ノむズ耐性を高めるために倚くのハヌドりェア゜リュヌションが実装されおいたす。 障害に察する耐性は以䞋を提䟛したす。
-最倧5぀の独立したクロック、そのうちの3぀は倖郚氎晶振動子にあり、
-りォッチドッグタむマヌ甚の独立したゞェネレヌタ、
すべおのデゞタル入力での2皮類のハヌドりェアフィルタヌ、
-さたざたな呚蟺機噚ぞのアクセス、タスク暩限を管理する機胜、
-さたざたなむベントに察する䞍正アクセス怜出噚、
-個別のりォッチドッグタむマヌによる倖郚デバむスの特別なリセット信号、
-電源をオフにする前に、いく぀かの呚蟺機噚をスナップしお埌続の倉曎から保護する機胜
バススむッチの柔軟な管理ず優先順䜍付け
など

-広範なプログラミングずデバッグのメカニズム 。 デバッグの柔軟性ず利䟿性は、ARM Cortex Mコアに基づくすべおのマむクロコントロヌラヌの共通の矎点です。前述の調査が瀺すように、䜜業䞭のすべおのツヌルの開発者はデバッグツヌルに最も泚意を払いたす。 そしお、STM32の人気が高いずしおも、STM32ベヌスのデバッグボヌドにすぐに統合されるこれらのチップのJTAG / SWDデバッガヌの可甚性に起因するず思いたす。 Kinetisには、特別なシリアルSPI互換プログラミングむンタヌフェむスであるEzPortもありたす。 EzPortを䜿甚するず、JTAGアダプタヌを䜿甚せずにチップを高速でプログラムでき、マルチプロセッサヌシステムでのチップの再プログラミングも簡単になりたす。 LPCやSTM32のような隠しダりンロヌダヌや隠しコヌドはありたせん。

-倧量のアプリケヌションラむブラリ 。 フリヌスケヌルのアプリケヌションラむブラリは、その培底性ずオヌプン性によっお区別されたす。 ZigBeeプロトコルを䜿甚するためのラむブラリは䜕ですか これはおそらく゜ヌスで利甚可胜な最高のZigBeeスタック実装です。 次に、もちろん、゚ンゞン制埡ラむブラリが登堎したす。 フリヌスケヌルは珟圚、Kinetisでの゚ンゞン管理システムの開発のために、曎新および拡匵された゜フトりェアパッケヌゞをリリヌスする予定です。 グラフィカルナヌザヌむンタヌフェむスeGUIを構築するためのラむブラリ、タッチパネルずキヌボヌドを開発するためのラむブラリ、医療通信プロトコルをサポヌトするためのラむブラリ、セキュリティ暙準IEC 60730-12010をサポヌトするためのラむブラリ、ハヌドりェアアクセラレヌタの暗号化機胜のために最適化されたラむブラリ、クラりドサヌビスに接続するためのプロトコルのラむブラリがありたすなど たた、以䞋にリストされおいるKinetisのリアルタむムオペレヌティングシステムに付属する゜フトりェアは含たれおいたせん。 それずは別に、さたざたなブヌトロヌダヌ、および開発者にずっお非垞に圹立぀FreeMasterツヌルに぀いお蚀及する䟡倀がありたす。FreeMasterツヌルは、ロガヌずコマンド制埡の機胜を備えたマむクロコントロヌラヌに組み蟌たれたオシロスコヌプモゞュヌルの実装です。

-効果的な無料の開発ツヌルの可甚性 。 無料の開発ツヌルがなければ、このKinetisの蚘事はほずんど意味がありたせん。 はい、Kinetisには、EclipseプロゞェクトずKinetis Design Studio IDEず呌ばれるGCCコンパむラに基づく非垞に開発された無料の開発環境がありたす。 この匷力な環境には、高品質の゜ヌスコヌド゚ディタヌ、コンパむラ、基本ラむブラリ、マむクロコントロヌラヌ呚蟺グラフィカルコンフィギュレヌタヌSTM32マむクロコントロヌラヌ甚のSTM32CubeMXのアナログ、テンプレヌトプロゞェクトず゜ヌステキストの自動ゞェネレヌタヌ、すべおの呚蟺機噚甚のドラむバヌのフルセットを備えたSDK、さたざたなベヌスのシンボリックデバッガヌプログラマヌが含たれたすオペレヌティングシステムずリアルタむムオペレヌティングシステムを䜿甚するプロゞェクトゞェネレヌタヌをデバッグするためのプラグむンを備えたJTAG / SWDアダプタヌ。 Kinetis Design Studioで商甚のKeilたたはIAR IDEを䜿甚しおいる堎合は、プロゞェクトず゜ヌステキストをこれらのIDEに自動的に゚クスポヌトし、Kinetis Design Studioで同時にサポヌトできたす。

この図は、Kinetis Design Studioでプロゞェクトを準備するワヌクフロヌのりィンドりを瀺しおいたす


-幅広い垂販のリアルタむムオペレヌティングシステム 。 リアルタむムオペレヌティングシステムは、それなしでは珟代の組み蟌み電子機噚が考えられないものです。 信頌性を損なうこずなく、1぀のデバむスに膚倧な数の機胜を統合し、その競争力を確保するこずができるのは、それらです。 ここで、Kinetisには、私が魅力的な議論ず呌ぶものがありたす-MQXオヌプン゜ヌスリアルタむムオペレヌティングシステム 。 実際、キネティスに察する私の関心は圌女から始たりたした。 しかし、ほずんどの開発者はFreeRTOSを奜みたす。 FreeRTOSには、Kinetis Design Studioでプロゞェクトを生成する機胜もありたす。 さらに、よく知られおいるオペレヌティングシステムuCOS-IIおよびuCOS-IIIのプロゞェクトを生成できたす。 すでに述べたように、Kinetis甚のLinux OSビルドがありたす。 mbed.orgプロゞェクトサむトから、Kinetis甚のmbed OSオヌプン゜ヌスオペレヌティングシステムをダりンロヌドできたす。 そしおもちろん、Kinetisに適合した少なくずも12個の商甚オペレヌティングシステムを芋぀けるこずができたす。

MQXに぀いお簡単に説明したす。


このリアルタむムオペレヌティングシステム以降RTOSの最初の機胜は、Kinetisファミリ甚の異垞に蚭蚈されたドラむバヌレむダヌです。 ほずんどすべおのむンタヌフェむス甚のドラむバヌがあり、通垞、ポヌリングの䜿甚ず割り蟌みの䜿甚の2぀の実装がありたす。 2番目の機胜は、このRTOSのマルチプロセッシングです。 倚くのマむクロコントロヌラで実行されるタスクの透過的な盞互䜜甚のためのプロトコルスタックずルヌティングが含たれおいたす。 この機胜は、耇雑なロボットシステムに非垞に関連しおいたす。 3番目の機胜は、このRTOSに付属する高床なミドルりェアです。

RTOS自䜓の構成を䞋の図に瀺したす。


たた、 ミドルりェアの䞻な構成は、絶えず拡倧しおいるため、リストするのが困難です。 しかし、いずれにしおも、かなり長い間゜フトりェアの䞀郚であったコンポヌネントは次のずおりです。
•SDカヌド䞊のドラむブのファむルシステム
•RAM内のファむルシステム。
•NANDフラッシュドラむブのファむルシステム
•マルチプロセッサ通信ラむブラリ
•以䞋を含むTCP / IPプロトコルスタックARP、DHCP、IP、TCP、UDP、PPP、ICMP、SMTP、SNMP、DNS、HTTP、NAT、RIP、Telnet、FTP、蚱可付きWEBサヌバヌ、CGI。
•Qualcomm Atheros AR4100チップファミリ甚のWi-Fiドラむバヌ
•USBホストクラスオヌディオ、CDC、HID、HUB、MSD、PHDC、プリンタヌ
•USBデバむスクラスCDC、HID、MSD、PHDC
•ナニバヌサルコミュニケヌションツヌルドラむバヌFreeMaster

Kinetisの興味深いサンプルアプリケヌション



心電蚈ず心拍蚈゜ヌス付き
ビデオカメラずOV7675チップの接続゜ヌス付き
ベクトル制埡に必芁な゚ンゞンパラメヌタを枬定するためのシンプルで実甚的なガむド
BLDC゚ンゞンのタッチ制埡なしでアルゎリズムを埮調敎する
DMAを䜿甚しお、A / Dコンバヌタモゞュヌルによる任意のアナログ入力セットの連続自動スキャンサむクルを線成する
バンクの盞互亀換を䜿甚しお、ワむダレス通信チャネルを介しおマむクロコントロヌラのファヌムりェアを曎新する信頌できる方法フラッシュメモリ゜ヌス付き
Twitterを介したマむクロコントロヌラヌの管理ず監芖゜ヌス付き
Android OSデバむスからKinetisマむクロコントロヌラヌを管理する
Kinetisオヌディオプレヌダヌ゜ヌス付き
高速フヌリ゚倉換を䜿甚しおパワヌメヌタヌを実装する゜ヌス付き

以䞋は、フリヌスケヌルがKinetisファミリヌ向けに公開しおいるアプリケヌション䟋の䞀郚です。
残りは公匏りェブサむトで芋぀けるこずができたす。

緎習する



私は既補のデバッグボヌドずキットのファンではありたせん。 マむクロコントロヌラヌの䜿甚経隓が豊富なため、䜙分なモックの繰り返しに時間を浪費するこずなく、すぐに「戊闘」プラットフォヌムの開発を開始できたす。
短い研究の埌、私はそのようなデバッグ呚波数倉換噚を開発したした

このデバむスは、単盞ネットワヌクから電圧を受け取り、最倧3 kWの電力で誘導電動機の動䜜を開始したす。 さらに、゚ンゞンのスムヌズな始動ず停止、およびかなり広い範囲での回転速床の調敎を提䟛したす。 ゚ンゞンは、3盞ネットワヌクに盎接接続された回転よりも数倍速く回転させるこずができたす。 コンバヌタヌは、最新のベクトル制埡方匏を䜿甚したす。

プロゞェクトは研究のために開かれおおり、 ここにありたす。

Source: https://habr.com/ru/post/J256611/


All Articles