cpu実験完動してません...
microUSBのケーブルやPCを弄ってcpu実験の通信速度を上げることは可能か
目次
- USBの仕様と今回の実験の器具
- PCの限界
- ケーブルの限界
- fpgaの限界
USBとは
- ユニバーサルシリアルバス通信
- ユニバーサル
- 全世界的!!! 汎!!!!
- シリアル
- シリアル通信。1ビットずつ送る。今回は通信線は2本
- バス
- 1つの信号線・通信線に複数のデバイスがぶら下がる構造のことらしい
microUSBについて
microUSBは5ピンあり、2本の差分でデータ、VCC,GND、そして周辺機器同士の通信用の線、で構成されている。
master/slave
USBには親子関係のようなものが強く存在しており、常にどちかであると定まらなければいけないようだ。周辺機器同士の通信用の線も、その子同士で通信するために儲けられたとのこと
器具
surface pro 6
ボードに付いてきたケーブル
ボード(nexys A7 100T)
https://www.xilinx.com/products/boards-and-kits/1-6olhwl.html
PC側のUART通信の限界
わからん。まじで。
USB controller
USB controllerなるものが存在し、cpuから命令を受け取ってコイツから通信線が出ているようだ。(https://www.itf.co.jp/tech/road-to-usb-master/devicecont)
windowsなので、デバイスマネージャーからUSB controllerの情報を漁って見る。すると、下の画像のような感じだった。
とりあえずベンダーID等でpcilookup.comを調べてみると出てきた。Intel製らしい。ここから仕様書とかに飛べるのかと思ったが、リンクはなく仕様書をググる。
仕様書はこれっぽいが、baud rateについての記述が特に無さそうだし、長いので諦めた。
あんま世の中の人が気にして無さそうだし無限の速度を出せるのでは。
ケーブルの通信速度の限界
ただの線でしょ?違いとかでるのか?と思い家にあったコードを付け替えてみると、通信が帰ってこない線があった。
そのようなケーブルは5本のピンのうち通信線2本をショートさせている。
https://direct.sanwa.co.jp/contents/sp/howtouse/how-usbcbl.html
fpgaボードの通信速度の限界
dmesgコマンドを叩いてみて、起動時のUSBに関する通信を見てみると、下のように出た。
[13325.509509] usb 7-2: new high-speed USB device number 6 using xhci_hcd [13325.663710] usb 7-2: New USB device found, idVendor=0403, idProduct=6010, bcdDevice= 7.00 [13325.663717] usb 7-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [13325.663719] usb 7-2: Product: Digilent USB Device [13325.663721] usb 7-2: Manufacturer: Digilent [13325.663723] usb 7-2: SerialNumber: 210292B17F9A [13325.690118] usbcore: registered new interface driver usbserial_generic [13325.690128] usbserial: USB Serial support registered for generic [13325.693089] usbcore: registered new interface driver ftdi_sio [13325.693100] usbserial: USB Serial support registered for FTDI USB Serial Device [13325.693265] ftdi_sio 7-2:1.0: FTDI USB Serial Device converter detected [13325.693304] usb 7-2: Detected FT2232H [13325.693889] usb 7-2: FTDI USB Serial Device converter now attached to ttyUSB0 [13325.693909] ftdi_sio 7-2:1.1: FTDI USB Serial Device converter detected [13325.693918] usb 7-2: Detected FT2232H [13325.694459] usb 7-2: FTDI USB Serial Device converter now attached to ttyUSB1
上のFT2332HというICがfpgaボードに積まれているようだ。 これのdatasheet によるとFT2232Hの通信速度は12M baud rateが限界とのこと。
https://misoji-engineer.com/archives/usb-serial.html
結論
PCを変えても変わら無さそう。 ケーブルは充電専用のもの以外を使えば同じ。 ICまでなら12Mまで出る。