Hitex LPC4350 REV A5 HDMI Example?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Hitex LPC4350 REV A5 HDMI Example?

1,807 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by picman on Wed Feb 06 09:45:03 MST 2013
Has any one got a simple example for the HDMI on the Hitex board?
I phoned Hitex UK today and they said they dont have any info, was prob done by someone in germany....
Labels (1)
0 Kudos
16 Replies

1,333 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by bavarian on Wed Oct 29 11:53:51 MST 2014
Well, the support for the TDA19988 is quite limited, but maybe it helps when you look into the source code project which was posted in this thread:

http://www.lpcware.com/system/files/LPC4350_FPU_TFT_HDMI-v2.0_1.zip

In one of the files (tda19988.c) there is the hardcoded I2C init procedure for the TDA19988 for different setups. Maybe this helps.

Regards,
NXP Support Team
0 Kudos

1,333 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by dew777 on Mon Oct 20 09:41:02 MST 2014
Is this the proper place to ask about using the TDA19988 HDMI/framer?

What is the best video INPUT configuration for using the framer? I've experimented with the resolution (width/height), front-porch/back-porch/syn-width, and pixel-clock-speeds but always wind up with HDMI output that jumps, blinks, and skews although I can see that parts and pieces of the video is being displayed  :~  So it seems like my video source timing is wrong.

In addition, when I configure the TDA19988 (I2C) register 0xE4 to display a "test-pattern" it shows a stable (non-jumpy) color-band test pattern.

Thanks in advance!
0 Kudos

