メインコンテンツに移動

USB

mbed-os5 USBSerial

エキスパートには当たり前だったかもしれないのだが、私は知らなかった。

mbed-os5のAPIにあるUSBSerialでは、printfの送信で1バイトごとパケットに乗せられる。1ms間隔でデータを送信したかったが、間隔が1msではなかったという結果があり、気づいた。下記コードで確認してみた。

mbed-os5でUSBSerial

os2からos5へ変えていきなさいということを言われているらしいので、数週間ずっとチャレンジしていました。

直近でやりたかったことは、Keil Studio Cloudのos2では実現できていたので、これをos5に移行する試みだった。os5はmbed-os-example-blinky5を作って、LEDの点滅動作ができていることを確認してのち、USBSerialを追加するもの。

mbed困っております

mbedオンラインコンパイラがなくなるため、段階的にKeilStudioで作業するように変えていってますが、「ほとんど動かない」。というか、うごくんだけど、いろんなエラーが出て気持ち悪い。何をやってもすっきりしない状態が続いている。

やりたいことは、Nucleo-F411にUSBの配線を施し仮想シリアルを動かしたいのである。テストは下記

USB-Cチェッカ

USB-Cケーブルチェッカなるものを製作しました。USB-CはPD(PowerDelivery)、Type-C、Altモードなど複数の規格が混同しています。ぱっと見ではそれがどれに対応しているのかがわかりません。そこで、端子一本ごとに信号を送って受信することで接続情報を表示できるようにしてみました。

同じようなものは販売されております。(https://bit-trade-one.co.jp/adusbcim/)。さらにこれと同様のものはトラ技で過去に特集があったことや、販売のものと全く同じではないものの、回路図はgithubで公開されていたりします。(https://github.com/aroerina/LimePulse_USB_cable_checker)販売されているものはもう少し高機能で、オリジナルの作者の方は別にいらっしゃるようです(むかしTwittterに流れていたように思います)

mbedのOpenSDA

なんか、いろんな記事が全部、途中までで書きかけになっているのですが、

freedomボードFRDMに搭載されているOpenSDA部分ですが、作れないか試してみたくなりました。現在は、ターゲットCPU部分だけとりだした、レプリカ基板を作って、小さくしてみたりして遊んでいますが。書き込みには、DRFM-KL25ZのOpenSDA部分からジャンパーでコネクタを付けたものでやっています。このやり方、あまりスマートじゃないと前から思っていました。

FRDM-K64、FRDM-KL25ともに、OpenSDA部分は同じCPUで構成されているようです。M4とM0の違いはあるのに、同じものということは、同じCPUを実装して同じ回路構成を作れば、同じものができるのではないか?という話です。もっとも、FRDM-KL25Zが1300円ほどで買えることと、CPUが数個レベルでは700円以上することから、コスト的なメリットは皆無です。