上野家のホームページ
ナーマル,マリン,ココ
[
新規
|
一覧
|
検索
|
最新
|
ヘルプ
]
開発/AVR/AVR Writer/FT232RL Writer
のソース
資料室
開発
/
AVR
/
AVR Writer
/
FT232RL Writer
のソース
[
差分
|
バックアップ
|
リロード
]
[ ]
差分
を表示
開発/AVR/AVR Writer/FT232RL Writer
へ行く。
* FT232RL AVR Writer [#rb8e6784] [[FT232RL>https://ftdichip.com/products/ft232rl/]]はFTDI社のUSB-Serial変換用のICの一つで,[[USB-Serial変換アダプター>https://amzn.to/3WrO4dv]]なんかで広く使われている。~ #ref(USB-UART.png,,20%) FT232RLは外付け部品が殆どいらない・クロック発振内蔵・EEPROM内蔵・3.3V出力・Bit Bang搭載・シリアルNo搭載など非常に使いやすいIC。~ FT232RLにはBit Bangモードという通常使用する仮想COMデバイスとは違う動作モードがる。~ このBit Bangモードを利用すると,USB通信によりFT232RLの各ポートをI/Oポートとして制御できるので,これらのI/Oポートをうまく使うことによりAVR Writerとして使用できるようだ。~ AVRチップを使ったAVR Writerを自作する場合,何らかの他のAVR Writerを使って制御プログラムを自作のAVR Writerに書き込む必要がある。~ もしFT232RLのボードがAVR Writerとして使用できれば,''ひとつもAVR Writerを持っていなくてもAVRチップにプログラムを書き込むことができるようになる。''~ 以前購入したFT232RLが載ったUSB-Serial変換アダプターが数枚あるので,それを実際にAVR Writerとして使えるか試してみた。~ ** 使い方 [#l4117bb8] AVR Writerとして使う場合には,FT232RLの4個のポートとVCCとGNDの計6本をターゲットボードのISPコネクターと接続する。~ その後,書き込みプログラムを使って,AVRチップのFlash ROMにプログラムを書き込む。~ *** FT232RLが実装された基板をAVR Writerとして使用する時の接続 [#ga7fe585] FT232RLボードのpinとターゲットボードのISPコネクターと接続する。~ |FT232RL|AVR ISP|ATtiny85(DIP)|ATmega328P(DIP)|ATmega328P(QFP32)|h |CTS |1 MISO |6 MISO |18 MISO |16 MISO | |VCC |2 VCC |8 VCC |7 VCC |6 VCC | |DSR |3 SCK |7 SCK |19 SCK |17 SCK | |DCD |4 MOSI |5 MOSI |17 MOSI |15 MOSI | |RI |5 RST |1 RESET |1 RESET |29 RESET | |GND |6 GND |4 GND |8,22 GND |3,5,21 GND | *** 使用する書き込みプログラム [#r908d8e3] 2007年に[[すzのAVR研究>http://suz-avr.sblo.jp/s/category/780472-1.html]]で,Bit Bangモードを使ってAVRチップに書き込む独自修正したavrdudeを公開されている。~ AVRチップにプログラムを書き込む時に良く使用される''avrdude''は,''バージョン6.0.1''からこの成果をマージしてBit BangモードのFT232RLを使えるようになっているようだ。~ ''avrdude.conf''に以下のような定義があれば,FT232RLのBit Bangモードに対応している。~ #code(text,,nonumber){{ programmer # arduino-ft232r id = "arduino-ft232r", "diecimila", "ttl232r2"; desc = "Arduino: FT232R connected to ISP"; type = "ftdi_syncbb"; prog_modes = PM_TPI | PM_ISP; connection_type = usb; usbvid = 0x0403; usbpid = 0x6001; reset = 7; # RI X3(4) sck = 5; # DSR X3(2) sdo = 6; # DCD X3(3) sdi = 3; # CTS X3(1) ; id = "ft232r"; desc = "FT232R Sybchronous BitBang"; type = "ftdi_syncbb"; connection_type = usb; miso = 1; #RxD sck = 2; #RTS mosi = 0; #TxD reset = 4; #DTR ; programmer # ft232r id = "ft232r"; desc = "FT232R based generic programmer"; type = "ftdi_syncbb"; prog_modes = PM_TPI | PM_ISP; is_serialadapter = yes; connection_type = usb; usbvid = 0x0403; # For use as serial adapter usbpid = 0x6001; # reset = 4; # DTR sck = 0; # TxD sdo = 2; # RTS sdi = 1; # RxD ; }} ** Windowsのデバイスドライバーのインストール [#gacae086] アプリケーションからFT232RLをBit Bangモードでアクセスする場合は,FTDI社のD2XXデバイスドライバーとlibusbライブラリを使う。~ 最近のFTDI社のWindows用デバイスドライバーは,VCPとD2XXのデバイスドライバーは統合されていて,デバイスドライバーのインストール時に両方共インストールされる。また,Windows10 1904あたりから標準でこのFTDIのデバイスドライバーがセットアップされているようだ。~ デバイスドライバーがインストールされていない場合は,FTDI社からダウンロードしてインストールする。~ [[FTDIのD2XX Direct Drivers>https://ftdichip.com/drivers/d2xx-drivers/]]からWindows用のデバイスドライバー[[CDM2.xx.xxx_Setup.zip>https://ftdichip.com/wp-content/uploads/2021/08/CDM212364_Setup.zip]]をダウンロードする。~ zipファイルを解凍するとCDM2xxxxx_setup.exeファイルがあるので,ダブルクリックしてインストールする。~ この後,FT232RLが実装されたボードをPCのUSBコネクターに挿入すると,デバイスドライバーがロードされる。~ - USBデバイス情報~ VID: 0403 PID: 6001 デフォルトで仮想COMポートとして動作しているが,avrdudeからはその状態でもBit Bangモードでアクセス出来るようになっている。~ ** avrdudeでの操作 [#v4d57a7e] avrdudeでは-c arduino-ft232rもしくはdiecimila(接続pinが違うft232rも定義されている)で,AVR Writerとして動作する。~ > avrdude -c arduino-ft232r -p m168p -t ATtiny85Vを125kHzで動かしている場合は,-Bオプションでクロックスピードを指定する。(ttl232r2はarduino-ft232rの別名としてavrdude.confに追加した。)~ > avrdude -c ttl232r2 -p t85 -B 100 -t * 偽物FT232RL [#pc969753] どうも[[中国製のUSB-Serial変換アダプター基板(赤色)>https://amzn.to/3WrO4dv]]に実装されているFT232RLは,FTDI製の物ではない偽物が多くあるらしい,というかほぼ全てが偽物のFT232RLが使われている。~ 見た目(型番表示の部分が偽物は雑な印刷)や形状などからは全く偽物と気づくことは難しい。~ FTDI社からダウンロードできる[[FT_Progツール>https://ftdichip.com/wp-content/uploads/2024/11/FT_Prog_v3.12.55.667-Installer.zip]]を使うと,FT232RLチップのシリアル番号を確認することが出来るので,そのシリアル番号から偽物かどうか判断できるようだ。~ 偽物FT232RLでは, A400Y7MZ A50285BI A5XK3RJT : というシリアル番号が多く使われているらしい。~ 手元にFT232RLのUSB-Serial変換アダプター基板(上記の画像のボード)が4枚あったんで確認してみたところ,残念ながら全て同じ''A50285BI''のシリアル番号で偽物だった XD ~ 本物であれば当然,1個1個別々のシリアル番号になっている。安いわけだ!~ このような偽物FT232RLでは,Bit Bangモードを使ったavrdudeでのAVRチップへの書き込みはうまく動作しないみたい。~ どうやらFTDI社のデバイスドライバーは,偽物のFT232RLだった場合は特定の機能が動作しないようにしているようだ。もしくは偽物の場合,Bit Bang機能そのものに問題があるのかもしれない。~ 試しにいくつかのバージョンのデバイスドライバーを試してみたが,どれも正常に動作しなかった。~ 偽物によっては古いバージョンのデバイスドライバーだとうまくいく場合もあるらしいが・・・~ - 2021/07/05 2.12.36.4(最新ドライバ)~ 動作しない。~ - 2017/08/16 2.12.28.0~ 動作しない。~ - 2015/07/10 2.12.6.0~ 動作しない。~ - 2011/03/18 2.08.14.0~ 動作しない。~ - 2009/02/25 2.04.16.0~ 動作しない。~ ** 偽物FT232RLを本物FT232RLに交換 [#d7d0d59e] ''秋月電子で購入できるFT232RLは,FTDI社製の本物らしい。''~ そこで[[秋月電子からFT232RL>https://akizukidenshi.com/catalog/g/g101739/]]チップを2個購入(@550円)して,手元にあるUSB-Serialコンバーター基板に実装されている偽物FT232RLを,本物であろうチップに交換してみた。~ 結果は,最新デバイスドライバー2021/07/05 2.12.36.4で,なんの問題もなくAVR Writerとして動作しました :) 購入した2個のFT232RLはテープ品から2個カットされていたもので,シリアル番号はきちんと連番になっていた。~ みなさん偽物には気をつけてください・・・
開発/AVR/AVR Writer/FT232RL Writer のバックアップソース(No. All)
現: 2025-01-22 (水) 20:17:15
yuji
Counter: 137, today: 1, yesterday: 2
Copyright©2008 Yuji Ueno All Rights Reserved.
ログイン
ユーザ名:
パスワード:
IDとパスワードを記憶
パスワード紛失
メインメニュー
ホーム
でぶlog
資料室
最新ページ一覧
全ページ一覧
ヘルプ
» 関連ページ
» Wikiソース
» 編集履歴
» バックアップ一覧
» 添付ファイル一覧
フォーラム
お問い合わせ