Skip to content

Commit

Permalink
docs: update README
Browse files Browse the repository at this point in the history
  • Loading branch information
redchenjs committed Dec 14, 2020
1 parent f099ac6 commit 6aad598
Showing 1 changed file with 46 additions and 11 deletions.
57 changes: 46 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,26 @@ WS281X Cube Controller based on MAX10 FPGA.

## Main Features

* 4-Wire SPI Interface
* High Refresh Rate (Up to 500fps@8x8x8)
* 8 Data Lines in Parallel (64 LEDs per line)
* Configurable Waveform Generator (T0H, T0L, T1H, T1L)
* Configurable LED Serial Connection Sequence (Addr Linked List)
* 4-wire SPI interface
* High refresh rate (up to 500fps@8x8x8)
* 8 parallel output data lines (64 LEDs per line)
* Configurable waveform generator (T0H, T0L, T1H, T1L)
* Configurable LED serial connection sequence (address linked list)

## Pinout

| Input Port | FPGA Pin | Output Port | FPGA Pin |
| ---------: | :------- | :--------------: | :------: |
| clk_i | PIN_J5 | ws281x_code_o[7] | PIN_R5 |
| rst_n_i | PIN_R9 | ws281x_code_o[6] | PIN_L7 |
| dc_i | PIN_P15 | ws281x_code_o[5] | PIN_P4 |
| spi_sclk_i | PIN_R14 | ws281x_code_o[4] | PIN_L6 |
| spi_mosi_i | PIN_P12 | ws281x_code_o[3] | PIN_R3 |
| spi_cs_n_i | PIN_R11 | ws281x_code_o[2] | PIN_M5 |
| - | | ws281x_code_o[1] | PIN_P3 |
| - | | ws281x_code_o[0] | PIN_M4 |

* SPI slave mode: MODE 0, CPOL=0, CPHA=0, MSB first

## Commands

Expand All @@ -23,10 +38,10 @@ WS281X Cube Controller based on MAX10 FPGA.
| 3rd Param | 1 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |
| 4th Param | 1 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |

* 1st Param: T0H Time, range: 1-255, unit: 10 ns
* 2nd Param: T0L Time, range: 1-255, unit: 10 ns
* 3rd Param: T1H Time, range: 1-255, unit: 10 ns
* 4th Param: T1L Time, range: 1-255, unit: 10 ns
* 1st Param: T0H time, range: 1-255, unit: 10 ns
* 2nd Param: T0L time, range: 1-255, unit: 10 ns
* 3rd Param: T1H time, range: 1-255, unit: 10 ns
* 4th Param: T1L time, range: 1-255, unit: 10 ns

Limits:

Expand All @@ -42,7 +57,15 @@ Limits:
| ... | 1 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |
| Nth Param | 1 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |

* N = 64, LED Addr Linked List (Same for 8 layers)
* 1st Param: 2nd LED address, range: 0-63
* 2nd Param: 3rd LED address, range: 0-63
* 3rd Param: 4th LED address, range: 0-63
* ...
* Nth Param: 1st LED address, range: 0-63

* N = 64

* These configurations will be applied to all 8 layers

### DATA_WR

Expand All @@ -53,7 +76,19 @@ Limits:
| ... | 1 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |
| Nth Param | 1 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |

* N = 8 x 8 x 8 x 3 = 1536, LED Color Data (24-bit)
* 1st Param: 1st LED color byte 2, range: 0-255
* 2nd Param: 1st LED color byte 1, range: 0-255
* 3rd Param: 1st LED color byte 0, range: 0-255
* 4th Param: 2nd LED color byte 2, range: 0-255
* 5th Param: 2nd LED color byte 1, range: 0-255
* 6th Param: 2nd LED color byte 0, range: 0-255
* ...
* Nth Param: ...

* N = 8 x 8 x 8 x 3 = 1536

* Layer data order: layer 7 first (layer 7 - layer 0)
* Color byte order: high byte first (byte 2 - byte 0)

## Preparing

Expand Down

0 comments on commit 6aad598

Please sign in to comment.