迷走の果て・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

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

MT3608モジュールのテスト Apr 30, 2017
BME280モジュールを使った温度・湿度・気圧計(2)DSO Shellを使って動作電流を測る Apr 23, 2017
BME280モジュールを使った温度・湿度・気圧計 Apr 23, 2017
DSO Shell(2)電源 Apr 16, 2017
小学一年生5月号付録 ドラえもん こえピアノ Apr 14, 2017
DSO Shell(1) Apr 13, 2017
非接触温度センサMLX90614を試す(6)プラケースに入れる Apr 03, 2017
アナログフィルタ Mar 28, 2017
非接触温度センサMLX90614を試す(5)Arduino pro miniを使ってみる Mar 19, 2017
非接触温度センサMLX90614を試す(4)耳内温を測ってみる。 Mar 12, 2017

全記事表示リンク

全ての記事を表示する

ブログリンク

リンク

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

月別アーカイブ

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)
電子工作 (391)
HX711 (2)
ACS712 (6)
数学 (6)
パソコン (12)
PLC (14)
未分類 (39)
ブログ関係 (20)
スカイプ (37)
ロボット (1)
LTSpice (8)
OCXO (0)
arduino (28)
maxima (1)
フランクリン発振回路 (3)
GPS (3)
DTMF (1)
Linux (1)
KOMAINO (7)

タグリスト

最近のコメント

最近のトラックバック

メールフォーム

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

検索フォーム

アクセス

RSSリンクの表示

フリーエリア

FC2Ad

まとめ

Template by たけやん