PSoC™ 6 Forum Discussions
text.format{('custom.tabs.no.results')}
Hi PSoC Community, I have several questions regarding a SCB in SPI slave (receiving data from a 32 bit ADC) and DMA transfer from the SPI slave RX fifo buffer to a double buffer setup on the PSoC. The data rate output from the ADC is 16.384 Mbps I am unsure about a few things:
1. Firstly, I am setting the 'Data Rate (kbps)' in the SCB in slave mode to be 16384. Shouldn't this be sufficient to determine the clock that operates the SCB? I dont understand why we need to specify another that drives the block. Also what value should I set the block clock to be? Currently this is set to be 100 MHz (the peripheral clock) which is derived from the FLL.
2. Can someone please confirm that setting the SCB SPI RX data width to be 16 is OK? As I mentioned above, the ADC generates 32 bit data, so the CS signal remains low for 32 bits of the transfer. Does the SCB in slave mode store the single 32 bits as two 16 bit values in the SCB RX fifo buffer if the CS signal remains low for the 32 bits of the transfer? (as the maximum RX data width for the SCB SPI block is 16). Unfortunately I am unable to control the SPI master CS line to drive high and then low again in the middle of the 32 bit transfer.
3. Finally when the SCB RX Fifo buffer is full, I have set up the SCB to trigger a DMA transfer. The issue I have here is that I am unsure what to set the 'Data transfer width' in the DMA descriptor to be. Intuitively I thought it should be Halfword (2 bytes) to Halfword, where the source is the SCB RX Fifo buffer which is set to have a data width of 16 bits, and the destination also halfword, as I have allocated uint16_t memory block (destination). However, it seems that the source (the SCB RX Fifo) must be set to be 'Word' for the program to compile and run. Can someone please explain why this is? Also there are Word to Word (masked) settings in the selection, can someone also explain what these are for? The documentation is really poor! P.S. I then combine two 16 bit values into a single 32 bit value after the DMA transfer to memory. Any help is appreciated.
Show LessActually we have requirement where there are multiple master on our I2C Bus which is addressable by slave address.
Let us assume I2C1 which acts as master 1 would also be addressable by slave address 0x1 and we have other I2C2 which acts as other master 2 would also be addressable by slave address 0x2.
We should send command as master from I2C1 to slave I2C2 with address 0x2. On successful reception of message I2C2 as master would send response back to slave address 0x1.
So we need help where we can configure a PSOC6 I2C1 which could send data as master and after releasing bus it should be capable to receive data when targeted to address 0x1.
In Aadvaark API there is api to do this where we enable slave with specific address and after that we can also send data as master and act like slave back.
How can we achieve this using PSCO6? some details would really help us a lot.
We tried with multiple configuration in PSOC6 API but nothing works.
This is basically used to achieve NVME-MI using MCTP.
Show Less
Hi, I recently start working on radar kit and install the modus toolbox on MAC OS.After setting up ting software i tried to run radar presence detection.i am facing two problems. when i run the code it shows ((KitProg firmware is out of date, please update to the latest version (2.50.1383)) secondly i am not able to see terminal emulator(tera term) Kindly help me to to find solution
Show LessHello,
Whenever I attempt to build a sample Application in Modus Toolbox using the PSoc6 I get the following two errors displayed in my terminal. Anyone have any recommendations?
1) make[1]: *** [../mtb_shared/core-make/release-v3.2.2/make/core/bwc.mk:155: _mtb_build__legacy_bsp_postbuild] Error 1
2) make: *** [../mtb_shared/core-make/release-v3.2.2/make/core/main.mk:374: secondstage_build] Error 2
Show LessHi
PSoC63 datasheet (specifically CYBLE-416045-02) states "1.71 V to 3.6 V Operation".
Can I power the PSoC directly from LiPO battery without using a voltage regulator ?
I am only interested in the digital inputs/outputs and not the analogues.
Thanks
Show LessHi,
I am trying to use some radar ifx libraries that require math.h functions such as hypotf and sqrtf. However the compiler cannot find where these functions are declared and throws this error.
------------------------------------
source/rdm/ifxBase/LA.c:633:59: note: in expansion of macro 'SQRT'
633 | IFX_COMPLEX_SET_REAL(IFX_MAT_AT(A, i, i), SQRT(sum));
| ^~~~
source/rdm/ifxBase/Defines.h:122:14: note: include '<math.h>' or provide a declaration of 'sqrtf'
122 | #define SQRT sqrtf
--------------------------------------
I have #include <math.h> in the file and the math.h that contains these math functions is located in the C:\Infineon\Tools\ModusToolbox\tools_3.1\gcc\arm-none-eabi\include folder where the compiler binary is also located.
I have tried adding m to LDLIBS and -lm to LDFLAGS and CFLAGS in the Makefile. This did not fix the issue.
I am using this eval board https://www.infineon.com/cms/en/product/evaluation-boards/kit_csk_bgt60tr13c/ and vscode w/ project creator 2.10.
Let me know how I can fix this issue. Thanks
Show Less