B-2 - みる会図書館


検索対象: トランジスタ技術 2017年2月号
252件見つかりました。

1. トランジスタ技術 2017年2月号

徹底評価 / Pi Camera の生 800 万画素の画像データの取り出し方と評価 加します . ・ Raw データを取得できているか確認する スクリプト・ファイルの作成 camera. capture ('test—raw. jpg', bayer = True) リスト 1 のようなスクリプトを適当なテキスト・エ 同じようにスクリプトを実行するともう 1 枚の画像 デイタで作成します . スクリプト・ファイル名は が出来上がります . 試しに "ls ー al" コマンドでファ capture01. py としておきます . イルの大きさを確かめます . リスト 1 の内容をざっと説明します . 最初の 3 行は タイマとカメラ・モジュールを制御するパッケージを ファイルの名前やサイ ズなどが表示される ロードするコマンドです . 4 ~ 5 行目はキャプチャす る画像の解像度を設定し , モニタにプレビューを映し ー 1 pi pi 336808 Jul 21 21 : 18 test.jpg : 出すところです . 5 ~ 6 行目はプレビューのため , 2 秒 ー 1 pi pi 6740074 Jul 21 21 : 18 test— : 間待ってプレビューを停止します . 最後の行が JPEG ー raw. JPg ファイルを保存するコマンドです . プレビューを行う のは , 画像のチェックだけでなく露光の自動調整のた test—raw.jpg は test.jpg よりファイルが大きくなっ めです . ています . これはイメージ・センサの生の信号である このスクリプトを実行するのに , スクリプトが保存 Raw データが JPEG ファイルのメタ・データとして されているディレクトリで , コマンド・プロンプトか JPEG の内容の後に格納されていることを示していま ら , 次のコマンドを入力します . す . JPEG 画像は camera. resolution で設定された大き $ python3 capture01. py さになりますが , 同一ファイル中のメタ・データであ る Raw データはその設定にかかわらずイメージ・セ プレビューが 2 秒ほど表示された後 , そのディレク ンサの最大解像度の画像です . トリに通常の JPEG 画像が保存されています . 次に , リスト 1 の最後の行を次のように画像のファ イル名を変え , bayer というパラメータを True で追 1 バイト Raw データの先頭 メタ・データのヘッダ } 32768 バイト ( 使用せす ) (a) ファイル全体 JPEG 16 9 ! 8 : 7 ー 6 ー 5 ー 4 ! 3 先頭 1 画素目 ( Gb ) 2 画素目 ( B ) 最初の 3 画素目 ( Gb ) 4 画素分 を 9 8 ー 7 ー 6 ー 5 : 4 ー 3 : 4 画素目 ( B ) 1 2 右から 1 ~ 4 画素目の下位 2 ビット 5 画素目 ( Gb ) IO} 9 : 8 : 7 : 6 : 5 : 4 : 3 の上位の 8 ビット 6 画素目 ( B ) (b) Raw データ ( 直列データ中 ) の画素単位ビット配列 2592 ( VI ) 画素目 3280 ( V2 ) \Gb\ B \Gb - : 0 豆ト - ダミー・バイト G b : B : R : Gr R : Gr : R : Gr : R : Gr : R :Gb: B Gb: B :Gb\ B :Gb: B ℃ b の上位の 8 ビット メタ・データ・ バイト数 : 6404096 ( V 1 ) 10270208 ( V2 ) Raw データ 画像左上から始まり 右へ 1 行 , さらにそ の行単位を繰り返し 最下行まで順番に並 次の 4 画素分 画素目 2593 ( VI ) 3281 (V2) 画素目 1944 ( VI ) 2464 ( V2 ) 行 24 ( VI ) 28 ( V2 ) バイト 3240 ( VI ) 4100(V2))\ イト R : Gr : R : Gr : R : Gr : R 5038848 ( VI ) 8 ( VI ) 8081920 ( V2 ) 1 6 ( V2 ) ダミー行 画素目 行 (c) べイヤー配列の並び・・・ ( b ) の直列データの画像平面展開 : R : Gr 図 2 JPEG 画像メタ・データに格納された Raw データ・フォーマット このフォーマットさえわかれば Raw テータを自在 に扱えるようになる ンシスタ技術 2017 年 2 月号 121

2. トランジスタ技術 2017年2月号

