Changes

Jump to: navigation, search
no edit summary
{{InfoBoxTop}}
{{Applies To Bora}}
{{InfoBoxBottom}}
{{WarningMessage|text=This application note was validated against specific versions of the kit only. It may not work with other versions. Supported versions are listed in the ''History'' section.}}
==History==
{| class="wikitable" border="1"
|-
|1.0.0
|08:40, 9 September 2015 (CEST)|[[Bora_Embedded_Linux_Kit_(BELK)#BELK_software_components|2.2.0]](*)
|First release
|-
|}
 
(*) Please note that, even if BELK 2.2.0 is based on Vivado 2014.4, '''the design released along with this Application Note has been implemented with Vivado 2013.4'''.
 
==Introduction==
This application note shows how to interface BoraEVB to 5.7" thin film electroluminescent display Lumineq EL 320.240.36-HB. This project is based As staded on [[Bora_Embedded_Linux_Kit_(BELK)#BELK_software_components|2http://lumineq.2com Lumineq web site], ''"Lumineq TFEL non-transparent displays are used in mining, marine, military, medical and many more demanding environments.0]]TFEL displays are robust and reliable, and usually used in extreme environments, where traditional displays cannot cope with the conditions. Reading of "''These characteristics make these displays an ideal solution when [[AN-BELK-004Category:_Interfacing_BoraEVB_to_TFT_LCD_displayBora|AN-BELK-004BORA]] is recommended since many concepts are shared by these two application notesused is such environments.
This project is based on [[Bora_Embedded_Linux_Kit_(BELK)#BELK_software_components|BELK 2.2.0]]. Reading of [[AN-BELK-004:_Interfacing_BoraEVB/BoraXEVB_to_TFT_LCD_display|AN-BELK-004]] is recommended since many concepts are shared by these two application notes. For more information about Lumineq part, please refer to this [http://lumineq.com/en/product-tags/diagonal-size-57-2link].
==Physical interfacing==
To interface the display a small adapter board is needed. On BoraEVB side it is connected to JP17 and JP23 headers. On display side it connects to LCD panel through a flat cable that is plugged onto JP3 header.
At this URL TBD [https://www.dave.eu/system/files/area-riservata/BORA_LCD_ADAPTER_Lumineq_el-320.240.36-hb_1.1.0_0.pdf link] schematics are available for download.
Also the following changes need to be made on BoraEVB in order to provide LCD required power supplies (12V and 5V power supplies):
* remove D12, D13, RP62, RP64
* wire D1.1 to JP23.2
* wire C164.1 to JP23.1
* wire C164.1 to JP23.3
 
 
The following table shows the signals used to drive the display:
{| class="wikitable" |
| align="center" style="background:#f0f0f0;"|'''LCD Signal'''
| align="center" style="background:#f0f0f0;"|'''BORA SOM Signal'''
|-
| DISPLAY_DATA[0]||IO_25_34
|-
| DISPLAY_DATA[1]||IO_L18N_T2_34
|-
| DISPLAY_DATA[2]||IO_L22N_T3_34
|-
| DISPLAY_DATA[3]||IO_L22P_T3_34
|-
| PIX_CLK||IO_L21N_T3_DQS_34
|-
| D_en||IO_L12P_T1_MRCC_34
|-
| H_SYNC||IO_L18P_T2_34
|-
| V_SYNC||IO_L19N_T3_VREF_34
|-
|}
==Block diagram and Vivado design==
The following picture shows simplified block diagram of the design. In principle the structure of the design is the same of the one described in [[AN-BELK-004:_Interfacing_BoraEVB_to_TFT_LCD_display_Interfacing_BoraEVB/BoraXEVB_to_TFT_LCD_display|AN-BELK-004]].
[[File:An-belk-005-01.jpg|700px]]
LCD is driven by a controller implemented in PL that fetches pixel data from frame buffer and periodically refreshes physical screen. LCD controller provides configuration registers that are mapped in the following address range: The TFEL display is driven by a controller implemented in PL that fetches pixel data from frame buffer and periodically refreshes physical screen. The LCD controller system is composed of an AXI VDMA IP and a custom version of the LCD controller (derived from [[AN-BELK-004:_Interfacing_BoraEVB/BoraXEVB_to_TFT_LCD_display|AN-BELK-004 ]] LCD controller) itself. AXI VDMA and the LCD controller provides configuration registers that are mapped in the following address range:
*AXI VDMA: 0x43000000 - 0x4300FFFF
*Custom LCD Controller: 0x43C00000 - 0x43C0FFFF
To implement frame buffer, a portion of main SDRAM is used. This area is allocated at runtime by linux frame buffer driver.
Every pixel on the display has 2 possible states, ON (light pixel) or OFF (dark pixel).On In the frame buffer, the memory each pixel is mapped with 8bit for pixelrepresented by 8 bits. A byte of value 0xFF represents a an ON pixel, and all the other values (0xFE down to 0x00) represent a an OFF pixel.
At the following URL this [https://www.dave.eu/system/files/area-riservata/AN-BELK-005-xpr.zip link] the Vivado design is available for download: TBD. Please note that, even if this application note is based on BELK 2.2.0, '''this design has been implemented with Vivado 2013.4'''.
There are also two GPIOTwo PL IOs, controlled by the linux driver, that manage the power supply supplies of the display (5V and 12V from BoraEVB to Lumineq Display).
==Enabling frame buffer driver in linux kernel==
 
 
To enable frame buffer driver user need to:
* get the pre-built binaries from TBDthis [https://www.dave.eu/system/files/area-riservata/AN-BELK-005-sw.zip link].
Kernel and device tree can also be build built with the following procedure:
* update Bora kernel repository (as described [[Bora_Embedded_Linux_Kit_(BELK)#Updating_the_repositories_from_BELK_2.1.0_to_BELK_2.2.0|here]])
* checkout ''bora-feat-lcd-support'' branch (using ''git checkout bora-feat-lcd-support'' command)
* build the updated kernel source as usual
Put the binaries on the first (FAT32) partition of your BELK 2.2.0 SD card, overwriting the original one when if needed. Please note that you need the following files:
* boot.bin
* bora.dtb
</pre>
You will also see two [https://en.wikipedia.org/wiki/Tux TuxTuxes] on the top left corner of the LCD, indicating that this Linux system has two cores:[[File:An-belk-005-03.jpg|thumb|center|400px]]
Once the kernel has completed boot, frame buffer can be accessed from user space applications via <code>/dev/fb0</code> device file (for more details please refer to https://www.kernel.org/doc/Documentation/fb/framebuffer.txt).
The following image shows a slideshow generated with [http://linux.die.net/man/1/feh feh] image viewer on top of X Window System:
TBD[[File:An-belk-005-04.jpg|thumb|center|400px]]
8,154
edits

Navigation menu