DSP C プログラミング入門 組み込みシステムコーディングの基礎

[表紙]DSP C プログラミング入門 組み込みシステムコーディングの基礎

紙版発売

B5変形判/352ページ/CD1枚

定価2,398円(本体2,180円+税10%)

ISBN 4-7741-1078-7

ただいま弊社在庫はございません。

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

高度なデジタル信号処理技術を使った製品には必須といえるプロセッサ,DSP。このDSPのプログラミングを,今までのようにアセンブリ言語で行うのではなく,汎用性があり,より親しみやすいC言語で行おうとする,学生・技術者のための解説書です。

こんな方におすすめ

  • デジタル信号処理を勉強しようとしている方
  • DSPプログラミングを学ぼうとしている方

目次

第1章 DSPは革命児

    • ・DSPは革命児
    • ・DSPの歴史――革命児の生い立ち
    • ・DSPの応用例――革命児は多芸

第2章 DSPのアーキテクチャ

  • ・プロセッサのアーキテクチャの基礎
  • ・DSPのアーキテクチャ
    • ・デジタル信号処理
    • ・アキュムレータベースのDSP(TMS320C5000 DSPシリーズ)
    • ・レジスタベースのDSP(TMS320C6000 DSPシリーズ)

第3章 初めてのDSP Cプログラミング入門

  • ・「Hello DSP!」プログラム(最初の一歩)
    • ・Code Composer Studioで動作確認
  • ・サイン波をFFTグラフ表示してみよう!(ボイスチェンジャの原形に挑戦)
    • ・もう少し長いプログラムに挑戦
    • ・ボイスチェンジャの原理
    • ・Code Composer Studioで動作させる
    • ・プログラムの動作を確認する(その1 値の確認)
    • ・プログラムの動作を確認する(その2 全体の流れをグラフ化する)
  • ・こらむ フーリエ関数とは

第4章 C言語と数値演算(固定小数点と浮動小数点)

  • ・2進数で負の数を扱う
    • ・2進数の復習
    • ・負の数(マイナス)を表現する(ルール1:符号ビット)
    • ・負の数(マイナス)の面白い性質(ルール2:符号拡張)
    • ・負の数を作ってみよう(ルール3:2の補数)
    • ・2進数で負の数を扱うときの3大ルール
  • ・2進数で小数点を扱う(固定小数点と浮動小数点)
    • ・固定小数点
    • ・浮動小数点
    • ・固定小数点 対 浮動小数点
  • ・DSP固定小数点演算とC言語
    • ・固定小数点で積和演算
    • ・問題点(桁数が溢れる)
    • ・桁数の爆発を防ぐトリック
    • ・2進数で小数の掛け算
    • ・C言語 固定小数点演算を体験してみよう
  • ・こらむ 2進数と16進数は仲良し

第5章 DSPアプリケーションの作り方・初級編

  • ・デジタルフィルタとは?
    • ・FIRフィルタ
    • ・デジタルフィルタのメリット
  • ・IIRフィルタを使ったサイン波発生装置を作ろう!
    • ・IIRフィルタ
    • ・浮動小数点版:IIRフィルタサイン波発生装置プログラミング
    • ・固定小数点版:IIRフィルタサイン波発生装置プログラミング

第6章 組み込みシステムコーディングとC言語――リンカの役割

  • ・「組み込みシステム(Embedded System)とは?
  • ・メモリーマップ(記憶場所の地図)
    • ・メモリーマップとは?
    • ・C6211DSKのメモリーマップ
    • ・C5402DSKのメモリーマップ
  • ・リンカとコマンドファイル
    • ・リンカの役割(ハードとソフトの架け橋を行うツール)
    • ・コマンドファイル(リンカへの指令書)
    • ・C5402DSKのコマンドファイル(コマンドファイルの例)
    • ・C言語によるセクション・コントロール
  • ・こらむ Cコンパイラが生成するセクションとマップファイル

第7章 割り込みとC言語

  • ・割り込み
    • ・割り込み(インタラプト)とは?
    • ・割り込みの要因(割り込みしてくる者)
    • ・割り込みを受け付けるしくみ(割り込みのスイッチを設定する)
  • ・割り込みサービスルーチン(ISR)と割り込みベクタ
    • ・割り込みサービスルーチンをC言語で記述する
    • ・割り込みベクタ(割り込みサービスルーチンを呼び出すしくみ)
    • ・割り込みベクタテーブルの設定
  • ・簡単!ボイスチェンジャの作り方
    • ・ボイスチェンジャの基本的なアイディア
    • ・ボイスチェンジャ・システムの概略
    • ・C5402DSK版 ボイスチェンジャ・プログラム
    • ・C6211DSK版 ボイスチェンジャ・プログラム
  • ・こらむ これはバグではなく,製品の仕様です

