ICSP_Connector - askn37/askn37.github.io GitHub Wiki

ICSPコネクタ端子配列

ここでは AVR関連を䞭心に芋かけるコネクタの端子配列に぀いお抂説する。 図の端子配眮は基板䞊から芋䞋ろした向きである。 必芁な堎合は、曞蟌噚偎はホスト、実装偎はタヌゲットたたはクラむアントず呌ぶ。

最近の朮流に埓いMaster/Slaveずは曞かない。 日本語では特段䟮蔑的ニュアンスを持たないので普通に䞻装眮/埓装眮ず曞くが。

埌半では AVR-ICSP 甚途以倖の倚様な配列も比范のために掲茉する。

AVR-ICSP MIL/6P 公匏

AVR-ICSP MIL/6P Type-ISP

  • Arduino UNO ずその互換機
  • ISP方匏の AVR党般

MIL/6P-ISP

䞀番良く芋かけるISP方匏甚の暙準MIL/6Pヘッダ。 倧抵は 100mil 2x3 ピンヘッダだが、 ボックスヘッダの堎合は3番暪が切り欠きになり IDC/6Pリボンケヌブルが刺さる。 偶数端子列のほうが瞊型ヘッダでは基板端、 暪型ヘッダでは基板面偎だ。

ISPの電気的実䜓はSS/CS信号がないだけの SPI3線匏シリアルなので実装偎はその埓装眮である。 VCCには実装偎のIOREFが出力される。 なので実装偎が「絊電偎」曞蟌噚偎が「受電偎」端子名はVTGになるのが普通。 IOREFは1.8V〜5.5VたたはOFFが蚱されるが、プログラミング時は 4.5V以䞊の動䜜電圧が掚奚される。

䞀般にISPは In-System Programming の意味で、その䞋䜍にICSP In-circuit serial programming の抂念を内包するものだが、ATMELの堎合は䞡者が逆転したような甚語の甚法ずなる。぀たりISPはプログラム方匏の䞀皮の名称か぀コネクタ配線の名称で、ICSPがそれら耇数を束ねた䞊䜍抂念の名称になる。

泚意が必芁なのは/RST端子が高電圧曞蟌時HVに12V受電ずなるこずだ。 なのでこれがAVRに盎結ずならない堎合、回路蚭蚈に特別な配慮が求められる。

AVR-ICSP MIL/6P Type-TPI

  • TPI方匏の AVRrc系列reduceAVR
  • ATtiny4/5/9/10/20/40/102/104

MIL/6P-TPI

TPI方匏の堎合、ISPよりも制埡信号がひず぀少なく4番端子がNC未接続ずなる。 それ以倖のコネクタ圢態は同じで、/RSTのHV制埡も同じ12V受電だ。 プログラミング時は 4.5V以䞊の動䜜電圧が掚奚される。

TPIの電気的実䜓は「単線同期匏RS485」から差動回路を省いたもので、 TDATはTxD/RxD共甚で䜿われる1線匏シリアル通信だ。 ぀たり曞蟌噚偎はこの線の送受信方向をTDIR信号で制埡するこずが期埅されおいる。 TCLKは同期匏RS485のXCK信号そのものだ。 そのためRS485察応USARTを持぀ MCUを曞蟌噚に䜿甚するず簡単にむンタフェヌスが実装できる。

TPI制埡が必芁な AVRは、カタログを芋る限りわずか8皮類の型番しかない。 うち4皮類は6ピンしか倖郚端子がないにも関わらず 5本を曞蟌制埡に䜿うのでICSP回路蚭蚈ずする利点が芋出しづらい。 䞀応やればできるずいう扱いでもあり、 TPI察応曞蟌噚はたしおHV察応ずもなるず非垞に少ない。

しかし6端子倖囲噚の AVRは他にないのでPDI方匏より死に䜓でないのが厄介。

AVR-ICSP MIL/6P Type-PDI

  • PDI方匏の䞀郚の AVR系列

MIL/6P-PDI

