@civic95man
Yes, pixelclock will need to include any cycles, whether there are active pixels or blanking.
jeremydial1981 wrote:Is there any way to use an external source as the sync (pixel clock i believe) I am working on a video switcher that will switch a single monitor between two sources. One source will be a raspberry Pi and the other source will be a computer. If I am able to use the h and v sync coming from the pc and input these to the pi as its pixel clock, I will be able to switch the video source without the monitor loosing sync and having to wait >1 sec for the monitor to re-sync and start to display.
I guess in a nutshell my question is, can the pi use an external source as the hdmi sync.
*disclaimer, I may be using the incorrect terms for some items (pixel clock etc. )
thanks for the help guys.
Thanks for the reply. The device that is providing the second video signal (computer) can only output in vga. I already have the switch working great switching the monitor between the two sources. I was just thinking that If i could get the pi to use the sync pulses that are coming from the other device, it would be a smoother switch.mikronauts wrote:I am 99.9999% sure you cannot do that, as it is not needed for the functionality the LCD interface was designed for.
I just buy small cheap HDMI switches, or use the multiple HDMI inputs on TV's.
Using DPI will disable the HDMI --> no way to have dual HDMI this way, sorry.kirgene wrote:Hello,
What chip should I use to convert DPI to HDMI? I'd like to have two HDMI outputs.
That is incorrect. You can use the parallel display port at the same time as the HDMI output.Using DPI will disable the HDMI --> no way to have dual HDMI this way, sorry.
This is exactly what I am trying to do also. I got the idea from http://celso.io/2012/12/17/connecting-a ... nitor.html but you can see they use a GBS 8100 which will downscale to 15hz. Then I came across the VGA666 and I wondered if the circuit/software/driver could be modified to output at 15hz. This would then replace the GBS 8100 and the HDMI to VGA converter! and make a ton of Retro gamers happy as all over the net people are looking for a solution to replace the need to have a PC with dedicated video card and or all these extra components.Tormak wrote:Hi,
I have a project, to connect a raspberry on an old CRT monitor.
I have buy the Gert Vga 666, and in theory, the CEA mode 8 display 320*240p @ 60Hz.
But in practice, the signal was 320 * 240p, H-Sync 60Hz, V-Sync about 31Khz.
But in this technology, the V-sync must be 15Khz.
Do you have an idea for obtain a V-sync @ 15khz in the config.txt ? (perhaps in "hdmi_timings" ?)
Thx in advance.
Ps : Sorry for my children english, it's not my primary language !
Tormak.
Would be great to hear peoples thoughts on this as in the Arcade Cab scene this is a big problem for those wishing to use a CRT in their cab and wanting to capture the original 240p look.Hi Matt
Im looking after Gerts website for a while, but im afraid im not an expert on his stuff. I did work on the broadcom chip though.
Gerts vga board is just a simple resistor ladder A to D converter that turns the parallel digital outputs of the DPI block into analogue signals. So you have 3 colours and 2 syncs which should be enough to drive your display.
I would think it is quite possible to change the DPI settings so that it runs at the required frame rate and X-Y size to drive
your monitor, although I havent checked to make sure it can go that low. It was supposed to drive small lcd displays though so i suspect that it can.
However you would potentially have to set up other graphics components in the system to produce the required size of display (x by y pixels) if this isnt already supported.
So as far as I know the V3D will be generating screen images of a fixed X-Y size in memory that contain the screen contents.
The Video scaler will be scaling and compositing several layers of these images into a screen resolution output stream that is sent to the DPI for outputting. Changing all of this is certainly possible but way outside my field of knowledge.
It may be possible to simply reprogram the scaler to scale the images to the required size, and the DPI to output them. I think this would be a question for one of the video experts on the Pi forums as its mainly going to be a software issue.
best of luck
Nick
Have you tried configuring hdmi_timings to produce the signal you want? In theory that should work (as long as none of the setting go out of spec).WalkToFreedom wrote: I have buy the Gert Vga 666, and in theory, the CEA mode 8 display 320*240p @ 60Hz.
But in practice, the signal was 320 * 240p, H-Sync 60Hz, V-Sync about 31Khz.
But in this technology, the V-sync must be 15Khz.
Do you have an idea for obtain a V-sync @ 15khz in the config.txt ? (perhaps in "hdmi_timings" ?)
Hi dom. I'm very much a noob (my Pi2 just arrived yesterday) but I found your thread viewtopic.php?p=235430Have you tried configuring hdmi_timings to produce the signal you want? In theory that should work (as long as none of the setting go out of spec).
Work out the timings that are required and I'll check if they should be supported.
Code: Select all
disable_overscan=1
framebuffer_width=320
framebuffer_height=240
hdmi_force_hotplug=1
hdmi_group=1
hdmi_mode=8
config_hdmi_boost=4
hdmi_ignore_edid=0xa5000080
hdmi_ignore_edid_audio=1
hdmi_ignore_cec=1
hdmi_pixel_encoding=2
sdtv_aspect=1
Code: Select all
# For more options and information see
# http://www.raspberrypi.org/documentation/configuration/config-txt.md
# Some settings may impact device functionality. See link above for details
# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1
# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
#disable_overscan=1
# uncomment to force a console size. By default it will be display's size minus
# overscan.
framebuffer_width=640
framebuffer_height=480
# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1
# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2
# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4
# uncomment for composite PAL
#sdtv_mode=2
#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800
# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
overscan_left=0
overscan_right=0
overscan_top=0
overscan_bottom=0
# Disable spi and i2c, we need these pins.
dtparam=spi=off
dtparam=i2c_arm=off
# enable the DPI display
enable_dpi_lcd=1
display_default_lcd=1
# ---------------------------------------------
# DPI output format definitions
# https://www.raspberrypi.org/forums/viewtopic.php?p=628061#p628061
# DPI structure: https://www.raspberrypi.org/forums/viewtopic.php?p=617719#p617719
# ---------------------------------------------
# output_format:
# 1: DPI_OUTPUT_FORMAT_9BIT_666
# 2: DPI_OUTPUT_FORMAT_16BIT_565_CFG1
# 3: DPI_OUTPUT_FORMAT_16BIT_565_CFG2
# 4: DPI_OUTPUT_FORMAT_16BIT_565_CFG3
# 5: DPI_OUTPUT_FORMAT_18BIT_666_CFG1
# 6: DPI_OUTPUT_FORMAT_18BIT_666_CFG2
# 7: DPI_OUTPUT_FORMAT_24BIT_888
#
# rgb_order:
# 1: DPI_RGB_ORDER_RGB
# 2: DPI_RGB_ORDER_BGR
# 3: DPI_RGB_ORDER_GRB
# 4: DPI_RGB_ORDER_BRG
#
# output_enable_mode:
# 0: DPI_OUTPUT_ENABLE_MODE_DATA_VALID
# 1: DPI_OUTPUT_ENABLE_MODE_COMBINED_SYNCS
#
# invert_pixel_clock:
# 0: RGB Data changes on rising edge and is stable at falling edge
# 1: RGB Data changes on falling edge and is stable at rising edge
#
# hsync polarity:
# 0: default for HDMI mode
# 1: inverted
#
# vsync polarity:
# 0: default for HDMI mode
# 1: inverted
#
# output_enable_polarity:
# 0: default for HDMI mode
# 1: inverted
#
# hsync phase:
# 0: rising edge
# 1: falling edge
#
# vsync phase:
# 0: rising edge
# 1: falling edge
#
# output_enable phase:
# 0: rising edge
# 1: falling edge
# ---------------------------------------------
dpi_output_format=458773
# ---------------------------------------------
# HDMI timing definitions
#https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=24679
# ---------------------------------------------
# hdmi_timings= <h_active_pixels>
# LCD module horizontal resolution
#
# <h_sync_polarity>
# 0: active low
# 1: active high
#
# <h_front_porch>
# <h_sync_pulse>
# <h_back_porch>
# <v_active_lines>
# LCD module vertical resolution
#
# <v_sync_polarity>
# 0: active low
# 1: active high
#
# <v_front_porch>
# <v_sync_pulse>
# <v_back_porch>
#
# <v_sync_offset_a>
# <v_sync_offset_b>
# <pixel_rep>
#
# <frame_rate>
# screen refrech rate (50/60Hz supported only!)#
#
# <interlaced>
#
# <pixel_freq>
# calculates as: <h_active_pixels> * <v_active_lines> * <frame_rate>
#
# <aspect_ratio>
# HDMI_ASPECT_4_3 = 1
# HDMI_ASPECT_14_9 = 2
# HDMI_ASPECT_16_9 = 3
# HDMI_ASPECT_5_4 = 4
# HDMI_ASPECT_16_10 = 5
# HDMI_ASPECT_15_9 = 6
# HDMI_ASPECT_21_9 = 7
# HDMI_ASPECT_64_27 = 8
# ---------------------------------------------
#hdmi_timing for LQ084V1DG43 configuration notes
#h_active_pixels = 640
#h_sync_polarity = 1
#h_front_porch = 2
#h_sync_pulse = 5
#h_back_porch = 88
#v_active_lines = 480
#v_sync_polarity = 0
#v_front_porch = 13
#v_sync_pulse = 1
#v_back_porch = 34
#v_sync_offset_a = 0
#v_sync_offset_b = 0
#pixel_rep = 0
#frame_rate = 60
#interlaces = 0
#pixel_freq = 640 * 480 * 60 = 18432000
#aspect_ratio = 1
# ---------------------------------------------
hdmi_timings=640 1 2 5 88 480 0 13 1 34 0 0 0 60 0 18432000 1
# Uncomment this to enable the lirc-rpi module
#dtoverlay=lirc-rpi
# Additional overlays and parameters are documented /boot/overlays/README