エンジニア風味 (Engineer-taste)

電子系エンジニアのメモ帳

2018-01-01から1年間の記事一覧

Data loss issue in FTDI FT232H and FT2232H Sync 245 FIFO Mode (Part3)

coutinuation of PART2 I examined various signal of FT232H. And I found TXE# status signal go to Low level without timing of FT_READ. For example TXE# go to Low when is in FT_OPEN or FT_Purge.TXE# waveform in FT_OPENTXE# waveform in FT_PURG…

Data loss issue in FTDI FT232H and FT2232H Sync 245 FIFO Mode (Part2)

Continuation of Part1I searched and found several same data-loss case. This trouble can see since early 2010's, and even now. The data-loss causes every 500 data (my case is every 510). And remaining data is correct. Such as device like FT…

Data loss issue in FTDI FT232H and FT2232H Sync 245 FIFO Mode (Part1)

FT232H (FT2232H) has SYNC 245 FIFO mode, and this mode works several score times as BitBang mode. To work FT232H(2232H) in SYNC 245 FIFO mode, it needs to rewrite EEPROM. In this page, I omit how to rewrite.In SYNC 245 FIFO mode, FT232H ge…

FT232HのSYNC 245 FIFOモード(その3)

(その2)の続きです。しょうがないので、いろいろ信号をオシロで見てみました。 わかったことは、TXE#の信号がFT_READ以外のタイミングでもLowになることです。FT_OPENのときFT_PURGEのときFT_READのときのTXE#波形FT_OPENとかFT_PURGEのときは、FTDIデバ…

FT232HのSYNC 245 FIFOモード(その2)

(その1)の続きです。データロスに関しては、ググッてみますと結構起こっているようです。 私が調べたところだと、2012年からわりと最近まで報告がありました。 頻度はだいたい500回に1回程度で、データ化けが発生する、それ以外のデータは 問題ない、と…

FT232HのSYNC 245 FIFOモード(その1)

FT232H(もしくはFT2232H)はSYNC 245 FIFOモードというのがあり、BitBangモードの数十倍程度の転送レートがあることが知られています。 SYNC245FIFOモードで動かすためには、EEPROMの書き換えが必要で、その辺は、こことか、ここに書いてあるので省略します…

MATLABのArduinoアドオンを用いてセンサ情報を取得する(6)

(5)の続きです。データが取れたら、変換します。 tmp275によると、データはMSBから送られてきて、先頭から8ビットが温度の整数部になります。 例えば先頭8ビットが'0001 1001'だったら25℃で、以下のビットが温度の小数部です。 なので、MATLABでは、 te…

MATLABのArduinoアドオンを用いてセンサ情報を取得する(5)

(4)の続きです。同じように、 write(tmp275,0,'uint8'); は、「tmp275に」、「0を]、「書きなさい」となり(レジスタ指定がないことに注意)、 pause(0.5); data=read(tmp275,2,'uint8'); は、「tmp275」から「2バイト分の」、「データを読みなさい」と…

MATLABのArduinoアドオンを用いてセンサ情報を取得する(4)

(3)の続きです。 writeRegister(tmp275,1,hex2dec('E0'),'uint8'); とか、 write(tmp275,0,'uint8'); とか、 data=read(tmp275,2,'uint8'); で、Arduinoとセンサがやり取りしているのですが、実際にシーケンスを取っているのかを観察してみました。 write…

MATLABのArduinoアドオンを用いてセンサ情報を取得する(3)

(2)の続きです。 MATLABのアドオンを使って、センサ情報を取得する場合にはArduinoに直接プログラミングはしません。 なので、Arduino IDEなどは触らなくてよいことになります。ここでやろうとしている温度センサtmp275からI2Cで情報を取り出そうとする場…

MATLABのArduinoアドオンを用いてセンサ情報を取得する(2)

(1)の続きです。 ここでは、Arduino Unoにテキサスインスツルメンツ(TI)の温度センサtmp275 www.tij.co.jp を接続してみます。Arduino Unoは(他のArduinoボードのほとんどがそうですが)入出力信号は5V系です。 tmp275は、2.7Vから5.5Vまで使えるの…

MATLABのArduinoアドオンを用いてセンサ情報を取得する(1)

10月に某所のイベントで発表したので、書いてみます。arduinoのアドオンの入手とインストールは公式ページとかここに詳しいので省略します。 MATLABを立ち上げた状態で、Arduino(ここではUno)をUSBで接続すると、コマンドウィンドウに次のような表示が出ま…