迷走の果て・Tiny Objects

迷走する日々の覚え書きです。自分で分かってることは省略してますので、念のため。

PSoC デジタルブロック出力ラインでわかったこと

参考資料
PSoC™ Mixed Signal Array Final Data Sheet Document No. 38-12012 Rev.*D

データシート203ページより引用。

PSoCのデジタルブロックは4個で一組のグループになっています。
そのデジタルブロック出力ラインとして4本あります。
CY8C27443なら8個のデジタルブロックを持つので出力ラインとしては8本あります。

隣り合う出力ライン同士で16種類の論理演算が出来ます。
PSoC_Digital_Interconnect2.jpg


ちょっとわかりにくいのですが、下の図では出力をCounter24とPWM8とで切り替えています。
PSoC_Digital_Interconnect.jpg

通常はChip Editorで設定しますが、プログラムで変更したいことがあります。これには対応するレジスタを設定します。
演算は16種類あるので設定には4bit必要で出力ラインは4本あるので16bitすなわち設定レジスタは2byteになります。

レジスタ名はRDIxLTy
RDI:Row Digital Interconnectの略
LT:Lookup Tableの略
x:デジタルブロックグループ番号、CY8C27443なら0または1、デジタルブロックを16個もつCY8C29466なら0から3まで。
y:0または1。これは設定レジスタが2byte必要だからです。

デジタルブロック0ならRDI0LT0とRDI0LT1です。
RDI0LT0についてデータシート125ページから引用します。
RDI0LT1については126ページにありますが、同じ内容です。
RDIxLT0.jpg

先の例ではRDI0LT0の上位ニブルを操作すればいいとわかります。
次のようなmainプログラムで動作確認しました。
ポート0_0 にスイッチをつないで出力を切り替えています。
void main(void)
{
    PWM8_1_Start();
    Counter24_1_Start();
    while(1) {
        if ((PRT0DR & 0x01) == 0){  //Port_0_0 で切り替える
            RDI0LT0=(RDI0LT0 & 0x0f) | 0x30;
        }
        else {
            RDI0LT0=(RDI0LT0 & 0x0f) | 0x50;
        }
    }
}

関連記事
スポンサーサイト

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

この記事へのトラックバックURL
http://edycube.blog2.fc2.com/tb.php/742-239e5f82

 | HOME | 

文字サイズの変更

プロフィール

edy

最新記事一覧(サムネイル画像付き)

AD9833 DDSモジュールを試す(12) デバッグ 2018/05/20
充電式ツインファンをアマゾンで買いました。 2018/05/19
AD9833 DDSモジュールを試す(11) どうにかケースに納めた 2018/05/15
AD9833 DDSモジュールを試す(10) ロータリーエンコーダの変更 2018/05/13
久々のArduinoなのにOld Bootloader?? 2018/05/06
簡易交流電圧計の実験(7)アナログパネルメーターを付けてみる(2)アンプ追加 2018/04/27
簡易交流電圧計の実験(6)アナログパネルメーターを付けてみる。 2018/04/22
簡易交流電圧計の実験(5)ショットキーバリアダイオードに変更 2018/04/21
簡易交流電圧計の実験(4)周波数特性 2018/04/14
簡易交流電圧計の実験(3)パルスジェネレーターで周波数特性を測ってみる。やり直し 2018/04/06

全記事表示リンク

全ての記事を表示する

リンク

このブログをリンクに追加する

月別アーカイブ

05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  12  11  10  09  07  05  04  03  04  03  01  12  11  10  08  07  06  05  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  02  01  12  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  10  09  08  07  06  05  04  03  02  01 

カテゴリ

プログラミング (0)
freescale (1)
AVR (3)
テルミン (16)
緊急警報放送 (3)
78K (1)
PSoC (295)
地上デジタル放送 (2)
電子工作 (448)
HX711 (2)
ACS712 (6)
DDS (3)
数学 (6)
パソコン (12)
PLC (14)
未分類 (39)
ブログ関係 (20)
スカイプ (37)
ロボット (1)
LTSpice (8)
OCXO (0)
arduino (33)
maxima (1)
フランクリン発振回路 (3)
GPS (3)
DTMF (1)
Linux (1)
KOMAINO (7)
Android (1)

タグリスト

最近のコメント

最近のトラックバック

メールフォーム

名前:
メール:
件名:
本文:

検索フォーム

アクセス

RSSリンクの表示

ブログリンク

FC2Ad

まとめ

Template by たけやん