Realtek RTL8954Cデバッグボードの紹介


台湾の企業Realtekは、ネットワーク(イーサネット)およびワイヤレス(WiFi)カードコントローラー、およびAC97オーディオコーデックチップで多くのPCユーザーに知られています。 ただし、RealtekにはPCアプリケーション用だけでなく、ネットワーク機器用のプロセッサもあります。

この記事では、Realtek RTL8954Cデバッグカードとネットワークプロセッサに精通し、Linuxベースカーネルを組み立てて実行し、イーサネットポートスループットテストも実行します。

タイトルの写真はRTL8954Cプロセッサ用のRealtekデバッグボードを示しています。これを複数のプロジェクトで使用して、VoIPテレフォニーをサポートするLAN / WAN / WiFiサブスクライバルーターを開発しました。

Realtek RTL8954C CPUの技術的パラメーター:
•SOC
-組み込みCPU、MIPSアーキテクチャ、Radiaxテクノロジーを統合した最大620 MHzの周波数

•L2関数
-5つのIEEE 802.3 10/100 / 1000Mbpsトランスミッターを備えた6ギガビットイーサネットMACスイッチ
-外部ネットワークに接続するための1つの専用GMII / RGMII / MIIポート
-VLANサポート(4096の値のVLANテーブル)

•L3関数
-8つの同時PPPoEセッション
-自動PPPoE構成
-IPv4チェックサムの自動検証と生成

•L4機能
-TCP / UDPプロトコルのNAPTサポート
-TCP / UDPチェックサムの自動検証と生成
-L4 TCP / UDPの自動操作、チェックサム生成の検証

•ファイアウォール機能
-イーサネット、PPPoE、TCP、UDP、ICMP、およびIGMPプロトコル用のフィルターの作成

•QoS(サービスの品質)
-各ポートは6レベルのトラフィックプライオリティシステムをサポートします。 トラフィックの優先度は、ポート、802.1pタグ、DSCP、ACLベースの優先度、NATベースの優先度に基づいて提供されます。
-シリアル周辺機器インターフェース
-1つのPCI Expressホストと1つのPCI Expressスレーブをサポート
-組み込みの2つのPCI Express PHY
-USB周辺機器にアクセスするための1つのUSB 2.0ホストコントローラー
-内蔵1 USB PHY
-2 16550 UART
-最大44個のGPIOピン

•メモリインターフェイス
-シリアルフラッシュ(SPIタイプ)
-SDR DRAM
-DDR1 DRAM
-DDR2 DRAM
-I2Sインターフェイス


Realtek RTL8954Cボードキット


始めに、RealtekでNDAに署名し、RTL8954CのRealtek SDKにアクセスしました。 このSDKを使用すると、linux-2.6.30カーネルと基本的なrootfsを問題なくビルドできました。 クジラは下の写真に示されています:



ボードの主要コンポーネントをリストします(左から右へ、行ごとに):
  1. DECTモジュール用コネクタ
  2. イーサネットLEDパネル
  3. VOIP LED表示パネル(V400 / 401)
  4. PCI Express(IOH)
  5. JTAGオスプラグ
  6. WIFIモジュール
  7. ピンプラグ(UART)
  8. RTL8954Cプロセッサ
  9. DECTボタン
  10. WPSボタン
  11. リセットボタンをデフォルトに
  12. LE88221モジュール-2つのFXSポートを備えたSLIC
  13. FXS1コネクタ
  14. FXS0コネクタ
  15. DC 12V(電源)外部電源コネクタ
  16. USBドライブコネクタ
  17. 4つのLANポート用のコネクタ
  18. WANポートコネクタ

Realtek SDKに組み込まれた機能は次のとおりです。

そのため、Realtek RTL8954Cボードの完全なファームウェアのビルドに進みます。 このタスクを正常に完了するには、次のものが必要です。

1. Debian7システムをPCにインストールします。

