On Mon, Jan 11, 2010 at 3:04 PM, Eric Blossom <[email protected]> wrote:
> On Mon, Jan 11, 2010 at 10:51:09AM -0600, John Orlando wrote: > > Hi Matt, > > In reviewing the schematic of the dbsrx daughtercard, I noticed that > there > > are two i2c devices (the EEPROM and the MAX211x receiver chip). In > general > > for the daughtercards, address bit A1 determines side A or side B, and A0 > > determines if the card is an rx or tx card, and this is hard-coded by the > > USRP itself. So...if a user has two dbsrx cards in their USRP, I think > the > > EEPROM of the dbsrx on side A would have the same address as the MAX211x > on > > side B, and vice versa. Wouldn't this be an issue? > > > Also, is there a reason that address bit A2 isn't used to select > different > > i2c devices on the same card? > > I2C devices have a 7-bit address. Some of them are fixed depending on > the device. E.g., on the 24LC024, the top 4-bits are 1010, which is > different from the bits hardwired into a low speed A/D, D/A, etc. > Take a look at the datasheets. > Ok...that makes sense. I forgot about the hard-wired top bits. This correlates with the code in db_dbs_rx.cc that indicates that its i2c address is either 0x67 or 0x65, depending on which side it is in (along with the fact that the schematic has the A1/AS1 address bit controlled from the USRP). Tthe MAX211x datasheet shows the addresses as 1100xxxx, but the LSB is used to indicate read (1) or write (0), so the _actual_address of the chip is 1100xxx >> 1, which is 0110xxx (where xxx correlates with A2/A1/A0 coming from the USRP). I2c always makes my head hurt until I remember how it works. Thanks again Eric! -- Regards, John Orlando CEO/System Architect Epiq Solutions www.epiq-solutions.com
_______________________________________________ Discuss-gnuradio mailing list [email protected] http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