PDI方匏は1線匏同期シリアル通信で、珟圚はたず芋るこずがない。 察応する曞蟌噚もPICkit4を陀けば終売した叀いものしかなく、 事実䞊既に消滅しおいるようだ。 この方匏は䞻に ARM参入以前に開発された AVR32や、その同䞖代の JTAG察応高機胜 8-bit AVRに採甚されおいる。 動䜜電圧は 3.8V以䞋でなければならないのが難しいずころで、普通のAVRでは䞀般的な 5Vを印加するこずができない。 たた最小44ピン以䞊の倧型シリコンばかりなので制埡端子も専甚であり、HV制埡は行われない。

1線同期匏なのでハヌドりェア郚分はTPIず配線が違う以倖は同じ。しかし゜フトりェアずしおの制埡プロトコルACCはUPDIず実質同等である。
察応曞蟌噚が非垞に少ないうえ15幎以䞊もオヌプンハヌドりェア実装も存圚しなかったが、 UPDI4AVR-USB によっおようやく改善し぀぀ある。

AVR-ICSP MIL/6P Type-UPDI(ver.1)

  • UPDI方匏の AVR系列第䞀䞖代
  • megaAVR-0 tinyAVR-0/1/2

MIL/6P-UPDIv1

UPDI方匏は"Atmel"が"Microchip"に買収されお以埌登堎した新しい通信芏玄で、 以埌の新補品はすべおUPDIになっおいる。 ただしMIL/6Pが公匏に採甚されおいたのはUPDI第1䞖代のみだ。 その信号端子は3本しか䜿われおいない。 HV受電端子もUPDI端子が兌ねおおり旧来ずの互換性が倱われた。

UPDIの電気的実䜓は「単線非同期匏RS485」から差動回路を省いたもので、 UPDIはTxD/RxD共甚で䜿われる単線匏シリアル通信だ。 ぀たり曞蟌噚偎はこの線の送受信方向をTDIR信号で制埡するこずが期埅されおいる。 この点ではTPIやPDIず非垞に䌌おおり、単にXCK信号が欠けおいるだけだ。 そのためRS485察応USARTを持぀ MCUを曞蟌噚に䜿甚するず簡単にむンタフェヌスが実装できる。

megaAVR 系統はピン数に䜙裕のある倧型シリコンのため、HV制埡は䜿甚しない。 䞀方で tinyAVR 系統は小型シリコンのため、有効ピン数を皌ぐためのHV制埡に察応する。 このHV曞蟌制埡tinyAVR系統のみの方法もISP䞖代から倉化しおおり、 埓前は曞蟌䞭ずっず12Vを印加しおいれば枈んでいたものが、 UPDI掻性化盎前に 1msの 12Vパルスを入力する圢態に改定された。

この回路蚭蚈が特にUPDIはオヌプンドレむン単線双方向通信なので、 異電圧察応しながら実装するのが非垞に厄介。 ホストMCUがXDIR端子制埡できるなら、 倖郚に胜動的な高耐圧トラむステヌト玠子を眮いお"Push-Pull"倉換するのが本匏だろう。

AVR-ICSP MIL/6P Type-UPDI(ver.2)

  • UPDI方匏の AVR系列第二䞖代以降
  • AVR-Dx/Ex

MIL/6P-UPDIv2

AVRの刻印から"Atmel"ロゎが省かれ、 名実ずもに"Microchip"ブランドになるず共に UPDI方匏にも第二䞖代が登堎した。 公匏のデバッガ曞蟌噚も「PICkit」シリヌズに統合されたため、 長らく䜿われおきた MIL/6Pコネクタも公匏掚奚から倖れた。 なのでこの端子配列も掟生配列なのだが、 比范する䞊でも重芁なのでこちらに掲茉する。

UPDI(ver.2)は、 UPDI(ver.1)ず電気的にも論理的にもプロトコル互換ではあるが NVMコントロヌラ制埡方匏に互換性がないため、 ファヌムりェアが察応しおいない曞蟌噚は党く䜿えない。 特に AVR-Dxでは512バむトブロック埓来の4倍サむズ曞蟌察応が必芁なので、 メモリが少ない MCUでは実装負担が倧きくなり、 察応できる品皮もあたり倚くはないようだ。

端子面でのUPDI(ver.1)ずの違いは、削陀されおいた/RST端子が埩掻したこずだ。 HV非察応のAVR-DA/DB系統以倖 そしおHV曞蟌これは AVR-Dx/Ex 系統のみが芁求するの印加電圧が 暙準倀7.5V、絶察定栌8.5Vに䜎䞋したうえ、これも/RST端子印加に戻された。 しかし AVR-Dx/Ex の絶察定栌では/RSTぞの 12V印加は定栌倖なので 旧来からの回路流甚はやはりできない。

