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\$
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\$
  • \$\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 Jun 12 at 19:19
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\$
  • \$\begingroup\$ Thanks Matt, I've accepted Marcus' answer as he hit upon slightly more of what the chip is potentially doing. \$\endgroup\$ – James Jun 12 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\$ – Marcus Müller Jun 12 at 20:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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