0
\$\begingroup\$

I'm currently working on a side project which uses an SSD1306 128x64 OLED display. I'm then using I2C to communicate to this.

However, I'd like to better understand what exactly is going on when I'm writing values to the various registers.

From what I've read I believe these registers can be re-mapped inside the device so they might not be the actual register addresses that I'm writing to.

For arguments sake, say I was writing to the register itself, what is happening in the chip? Does it get used directly as part of the logic within the circuit - one of the bits as the input to an AND gate for example?

\$\endgroup\$

2 Answers 2

1
\$\begingroup\$

For arguments sake, say I was writing to the register itself, what is happening in the chip? Does it get used directly as part of the logic within the circuit - one of the bits as the input to an AND gate for example?

That's pretty much impossible to tell. Typically, complex chip will actually kind of parse what you send in via I²C in software on an embedded microprocessor, and thus store what you sent in some buffer first; but often simpler devices directly use what you send in logic once the I²C frame is complete (which typically means a shift register reaches "full" state).

That's an implementation detail usually hidden from the user.

\$\endgroup\$
2
  • \$\begingroup\$ It was once the bits hit the device that I was interested in understanding which you clarified nicely, thanks! I understand that it can be completely implementation specific depending on the device, but are there any articles/books that you know of that I can read to better understand the hardware side of things? \$\endgroup\$
    – James
    Commented Jun 12, 2019 at 19:19
  • \$\begingroup\$ I'd suggest that a good starting point to understanding this would be to find an open-source hardware implementation approximating the device of interest, and then learning (just) enough Verilog or VHDL to get an idea of how it's working. Traditionally, a device datasheet would have an adequate description of the principles of operation, but I'm not sure that can be relied upon for newer components. \$\endgroup\$ Commented Feb 5, 2022 at 12:44
2
\$\begingroup\$

This document contains a high-level block diagram. This will give you a general idea what is going on inside the chip. Manufacturers generally won't give much more detail than this, it will help people copy their designs.

http://image.dfrobot.com/image/data/TOY0007/SSD1306.pdf

\$\endgroup\$
2
  • \$\begingroup\$ Thanks Matt, I've accepted Marcus' answer as he hit upon slightly more of what the chip is potentially doing. \$\endgroup\$
    – James
    Commented Jun 12, 2019 at 19:21
  • \$\begingroup\$ I think Mattman944 did so, nicely, too! You'll often have to take hints from the datasheet. For example, if something happens less than two clock cycles after the transfer is complete, then very likely things started to happen while the device was still receiving data. \$\endgroup\$ Commented Jun 12, 2019 at 20:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.