cpu実験完動してません...

microUSBのケーブルやPCを弄ってcpu実験の通信速度を上げることは可能か

目次

  • USBの仕様と今回の実験の器具
  • PCの限界
  • ケーブルの限界
  • fpgaの限界

USBとは

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についての記述が特に無さそうだし、長いので諦めた。

https://www.intel.com/content/dam/www/public/us/en/documents/technical-specifications/extensible-host-controler-interface-usb-xhci.pdf

あんま世の中の人が気にして無さそうだし無限の速度を出せるのでは。

ケーブルの通信速度の限界

ただの線でしょ?違いとかでるのか?と思い家にあったコードを付け替えてみると、通信が帰ってこない線があった。

そのようなケーブルは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まで出る。