1,333 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by madhavan on Mon Aug 25 23:37:38 MST 2014
please provide me some references where i can build a proper VGA transmitter for displaying texts (not images less memory require) in various fonts.
i search a lot but there is not satisfactory solution in this forum, :(
could i process it with LPC4350's inbuilt PWM(motor controller) module to generate sync frequencies in way to achieve high resolution VGA signals ?

the expansion board is limited to 800 x 600 :(
VGA :
resolution : 1024 x 768
frequency 60 hz

thanks
0 Kudos

1,333 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by bavarian on Fri Aug 08 06:09:56 MST 2014
This board from Embedded Artists

http://www.embeddedartists.com/products/displays/display_expansion.php

has a VGA transmitter from AD. But I don't know what this device can do.
Anyway, the problem remains: the amount of data which you have to deliver for 720p is huge.

Regards,
NXP Support Team

0 Kudos

1,333 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by madhavan on Fri Aug 08 04:13:40 MST 2014
actually i just want to synthesize VGA signalling for display 720 p.
either  its from hitex board (lpc4350) or any other dsp based processor.
is there any other development board that  helps for VGA ?


0 Kudos

1,333 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by bavarian on Mon Aug 04 05:17:29 MST 2014
Hello Manish,

I think you have some wrong understanding of what this MCU can do.

[list]
  [*]  our MCU has a TFT interface. This is a digital interface. There is no VGA signal available on this board. VGA is analog.
  [*]  our TFT controller can do in maximum 1024 x 768 pixels, but I have doubts that you can fulfill the VGA spec for this resolution (60-72 MHz refresh rate is too high for our MCU, there is too much data to shuffle from the frame buffer to the display)
[/list]

If you want to display images with this resolution you need to use another class of controllers, typically one of these so called SoCs, like Rasperry.

NXP has a TFT-to-VGA device, but the same problem applies here as well: the LPC4300 MCU with its TFT interface is not powerful enough to drive this resolution (as well as all other NXP MCUs with TFT interface).

Regards,
NXP Support Team.
0 Kudos

1,333 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by madhavan on Mon Jul 28 00:36:58 MST 2014
Hello bavarian,
previously my project was based on 800x600 HDMI. that was running successfully after too many enhancements. :)

now my current project is based on VGA 1024x768 to 1280x768  resolution or 720p at 60 -72 hz . for displaying images .
i don't know much about VGA signalling.
so my question are:

1. How to manipulate VGA signals in HItex A5 board without changing HDMI decoder (if change is require it's also ok).

2.The pin-out  for 7" TFT can be corporate for VGA  ?

3.Is there need of  any decoder IC  (like TDA19988 for HDMI  ) for VGA signalling if yes  please share the details.

4.description for enhancing high resolution upto 720p if possible for both HDMI and VGA.

5. reference for VGA Transmitter.
0 Kudos

1,333 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by madhavan on Sat May 31 07:49:07 MST 2014
thanx Bavarian,
now everything is perfect, found problem in my hdmi to vga converter .
instead of converter i applied hdmi cable and everything is working  fine. :)
0 Kudos

1,333 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by bavarian on Mon May 26 08:52:00 MST 2014
OK, so the mystery with the board is solved 

I didn't know that a Hitex revision A5 exists, but I will ask the guys at Hitex about it and if there are any changes.

About the sound / missing sound:  the original project was compiled with an older version of Keil. Everything was working fine there.
Newer versions than 4.54 are causing an error in the following function in file lpc43xx_cgu.c:

uint32_t CGU_GetPCLKFrequency (CGU_PERIPHERAL_T Clock){
uint32_t ClkSrc;
if(Clock >= CGU_PERIPHERAL_WWDT && Clock <= CGU_PERIPHERAL_ADC0)
return CGU_ERROR_INVALID_PARAM;

if(CGU_PERIPHERAL_Info[Clock].PerBaseEntity != CGU_ENTITY_NONE){
/* Get Base Clock Source */
Clksrc=(CGU_PER_BASE_CTRL(Clock) & CGU_CTRL_SRC_MASK) >> 24;
/* GetBase Status*/
if(CGU_PER_BASE_CTRL(Clock) & 1)
return 0;
/* check Branch if it is enabled */
if((CGU_PERIPHERAL_Info[Clock].PerBranchOffset!= 0) && !(CGU_PER_BRANCH_STATUS(Clock) & CGU_BRANCH_STATUS_ENABLE_MASK)) return 0;
}else{
if(CGU_REG_BASE_CTRL(Clock) & 1)return 0;
Clksrc=(CGU_REG_BASE_CTRL(Clock) & CGU_CTRL_SRC_MASK) >> 24;
/* check Branch if it is enabled */
if((CGU_PERIPHERAL_Info[Clock].RegBranchOffset!= 0) && !(CGU_REG_BRANCH_STATUS(Clock) & CGU_BRANCH_STATUS_ENABLE_MASK)) return 0;
}
//return CGU_ClockSourceFrequency[ClkSrc];
return(180000000);    // This is the quick patch for the problem caused by Keil uVision > version 4.54. Only 0 would be returned.
}


Apply the patch in the last line and then audio should work again. Something in the parameter structure seems to be defined in such a way that the newer compilers are optimizing things away.

Don't you have a simply HDMI cable which enables you to connect the Hitex board with a monitor / TV with an HDMI input?
This would exclude that the converter is the problem.
Jumper settings for the board are as shown in the power point slide.

Regards,
NXP Support Team.
0 Kudos

1,333 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by madhavan on Mon May 26 06:00:07 MST 2014
hello bavarian,

actually i've hitex A5 board and the pic was from ppt inside your project's  Doc i just wanted to ask the configuration but in revisions probably it'll fixed .

is there any changes made between A5 and A4 board  ?

i got sound playing after running your code but not the display.

i used HDMI to VGA converter for 21" dispaly (offers to display 800x600 resolution) rather than DVI.

i found a problem  when i recompile your project without modification....the sound elapsed... :(  .but found proper messages via hyperterminal donno why.

what should i  check while debugging  ??

i used keil 4.60.



0 Kudos

1,333 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by bavarian on Mon May 26 04:21:32 MST 2014
Take care about 7-bit or 8-bit addressing for I2C:

0x34 = 0x68 >> 1
0x70 = 0xE0 >> 1

This software uses 7-bit addresses as mentioned in the comment.

The picture you send me puzzled me a little bit. This is a board I personally modified years ago with a connector, to get access to the I2C and CEC bus pins of the HDMI chip.
This was just for debug reasons and doesn't influence the normal behavior.

[list]
  [*]  Where did you get this board from? I must have sent it to a conference or show long ago.
  [*]  Can you tell me if it is a version A3 or version A4 board?
  [*]  Are there two other wires on the bottom of the board? These should be removed?
[/list]

I just tested the project as posted on my version A4 again. Simply compiled and downloaded it to the SPIFI, connected a 17" computer monitor via HDMI-->DVI cable and it works fine.
Button SW6 changes between the demos.

The debug output shows that you reached the appleman demo where you can zoom in using the joystick.
I've seen that the other buttons are not doing what they should do in this part of the demo, but that's just minor.

Regards,
NXP Support Team
0 Kudos

1,333 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by madhavan on Sat May 24 05:00:07 MST 2014
Thanks for the quick reply bavarian...i just download the keil 4.60 full version....and trying to compile your code..with following config.

* #define :  LPC43XX HITEX_BOARD HITEX_A4 EXT_STAT_MEM EXT_DYN_MEM CORE_M4 CLKOUT_HALF _32KHZ , I2C_BITBANGING  HDMI_PUTTHROUGH HDMI_ONLY in KEIL compiler

i successfully compile and run  the code and found some debug messages on my hyper terminal......(mentioned in images.)
but unfortunately i got nothing to display on my monitor. :(

i EDIT some entries...

1.HDMI,CEC ADDRESSES

/** I2C address  (as 7-bit address). */
#define I2C_ADDRESS_TDA19988_CEC       (0x34)  //but it was (0x68)
#define I2C_ADDRESS_TDA19988_HDMI    (0x70) // but it was (0xE0) 

above configuration is mentioned   in Table 21 and Table 22 of  TDA19988 datsheet.


can you please tell me following thing..
1.did you make some changes by interconnecting a wire with gnd to HDMI port ????  i've mentioned  the image please find.

2. jumper settings you made for HDMI
3.power supply :i used USB power
4.what if i use HDMI to VGA converter.?
5.config you made for HDMI,CEC ADDRESSES


0 Kudos

1,333 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by bavarian on Fri May 23 07:19:59 MST 2014
So in principle you have every component available:

[list]
  [*]  The Hitex A4 board
  [*]  The Link2 debugger board
  [*]  LPCXpresso 6 (even if I would recommend version 7.x)
  [*]  LPCOpen software v2.12 (lpcopen_2_12_lpcxpresso_hitex_eva_4350.zip)
  [*]  My HDMI example
[/list]

What you need to do is the following:

[list]
  [*]  Select a working LCD example under LPCXpresso, I recommend to use  .\lpcopen_2_12_lpcxpresso_hitex_eva_4350_1\periph_lcd
  [*]  Port the TDA19988 example into it. It is well documented code and it is not very complex
  [*]  In the file lcd_test.c you find most of the HDMI related code under the defines HDMI_PUTTHROUGH , HDMI_TEST and HDMI_ONLY
  [*]  HDMI_TEST configures the TDA19988 chip for local test mode, it will shows a test pattern generated inside the HDMI chip
  [*]  HDMI_PUTTHROUGH configures the HDMI chip to display the data which appears on the TFT interface
  [*]  HDMI_ONLY excludes the configurations for an external 7" TFT (which you might not have)
[/list]

The following things need to be considered:

[list]
  [*]  You need to supply a relatively high clock frequency to the HDMI chip in order to work. This is caused by the rather high requirements of HDMI. See in file lcd_params.c
  [*]  The highest resolution which can be achieved is 800 x 600 with RGB 565. Higher resolution or more colors generate too much data.
  [*]  The HDMI chip is simply controlled via I2C, so you need to find out in LPCXpresso how to talk to an I2C device
  [*]  LPCOpen software v2.12 ( lpcopen_2_12_lpcxpresso_hitex_eva_4350.zip )
  [*]  The function calls in the LPCXpresso LCD example which are LCD module related could cause a hang-up in case there is no LCD module. E.g. Board_SetLCDBacklight(1);
[/list]

Regards,
NXP Support Team
0 Kudos

1,333 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by madhavan on Wed May 21 02:31:54 MST 2014
Thanks a lot for this helpful post bavarian. i 'm working  on a HDMI project for industrial purpose and  i need some help regarding to the points .

[list]
  [*]
[/list]i want to port this on Lpcxpresso 6  ide. so can you please provide me a simple algorithm for HDMI display you shared.

[list]
  [*]
[/list]i donnno how to manipulate both core (core m3 or m4 ) is there common library for each in lpcxpresso or separate

[list]
  [*]
[/list]if possible please provide the initializtion of HDMI project in LPCXPRESSO 6.

[list]
  [*]
[/list]An algorithm to program or debug the whole setup in lpcxpresso.

i've hitex A4 development board and lpclink2.

thanks. :)
0 Kudos

1,333 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by bavarian on Fri Feb 08 02:06:28 MST 2013
Here is the demo setup for the Hitex LPC4350 Rev A4 board.
Even if the demo code is huge (mainly because of the pictures and the music file),
the part where the TDA19988 HDMI chip is initialized is rather simple (tda19988.c).

To make it working you need to
- have the LCD interface set up properly, in order to provide the correct timing on the LCD port,
- have the right clock for the HDMI,
- initialize the TDA19988 properly via I2C

The code has grown over the time, please don't expect optimized and perfectly structured code ;-)
It's coming from an older code base and has nothing to do with the LPCOpen software package released a few days ago.

The project requires:
- the LPC4350 Hitex board
- 5V power supply
- a computer monitor and an HDMI cable
- µVision 4.54 or later
- ULINK Pro / ULINK2 or ME  (project setting is for ULINK Pro)

Optional:
- 7" display kit from Embedded Artists (http://www.embeddedartists.com/products/displays/lcdb_70.php)
- UART connection to PC

The demo shows graphics and pictures in 800 x 600 format, any computer monitor can upscale this format quite well.
For more information please check Abstract.txt
The code runs from the qSPI flash, the pictures are stored in this flash as well.
In parallel music can be played, which is simply stored as WAV file in the external parallel flash.

Hope it works fine and helps you.

Best regards,
NXP Technical Support Team
0 Kudos

1,333 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by bavarian on Thu Feb 07 11:05:22 MST 2013
I have something running and will add it here later today, latest by tomorrow.
You also find something on the Embedded Artists website if you have an account there (LPC4357 board),
but I refurbished the project in the meantime and made it here and there a little bit more convenient

Best regards,
Bernhard.
0 Kudos