もっずもISP以前の回路を7.5Vに倉曎するだけずも蚀えるので実装は盞圓楜である。 この点でUPDI(ver.1)にあった実装困難性は倧幅に改善された。

なおこの配列は、コネクタを逆接しおも次の経路で電流が逃されるため 事故になりにくいずいう特城がある。

  • VCCが接続されるのは/RST端子で、HV察応なら元々高耐圧である。
  • 印加された電圧は内蔵プルアップ抵抗を介しおVCCに接続される。
  • GNDが接続されるのはUPDI端子で、これは内蔵プルアップ抵抗を介しおVCCに接続されおいる。
  • 結果的に電流は、2個の盎列プルアップ抵抗を通るだけでGNDず地絡しない。

AVR-JTAG

AVR-JTAG MIL/10P

  • ATMEL-ICE / JTAG-ICE3

MIL/10P-JTAG

公匏コネクタ芏栌は䞀箇所にたずめおおきたいので䟿宜䞊ここに眮くが、 これはATMEL公匏デバッガで䜿われる MIL/10P JTAGコネクタの端子配眮図だ。 ISP/SPI、PDI、TPI、UPDI、SWD、DGI、JTAGに切り替えお䜿甚できる。 ただし䞀般的な甚途でのVCPは定矩されおおらず、䜿甚できない。

コネクタには 100milフルピッチボックスヘッダず、 50milハヌフピッチボックスヘッダの2皮があるが 端子配眮に倉わりはない。曞蟌噚偎からの電源䟛絊はない。HV曞蟌には察応しない。

これはISP、TPI、UPDIは最倧5V動䜜だが、それ以倖の動䜜電圧は最倧3.3Vである。自己絊電では䞡者を安党に混圚させるこずができないのが理由だろう。

フルピッチボックスヘッダの倧きさは論倖だが、 ハヌフピッチボックスヘッダの実サむズは 100mil 2x3 ピンヘッダず実装面積に倧差はなく、か぀背が䜎い。 JTAG甚途で普及しおいるハヌフピッチIDC/6Pリボンケヌブルが利甚できるので、 このコネクタをICSP甚に実装する遞択は十分ありえる。 もっずも PCBA補造ではない自䜜スクラッチで䜿うには、 やはりハヌフピッチは遞びづらいのが実情だろう。

同人ハヌドなどの小ロット量産目的で遞択するのも、実のずころ良くない。 公匏デバッガの類には量産曞蟌機胜がないので面倒が先に立぀。 量産曞蟌噚も自䜜する算段ずなるず、フルピッチのほうが実甚性も汎甚性も勝るのだ。

Microchip PICkit4 ICD SIL/8P

  • Microchip公匏デバッガプログラマヌ

PICkit4

PICkit4は"Microchip"公匏の曞蟌噚で"Atmel"買収埌に発売された珟行最新機皮だ。 それ以前のPICkit3から2ピン増えお、100mil SIL/8Pになっおいる。 曞蟌噚偎がメス゜ケットなので郚品や筐䜓に干枉しなければ実装基板盎刺しができる。 単列だが逆接での短絡は起こしにくい配列ではあるものの、 配線甚には専甚ケヌブルがなく、 もっぱらバラ線ケヌブルで行うタむプなのであたり事故防止の圹には立っおいない。 VCPも䜿甚できない。

ちなみに䜿われおいる MCUはATSAME70Q21B改めPIC32CZ2038CAである。

察象実装偎に合わせお毎回ファヌムりェアを入れ替えお䜿うような感芚なので 耇数皮類の MCUを取り替えながら䜿う運甚には向いおいない。 ちょっず本気出しおブレヌク&トレヌスしようずいう堎面でもなければそう䜿いやすくもない。 なにより筐䜓が倧きくデザむンもダサいものだから、䜿っおいおも眺めおいおも面癜くない。

実装偎の芖点では、この配列に合わせおおけばPICkit4䞀台で党郚できるぶん配線に悩たずずも枈む。 しかし単列8端子は暪幅20ミリ以䞊になるので基板䞊では邪魔。 ハヌフピッチにするず倉換ケヌブルも必芁ずいう問題が出おくる。

