- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi There,
We are trying the 20737 SoC solution by now. According to the product design, we have to use all of the SPI1/SPI2/UART/UART2/I2C and external flash. The following picture is the pin assignment on the system.
I have go through the following pages on this topic:
BCM20736S I2C, PUART and SPI comms
But the pin assignment seems complicated.Please help to review if it is doable.
Another question is that, if we use 20737 SiP module, any possible to use the I2C interface?
Solved! Go to Solution.
- Labels:
-
I2C
-
Peripherhal UART
-
SDK 2.X
-
SPI
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes on the SiP the i2c is available (on the BCM20736S and BCM20737S) for external use as well. There are different i2c addresses for the internal EEPROM v/s external devices.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Any expert can help on this?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm not an expert. But I have a question about your schematic.
Is DEV4 master of SPI2?
The combination of P26, P24, P27 and P01 can be used for only slave mode.
I have another question about SiP module.
It has internal EEPROM. In this case, will you still use SFLASH?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dmiya,
All the dev here are slave mode which means that the 20737 working on master mode( uart/spi/i2c..)
I am working on the SoC solution. We need the I2C bus to connect external components. The SiP module seems can't have the I2C interface since it is connect to the internal EEPROM directly.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the replay.
Just checked the wiced sense. It is strange that wiced sense use BCM20737s( Sip module). But it do use i2c but to connect the sensors. Do I missed something on this? Since the doc said that the sip module can't use I2C bus.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes on the SiP the i2c is available (on the BCM20736S and BCM20737S) for external use as well. There are different i2c addresses for the internal EEPROM v/s external devices.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nsankar,
From the wiced sensor code, only normal NVRAM interface called by bleprofile_WriteNVRAM and no special I2C address specified in it. And the I2C address is defined by the slave device but not the I2C controller.
The sensor also didn't include the i2c patch to access the i2c device. It use normal cfa_bsc_OpExtended but not the i2cm_write and so on interface.
I am confused on this.
If 20737S ( with EEPROM inside) can use the I2C bus in application, It will more convent to design the product and save a lot of effort to try the gpio combinations for SPI2 and UART2.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
read_status = cfa_bsc_OpExtended(data, numByteToRead, ®Addr, sizeof(uint8_t), HTS221_I2C_ADDRESS, I2C_SLAVE_OPERATION_READ); |
From this example you can see that you can specify the i2c address in the API. Here the HTS221_I2C_ADDRESS is the i2c slave address that the HTS221 sensor is designed in the hardware to
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Mwf,
Thanks and will wait the response.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nsankar just responded and confirmed
"Yes on the SiP the i2c is available (on the BCM20736S and BCM20737S) for external use as well. There are different i2c addresses for the internal EEPROM v/s external devices."
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Mwf,
Yes got the point but still have some confused point on this:
From the wiced sensor code, only normal NVRAM interface called by bleprofile_WriteNVRAM and no special I2C address specified in it. And the I2C address is defined by the slave device but not the I2C controller.
The sensor also didn't include the i2c patch to access the i2c device. It use normal cfa_bsc_OpExtended but not the i2cm_write and so on interface.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm not tested but how about below?
- UART: P0(TX) and P2(RX)
- SPI2: P24(CLK), P4(MOSI), P25(MISO) and Pxx(CS)
For SPI2 master mode, any GPIO can be used as CS.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dmiya,
Really thanks. I missed the mast and slave mode. Your configurations seems reasonable. Will dig more detail in the doc and your configurations to know if it can work.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- UART: P0(TX) and P2(RX)
- SPI2: P24(CLK), P4(MOSI), P25(MISO) and Pxx(CS)
This configuration will not work as in WICED Smart™ Hardware Interfaces, it elaborates
SPIFFY2 signals and peripheral UART RX signal must be on the lower pad bank (P0 through P7) or on the upper pad bank (P24 through P39). Thus, SPIFFY1 or SPIFFY2, and peripheral UART RX, cannot be on two different pad banks.
When both PUART and SPI2 are used in application, you need to make sure they are in the same pad bank.