AutoSARシリーズ解説(はじめに) 4.2-BSW I/O機能

1. アーキテクチャと用語の説明


これは主に I/O 機能に関するもので、その中でいくつかのモジュールが使用されます。次の方法で使用するモジュールが強調表示され、右側に拡大されてサブモジュールが表示されます (このサブモジュールは BSW です) ADC サブモジュールなどの最小単位)。ここで強調すべき点は、I/O は私たちがよく言う GPIO ではなく、ここでの I/O には DIO (デジタル入出力、マイクロコントローラーの GPIO に相当)、ADC、PWM が含まれるということです

 

以下では、上記のサブモジュールの機能について詳しく説明します。

  • I/O 信号インターフェイス:入力デバウンスなどの入力データの予備処理
  • 外部 ADC ASIC 用ドライバー:外部 ADC ドライバー、たとえば、外部 ADC サンプリング チップがある場合、データは SPI 通信を通じてメイン チップに送信されます。ここでは、外部 ADC 処理用のドライバー モジュールが必要です。
  • 外部 I/O ASIC のドライバー:上記と同じですが、ここでは I/O について説明します。
  • SPI ハンドラー: SPI 処理ドライバー。ハードウェア内の SPI を上位層呼び出し用の API にカプセル化します (I2C を使用するものもありますが、ここでは個別にリストしません。図内の SPI を I2C に変更するだけです)。
  • ADC PWM DIO: MCAL のドライバーは、ハードウェア内の ADC、PWM、および DIO を上位層呼び出し用の API にカプセル化します。
  • SPI ADC PWM DIO (ハードウェア):チップ内のこれらの機能モジュールを指します。

I/OHwAb には手書きのコードが必要であることに注意してください (もちろん、Matlab で生成することもできます。ここでの手書きコードとは、AutoSAR 以外のコードを指し、自分で追加する必要があります)。 A c ファイルとして IOHwAb として SWC 宣言を作成し、その中にコードを追加します (端的に言うと、SWC として使用されます)。

2、例を挙げてください


例:車の温度センサーから温度データを送信し、ECUで処理するプロセス


上の図では:

  • Adc_ReadGroupは MCAL が上位層に公開する API 関数で、Read は ADC サンプリング値 (例えば 12 ビットの最大精度は 4095) です。
  • Get_SensorValueは IoHwAb、Sensor で書かれたサービス関数です。

        SWC と IoHwAb は C/S 経由で接続されており、Sensor
        SWC は Rte_Call_Get_<port>_SensorValue を通じて関数全体を呼び出すことができます。この関数の主な機能は、ADC サンプリング値を通じて実際のセンサー抵抗 (何オーム) を計算することです。

  • Send_Temperatureは、Sensor SWC のツリーを App SWC に渡します。

        オーム値は SWC で実際の温度値に計算できます。このようにして、最終的なアプリ
        SWC は実際の温度値を取得します。

おすすめ

転載: blog.csdn.net/qq_42700289/article/details/131474363