Community Translated by YoTa_1693656 Version: **
Translation - English: Nature of Clock Phase Jitter in DDR/QDR™ Sync SRAM – KBA89153
質問:
DDR / QDR™Sync SRAMのtKC Var(クロック位相ジッター)で指定されているジッターのタイプは何ですか?
回答:
QDRコンソーシアムは、入力クロックの位相ジッターをcycle-to-cycleジッターとして正式に指定しています。
cycle-to-cycleジッターは、隣接する2つのクロックサイクル間のクロック周期測定値の変化を測定します。数学的には、サイクル間ジッタは次のように表すことができます。
Tcycle(n)–Tcycle(n+1)
ここで、Tcycle(n)およびTcycle(n+1)は、制御されたエッジで測定された2つの隣接するサイクルです。
入力クロックKのさまざまなサイクルを示す次の図を考えます。
QDR/DDR Sync SRAMが250 MHzで動作するとします。
その場合、Kクロック周期は理想的には4 nsにする必要があります。
・ジッタがゼロの場合、Tcycle(n)= Tcycle(n+1)= 4 ns
・Tcycle(n)=4 nsおよびTcycle(n+1)=3.9 nsの場合、ジッターは(4ns-3.9ns=0.1nsになります。
この計算されたジッタは、適切な動作のためにデータシートで指定されたtKC Varパラメータ以下である必要があります。
Show LessCommunity Translated by MoTa_728816 Version: **
Translation - English: Forcing the Channel Number to a DMA Component of PSoC® 3 and PSoC 5LP - KBA203653
質問:
PSoC Creator™ で DMA を使用しているプロジェクトをコンパイルすると (0~31の)チャネル番号がランダムに生成されて .cydwr ファイルの DMA タブに表示されます。PSoC Creator で DMA のチャネル番号を明示的に指定することは可能でしょうか?
回答:
はい、DMA コンポーネントに明示的にチャネル番号を指定することは可能です。
通常、コンポーネントのプレースメントを明示指定する場合には、PSoC Creator プロジェクト .cydwr ファイルの “Directives” タブの下にプレースメント指定を追加します (例: KBA85474 参照)。しかし DMA のチャネル番号の指定はこの方法では行えません。
チャネル番号を明示指定するのには以下の手順に従ってください:
Community Translated by NoTa_4591161 Version: *A
Translation - English: Maximum Overlay Thickness for CapSense® - KBA82812
質問:
Capsenseセンサーのオーバーレイの厚みの最大値はいくつですか?
回答:
オーバーレイの厚さについては、特にスペックはありません。
下記の要因に記載されている材料、厚みから選択する必要があります。
・Capsenseシステムの感度は、オーバーレイの厚みと材料に大きく影響されます
Cfinger = (εo εr A) / D
ここで:
εo = 自由空間誘電率
εr = オーバーレイの誘電率
A = 指とセンサーパッドのオーバーレイの領域
D = オーバーレイの厚さ
・より厚いオーバーレイでは指の容量が下がり、指のタッチ感度を下げることになります。 厚いオーバーレイは、寄生容量を増加します。しかし、オーバーレイはESD対策のためにある程度の厚みは必要となります。ボタンのサイズを大きくしてオーバーレイを厚くすることで、指の感度を補うことができます。以下の表は、各種素材に対するオーバーレイの最小の厚みになります。
詳細については、こちらを参照ください Capsense Getting Started guide.
Show LessCommunity Translated by MoTa_728816 Version: **
Translation - English: Using USBIOs as GPIOs in PSoC® 3 and PSoC 5LP - KBA92716
質問:
USBIO (D+: P15[6[ と D-: P15[7]) を GPIO として使用するのにはどうしたら良いですか?
回答:
USBIO がサポートするドライバモードは 'Open Drain, Drives Low' と 'Strong Drive' だけです。もしお使いになる GPIO がこのどちらかのモードであれば、USBIO (D+: P15[6[ と D-: P15[7]) を PSoC Creator™ の cydwr 内の Pins タブで、GPIO に設定することが可能です。もしお使いになる GPIO のモードがこれらのモードではない場合、P15[6], P15[7] ピンは GPIO にアサインすることが出来ません。
Show LessCommunity Translated by HiOm_1802421 Version: **
Translation - English: How to Read ECC ON/OFF Status in HyperFlash - KBA228047
各16バイトのECCページに対するECCの有効/無効状態を読み取るためのこれらの手順は、HyperFlash™ データシート 001-99198 Rev. *M に基づきます。
2バイトのECCステータスレジスタ(ECCSR)には、特定の16バイトECCページに対して、ECCロジックがオンになっているかどうかを示す、1ビットのECCSR[0] = ECCD1が含まれています。
言い換えると、ECCが無効になっている場合、そのハーフページでマルチパス プログラムが発生したことがわかります。一方、ECCが有効になっている場合、そのハーフページでシングルパス プログラムが発生したかもしれません。
ECCSRを読み取るには、ECCステータスASO(Address Space Overlay)を入力する必要があります。ASO入力コマンドとASO終了コマンド(A.K.A. ソフトウェア リセット)があります。
以下にECC ASOの入力コマンドと終了コマンドを示します。
フラッシュがECC ASO状態に入ると、特定のアドレスの全ての読み取りは、読み取り位置のワード アドレスから派生したページ アドレスのECCSR値を返します。つまり、ECC ASO状態になると、ECCSRを読み取るために特別なコマンドは必要ありません。
したがって、RAは16バイト = 8ワードにアラインされたECCページ内の任意のワード アドレスにすることが出来ます。ハードウェアは、ユーザーが指定したアドレスを自動的にマスクしてページアドレスを取得します。
ECCSR読み取りの実行中に、ソフトウェアでタイミング遅延を管理する必要はありません。通常のHyperBus読み取りタイミングが適用されます。
Show LessCommunity Translated by MoTa_728816 Version: **
Translation - English: Opamp Input and Output Pins and Routing in a PSoC® 3/ PSoC 5LP Design - KBA203632
質問:
PSoC® 3/ PSoC 5LP のデザインにおいてオペアンプの専用ピンを使用する場合に何に気を付けたら良いでしょうか?
回答:
4 つの未使用のオペアンプはそれぞれの入力に配線することのできる2つの専用ピンを持っています。しかし、これはオペアンプの入力を配線できるのがこれらのピンだけという意味ではありません。オペアンプの入力はアナログ配線を使用して他のピンからも接続することが可能です。
一方、オペアンプの出力は専用の固定ピンへの接続となっています。オペアンプが4つあるデバイスでは、P0[0], P3[6], P0[1], P3[7] ピンがオペアンプの専用出力ピンになっています。オペアンプの出力は常にその専用ピンへ接続されることになります。オペアンプの出力が専用出力ピン以外のピンに接続される場合、専用出力ピンも選択された他のピンと同時にオペアンプ出力に接続されます。
オペアンプの専用出力ピンが使用されない場合でも、そのアナログ配線構造はオペアンプの出力を他のピンに配線するために使用されることにご注意ください。
これはスイッチ抵抗と全体抵抗を含むことになりオペアンプのドライブ能力を低減させます。アプリケーションにバンド幅/スルーレートの制限がある場合には、この点に注意を払う必要があります。
Show LessCommunity Translated by MoTa_728816 Version: **
Translation - English: URL and Port Number for Cypress Update Manager - KBA91802
質問:
Cypress Update Manager からのアップデートを可能にするためにはどのサイト/ポート番号を許可する必要がありますか?
回答:
PC にインストールされた Cypress アプリケーションのアップデートを許可するためには
プロキシサーバーまたはファイアウォールが下記の Cypress Update Manager の URL とポート番号を許可するように設定してください。
URL: http://updates.cypress.com
Port number: 80
Show LessCommunity Translated by MoTa_728816 Version: **
Translation - English: Correct Method to Set the IDAC Current - KBA213666
質問:
IDAC の分解能は 1 μA / bit です、下記のコードを使用しています。出力電流は期待されている 200 μA ではなく 120 μA になっています。何が原因でしょうか?
"void main()
{ IDAC_1_SetValue(200);
IDAC_1_Start(); ..... }. "
回答:
IDAC の設定は IDAC_1 ユーザーモジュールの開始後に行わなくてはなりません。そうしないと期待している 200 μA を得ることが出来ません。カスタマイザにおいて、デフォルトの分解能 1 μA/bit は 120 に設定されています、結果として 120 μA の出力電流となります。
初期設定での電流を 200 μA にしたい場合には、以下の図のようにカスタマイザの初期値に 200 を入力してください。もう一つの方法は Start() API の後に SetValue() API を置くことですが、この場合少し遅延が発生する可能性があります。
PSoC 4 IDAC コンフィグレーション
PSoC 3/5 IDAC コンフグレーション
Community Translated by MoTa_728816 Version: **
Translation - English: USBFS Suspend and Resume Functionality - KBA210675
質問: USBFS の サスペンド (Suspend) - レジューム (Resume) 機能はどのように実装したら良いでしょうか?
回答:
USB デバイスはバス上に 3 ms 以上動きが無い場合サスペンドに入ります。そしてさらに 7 ms 後には指定されたサスペンド電流以上の消費を抑えるためにシャットダウンします。これはバスの動きが停止してから 10 ms 以降、デバイスは規定されたサスペンド電流のみを消費するようにしなければならないということです。以下のコードは USBFS のサスペンド - レジューム機能の実装方法を示します。
if(!USBFS_CheckActivity())
{
noActivityCount++;
if(noActivityCount == USB_SUSPEND_TIME_TICKS)
{
PSOC_APP_LED_Write(1); // デバイスがサスペンドに入ったかを確認する。
USBFS_Suspend();
CyPmSaveClocks();
CyPmSleep(PM_SLEEP_TIME_NONE, PM_SLEEP_SRC_PICU); /* PSoC 3/5LP はスリープモードに入る */
CyPmRestoreClocks();
USBFS_Resume();
init =1; // エンドポイントの再度初期化 - 注意 1。
noActivityCount = 0;
PSOC_APP_LED_Write(0); // LED で状態を確認する。
}
}
else
{
noActivityCount = 0;
}
注意 1: ウェイクアップ後、エンドポイントを再度有効にする必要があります;もし Mode 3/2 に入ってた場合、DMAの再設定も必要となります。
注意 2: コードスニペットでは USBFS コンポーネントは “USBFS” という名称であることを仮定しています。
以下はアルゴリズム:
ファームウェアは USB の動作の状態をチェックします;もし 3 ms 間動作が無かったら、サスペンドが発生したことが分かります。ファームウェアが最低 3 ms の間待つように、USB_SUSPEND_TIME_TICKS の値を適切に保ちます。その後、ファームウェアは省電力スリープモードに入ります。レジュームが発生すると、ポートインタラプトコントロールユニット (PICU) の割込みによりウェイクアップして、USBFS コンポーネントの再設定とエンドポイントの再度初期化を行います (init 変数の状態を確認してファームウェアの中で行われます)。
Show LessCommunity Translated by NoTa_4591161 Version: **
Translation - English: Using emWin's QR-Code functions – KBA231613
SEGGER emWinライブラリをPSoC®デバイスで使用して、ディスプレイにGUI要素を作成できます。 バージョン5.34では、ユーザーがGUIディスプレイでQRコードを簡単に作成できる機能が追加されました。
それらは4つの関数へのAPI呼び出しを単純化しました:
詳細については、emWinユーザーガイドおよびリファレンスマニュアルを参照してください。
GUIのプールメモリへのRAM割り当て:
QRコードの生成には、かなりのRAMリソースが必要になる場合があります。より多くのRAMを必要とする要因は次のとおりです。
十分なGUIRAMメモリを使用できるようにするには、GUIConf.hで#defineGUI_NUMBYTESを設定します。Seggerは、この値を少なくとも0x10000に設定することをお勧めします。これにより、ライブラリ全体にGUIプールRAMメモリが割り当てられ、QRコードや必要に応じて他のGUI機能に使用されます。
このRAMの量がアプリケーションに必要な量を超える場合は、提供できる最大量を割り当てます。次のステップとして、開発フェーズで、できるだけ多くのさまざまなユースケースを表示してアプリケーションを実行します。GUI_ALLOC_GetMaxUsedBytes()関数を含めて、アプリケーションで使用されているGUIRAMの実行時ピークカウントを取得します。GUI_NUMBYTESの値は、この最大値(プラス予防措置として10%)で修正することができます。
注: 通常、emWinライブラリに十分なRAMが割り当てられていない場合、SysLibフォルトでクラッシュする可能性があります。
コード例:
#include "GUI.h"
/* この例は、ディスプレイの右下隅に配置する単純なQRコード生成です。
「モジュール」は、最小の論理要素のQR定義です。「モジュール」のサイズは、使用されたピクセル数(1次元)です。このサイズは、「X」と「Y」の両方の大きさに使用されます。
*/
GUI_HMEM qrCode = GUI_QR_Create(
“This is a text string. It could be a URL address”,
// QRコードに使用されるUTF-8テキスト
2, //「モジュール」サイズの1次元ピクセルサイズを定義します。
GUI_QR_ECLEVEL_H, // ECCレベル。レベルが高いほど、エラー訂正が向上します。
0 ); // QRの「バージョン」エンコーディングスタイル。値0は、必要なものを自動検出します。
/* QRCodeが仮想的に作成されたので、その大きさの情報を取得します。GUI_QR_GetInfo()を使用します。*/
GUI_QR_INFO pInfo;
GUI_QR_GetInfo(
qrCode, // 描画するQRコードのハンドル。
&pInfo); // QR情報構造のメモリへのポインタ。
/* QR情報を使用して、1次元のQRCodeのサイズ(pInfo.Size)を決定します。右下隅に配置するには、ディスプレイのXサイズとYサイズから差し引きます */
UI_QR_Draw(
qrCode, //描画するQRコードのハンドル。
LCD_GetXSize()-pInfo.Size, //ディスプレイのXサイズからビットマップの1次元サイズを減算します。
LCD_GetYSize()-pInfo.Size); //ディスプレイのYサイズからビットマップの1次元サイズを減算します。
GUI_QR_Delete(qrCode); //描画するQRコードの処理。これはもう必要ありません。割り当てられたGUIRAMを解放します。
/* 使用しているディスプレイ(EINKなど)によっては、更新機能が必要になる場合があります。その他は自動的に更新される場合があります。*/
/* ディスプレイバッファデータをディスプレイに送信します */
UpdateDisplay(CY_EINK_FULL_4STAGE, true); //表示を更新します。
SeggerのWikiページの例を参照してください:https://wiki.segger.com/QR_Code_(Sample)
添付のPSoCCreator™ およびModusToolbox® プロジェクトは、さまざまなGUI_QR_Create()パラメータの設定の表示効果を示しています。
Show Less