Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
pmod:pmodoledrgb:reference-manual [2022/09/13 17:13] – changed forum.digilentinc.com to forum.digilent.com Jeffrey | pmod:pmodoledrgb:reference-manual [2023/01/04 17:28] (current) – Fix typo of disable scrolling command hex value Arthur Brown | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Pmod OLEDrgb Reference Manual ====== | ||
+ | The Digilent Pmod OLEDrgb (Revision B) is an organic RGB LED module with a 96×64 pixel display capable of 16-bit color resolution. | ||
+ | {{Digilent Image Gallery | ||
+ | | image = {{: | ||
+ | | image = {{: | ||
+ | | image = {{: | ||
+ | }} | ||
+ | |||
+ | == Download This Reference Manual == | ||
+ | * {{: | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Features ===== | ||
+ | * 96×64 pixel RGB OLED screen | ||
+ | * 0.8“ x 0.5” graphical display | ||
+ | * 16-bit color resolution | ||
+ | * Two low-power display shutdown modes | ||
+ | * 12-pin Pmod connector with SPI interface | ||
+ | |||
+ | ---- | ||
+ | =====Functional Description ===== | ||
+ | The %%Pmod OLEDrgb%% utilizes a Solomon Systech SSD1331 display controller to receive information from the host board and display the desired information on the %%OLED%% screen. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | =====Specifications ===== | ||
+ | ^ Parameter | ||
+ | | Power Supply Voltage | ||
+ | ^ Parameter | ||
+ | | Dark Room Contrast | ||
+ | | View Angle | ||
+ | | Number of Pixels | ||
+ | | Panel Size | ||
+ | | Active Area | 20.14 x 13.42 | ||
+ | | Pixel Pitch | 0.07 x 0.21 | ||
+ | | Pixel Size | ||
+ | | White Screen Current Consumption¹ | ||
+ | |||
+ | |||
+ | Note¹ - All pixels set to white at maximum brightness | ||
+ | |||
+ | ---- | ||
+ | ===== Interfacing with the Pmod===== | ||
+ | The %%Pmod OLEDrgb%% communicates with the host board via the [[pmod: | ||
+ | |||
+ | As a graphical display interface, users may light up any individual pixel on the %%OLED%%, display predefined characters, or even load bitmaps onto the screen. Each pixel can be set to one of the 65,535 colors that are available in a 5-6-5 bit RGB format. The %%OLED%% display has a specific power-up and power-down sequence to ensure the longevity of the device. | ||
+ | |||
+ | There are two field-effect transistors (FETs) that control the display’s two power supplies. The VCCEN control ([[pmod: | ||
+ | |||
+ | ==== Quick Data Acquisition ==== | ||
+ | |||
+ | **Power-on Sequence** where the bytes provided are in the format of (command, data) | ||
+ | - Bring Data/ | ||
+ | - Bring the Reset pin ([[pmod: | ||
+ | - Bring the Vcc Enable ([[pmod: | ||
+ | - Bring Pmod Enable ([[pmod: | ||
+ | - Bring RES ([[pmod: | ||
+ | - Wait for the reset operation to complete; this takes a maximum of 3 us to complete. | ||
+ | - Enable the driver IC to accept commands by sending the unlock command over SPI (0xFD, 0x12).\\ < | ||
+ | - Send the display off command.\\ < | ||
+ | - Set the Remap and Display formats (0xA0, 0x72), see page 29 of the [[https:// | ||
+ | - Set the Display start Line to the top line (0xA1, 0x00).\\ < | ||
+ | - Set the Display Offset to no vertical offset (0xA2, 0x00).\\ < | ||
+ | - Make it a normal display with no color inversion or forcing the pixels on/off (0xA4).\\ < | ||
+ | - Set the Multiplex Ratio to enable all of the common pins calculated by 1+register value (0xA8, 0x3F). See page 30 of the [[https:// | ||
+ | - Set Master Configuration to use a required external Vcc supply (0xAD, 0x8E).\\ < | ||
+ | - Disable Power Saving Mode (0xB0, 0x0B).\\ < | ||
+ | - Set the Phase Length of the charge and discharge rates of an OLED pixel in units of the display clock See page 26 of the [[https:// | ||
+ | - Set the Display Clock Divide Ratio and Oscillator Frequency, setting the clock divider ratio to 1 and the internal oscillator frequency to ~890 kHz. See Figure 28 on page 46 of the [[https:// | ||
+ | - Set the Second Pre-Charge Speed of Color A¹ to drive the color (red by default) to a target driving voltage. See page 26 and 37 of the [[https:// | ||
+ | - Set the Second Pre-Charge Speed of Color B¹ to drive the color (green by default) to a target driving voltage. See page 26 and 37 of the [[https:// | ||
+ | - Set the Second Pre-Charge Speed of Color C¹ to drive the color (blue by default) to a target driving voltage. See page 26 and 37 of the [[https:// | ||
+ | - Set the Pre-Charge Voltage to approximately 45% of Vcc to drive each color to a target driving voltage. See Figure 30 on page 47 of the [[https:// | ||
+ | - Set the VCOMH Deselect Level, which is the minimum voltage level to be registered as logic high, to 83% of Vcc.\\ < | ||
+ | - Set Master Current Attenuation Factor to set a reference current for the segment drivers. See page 23 of the [[https:// | ||
+ | - Set the Contrast for Color A (default red), effectively setting the brightness level. See the 4th bullet point on page 23 of the [[https:// | ||
+ | - Set the Contrast for Color B (default green), effectively setting the brightness level. See the 4th bullet point on page 23 of the [[https:// | ||
+ | - Set the Contrast for Color C (default blue), effectively setting the brightness level. See the 4th bullet point on page 23 of the [[https:// | ||
+ | - Disable Scrolling.\\ < | ||
+ | - Clear the screen by sending the clear command and the dimensions of the window to clear (top column, top row, bottom column, bottom row).\\ < | ||
+ | - Bring VCCEN ([[pmod: | ||
+ | - Turn the display on.\\ < | ||
+ | - Wait at least 100 ms before further operation. | ||
+ | - Run one of the graphical commands either provided by Digilent or the display controller [[https:// | ||
+ | |||
+ | Note¹ -- when changing any of the second pre-charge speeds, all three registers must be updated sequentially with 6 bytes total (address A, value A, address B, value B, address C, value C), even if their values do not change. | ||
+ | |||
+ | **Power-off Sequence** | ||
+ | - Turn the display off.\\ < | ||
+ | - Bring Vcc Enable ([[pmod: | ||
+ | - Delay 400 ms. | ||
+ | - Disconnect the positive voltage supply to the Pmod OLEDrgb. | ||
+ | |||
+ | **Graphics funtions** | ||
+ | The SSD1331 display controller comes with a number of predefined graphical commands for the user to take advantage of and Digilent provides a few additional graphics functions (such as the displaying of ASCII characters and setting the cursor location) for use. The commands and associated parameters for the predefined functions are nicely outlined on pages 28 through 33 of the [[https:// | ||
+ | |||
+ | ==== Pinout Description Table ==== | ||
+ | ^ Header J1 | ||
+ | ^ Pin ^ Signal | ||
+ | | 1 | CS | Chip Select | ||
+ | | 2 | MOSI | Master-Out-Slave-In | ||
+ | | 3 | NC | Not Connected | ||
+ | | 4 | SCK | ||
+ | | 5 | GND | ||
+ | | 6 | VCC | ||
+ | |||
+ | Although users are welcome to create their own interface code for the Pmod OLEDrgb if they so desire, pre-constructed libraries that provide functions for initializing the display and rendering simple text and graphics onto the screen exist. They are available on the %%Pmod OLEDrgb%% [[pmod: | ||
+ | |||
+ | Any external power applied to the %%Pmod OLEDrgb%% must be within 2.7V and 3.5V; however, it is recommended that Pmod is operated at 3.3V. | ||
+ | ---- | ||
+ | ===== Physical Dimensions ===== | ||
+ | The pins on the pin header are spaced 100 mil apart. The PCB is 1.4 inches long on the sides parallel to the pins on the pin header and 1 inch long on the sides perpendicular to the pin header. | ||
+ | ---- | ||
+ | ===== Additional Information ===== | ||
+ | The schematics of the %%Pmod OLEDrgb%% are available {{reference: | ||
+ | |||
+ | Example code demonstrating how to get information from the %%Pmod OLEDrgb%% can be found [[pmod: | ||
+ | |||
+ | If you have any questions or comments about the %%Pmod OLEDrgb%%, feel free to post them under the appropriate section (" |