2023年7月26日水曜日

DSP ADAU1401/1701 を使ってみるなり(6) ただのLチカがややこしい

ADAU1401基板周辺にコネクタなどが増えつつあります.こうして新品だった基板はだんだんとハンダで汚れてゆきます.

さて、新しいCPUをいじる際にはまず「Lチカ」からと決まっています.

本日はLチカやってみたんだけど、軽くめんどくさくて「へぇ~」という印象でした.

基板回路図によるとGPIO2にLEDがついてます.
そこでHW configのGPIO2をoutにします.

つぎはLチカの回路ですが、こうなります.たかがLチカに何をしているんでしょうか?
こんなことをしてます.
 Tone1は5Hz正弦波を発生する.
 DC1は数値のゼロを発生する.
 AB1はゼロコンパレータ.
 GPO1はGPIO2への出力.

なんでこんな面倒を?です.
verilogだったらTone1の最上位bitをGPO1に接続しておしまいです.
sigmastudioは、bit操作系はあまり充実してない気がします.bit shiftとか無いっぽい.
なので、-1~+1の正弦波をゼロで比較して2値化して、LEDチカチカさせてます.

上の回路図には描かれませんが、sigmastudio userが心の目で見るべきなのは、
 ・Tone1とDC1は28bit固定小数点数値
 ・GPIOは1bit
このbit縮退操作をわざわざコンパレータでやってるわけなのでした.なんだかなぁ

ADAU1401の数値定義は、整数部1bit、小数部23bit、2の補数 です.表現範囲は+1~ー1というやつです.
ただし、0.8+0.6=1.4のような「桁あふれ」を避けるため、内部演算回路は28bitになっており、MSBに4bit追加されて内部演算は+16~ー16まで耐えられる設計のようです.だから24じゃなくて28bit演算というわけ.

56bit演算も出来るとdatasheetに書かれてるけれど、sigmastudioでどの程度supportされてるのかは、まだよくわかんなーい.

ま、bit assignを念頭に置かざるを得ずとはDSP使ってる気になるです.

5へ   7へ

かしこ

9 件のコメント:

  1. 読者 コンパレーター 聞いたことあるような うーん

    返信削除
  2. SigmaStudio って、発想というか、操作感が、
    ・Node-RED
    に、近いですね。
    ・Node-REDも、基本「有向グラフ」しか書けないので、こういう「低レベル操作」の為に、「ややこしいこと」が必要だったりする。

    返信削除
    返信
    1. noderedっぽいです.LabVIEWにも似てる.
      そして画面の領土がどんどん拡がってゆきます.

      削除
    2. >LabVIEWにも似てる
      LabVIEWって、(from 英語Wikipedia 何故か日本語版には無い)
      >Initial release 1986; 37 years ago
      なんですよね。まだ、私が「現役で回路設計」してた頃からある。
      最初は「Macintosh版」から始まったらしい。(私は見たことないですが。)
      今でこそ、こういうの「当たり前」ですが、こんな昔からやってるって、やっぱりスゴイな。

      「Node-RED」は、それを「Node.js」でやっちゃってるのがスゴイ。(私も「Node.js使い」なので、これはうれしいですが。しかも、IBMが開発してて「クラウド版」まであるのが、もっとスゴイ)

      削除
    3. ひぇーっ
      あのGUIを1986にやってたとは、さすがmac.
      cpuは68020か68040ですかね、今じゃARM core1個みたいな.
      のろくて使えたかどうか心配でぇす

      Node.jsえらい

      削除
  3. >このbit縮退操作をわざわざコンパレータでやってる
    これを内部のコンパイラ?が、どれだけ最適化してくれるか判りませんが、
    「これをそのまま機械語に置き換えてる」
    ならば、「スゲー贅沢なDSPの使い方」ですよね・・・
    ※そもそも、SigmaDSP って、「アセンブラ」あるのか?

    返信削除
    返信
    1. 裏でgccが動いてるのかしら?

      コンパイルしてないだろっていうくらいsigmastudioのビルド動作が早いので、各objectはマシン語レベルで出来ていて、parameter渡してるだけなんじゃと思わんでもないです.リンカぐらいは裏で動いてるかもですが.

      削除
    2. 読者 コンパイル!

      削除
    3. コンパイルって「ぷよぷよ」の会社なんですよね

      削除