2. Realtek SDKのアーカイブをユーザーディレクトリにコピーします。
sudo cp rtl89xxc-jungle-VoIP-1.6.1_20120711.tgz ~/ 

3. SDKを解凍します。
 tar -zxf rtl89xxc-jungle-VoIP-1.6.1_20120711.tgz 

4.ファームウェアアセンブリの構成ファイルをセットアップします。
 d SDK d rtl89xxc-jungle-VoIP-1.6.1 make menuconfig 

以下の説明に従って、組み立てたファームウェアを構成します(スクリーンショットを参照)。
 Please select blow items: Selected Target (rtl89xxC) ---> Selected Kernel (linux-2.6.30) ---> Selected Busybox (busybox-1.13) ---> Selected toolchain (rsdk-1.3.6-5281-EB-2.6.30-0.9.30) ---> Selected Board Configuration (V400_Ramfs + VE890HV_2S1O + 92C + SAMBA) ---> [*] Config kernel [*] Load default settings <Exit><Save> Do you wish to save your new configuration? <ESC><ESC> to continue. Please select <Yes>. 




 RTK VoIP Suite ---> EV_Board version (RTL8954C_V400) ---> <Exit><Save> 




ファームウェアをビルドします。
 make all 

5.プロセスが成功した場合、イメージフォルダーにファイルfw.bin、webpages.binがあります

6.ファームウェアファイルをPCのtftpサーバーディレクトリにコピーします。
 cp ~/SDK/ rtl89xxc-jungle-VoIP-1.6.1/image/fw.bin /srv/tftp cp ~/SDK/ rtl89xxc-jungle-VoIP-1.6.1/image/webpages.bin /srv/tftp 

次のプログラムをPCにインストールする必要があります。
A)tftp-hpa-Linux TFTPクライアントプログラム、コマンドを使用したLinuxへのインストール:
 apt-get install tftp-hpa 

B)tftpd-hpa-Linux TFTPサーバープログラム、コマンドを使用したLinuxへのインストール:
 apt-get install tftpd-hpa 

Realtek RTL8954Cのファームウェア


1.下のスクリーンショットに示すように、UARTを介してボードに接続します。
接続プログラム-minicom(開始コマンド:minicom –s)



2.デフォルトのbootloderブートローダープログラムは、u-bootではなくボード上で動作します。 ネットワークを使用するには、デフォルトのアドレスは192.168.1.6/24です。 ファームウェアを更新するには、PCの192.168.1.1/24サブネットからアドレスを構成し、PCとボードをスイッチに接続する必要があります。

3.ボードの電源を入れ、すぐにターミナルから「ESC」を押します。

4.次のコマンドを使用して、PCからボードにファームウェアを書き込みます。
 d /srv/tftp tftp 192.168.1.6 -m binary -cp fw.bin 

ファームウェアを記録した後、ボードが再起動します。ターミナルから「ESC」ボタンを押して、ボードのWebインターフェイスをフラッシュする必要があります
 tftp 192.168.1.6 -m binary -cp webpages-gw.bin 

5.電源を入れ直してボードを再起動します。

ボードのファームウェアの結果:
A)ファイルを操作するために、ロードされたシステムにminicom経由でアクセスします。



B)ボードのWebインターフェースへのアクセス:



LANおよびWANインターフェース上のRealtek RTL8954Cボードでのデータ転送速度のテスト


次に、このボードがネットワークパフォーマンスの点で何ができるかを見てみましょう。 一部のネットワークルーターは、プログラムでLAN / LANおよびLAN / WANデータ転送操作の一部を実行するため、パフォーマンスの問題が発生します。 以下に、イーサネットトラフィックのポータブルネットワークアナライザーを使用したネットワークパフォーマンスの1つのテストと、PCからPCへのデータ転送速度の2つのテストを示します。

ポータブルイーサネットネットワークトラフィックアナライザーに基づくネットワークパフォーマンステスト(LANブリッジ、NAT)

