weird scp1000-d01 behavior with micromag3

i can’t get the scp to work with a micromag3 in my mega48 system. i’ve tested the sensors individually and they work fine, but when i have both in-circuit, the micromag reports either all 0x00s or 0xFFx. this happens even if all i do is initialize the scp but don’t sample it. if i power down, remove the scp1000, and power one, the micromag works normally. [pulling my hair out.]

does anyone have some scp code (avr or otherwise) you can share where you’re running the scp with the micromag or other spi sensors? thanks.

it seems others have had problems with this sensor. i pulled out my magnifying glass and a bright light. sparkfun advertises this as the scp1000-d01. it is not. mine is marked as the older p01. the [datasheet shows the D01 has spi-related improvements over the P01. need to have a talk with sparkfun. they must have sent me the wrong part.](VTI – eSportin Maailma | Krypto ja Blockchain)

Hi,

Hmmm, I am not even that far yet but I also have a P01

With regards to interfacing the SCP1000 to an Atmega128, do I need to use a voltage divider on the output pins Slave Select, SCK and MOSI since the Atmega runs a 5v to avoid frying something?

Thanks,

Serge

4mla1fn:
ithey must have sent me the wrong part.

just to complete the story. i spoke with sparkfun. i got the following very satisfactory response…

You have the SCP1000-D01. There is no such thing as an SCP1000-P01. Both B and C revision ASICs are referred to as SCP1000-D01 in all docs. Rev B ASIC is labeled as ‘-P01’ because VTI are madmen.

We test the units using the same code we posted. Feel free to return any unopened units. Rev C silicon has not yet been released. VTI claims Dec 2006 but they were 9 months late with Rev B.

http://www.vti.fi/midcom-serveattachmen … ev_0.1.pdf

in the end, i took the scp off the spi bus and used three other i/o pins to fake spi. it all works nicely now.

ssozonoff:
With regards to interfacing the SCP1000 to an Atmega128, do I need to use a voltage divider on the output pins Slave Select, SCK and MOSI since the Atmega runs a 5v to avoid frying something?

i'd think so. why not run the 128 at 3.3v? i'm running the 168 at 3.3v.

i’d think so. why not run the 128 at 3.3v? i’m running the 168 at 3.3v.

Because according the the Spec. sheet I can’t with the normal 128 though aparently the 128L can be run at a lower voltage.

– 2.7 - 5.5V for ATmega128L

– 4.5 - 5.5V for ATmega128

Thanks,

Serge

ssozonoff:
…I can’t with the normal 128…

ah, got it. then the safest thing is to buy the 3.3v version. the controller is a lot cheaper than the sensor.

4mla1fn:

ssozonoff:
…I can’t with the normal 128…

ah, got it. then the safest thing is to buy the 3.3v version. the controller is a lot cheaper than the sensor.
You didn't got it. The 3.3V prohibits 16MHz, is maxxing at 8MHz. The good news is at 8MHz you can most probably get rid of external crystal and stay with internal RC oscillator. But taking huge TQFP in order to save a few mm on crystal, while losing half processing power, is not necessarily the best solution. If you want to go tiny and simple, try ATMEGA88.

Hi,

I have been having this exact problem.

After some reading, I have discovered that to use the SCP1000 (rev B) on a shared bus, you must have a pull up resistor between MISO and Vdd as well as configuring MISO to be in OPEN DRAIN mode.

Dan