- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
There are already one I2C master and one I2C slave in our design. Can I add another I2C master (and the third I2C component can use any gpio pin, right?)? Is there a limitation on number of I2C components in PSoC 5LP?
Thanks,
Winston
Solved! Go to Solution.
- Labels:
-
PSOC5 LP MCU
- Tags:
- i2c master
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Winston,
Assumptions:
- You are using a PSoC5LP with 24 UDB blocks.
- Each I2C Master is unique and individual.
Given the assumptions above, you can create 4 I2C Masters. One of them will be in the fixed function and the other three using UDB blocks.
"Engineering is an Art. The Art of Compromise."
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @yaga_3967241,
Can you mention the specific part number being used?
I2C can be realised by making use of Universal Digital Blocks (UDBs).
Regards
Nikhil
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Winston,
Assumptions:
- You are using a PSoC5LP with 24 UDB blocks.
- Each I2C Master is unique and individual.
Given the assumptions above, you can create 4 I2C Masters. One of them will be in the fixed function and the other three using UDB blocks.
"Engineering is an Art. The Art of Compromise."
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
The parts#. we used is CY8C5467AXI-LP108.
Thanks,
Winston
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Following question. Are there any drawbacks and usage differences comparing I2C made of UDB to fixed I2C?
Thanks,
Yan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yan,
I don't generally use I2C devices. So I can't properly answer that question.
"Engineering is an Art. The Art of Compromise."
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
There are some differences, the datasheet for the I2C component covers them so I would recommend reading through it.
- The UDB implementation allows you to choose between an external or internal clock to serve as the serial clock source for the I2C component (Fixed Function just uses the BUS_CLK automatically scaled).
- RAM/Flash usage differences. Not too significant (See table from the I2C datasheet) :
- Differences in registers. This most likely won't matter too much if you're just using the generated API, but if you're writing your own driver, the UDB and FF modes differ in the register definitions. The UDB registers are covered in the I2C component datasheet, the FF registers are covered in the Technical Reference Manual.
- Looks like there are also some possible differences in power usage between UDB and FF. I won't drop all the DC characteristics tables here, but they are included in the I2C component datasheet (Page 54)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You can implement an I2C Master with bit-bang (no fixed-function or UDB). It will not run as fast, and it will take CPU cycles. But if your application has the bandwidth, you can have as many I2C Masters you want. You are limited to the number of available I/Os.