UPDI甚途に限れば3端子ないし4端子だけ生やせば良いのでただ悩たないが。

6番端子がHV察応ではあるが公称12V出力なので、 8.2V仕様である AVR-Dx/Ex ぞの察応はよくわからない。 おそらくミリ秒未満の瞬発パルスであるなら可胜なのだろうが、 その堎合/RST端子は圓然6番端子ぞの接続だろう。

tinyAVR-0/1/2 ぞのHV曞蟌は端子配列を芋れば刀るが、できない。 実は公匏曞蟌噚でこれらの系統にHV曞蟌できる補品は遂に発売された圢跡がない。 AVR-Dx/Ex でHV印加先が/RSTに戻されたのも、旧来ずの互換性を保぀ためだろう。

AVR-ICSP MIL/6P コンパチブル

AVR-ICSP MIL/6P Type-microUPDI

  • UPDI方匏の AVR系列第䞀䞖代
  • megaAVR-0 tinyAVR-0/1/2

MIL/6P-microUPDI

この配列はUPDI(ver.1)から掟生した microUPDI 圢匏の配列で、 megaAVR-0、tinyAVR-0/1/2 察応曞蟌噚の倚くが採甚しおいる。 "Atmel"のmEDBGオンボヌドデバッガが持぀「UARTパススルヌ」VCP胜力を掻かすべく TxDずRxDを远加したのが特城だ。 デバッガずシリアル通信ずUPDI曞蟌が共存できお䟿利ずいう優れものである。 ただし「圓時は」。

圓然ホスト偎はTxDずRxD端子䜍眮がクロスになる。
逆接予防の芳点からはVCCの点察称端子はNCか/RSTか プルアップ抵抗付の端子ずするのが鉄則だが、なぜそうしなかったかの理由は解らない。

SerialUPDIが䞻流になった今日でもこのコネクタ配列はただ健圚だが、 AVR-DD の登堎で事情が倉わっおしたった。 UPDI(ver.2)にある/RST端子HV曞換に必芁がないうえに NC端子䜍眮にそれを配眮しおしたうず PICkitではない旧来の曞蟌噚ずは倉換ケヌブルを共有もできない。

耇数の曞蟌噚を甚途別に䜿い分ける堎合、 同じ端子のケヌブルを䜿い回せないのは取り間違いや玛倱に察しお匱い。 個人甚途ならずもかくグルヌプ人員で䜿い回すような珟堎運甚では問題になる。

AVR-ICSP MIL/6P Type-UPDI4AVR

  • UPDI方匏の AVR系列すべお
  • megaAVR-0、tinyAVR-0/1/2、AVR-Dx/Ex

MIL/6P-UPDI4AVR

UPDI4AVR が採甚しおいる端子配列で、 UPDI(ver.1)ず UPDI(ver.2)の䞡方の機胜を兌ね備えおいる。 ロヌカル芏栌に過ぎないが珟行既発売枈UPDI方匏 AVR党皮に察応しおおり、 HV曞換も2電源2方匏TPIも含めれば3方匏に察応する。

端子名のHTCRは"Host TxD to Client RxD"、
HRCTは"Host RxD from Client TxD"の意味で「UARTパススルヌ」VCPに察応する。 それを䜿甚しないぶんにはmicroUPDI、mEDBGに察しお䞊䜍互換だ。 逆接しおも回路を壊す可胜性は䜎い。 旧来のIDC/6Pリボンケヌブルを共甚するコネクタずしおはおそらく最も倚機胜だろう。

HTCRが3番なのは旧来の曞蟌機だずそれがSCKなので、動䜜蚭定を間違えおも タヌゲット偎はRxDで受けるこずになっお圱響がないからだ。 HRCTは消去法で4番に玍たっおいる。 そしおHTCR出力はXCK信号出力も兌ねられるので、配線はそのたたでTPI方匏に切り替えるこずもできる。 曎にVCCを 3.3Vに制限し、/RSTにXCK信号をコピヌ出力できるずPDI方匏に察応するこずもできる。 UPDI4AVR-USB はその実装応甚の実䟋だ。

AVR-ICSP SIL (Single In-Line)

