RT1064 MQS Driver Circuitary

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

RT1064 MQS Driver Circuitary

5,581 次查看
zhirongyang
Contributor I

@kerryzhou 

Hi Kerry,

  We designed a new project using RT1064 MQS with external speaker amplifier to drive a speaker, but  the sound doesnot sound good, from below link, it seems the MQS need external filter circuit, do you have the referce hardware design?

What's the board you are using to drive the speaker for below demo?

 

https://community.nxp.com/t5/i-MX-RT/How-to-use-MQS-on-trial/m-p/1154048

0 项奖励
回复
15 回复数

5,579 次查看
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @zhirongyang 

This is the recommended MQS hardware:

MQS hardware.jpg

You need to add the external circuit by yourself.

Best Regards,

Kerry

0 项奖励
回复

5,575 次查看
zhirongyang
Contributor I

Hi @kerryzhou 

  I tried in-series a 220uF cap in between RT1064 and Speaker Amplifier, but the waveform(after 220uF cap) is PWM like instead of analog waveform, is it normal?

  Do I need addition RC circuit after 220uF cap?

  From your video, the MQS is output from RT106X demo board, to another board(what's this board? do you have the schematic), then direct to speaker?

zhirongyang_0-1632906159757.png

 

0 项奖励
回复

5,567 次查看
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @zhirongyang ,

   The other board is our internal validation board, I just use that board's MQS driver circuit, the circuit I have share with you in the last reply. The schematic is from my testing validation board.

  You can use 74vc244, the input is from MQS pins, which don't need to add RC circuit.

   You also can find my 74 circuit is very simple, you even can find the chip and solder one, external circuit is very easy.

 

Wish it helps you!

Best Regards,

Kerry

 

   

0 项奖励
回复

5,515 次查看
zhirongyang
Contributor I

@kerryzhouHi Kerry, thanks for your update, our software engineer have integrated your code, now I want to know how to play the music like your demo music?

0 项奖励
回复

5,511 次查看
kerryzhou
NXP TechSupport
NXP TechSupport

HI @zhirongyang ,

  Which code you have integrated?

  If you already get my MQS code, it should can play the music directly.

  Do you get my MQS code?

 

Best Regards,

Kerry

0 项奖励
回复

5,471 次查看
zhirongyang
Contributor I

@kerryzhou 

Can you please help to share your MQS code to us?

Is this MQS mode playing piano music just like your demo board?

0 项奖励
回复

5,464 次查看
kerryzhou
NXP TechSupport
NXP TechSupport

Hi  @zhirongyang ,

   Do you work for your company, if yes, please use your comany email create a nxp case instead of the public area, then I will send you the code through the case.

1. Open below SUPPORT site, click blue "Go to Tickets" in the middle.
http://www.nxp.com/support/support:SUPPORTHOME

2.Then you will be requested to Login, if you have no an account, please first Register with your business email.

3.After login, please "Create New Cases" button in the middle, then you can submit your question.

  In your case content, you can write assign to kerry zhou.

  Thanks a lot for your cooperation.

Best Regards,

Kerry

0 项奖励
回复

5,460 次查看
zhirongyang
Contributor I

@kerryzhou 

Case: 00430692 created by using company email account, I don't know how to @ you in the Case: 00430692.

0 项奖励
回复

5,451 次查看
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @zhirongyang 

  As I didn't get that case, so I give you the related source code directly, it is based on the sdk sai project.

   Please refer to the SDK code:

\SDK_2_10_0_EVK-MIMXRT1064\boards\evkmimxrt1064\driver_examples\sai\edma_transfer

Then use my attached main and the music.h is OK.

  Please try it on your side:

Wish it helps you!

If you still have questions about it, please kindly let me know!

Best Regards,

Kerry

-------------------------------------------------------------------------------

Note:

- If this post answers your question, please click the "Mark Correct" button. Thank you!

 

- We are following threads for 7 weeks after the last post, later replies are ignored

Please open a new thread and refer to the closed one, if you have a related question at a later point in time.

-----------------------------------------------------------------------------

0 项奖励
回复

5,444 次查看
Zhirong_Yang
Contributor I

@kerryzhou 

Hi Kerry,

  We have port your code to our system, and our hardware is using GPIO_AD_B0_04 and GPIO_AD_B0_05 as MQS output.

  With your code we can capture MQS output on GPIO_B0_00 and GPIO_B0_01 instead of our pins, we tried comment the pin configuration of GPIO_B0_00 and GPIO_B0_01 in your code but no help, could you please help to advise how to modify your code to support GPIO_AD_B0_04 and GPIO_AD_B0_05?

0 项奖励
回复

5,436 次查看
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @Zhirong_Yang ,

  That's so easy, you just need to modify the pinmux.c is OK.

Seems you are from china, if yes, you can refer to my eefocus post:

https://www.nxpic.org.cn/module/forum/thread-621220-1-1.html

My attached code in the above already use your mentioned pin.

IOMUXC_SetPinMux(
IOMUXC_GPIO_B0_00_MQS_RIGHT,
0U);
IOMUXC_SetPinMux(
IOMUXC_GPIO_B0_01_MQS_LEFT ,
0U);


IOMUXC_SetPinConfig(
IOMUXC_GPIO_B0_00_MQS_RIGHT,
0x10B0u);
IOMUXC_SetPinConfig(
IOMUXC_GPIO_B0_01_MQS_LEFT,
0x10B0u);

Wish it helps you!

Best Regards,

Kerry

0 项奖励
回复

5,434 次查看
Zhirong_Yang
Contributor I

@kerryzhou 

We are using below pin configuration, but no output on GPIO_AD_b0_04 and GPIO_AD_B0_05. Do you have any suggestion?

IOMUXC_SetPinMux(IOMUXC_GPIO_B0_00_MQS_RIGHT, 0U);
IOMUXC_SetPinMux(IOMUXC_GPIO_B0_01_MQS_LEFT, 0U);

IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_04_MQS_RIGHT, 0U);
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_05_MQS_LEFT, 0U);

 

