STM32F446RE 内蔵の SAI モジュールの AC97 モード (1)

STM32F446RE などに内蔵されている SAI (Serial Audio Interface) モジュールの AC97 モードを使って、AC97 コーデックとの接続を試してみました。 「AC97 リンク・コントローラ」に「AC97 プライマリ・コーデック」ひとつと「AC97 セカンダリ・コーデック」…

STM32F446RE 内蔵の SAI モジュールの SPDIF 出力

STM32F446RE などに内蔵されている SAI (Serial Audio Interface) モジュールでは、通常の 2 チャネル・ステレオ・オーディオ DAC/ADC とのインターフェースに加えて、 3 ch 以上のマルチ・チャネル構成や、AC97 や SPDIF などのプロトコルに対応しています…

周波数成分を 90° 移相した三角波による FM 合成

約 1 年前の 2019 年 3 月 7 日付けの記事 (こちら→) で示した、三角波のすべての周波数成分の位相を 90° 移相して得られた「ずんぐりとした正弦波」状の波形を FM 音源の波形のひとつとして追加し、合成波形を見てみました。 最小限のパラメタのみを変更可…

PSoC Creator の Verilog-HDL のリダクション演算の不具合 (2)

PSoC Creator のリダクション演算の問題で、回路自体は変更せずに、ゲートを負論理で表現して OR の部分を単項リダクション演算で記述してみたところ、ひとつの式の中に複数のリダクション演算があっても問題なく変換されることが分かりました。 CLA 回路部…

PSoC Creator の Verilog-HDL のリダクション演算の不具合 (1)

PSoC Creator のユーザ・コンポーネントとして、(LS)TTL / HCMOS の 4 ビット ALU である 74181 の内部回路を Verilog-HDL で書いていて、「リダクション演算」に関する不具合があることに気が付きました。 回避する方法も判明しているので、実用上は問題あ…

TM8211 (2)

TM8211 / PT8211 のデータシートには、(NXP/Philips 製) TDA1311 と機能コンパチブルであることが記されています。 TDA1311 では、「Continuous Calibration」と称する方式が採用されています。 TDA1311 の回路構成としては、16 ビット・データ入力の上位 5 …

新リビジョンの PSoC5LP Prototyping Kit

最近、「PSoC5LP Prototyping Kit」を買い増ししたのですが、基板のリビジョンが上がっていて、2016 年 1 月 12 日付けの記事 (→こちら) で触れたリセット信号がピンにつながっていない問題は修正されていました。 パッケージの表示では「Rev *C」、基板のシ…

TM8211 (1)

aitendo で Titan Micro 製の (ノンオーバーサンプリング) 16 ビット DAC 「TM8211」が販売されているのに最近気づきました。 以前から販売されている Princeton Technology 製の「PT8211」とピン接続/機能が同等で、価格も同じ 1 個 50 円です。 2017 年 6 …

ICL7137 (5)

ICL7137 のセグメント出力をキャプチャするソフトウェアについて述べます。 表示の変化の途中でキャプチャすることを避けるには、それがセグメント出力の最後の変化であることを確認してから取り込まなければなりません。 しかし、現在の変化が「最終」であ…

ICL7137 (4)

ICL7137 の標準の回路のままでセグメント出力から信号を引き出すだけでは適切なロジック・レベルが得られないことを説明します。 ICL7137 のセグメント出力の内部回路と、外部の 7 セグメント LED との接続の様子を下に示します。

ICL7137 (3)

ハードウェア / ソフトウェアを合わせたブロック・ダイアグラムを下に再掲します。 図では、ICL7137 からの 7 セグメント LED への配線に「パラ」ってセグメント・パターンの信号を取り出していますが、標準の回路のままではロジック・レベルが合わず、正常…

ICL7137 (2)

