cancel
Showing results for 
Search instead for 
Did you mean: 

Knowledge Base Articles

PSoC 6 MCUデバイスのファームウェアを介したSPI I/Oピンの制御 - KBA226844 - Community Translated (JA)

ChaitanyaV_61
Employee

PSoC 6 MCUデバイスのファームウェアを介したSPI I/Oピンの制御 - KBA226844 - Community Translated (JA)

Community Translated by  NoTa_4591161          Version: **

質問:

PSoC®6 MCUデバイスのSPIピン(CLKMOSIMISOSS)は、ファームウェアのランタイム中にどのような制御ができますか

回答:

SCB_SPIコンポーネントをTopDesignに配置した後、SPIマスター/スレーブ機能をその場で無効/有効にすることができます。以下のソリューションはファームウェアのピンを制御する手順を提供し、コードスニペットはAPIを使用して推奨されるソリューションを実装しています。

ファームウェアのソリューション:

一般に、ピンはファームウェアまたはハードウェアのいずれかで制御できます。デフォルトでは、すべてのSPI I/OピンはSCBハードウェアブロックによって制御されます。そのため、ファームウェアで制御できるようにするには、SCBブロックからSPIピンを切断する必要があります。

次の手順に従って、SPI I/OピンとSPI SCB間のハードウェア接続を切断し、ファームウェアで制御を有効にします。

  1. SPI I / Oピンに対応HSIOM_PRTx_PORT_SELxレジスタのビットに「ビット0」を書きみます
  2. GPIO_PRTx_CFGレジスタを更して、SPI I / Oピンの動モドを設定します

詳細については、 Architecture Technical Reference ManualおよびRegister Technical Reference ManualI/Oシステム(HSIOM)を参照してください。次のコードスニペットを使用して、APIを使用して推奨されるソリューションを実装できます[SPI CLKピンをP10.2にすることを検討してください。これはファームウェアで制御されます]

コードスニペット:

// デフォルトのSCB_SPI構成設定を格納する変数

uint32 temp;

// アプリケーションが必要とする新しいドライブモード設定を格納する変

// 設定する駆動モードが高インピーダンスの場合drive_mode = 0xFFFFF0FF

uint32 drive_mode;

// SCB_SPIHSIOM構成を保存します

temp = CY_GET_REG32(CYREG_HSIOM_PRT10_PORT_SEL0);

// SPI CLKピンをファームウェアで制御されるように設定しま

CY_SET_REG32 (CYREG_HSIOM_PRT10_PORT_SEL0, temp & 0xFFE0FFFF);

// SPI CLKピンの駆動モードを設定しま

CY_SET_REG32 (GPIO_PRT10_CFG, drive_mode);

/ /デフォルトのSPI機能をロードします(つまりCLKピンがSCB_SPIードウェアブロックに接続されています

CY_SET_REG32 (CYREG_HSIOM_PRT10_PORT_SEL0, temp)

注意:

すべてのSCBブロックとTCPWMなどの他の周辺機器もHSIOMとドライブモードレジスタを変更することにより、ファームウェアで制御できます

0 Likes
Version history
Revision #:
1 of 1
Last update:
‎Jun 09, 2020 05:30 AM
Updated by:
 
Contributors