AVR-ICSP SIL/4P Type-UPDI(ver.2)

  • UPDI方匏の AVR系列第二䞖代/第䞉䞖代
  • AVR-Dx/Ex

SIL/4P-UPDIv2

AVR-Dx/Ex のデヌタシヌトに掲茉されおいる公匏の掚奚UPDI(ver.2)コネクタは、 100mil/単列4Pの単玔なものだ。 だが䞀応公匏ではあるものの、採甚を躊躇わせる匱点が3぀もある。

  • 公匏デバッガ曞蟌噚にこの端子配列のものは存圚しない。
  • 殆どの AVR補品の端子配列ず1察1で察応しおおらず、SILである利点が薄い。UPDI線が他の3本を跚ぐこずが倚い
  • 誀っお逆接した堎合、MOSFET玠子のクランプダむオヌドを通しお盎ちに短絡する。

物理的に短絡させやすいずいう欠点は、結構臎呜的だ。 単列コネクタには逆刺阻止策が物理的に課し難いので、䜙蚈に事故防止が難しい。 なので明確な理由がなければ、この配列を積極的に採甚するこずには懞念がある。

AVR-ICSP SIL/6P Type-ISP layout "523146"

  • ISP方匏の AVR党般

SIL/6P-ISP-523146

この単列6端子配列は、ISP方匏甚の暙準MIL/6Pヘッダの信号を 100mil SIL/6Pヘッダ甚に䞊べ替えたものだ。 固有名称は特にないが、 元の曞蟌噚6端子の信号が"523146"の順番で珟れるため、 ここでは523146配列ず呌ぶ。

この端子配列の明快な長所は、䞭倮の4端子がISP方匏を採甚した AVRほが党補品の端子配列ず、同じになっおいるこずである。 䞡端の/RSTずGNDも他の信号ず亀錯するこずがほずんどない。 たしお8P倖囲噚の ATtiny13 や ATtiny85 ずは 最短配線長で盎結できる。

この利点は回路をブレッドボヌドや、ナニバヌサル蛇ノ目基板で バラックを組んだ時に、はっきりず実感できる。 配線を考えるのがずおも楜なのだ。 なので MIL/6P ずの倉換アダプタをひず぀甚意すれば ほが党おの堎面で䜿いたわしが効く。 実装基板に察しおも廉䟡な 100milピンヘッダを甚意すれば良いだけなので コストパフォヌマンスにも優れる。 ISP方匏AVRでの自䜜甚途では、これが鉄板である。

AVRの向きに察しお端子配列の向きも䞀意に定たるため 単列のわりには方向が分かりやすく、逆接予防になっおいるのも長所だ。 逆接しおも/RSTが地絡しおいるので焌損事故をおこしにくい。

AVR-ICSP SIL/6P Type-UPDI layout "512643"

  • UPDI方匏の AVR系列すべお
  • megaAVR-0、tinyAVR-0/1/2、AVR-Dx/Ex

SIL/6P-UPDI-512643

この単列6端子配列は、UPDI方匏甚の暙準MIL/6Pヘッダの信号を 100mil SIL/6Pヘッダ甚に䞊べ替えたものだ。 固有名称は特にないが、 元の曞蟌噚6端子の信号が"512643"の順番で珟れるため、 ここでは512643配列ず呌ぶ。 UPDI4AVR の第二コネクタに䜿われおいる。

その発想はSIL/6P Type-ISP layout "523146"ず党く同様で、 megaAVR-0 ず AVR-Dx/Ex 系統の 28ピン以䞊の倖囲噚党皮の端子配列ず共通になっおいるこずだ。 埓っお基板䞊の配線コストも最小である。

しかし523146配列に比べるず、逆接に極端に匱いずいう短所がある。 たた1-6の䞊び順が逆向きになるこずもあり、 実装は楜だが運甚には迷いが生じるずいう立ち䜍眮にある。

それでもブレッドボヌド盎刺しできる魅力が倧きいのが悩たしい。 なのでこの端子配列はバラ線ケヌブル甚だろう。 その甚途だず逆接に匱い問題は緩和される。

AVR-ICSP SIL/6P Type-UPDI layout "523146"

  • UPDI方匏の AVR系列すべお
  • megaAVR-0、tinyAVR-0/1/2、AVR-Dx/Ex

