★つれづれ出張所♪

プログラム開発情報(主にWindowsPhone!)を発信していま~す。(*^_^*)

STM32F746G-DISCOボードでARMマイコン開発。とりあえず試そう♪

開発環境を構築する前に、初期ファーム(デモ・ソフト?)で遊ぶ方法をお教えしておきます。
b02
まず、OTG-USBケーブルを使ってUSBメモリを接続します。
 ※接続先のUSBポートは、2つどちらでも構いません。デモ・ソフトから選べます

またそのUSBメモリには、お試し用の動画や音声ファイルをコピーしておきます。
お試しファイルは、前回お教えした『STM32F7 Cube』内の次のフォルダー内に入っています。
 .\STM32Cube_FW_F7_V1.5.0\Utilities\Media
この中にある次の3つのフォルダーをそのままUSBメモリにコピーします。
 .\Audio
 .\Pictures
 .\Video

b01
これで、audio Player と vodeo player の再生が可能になります。
audio recorder は、接続されたUSBメモリに録音生成されます。

b03
緑色のピンジャックにヘッドホン等を接続すると音声(ステレオ)が出ます。
結構いい音で再生できます。
 ※CIRRUS LOGIC社製のAudio Codec ICが積まれていました
https://www.cirrus.com/jp/products/pro/detail/P1325.html

なお、初期ファーム(デモ・ソフト)では、SDカードは使いません。
多分、権利的に使っていないと推測されます。SD対応を公言するとライセンス使用料が・・・w
 ※詳しくは、こちらの方のブログを・・・
http://nemuisan.blog.bai.ne.jp/?eid=220698

その他、ツールがありますが自分は興味が無いので、説明を省略させて頂きますw
 ※LAN接続のサーバー(vnc server)とかもあるみたいだヨ!

と言う事で、次回につづく・・・




STM32F746G-DISCOボードでARMマイコン開発。ファームを更新しましょう!

00a
まず電源投入して標準ファームのバージョンを確認してみましょう。
 ※購入後は、Version 1.0.0 です
USBポートは、3つありますが、、、そのうちの1つ(Mini Type B)左側にあるUSBポートがデバッグおよび電源供給(*1)用です。
 ※(*1)標準状態。設定で変更できます

PCからUSBケーブルを繋げば、標準で入っているデモ・ファームウェアが動作します。
 ※最初USB ACアダプタから繋いだら起動しませんでした。注意!

無事起動しましたか?
[Sstem Info]を押す(タッチ)とバージョンの確認が出来ます。


では、標準ファームウェアを最新にしてみましょう!

いくつかのファイルをダウンロードしてください。(;´Д`)
 ※ダウンロードには、登録が必要です。

1)STM32 ST-LINK Utility
  http://www.st.com/content/st_com/ja/products/embedded-software/development-tool-software/stsw-link004.html
2)STM32F7 Cube
  http://www.st.com/content/st_com/ja/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32cube-embedded-software/stm32cubef7.html

いずれも、下のほうにある「ソフトウェア入手」ボタンを押してダウンロードします。
その他ドキュメント類(PDF)も目を通しておくと宜しいかと思います。英語ですが・・・w


1)STM32 ST-LINK Utility
これは、STM32マイコンへの書き込みツールです。インストールしてください。

2)STM32F7 Cube
これは、STM32F7系マイコンのサンプルプログラム等が山盛り入っています。
zipファイルなのでを解凍しておいておいてください。

下記のフォルダ内に最新ファーム関連のデータ(ソースプログラム込み!)があります。
 .\STM32Cube_FW_F7_V1.5.0\Projects\STM32746G-Discovery\Demonstration
readme.txt にファームの更新方法が載っていますので目を通しておいてください。

次に順番通りに説明します。

①STM32 ST-LINK Utilityを起動する
②メニュー [External Loader] → [Add External Loader]を選ぶ。
0001
③"N25Q128A_STM32F746G-DISCO" をチェックして、[Validate]を押す。
0002
④メニュー [Target] → [Program & Veryfi...]を選ぶ。
0003
⑤ボードにアクセスされダイアログが開く。File Pathから次のファイルを選ぶ。
 .\STM32Cube_FW_F7_V1.5.0\Projects\STM32746G-Discovery\Demonstration\Binaries\STM32746G-DISCO_Demo_V1.2.0.hex

あとは、[Start]ボタンを押すと最新ファーム(2017/01/07時点でV1.2.0)が書き込まれます。1分少々待ちましょう。しばらくすると再起動されます。

無事最新バージョンになりましたか?

00b
では、次回は開発環境の構築方法を記載する予定です。お楽しみに・・・


【補足】
正しく動作しない場合は、ボードに搭載されているST-LINK/V2のファームウェアをアップデートしてみましょう。
 ①STM32 ST-LINK Utilityを起動する
 ②メニュー [ST-LINK]→[Farmware Update]を選ぶ。
0004
 ③ダイアログが開くので[Device Connect]ボタンを押してから、必要であれば[Yes>>>>]ボタンを押すとアップデートが開始される

0005
ちなみにこのブログを記載時点(2017/01/07)での最新バージョンはこの通り。

以上で~す!

STM32F746G-DISCOボードでARMマイコン開発。購入しましょう!

0000
だいぶ前に売っているのを知っていたのですが、自分でほしい機能が付いていないのでスルーしていました。
欲しい機能とは、自動車の通信規格で使われているCAN通信ポート。
搭載されているマイコンSTM32F746G自体には、CANが贅沢に2ポート用意されているのですが、このSTM32F746G-DISCOボードには、ピンが出ていない為に使えません。残念!(>_<)


ですが、、、前のブログで記載した通りCAN通信モジュールが出ているのを知り、俄然興味が湧いてきましたw

SPI通信ピンは、出ているので例のCAN通信モジュールを組み合わせれば使えるのでは?と思った次第。(;´∀`)

