16

プレイリストなどを記述する RDS データを受信できるソフトウェア定義の FM/AM ラジオに (とりわけ) 接続される Linux を実行するデバイスの実装に着手しようとしています。これは、ほとんどがチューナーとして機能する DSP を 1 つまたは 2 つ含み、それ以外の場合は信号の処理をほとんど行わない、比較的ばかげたデバイスです。

私は、デバイスのカーネル ドライバーと、標準化されたインターフェイスを提供し、RDS データが受信された正確なタイミングの詳細を抽象化して、エラー処理やその他すべての厄介なものを処理するユーザーランド ハードウェア抽象化レイヤーを考えていました。このようなユーザーランドレイヤーはすでにありますか?まったく作成しないようにするか、必要に応じてラジオ UI に他のプロジェクトを使用できるように、既存のものとプラグ互換性を持たせるとよいでしょう。

4

3 に答える 3

12

Linuxでの無線サポート

新しいハードウェア無線デバイスを作成しているようですね。おそらく、このデバイス用のドライバーを作成する必要があります。開始するためのいくつかのヘルプは、ここここ、およびここにあります。デバイスが新しいものでない場合は、Video4Linux2プロジェクトにすでにドライバーが含まれている可能性があります。

現在、 saa6588カーネルモジュールに基づくRDS関連のプロジェクトがいくつかあるようです。

このページによると、これらのカードには現在SAA6588チップセットが搭載されています。

  • Terratec Cinergy 600
  • KNC ONE TV-Station RDS
  • KNC One TV-Station DVR
  • TYPHOONTVチューナーカードRDS
  • Sundtek MediaTV Pro(メーカーがサポート)
  • Sundtek USB FMラジオ(FM送信機/受信機、メーカーがサポート)

RDS固有の情報

Video4Linux2(v4l2)に関連するいくつかのプロジェクトをチェックすることをお勧めします。RDSデコードライブラリがあります。このライブラリはユーザースペースで実行されるため、RDSデコード作業をそこで実行できます。

V4L2仕様によれば、RDSデコーダーからの生データは無線デバイスから読み取られます。データは、各ブロックの長さが3バイトのブロックで構成されます。すべてのデコードはユーザースペースで行う必要があります。

RDS API

Video4Linux2の完全なAPIリファレンスは次のとおりです。これは、それを知るための一連の記事です。

RDSAPIの特定のセクションはここにあります。このページでは、RDSデータが利用可能かどうかに関する最新情報を入手する方法について説明します。

RDS信号が存在するかどうかは、struct v4l2_tunerのrxsubchansフィールドを調べることで検出できます。RDSデータが検出された場合、V4L2_TUNER_SUB_RDSが設定されます。

GnuRadioCompanionのSDRRDSデコーダーDSP

公式のAPIではありませんが、調査する価値のある最後の小さなプロジェクトを1つ見つけました。

検討する価値のあるラジオ関連のプロジェクトをいくつか紹介します。

于 2013-02-21T18:02:22.730 に答える
2

GENIVI コンソーシアム ( http://www.genivi.org/ ) がこれに対する標準的なアプリケーションをまだ持っているかどうかを調べる価値があるかもしれません。彼らは、特に自動車の「インフォテインメント」を目的として、この種の標準を開発しており、これは標準化の範囲内にあるようです。

残念ながら、彼らは自分たちの作品を公に公開していないようですので、周りに尋ねたり、直接メールを送ったりする必要があるかもしれません.

于 2013-02-26T06:48:09.507 に答える
1

GNUラジオはどうですか?多くのソフトウェア無線コンポーネントのハードウェア サポートと、GUI を介して「GNU Radio Companion」(GRC) に簡単に接続されたデータ フローがあります。

これらは、UI レイヤーにアクセスできる Python および C++ API を使用します。オンラインで見つけられる多くの例があります。

于 2013-02-25T19:15:15.380 に答える