Colorlight 5A-75B:深入了解一款热门的低成本 ECP5 (FPGA) 开发板
Colorlight 5A-75B: A dive into a popular low-cost ECP5 (FPGA) development board

原始链接: https://blog.yosyshq.com/p/colorlight-part-1/

Colorlight 5A-75B 是一款价格低廉(20–25 美元)的 LED 接收卡,已成为硬件极客圈中广受欢迎的低成本 FPGA 开发板。该板卡专为驱动 LED 显示屏而设计,搭载了 Lattice ECP5 FPGA,并配备双千兆以太网口、16Mbit SDRAM 以及 16Mbit Flash。 得益于 q3k 等社区成员的努力,该板卡已实现完全逆向工程,并兼容开源的 Yosys FPGA 工具链。用户可以通过简单的 JTAG 接头轻松上传自定义位流(bitstream)。虽然该板卡最初是为输出信号而设计,但用户可以通过将默认的输出驱动器替换为兼容的电平转换器(如 SN74CBT3245A)来启用双向 I/O 功能。 Colorlight 5A-75B 以高速连接性能与高性价比的独特结合,为那些希望尝试 FPGA 而又不想承担传统开发套件高昂成本的用户提供了一个便捷的切入点。其强大的功能集(包括以太网和 SDRAM)也为进阶项目提供了广阔的发挥空间。

抱歉。
相关文章

原文

This guest post is the first in a two part series by Chris Lasocki. Part 2 is now available here.

It seems that it was an accident - a generic part of a LED display has become a low cost FPGA development board. The board in question is the Colorlight 5A-75B, which is a so-called receiver card. Featuring a Lattice ECP5 FPGA, supported by Yosys, it allows you to leverage a fully open-source FPGA development toolchain. Priced on average at 20-25 USD, it is a very accessible board.

The Colorlight 5A-75B was originally a part of a modular LED display standard. It’s a receiver card, which means that it sits between the computer controlling the show, and the LED panels themselves. It fulfills a basic but crucial task of receiving the video signal and driving the RGB panels accordingly. This takes a lot of bandwidth, so it is equipped with a moderately fast ECP5 LFE5U25-F FPGA and two Gigabit Ethernet interfaces. There is also a 16Mbit SDRAM for temporary storage and a Flash memory of the same size for storing the bitstream. It features 8 output ports of a known pinout (HUB75) and 5V outputs. The board has caught attention of hardware hackers and soon after was fully reverse engineered by q3k and others. A schematic with pinouts is available, as well as other documentation. A great amount of work has been done here and this is what enables the Colorlight board to be used in the hacker spirit way.

Accidentally, this board design happens to be a great compromise between feature-rich and IO-rich. The only on-board peripherals are the basic or high speed ones, which would be hard to connect over the 0.1" pin headers. It is also the only development board with a dual Gigabit Ethernet interface in its price range. Since it’s just an FPGA, the 16MBit SDRAM should be enough for most applications, while being easy to implement a controller for.

Hacking the board

With the on-board JTAG port, you just need to solder on a 4 pin header and you are ready to upload your own bitstreams to the ECP5 FPGA. This FPGA is fully supported by the Yosys toolchain, from the verilog compiler through place and route engine to the bitstream generator, and along with an open source JTAG adapter like the Bus Pirate (or anything else, really) it only takes a moment to send the bitstream down and see your code run. There is a great deal of user accessible IO broken out on the HUB75 headers.

The FPGA has a 25MHz clock directed to it, as well as one onboard LED and a button, which is plenty enough for a Verilog “Hello, world!” project - blinking the LED.

The only downside of this board is lack of inputs by default - You need to replace the 74HC245 output drivers with bidirectional level shifters. However there exists a pin compatible level shifter IC, SN74CBT3245A which can replace the default output driver providing 3v3 bidirectional IO. Other options, such as fabricating tiny PCBs that replace the shifters with wires, or connecting the direction pin of the output drivers to an IO pin are also a possibility.

Summary

The Colorlight 5A-75B is a good choice for those who want to try open-source FPGA programming but do not wish to spend a significant amount of money for a classic development board. The on-board peripherals are enough for a first project to get acquainted with the toolchain. Gigabit Ethernet and SDRAM could also come in handy in future more advanced projects.

In the next post I will describe how to write, compile and upload a Verilog project that will blink the onboard led of the 5A-75B board.

About the author

Chris “polprog” Lasocki (@polprogpl) is a long time electronics hacker and an aspiring physicist. FPGAs are one of his hobbies and he is currently writing a thesis in that field. His other interests include laser physics as well as embedded programming projects. He runs a blog at polprog.net.

联系我们 contact @ memedata.com