第8章 DSPアプリケーションの作り方・中級編

  • ・バッファ搭載型ボイスチェンジャ
    • ・バッファの必要性
    • ・ボイスチェンジャにバッファを搭載する
    • ・ピンポンバッファ搭載型・ボイスチェンジャコード
  • ・DMA使用型ボイスチェンジャ――DMAを使ってみよう
    • ・DMAの使い方
    • ・ボイスチェンジャにDMAを搭載する(C5402DSK版)
    • ・ボイスチェンジャにDMAを搭載する(C6211DSK版)
  • ・FFT搭載型ボイスチェンジャ――デジタル信号処理ライブラリーを使ってみよう
    • ・ライブラリーの活用
    • ・複素FFTライブラリーを使って関数fft()を作る
    • ・関数を実行するタイミング
    • ・問題点-「時間」を考える

第9章 オブジェクトベース・プログラミング(DSP/BIOS)

  • ・組み込みシステムとオブジェクトベース・プログラミング
  • ・オブジェクトベース・プログラミングとは
    • ・手続き型プログラミングとオブジェクトベース・プログラミング
    • ・論理的なまとまりを持ったデータはまとめる
    • ・データ構造と手続きをまとめる
    • ・オブジェクトの隠蔽とインターフェース
  • ・オブジェクトの御利益――オブジェクトベース・プログラミングのススメ
  • ・オブジェクトベース・プログラミングを体験しよう――DSP/BIOS
    • ・LOGオブジェクトの構造
    • ・オブジェクトの作成
    • ・「myLog」にアクセスするプログラム「Hello my Object!」
    • ・「Hello my Object!」を実行する
  • ・こらむ MEMオブジェクトとコマンドファイル

第10章 リアルタイムシステム解析(DSP/BIOS)

  • ・リアルタイムシステムのデバッグ
    • ・リアルタイムシステム解析の難しさ
    • ・リアルタイムシステム解析の方法
  • ・リアルタイムシステムの時間の計測
    • ・CLKマネージャ
    • ・CLK_gethtime()
    • ・STSオブジェクト
  • ・トレースコントロール

第11章 リアルタイムスケジューリング(DSP/BIOS)

  • ・論理的にも正確なシステム
  • ・スケジューラ
    • ・スケジューラの形式
    • ・DSP/BIOSのスケジューラ
    • ・スケジューラを使ったシステムへの移行(パラダイムシフト)
  • ・スケジューラを使ったボイスチェンジャ
    • ・オブジェクトベース版のボイスチェンジャ
    • ・HWIオブジェクトの戦略(HWIオブジェクトの使い方)
    • ・スケジューラ利用型ボイスチェンジャの構成
    • ・Execution Graphを使おう:オブジェクトの動きを視覚化するツール
    • ・まとめ:スケジューラ搭載システムの優位性
  • ・こらむ システムの表記法

第12章 リアルタイム同期(DSP/BIOS)

  • ・実行順序のコントロール
  • ・リソースの共有(クリティカルセクション)
  • ・mailboxを利用したボイスチェンジャ

第13章 ホストとターゲット間のリアルタイムデータ通信(DSP/BIOS)

  • ・リアルタイム・データ・エクスチェンジ(RTDX)
    • ・RTDXオブジェクトの作り方・使い方
    • ・ExcelとDSP間のデータ通信

付録

  • ・付録A Code Composer Studio便利帳
    • ・オンラインヘルプ
    • ・自動ロードオプション
    • ・ワークスペースの保存(ウィンドウの状態を保存する)
    • ・GEL(General Extension Language)
    • ・FILE I/O機能
    • ・プロファイル機能(パフォーマンスの測定)
    • ・ショートカット・キーの設定
    • ・ブックマーク
    • ・カラムエディタ
    • ・カギ括弧マッチング機能
    • ・シンボルの#define
    • ・アニメーション機能
    • ・アセンブラとC言語のMix表示
  • ・付録B C5402 DSP Starter kit
    • ・メモリーマップ
    • ・SRAM使用上の諸注意
  • ・付録C C6211DSP Starter kit
    • ・メモリーマップ
    • ・内部メモリー/キャッシュ
  • ・付録D DMAの使い方
    • ・DMAの基礎知識
    • ・C5402のDMA
    • ・C6211のDMA
  • ・付録E DSP関連のホームページ
  • ・付録F 販売特約店

索引