CYBT-343026-EVAL enable SCO/PCM

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
amorniroli
Level 2
Level 2
5 replies posted 10 sign-ins First like received

Hi all,

I'm evaluating CYBT-343026-EVAL (CYW20706 chipset).

We use the module as HCI standalone (https://community.infineon.com/t5/AIROC-Bluetooth/CYW920706WCDEVAL-vs-CYBT-343026-EVAL/m-p/358312#M2...), driven by an external host/stack.

I'd like to do some test routing SCO data via the PCM interface of the module: I just want to loopback voice received from headset (I'd like to hear my voice back).

Here my setup:

- I2C_SCL/I2C_SDA signal connected together (they should be  PCM_Out/PCM_IN lines);
- jumpers J9 & J10 are removed;
- switches SW4/SW5 (HCI_UART / PUART) are set to OFF position;

By mean of HCI VS command Write_SCO_PCM_Int_Param, I'm configuring the PCM interface as the following:

- SCO_Routing = 0x0 (0, "PCM")

- PCM_Interface_Rate = 0x1 (1, "256 KBps")

- Frame_Type = 0x0 (0, "Short")

- Sync_Mode = 0x1 (1, "Master")

- Clock_Mode = 0x1 (1, "Master")

Then I connect headset to the module and I establish SCO channel connection: I would expect to see P2/P28/P37 (PCM_CLK) start clocking but it's not moving (checked with an oscilloscope).

Am I missing something? Is there something else I should configure?

If I use "TRANSPORT" as SCO_Routing, I can receive SCO data on HCI without problem.

Best regards,

Alessandro  

0 Likes
4 Replies
AnjanaM_61
Moderator
Moderator
Moderator
10 questions asked 5 comments on KBA First comment on KBA

Hello @amorniroli 

Have you used the command Write_Voice_Setting before calling write SCO parameter command? 

Can you please let us know the exact steps which you tried?

You should have followed the sequence as :

  1. HCI Reset
  2. Create_Connection 
  3. You will get the connection handle from the logs . Note down the handle
  4. Write_voice_settings : use default settings
  5. Write_SCO_PCM_Int_Param

Regards,

Anjana

 

0 Likes

Hi @AnjanaM_61 ,

I'm writing  Write_SCO_PCM_Int_Param as first thing.

Anyway, I've tried w/ CyBluetool following your order but PCM clock it's not moving.

Here the log from CyBluetool

07/19/22 14:05:52.861 com21 -- Transport opened
com21@115200
07/19/22 14:05:52.861 com21 -- Protocol set to HCI
com21@115200

07/19/22 14:05:54.536 com21@115200 c> Reset
HCI Command
com21@115200
[03 0C 00 ]
opcode = 0x0C03 (3075, "Reset")

07/19/22 14:05:54.545 com21 <c Reset
HCI Command Complete Event
com21@115200
[0E 04 ]: 01 03 0C 00
event = 0x0E (14,"Command Complete")
Num_HCI_Command_Packets = 0x1 (1)
Command_Opcode = 0xC03 (3075, "Reset")
Status = 0x0 (0, "Success")

07/19/22 14:06:05.433 com21@115200 c> Create_Connection
HCI Command
com21@115200
[05 04 0D ]: 35 92 02 5B 02 00 18 CC 01 00 00 00 00
opcode = 0x0405 (1029, "Create_Connection")
BD_ADDR = "00025B029235"
Packet_Type = 0xCC18 (52248, "DM1 | DH1 | DM3 | DH3 | DM5 | DH5")
Page_Scan_Repetition_Mode = 0x1 (1, "R1")
Page_Scan_Mode = 0x0 (0, "Mandatory")
Clock_Offset_Valid = 0x00 (0)
Clock_Offset = 0x00 (0)
Allow_Role_Switch = 0x0 (0)

07/19/22 14:06:05.441 com21 <e Command Status
HCI Event
com21@115200
[0F 04 ]: 00 01 05 04
event = 0x0F (15,"Command Status")
Status = 0x0 (0, "Success")
Num_HCI_Command_Packets = 0x1 (1)
Command_Opcode = 0x405 (1029, "Create_Connection")

07/19/22 14:06:06.501 com21 <e Connection Complete
HCI Event
com21@115200
[03 0B ]: 00 0B 00 35 92 02 5B 02 00 01 00
event = 0x03 (3,"Connection Complete")
Status = 0x0 (0, "Success")
Connection_Handle = 0x0B (11)
BD_ADDR = "00025B029235"
Link_Type = 0x1 (1, "ACL connection")
Encryption_Status = 0x0 (0, "Link level encryption disabled")