SIL/6P-UPDI-523146

珟圚の Zinnia Duino に䜿われおいるサブ端子配列で、 UPDI方匏甚の暙準MIL/6Pヘッダの信号を SIL/6P甚に䞊べ替えたものだ。 配列の順番はSIL/6P Type-ISP layout "523146"ず同じで、 単列-耇列倉換ケヌブルは旧䞖代ず共通利甚ができる。

圓然のこずながらSIL/6P Type-UPDI layout "512643"ずは互換性がない。 実装基板䞊も党郚の配線が亀錯するので、回路パタヌンを匕きにくい短所がある。 しかし逆接事故には比范的匷く、運甚はしやすい。

逆では/RSTずGNDが繋がるのでプルアップ抵抗を介し、 VCCはHRCT:TxDに入るが既定は Hi-Z なので浮きになる。

実運甚ではMIL/6Pが別にあるので100milピンヘッダではなく 50milスルヌホヌルずしお、MAC-8のハヌフピッチコンスルヌ を䜿っおワンタッチコンタクトするこずがほずんどになっおいる。 なので倉換ケヌブルは実質専甚ずなるので、 523146配列である理由が薄れおしたっおいる。

䜜った本人からしお「過枡的なもの」ずいう印象がある。 新芏蚭蚈非掚奚。

AVR-ICSP SIL/6P Type-UPDI layout "342156"

  • UPDI方匏の AVR系列すべお
  • megaAVR-0、tinyAVR-0/1/2、AVR-Dx/Ex

SIL/6P-UPDI-342156

この単列6端子配列は、UPDI方匏甚の暙準MIL/6Pヘッダの信号を SIL/6Pヘッダ甚に䞊べ替えたものだ。 固有名称は特にないが、 元の曞蟌噚6端子の信号が"342156"の順番で珟れるため、 ここでは342156配列ず呌ぶ。

事実䞊ファヌムりェアアップデヌトが䞻甚途で、1.27ピッチのスルヌホヌルずしお PCB䞊に盎接実装され、コンタクトには MAC8コンスルヌたたはポゎピンの䜿甚が前提になっおいる。

SIL/6P Type-UPDI layout "523146"の 逆接ぞの匱さを回避するようGND端子䜍眮を劥協し぀぀配線コストを維持しお SIL/6P Type-UPDI layout "512643"の䜿い勝手に近づけたもの。 暙準MIL/6Pヘッダずの配線亀錯は2ないし3本だ。

リボンケヌブルやバラ線ケヌブルを想定した堎合、 亀錯があるためブレッドボヌドずは1察1で察応しない。 だがそれ以倖のコネクタ接続甚途だず 実装偎はPCBA補造前提ず仮定できるので、これは欠点にはならないだろう。

逆接した堎合、VCCはUPDIに入っおプルアップ抵抗を介し、 GNDはHTCR:Rxdに入るが既定は Hi-Z なので浮きになる。

JTAG/SWD

JTAG-ICE/J-LINK MIL/20P

  • 昔は党郚これだった

JTAG-ICE/J-LINK

JTAGずいえば昔からこれである。 フルピッチMIL/20PコネクタずIDC/20Pリボンケヌブルを組み合わせお䜿う。 圓然ながらボックスヘッダは倧きい。 倧きいが䞈倫なので、実装面積に䜙裕のある倧型基板では今でもこれをよく実装しおいる。 そもそもこれを䜿うデバッガや本栌的な枬定機噚はずおも高䟡なのだから、 安易に他の芏栌に眮き換えるこずもできないだろう。 なので䜕幎経っおもこれが䜿いたわされるわけだ。 Arduinoシヌルドサむズのミニ基板にこれが生えおるのを芋るず、流石に笑う他ない。 Cypressェ 

配列の特城ずしおは、偶数端子列が党郚GNDになっおいるこずだろう。 これは特に䜎品質なリボンケヌブルのクロストヌクを抑えるためで、 コネクタ暪に終端抵抗がずらりず䞊んでいるのもよく芋る。 だが䜎品質ケヌブルをそんな䜕フィヌトも匕き回すほうが異垞なので、 JTAG互換性は維持し぀぀拡匵信号に振り替えおいるメヌカヌも結構倚い。 そのため*を付した線は互換性を期埅しおはいけない。 NC*はここに3V3を匕いおいる堎合があるし、 それどころかいたどき5V専甚ずいうタヌゲットも滅倚になくなったので ARM甚ずもなるず5Vsup*自䜓が3V3になっおるケヌスもあったり、 圓然そういう機材ず䞀昔前の枬定機噚を、 コネクタが同じだからずいっお繋いでしたったら酷い目に合う。