目的:トラフィックジェネレーターを使用して、さまざまなサイズのパケットでRTL8954Cのスループットをテストします。

タスク:
  1. トラフィックを生成および測定するためのデバイスをRTL8954Cボードに接続します。
  2. 一連のストレステストを実施します。
  3. テーブルに入力します。

得られた結果は次のとおりです。

パフォーマンス測定(スループット:LANブリッジ)

パッケージサイズ(ビット)


パケットタイプ:TCP


受け取った荷物



受信したMbps



1500


5317251



RXフレームレート986.829 Mbps


RXデータレート948.671 Mbps


RX使用率99.999%(1000.000 Mbps)


1024


5375917



RXフレームレート980.830 Mbps


RXデータレート925.275 Mbps


RX使用率99.999%(1000.000 Mbps)


512


12601894



RXフレームレート962.393 Mbps


RXデータレート853.372 Mbps


RX使用率99.999%(1000.000 Mbps)


88


43111510



RXフレームレート814.804 Mbps


RXデータレート277.774 Mbps


RX使用率99.999%(1000.000 Mbps)



結論:テストでは、最大サイズが948.67 Mbpsで、フレームサイズが1500バイトであることが判明しました。

パフォーマンス測定(スループット:LAN to WAN(NAT))

パッケージサイズ(ビット)


パケットタイプ:UDP


受け取ったパッケージ



受信したMbps



1500


4957253



RXフレームレート986.829 Mbps


RXデータレート956.57 Mbps


RX使用率100.00%(1000,000 Mbps)


1024


8078375



RXフレームレート980.83 Mbps


RXデータレート936.77 Mbps


RX使用率100.00%(1000,000 Mbps)


512


5869635



RXフレームレート962.39 Mbps


RXデータレート875.93 Mbps


RX使用率100.00%(1000,000 Mbps)


88


8505488



RXフレームレート814.80 Mbps


RXデータレート277.77 Mbps


RX使用率100.00%(1000,000 Mbps)



結論:テストでは、最大サイズが956.57 Mbpsで、フレームサイズが1500バイトであることが判明しました。

LANテスト-LAN

タスク:
  1. LAN0(IP_ADDR PC1 192.168.1.1)およびLAN1(IP_ADDR PC2 192.168.1.2)カードのポートに、1ギガビットイーサネットネットワークカードを備えた2台のPCを接続します。
  2. PC1で、Iperfサーバーを開始します。
     iperf –s 
  3. PC2で、Iperfクライアントを起動します。iperf-from 192.168.1.1 –i 1

プログラムの結果は、ポート間のデータ転送速度になります。

テスト結果:



LANテスト-WAN

タスク:

  1. 1ギガビットイーサネットネットワークカードを備えた2台のPCをLAN0(IP_ADDR PC1 192.168.1.1)およびWAN(IP_ADDR PC2 192.168.2.2)カードポートに接続します。
  2. PC1およびPC2でルーティングパスをそれぞれ構成します。デフォルトルート(LAN IPカード192.168.1.254)およびデフォルトルート(Wan IPカード192.168.2.1)
  3. PC1で、Iperfクライアントを起動します。
     iperf –  192.168.2.2 –i 1 
  4. PC2で、Iperfサーバーを開始します。
     iperf –s 

プログラムの結果は、ポート間のデータ転送速度になります。

テスト結果:



最も興味深いのは、すべてのテストのプロセッサ負荷がほぼゼロであることです。 つまり すべてがハードウェアで行われます。スクリーンショットを参照してください。



したがって、ネットワークおよびマルチメディアタスク用のソフトウェアを開発およびデバッグするためのボードを受け取りました。

ご清聴ありがとうございました!

台湾のRealtekチームの別のプロセッサの「最適化」についてお読みになりたい場合は、記事「 Realtek RTL-1185メディアプロセッサでのLinuxの起動 」をお読みください。

Source: https://habr.com/ru/post/J250733/


All Articles