告知です.
コミケ99にて当社のDDC/DACを頒布いたします.
日付 2021年12月31日(金) 東地区 テ-40b 東5ホール
サークル名 bangflat
コミケにお越しの際はお立ち寄りいただけますとありがたいです.
商品紹介ページを作りました.
ーーーー
STM32のIDEは使いやすくていい感じかもしれない.pripheralの知識をロクすっぽ知らなくても、レジスタ表と首っ引きでcodingしなくても、なんとなく動かせてしまうようになっている.組み込みマイコンのprogrammingでそれはとても有難い.なのであるが、STM32 CPU本体と、開発ボードであるところのNUCLEOには「あっそうなんですか、そうですかそうですか、とほほのほ」と愚痴の一つや二つも言いたくなるようなところがあるんだ.
それはDCCに必須のUSBに関する失望である.
USBには低速~高速まである
USB1.0 1.5Mbps
USB1.0 12Mbps のろくてだめ
USB2.0 480Mbps DCCに適する
USB3.0 3Gbpsぐらい そんなには不要
なのでUSB2.0の性能をSTM32に求める.
STM32のラインナップを読んで、480Mbpsを出せるSTM32を探すと、STM32F2xx、STM32F7xx、STM32H7xx といったところ.F7xxとH7xxは高機能でパッケージも最低でも256pinとかでお値段もそれなりに高価である.自動的にF2xxを使おうということになる.(訂正:STM32F4xxにも480Mbpsがある)
それで、STM32F207が載ったNUCLEOをtargetにして、STM32CubeMXでUSBのprogrammingを始めようとしたのさ.
ところが、STM32CubeMXがどういうわけか、USB 480Mbps(HS)をセレクトできないのである.選択肢が12Mbps(FS)に固定されているのだ.なんでだろ? (480MbpsをHigh Speed(HS)、12MbpsをFull Speed(FS)とUSB規格では呼ぶ)
おかしいなぁと思いつつ、単独のSTM32F207をtargetにしてSYM32CubeMXを動かすと、HSの選択肢が出てくる.
これの原因がわかった.
・NUCLEOでHSはプリント基板的に非対応なのでHSを選択不能
・CPU 単品でなら、HSへの対応が可能
ということなのだが、これには悲しい事情がある.
STM32はHighEnd CPUに至るまで全てにおいて、
HSで動かしたければPhyは外付けなんだよ
おいおいおい、STMさん落胆させてくれるじゃないか....EZ-USBなんかあんなチープなICなのにPhyは内蔵されてるよ.
♪またひとつ、EZ-USBが偉く思えてきた~♪
(ちなみに、CypressはInfineonに身売りしました)ここでPhyとは何かを解説する.わたしは「ファイ」と読むけどあってるのかな?
バスを流れる信号は通常のdigital信号ではなく、高周波アナログ差動伝送信号である.そのdigi-ana変換をする専用ICをPhyと呼ぶのだ.小さなICだ.
USB HS PhyぐらいSTM32なら内蔵していると思ってたんだけどな.
だって、競合製品のNXPのLPC5500にはPhyが内蔵されているんだよ.
♪またひとつ、NXPが偉く思えてきた~♪
仕方がないのでPhyにはMicro Chip社のUSB3300を使うつもりだけど、部品が増えるのってめんどくさいんだよね.データを8本も配線しなくちゃいけないしさ.
結論は、、、NUCLEOでSTM32F207のHSを選択できない理由はPhyがNUCLEOには搭載されていないため、target=NUCLEOにした時点でHSが選択できなくなっているのであった.
かしこ
0 件のコメント:
コメントを投稿