MOPSlcdLX KTD-S0006-B
User Information Table of Contents » Table of Contents « 1 User Information .............................................................................1 1.1 About This Document.................................................................................................... 1 1.2 Copyright Notice.......................................................................................................... 1 1.3 Trademarks...............................................................................
User Information Table of Contents 6.7 JIDA32 Windows® Programming.....................................................................................17 6.7.1 6.7.2 6.7.3 6.7.4 Program Language C ................................................................................................................ 17 Program Language DELPHI ........................................................................................................ 18 Program Language VISUAL BASIC (VB.NET)........................
KTD-S0006-B Page 1 1 User Information 1.1 About This Document User Information This document provides information about products from KONTRON Technology A/S and/or its subsidiaries. No warranty of suitability, purpose or fitness is implied. While every attempt has been made to ensure that the information in this document is accurate the information contained within is supplied “as-is” - no liability is taken for any inaccuracies. Manual is subject to change without prior notice.
KTD-S0006-B 1.6 Page 2 User Information Life Support Policy KONTRON Technology's products are not for use as critical components in life support devices or systems without express written approval of the general manager of KONTRON Technology A/S.
KTD-S0006-B 2 Page 3 BIOS Update BIOS Update The KONTRON update tool (based on the AMD utility 'FlashROM.com') is only available for the DOS operating system. First copy the files LX800UPD.EXE, UPDATE.EXT (absolutely essential) and the BIOS file to a directory. Only the following combination of command line arguments has been tested and should be used for the update process. Note: COMMAND.COM must reside in the same directory or alternatively there has to be a valid path in the variable COMSPEC.
KTD-S0006-B Page 4 3 Graphics Interface 3.1 LCD/LVDS Technology Overview 3.1.1 Detailed Timing Descriptor (EDID or DisplayIDTM) Graphics Interface The input fields Pixel Clock, Horizontal Active, Horizontal Blank, Horizontal Sync Offset, Horizontal Sync Width, Vertical Active, Vertical Blank, Vertical Sync Offset and Vertical Sync Width must be filled in with the correct values according to the panel’s data sheet.
KTD-S0006-B Page 5 Graphics Interface Example 2 (not useable on MOPSlcdLX): SHARP LQ190E1LW01 (double pixel clock) Data sheet specifications (no definition of Sync Offset Clock Frequency [typ.] 54 MHz Horizontal Period (1) [typ.] 844 Clocks Horizontal Display Period 640 Clocks Vertical Period [typ.
KTD-S0006-B 3.1.2 Page 6 Graphics Interface ace 24 Bit Color Mapping Tips The double pixel clock or 24-bit color depth can generally be taken from the datasheet. There are two interface modes existing at 24-bit color depth: FPDI (F (Flat Panel Display Interface) or LDI (LVDS Display Interface). Some panels use the line SELL LVDS (SELect Lvds data order). The LVDS data assignment in the datasheet can give you an indication by the last channel (e.g.
KTD-S0006-B 3.2 Page 7 Graphics Interface EDID 1.3 Specification (VESA) The EDID (Extended Display Identification Data) record has a fixed structure. The first 8 bytes contain the distinctive identification 00h, FFh, FFh, FFh, FFh, FFh, FFh, 00h. The end of the record is marked by the checksum (1 byte). The result of the addition of all bytes including the checksum has to be zero. For a comprehensive support of the majority of available panels you don't need all fields of the EDID record.
KTD-S0006-B 3.3.2 Page 8 Graphics Interface DisplayIDTM Restrictions Depending on the graphic controller not all features can be used. The following table shows the most important restrictions. Restrictions for MOPSlcdLX Panels with dual or quad clock not supported (2 or 4 Pixel per Clock) Variable power sequencing not supported DisplayIDTM is not a solution for every LCD. Many displays center the picture automatically using the DEsignal.
KTD-S0006-B 3.3.4 Page 9 Graphics Interface DisplayIDTM Windows® Tool The DisplayIDTM parameter can be modified with the DisplayIDTM Windows® tool. For an example the following picture shows the input fields for the Detailed Timing parameters. For more information see the documentation of the DisplayIDTM tool (software can be downloaded from kontron.com).
KTD-S0006-B Page 10 Graphics Interface The DisplayIDTM Editor saves the parameters in a intermediate file format. The file extension is 'KDD' (Kontron DisplayIDTM Data). This file format cannot be used to program the onboard EEPROM. For transfering this file format into the binary file format for the EEPROM apply the Converter. Building DisplayIDTM File 3.3.5 Start the Windows® tool DisplayID.exe.
KTD-S0006-B 4 Page 11 Watchdog and Backlight Watchdog and Backlight The following examples (DOS programs) show the access to these two system components (C compiler: BORLAND C++). Note: These examples can't be run on Linux and Windows®. 4.1 Watchdog Example #include #define #define #define #define #define JIDA16_INT WDT_INIT WDT_TRIGGER WDT_TIMEOUT WDT_DELAY 0x15 0xE000 0xE001 50 // timeout = 10 seconds (time base = 0.
KTD-S0006-B 4.2 Page 12 Backlight Example #include #include #include #define #define #define #define #define JIDA16_INT BACKL_OUT BACKL_IN JIDA_ID BOARD_NUM 0x15 0xEA29 0xEA28 0x4648 1 void WriteBacklight (unsigned char value) { union REGS regs; regs.x.ax = BACKL_OUT; regs.x.dx = JIDA_ID; regs.h.cl = BOARD_NUM; regs.h.ch = value; int86 (JIDA16_INT, ®s, ®s); } unsigned char ReadBacklight (void) { union REGS regs; regs.x.ax = BACKL_IN; regs.x.dx = JIDA_ID; regs.h.
KTD-S0006-B 5 Page 13 Remote Control (JRC) Remote Control (JRC) The Remote Control option provides a way to intercept and reroute certain BIOS functionality over a serial port at an early stage during the boot process. There are two distinct software components involved: the first component is part of the BIOS (client), the second component runs on a different device (host) that is connected using a serial cable to the client. This component is available as a WIN32 (JRC.EXE respectively jrc1i1xx.
KTD-S0006-B 6 Page 14 JIDA32 Interface JIDA32 Interface Most KONTRON single board computers (SBCs) are equipped with unique hardware features that cannot be accessed with standard API. The JIDA32 interface allows you to access this features in a hardware independent manner under popular 32-bit operating systems. Not mentioned parts of the JIDA32 interface are not supported and can lead to wrong results. 6.
KTD-S0006-B 6.3.1 Page 15 JIDA32 Interface Bus Number Technology Type Device Count 0 I2C (primary) JIDA 1 1 SMBus Generic 2 2 I2C JILI 1 Bus Number 0 (JIDA) This bus allows access to the JIDA EEPROM in which KONTRON specific manufacturing parameters are stored. A damage of these parameters leads to a loss of warranty. Due to this a write cycle may only be performed above a defined address. 6.3.
KTD-S0006-B 6.5 Page 16 JIDA32 Interface Hardware Monitor Part The hardware monitor part contains in most cases several subsections. 6.5.1 Section Sensor Count Temperature 2 Fan Not supported Voltage Not supported Temperature The term On-Chip diode designates the chip temperature of the temperature sensor (with no dependence to the CPU temperature). 6.6 Sensor Number Abs.
KTD-S0006-B 6.7 Page 17 JIDA32 Interface JIDA32 Windows® Programming For further information see the actual JIDA32 documentation (JIDA32.pdf). 6.7.1 Program Language C The demo program reads and shows the board name and the first 16 bytes of SPD EEPROM (SMBus). The program uses the static linked library JIDA.LIB. Example: #include #include "jida.
KTD-S0006-B 6.7.2 Page 18 JIDA32 Interface Program Language DELPHI The demo program activates the watchdog (timeout = 30 seconds). The keyword 'var' passes the argument by reference.
KTD-S0006-B Page 19 JIDA32 Interface procedure TForm1.Button1Click(Sender: TObject); begin {Method 1} if JidaDLLInitialize () then begin if JidaDllIsAvailable () then begin if JidaBoardOpen (JIDA_BOARD_CLASS_CPU, 0, JIDA_FLAGS_DEFAULT, hJida) then JidaWDogSetConfig (hJida, 0, JIDA_TIMEOUT_VALUE, JIDA_DELAY_VALUE, JIDA_REBOOT_MODE); end; JidaDllUninitialize (); end; end; end.
KTD-S0006-B Page 20 The associated DPR file: program Jidatest; uses Forms, mainU in 'mainU.pas' {Form1}; {$R *.res} begin Application.Initialize; Application.CreateForm (TForm1, Form1); Application.Run; end.
KTD-S0006-B 6.7.3 Page 21 JIDA32 Interface Program Language VISUAL BASIC (VB.NET) The demo program shows the board count value and activates the watchdog (timeout = 10 seconds). Example: Public Class JidaTest Declare Declare Declare Declare Auto Function JidaDllInitialize Lib "JIDA.DLL" () As Boolean Auto Function JidaDllUninitialize Lib "JIDA.DLL" () As Boolean Auto Function JidaDllIsAvailable Lib "JIDA.DLL" () As Boolean Auto Function JidaBoardCount Lib "JIDA.
KTD-S0006-B Page 22 JIDA32 Interface The associated Designer file: Partial Class JidaTest Inherits System.Windows.Forms.Form Protected Overrides Sub Dispose(ByVal disposing As Boolean) Try If disposing AndAlso components IsNot Nothing Then components.Dispose() End If Finally MyBase.Dispose(disposing) End Try End Sub Private components As System.ComponentModel.IContainer
KTD-S0006-B 6.7.4 Page 23 JIDA32 Interface Module Definition File The calling program can refer to the function by name or by ordinal value. The tool IMPDEF.EXE (e.g. BORLAND C++) make it possible to generate the DEF-file (from JIDA.DLL 06/07/2004, in newer DLLs the ordinal value can be changed).
KTD-S0006-B JidaIOIsAvailable JidaIORead JidaIOSetDirection JidaIOWrite JidaIOXorAndXor JidaJ32B JidaJ32BTransAddr JidaPerformanceGetCurrent JidaPerformanceGetPolicy JidaPerformanceGetPolicyCaps JidaPerformanceSetCurrent JidaPerformanceSetPolicy JidaStorageAreaBlockSize JidaStorageAreaCount JidaStorageAreaErase JidaStorageAreaEraseStatus JidaStorageAreaRead JidaStorageAreaSize JidaStorageAreaType JidaStorageAreaWrite JidaTemperatureCount JidaTemperatureGetCurrent JidaTemperatureGetInfo JidaTemperatureSetLi
KTD-S0006-B 6.8 Page 25 JIDA32 Interface JIDA32 Linux Programming Please note that the JIDA32 package does not include full sources. Instead precompiled objects are provided that can be used to build a JIDA32 package for a certain environment (GCC, kernel, libc). In order to handle GCC version incompatibilities and different kernel module build environments the package includes different branches (you can use the GCC_3.x.x subdirectory for GCC 4.x.x compiler versions). GCC_2.x.
KTD-S0006-B Page 26 JIDA32 Interface You can provide a prefix for the above named directories with the INSTALL_MOD_PATH environment variable if you want to install the files into an alternative root file system. (Note: kernel 2.6.x only) After successfull build and installation you should run the sample application jidatst which will display the following message: JIDA system driver is incompatible or not installed.
KTD-S0006-B Page 27 Appendix A: Reference Documents Appendix A: Reference Documents KONTRON Technology A/S can't guarantee the availability of internet addresses. Document Internet Address Advanced Configuration and Power Interface (ACPI) http://www.acpi.info/spec.htm AT Attachment Storage Interface Specification (ATA) http://t13.org Digital Visual Interface (DVI) http://www.ddwg.org High Definition Audio Specification (HD Audio) http://www.intel.
KTD-S0006-B Page 28 Appendix B: Document Revision History Appendix B: Document Revision History Revision Date Author S0006-B 01/21/11 M. Hüttmann Corrected the maximal panel resolution in chapter 'Graphics Interface' Changes S0006-A 11/04/10 M. Hüttmann Replaced the JIDA32 Delphi example S0006-0 12/16/09 M. Hüttmann First release Corporate Offices Europe, Middle East & Africa North America Asia Pacific Oskar-von-Miller-Str. 1 85386 Eching/Munich Germany Tel.