5 セグメント・パターンから BCD (Binary Coded Decimal) への変換部分を、 PLD (Programmable Logic Device) である Lattice GAL16V8 を使って「ランダム・ロジック」によるハードウェアとして実現した例を示します。 GAL16V8 の OLMC (Output Logic MacroC…

ICL7137 (1)

V3340 の温度補償ずみ CV 出力 (アンチログ部の差動ペアのベースを駆動する電圧) は、最大で約 -180 mV から約 180 mV まで変化します。 マイコンでデータをロギングする場合、マイコン内蔵の ADC を使うためには、入力電圧の変化範囲を GND から電源電圧ま…

V3340 VCO (1) --- 温度補償 CV (1)

coolaudio 製 V3340 は、(ミュージック・シンセサイザ用) VCO IC である CEM3340 のコンパチ品で、1 年ほど前から秋月でも扱うようになりました。 単価 980 円と、結構いいお値段するので気軽に試してみる訳にもいかず、これまで手を出していませんでした。 …

STM32CubeIDE 対応 TGSTM32F4 (2)

「STM32F4 Discovery」(STM32F407VGT 搭載) 用のFM音源プログラム 「TGSTM32F4」を「STM32CubeIDE」に対応させたパッケージを公開しました。(→こちら) 上記リンクをクリックすると Yahoo! ボックスが開きます。

STM32CubeIDE 対応 TGSTM32F4 (1)

STMicroelectronics 製 STM32F4 マイコン・ボード 「STM32F4 Discovery」(STM32F407VGT 搭載) 用のFM音源プログラム 「TGSTM32F4」(2012 年 04 月 18 日に公開) では、開発環境として、無償版の Atollic TrueSTUDIO for STMicroelectronics STM32 Lite V 2…

トラ技 2019 年 5 月号付録 PSoC4100S 基板 (4)

トランジスタ技術 2019 年 5 月号付録 PSoC 基板 (CY8C4146LQI-S433) 用の無限音階オルガン・プログラム "st_p41s" のパッケージを公開しました。(→こちら) 上記リンクをクリックすると Yahoo! ボックスが開きます。

トラ技 2019 年 5 月号付録 PSoC4100S 基板 (3)

2015 年 5 月 23 日付けの記事 (→こちら) と 2015 年 6 月 30 日付けの記事 (→こちら) で「PSoC 4200 Prototyping Kit」用に作った「タッチ鍵盤付き無限音階オルガン」基板を改造して、トラ技 2019 年 5 月号付録基板用に作り変えました。 この基板のタッチ…

トラ技 2019 年 5 月号付録 PSoC4100S 基板 (2)

CY8C4146LQI-S433 (PSoC 4100S シリーズ) での FF (Fixed-Function) モジュールの入出力は、任意のピンに割り当てることはできず、数か所の選択肢の中からひとつを選ぶ形になります。 その割り当て表は、デバイスのデータシートやトランジスタ技術 2019 年 5…

トラ技 2019 年 5 月号付録 PSoC4100S 基板 (1)

トランジスタ技術 2019 年 5 月号には、付録として Cypress CY8C4146LQI-S433 (PSoC 4100S シリーズ) を搭載した基板が付いています。 以前の記事で取り上げた「PSoC 42xx Prototyping Kit」(CY8CKIT-049) に搭載されている CY8C4245AXI-483 (PSoC 4200 シリ…

dsPIC33FJ64GP802 (28) --- 周波数シフター (12)

現状の周波数シフター・プログラム (2019 年 2 月 7 日付けの記事に hex ファイルを掲載) では、処理に余裕があったので、 2019 年 1 月 16 日付けの記事の実質 507 タップのヒルベルト変換器ではなく、タップ数を増やして実質 763 タップとしたものを使って…

dsPIC33FJ64GP802 (27) --- 周波数シフター (11)

2019 年 3 月 24 日付けの記事では、方形波を表すフーリエ級数表現の式を積分して、三角波のフーリエ級数表現が得られることを示しましたが、サイン/コサイン入れ替え版の式は求めていませんでした。 1.442-3. 式の左辺の積分を計算すると次のようになります…

Web サイト移転

2019 年 3 月 31 日に Yahoo! ジオシティーズのサービスが終了するのに対応して、ジオシティーズ上にあったWeb サイト「JO-MIDI-FM」 http://www.geocities.jp/pcm1723/ を XREA 上の http://pcm1723.g3.xrea.com/ に移転しました。 2019 年 9 月 30 日まで…

dsPIC33FJ64GP802 (26) --- 周波数シフター (10)

解析的には積分が難しい関数でも、べき級数としての表現が得られれば、その式を項別に積分して結果の式を求めることができます。 得られた級数を必要な精度を満たす項まで計算すれば、数値としての値が求まります。 Maxima にはテイラー級数 (Taylor series)…

dsPIC33FJ64GP802 (25) --- 周波数シフター (9)

前回の三角波のサイン → コサイン置き換え版を、数式処理システムの「Maxima」でフーリエ級数以外の表現で求めてみたところ、やはり、初等関数では表せない形になるようです。 まず、「方形波」を積分すれば「三角波」になるので、方形波のフーリエ展開の式…

dsPIC33FJ64GP802 (24) --- 周波数シフター (8)

偶対称の位置に配置した方形波のフーリエ展開である 1.442-4. 式のサイン → コサイン置き換え版である 1.442-3. 式 と、前回示した逆グーデルマン関数の定義 の右辺を比較すると、 係数 の有無 変数 と変数 の違い を除いては同じ形になっていることが分かり…

dsPIC33FJ64GP802 (23) --- 周波数シフター (7)

"Table of Integrals, Series, and Products" でのグーデルマン関数 (Gudermannian function, 関数名は「」と表記) の定義を引用します。

dsPIC33FJ64GP802 (22) --- 周波数シフター (6)

前回と同様に、"Table of Integrals, Series, and Products" から引用した式を示します。 まず、方形波の場合です。

dsPIC33FJ64GP802 (21) --- 周波数シフター (5)

以下、(1.441-1.) のような式番号が付けられている式は、 I.S. Gradshteyn, I.M. Ryzhik 著 Alan Jeffrey, Daniel Zwillinger 編 "Table of Integrals, Series, and Products", Seventh Edition, Academic Press からの引用です。 まずは、のこぎり波のフー…

dsPIC33FJ64GP802 (20) --- 周波数シフター (4)

ヒルベルト変換器を通すと、すべての周波数成分の位相が 90° 遅れるので、単一周波数の正弦波以外の一般の信号では、入力信号とは違った波形になります。 のこぎり波 / 方形波 / 三角波に対する出力波形を観測し、「理論値」と比較してみました。 まずは単一…