IOMUXC_SetPinConfig(IOMUXC_GPIO_B0_01_MQS_LEFT,0x10B0u);
IOMUXC_SetPinConfig(IOMUXC_GPIO_B0_00_MQS_RIGHT,0x10B0u); 

IOMUXC_SetPinConfig(IOMUXC_GPIO_AD_B0_05_MQS_LEFT,0x10B0u);
IOMUXC_SetPinConfig(IOMUXC_GPIO_AD_B0_04_MQS_RIGHT,0x10B0u);

0 项奖励
回复

5,431 次查看
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @Zhirong_Yang ,

/*
// GPIO_AD_B0_04_MQS_RIGHT SW7_4, GPIO_AD_B0_05_MQS_LEFT SW7_3
IOMUXC_SetPinMux(
IOMUXC_GPIO_AD_B0_04_MQS_RIGHT,
0U);
IOMUXC_SetPinMux(
IOMUXC_GPIO_AD_B0_05_MQS_LEFT,
0U);

IOMUXC_SetPinConfig(
IOMUXC_GPIO_AD_B0_04_MQS_RIGHT,
0x10B0u);
IOMUXC_SetPinConfig(
IOMUXC_GPIO_AD_B0_05_MQS_LEFT,
0x10B0u);

*/


// GPIO_B0_00_MQS_RIGHT J8_A30, GPIO_B0_01_MQS_LEFT J8_A34
IOMUXC_SetPinMux(
IOMUXC_GPIO_B0_00_MQS_RIGHT,
0U);
IOMUXC_SetPinMux(
IOMUXC_GPIO_B0_01_MQS_LEFT ,
0U);


IOMUXC_SetPinConfig(
IOMUXC_GPIO_B0_00_MQS_RIGHT,
0x10B0u);
IOMUXC_SetPinConfig(
IOMUXC_GPIO_B0_01_MQS_LEFT,
0x10B0u);

 

In fact, both the two method I have tested, all works OK.

If your  GPIO_AD_b0_04 and GPIO_AD_B0_05 no output, comment GPIO_B0_00 and GPIO_B0_01, test it again. Please also note, GPIO_AD_B0_04 and GPIO_AD_B0_05 is the special pin, it is the BOOT_MODE pin.

kerryzhou_0-1635933654800.png

When you do reset, please make sure you connect nothing, after the code is boot, then you can test the related pin, otherwise, it will influence the chip boot, thanks.

 

Best Regards,

Kerry

 

 

0 项奖励
回复

5,411 次查看
Zhirong_Yang
Contributor I

@kerryzhou 

Thanks for your help, the MQS works on our board.

Want to check with you, is there any way to adjust the MQS volume?

0 项奖励
回复

5,407 次查看
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @Zhirong_Yang ,

  Good question!

   No, MQS can't change the volume, as you know the MQS need the external driver circuit. So, normally, if you want to change the volume, you need to associate with your external dirver ciruit.

Best Regards,

Kerry

0 项奖励
回复