結局、暙準コネクタであるが故に、コむツが䞀番信甚しおはならない。

SWD MIL/10P

  • ARM系列汎甚SWDむンタフェヌス

SWD MIL/10P

ARM系列が普及するようになっおから芋られるようになった、 MIL/10PコネクタIDC/10Pリボンケヌブルの SWD方匏むンタフェヌス。 フルピッチ100mil ず ハヌフピッチ50mil の2皮類があるが、 実装基板䞊に茉っおいるのは昚今だずほがハヌフピッチの方だ。 曞蟌噚偎のVTrefは受電甚で、絊電はしないのが䞀般的。

AVR-SAM MIL/10P

  • AVR-SAM系列 ず Corted-M 系列甚の汎甚 JTAG/SWDむンタフェヌス

AVR-SAM MIL/10P

ATMEL-ICEやその系列デバッガに搭茉されおいる ハヌフピッチMIL/10PコネクタハヌフピッチIDC/10Pリボンケヌブルの JTAG/SWD方匏むンタフェヌス。 このコネクタずケヌブルの組み合わせは "Cortex-M"系列甚の業界暙準で、他瀟のものでも基本的には倉わらない。

AVR-JTAG MIL/10Pずは端子配列が異なる。 ATMEL-ICEは䞡方のハヌフピッチボックスヘッダを持っおいるため、 AVR-ISP䜿甚時ずはケヌブルを差し替えお䜿い分ける。

"Microchip"は"Atmel"買収によっお "Cortex-M"系列のATSAMシリヌズを新たに PIC32CZシリヌズずしお展開するようになったため、 ATMEL-ICEも商暙を倉えお匕き続き販売継続されおいる。

PICkitがこのコネクタをサポヌトしないので、棲み分けるこずにしたようだ。

AVR-SAM MIL/10Pは元々の経緯からJTAG、SWD、SPI、DGIモヌドを 切り替えられる倚機胜性を持っおいる。 DGIは汎甚USARTむンタフェヌスで、党二重非同期/同期方匏に察応できる。

ST-Link/V2 MIL/10P

  • STMicro SWDむンタフェヌス旧匏

ST-Link/V2 MIL/10P

"STMicro"のST-Link/V2ずいったらこれである。 フルピッチ100mil MIL/10Pボックスコネクタの SWD方匏むンタフェヌスだが、 IDC/10Pリボンケヌブルよりもっぱらバラ線で䜿われるこずが倚い。 SWD MIL/10PずはSWO端子䜍眮が異なり、 2電源䟛絊になっおいるのが倧きな違いだ。 このため自䜜甚途では廉䟡な互換機が倧いに普及したが、 電源系に6端子も取っおいるので拡匵性が党く無い。 なので"STMicro"公匏ではもうこのタむプは䜿甚しおおらず、 STDC14に取っお代わられた。

WCH-LINK MIL/10P

  • VCPモニタヌ付の ST-Link/V2倉皮

WCH-LINK MIL/10P

フルピッチ100mil の MIL/10Pコネクタ SWD方匏むンタフェヌスで ST-LINK V2の倉皮。コネクタはピンヘッダでドングル型本䜓から生えおいる。 SWO端子はデバッグ甚単線シリアルなので、 トレヌスブレヌクする必芁がないのなら甚がない。 nTRSTもプログラム曞蟌甚途では必須でもないので、 これをVCPモニタヌ通信甚途に倉えおしたったものがこれだ。 ちょうど AVR-ICSP のmicroUPDIず同じような立ち䜍眮である。 自䜜環境ではトレヌス機胜よりシリアルコン゜ヌルの有無のほうが 遥かに重芁性が高いから、この刀断は至極真っ圓であろう。 WCHの名を冠するように、WCH CH549Gを䜿っおいるものが リファレンス実装である。

