Large-scale LED display systems have been widely used in various indoor and outdoor occasions, but because they mostly use multi-machine systems, the system cost and the complexity of software and hardware design are increased. When a multi-machine system is working, it is essentially equivalent to a computer system with a high bus width. Its technical difficulties are as follows:
◆ There are tens of thousands of pixels on a large LED display screen. As the display area increases, the circuit structure also increases.
◆In order to ensure a certain display quality, the frame rate should be above 30 frames/s. For a 512×252 monochrome LED screen, the data transmission volume per second is at least 480 KB. For color screens and high-quality display occasions, the data transmission volume will increase by integer multiples.
◆When the LED screen is located outdoors, the communication between the upper and lower computers may be hundreds of meters or even thousands of meters, requiring fast and reliable communication.
In view of the above two technical difficulties, in order to use a single CPU system instead of a multi-machine system to control a large LED display system, the following coping strategies are adopted:
◆The large-scale LED screen is composed of universal display modules, which have good versatility and embeddability.
◆Using 16-bit parallel bus data transmission mode, to display the display module at the corresponding position, the column latch unit on the module can be accurately selected, so that the horizontally cascaded LED display modules can be regarded as a continuous
|
◆Using the DMA controller inside S3C44BOX for data transmission and control saves the CPU instruction fetching and translation time when using instructions to transmit data, as well as the software overhead of counting, comparing, jumping, etc. when using instructions to transmit data. This enables data transmission to be completed in continuous read and write operations, improving the speed and efficiency of data transmission.
1 Hardware structure and principle
Large-scale LED display systems are generally divided into two parts: the main control board and the display driver module.
1.1 Display module
Nowadays, large-scale LED display systems use the characteristics of human vision to adopt row-by-row scanning and column driving to save hardware costs. This system uses 1/16 row-by-row scanning, so the entire large LED screen is divided into 16 rows of the same name. The display module schematic is shown in Figure 1.
Each display module is a 64×32 small dot matrix screen, divided into two parts, 16 rows in the upper and lower parts, and 8 groups of column data latches in each part. The upper and lower parts reuse a 4-16 decoder U1, which is driven to scan 1/16 row by row for display, and 16 groups of column drive latches are required to latch the column display data. When using the parallel bus data transmission method, a 4-16 decoder U2 is required to enable the column latch. When refreshing the dot matrix, two-level latches are required to latch the column display data, otherwise the display tailing phenomenon will occur. The data being displayed this time is stored in the second-level latch. The main control board refreshes the column data of the next row of data to be displayed by the first-level latch on the screen end. After the data to be displayed in the next row is transmitted, it is latched to the second-level latch output and driven to drive the next row of display. Using the parallel bus method, the second-level latch is still more economical than the solution of serial data transmission and then converted to parallel output.
When display modules are horizontally cascaded, the idea of staggered cascading is used to make it versatile and embeddable. As shown in Figure 1, the strobe line will be staggered once when it reaches a level and passed to the next level, always making the first strobe line BLK_EN0 the enable control line of the first-level column latch decoder, so that n strobe lines can sequentially select n-level horizontal cascade modules. In this way, the same display modules can be used to arbitrarily combine into horizontally cascaded strip screens.
By using the idea of staggered cascading, the decoder U2 of the first-level latch on the horizontally cascaded display module can be enabled in sequence, and the decoder can enable the first-level column data latch in sequence. In this way, the first-level column data latch on the horizontally cascaded screen can be regarded as a continuous storage unit, which is the basis for using DMA parallel data transmission control.
1.2 Interface design between main control circuit and LED screen
This display system uses S3C44BOX based on ARM7TDMI core and with internal DMA controller as the main controller, making it work in ARM state and use 16-bit bus. Since the LED screen is virtually regarded as a continuous storage unit, the address space 0x2000000~Ox4000000 is allocated to it.
The main control circuit and LED screen interface should be able to achieve the following functions:
◆Select the display module at any position and the first-level column data latch on the module. Accurately latch the dot matrix code to be displayed at the position, and after the data in the first-level column data latch is refreshed, latch the refreshed data into the second-level column data latch and output it.
◆Can control the strobe drive of one of the 16 rows of the same name for progressive scanning display.
◆Realize the logic level conversion from 3.3 V of main control chip to 5 V of LED screen.
The schematic diagram of the main control board and LED screen interface circuit is shown in Figure 2.
The structure of a large LED screen can be divided into vertical cascade and horizontal cascade. This structure is similar to a three-dimensional array. Assume a three-dimensional array LED[i][j][k], where:
i=0, 1, 2,…, m represents the serial number of the vertical cascade level of the LED screen.
j=0, 1, 2,…, n represents the serial number of the horizontal cascade level of the LED screen.
k=0, 1, 2, ..., 16 represents the serial numbers of the 16 first-level column data latches on the display module.
&nbs
|
Since the states on the address and data buses are constantly changing, the address and data signals should be latched when writing to the LED screen. U2, U3 and U4 are used on the main control board to latch the states of the address and data buses when writing to the LED. The LED screen is assigned the first address of Ox2000000. When writing to it, the nGCSl and nWE pins of the S3C44BOX will have an effective low level with a programmable control delay. nGCSl is used as the latch enable control signal of U2, U3 and U4 through a NOT gate to ensure that the signals on the address and data buses are latched only when the LED screen is accessed. nWE is used as the latch enable control signal of the first-level column data latch (U3~U19 in Figure 1) at the screen end through a NOT gate to ensure that the refresh data is latched only when it stably appears at the input end of the column data latch. PCI0 of S3C44BOX is used as the latch enable control signal line of the second-level latches (U20~U35 in Figure 1) of all screen ends; PC[3:O] of S3C44BOX is used as the decoding input of the 16-row driver decoder (U1 in Figure 1). Since the main control board only needs to control the output of the LED screen during data transmission and does not require signal feedback, the interface circuit uses a cheap 5V powered HCT circuit chip solution to meet the logic level conversion from the main control chip 3.3V to the LED screen 5V.
When DMA transfers data, the more concerned thing is the DMA write operation, the timing is shown in Figure 3. At t1, the DMA write operation starts, and the address and refresh data of the corresponding position of the LED screen appear on the address and data bus; at t2, the nGCS1 pin appears an effective low level, and the data on the address and data bus is latched into U2~U4 and output; at t3, the nWE pin appears an effective low level, and the output data of U2~U4 is latched into the first-level column data latch of the screen end and output. In this way, the main controller completes a column data refresh.
2 Software Design
2.1 LED screen display program design
Since the internal DMA controller of S3C4480X is used for data transmission and control, the display program is greatly simplified, and the program flow is shown in Figure 4. The transmission of the dot matrix code is completed by the DMA controller. It is only necessary to assign the first address of the dot matrix code, the first address of the LED screen and the value of the transmission data amount to the corresponding control word before starting the DMA data transmission, and then start the DMA operation. After completing the transmission of all the dot matrix codes of the same name row, the refreshed data is latched to the output of the second-level column data latch, and the same name row is driven to display. In this way, after 16 rows of the same name are displayed in a loop, a frame of dot matrix display is completed.
2.2 Dot Matrix Sorting
Due to the circuit structure of the LED display module and the use of 16-bit parallel bus and DMA data transmission technology, the order of dot matrix code during display needs to meet the following requirements:
① One data transmission on the 16-bit parallel bus, that is, one DMA write operation transmits two bytes of dot matrix code, and the low-order and high-order bytes are respectively sent to the same-name row and column data latches of two adjacent vertical cascade modules. Therefore, the same-name row and column dot matrix codes of adjacent vertical cascade modules should be stored continuously.
② Due to the decoding selection circuit structure of the first-level column data latch of the display module and the DMA data transmission requirements, the row dot matrix with the same name in the upper and lower parts of the same display module should be stored continuously in sequence according to the selection order of the column data latch.
&n
|
④ Each vertical cascade level is arranged in dot matrix code according to the principles of ①, ②, and ③.
⑤ In the 16-line scanning display mode, a large LED screen is divided into 16 rows of the same name, and each row of the same name is arranged in dot matrix according to the principles of ①, ②, ③, and ④.
Taking the data sorting of the first row of the same-named rows of a 128×64 dot matrix screen as an example, as shown in Figure 5, the storage order of the dot matrix codes of the first row of the same-named rows should be: a, b...z, A, B,...z...
3 Conclusion
The use of parallel bus DMA data transmission technology simplifies the software and hardware design of the LED display system, reduces system costs, and achieves good display quality. Under the system clock of 22.1184MHz, the display frame rate of 512×256 (8m2) monochrome dot matrix screen reaches 250Hz, and 1 byte is transmitted in an average of 120ns, achieving the purpose of using a single CPU system instead of a multi-machine system to control the LED display system. However, in order to enable the previous generation of display driver boards to still be used, the dot matrix code needs to be sorted, and can only be displayed in page mode when displayed, so a large-capacity memory is required when displaying multiple pages of dynamic scrolling. For a 512×256 monochrome dot matrix screen, a capacity of tens of megabytes is required. The use of 32-bit ARM7TDMl core advanced controller S3C44BOX and cheap large-capacity SDRAM memory can solve this problem well. If a display driver board designed for DMA control display is used for display, the dot matrix code does not need to be sorted, and a SRAM of hundreds of KB can meet the system requirements.
Previous article:Implementation of anti-electromagnetic interference characteristics for mobile phones, cameras, and LCD screens
Next article:Software implementation of smooth movement of LCD display
Recommended ReadingLatest update time:2024-11-16 15:34
- Popular Resources
- Popular amplifiers
- MathWorks and NXP Collaborate to Launch Model-Based Design Toolbox for Battery Management Systems
- STMicroelectronics' advanced galvanically isolated gate driver STGAP3S provides flexible protection for IGBTs and SiC MOSFETs
- New diaphragm-free solid-state lithium battery technology is launched: the distance between the positive and negative electrodes is less than 0.000001 meters
- [“Source” Observe the Autumn Series] Application and testing of the next generation of semiconductor gallium oxide device photodetectors
- 采用自主设计封装,绝缘电阻显著提高!ROHM开发出更高电压xEV系统的SiC肖特基势垒二极管
- Will GaN replace SiC? PI's disruptive 1700V InnoMux2 is here to demonstrate
- From Isolation to the Third and a Half Generation: Understanding Naxinwei's Gate Driver IC in One Article
- The appeal of 48 V technology: importance, benefits and key factors in system-level applications
- Important breakthrough in recycling of used lithium-ion batteries
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- Use of Inductor
- Reward: Looking for a solution to migrate hard disk recorders and surveillance cameras to the cloud platform. Is it feasible?
- Is there anyone who has done a high frequency injection control algorithm for PMSM?
- How to Desolder a Stamp Hole Bluetooth Module
- Ultrasonic Sensing MSP430FR6043 for Air and Water Flow Metering Applications
- Based on L6230+STM32 FOC5.2 library PMSM driver: program+schematic diagram+BOM and other open source sharing
- Hub USB function test, please give me some advice
- How to determine which MSP430 is right for your LCD application
- What should I pay attention to when developing the live broadcast system source code?
- How to import images into DDR in CCSv5