こんにちは、K3チーム
来週の火曜日にお客様(SWS)とのK3 MCALレビューがあります。
この質問もその一つです。
GptClockReferencePoint (図1)、 GptChannelTickValueMax、GptChannelTickFrequencyが他の GPT レジスタに影響を与えるかどうかを教えてください。
つまり、GPT には eMIOS、SWT、STM、RTC、PIT があります (図 2)。
通常、クロック周波数は S32DS のクロック ツリーで設定します (図 3)。
Q1.S32DS のクロック ツリーでクロック周波数をすでに設定していますが、図 4 のように正しいGptClockReferencePointXも変更または追加する必要がありますか?
そうしないと、GTP は正しく動作しませんか?
そうだと思います。
Q2. GptChannelTickValueMaxもユーザーが変更する必要があると思います(つまり、このパラメータはGptClockReferencePointと関連しています)。
それは正しいですか?
Q3.GptChannelTickFrequency はGptClockReferencePointの値を表示するだけだと思います (このパラメーターは GPT レジスタには影響しません)。
それは正しいですか?
図1.GptClockReferencePoint と GptChannelTickValueMax
図2.GPTには5種類のタイマーがあります。
図3.S32DS のクロックツリー
図4.例えばSTM を追加し、正しい ClockReferencePoint を選択しました。
よろしくお願いいたします。
ふみ
こんにちは@Nhi_Nguyen 、
SOありがとうございます!
ふみ
こんにちは@Fumihiko_Satoさん
Q3 についてもう少し詳しく説明しましょう。
例えば:
tick は、ターゲット タイマーの発生を構成するために使用される比較タイマー レジスタなど、GPT レジスタに書き込むために使用される値です。例: 53 ティックのタイムアウトを発生させたい場合は、比較タイマー レジスタに 53 を書き込みます。
ティックはクロック周波数から直接計算されます。RTDドライバは、 GptChannelTickFrequency から 1秒あたりのティック を計算します。SO、ティックから秒、または秒からティックへの変換、あるいは入力パラメータがuSの場合、ドライバは 1秒あたりのティックを 使用して計算します。SO、GPT の計算に影響を与え、正しく動作するようになります。
よろしくお願いいたします。
ニ
こんにちは@Nhi_Nguyen 、
どうぞよろしくお願いいたします。
すべては明らかです。
GptClockReferencePoint (図 1)、 GptChannelTickValueMax、および GptChannelTickFrequency は、GPT のレジスタに直接書き込みません。
敬具、
ふみ
こんにちは@Luis_Garabo 、
DS 内のモジュールのクロックを構成するには、クロック ツリーで構成します。これにより、MC_CGM レジスタなどのレジスタにそれぞれ直接書き込みます。
通信: CAN、ETH、... またはタイマー: Gpt、... などの一部のモジュールには、通信のボーレートやクロック周波数に直接関連するタイマーのティックなどのいくつかのパラメーターが含まれているSO、ドライバはノードが MCU から周波数値を取得することをサポートします。Gpt では、GptChannelClkSrcRef です。パラメーター GptChannelTickFrequency は GptChannelClkSrcRef に基づいて計算されます。
GptClockReferencePoint (図 1)、 GptChannelTickValueMax、および GptChannelTickFrequency は、GPT のレジスタに直接書き込みません。
GptChannelTickFrequency は、GPT に使用されるその他のパラメータを計算するために、1 秒あたりのティックを計算するために使用されます。
GptChannelTickValueMax は、タイムアウト期間の値を制限するために使用されます (たとえば、関数 Gpt_StartTimer())。
Q1.はい、Gpt から Gpt が正しく動作するためにクロック ツリーで構成されたクロックを正しく取得するには、GptClockReference を構成することが必須です。そうしないと、ティックが誤って計算され、タイムアウトの到達に影響します...
Q2. GptChannelTickValueMax はドライバによって自動的に計算されました。この値は、RM に記載されているタイマーの比較レジスタ値の範囲によって異なります。このノードの説明をCAN。
Q3. GptChannelTickFrequency は、ドライバで使用されるティックを計算するために使用されます。GPT レジスタに直接書き込むわけではありませんが、Gpt に影響を与えます。
よろしくお願いいたします。
ニ