Offline
Sr. Member
Karma: 0
Posts: 331
|
 |
« on: October 19, 2012, 04:38:20 pm » |
hi on my MPU i have 4 SPI channels but no i2c channel, i need to have gyro, accelerometer, magnetometer on three spi channels have you seen such a IMU ? usually IMUs are i2c bus, for example this IMU https://www.sparkfun.com/products/10724 is i2c freeIMU is i2c, too if spi-IMU are not existing, do you know any good way to translate i2c into spi ? regards
|
|
|
|
|
Logged
|
|
|
|
|
Torino, Italy
Offline
Sr. Member
Karma: 2
Posts: 312
Arduino rocks
|
 |
« Reply #1 on: October 19, 2012, 06:16:23 pm » |
No, I have not seen a pure SPI IMU yet. I actually never saw a recent magnetometer sensor using SPI. Your best choice would be having an IMU with the MPU6000 connected to an I2C magnetometer via its AUX_I2C bus. This way the MPU6000 would handle the I2C communication with the magnetometer and you would only communicate to the MPU6000 via SPI. Unfortunately, I don't know of any IMU doing so. I do have some designs for something like that which I may share with you, contact me if interested.
Probably, your best bet for what it's available right now, is to just use an Arduino to read via I2C the IMU and read from the Arduino operating also as SPI slave.
Anyway, what kind of micro are you working with which doesn't have I2C but 4 SPI busses? Looks strange to me.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Sr. Member
Karma: 0
Posts: 331
|
 |
« Reply #2 on: October 19, 2012, 06:36:01 pm » |
a lot of embedded MPUs and DSPs have no i2c bus, not so strange, ex 683xx has no i2c it has 4 or more spi as proof of concept it seems i could also use a CPLD to adapt i2c to spi
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Sr. Member
Karma: 0
Posts: 331
|
 |
« Reply #3 on: October 19, 2012, 06:44:47 pm » |
p.s you are the author of freeIMU, i have bought 2 of yours freeIMU v3.5 BMP. Your IMU board comes with a MIC5203 voltage regulator and 2K2 pullups for the i2c bus, while my MPU has an other issues: it has no i2c and it is 5V, so probably i will use a 5V cpld, too.
Could you confirm your freeIMU could be directly interfaced to a 5V device ? Any tips about this ?
=)
|
|
|
|
|
Logged
|
|
|
|
|
Torino, Italy
Offline
Sr. Member
Karma: 2
Posts: 312
Arduino rocks
|
 |
« Reply #4 on: October 20, 2012, 05:41:07 am » |
I2C is open-drain meaning that devices will never drive the high but only low. This means that, if your I2C bus is pulled to 3.3V and your master only bring the I2C channels low and you don't have any internal pullups to 5V, you will be perfectly fine.
My FreeIMU v0.3.5_BMP has been cloned by China. If you didn't bought it from viacopter.eu or flyduino.net, then you have a cloned board and I can't assure the quality of that board nor that it will work as intended.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Sr. Member
Karma: 0
Posts: 331
|
 |
« Reply #5 on: October 20, 2012, 05:52:44 am » |
bought from you, as soon as it was available, i was in your pre-order list. anyway thank you to have confirm i can simply plug in into 5V i2c bus.
|
|
|
|
|
Logged
|
|
|
|
|
Torino, Italy
Offline
Sr. Member
Karma: 2
Posts: 312
Arduino rocks
|
 |
« Reply #6 on: October 20, 2012, 05:57:41 am » |
Awesome, thank you. Please post here in case of any help.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Sr. Member
Karma: 0
Posts: 331
|
 |
« Reply #7 on: October 20, 2012, 07:19:01 am » |
http://www.varesano.net/files/FreeIMU_v0.3.5_BMP_schematics.pdfWith an open-drain devices will never drive the high but only low, so there is no problem interfacing your freeIMU to a 5V i2c bus, but in case of 5V CPLD devices we have TTL I/O, that means the CPLD will drive high to 5V the SCL and SDA lines, and this is a problem for all the devices attached to the i2c 3.3V chain. I could fix the jam putting a resistor in line, serially connected between the CPLD pin and the IMU's, but i think i'd better put a bidirectional level shifter 3.3V<->5V between 5V CPLD and the 3.3V IMU. Right ?
|
|
|
|
|
Logged
|
|
|
|
|
Torino, Italy
Offline
Sr. Member
Karma: 2
Posts: 312
Arduino rocks
|
 |
« Reply #8 on: October 21, 2012, 09:08:32 am » |
Yeah, I'd go with a level shifter.
|
|
|
|
|
Logged
|
|
|
|
|
|