The present invention relates to an operational method for memories, and more particularly, to an operational method for accessing memories in a light-emitting diode (LED) display.
Direct view light-emitting diode (LED) displays with an LED array used as actual display pixels have gradually developed in recent years. In a large-scale direct view LED display, the screen is constructed by connecting a great number of LED cabinets, each having a display panel with multiple light boards, and a control board carrying an LED controller for forwarding the display data to each light board, to show desired images on the display area of each light board. Each light board may be deployed with a flash memory, for storing necessary compensation information for the LED pixels on the light board.
The light board is a display unit of an LED screen. In the large-scale LED display, if any display pixel or area is damaged, fixing is performed by regarding a light board as a unit; that is, the LED screen may be repaired by replacing the light board having damaged pixel(s) by a new one. The new light board having new LED pixels may have different compensation information, and the compensation data for the new LED pixels should be carried in a flash memory corresponding to the new light board, where the original flash memory should be updated or replaced with a new one. As a result, the LED controller may directly read the accurate compensation data for the new light board from the corresponding flash memory, and thus additional efforts of manually updating the compensation data may be avoided.
However, in the prior art, the LED controller is requested to control a great number of light boards, and thus has to be deployed with a great number of control pins to access the flash memories, in order to obtain the compensation data. The great number of control pins requires considerable circuit costs, especially when the number of light boards has a gradually increasing trend in the LED display.
It is therefore an objective of the present invention to provide a novel operational method for accessing the flash memories, in order to solve the abovementioned problems.
An embodiment of the present invention discloses an operational method for a plurality of memories. The operational method comprises steps of: outputting a select signal to a first group of memories among the plurality of memories, but not outputting the select signal to a second group of memories among the plurality of memories different from the first group; outputting a clock signal to a third group of memories among the plurality of memories, but not outputting the clock signal to a fourth group of memories among the plurality of memories different from the third group; outputting a command to a fifth group of memories among the plurality of memories, but not outputting the command to a sixth group of memories among the plurality of memories different from the fifth group; and selecting one of the plurality of memories according to the select signal, the clock signal and the command.
Another embodiment of the present invention discloses a controller, which is configured to control a plurality of memories. The controller comprises a plurality of select pins, a plurality of clock pins and a plurality of signal pins. The plurality of select pins are respectively coupled to a first plurality of groups of memories among the plurality of memories. The plurality of clock pins are respectively coupled to a second plurality of groups of memories among the plurality of memories. The plurality of signal pins are respectively coupled to a third plurality of groups of memories among the plurality of memories. The controller outputs a select signal through one of the plurality of select pins, outputs a clock signal through one of the plurality of clock pins, and outputs a command through one of the plurality of signal pins. The controller selects one of the plurality of memories according to the select signal, the clock signal and the command.
These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.
In detail, each light board 120 may be a display unit for constructing the LED screen 100. The light board 120 may be formed of a printed circuit board (PCB), on which an LED array and several LED drivers 122 are deployed. The LED drivers 122 are used for providing driving currents for the corresponding LEDs, to drive the LEDs to emit lights. The light boards 120 are connected to the control board 130 through connectors 140, and thus the LEDs on the light boards 120 may form a pixel array as a fragment of the LED screen 100. Each LED cabinet 110 may further include one or more LED controllers 132, which are deployed on the control board 130 and configured to receive video data and related commands from a video source, to determine the images to be displayed by the LED pixels in the corresponding LED cabinet 110 according to the commands, and correspondingly forward the display data to the corresponding light boards 120. The LED controllers 132 may also be responsible for performing appropriate compensation on the received video data. In general, the illumination characteristics of different LED pixels may be inconsistent due to process variations (or other factors), which should be compensated during the display operations, in order to improve the visual quality. In several embodiments, the LED cabinet 110 may further include a power supply device or power integrated circuit (IC) (not illustrated for brevity), which may also be deployed on the control board 130.
In such a situation, the LED controller 132 of this LED cabinet 110 is requested to control multiple flash memories. Assuming that the LED cabinet 110 shown in
The LED controller 132 usually controls the flash memories through a serial peripheral interface (SPI), which allows a master device (i.e., the LED controller 132) to control multiple slave devices (i.e., the flash memories). The SPI may include several chip select (CS) pins, a clock (CLK) pin, a master-out-slave-in pin (abbreviated as slave-in (SI) pin hereinafter), and multiple master-in-slave-out pins (abbreviated as slave-out (SO) pins hereinafter). Each of the CS pins is a select pin that the LED controller 132 uses to select a specific flash memory. The CLK pin is a control pin used for forwarding a clock signal, to synchronize the timing of the slave devices and the master device. The SI pin is an output pin of the LED controller 132 (since it is a master-out-slave-in pin), where the LED controller 132 may use the SI pin to output commands or data to the flash memories. Each SO pin is an input pin of the LED controller 132 (since it is a master-in-slave-out pin), where the LED controller 132 uses the SO pins to receive data from the flash memories.
The SI pin is used for forwarding any signals or data from the LED controller 132 to the flash memories. For example, during the usage of the LED screen 100, each LED pixel on the light board 120 may experience different degrees of aging, resulting in different degrees of luminance efficiency attenuations, which may further generate additional luminance non-uniformity. Therefore, the LED controller 132 is requested to update the compensation data for the LED pixels, and write the updated compensation data into the flash memories through the SI pin. In general, a flash memory is able to receive the commands or data only when it is enabled by the CS pin, and thus only one flash memory may be enabled at one time; hence, only one SI pin is enough for the LED controller 132 to deliver the commands or data.
The SO pins are used for forwarding any signals or data from the flash memories to the LED controller 132. For example, when receiving the display data of an LED pixel from the video source, the LED controller 132 may read the compensation data corresponding to this LED pixel from the flash memory, in order to modify the display data by using the compensation data. Since there are 12 flash memories controlled by the LED controller 132, the LED controller 132 has 12 SO pins SO_0-SO-11 coupled to 12 flash memories, respectively.
Note that the LED controller 132 may be coupled to the flash memories of different light boards 120, and each control signal should be forwarded through the connecting wires on the control board 130 and the light board 120 and the connector 140 therebetween. In such a situation, the control signal is requested to be forwarded through a considerable distance. In general, the output driver of the LED controller 132 is usually implemented in an IC, and may not have enough driving capabilities. In order to solve this problem, one or more buffers may be deployed on the control board 130 or the light board 120, to be coupled between the LED controller 132 and the flash memories. Therefore, the control signals or data output from the control pins of the LED controller 132 may be forwarded to the flash memories through the buffer(s).
For example, as shown in
In another embodiment, if the LED controller 132 has sufficient driving capabilities for driving the flash memories, the buffers may be omitted without affecting the operations of accessing the flash memories.
As shown in
The operational principle of the SPI is briefly described herein.
As can be seen, the read or write operation of the SPI requests that three conditions should be satisfied: the CS pin enters a low level, the CLK pin is toggled appropriately, and the SI pin forwards a valid command. Therefore, in order to access a target flash memory, the LED controller may apply multiple CS pins to perform selection. In addition, two or more CLK pins may be respectively coupled to two or more groups of flash memories, where an accurate clock signal is provided for a group and no clock signal is provided for other group(s). Further, different SI pins may be coupled to multiple groups of flash memories, respectively, where the valid and accurate command is output from only one SI pin to perform selection.
Correspondingly, the flash memories may be classified into a first plurality of groups in a first manner, among which each group is configured to receive the select signal from one of the CS pins. The flash memories may also be classified into a second plurality of groups in a second manner (which is different from the first manner), among which each group is configured to receive the clock signal from one of the CLK pins. The flash memories may further be classified into a third plurality of groups in a third manner (which is different from the first manner and the second manner), among which each group is configured to receive the commands from one of the SI pins.
Under the above grouping manners, each flash memory may belong to one of the first plurality of groups, belong to one of the second plurality of groups, and also belong to one of the third plurality of groups. In addition, each flash memory may belong to at least one different group from another flash memory. Therefore, in order to select and access a target flash memory, the LED controller may output a correct select signal to a group among the first plurality of groups to which the target flash memory belongs, output a clock signal to a group among the second plurality of groups to which the target flash memory belongs, and output a valid command (e.g., a read or write enable command) to a group among the third plurality of groups to which the target flash memory belongs. In such a situation, the target flash memory may be selected according to the combination of the select signal, the clock signal and the command.
An overall system structure of the LED controller 600 connected with 12 flash memories FLASH_0-FLASH_11 is shown in
Similarly, the control signals output from the CS pins CS_A and CS_B, the CLK pins CLK_A and CLK_B, and the SI pins SI_A, SI_B and SI_C are delivered through a buffer (BUF). The implementations associated with the buffers are similar to those illustrated in
In order to select a target flash memory, the LED controller 600 may output a select signal through one of the CS pins (CS_A or CS_B), output a clock signal through one of the CLK pins (CLK_A or CLK_B), and output a command through one of the SI pins (SI_A, SI_B or SI_C). Therefore, the LED controller 600 may select one of the flash memories FLASH_0-FLASH_11 according to the select signal, the clock signal and the command.
For example, when the LED controller 600 communicates with the flash memories FLASH_0-FLASH_11 through the SPI, based on the SPI specification, it may pull low one of the CS pins (CS_A or CS_B), output the appropriate clock signal through one of the CLK pins (CLK_A or CLK_B), and output a read or write enable command through one of the SI pins (SI_A, SI_B or SI_C). A flash memory may operate normally only when the corresponding CS pin is pulled low, the corresponding CLK pin is toggled appropriately, and the corresponding SI pin provides a valid command; that is, the three conditions are all satisfied. As a result, under the pin connections as shown in
For example, if the LED controller 600 needs to perform a write operation on the flash memory FLASH_0, it may output correct control signals through the pins CS_A, CLK_A and SI_A. For example, the CS pin CS_A may be pulled low, the CLK pin CLK_A may toggle appropriately, and the SI pin SI_A may provide a valid command for the SPI. In such a situation, the flash memory FLASH_0 is enabled by the pull-low CS signal to decode and receive the command based on the received clock signal, as the operation shown in
In other words, with the classification associated with the select pins, the flash memory FLASH_0 belongs to the group G1_A that receives the select signal from the CS pin CS_A. With the classification associated with the clock pins, the flash memory FLASH 0 belongs to the group G2_A that receives the clock signal from the CLK pin CLK_A. With the classification associated with the signal pins, the flash memory FLASH_0 belongs to the group G3_A that receives the valid command from the SI pin SI_A. Since the flash memory FLASH_0 belongs to these groups, it is selected by the LED controller 600 based on the control signals provided from these control pins.
As for the flash memories FLASH_1/3/5/7/9/11, the corresponding CS pin CS_B may be kept high; hence, these flash memories fail to operate normally regardless of whether the clock signal and the command are correctly received. For example, as shown in
As for the flash memories FLASH_2/3/6/7/10/11, the corresponding CLK pin CLK_B may not toggle; hence, these flash memories fail to operate normally regardless of whether the CS signal and the command are correctly received. For example, as shown in
As for the flash memories FLASH_4-FLASH_11, the corresponding SI pins SI_B and SI_C may not forward a valid command; hence, these flash memories fail to operate normally regardless of whether the CS signal and the clock signal are correctly received. For example, as shown in
As shown in
In a similar manner, if the LED controller 600 needs to perform a read/write operation on the flash memory FLASH_3, it may output correct control signals through the pins CS_B, CLK_B and SI_A, where the CS pin CS_B may be pulled low, the CLK pin CLK_B may toggle appropriately, and the SI pin SI_A may provide a valid read or write enable command. Other non-selected control pins may not output signals normally, so that other flash memories will not be enabled to perform normal operations. For example, the CS pin CS_A may be kept high, the CLK pin CLK_A may be kept high or low, and the SI pins SI_B and SI_C may provide a NOP command. In such a situation, among all the flash memories FLASH_0-FLASH_11, only the selected flash memory FLASH_3 can operate normally.
In a similar manner, if the LED controller 600 needs to perform a read/write operation on the flash memory FLASH_6, it may output correct control signals through the pins CS_A, CLK_B and SI_B, where the CS pin CS_A may be pulled low, the CLK pin CLK_B may toggle appropriately, and the SI pin SI_B may provide a valid read or write enable command. Other non-selected control pins may not output signals normally, so that other flash memories will not be enabled to perform normal operations. For example, the CS pin CS_B may be kept high, the CLK pin CLK_A may be kept high or low, and the SI pins SI_A and SI_C may provide a NOP command. In such a situation, among all the flash memories FLASH_0-FLASH_11, only the selected flash memory FLASH_6 can operate normally.
In a similar manner, if the LED controller 600 needs to perform a read/write operation on the flash memory FLASH_10, it may output correct control signals through the pins CS_A, CLK_B and SI_C, where the CS pin CS_A may be pulled low, the CLK pin CLK_B may toggle appropriately, and the SI pin SI_C may provide a valid read or write enable command. Other non-selected control pins may not output signals normally, so that other flash memories will not be enabled to perform normal operations. For example, the CS pin CS_B may be kept high, the CLK pin CLK_A may be kept high or low, and the SI pins SI_A and SI_B may provide a NOP command. In such a situation, among all the flash memories FLASH_0-FLASH_11, only the selected flash memory FLASH_10 can operate normally.
Please note that the present invention aims at providing a novel operational method for selecting and accessing multiple memories. Those skilled in the art may make modifications and alterations accordingly. For example, in the above embodiments, there are 12 flash memories controlled by the LED controller. In another embodiment, a master device such as the LED controller may be configured to control any number of slave devices such as the flash memories, where the number of control pins may be deployed accordingly. In addition, the operational method of the present invention is applied to an LED panel control system where an LED controller is configured to control multiple flash memories. In another embodiment, the master device may be any other controlling device such as a memory controller, touch controller, central processing unit (CPU), microprocessor or microcontroller unit (MCU), but not limited thereto. Alternatively or additionally, the slave device may be another type of memory, or may be any other controllable device such as a sensor or driver chip, but not limited thereto.
In the embodiments of the present invention, the target slave device (e.g., flash memory) is selected according to the outputs of CS pins, CLK pins and SI pins of the SPI. Since the slave devices are connected to the master device through different control pins, the combination of the select signal (through a CS pin), the clock signal (through a CLK pin), and the command (through an SI pin) may serve as a decoder. In other words, the decoding function is embedded in the combinations of the CS pins, CLK pins and SI pins, allowing the master device to select a target slave device by outputting appropriate signals through these control pins. These control pins may be allocated in any appropriate manner to realize the selection of slave devices, and the related implementations should not be limited to those described in the above paragraphs.
For example, in another embodiment, through the SPI, an LED controller may be coupled to 12 flash memories FLASH_0-FLASH_11 through 3 CS pins CS_A, CS_B and CS_C, 2 CLK pins CLK_A and CLK_B, and 2 SI pins SI_A and SI_B. The flash memories FLASH_0-FLASH_11 may be classified into three groups G1_A, G1_B and G1_C that receive a select signal from the CS pins CS_A, CS_B and CS_C, respectively. The flash memories FLASH_0-FLASH_11 may also be classified into two groups G2_A and G2_B that receive a clock signal from the CLK pins CLK_A and CLK_B, respectively. The flash memories FLASH_0-FLASH_11 may further be classified into two groups G3_A and G3_B in a different manner, to receive a command from the SI pins SI_A and SI_B, respectively. An exemplary implementation of the group classifications of the flash memories FLASH 0-FLASH 11 is shown in
In detail, the CS pin CS_A may be coupled to 4 flash memories FLASH_0/1/2/3 belonging to the group G1_A, the CS pin CS_B may be coupled to another 4 flash memories FLASH_4/5/6/7 belonging to the group G1_B, and the CS pin CS_C may be coupled to another 4 flash memories FLASH_8/9/10/11 belonging to the group G1_C. The CLK pin CLK_A may be coupled to 6 flash memories FLASH_0/2/4/6/8/10 belonging to the group G2_A, and the CLK pin CLK_B may be coupled to another 6 flash memories FLASH_1/3/5/7/9/11 belonging to the group G2_B. The SI pin SI_A may be coupled to 6 flash memories FLASH_0/1/4/5/8/9 belonging to the group G3_A, and the SI pin SI_B may be coupled to another 6 flash memories FLASH 2/3/6/7/10/11 belonging to the group G3_B. In order to select a target flash memory, the LED controller may pull low one of the CS pins (CS_A, CS_B or CS_C), output the correct clock signal through one of the CLK pins (CLK_A or CLK_B), and output a valid command through one of the SI pins (SI_A or SI_B).
In another embodiment, through the SPI, an LED controller may be coupled to 12 flash memories FLASH_0-FLASH_11 through 2 CS pins CS_A and CS_B, 3 CLK pins CLK_A, CLK_B and CLK_C, and 2 SI pins SI_A and SI_B. The flash memories FLASH_0-FLASH_11 may be classified into two groups G1_A and G1_B that receive a select signal from the CS pins CS_A and CS_B, respectively. The flash memories FLASH_0-FLASH_11 may also be classified into three groups G2_A, G2_B and G2_C that receive a clock signal from the CLK pins CLK_A, CLK_B and CLK_C, respectively. The flash memories FLASH_0-FLASH_11 may further be classified into two groups G3 A and G3 B in a different manner, to receive a command from the SI pins SI_A and SI_B, respectively. An exemplary implementation of the group classifications of the flash memories FLASH 0-FLASH 11 is shown in
In detail, the CS pin CS_A may be coupled to 6 flash memories FLASH_0/1/4/5/8/9 belonging to the group G1_A, and the CS pin CS_B may be coupled to another 6 flash memories FLASH_2/3/6/7/10/11 belonging to the group G1_B. The CLK pin CLK_A may be coupled to 4 flash memories FLASH_0/1/2/3 belonging to the group G2_A, the CLK pin CLK_B may be coupled to another 4 flash memories FLASH_4/5/6/7 belonging to the group G2 B, and the CLK pin CLK_C may be coupled to another 4 flash memories FLASH_8/9/10/11 belonging to the group G2_C. The SI pin SI_A may be coupled to 6 flash memories FLASH_0/2/4/6/8/10 belonging to the group G3_A, and the SI pin SI_B may be coupled to 6 flash memories FLASH_1/3/5/7/9/11 belonging to the group G3_B. In order to select a target flash memory, the LED controller may pull low one of the CS pins (CS_A or CS_B), output the correct clock signal through one of the CLK pins (CLK_A, CLK_B or CLK_C), and output a valid command through one of the SI pins (SI_A or SI_B).
In the above embodiments, the SPI is taken as an example, where the CS pins, CLK pins and SI pins of the SPI are cooperatively applied to realize the selection of slave devices. Note that the application of the SPI is one of various implementations of the present invention. In another embodiment, another transmission interface having multiple select pins, multiple clock pins, and/or multiple signal pins may be applied, where each slave device may be coupled to one of the select pins, one of the clock pins, and one of the signal pins. A target slave device may be selected by applying a correct select signal through one of the select pins, outputting a correct clock through one of the clock pins, and outputting a valid data or command signal through one of the signal pins.
As a result, the operational method of the present invention is applicable to any control system having a master device for accessing multiple slave devices through any appropriate transmission interface, which are not limited to the LED controller, the flash memories, and/or the SPI described in this disclosure. The selection of slave devices may be realized by using a decoding function embedded in the combinations of different control pins, so as to reduce the number of pins in the transmission interface.
The abovementioned operations of accessing the slave devices by the master device may be summarized into an operational process 1400, as shown in
Step 1402: Output a select signal to a first group of memories among the plurality of memories, but not output the select signal to a second group of memories among the plurality of memories different from the first group.
Step 1404: Output a clock signal to a third group of memories among the plurality of memories, but not output the clock signal to a fourth group of memories among the plurality of memories different from the third group.
Step 1406: Output a command to a fifth group of memories among the plurality of memories, but not output the command to a sixth group of memories among the plurality of memories different from the fifth group.
Step 1408: Select one of the plurality of memories according to the select signal, the clock signal and the command.
In the operational process 1400, Steps 1402-1406 may be performed sequentially or simultaneously; that is, the select signal, the clock signal and the command may be output in a predetermined order or output at the same time. The related transmission sequence should not be a limitation of the present invention. Based on the group classifications and the outputs of these control signals, the target memory may be selected. The detailed implementations and operations of the operational process 1400 are illustrated in the above paragraphs, and will be omitted herein.
To sum up, the present invention provides a novel operational method for accessing a plurality of memories. The memories may be flash memories included in an LED display, where each flash memory may be deployed along with an LED light board, to record the compensation data for the corresponding light board. The LED display may further include an LED controller for selectively accessing the flash memories, to read out the compensation data stored in the flash memories or write the data into the flash memories. The LED controller may be coupled to the flash memories through multiple control pins, including CS pins, CLK pins and SI pins, which are configured to forward the select signal, clock signal and command, respectively. The flash memories are grouped in different manners, and thus each flash memory may be coupled to the LED controller through one of the CS pins, one of the CLK pins, and one of the SI pins. In order to select a target flash memory, the LED controller may output the select signal through one of the CS pins, output the clock signal through one of the CLK pins, and output the command through one of the SI pins. The combination of the select signal, clock signal and the command may serve as a decoder, so that the LED controller may access the selected flash memory according to these control signals.
Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.
This application claims the benefit of U.S. Provisional Application No. 63/605,591, filed on Dec. 4, 2023. The content of the application is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
63605591 | Dec 2023 | US |