CH32/STM32[WCH-LINK]

ST-Link/V3 "STDC14" MIL/14P

  • STMicro SWDむンタフェヌス珟行

ST-Link/V3 STDC14 MIL/10P

ST-Link/V3 "STDC14" MIL/14Pは MIL/14PコネクタIDC/14Pリボンケヌブルの SWD/JTAG方匏デュアルむンタフェヌスだ。 STDC14ず通称されおいるこのコネクタには フルピッチ100mil ず ハヌフピッチ50mil の2皮類があるが、 ハヌフピッチSTDC14 Miniの方がもっぱらの䞻流である。

このコネクタの端子配列は ST-Link/V2 MIL/10Pではなく、 SWD MIL/10Pに察する䞊䜍互換である。 コネクタ巊右に2端子ず぀増やし、2本は将来甚の予備、 2本は垞時VCPモニタヌ甚シリアル通信端子になっおいる。 SWDずJTAGの切替は、11番端子のGNDが接地か抵抗入りかで刀断しおいるようだ。

ST-Link/V2 "Nucleo" SIL/6P

  • STMicro "Nusleo"甹 SWDむンタフェヌス

ST-Link/V2 SIL/6P

"STMicro"のNucleoずいったらこれである。 フルピッチ100mil SIL/6Pコネクタの SWD方匏むンタフェヌスだが、もっぱらバラ線で䜿われる。 これは単䜓では販売されおいるわけではなくSTM32 Nucleoシリヌズの オンボヌド搭茉ST-Link/V2ずしお存圚するが、 64端子以䞊の STM32を搭茉しおいる補品なら基板のスリットを切り離すこずで 単䜓のデバッグボヌド郚分が独立分割できるよう配慮されおいる。

そのボヌド䞊に生えおいる6端子の盎列ピンヘッダがこれだ。 安いものだず実売2000円を切るのにデバッグトレヌスできるし、 仮想COMポヌトVCPも䜿えるので自䜜掟には重宝する。

ESP32

ESP32 "Downloader" SIL/6P

  • ESP32甹 UARTむンタフェヌス

ESP32-DL SIL/6P

ESP32もプログラミングはUARTむンタフェヌスなのだが、 EN端子ずG0GPIO0端子を USB-UARTのDTRずRTSで制埡しお PCからブヌトロヌダヌ動䜜を切り替えたりする圢態が䞀般的だ。 ほずんどはオンボヌドで USB-UART倉換を持たせおいるため、 倖付けの"ダりンロヌダヌ"補品は他に比べお非垞に少ない。 需芁がないこずもありフルピッチ"Dupont"コネクタ以倖の採甚も皆無である。

このESP32 "Downloader" SIL/6Pは "M5STACK"のESP32 "Downloader"に䜿われおいる配列で、 曞蟌偎は 100mil/6P盎列ピンヘッダになっおおり、 タヌゲットに盎刺しするか、バラ線ケヌブルで繋ぐ圢態になっおいる。 ただし配列䞊、逆接は党く配慮されおいない。

ESP32 "Downloader" MIL/6P

  • ESP32甹 UARTむンタフェヌス

ESP32-DL MIL/6P

これはESP32 "Downloader" SIL/6Pを MIL/6Pボックスヘッダに倉換したもので、 AVR甚フルピッチの IDC/6Pリボンケヌブルを流甚できるようにしたものだ。 流甚するのはケヌブルだけなので、端子配列は党く違う。 ESP32 "Prog"プログラマヌなどで䜿われおいる。

ESP32 "JTAG" MIL/10P

  • ESP32甹 JTAGむンタフェヌス

ESP32-PRO MIL/10P

ESP32にもJTAG機胜があるので既存のJTAGむンタフェヌスが䜿えるのだが、 ESP32 "Prog"プログラマヌなどでは独自の端子配列が䜿われおいる。 信号配列は"Cortex-M"暙準やSTDC14の䞭倮郚ず抂ね互換だがSWD機胜は持たない。 これは MIL/10Pボックスヘッダになっおおり、 タヌゲットずはフルピッチのIDC/10Pリボンケヌブルで接続する。 UARTに぀いおはESP32 "Downloader" MIL/6Pず䜵甚しお䜿甚する。

⚠ **GitHub.com Fallback** ⚠