表 2 Raspberry Pi の G 円 0 機能設定レジスタ G 曰 0 機能選択レジスタ GPFSEL(GPIO Function select Register) レジスタ名 : GPFSELx x 言 0 ツ 2 ) ビット (b) フィールド名 31-30 29-27 26-24 23-21 20-18 17-15 14-12 11-9 & 6 5-3 2-0 FSEL 10X + 9 FSEL 10X + 8 FSEL_10x + 7 FSEL_10x + 6 FSEL_10x + 5 FSEL 10X + 4 FSEL 10X + 3 FSEL 10X + 2 FSEL_10x + 1 FSEL_10x + 0 R. /W R R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 0 0 0 アドレス・オフセット : 0X002 開 0 開 + 4x 機能 リザープ・ビット FSEL_10x + y : GPIO_10x + y の機能選択 ( 10X + y = 2 ~ 27 以外はリザープ ) 010 = ALT5 機能端子 011 = ALT4 機能端子 111 = ALT3 機能端子 110 = ALT2 機能端子 101 = ALTI 機能端子 1 開 = ALTO 機能端子 81 = 出力ポート 0 開 = 入力ポート G 曰 0 端子出力セット・レジスタ GPSET(GPIO Pin Output Set Register) アドレス・オフセット : 0X820 開 IC レヾ、スタ名・一 GPSETO ピット (b) フィールド名 R/W SET_b 31-0 (b = 0 ~ 31 ) W 初期値 0 機能 1 ライト : GPIO 出力を 1 にセット 0 ライト : GPIO 出力変化なし ( b = 2 ~ 27 以外はリザープ ) GPIO_b をセットする G 0 端子出力クリア・レジスタ GPCLR ( G 曰 0 Pin Output Clear Register) = = レジスタ各は GPCLRO ・ ビット (b) フィールド名 R/W CLR b (b = 0 ~ 31 ) 31-0 W 初期値 0 アドレス・オフセット : Ox 開 20 開 28 機能 GPIO ー b をクリアする ( b = 2 ~ 27 以外はリザープ ) 0 ライト : GPIO 出力変化なし 1 ライト : GPIO 出力を 0 にクリア G 曰 0 端子レベル・レジスタ GPLEV(GPIO Pin Level Register) 三レジスタ : GPLEVO ビット (b) フィールド名 R/W 初期値 LEV_b 31-0 (b = 0 ~ 31) R 0 アドレス・オフセット : 0X00200034 機能 1 リード : GPIO 入力は H レベル ード : GPIO 入力は L レベル ( b = 2 ~ 27 以外はリザープ ) GPIO_b 端子の入力レベルを返す G 0 プルアップ / プルダウン・レジスタ GPPUD(GPIO Pull-up/down Register) ←レジスタ名 tGPPUD ビット (b) フィールド名 R/W 初期値 アドレス・オフセット : Ox 開 20 開 94 機能 31-2 1-0 PUD R R/W 0 リザープ・ビット GPPUDCLKO レジスタで操作する GPIO 端子のプルアップ / プルダウン状態を指定 : プルアップ / プルダウンを OFF 01 : プルダウンを ON 10 : プルアップを ON 11 : リザープ 0 G 曰 0 プルアップ / プルダウン・クロック・レジスタ GPPUDCLK(GPIO Pull-up/down Clock Register) レジスタ名 GPPUDCLKO ビット (b) フィールド名 R/W 初期値 PUDCLK_b (b = 0 ~ 31) R/W 31-0 190 0 アドレス・オフセット : 0X00200098 機能 GPIO ー b 端子のプルアップ / プルダウンを GPPUD で指定し 1 リード : 設定クロック信号をアサート 0 ライト : 設定クロック信号をネゲート ( b = 2 ~ 27 以外はリザープ ) た状態に設定 ンタ技術 2017 年 2 月号

3. トランジスタ技術 2017年2月号

