いろいろ試す22

30日は〆のトレランに行くので年末恒例の奴を今やらせていただきます・・・


●フェライトビーズの使いどころ

注:SDMMC/SDIOのCLK信号に対してはまず初めに直列終端を行ってください。
  それでもだめなら下記フェライトビーズの使用を考えてください。


ねむいさんはおきぱでSTM32のFatFs移植サンプルを公開してることから「FatFsが動き
ません><」という漠然とし過ぎる困った質問を今でもコンスタントに頂くのですが、
もはやその原因の99.99%が単純な結線ミスとか接触不良が起こりやすいブレッド
ボードで配線30cmくらい引き伸ばしまくって通電してたとかそんなモン動くわけ無い
でしょ的内容だったのですがまた新たに別のクリティカルヘンテコな報告を頂きました。

最短の配線でSTM32F407ZGT6の基板を起こしたにもかかわらず昨今のUHS-1のカード
ではSDIOで認識すらしない、クロックの速度を落としてもダメで昔のUHS表記が無い
Class6とかのカードならOKというこれまた奇怪な不具合だったのです。

STM32のSDIOは1.8VのUHS-1の高速クロックモードには対応しておらず、早くても
HSモード(3.3V/52MHz)ですがHSどころかNSモード(25MHz Max)でもダメとのこと。
ダメなカードも型番を教えてもらったのでPCOnes'sで購入して私も試して見ました。
TranscendのmicroSDHCカード Class 10 UHS-I 600x (Ultimate) なるものです。

謎のMLCアピール・・・。


私が持ってるSTM32F407ZG系の基板は紅牛に無理やりF4を乗っけた基板です。
配線長もなるべく質問を頂いた方と合わせるようにmicroSDソケットを無理やり
とりつけてました。

で、こいつで試すと確かにHSどころかNSモードのクロックでも全く認識しなかった!
念のため別の会社のUHS-1のカードも複数枚試しましたが結構な確率で認識できない
ものが存在していました・・・!UHS無しのClass10表記の奴やねむいさん愛用のATPの
Class6の4GBの奴
はエラッタもちのF407系のいんちきHSモードでもバッチリ認識
できてるのですが・・・ひとまず信号の測定に掛かります。


これがATPのmicrosdhcのクロックの波形(NSモード/24MHz)です。


んでもってこっちがTranscendのほうの波形(NSモード/24MHz)。
ATPのよりも信号のふり幅が狭くなおかつリンギングも激しくなってる感がしますね。


波形の測定に関してはGNDリードの影響を抑えるために当然最短にして測定して
います。あとPCオシロのトリガはETSモードにして等価サンプリングレートを
10GHzとしてます。
STM32のSDIOのクロックはパワーセーブにしない限りは常に出っ放しになるので
繰り返し信号として測定でき、精確な波形測定ができるわけです。

話を戻しますが二つの波形の違い、なぜこんなに違うかですがこれはUHS-1のカードは
100MHz以上で動作できるUHSモードで転送する際はNSモードやHSモードよりも高速な
立ち上がり/立ち下がりを当然要求されるわけでそれに合わせてI/Oをこしらえて
いますが、悪い条件が重なったときに信号の反射によってオーバーシュートや
リンギングが激しく出ることになります。
過去のClass表記のみのカードでは高々50MHzまで動けたら良かったので高速な
I/Oを必要とせず、オーバーシュートやリンギングは同条件でもそこまで大きくは
ならない・・・と想定できます。

さて、状態は観測できたので後は対策です。こういうケースの場合はフェライト
ビーズを各信号ラインに直列に入れてやると効果が出るはずです。


いろいろ試してねむいさんの手持ちのフェライトビーズの中ではBLM18BB121SN1D
かなり効果があることが分かりました。この対策で認識できなかったUHS-1のカードも
無事見ることができました(NS/HSモード共)。


これが対策後のTranscendのCLKの波形です(NSモード/24MHz)。
リンギングがしっかり抑えられてるのが分かりますね〜。

こんな感じに無理糞つけけております。
念のためTranscendのとは別の認識できなかったUHS-1のカードも試してみましたが
すべて無事認識できるようになりました。ちゃんと対策として効いているようです♥

これより大きい抵抗値の奴ではHSモードでクロックが大きく崩されすぎてダメになって
しまいます。やっぱり程々が大事です。
また、秋月さんのとこで購入できるタイプのフェライトビーズでは特性が少しなだらか
なため余り効果が出ませんでした。とはいえねむいさんが選んだ奴もかなりピーキー
なのでそのまま真似しても多分効果は出ないと思います。

