honeylab's blog

各種ハードウェアの改造、主にファミコンミニなどをやってます(ました)

No Additional USB Host Port in Playstation Classic

だれかがプレイステーションクラシックの基板には未接続のUSBポートがあると言っていたようですが、これは正しくありません。

 

f:id:honeylab:20181213012044p:plain


PSCの基板に搭載されているUSB Hubチップ"RTS5482"のデータシートが公開されていないうえにUSB Hubチップの近くに怪しげなパッドがあることからそのように推定した人がいるようですが、私は、以下の理由から、空きパッドはUSBではないと断定しています。

1.そもそもLinuxのブートログで、2 port HUBと言い切っている

[ 3.036296] <0>.(0)[31:kworker/0:1]hub 2-1:1.0: USB hub found
[ 3.037703] <0>.(0)[31:kworker/0:1]hub 2-1:1.0: 2 ports detected

SoCのUSBポートに接続され、USBのネゴシエーションをしたうえで2portと言っているので、それ以外の答えはありません。
何らかの設定によって2ポートに制限しているのではないか、という可能性は、
次の理由で否定します。

 

2.空きパッドに接続されている配線は、到底USBのものとは推測できない

f:id:honeylab:20181213013231p:plain


左からチップに入っているのはSoCからのUSB Upstreamで、

↓ 、 → の配線はそれぞれコントローラ1、2用のUSBの配線です。

このように、USBの配線は必ず2本並行で、直角を避けてカーブで曲げ、
長さも同じになるようにインピーダンスコントロールすることが必須です。

それに対し、↑ で引き出されている配線が空きパッドに接続されていますが、
この配線はペアでコントロールされていません。また、4本あるうちの
一本だけが〇で示した位置でビア経由でクロスしています。
ここにUSB信号を流したとして、実際問題が発生しないかもしれませんが、
基板設計としては絶対にありえません。

さらに、パッド周辺の端子をよく観察してみると、下図ような回路になっています。

f:id:honeylab:20181213014238p:plain

USB Hostの正しい回路は下図が基本です。

f:id:honeylab:20181213014525p:plain

上の図では、抵抗(推測)は電源線にプルアップが存在するのみですが、
USBでデータラインに介在するのはプルダウンとダンピング抵抗のみです。
上の回路ではUSBホストを構成できません。

上記の理由から、プレイステーションクラシックの基板に、

追加でUSBを取り付ける場所は無い、ということになります。

 

では、この8ピンパッドは何なのか、ということですが、
RTS5482のファームウェアの更新などに使うピン、と考えています。

これは同じメーカの別のUSB Host (3.0対応)チップのピン配置です。

f:id:honeylab:20181213015406p:plain

型番も違えば、もちろんピン数も違いますが、メーカが同じなら何となく
似たような位置に似たようなピンが来ることが多いです。
先述のように、USBの差動ペアが例外なく隣同士に配置されています。
左下にクロックI/Oがあるのも似ています。

では、それ以外のピンは何かというと、上側にある MISO/MOSI/SCS/SCKの4ピンです。
同じような位置にあり、テストやファームウェアなど開発時に使いそう、という目的でも相当かと思います。

f:id:honeylab:20181213015713p:plain

この図は、何か別の機器のSPI接続例ですが、これと比較してみると、
プルアップ抵抗が存在していたり、直接接続もあり似ている気がします。

やはり、USBではなく、専用のデバッグ用の端子と断定します。
夢がなくて残念ですが、技術的に考えると、このような結果です。

 

さて、とはいえプレイステーションクラシックのハック運用(ゲーム追加)には
今のところUSBメモリが必須で、2ポートしかないPSCでは
外付けUSBハブが必要になり、配線がごちゃごちゃしてしまいます。

そこで、本体からどうにかもう一本のUSBコネクタを生やすために
ごりっと基板を改造してしまい、どうにか動く形にすることができました。

写真はこんな感じ。

 

詳しくは次の記事で書きたいと思います。