私のスペシャル旧製作 / FPGA MAX 10 の研究 Wa F9 円ド 00P 可望今 n 引 yz 部ニ S 間 Welcome し og に 1 Help File Control View Window SingIe SPII_SCLK SP11_CE2-N SPII_MOSI SPII—MISO 01 = Position: 800 200 ns/div ー新 Base: Raspberry Pi が = 朝 0xAA を送信 NO 「 m 引 Digital Mode: ASource Repeated 100 Run: Busy 4000 3amP108 at 100 当日 2 ー 2016-07-16 19 : 30 : 17.847 -0.2 us 1 2 3 b15 b14b13b12b11b10 b9 b8 b7 d6 b5 b4 b3 b2 bl b0 015 1 b13 = b12 1 b10 b9 b8 b b6 b5 4 b3 b2 bl b0 1. MAX 10 が 1.8 0 、 8 us 0.4 us △ OxAA を送信 0K = 番ツみのよ、第要物当豆 0 箋ゞ、 ) D COVe Ⅳ 2 SN: T ⅱ 99e 「 PC 図 3 MAXIO と Raspbe 「Ⅳ Pi をインターフェースする 16 ビット S 日通信の信号 ( ロジアナで観測 ) こでは , 周辺機 す . いろいろな方法がありますが , グについて , SPII SCLK の立ち上がりからの遅延時 能レジスタの物理アドレスを仮想空間上の領域にマッ 間 ( ホールド時間 ) をもたせることが可能です ( DOUT ピングして , その領域をアクセスすることで , 周辺機 HoId Time 機能 ). 能レジスタ本体のリード / ライトを行うようにします . 一般的にスレープ側は , 受信データ SPII-MOSI を Raspberry Pi 周辺機能のレジスタを直接 ( 低レベルに ) 入力初段の D - F / F において , SPII_SCLK の立ち下が アクセスする方法を , 図 4 を使って説明します . 具体 りで生でサンプリングしてから , その後で自分のシス 的なプログラムの記述方法は後述します . テム・クロックで同期化して使うので , DOUT Hold ( 1 ) OS の Raspbian Jessie でサポートされているデ Time 機能の設定は不要なことが多いです . DOUT バイス・ツリーという機能を使って , 周辺機能のレ HoId Time 機能の設定は , かなり高速な SPI 通信で微 ジスタが配置されている物理空間のアドレスと領域 妙なタイミング調整が必要になる場合以外は , デフォ サイズを取得する . バイナリ・ファイル「 /proc/ ルトの 0 のままでいいでしよう . device—tree/soc/ranges 」の , 4 バイト目から 8 バイ ・ S 通信の実測波形 ト目が周辺レジスタの物理空間の先頭アドレスで , 本章で説明するプログラムを載せた Raspberry Pi と 9 バイト目から 12 バイト目が周辺レジスタ領域のサ MAX 10 の間の SPI 通信をロジアナで観測した波形を , イズを示している . 筆者の手元にある Raspberry 図 3 に示します . MAX 10 側の送信波形 SPII ー MISO が Pi では , 先頭アドレスは 0X3F00 00 , 周辺レジス SPII_SCLK に対して遅延しており , Raspberry Pi 側の タ領域のサイズは 0X0180g0 だった . post-lnput モードが必須であることがわかります . ②物理メモリ空間全体を表す特殊ファイル「 / ・ Raspberry Pi と MAX 10 の間の接続 dev/mem 」をオープンして , ファイル・ディスクリ Raspberry Pi と MAX 10 (MAXIO-FB 基板 ) の間の プタを得る . 「 / dev / mem 」のアクセスにはルート権 こでは , 前 接続は , MAXIO - EB 基板を使います . 限が必要である点に注意すること ( なお , ユーザ権 回紹介した編成 A -1 の構成を前提とします . MAXIO- 限でアクセスできる「 /dev/gpiomem 」という特殊フ EB 基板のはんだジャンパは , RN19P43 , RN16P41 , ァイルがあるが , 現時点ではこれは純粋に入出力ポ RN20P39 , RN21P38 の 4 カ所をショートしてください . ートとしての GPIO 制御レジスタ領域に対応するも Raspberry Pi 3 の周辺機能への ので , SPI などの機能モジュールのレジスタ領域は アクセス方法 含まれていないためここでは使用しなかった ). ( 3 ) Vdev/mem 」に対して read/write/seek する関 ・ SP Ⅱ ( AUXSPIO) のアクセスは直接レジスタ叩きで 数を使えば物理空間のアクセスは可能だが , プログ 補助周辺機能の中にある SPII (AUX SPIO) は , ラムの書き方が煩雑になるので , ここでは , 「 /dev/ Raspberry Pi の GPIO 制御用ライプラリ (WiringPi な mem 」の領域の一部を仮想空間上の領域にマッピン ど ) ではサポートされていないことが多かったので , グして , その領域をアクセスすることで周辺機能レ こでは直接レジスタを叩いて制御することにします ジスタ本体のリード / ライトを行う . 具体的には , ( 低レベル・レジスタ・アクセス ). mmap() 関数に , 「 /dev/mem 」のファイル・ディス ・ Raspberry Pi 周辺機能の低レベル・レジスタ・ア クリプタ , 周辺機能レジスタの物理アドレス ( 「 / dev / クセス方法 mem 」内でのオフセット値 ) と , 周辺機能レジスタ Raspberry Pi のような Linux 環境上では , 周辺機能 領域のサイズを与え , 周辺機能レジスタの物理アド のレジスタを直接アクセスするには少し手間が必要で ンシスタ技術 2017 年 2 月号 1.2 us 0.6 us 0.2 us 187

4. トランジスタ技術 2017年2月号

