Vivado IP Catalog, click click.
Vivado IP Integrator, click click.
Xilinx SDK (Eclipse):
void SetWS28xx(u8 RED, u8 GREEN, u8 BLUE) { putfsl(RED << 16 | GREEN << 8 | BLUE, 1); }
while (1) {
SetWS28xx(r, g, b); //
r++; g++; b++;
MB_Sleep(10);
};
Solder iron, first convert WS2812 to SIPSIK(tm) compliant device, that easy just solder some header!Get 3 wires
Connect the wires
FAIL
Get Oscilloscope, power it on
Can not wait? Look at the wires again, SWAP ground and signal and
you will see
That WS2812 does work, and is controlled by software.
This is first time I ever used WS2812.
As soon as fixed the problem with the wiring, it just worked, namely:
- CPU0 Bootrom did load FSBL into OCM ram
- FSBL did load FPGA code that is the "HARDWARE" from an partition in the SPI Flash
- This BITSTREAM was DMA'd into ZYNQ PL - Programmable logic
- PLL in Processor part of ZYNQ was set to deliver clock to fabric side
- In the Programmable Fabric an 32 Bit Soft core MicroBlaze is booting from Block RAM that was loaded together with the bitstream during the FSBL boot proccesses
- Microblaze exectutes the main.c - code above
- The c code uses special processor instruction that directly writes the data to streaming hardware port
- This data is latched in WS2812 IP core
- The IP core generates the timing
- WS2812 is controlled by the software :)
You think this can not be true?
That this all just works first time tested?
Well then you would not believe I can do #HAD-9000 in 2016 either?
Without your help, I can not. With your help WE can.
Would you like to work on HAD-9000 ? You can.
You can start now with Soft-Propeller, its gives the boost you need to be ready for HAD-9000 in 2016.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.