フック検出ができたので、続いて着信音を鳴らしてみます。
着信鳴動させるには、RM信号をHレベルにして、FR信号でオン/オフを繰り返して鳴動させます。NTTの仕様では、着信時に極性反転することになっていますから、鳴動時にはFR信号を反転してLレベルにしてやり、オフフックが検出されたらFR信号をHレベルに戻してRM信号もLレベルにすることにします。FR信号には、PA2/TIM15_CH1を割り当てましたので、TIM15をカウンタモードで使い、compare matchにてCH1をトグルすることで鳴動させます。RF, RM, SHKの各信号の動作をSaleaeで確認してみました。まずは全体の様子。

3回、着信音が鳴ったところで受話器をオフフックしましたのでSHKがHレベルに変化しています。オフフック時にチャタリングが発生しているのが見えます。RM信号はFR信号をトグルしてベルを鳴らす期間だけHレベルにすることで、消費電流を抑制します。

ベルの鳴り方はNTT仕様に準じて1秒鳴らして、2秒休止としています。

ベルの鳴動周波数も16Hzとしており、標準的な周波数です。FRのトグル開始と終了の時にタイマーの動作設定を変更しているのですが、その際にヒゲが出てしまっているようです。動作上は問題なさそうなのですが、ちょっと気に食わないのでできれば修正したいところです。
着信鳴動させるには、RM信号をHレベルにして、FR信号でオン/オフを繰り返して鳴動させます。NTTの仕様では、着信時に極性反転することになっていますから、鳴動時にはFR信号を反転してLレベルにしてやり、オフフックが検出されたらFR信号をHレベルに戻してRM信号もLレベルにすることにします。FR信号には、PA2/TIM15_CH1を割り当てましたので、TIM15をカウンタモードで使い、compare matchにてCH1をトグルすることで鳴動させます。RF, RM, SHKの各信号の動作をSaleaeで確認してみました。まずは全体の様子。

3回、着信音が鳴ったところで受話器をオフフックしましたのでSHKがHレベルに変化しています。オフフック時にチャタリングが発生しているのが見えます。RM信号はFR信号をトグルしてベルを鳴らす期間だけHレベルにすることで、消費電流を抑制します。

ベルの鳴り方はNTT仕様に準じて1秒鳴らして、2秒休止としています。

ベルの鳴動周波数も16Hzとしており、標準的な周波数です。FRのトグル開始と終了の時にタイマーの動作設定を変更しているのですが、その際にヒゲが出てしまっているようです。動作上は問題なさそうなのですが、ちょっと気に食わないのでできれば修正したいところです。