かなり専門的な話になるが、後で分からなくならないようにここに書いておくことにする。
FT245RLというUSBパラレル変換ICについてだが、USB Enumerationで問題が発生した。
FT245RLのRXF#とTXE#でSH2にハードウェア割り込みをかけて、それでデータの送信・受信を行っていたのだが、どうにも最初のデータがうまくいかない。
原因を調べてみると、どうやらUSB Enumeration時にPWREN#やRXF#, TXE#端子が妙な動きをしていることが分かった。
1ch : PWREN# / 2ch : RXF#
1ch : PWREN# / 2ch : TXE#
データシートを読んだ限りでは、PWREN#がLOWになればUSB Enumerationも終って使用可能状態になっていると思われるのだが、実際にはそんな単純ではなく、Enumerationの最中にノイズ的なパルスが出ていることが分かる。
さらに具合の悪いことに、PWREN#=LOWと同時にRXF#やTXE#がLOWになったりしているため、これらをもとにハードウェア割り込みをかけていると、USB EnumerationとUSBデータ送受信とを区別できなくなってしまう問題がある。