前回の記事では、IISCを使ってI2Sデータが受信できることを確認しました。今回は、IISCのワードクロック周波数を別の方法で確認してみることにします。
SAM4LにはFREQM (Frequency Meter)という機能が備わっており、指定したクロックの周波数を計測することができます。仕掛けとしてはタイマーとカウンターを組み合わせて使うようなもので、基準となる既知速度のクロックを使って計測時間を設定し、その期間に測定対象のクロックが何回入るかをカウントするというものです。
既知のクロックとしては、32Kクリスタルを追加で実装して、これを使用。IWS端子に入るクロックを直接計測することはできないので、IWS端子をGCLKへの入力となるGCLK_IN1端子とつないでおきます。そして、GCLK_IN1に入ったクロックをGCLK2として出力するように、SCIFを設定してやります。こうすれば、GCLK2の出力をFREQMで計ることができますので、IWSの周波数を調べられることになります。
音楽が流れ始めるとWT32からクロックが出て、再生を止めるとクロックも止まることが確認できました。周波数値としては、44100と出て欲しいところですが、計測時間が短く基準クロックの32KHzが対象クロックの44.1KHzに近いこともあり、この実験では44040が精一杯の値です。
SAM4LにはFREQM (Frequency Meter)という機能が備わっており、指定したクロックの周波数を計測することができます。仕掛けとしてはタイマーとカウンターを組み合わせて使うようなもので、基準となる既知速度のクロックを使って計測時間を設定し、その期間に測定対象のクロックが何回入るかをカウントするというものです。
既知のクロックとしては、32Kクリスタルを追加で実装して、これを使用。IWS端子に入るクロックを直接計測することはできないので、IWS端子をGCLKへの入力となるGCLK_IN1端子とつないでおきます。そして、GCLK_IN1に入ったクロックをGCLK2として出力するように、SCIFを設定してやります。こうすれば、GCLK2の出力をFREQMで計ることができますので、IWSの周波数を調べられることになります。
音楽が流れ始めるとWT32からクロックが出て、再生を止めるとクロックも止まることが確認できました。周波数値としては、44100と出て欲しいところですが、計測時間が短く基準クロックの32KHzが対象クロックの44.1KHzに近いこともあり、この実験では44040が精一杯の値です。