と言う事で、新年早々ポチりしました。(壊すのも想定して2つゲットw)

0000b
思っていたよりも重く重厚感のあるボードです。液晶も値段を考えれば大きく綺麗に表示されるものが載っています。
更にマルチタッチ対応の液晶です。

なおこのボードは、STマイクロ社が搭載マイコンの宣伝・販促を目的として作られているため、普通にパーツを集めただけでばこの販売価格にはなりません。あくまでもサンプル品です。激安です。またいつ市場から無くなるかも分かりません。よって、欲しい人は早めに手に入れましょう!

■秋月電子
http://akizukidenshi.com/catalog/g/gM-09880/
■SWITCH SCIENCE
https://www.switch-science.com/catalog/2372/
■Strawberry Linux
https://strawberry-linux.com/catalog/items?code=32114


【ボード機能】
STM32F746NGH6搭載 フラッシュROM1MB, RAM340KB
オンボードST-LINK/V2搭載
Mbed開発環境に対応
USBはストレージと仮想COMポート両方で動作
4.3inch 480x272カラーTFT液晶 タッチセンサー付き
SAIオーディオコーデック搭載
オーディオのライン入力とライン出力用ジャック搭載
ステレオでスピーカ出力可能
MEMSステレオマイクロフォン搭載
SPDIF出力のRCAコネクタ搭載
ユーザーx1、リセットx1のプッシュSWICTH
128Mbit SPIフラッシュメモリ
128Mbit 外部SDRAM
micro SDコネクタ搭載
USB-OTG HS,FSに対応。Micro-ABタイプコネクタ搭載
EtherNetコネクタ搭載
など

スペックとしては、STマイクロ社のSTM32シリーズのハイスペックバージョン STM32F746NGH6 が搭載されています。
マイコンとは言え、機能が山盛り搭載されています。(↓STマイクロ社のHPからコピペ)
【Circuit Diagram】
en_bd_stm32f746xg_1mb

なお、このSTM32F746G-DISCOボードを購入すれば、ほぼそのままで無償環境を構築して遊べます!(開発出来ます)
 ※手持ちであると思いますが、下記のケーブル等が必要です
 ①USBケーブル(Mini Type B)必須
 ②USB OTGケーブルがあるとUSBメモリとして使えて便利。サンプルファームの実行で必須
 ③microSDスロットもあるので対応SDカードもあると便利(大容量SDは却って不便です)

とりあえず、数回にわたり最新(2017/01/07現在~)の開発環境の構築方法などを記していきたいと思っとります。(*´Д`)
 ※ネットにはいくつか情報を掲載している有難い方々が居るのですが、最新はちょっと違っていました



ヤマハ電動自転車PAS BraceXLの評価です。結論『みんな買え!』(笑)

あけおめです。
何気にこのブログでアクセスが多いのがず~っと前に紹介したヤマハ電動自転車PAS BraceXLです。
皆さん気になっているのですかね?(;´∀`)

