s32k146 基于MBDT在同一条SPI总线配置多个SPI从设备,SIMULINK报错

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

s32k146 基于MBDT在同一条SPI总线配置多个SPI从设备,SIMULINK报错

2,028件の閲覧回数
lsw
Contributor I

自开发一个控制器,用的MCU为S32K146  三条SPI总线都挂了多个SPI从设备。同一条SPI设备,存在每个从设备的时钟极性,相位,位宽不一致。这种情形在SIMULINK中根据不同的SPI从设备进行配置。SPI Reconfig模块用于同一总线上连接多个配置不同的从设备(如波特率、时钟极性/相位不同)。这个SPI Reconfig模块如何使用,有没SPI动态配置的示例。

タグ(1)
0 件の賞賛
返信
2 返答(返信)

1,975件の閲覧回数
mariuslucianand
NXP Employee
NXP Employee

Hello @lsw 

I understand in your use case that you need to reconfigure some of the settings for the SPI configuration transfer not only the PCS.

Unfortunately, the MBDT for S32K1 was not designed to do so, and there are no blocks to help you to support to do that.

However, there is a way, which involves using custom code insertion, a method which has been discussed in this article: https://community.nxp.com/t5/NXP-Model-Based-Design-Tools/How-to-use-your-own-C-code-in-our-Toolbox-...

It your case it is simpler than that. 

First you have to generate code for the first configuration you need for the SPI an to identify the generated code sequence as it can be seen below.

mariuslucianand_0-1756307015558.png

Then, you can duplicate the lpspi_master_config_t structure, and populate it with the settings you need for all the devices connected to the  SPI bus.

Each time you want to adjust the settings, you need to first call the 

LPSPI_DRV_MasterDeinit(uint32_t instance);

and then followed by the Init function with the required parameters

LPSPI_DRV_MasterInit(0, &lpspiMasterState0, &spiConfig0);

 

Hope this helps,

Marius

 

 

0 件の賞賛
返信