特集全実験室に ! 高旧アルテュイーノ基板 DBM ( ニ重平衡変調器 ) 03 GND : 1000p IC1a 1 イントロダクション 1 2 3 4 5 ローパス・フィルタ ロ 5 (D ク用 9 1 4 ー O 3 1 0k 2 IC6c A B 74 H C4066 IC3 TC7S04F ( 東芝 ) IC6d A B 1 2 74HC4066 IC5 2 3 2 C7 VRI 0.33 1 TSR-065 IN GND 8 6 9 十 O に 0 一 2 0 オーディオ・ ジャック 013 10k IC8 VDD OUT-A OUT_B 014 VIN_A 1 Ou VIN_B 0. BYPASS SHUTDOWN GND オーディオ・ GNDJ\O ワー・アンプ LM4881M ( テキサス・インスツルメンツ ) R1210k 4 3 RI 1 GND 超音波モジュール 接続端子 ( 左 ) 2 Vcc 6 5 7 8 っ J ( 0 っ ") ら ) 乙・ 十 4 TC7S04F OP アンプ NJM2732M ( 新日本無線 ) DBM ( ニ重平衡変調器 ) GND IC2a : 1000p GND スタ 。、にレ ロフ一 IC6a 74 H C4066 TC7S04F IC6b A B 74 HC4066 IC7 2 4 TC7S04 F 復調クロック ( 右用 ) 3 2 3 2 08 0.33 1 / R23 TSR-065 可聴信号を兀 duino へフィードバック ん 0 JP3 IN GND 1 2 十 1 3 1 6 欲 一も 〒ー立 z 6 O -u 01 2 4 IC4 GND 超音波モジュール 接続端子 ( 右 ) 2 6 5 7 4 5 3 十 ( 0 (C) 乙ーっっこ IC2b L CLK R_C L K L OUT R_OUT GND IC6 電源 012 10000 Vss 7 1 011 1 Ou GND 図 4 超音波復調回路基板の回路 超音波マイク・モジュール基板を 2 個接続できるステレオ構成になっている 転 / 非反転 ) とロジック IC 74HC4066 で DBM (DoubIe Balanced Mixer, 2 重平衡変調器 ) を構成しています . クロック信号で反転と非反転信号を切り替えることで 超音波を復調します . 復調回路部 超音波を探索するとき発信元の方向を特定できるよ う , 復調回路は 2 チャネルのステレオ出力としました . 原理的には , 受信信号の遅延時間を比較することで発 信源の方角も計算可能です . 図 5 に示すのは , 超音波の入力信号と変調後の出力 信号です . 変調後の出力信号には , 次の 2 つの成分が 含まれています . 人力 : 復調後の信号 図 6 復調回路の出力 とロー / ヾス・フィルタ 出力 : 可聴信号 通過後の可聴信号 ( 50 人力 : IV / 0 ⅳ 出力 : 500mV/div us/div, chl : 1 V/div, 50us/div ch2 : 5 開 mV/div) ・和 : 元の信号 + クロック信号 ・差 : クロック信号ー元の信号 この信号からローパス・フィルタで高周波成分を除 去すると , 可聴信号のみになります . 図 6 に示すのは , 67 トランシスタ技術 2017 年 2 月号

5. トランジスタ技術 2017年2月号

誰でもキマル / プリント基板道場 イ A ー D コンバータ、し 図 2 伝送する信号のタイミングを A ー D コンバータ」 慎重に検討すべき基板レイアウト例 FPGA 間のバス・ ライン ・・ソフトウェア無線基板上の 50 Msps の A ー D コンバータと FPGA 間のパ ラレル・テータ・ライン 層間厚 0.2mm , 表層でパターン幅 = パ ターン間隔 = 0.25 mm なのでクロスト ークは大きめになるが , すべてに同期 が取れているバス・ラインなので問題 にはならない . 隣接する LED のライン はタイミングの異なる信号を流すとク ロストークの影響が現れる . この LED には高速信号を通してはならない あるため , ノイズの影響を受けやすくしきい値付近で 値が大きく変動し , 思わぬ誤動作やジッタが発生しま す . 特にクロックなどの周波数や位相などの安定度が 重視される基準信号では , ノイズによるタイミングの わずかな変動も問題になります . 流行りのラズベリー・パイや Arduino などで拡張シ ールド基板を延長フラット・ケープルで動かそうとす ると誤動作が頻発するという経験をした人もいると思 います . 不用意に配線を高密度のまま伸ばすとジッタ では済まなくなって , クロストークによるデータの破 図 3 クロストーク対策を施した基板レイアウト例・・・ソフトウェ ア無線基板の 50 M ~ 2 GHz のフロント・エンド部分の RF 信号 壊でエラーを起こすこともあります . は狭い範囲にコンパクトに集める 高速の信号を数十 cm ほど遠くに伝えようとすると 層間厚 0.2 mm の内層はべタ GND のプリント・パターンでしつかり覆 フラット・ケープルでは厳しいです . こういった場合 われており電界は表面の狭い範囲に閉じ込められる構成になっている は差動線路や同軸線路などクロストークやノイズに強 ダクタンス ( 誘導性 ) と相互キャパシタンス ( 容量性 ) で い配線を使用します . す . この 2 つは全く異なった動きをします . 図 4(a) にクロストークのメカニズムを示します . 相互インダクタンスは磁界による結合で線路 A に流 基板上のクロストークは GND の配置方法や配線の れる電流の変化」 / によって線路 B に電圧「が発生し 間隔 , 層構成などで対処します . ます . 図 4 (b) の相互キャパシタンスは電界による結 図 2 に示す基板レイアウトではクロストークが発生 合で線路 A の電圧変化」「によって線路 B に電流 / が するので伝送する信号のタイミングを慎重に検討しま 流れます . 線路 B に発生した電圧と電流は線路 B のイ す . LED のラインにはバス・ラインの信号と異なる ンピーダンスによって最終的な電圧と電流が決まり , タイミングの高速信号を通さないようにします . 発生する電流の方向によって加算されたり打ち消し合 図 3 に示す基板レイアウトではクロストーク対策を施し ったりします . ています . 50M ~ 2GHz のフロント・エンド部分の RF 信 図 4 ( a ) と ( b ) の線路 B に発生する電流は , 遠端側に 号は狭い範囲にコンパクトに集めています . 層間厚 02mm 注目すると磁界と電界でそれぞれ方向が逆になるため の内層は GND べタのプリント・パターンで覆われており , 電 打ち消される傾向になりますが , 近端側は強め合う傾 界は表面の狭い範囲に閉じ込められる構成になっています . 向になります . クロストーク発生のメカニズム 図 5 は細い線路が近接する場合で , 線路の表面積が 小さいため容量はあまり付きませんが相互インダクタ ンスは強く働いています . これは主に多ピン・コネク ・隣接バターンは空中の磁界または電界でつながる タなどが該当します . クロストークの原因となるのは , 線路間の相互イン トランシス 9 技術 2017 年 2 月号 0 山 0 ( ト LED の ラインノ " 異なるタイミング の信号が流れると クロストークが発 生する FPGA 、 ) 周 当 0 ・クロストークの小さいプリント基板を作るには 91

6. トランジスタ技術 2017年2月号

リスト 2 変換効率計算用画像キャプチャの python スクリプト 画像が白飛びしない範囲で画像の信号が大から小ま で任意の間隔で変化する 10 通りの JPEG と Raw デー タ・ファイルを 2 枚ずつ SD メモリ・カードに保存する 1 : 5 : $ ) 2 : 5 3 : 5 : $ ) 4 : 5 : $ ) b 土 t and ( raw ( : ′ 5 : 5 : $ ) ′ b 土 t and ( r aw ( : ′ 5 : 5 : $ ) ′ filename jpeg—raw ss' 十 str(j + 1) + ーーー十 str(j + 1) 十 '•jpg for 土 in range ( 2 ) : time. sleep(l) # インターバル camera. shutter—speed = int (ExpSpd) ExpSpd = ( j + 1 ) / Nexp ☆ Rexp ☆ Aut0ExpSpd for j in range (Nexp) : AutoExpSpd = camera. exposure_speed # # # Raw キャプチャ # # # ー OFF' camera. exposure mode camera. shutter speed = Camera. exposure_speed ###AE 解除 ### camera. stop_preview ( ) s1eep(5) camera. start_preview ( ) # # # プレビュによる AE # # # Rexp = 3 # Auto 時の露光時間に対する Raw キャプチャ時の最大露光時間 camera. shutter_speed ′ー [us] つ print い露光時間 - print(' ファイル名 =%s' % filename) # 表示 camera. capture (filename ′ bayer=True) 徹底評価 / Pi Camera の生 800 万画素の画像データの取り出し方と評価 # # # Python)t ッケージ # # # from picamera import PiCamera camera = PiCamera ( ) from time import sleep # # # 初期値 # # # camera. framerate = 10 # フレーム・レード # 主 SO 感度設定 camera. 土S0 = Nexp = 10 # 露光時間の数 リスト 3 オープンソー スの科学計算ソフトウェア SciLab のスクリプト 変換効率を計算する CIear ′ raw=matrix(raw ′ 3264 ′ 1952 ) ー mclose(fdi) raw=mget(6371328,'uc',fdi) ms e e k ( ー 63 7132 8 ′ fdi ′ " end" ) fdi = mopen (fnamei, ー rb') jpeg—raw—ss" + string(i) 十一 for j raw2 = z e ro s ( 1 9 4 4 ′ 2 5 92 ′ 2 ) for 土 = 1 : 10 stacksize(). 5e8) raw = raw ( 1 : 19 4 4 ′ 1 : 32 4 の ー + string(j) 十 " ・ jpg" 1 : 4 : $ ′ r a w 2 ( : repmat(bin2dec("00000011" 2 : 4 : $ ′ r a w 2 ( : repmat ()i n2 de c ( " 0 01100 " ) ′ 19 4 4 ′ 64 8 ) ) / 4 ー 3 : 4 : $ ′ r a w 2 ( : repmat(bin2dec("00110000" 4 : 4 : $ ′ r a w 2 ( : repmat(bin2dec("11000000") ′ 1944 ′ 648 ) ) / 64 ー end sig(i) =mean( raw2(: var ( 土 ) = variance ( raw2 ( : end r a W ( ・ ′ 19 4 4 ′ 6 4 8 ) ) / 1 6 ー r a W ( ・ て a W ( ・ ′ 1 9 4 4 ′ 6 4 8 ) ) / 1 ー r a W ( ・ ☆ 4 ☆ 4 ☆ 4 十 十 b 土 t a n d ( r a w b 土 t a n d ( r a w ′ 1 ) + raw2 ( : ′ 2 ) ) / 2 ー〃信号平均値 ′ 2 ) ) / 2 ー〃分散 1 ) ー raw2 ( : disp(reg1in(sig(1:6) ' , var(1:6) ' ) ) ー〃変換効率の計算結果表示 ( 6 ポイント使用 ) = 用意ができたら , リスト 2 に示すような Python ス クリプトを実行します . これは , 画像が白飛びしない 範囲で , 画像の信号が大から小まで適当な間隔で変化 する 10 通りの JPEG と Raw データ・ファイルを 2 枚ず っ SD メモリ・カードに保存する制御です . この例は , カメラ・モジュール VI を使う場合のパラメータ設定 になっています . 計算実行 * 2 キャプチャされる JPEG 画像はアナログ・ゲイン (camera. analog—gain) とディジタル・ゲイン (camera. digital—gain) が有効 である . Raw データは ISO 感度がゲインの代わりになっている ンタ技術 2017 年 2 月号 出来上がった Raw データ付き JPEG ファイルを使っ て , 変換効率の計算を実行します . 前述した Python スクリプトのキャプチャ文によるデータの送り先をフ ァイルではなくストリームにすれば続けて変換効率計 算の処理ができます . ここではコードがかさむので , オ ープンソースの科学計算ソフト SciIab で計算しました . JPEG メタ・データとして格納されている Raw デー タを切り出し , 図 2 に示したフォーマットに従って R, Gr, Gb, B の色別に信号の平均値とノイズの分散を 信号レベルの違う 10 通りについて求めます . 式で表 すなら変換効率 4 CDN/(e ・ Gain)] は , 信号の平均 123

7. トランジスタ技術 2017年2月号

誰でもキマル / プリント基板道場 ス差が大きいほど結合の強い線路ということになり , クロストークの大きい線路です . このように奇モードでインピーダンスが単独で存在 するときよりも下がったものを奇モード・インピーダ ンス , 偶モードでインピーダンスが単独で存在すると きよりも上がったものは偶モード・インピーダンスと 呼びます . 線路 A 差動線路は広く使われているため単独のストリップ 線路 B ライン , マイクロストリップ・ラインを差動線路に置 ぐぐぐ亠 き換えるための近似式が知られています . 前述した図 1 (b) , 図 9 に示したとおり , 単独の特 (b) 近端側 性インピーダンスをる [ Q ] , 差動線路間のスリット 図 7 ある程度の長さがあるパルスが信号源から線路 A に出力さ れたところ 幅を S Cmm], 誘電体厚を丑 Cmm] として差動線路 ( a ) は同じ方向に電流が流れるためピークが重なってスパイク状のパル インピーダンスを求めます . スになる . 振幅は大きくなるがパルスの幅は狭い . ( b ) は逆方向に電流 図 9 に示すストリップ・ラインは次式で求まります . が流れるため重ならずにずれて幅の広いパルスになる Ks= 1 ー 0.347e ( ー 2 ・ 9 文 s / 〃 ) ② ~ ~ Z 2 る 最適な配線間隔の目安 図 1 (b) に示すマイクロストリップ・ラインは次式 ・奇モードと偶モード・インピーダンスを考える で求まります . KM* 1 ー 0.48e ← 0 ・ % xS / H) ん流 = 2 るん S = 1 mm, = 1 mm, / 0 = 50 Q として計算すると ストリップ・ラインの Zd 流は 98 ユ Q , マイクロストリ ップ・ラインの / は 81.6Q です . Ks , ん M が小さいほ ど線路間の結合が強くクロストークの大きい線路です . / は前述した奇モード・インピーダンスの 2 倍に なります . 全く結合がない線路同士だと 1 開 Q になる ので , マイクロストリップ・ラインのほうが圧倒的に 線路間結合が強いことがわかります . 偶モード・インピーダンスを Zoe [ Q ] , 奇モード・ インピーダンスを Zoo [ Q ] とすると , 特性インピー 仮想開放面 信号の進行方向 線路 A 線路 B 近端 遠端 (a) 遠端側 信号の進行方向 ・近似式でクロストークを求める 近端 遠端 まずは直感的な説明をします . これは結合を積極的 に応用した差動線路を理解するためにも有効です . 図 8 ( a ) は差動線路による奇モード結合のようすを 示しています . 奇モードとはこのように線路間の位相 が反転するなどして電界の分布が非対称な状態を表し ます . 差動線路の場合は線路間の中間が OV 電位にな るため仮想的な GND 面になるため容量が大きく付い てインピーダンスが下がると考えると奇モードのイメ ージがしやすいと思います . 図 8 ( b ) の偶モードでは電界の分布が対称になるた め線路間は電気力線が存在せず開放面あるのと等価に なり容量が下がるためインピーダンスが上がります . 2 つの線路間の偶モードと奇モードのインピーダン 4 ( 3 ) 仮想 GND 面 図 8 2 つの線路間のイン ピーダンス差が大きいほど 結合が強い線路であり , ク ロストークも大きくなる ( a ) の差動線路間の中間面は 0 V であるため仮想的な GND と同じである . 単独のときよ り容量が大きく付くためイン ピーダンスは下がる . (b) の 同相線路同士では電気力線の 行き先が減るため容量が下が る . これは単独のときよりイ ンピーダンスが上がってみえる トランシスタ技術 2017 年 2 月号 十 / 十 / (b) 遇モード (a) 奇モード 93