乗ってて走行距離がゾロ目の1111キロを突破したので、久しぶりに記事にしてみたいと思います。
 01
※貧乏フィルム張りッぱですw

で、さっそく結論w

これまで購入したものの中で非常に満足度が高いです。(^^)/

今まで乗ってきた自転車に走行距離計が付いていないので、どの程度乗っていたのかは不明ながら、、、
BraceXLは、既に1000キロ以上乗っているので、相当な乗車率です。
 ※距離にして東京から日本列島の最端(北海道もしくは種子島)までですよ。すごいw
その事からも非常にお気に入りです。

まず『楽』に移動出来きます。
止まっても!坂道でも!発進が『楽』なので、交差点や人がいる時などに躊躇なく止まるようになりました。

例えば、電動でない自転車だったら前方の信号が赤だったらダラダラとゆっくり走って、青になるのを調整していました。交差点も一緒。完全停止しないで左右の確認をして横断等々。。。人がいる場合も一緒。みなさんそうですよね?

でも、これって考えようによっては危ないです。
それがBraceXLだったら再発進もダルく無いので、そんな事しなくなりました。とにかく安全運転!(^_^;)

と言う事で、これだけでも電動自転車にする価値があります。


そして、この様な『準』スポーツ系の自転車だと速度が出るのではないか?と勘違いする人が非常に多いです。
 ※自転車道(自転車の集まる所)とかで乗っていると結構声を掛けられる事があります。みんな興味があるみたい

あくまでも『電動アシスト自転車』と言うだけでアシストをするだけです。
速度が欲しい人は、カテゴリー違いです。素直に自動二輪を購入しましょう!
日本の法律では、アシスト制限があるので「速度」に関しては、時速20キロ程度でアシストが無くなります。
 ※速度に関しては、ギア比の問題もありロード自転車の方がはるかに速い速度が出ます
 ※でも、、、下り坂道では60キロ超えします。流石メーカー製。フレームがビクともせず高速に耐えられますw
 ※フル電動にする改造素材としては、非常に優秀かも。。。(;´Д`)

逆に発進や坂道などの加速については、強烈なアシストがあります。
03
 ※特にBraceXLは、ヤマハの電動チャリの中でも強力な方のアシストレベル『☆』4つです。画像はヤマハのHPより

これだけでも非常に運転が『楽』になります。
それこそ、どこまでも永遠に走れるんではないかと・・・(笑)
 ※実際にはバッテリーが切れるので無理ですがw

02
ポケモンGOでの距離稼ぎやポケモン探しもスピードメーターがあるので超『楽』です。
 ※スピード出し過ぎるとポケモンGOは、制限がかかりますw
それ系の方は、スマホホルダーを取り付けて電動チャリでやりましょう!


あとヤマハ電動自転車の特色である内装8段ギア。『内装8段変速×S.P.E.C.8』とヤマハさんは言っています。
最初は良くある外装ギアが良い(カッコいい?)のではないかと思っていたりもしましたが、これは全くの誤りだったのが乗ってから気づきました。
(パナソニックの電動スポーツチャリでは外装ギアを採用していますよね)

こいつBraceXLは、電動アシスト自転車です。ロード用の自転車とは違います!
乗る方が考え方を改めなくては駄目です!
先ほど記載しましたが、発進などの加速で威力を発揮する自転車なのです。

そして、内装ギアは止まっている時でも変速が可能なのです!
 ※変速後にペダルを逆回転させても大丈夫なんですよ!

安全のために不意に停止しても!たとえ上り坂でも!、その場ですぐにギアを変えられるのです。
こんな事、外装ギアだったら絶対に不可能です。
 ※外装ギアの場合、1~2回転ほどペダルを回さないと変速しません

まさに電動自転車にマッチする変速ギアだと思います。
 ※もっと言うと内装ギアは電動の高トルクにも対応!
 ※外装ギアだとトルクに耐えられなくチェーンが外れたりしますw


それから搭載バッテリーですが、満充電で50キロ以上は走れますよ。
STOP&GOの少ない自転車道などだったら100キロ超えも十分狙えます。
逆にバッテリーが持ちすぎるので、自分は常にアシスト「強」モードにしている位です。(*^^)v

と言う事で、楽にダラダラと遠くに行きたいという方は、電動チャリおすすめです。
また遠くまで行けるので、返って長時間乗れる事になり消費カロリーも普通の自転車並みになりダイエット効果は変わらないと思います。消費カロリー計もついてます。(;´Д`)

