Qualcomm 用語解説 BP APの違い

## 調査手法
Qualcomm用語解説は、中国サイトの方が詳しい。　中国技術サイトを調査し、Qualcomm関連の情報をまとめてみる。　用語、設計の概略などを理解することを目的としており、実装に必要な詳細情報はQualcomm Developerサイトを参照するのがよい。

## 参考
https://blog.csdn.net/qq_36662437/article/details/100582398
https://zhuanlan.zhihu.com/p/62245921
https://blog.csdn.net/weijory/article/details/69388934

## 目次
- AP（アプリケーションプロセッサ）とは
- BP（ベースバンドプロセッサ）とは
- FCC規制　とは
- BPの機能詳細
- BPで動作するRTOS AMSS
- QMI (Qualcom Message Interface)とは
- QualcommチップセットのBPコア
- APの機能詳細
- APのOS

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163050/522baa7c-4965-57e2-636b-80f7303665ac.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163050/e19ac90a-72a5-72f8-bf4d-83311c3c8424.png)


## AP（アプリケーションプロセッサ）: 
このコンポーネントは、ネットワーク通信に関係ない一般的なコンピューティングタスクを扱います。デバイスのオペレーティングシステム、アプリケーション、ユーザーインターフェイスの実行などが含まれます。
## BP（ベースバンドプロセッサ）: 
このプロセッサは、すべての通信機能の管理に専念しています。信号の変調、エンコーディング、周波数シフトなど、時間に敏感な操作を処理します。BPはリアルタイムオペレーティングシステム上で動作し、APのオペレーティングシステムやドライバーの問題が移動通信ネットワーク上での災害的なデータ送信を引き起こすのを防ぎます。
## FCC規制: 
アメリカ連邦通信委員会は、APとBPの分離を義務付けています。これは、APのオペレーティングシステムやドライバーのバグがモバイルネットワークへの災害的なデータ送信を引き起こすのを防ぐためです。この分離により、BPは異なるソフトウェア環境で一貫して機能し、デザイナーがユーザーインターフェイスとアプリケーションをより自由に開発するのを支援します。

## BPの機能詳細: 
BPは、さまざまなデータタイプの送受信、そのDSP（デジタルシグナルプロセッサ）を使用したデータのデコードとエンコード、携帯電話基地局およびAPとの通信の調整を管理します。また、その電源管理モジュールは、ほとんどの時間を低電力アイドル状態で保ちながら、定期的にページングチャンネルをチェックして呼び出しがあるかどうかを確認することで、デバイスの待機時間に大きな影響を与えます。さらに、SIMモジュールもBPに直接接続されており、SIMカードの操作もBPを通じて行われます。
このように区別と分離が行われることで、デバイスの機能と性能が向上し、ユーザー体験が高まります。


### BPで動作するRTOS AMSS
AMSS（Advanced Mobile Subscriber Software）は、Qualcommが開発した高度なモバイル通信ソフトウェアで、主にベースバンドプロセッサ（BP）上で動作するリアルタイムオペレーティングシステムです。このソフトウェアは、携帯電話やその他のモバイルデバイスの基本的な通信機能を管理し、ネットワークとの通信を可能にする重要な役割を担っています。

AMSSの主な特徴:
リアルタイム性: AMSSはリアルタイム性が求められる通信プロセスを管理し、高速で確実なデータ処理を保証します。
ハードウェア対応: 様々なQualcommハードウェアプラットフォームに対応し、最適化されています。
通信プロトコルの実装: AMSSには複数の無線通信プロトコルが組み込まれており、セルラーネットワークとの通信をサポートします。
Qualcommのデバイスにおいて、AMSSは通信の核心部として機能し、ユーザーにとって透過的ながらも重要な通信サービスを提供しています。



### QMI (Qualcom Message Interface)
QMI（Qualcomm MSM Interface）は、Qualcommのモデムとの通信に使用されるプロトコルです。主にアプリケーションプロセッサ（AP）とベースバンドプロセッサ（BP）間のデータ通信を管理するために設計されています。このインターフェースは、デバイス管理、ネットワークアクセス、データサービスなど、さまざまなサービスに対応しており、それぞれのサービスは独自の機能とコマンドセットを持っています。