8. トランジスタ技術 2017年2月号

100k 100k 1 2V 100k 100k 100k NJM4558DD SW4 1 Ou 50V 010 50V + SW3 出—J 動作モード SWI SW2 動作 人力スルー Byoass L サラウンド Ste 「 eo H サラウンド Mono 1 00k 1 00k SW2 SWI 1 Ou 50V 1 Ou 50V + R2 RI 1 0k 10k 06 + 05 1 Ou 1 Ou 50 50V DC 12V 人力 NJM2701 ( 新日本無線 ) 8 NI-I 0N9 7 9 LMS + > 6 トの山ト N 工山 > 5 トっ 0 ←トの田ト 4 線 ← 8 コ 5 無」 0 > 3 本 N1b -, 代 -ll 亠 2 z 新 NII コ I 」 1 LOUT フィルタ E サラウ 50k (B) L--Bypass E + C1 1 Ou Y--STEREO 50V --MONO 図 12 製作したワイドレンジ低雑音位相変化型デイメンション 図 1 1 ステレオ感を拡大するサラウンド・プロセッサ℃ NJM 回路図 2701 の内部プロック図 異なる音源の 2 チャネルを加算して処理するための回路を追加した フィルタや L/R の加減算を利用している 心地よい効果が得られます . 1 年を越える連載となりましたが , 今回で終了しま 強弱のある音源では , BBD によるステレオ回路と す . 長い間お付き合いいただきありがとうございまし はまた違う音色が表現されます . ZO 0 0 3 O 1 5 ROI_JT 470 16V 麟 000 デ ( ン テ ()UT (b) 裏側 170 トランシス 9 技術 2017 年 2 月号

9. トランジスタ技術 2017年2月号

電子楽器 & 工フェクタ回路集 電圧にも対応できる MN3007 を利用しました . この ・遅延時間を変調する低周波発振器 IC だと信号振幅を 4 割近く大きくできます . BBD を使った遅延回路は , クロック周波数を変える 3000 番台の BBD は , 3200 番台とはドライバ IC も電 とディレイ時間が変わります . クロック周波数を時間 源電圧も違います . 特に IC 製造プロセスの関係から 変化させることで , さまざまな音色効果が得られます . 負電圧電源で設計されていることに注意してください . こでは L, R 別々の遅延回路を独立して使い , 変 調には低い周波数の三角波を逆位相で使います . 元信 BBD の遅延回路の前後には , 干渉防止とクロック 除去のために LPF を設けます . 号と加算することで得られるコーラス効果は 2 相ステ こでは基板の配置 レオ化されます . 変調用の低周波発振器 ( LFO ) の出 のしやすさからトランジスタを使用した 3 次 LPF にし カ周波数を 02 ~ 1 Hz と低くすることで , 空間系ェフ ェクタの広がり感が得られます ( 図 5 ). BBD のクロック・ドライバは MN3000 番シリーズ 低周波発振回路を図 6 に示します . 積分器とヒステ 用の MN3101 です . 2 相クロック , ゲート・バイアス が 1 チップで得られます . 外部より電圧を印加して閾 リシス・コンパレータによる三角波発振器です . パネ 値電圧を変え , 発振周波数が変わることで遅延量を変 ル・スイッチで三角波の周波数や振幅値が変わります . 化させます . 2 個のスイッチとも OFF すると発振は止まり , 遅延回 しきい 遅延信号選択 "Lout 出力 LR 処理選択 メ レ ーヤ い一一一チ レ モ「 写真 1 製作したデイメン ション・エフェクタのフロ ントパネル 可変なのは入力レベルだけで , 効果の調整はスイッチで行う »TOFE モードⅢ モード 1 BP 47k SW67 は遅延ミクス位相 切り替え 上 : 正相 (SDD-320 相当 ) 中 : 左右独立 下 : 逆相体機オリジナル ) 47k 4.7 BP SW5a IN レベル 一延路 一遅ロ 図一ー Q ( し BP 47k 47k 47k SWla 6.8 47k 47k 47k 50k (B) 1 5k 十 LOIJT 十 47k 00 一 Y00 ー SW6 : 中点〇 FF 47k LED レベル・メータ ( 図 7 ) SW8a 1 2 連 BP 中点 OFF : 1 BP BP 47k 47k 7k 47k スイッチ 付き 47k ー 22k 0n2 遅延 Dout2 囘路 : コント コント ロール 2 ロール 1 制御ロ路 ( 図 6 ) : SW5b IN レベル 47k 50k (B) 47k 4 SW8 は遅延信号選択 SW7 47k 上 : L 十 R 中点 OFF 中 : 左右独立 (SDD-320 相当 ) ICl&IC3 : NJM4558DD 下 : L ー R 電源は士 15V 図 3 BBD デイメンション・エフェクタの入出力回路 スイッチ付きジャックでモノラル対応 . 中点 OFF スイッチを使って選択範囲を広げている ンタ技術 2017 年 2 月号 : SW1b 6.8k 47k 4.7 IC3b BP 1 5k 十 十 ROUT 十 IC2b Y00 SW8b 2 連中点〇 FF 47k LED レベル・メータ ( 図 7 ) 165

10. トランジスタ技術 2017年2月号

ーコラム 3 実験に使ったオーディオ・ ーアンプ・キットをプレゼント 本稿筆者のご厚意により , 比較実験に使用した 二つのオーディオ・アンプ製作用プリント基板 ( 電流帰還型 , 電圧帰還型 ) とプロテクタ・プリン・ ト基板をプレゼントいたします . 部品は付属して : いません . お申し込み方法は , p.207(Reader's ・ Forum ) をご覧ください . く編集部〉・ . ・電流帰還アンプ製作用プリント基板 2 枚 1 提供・矢野目勇士氏 ) 外観は写真 1 ( a ) , 回路は図 4 ( a ) を参照してく ださい . 開発者ウエプサイト たのしい電子工作クラブ http://elec ー nuts. cocolog ー nifty.com/ ー・電圧帰還アンプ製作用プリント基板 2 枚 回路は図 4 ( b ) ( 本誌 2015 年 9 月号に記事あり ) ーに次の改良を加えたものです . 性能は表 1 に示し・ ーたとおりです . ・初段にチップ JFET ( 2SK2145 ) を使用 ・ DC アンプ化と DC オフセット調整回路追加 1 ・初段カスコード・プートストラップ追加 ・初段負荷抵抗値の変更 ・ 2 段目動作電流の変更 1 開発者ウエプサイト 1 new_ 、 vestern elec http://nw ー electric. way ー nifty.com/ ・プロテクタ基板 2 枚 1 ( 提供・ Takazine 氏 , 写真 B) 開発者ウエプサイト new_western_elec http://nw ー electric. way ー nifty.com/ 0 7 写真 A 読者プレゼントに含まれ写真 B 読者プレゼン ている電圧帰還アンプ製作用プリトに含まれているプ ント基板 ロテクト製作用プリ ント基板 150 10mA ( 0 十 ト 9.1 V ツエナー 0 VILIZ 3.9k T r3f Ra 2SA 4 ワ 0 人力バッファ ( ダイア モンド・バッファ ) 01 RI 100u 1 k 1 6V 60 ) 00d8 0 2 7 ( 提供 : Takazine 氏 , 写真 A ) 1 IN S-GND = 、 2 ピン S-GND > 9 一マュ 0 工 ッ D2 IClb 8 4 NJM4558M 10mA こ第新 追い付け / 追い越せ / ンタ技術 2017 年 2 月号