こういった信号の反射の影響度合いは設計するボードごとに大きく変わってくるので
オシロとにらめっこしながらカットアンドトライをしなければならない領域です。
GNSSモジュールの時も言いましたがむやみやたらにフェライトビーズを突っ込み
まくっても逆にノイズやリンギングをパワーアップさせてしまうことになりかねません。
また、オシロのプローブも見たい信号を正しく測定できるようにGNDリードを超最短
にするなどの配慮も必要で開発者としての様々なセンスが問われることになります。

と、ここまで苦労してSDIOの信号波形整て認識できるところまで持ってきましたが、
GPIOが速度面で強化されたSTM32F43x/42x系とかF7系を最初から使っとけば
上記のめんどくさいことをなーんにもやらなくても安定してSDカードを読み書き出来
たりします・・・酷いオチだ・・・。




全然関係ないですが大阪日本橋のPCOne'sでSDカードのついでに買ったスマホ置き台が
STM32F7Discoveryとぴったりフィットできる形状なので重宝してます♥



●GCC ARM Embedded in Launchpadの2015年Q4版が出る!

一年に4回リリースされるLaunchpad GCCの最新版がリリースされています。
今回はついにGCCバージョンが5になりました!

早速新旧比較をしてみたいと思います。まずは同じ条件でビルドした際のバイナリ
サイズ比較です。条件は以下のとおり。

F7のいつものの20151224版
・SDMMCのクロックはNomalSpeed(24MHz)
・-Ofast,HardFP
・AXIMからフラッシュ実行/SDRAM有効/フォントは内蔵フラッシュに格納
・使用SDカードはAF4GUD、SDFormatter4.0でフォーマット

旧:2015q3版(GCC4.9.3)

arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.9.3 20150529 (release) [ARM/embedded-4_9-branch revision 224288]
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Built Object Informations:
=== Total Binary Size ===
text data bss dec hex filename
0 602096 0 602096 92ff0 main.hex
=== Verbose ELF Size ===
text data bss dec hex filename
599808 2288 821392 1423488 15b880 main.elf


新:2015q4版(GCC5.2.1)
arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 5.2.1 20151202 (release) [ARM/embedded-5-branch revision 231848]
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Built Object Informations:
=== Total Binary Size ===
text data bss dec hex filename
0 612272 0 612272 957b0 main.hex
=== Verbose ELF Size ===
text data bss dec hex filename
609984 2288 821392 1433664 15e040 main.elf


バイナリサイズは2015q3版より10kByteほど増えてますね・・・
今度は実行処理速度比較です。SDRAMの時と同じようにlibjpegの展開時間の比較を
行ってみました。


旧:2015q3版(GCC4.9.3)


新:2015q4版(GCC5.2.1)

・・・イケてるじゃないですか・・・(セルピコ顔で)
なんか去年もモズグス編のセルピコさんになった気がしますが、最適化の悪影響が
及んでるかもしれないのでもうすこし様子見して安全性を確かめたいとおもいます。
丁度明日は今年最後のトレランに行くので屈作のSTM32Primer2GPSTr@ckerに2015q4版で
ビルドしたバイナリを書き込んで試してみるつもりです★



●Firefox版赤福が署名に対応する
虹裏関連のお話ですがFirefox版赤福spが署名チェックに対応することになりそうです

FirefoxはVersion44から拡張の署名が強制になり署名が無い拡張は撥ねられて
動作不可能になるとアナウンスされており署名が無い赤福spが使えなくなると
言われていましたが・・・作者の方ももう気付かれて対処されるようなので等分の間は
安泰でいられると思います♥

この調子で合間合間にも対応してくだち・・・



●年末恒例のねむいさんFAQ

Q:わたしは(何らかの下らない他人の自慢話なので省略)
 なぜOpenOCDにこのバグが組み込まれてしまったか考えてみてください。
 ↑(原文ママ)

