1a2m3 / SPD-Reader-Writer

SPD Reader & Writer with Software Write Protection capabilities supporting Arduino and SMBus
https://forums.evga.com/m3053544.aspx
GNU General Public License v3.0
77 stars 13 forks source link

question about the eda picture #39

Closed right-0903 closed 9 months ago

right-0903 commented 9 months ago

I should state this at first, my knownledge about circuit is very limited. But I want to remove rswp in my so-dimm, I think I just need to know how to get the wires connected correctly, so I look into these pins. I have a glance at first-prototype.jpg in the images folder and the eda in the schematic folder. The questions are

  1. Sould I really need a C1 container? I don't notice that the container is connected to the circuit.
  2. Which resistors are unnecessary? Resistor R1 R2 and so on, they are not connected to the circuit too.
  3. You have 8 pins soldering in the picture, but you show 7 pins in the thread.

    DDR4: SA0=139, SA1=140, SA2=238, GND=2*, SDA=285, SCL=141, VDDSPD=284

  4. If SA1_CTL is necessary for ddr4? you don't talk about SA1_CTL in evga thread.

    SA1_CTL is used to switch pin SA1 on EEPROM between VCC and ground. This is needed because RSWP-supported EEPROMs used on DDR3 and DDR2 require different SA1 configurations to enable or disable RSWP. It is also used to prevent addressing conflicts when DDR5 is used.

1a2m3 commented 9 months ago

Hi,

The first prototype didn't have any write protection capabilities and is no longer supported by firmware and software. (It wasn't built according to the current schematic, it was just a piece of PCB cut out of an old motherboard.) Refer to the latest schematic.

I'll answer your questions in regards to the latest schematic.

  1. The C1 capacitor isn't necessary, it is there for power stability. You will most likely be fine without it.
  2. Actually R1 and R2 pull-ups can be omitted, but you might run into issues when running I2C in fast mode. All other resistors in their modules are mandatory as they serve current limiting and voltage divider purposes.
  3. Thanks for noting, the guide has been updated. The missing pin was pin 78 on DDR4 UDIMM.
  4. If you only need DDR4 support, then you can get away without SA1_CTL module. SA1_CTL serves two purposes: provides RSWP support for DDR3 and older RAM, and prevents addressing conflicts when DDR5 is used, as DDR5 is permanently on address 80, and SA1_CTL keeps the other RAM at address 82.
right-0903 commented 9 months ago

@1a2m3 OK, thanks. another question, you soldering pin 223 VDD, but you don't mention this, you show us gnd=2*, shoud pin 233 be connected to GND?

1a2m3 commented 9 months ago

No, pins 223 and 233 are not used. Those are VDD pins, required for RAM operation, but not for the programmer. The only power pin you need to use is VDDSPD. For ground you can use any of the VSS pins.

right-0903 commented 9 months ago

@1a2m3 Sorry 233 is a typo, I mean 223. I got this from micron

pin 4 Vssspd Supply Power pin 8 VDDSPD Supply Ground

it says vddspd is gnd, btw, can you show me all necessary soldering pins?(I am gonna to solder SA0=139, SA1=140, SA2=238, GND=241, SDA=285, SCL=141, VDDSPD=284, WP=78. ) I am asking my friend to solder. thanks.

1a2m3 commented 9 months ago

All necessary pins you need are mentioned in the guide with photos on the forum here.

1a2m3 commented 9 months ago

pin 4 Vssspd Supply Power pin 8 VDDSPD Supply Ground

Omg, They mixed those up, VSS is ground, VDD is power. Pin 8 on EEPROM should be VDD, ground is pin 4.

This document shows correct EEPROM pin descriptions.

right-0903 commented 9 months ago

This document shows correct EEPROM pin descriptions.

I see. The materials are shipping, I will try it later. Thanks again!

right-0903 commented 9 months ago

@1a2m3 I forget about 3.3k resistor, now I have only 1k, 510, 5.6k, can I use 3k,4k,or 5.6k to replace it?

1a2m3 commented 9 months ago

The 3.3K resistor (R5) is part of the voltage divider loop for a VHV feedback circuit. It's value is tied to the R4 resistor, so you can't just replace it alone. It has to be ~60% of R4's value. The values I chose (5.6K and 3.3K) will result in 3.3V at the feedback output, which works for either 3.3V or 5V arduinos. You are free to adjust R4 and R5, just make sure the feedback voltage is within your arduino's safe input voltages (that can be 5V or 3.3V, depending on model), when HV_EN signal is on.

1a2m3 commented 9 months ago

1K won't work. 3K might be a little too low for 5V models and is fine for 3.3V models. 4K is fine for 5V models, but might be unsafe for 3.3V models. 5.6K is fine for 5V models, but is not safe for 3.3V models.

right-0903 commented 9 months ago

The 3.3K resistor (R5) is part of the voltage divider loop for a VHV feedback circuit. It's value is tied to the R4 resistor, so you can't just replace it alone. It has to be ~60% of R4's value. The values I chose (5.6K and 3.3K) will result in 3.3V at the feedback output, which works for either 3.3V or 5V arduinos. You are free to adjust R4 and R5, just make sure the feedback voltage is within your arduino's safe input voltages (that can be 5V or 3.3V, depending on model), when HV_EN signal is on.

inspiring answer, I use serial 6.6k and serial 4k to achieve it.

right-0903 commented 9 months ago

nice work!