07/19/22 14:06:06.520 com21 <e Page Scan Repetition Mode Change
HCI Event
com21@115200
[20 07 ]: 35 92 02 5B 02 00 01
event = 0x20 (32,"Page Scan Repetition Mode Change")
BD_ADDR = "00025B029235"
Page_Scan_Repetition_Mode = 0x1 (1, "R1")

07/19/22 14:06:06.520 com21 <e Max Slots Change
HCI Event
com21@115200
[1B 03 ]: 0B 00 05
event = 0x1B (27,"Max Slots Change")
Connection_Handle = 0x0B (11)
LMP_Max_Slots = 0x5 (5)

07/19/22 14:06:15.065 com21@115200 c> Write_Voice_Setting
HCI Command
com21@115200
[26 0C 02 ]: 60 00
opcode = 0x0C26 (3110, "Write_Voice_Setting")
Input_Coding = 0x00 (0, "Linear")
Input_Data_Format = 0x01 (1, "2's complement")
Sample_Size = 0x01 (1, "16-bit")
Linear_PCM_Bit_Pos = 0x00 (0)
Air_Coding_Format = 0x00 (0, "CVSD")

07/19/22 14:06:15.071 com21 <c Write_Voice_Setting
HCI Command Complete Event
com21@115200
[0E 04 ]: 01 26 0C 00
event = 0x0E (14,"Command Complete")
Num_HCI_Command_Packets = 0x1 (1)
Command_Opcode = 0xC26 (3110, "Write_Voice_Setting")
Status = 0x0 (0, "Success")

07/19/22 14:06:22.849 com21@115200 c> Write_SCO_PCM_Int_Param
HCI Command
com21@115200
[1C FC 05 ]: 00 00 00 01 01
opcode = 0xFC1C (64540, "Write_SCO_PCM_Int_Param")
SCO_Routing = 0x0 (0, "PCM")
PCM_Interface_Rate = 0x0 (0, "128 KBps")
Frame_Type = 0x0 (0, "Short")
Sync_Mode = 0x1 (1, "Master")
Clock_Mode = 0x1 (1, "Master")

07/19/22 14:06:22.855 com21 <c Write_SCO_PCM_Int_Param
HCI Command Complete Event
com21@115200
[0E 04 ]: 01 1C FC 00
event = 0x0E (14,"Command Complete")
Num_HCI_Command_Packets = 0x1 (1)
Command_Opcode = 0xFC1C (64540, "Write_SCO_PCM_Int_Param")
Status = 0x0 (0, "Success")

07/19/22 14:06:32.594 com21@115200 c> Add_SCO_Connection
HCI Command
com21@115200
[07 04 04 ]: 0B 00 E0 00
opcode = 0x0407 (1031, "Add_SCO_Connection")
Connection_Handle = 0x0B (11)
Packet_Type = 0xE0 (224, "HV1 | HV2 | HV3")

07/19/22 14:06:32.600 com21 <e Command Status
HCI Event
com21@115200
[0F 04 ]: 00 01 07 04
event = 0x0F (15,"Command Status")
Status = 0x0 (0, "Success")
Num_HCI_Command_Packets = 0x1 (1)
Command_Opcode = 0x407 (1031, "Add_SCO_Connection")

07/19/22 14:06:32.600 com21 <e Max Slots Change
HCI Event
com21@115200
[1B 03 ]: 0B 00 03
event = 0x1B (27,"Max Slots Change")
Connection_Handle = 0x0B (11)
LMP_Max_Slots = 0x3 (3)

07/19/22 14:06:32.642 com21 <e Connection Complete
HCI Event
com21@115200
[03 0B ]: 00 01 00 35 92 02 5B 02 00 00 00
event = 0x03 (3,"Connection Complete")
Status = 0x0 (0, "Success")
Connection_Handle = 0x01 (1)
BD_ADDR = "00025B029235"
Link_Type = 0x0 (0, "SCO connection")
Encryption_Status = 0x0 (0, "Link level encryption disabled")

 

This is my firmware application loaded on the module (empty app)

 

#include "sparcommon.h"

APPLICATION_START() {

}

Is there something else to configure in the empty app to make PCM work?


Thanks for the support.

Alessandro

0 Likes
amorniroli
Level 2
Level 2
5 replies posted 10 sign-ins First like received

Hello,

any news?

Thanks.

Best regards,

Alessandro

0 Likes
advait_kulkarni
Moderator
Moderator
Moderator
25 likes received 250 sign-ins 100 solutions authored

Hi @amorniroli ,

We missed to follow up on this thread. Kindly let us know if this issue is resolved at your end or not.

Thanks and regards,

Advait Kulkarni

0 Likes