A:ねむいさんこの質問風八つ当たりにうっかりクソ真面目に答えてしまいました。
 ウブなねむいさんはこのバグの部分とは無関係だったにもかかわらずソースコードの
 更新履歴を丹念に調べエンバグされた経緯と対策まで連絡してあげました。もちろん
 質問されたクソ野郎方からその後どうなったか返事なぞまったくいただいて
 おりませんが、実はkinetis.cにある致命的な"このバグ"はまだ修正されておりません
 が、
 次に同じようなこと聞かれたら適切な返事を返してあげようと思います。
 バカめと。
 ↑20160212追:
 kinetisドライバに真っ当にご助言いただいた方々にこれは俺の事かとお叱りの
 メールを幾つもいただいてしまいました。誤解を招きまことに申し訳ございません。

 致命的なバグはとあるぱちもんデバッガ使ったときに発動するのですが、
 ねむいさんに対してそういう情報隠して正規品使ってると秒速でバレる嘘ついて
 "動くようにしろ""対処してください"とかいって情報聞き出してくる奴は絶対に
 許さないのでそういった御仁たちは拙者尽く伊達にして返すでござる。

Q:ねむいさんってツイッターとかしてないんですか?
 所詮は批判を恐れ安全な場所から一方的に意見を言い放つことしか出来ない
 ティキンなのですか?
A:それはイエスでもありノーでもありますのだわ・・・(第五ドール風に)
 ねむいさんはいろいろあってツイッターやめた代わりにこのねむいさんのぶろぐ
 立ち上げました。かれこれ7年位前のはなs・・・グハッ!!!!


Q:ねむいさんってLINEとかしてないんですか?
A:ま だ ガ ラ ケ ー 使 っ て ま す

Q:スマホでピッ!簡単電子工作★
A:ま だ ガ ラ ケ ー 使 っ て ま す
 っ て 言 っ て る で し ょ コンチクショー




(以下ほぼ実際にあったやり取りですだいぶ前の話ですがもう時効だから書きます)
Qr:鶴岡工場(旧NECエレ系列工場)閉鎖ね
A:あっそ良かったねおめでたうございまs・・確かここって旧NECの・・・
Qr:ついで(?)にあんたのところのASIC生産中止だね
A:何ですって・・・!?
Qr:この前のが最終ロットね。今までご利用いただきありがとうございますを
A:あ”!?(CV柴田理恵)
Qr:代わりに弊社のSmar●tAnalogをご採用願います(営業スマイル)
A:カエレヤ!!
 (ここでルネサスと完全に手が切れPSoC5を採用しかけたが・・・)

Qp:gff...ねむいさんねむいさんそのセミカスタムのASIC、こちらでも
 起こせますよ・・・(はげたかのような目で)
A:オゥこれはありがたい・・・

Qrohm:ルネサスさんからのディスクリートデバイスの置き換え表ありますよ・・・
   ・・・gff(はげたかのような目で)
A:オゥこれはありがたい・・・

ディスクリートデバイスは旧NECエレでがっちり固めてたからヤバかったです。
R○HMさん(○は伏字)ありがたう!!!
今は東芝半導体がチャレンジ()の成果もあってRenesasに合体しそうでやばそう
ですね・・・東芝さんのもかなり使ってるんですけぉ・・・


さぁそれはおいといて明日も早いから寝ましょう・・・Zzz・・・

↓としあきくんからのリクエスト↓
Q:カレン金剛の声の区別が付かないデース
A:ネムイサンも区別付かないデース(CV:柴田理恵)
 ・・・と言うのはおいといておすぎさん(悪堕ち)とピーコさん(純粋悪)に同時に襲われたら
 ピーコさんと間違えて悪堕ちした無罪のおすぎさんをうっかり攻撃してしまうくらい
 "うつけ"です・・・

Q:ねむいさんって雑誌に投稿したりしないの?
A:どのジャンルのこといってるのか分かりかねますができたらとっくにやってます。
 そいえば2014年初夏にC9出版のドメインのメアドで「記事作成を手伝って
 みませんか?
」という何か目的をぼかした内容のしかも文語体と口語体が混じっておまけに
 芝まで生やしたメールを頂いたのですがちょっと怪しかったのでCQ出版の
 お問い合わせにメールで(差出人の方の名)さんはそちらに在籍されていますか?
 とたずねたのですが問い合わせをしてからはや約1年と8ヶ月、何の音沙汰も
 ありません。問い合わせついでにトラ技の誤植を指摘したのがいけなかったのでしょうか・・・
 やっぱし本当にフィッシング目的の偽装メールだったかも。

Q:ブラギガスを検索したら諸星きらりが何故かサジェストに出てきました。
 虹裏メイドのねむいさんはなにか知ってそうな顔してますが・・・洗いざらい吐け
A:にょわー(野太い無理やりな高い声で)
 ↑もし隣からこんな絶叫きらり語聞こえたら速攻警察屋さん呼びますよぅ!!

Go to top of page