- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am seeing a weird issue where data is read in properly by the FX3. So IN_DATA is able to capture 32 bits per clock cycle. However, when DR_DATA is called on the GPIF bus only the lower 16 bits of the GPIF bus are asserted. As an example, I have sent a data packet consisting of incrementing bytes "\x00\x01\x02\0x03" to the FX3 via USB. Instead of seeing a single 0x00010203 bus write, I see it come out across 2 separate bus cycles as 0x00000001 and 0x00000203.
I pass the following arguments to CyU3PDeviceConfigureIOMatrix():
io_cfg.useUart = CyTrue;
io_cfg.useI2C = CyFalse;
io_cfg.useI2S = CyFalse;
io_cfg.useSpi = CyFalse;
io_cfg.isDQ32Bit = CyTrue;
io_cfg.lppMode = CY_U3P_IO_MATRIX_LPP_DEFAULT;
Any help is greatly appreciated.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
are you configuring the data bus as 32bit in the statemachine ?
Thanks,
shanthakumar
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes I am. IN_DATA works just fine.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Set week pullups (CyU3PGpioSetIoMode) to GPIF pins to verify whether the higher 16-bits get asserted.
kalev