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
Hi @zhirongyang
This is the recommended MQS hardware:
You need to add the external circuit by yourself.
Best Regards,
Kerry
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?
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
@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?
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
Can you please help to share your MQS code to us?
Is this MQS mode playing piano music just like your demo board?
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
Case: 00430692 created by using company email account, I don't know how to @ you in the Case: 00430692.
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.
-----------------------------------------------------------------------------
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?
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
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);
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.
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
Thanks for your help, the MQS works on our board.
Want to check with you, is there any way to adjust the MQS volume?
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