1,874件の閲覧回数
lsw
Contributor I
Hi Marius
When embedding custom C code in Simulink using the C caller method, we need to call the official SPI deinit function and SPI init functions. However, MATLAB compilation fails, indicating that the library function cannot be found and there is a path error. How can the path be set correctly? Additionally, since the MBDT package will also be used, how can these two components coexist and compile in Simulink?
waiting for your response and help thks!!!
0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-2149583%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3ES32K146%20%E3%81%AF%20MBDT%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E5%90%8C%E3%81%98%20SPI%20%E3%83%90%E3%82%B9%E4%B8%8A%E3%81%AB%E8%A4%87%E6%95%B0%E3%81%AE%20SPI%20%E3%82%B9%E3%83%AC%E3%83%BC%E3%83%96%20%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%82%92%E6%A7%8B%E6%88%90%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%80%81SIMULINK%20%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2149583%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3E%3CP%3ES32K146%20MCU%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9F%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%E3%82%92%E9%96%8B%E7%99%BA%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E8%A4%87%E6%95%B0%E3%81%AESPI%E3%82%B9%E3%83%AC%E3%83%BC%E3%83%96%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%81%8C3%E3%81%A4%E3%81%AESPI%E3%83%90%E3%82%B9%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E5%90%8C%E3%81%98SPI%E3%83%90%E3%82%B9%E4%B8%8A%E3%81%A7%E3%80%81%E5%90%84%E3%82%B9%E3%83%AC%E3%83%BC%E3%83%96%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%81%AF%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E6%A5%B5%E6%80%A7%E3%80%81%E4%BD%8D%E7%9B%B8%E3%80%81%E3%83%93%E3%83%83%E3%83%88%E5%B9%85%E3%81%8C%E7%95%B0%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82Simulink%E3%81%A7%E3%81%AF%E3%80%81%E7%95%B0%E3%81%AA%E3%82%8BSPI%E3%82%B9%E3%83%AC%E3%83%BC%E3%83%96%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%81%AB%E5%9F%BA%E3%81%A5%E3%81%84%E3%81%9F%E8%A8%AD%E5%AE%9A%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%A7%E3%81%99%E3%80%82SPI%20Reconfig%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%81%AF%E3%80%81%E7%95%B0%E3%81%AA%E3%82%8B%E8%A8%AD%E5%AE%9A%EF%BC%88%E4%BE%8B%EF%BC%9A%E7%95%B0%E3%81%AA%E3%82%8B%E3%83%9C%E3%83%BC%E3%83%AC%E3%83%BC%E3%83%88%E3%80%81%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E6%A5%B5%E6%80%A7%EF%BC%8F%E4%BD%8D%E7%9B%B8%EF%BC%89%E3%82%92%E6%8C%81%E3%81%A4%E8%A4%87%E6%95%B0%E3%81%AE%E3%82%B9%E3%83%AC%E3%83%BC%E3%83%96%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%82%92%E5%90%8C%E4%B8%80%E3%83%90%E3%82%B9%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%81%AESPI%20Reconfig%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%81%AF%E3%81%A9%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F%E5%8B%95%E7%9A%84%E3%81%AASPI%E8%A8%AD%E5%AE%9A%E3%81%AE%E4%BE%8B%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%EF%BC%9F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2167921%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20s32k146%20%E5%9F%BA%E4%BA%8EMBDT%E5%9C%A8%E5%90%8C%E4%B8%80%E6%9D%A1SPI%E6%80%BB%E7%BA%BF%E9%85%8D%E7%BD%AE%E5%A4%9A%E4%B8%AASPI%E4%BB%8E%E8%AE%BE%E5%A4%87%EF%BC%8CSIMULINK%E6%8A%A5%E9%94%99%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2167921%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%E3%83%9E%E3%83%AA%E3%82%A6%E3%82%B9%3CBR%20%2F%3EC%20%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E6%96%B9%E6%B3%95%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%20Simulink%20%E3%81%AB%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%20C%20%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E5%9F%8B%E3%82%81%E8%BE%BC%E3%82%80%E5%A0%B4%E5%90%88%E3%81%AF%E3%80%81%E5%85%AC%E5%BC%8F%E3%81%AE%20SPI%20deinit%20%E9%96%A2%E6%95%B0%E3%81%A8%20SPI%20init%20%E9%96%A2%E6%95%B0%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E3%81%9F%E3%81%A0%E3%81%97%E3%80%81MATLAB%20%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%AB%E3%81%AF%E5%A4%B1%E6%95%97%E3%81%97%E3%80%81%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E9%96%A2%E6%95%B0%E3%81%8C%E8%A6%8B%E3%81%A4%E3%81%8B%E3%82%89%E3%81%9A%E3%80%81%E3%83%91%E3%82%B9%20%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E3%81%82%E3%82%8B%E3%81%93%E3%81%A8%E3%82%92%E7%A4%BA%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%83%91%E3%82%B9%E3%82%92%E6%AD%A3%E3%81%97%E3%81%8F%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%81%84%E3%81%84%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%3F%E3%81%95%E3%82%89%E3%81%AB%E3%80%81MBDT%20%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%82%82%E4%BD%BF%E7%94%A8%E3%81%95%E3%82%8C%E3%82%8B%E3%81%AE%E3%81%A7%E3%80%81%E3%81%93%E3%82%8C%E3%82%89%202%20%E3%81%A4%E3%81%AE%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88%E3%82%92%20Simulink%20%E3%81%A7%E5%85%B1%E5%AD%98%E3%81%95%E3%81%9B%E3%81%A6%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%AB%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%3F%3CBR%20%2F%3E%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AE%E8%BF%94%E7%AD%94%E3%81%A8%E5%8A%A9%E3%81%91%E3%82%92%E5%BE%85%E3%81%A3%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86!!!%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2159262%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20s32k146%20%E5%9F%BA%E4%BA%8EMBDT%E5%9C%A8%E5%90%8C%E4%B8%80%E6%9D%A1SPI%E6%80%BB%E7%BA%BF%E9%85%8D%E7%BD%AE%E5%A4%9A%E4%B8%AASPI%E4%BB%8E%E8%AE%BE%E5%A4%87%EF%BC%8CSIMULINK%E6%8A%A5%E9%94%99%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2159262%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F253658%22%20target%3D%22_blank%22%3E%40lsw%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AECASE%E3%81%A7%E3%81%AF%E3%80%81PCS%20%E3%81%A0%E3%81%91%E3%81%A7%E3%81%AA%E3%81%8F%20SPI%20%E6%A7%8B%E6%88%90%E8%BB%A2%E9%80%81%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%81%AE%E4%B8%80%E9%83%A8%E3%82%92%E5%86%8D%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8B%E3%81%93%E3%81%A8%E3%82%92%E7%90%86%E8%A7%A3%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%E6%AE%8B%E5%BF%B5%E3%81%AA%E3%81%8C%E3%82%89%E3%80%81S32K1%20%E7%94%A8%E3%81%AE%20MBDT%20%E3%81%AF%E3%81%9D%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E8%A8%AD%E8%A8%88%E3%81%95%E3%82%8C%E3%81%A6%E3%81%8A%E3%82%89%E3%81%9A%E3%80%81%E3%81%9D%E3%82%8C%E3%82%92%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%81%99%E3%82%8B%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%0A%3CP%3E%E3%81%9F%E3%81%A0%E3%81%97%E3%80%81%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%20%E3%82%B3%E3%83%BC%E3%83%89%E6%8C%BF%E5%85%A5%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%8C%E3%81%82%E3%82%8A%E3%80%81%E3%81%93%E3%81%AE%E6%96%B9%E6%B3%95%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%81%AF%E3%80%81%E6%AC%A1%E3%81%AE%E8%A8%98%E4%BA%8B%E3%81%A7%E8%AA%AC%E6%98%8E%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%3A%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2FNXP-Model-Based-Design-Tools%2FHow-to-use-your-own-C-code-in-our-Toolbox-Battery-Management%2Fta-p%2F1119004%22%20target%3D%22_blank%22%3Ehttps%3A%2F%2Fcommunity.nxp.com%2Ft5%2FNXP-Model-Based-Design-Tools%2FHow-to-use-your-own-C-code-in-our-Toolbox-Battery-Management%2Fta-p%2F1119004%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AECASE%E3%81%AF%E3%81%9D%E3%82%8C%E3%82%88%E3%82%8A%E3%82%82%E7%B0%A1%E5%8D%98%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%E3%81%BE%E3%81%9A%E3%80%81SPI%20%E3%81%AB%E5%BF%85%E8%A6%81%E3%81%AA%E6%9C%80%E5%88%9D%E3%81%AE%E6%A7%8B%E6%88%90%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E3%81%9D%E3%81%97%E3%81%A6%E3%80%81%E4%BB%A5%E4%B8%8B%E3%81%AB%E7%A4%BA%E3%81%99%E3%82%88%E3%81%86%E3%81%AB%E3%80%81%E7%94%9F%E6%88%90%E3%81%95%E3%82%8C%E3%81%9F%E3%82%B3%E3%83%BC%E3%83%89%20%E3%82%B7%E3%83%BC%E3%82%B1%E3%83%B3%E3%82%B9%E3%82%92%E8%AD%98%E5%88%A5%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22mariuslucianand_0-1756307015558.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22mariuslucianand_0-1756307015558.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F354403iA9E7038B327FC9BD%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22mariuslucianand_0-1756307015558.png%22%20alt%3D%22mariuslucianand_0-1756307015558.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%E6%AC%A1%E3%81%AB%E3%80%81lpspi_master_config_t%20%E6%A7%8B%E9%80%A0%E4%BD%93%E3%82%92%E8%A4%87%E8%A3%BD%E3%81%97%E3%80%81SPI%20%E3%83%90%E3%82%B9%E3%81%AB%E3%82%B3%E3%83%8D%E3%82%AF%E3%83%86%E3%83%83%E3%83%89%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%81%AB%E5%BF%85%E8%A6%81%E3%81%AA%E8%A8%AD%E5%AE%9A%E3%82%92%E3%81%9D%E3%81%93%E3%81%AB%E5%85%A5%E5%8A%9B%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%E8%A8%AD%E5%AE%9A%E3%82%92%E8%AA%BF%E6%95%B4%E3%81%99%E3%82%8B%E3%81%9F%E3%81%B3%E3%81%AB%E3%80%81%E3%81%BE%E3%81%9A%3C%2FP%3E%0A%3CP%3ELPSPI_DRV_MasterDeinit(uint32_t%20%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9)%3B%3C%2FP%3E%0A%3CP%3E%E3%81%9D%E3%81%97%E3%81%A6%E3%80%81%E5%BF%85%E8%A6%81%E3%81%AA%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%82%92%E6%8C%81%E3%81%A4Init%E9%96%A2%E6%95%B0%E3%81%8C%E7%B6%9A%E3%81%8F%E3%80%82%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22cpp%20variable%20tk%20traceable%22%3ELPSPI_DRV_MasterInit%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22cpp%20traceable%22%3E(%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22cpp%20number%20tk%20traceable%22%3E0%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22cpp%20traceable%22%3E%2C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22cpp%20operator%20tk%20traceable%22%3E%26amp%3B%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22cpp%20variable%20tk%20traceable%22%3ElpspiMasterState0%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22cpp%20traceable%22%3E%2C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22cpp%20operator%20tk%20traceable%22%3E%26amp%3B%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22cpp%20variable%20tk%20traceable%22%3EspiConfig0%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22cpp%20traceable%22%3E)%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22cpp%20traceable%22%3E%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CSPAN%20class%3D%22cpp%20traceable%22%3E%E3%81%8A%E5%BD%B9%E3%81%AB%E7%AB%8B%E3%81%A6%E3%81%B0%E5%B9%B8%E3%81%84%E3%81%A7%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22cpp%20traceable%22%3E%E3%83%9E%E3%83%AA%E3%82%A6%E3%82%B9%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E