最後に勇逸の弱点(不満点)を教えておきます。
充電器が無駄にデカいです。
04
これが小さくなるだけでもリュックに入れて、小旅行に行けるのになぁ~。
ヤマハさん。ぜひ改善して下さい。
もしくはオプションでも良いので小さい充電器の発売を切に願います。。。


久しぶりに車載関連(なのかな?)CANモジュールで通信ですよ!

この写真にあるモジュールってわかりますか?
IMG_20161222_150030
車両で主に使われているCAN通信を行えるモジュールです。
これを見つけた時に唖然としました。だって凄い安いんです(驚)!

日本でパーツ単位で調達しようとすると、とんでもない価格になってしまうのに中華パーツでの通販だと数百円・・・。(^_^;)
しかもすぐに使えるようにモジュール化(基板化)されていて物の価値が良く分からなくなってしまうブツですw

で、CAN通信ですが、普通であればCAN通信をサポートしているマイコン(*1)を使うのが普通なのですが、
このモジュールには、様々なマイコンでサポートされているSPI通信からCAN通信を制御できるチップ(MCP2515)が搭載されていて非常に応用範囲が広いと言いますか、汎用性のあるCANモジュールになっています。

ただし、、、ひとつだけの問題を除いて・・・!?

このCANモジュール安いので、使ってやろう!とお取り寄せして色々といじり倒していたのですが、、、Arduinoから制御すると問題なく動作するのです!
が、他のマイコン(STM32F103など)ボードからは、一切制御できませんでした。(>_<)

原因を探ると、今回のCANモジュールが5V専用みたいだったのです。
データシートを見るとMCP2515は、3Vも対応しているのですが、その周辺チップには5Vを供給してやらないとダメみたいで、今回のCANモジュールが5V専用品だったみたいです(汗)。

古い設計?のArduinoは、IO電圧が5Vなので問題なく動作しますが、他のマイコンはIO電圧が3Vが多いので盲点でした・・・。

とは言え、それぞれのチップに適切な電圧を入れてやれば良い訳でして、CANモジュールの回路を調べると非常に簡単に改修できるのが分かりました!
 ※IOレベル変換ICを通せは良いとも言われそうですが、それはそれで面倒ですし・・・今回は割愛しますw

では、3V IOマイコン機器で使う方法を以下に示します!
IMG_20161222_150044
①CANモジュール裏側のパターン(写真の赤線の部分)をカットします。
②カットしたパターン右側のライン部分を軽く削り、そこに配線を追加して5Vを入力します。
③通常PINのVCCには、3Vを入力します。

たったこれだけで、3V IOのマイコン機器から制御できます!(^^)/


これにより非常に安価にCAN通信が出来るようになります。
それこそ今流行りのRaspberry PIからでもCAN制御できる様になります。
 ※Raspberry PIのCAN通信(MCP2515)設定は、この方のサイトが参考になります
 http://qiita.com/mt08/items/535ab4690eecbcf5375d

これを使ってクルマの通信をのぞき見(*2)してみるのも楽しいですよ♪

なお、CANモジュールを改造せずに使えるArduinoを使った通信は、Arduino自身が遅いのであまりお勧めしません。(;´Д`)


【補足(*1)】
マイコンでは、主にUART, I2C, SPI通信がサポートされています。
CAN通信がサポートされているマイコンは少ないです。
マイクロチップ社製のdsPICシリーズの一部やSTマイクロエレクトロニクス社製のSTM32F1xxシリーズなどです。
更にそれだけではCAN通信は出来ません。CANレシーバーなる周辺チップ(MCP2551など)も必要になります。
ちなみに今回紹介したモジュールには、それらも含まれていてNXP社(最近QUALCOMM社に買収されました)のTJA1050が搭載されていました。

【補足(*2)】
最近の車両であれば、OBD2ポートのCAN High(Pin6), CAN Low(Pin14)端子からワイヤーを使って、CANモジュールのJ2 H, Lにそれぞれ2本を接続すればのぞき見出来まする!
ただし、K-LINE対応車両はCAN通信ではないので無理です。諦めてくださいw