大きい電力を制御する基板の動作テストの際に,STLinkで書き込んでからいちいち抜くのがだるくなってきた.
USB部分で絶縁してしまえば,STLinkV2-1の機能をフルに利用しつつ,万が一があってもPCには被害を受けないので
https://github.com/Yuqlid/Isolate_ST-Link
NucleoのST-Linkから剥ぎ取る
stm32f103CBT6
何が悪いのか,OpenOCDの設定を少し変えないとうまく動作しない?
回路図をもう一度確認しておく
SoftwareResetという設定にしたら動いたのでRESET系の部分をつなぎ忘れた?
ちゃんとはんだ付けされていなかったみたい,はんだ付けし直したら無事に動作した.
OpenOCDのオプション変えたら一応動作した.
OpenOCDへの設定をまとめたcfgファイル内部の,reset_configを変更すればいいんだど,それぞれのオプションが何を意味しているのかわからない.
Connect under resetはハードウェア的にリセットがかかる(NRSTがHigh→Lowになってターゲットマイコンにリセットをかける)
Software system resetはハードウェア的にリセットをかけない(ターゲットマイコンのリセットレジスタをいじっている?)
偶然にもNRSTだけはんだ付けがうまくいっておらず,NRSTのみ繋がっていなかったのでSoftware system reset
でOpenOCDは動作したんだと思われる.
T_JTCKの線に22Ωのダンピング抵抗付け忘れたっぽい
https://github.com/Yuqlid/Isolate_ST-Link/projects/1#card-5148537 .
USBにつながっているトランジスタ(またはFET)はブートローダー用
https://robo.fish/wiki/index.php?title=Programming_STM32F042
USB Type-Cコネクタに変更したい.
通信にはUSB2.0しか使わないのでそのピンしか生えてないコネクタで十分
USB4085-GF-AがDigikeyで買えるし安い.これで良さそう.KiCadにもライブラリがすでにある.
必要なピンの接続に関してはUSB(Universal Serial Bus)も参照すること.
絶縁DCDCもより小さいものに変えたい.
RECOMの絶縁DCDCコンバータが安い.
https://www.digikey.jp/short/pztftp