QMIはクライアントとサービス間でのメッセージングを可能にし、データの送受信、設定の変更、デバイスのステータスの取得などを効率的に行うことができます。これにより、デバイスは必要に応じてモデムの機能を制御し、ネットワークとの連携を最適化することが可能になります。また、QMIは同期および非同期のリクエストをサポートし、効率的な通信を実現します。

QMIの利用には、特定のフレームワークが必要で、このフレームワークを通じてAPとBPが通信を行います。これにより、モバイルデバイスにおけるデータ通信の柔軟性と効率が大きく向上しています。

#### QMI APIのカテゴリ

QMI（Qualcomm MSM Interface）APIは、Qualcommのデバイスでモデムとの通信を容易にするために使用される一連の関数とプロトコルです。QMI APIは、データサービス、デバイス管理、ネットワークアクセスなど、さまざまな機能をサポートしており、それぞれのサービスが特定のタスクを実行するためのAPIを提供しています。

QMI APIの主なカテゴリ
- デバイス管理 (DMS) API
デバイスの情報やステータスを取得したり、デバイスの設定を管理するためのAPI。
- ネットワークアクセス (NAS) API
ネットワークの登録状態の確認、信号強度の取得、ネットワークプロバイダの選択など、ネットワーク関連の操作を行うAPI。
- ワイヤレスデータサービス (WDS) API
データ接続の設定や管理、データセッションの開始と終了を扱うAPI。
- ユーザーIDモジュール (UIM) API
SIMカードの情報取得やPIN管理など、SIM関連の機能を扱うAPI。
- コントロール (CTL) API
QMIサービス自体の管理を行うAPIで、クライアントIDの取得やリリースなどの基本的な制御機能を提供します。

これらのAPIを使用することで、開発者はQualcommのモデム機能をフルに活用し、様々なモバイルアプリケーションやサービスで通信機能を組み込むことができます。QMIは複雑な通信タスクを簡単に扱えるように設計されているため、エンドユーザーが直接これらの詳細を意識することなく、スムーズな通信体験を提供します。

#### QualcommチップセットのBPコア
QualcommのチップセットにおけるBP（ベースバンドプロセッサ）は、通信機能を担当する専用のプロセッサ部分です。このプロセッサは、Qualcommのモデム技術を用いて、ネットワーク通信（声やデータの送受信、信号の変調・復調など）を処理します。具体的なコアの種類や詳細な技術仕様は、Qualcommが公開している技術文書や公式リリースで提供されている情報に基づいていますが、通常これらはARMベースの設計が用いられています。

詳しい仕様やコアの詳細については、Qualcommの公式サイトや技術文書を参照するのが最も確実です。

## APの機能詳細: 

### APのOS
Application Processor（AP）で実行されるオペレーティングシステム（OS）は、そのデバイスの主要な機能とユーザーインターフェイスを管理するためのものです。具体的には、以下のようなOSが一般的です：

Android: グーグルによって開発された、オープンソースで最も広く使用されているモバイルOSです。スマートフォンやタブレットだけでなく、ウェアラブルデバイスやテレビなど、多岐にわたるデバイスで利用されています。
iOS: アップル社が開発するiPhoneやiPadなどのデバイスで使用されるOSです。iOSは閉じたエコシステムを持ち、Appleのハードウェアと深く統合されています。
Windows 10 Mobile: マイクロソフトが開発したモバイルデバイス向けOSでしたが、現在は主流から外れ、新しいデバイスではほとんど採用されていません。
LinuxベースのOS: これにはUbuntu TouchやSailfish OSなどが含まれますが、これらは特定のニッチ市場でのみ使用されています。
これらのOSは、それぞれのデバイスやユーザーのニーズに合わせて特化された機能とインターフェースを提供し、APの計算能力を活用して幅広いアプリケーションの実行を可能にしています。