To address the limitation of traditional LED asynchronous controllers that can only display the screen as a complete area, this paper proposes a design scheme based on a 32-bit high-performance ARM processor or Nios II soft-core processor and a real-time operating system (such as μC/OS-II). This scheme utilizes an efficient task scheduling algorithm to achieve arbitrary display of multiple windows on a single screen. The control system software is designed based on the μC/OS-II real-time operating system, using its efficient task scheduling algorithm to schedule each task, with each window's display handled by a single task.
Regarding data organization and storage, for a dual-color screen, eight consecutive horizontal pixels are grouped into a single word for storage, with red and green data each occupying one byte. For a full-color screen, each pixel includes three primary colors: red, green, and blue, each with 256 grayscale levels. The grayscale levels of each pixel are encoded using 8 bits of data, thus requiring 3 bytes of storage space per pixel. The data corresponding to the three colors (red, green, and blue) can be stored separately for easier operation. The grayscale of the LED display is implemented using weighted scanning, which requires bit separation of the color data. Bits with the same weight are then recombine, and the scanning control module controls the LEDs to light up according to a specific timing sequence. The asynchronous controller primarily consists of a communication module, a data processing module, and a scanning control module in its hardware. The communication module includes an Ethernet module and a serial communication module, supporting RS232, RS485, and industrial Ethernet communication. The data processing module comprises an MCU or Nios II soft-core CPU, cache memory (such as SRAM or SDRAM), and Flash memory for storing dot matrix information data. The scanning control module consists of a CPLD or a user-defined PWM IP core and display memory (SRAM).