- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
使用するデバイスはPSoC4100Sです。
Smart I/OにPWM信号と2つのデジタル信号を入力させます。
出力は2つのPWM信号です。入力した2つのデジタル信号に応じてPWM信号を出力するか、マスクするかを決定します。
要はAND回路のような働きをさせたいです。
この際、デジタル信号はソフトウェアで切り替えたいのですが、TCPWMブロックを使う以外で何か方法がありますでしょうか。
LUT0とLUT1の設定は同じです。
(6/18追記)LUTの設定が間違っていたので修正しました。
解決済! 解決策の投稿を見る。
- タグ:
- smart io
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
下記のLUT設定でテストできますか?
制御信号はGPIO側で、DATA側ではないことに注意してください。
Data0はPWM信号、gpio0とgpio1は制御信号、gpio2とgpio3は出力信号です。 LUT2とLUT3はロジック制御に使用されます。
Regards,
Nada
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
少しディジタルコンポーネントは増えてしまいますが、Digital Virtual MuxとLogic Low, Logic High コンポーネントを利用してdata1, data2のソフトウェア制御は可能になります。
ただ、いただいている質問の認識が間違っているかもしれないので、ぜひ追加でご質問ください。
よろしくお願い致します。
Hirotaka Takayama
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
LUTの設定が間違っていたので訂正いたしました。
私がやりたいことは、data1、data2が"0"のときはgpio0、gpio1はLow出力。
data1が"1"のときgpio0からPWM出力、同様にdata2が"1"のときはgpio1からPWM出力です。
ご紹介いただいたデジタルロジックはソフトウェア上で変更できないと思っていましたが、
例えばLogic Low⇒Logic Highにソフトから変更する方法がありますでしょうか?
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
下記のLUT設定でテストできますか?
制御信号はGPIO側で、DATA側ではないことに注意してください。
Data0はPWM信号、gpio0とgpio1は制御信号、gpio2とgpio3は出力信号です。 LUT2とLUT3はロジック制御に使用されます。
Regards,
Nada
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
お返事が遅くなり申し訳ございません。
ご提案いただいた設定について質問があります。
gpio0,gpio1の制御信号は外部から入れるものということでしょうか?
(内部信号をソフトで変更は諦めるべきですか?)
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
回答が遅くなり大変申し訳ありません。
> gpio0,gpio1の制御信号は外部から入れるものということでしょうか?
はい、gpio0,gpio1の制御信号は外部から入れるものです。
この方法では、ファームウェア制御のデジタル出力ピンをgpio0とgpio1の入力ピンにワイヤで外部から接続します。
これで、ファームウェアでのデジタル出力ピンの変更はSmartIO LUTに反映されます。ただし、追加のGPIOを使用し、外部接続が必要です。
以上、よろしくお願いいたします。
Nada
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
承知しました。
ありがとうございました。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
It sounds like you want the PWM to be masked in real-time based on the two input "0" signals? The muxes don't seem to support this in hardware from what I can see. If you setup an interrupt controller ISR to handle the input data signals, and then enable/disable the PWM based on that, you might get similar functionality to an AND circuit.