I hope we can bit bang HDMI as suggested by Roy (I think it was).
Was just thinking about it and it seems pretty impossible...
If we don't need that balancing stuff, it becomes a lookup table for RGB data. Then, there's the matter of assembling those into parallel bitstreams. That's the slow part - unless maybe you could asynchronously shift out a bit on each clock using a smart pin in async serial transmit mode. That would be good.
This arrangement should route normally when you have the P2 and HDMI connector on the same surface, though not for reverse mounted P2D2 systems as I recently found out.
I was routing some P2 signals to a possible HDMI connector footprint on my PCB yesterday and I found that it always seems to cross all the TMDS signal to the connector from the P2D2 board outputs I had routed from (P40-P47). I had the P2D2 reverse mounted but it took me a while to figure out that also reverses the pin sequence on the left and right sides of the board and that messes up the HDMI nets. Flipping parts around on PCBs blows your mind sometimes when trying to do all the mental 3d gymnastics needed to figure it out.
I guess to compensate I could mount the HDMI connector underneath my board - but don't want to do that though for space reasons. If I could find a reverse mount HDMI connector that should solve things (though after looking they seem rare and not carried by the major distributors), otherwise I'll have to resort to using vias and some signal crossings, and I'm sure that will only worsen signal integrity. Hopefully for VGA at 250MHz it won't be so bad.
@"Peter Jakacki" and others, you will run into this issue too if you reverse mount your P2D2 on carrier PCB and want to include HDMI on its top surface.
At one point I was sort of wondering if it makes any sense to include a bit in the P2 to be able to select between standard/reverse output order, but while very handy for board designers may possibly cause HDMI software compatibility/porting issues across different boards, not to mention adding further logic and possible timing issues in a 250MHz path inside the P2 with some extra mux. So that may not fly.
@"Peter Jakacki" and others, you will run into this issue too if you reverse mount your P2D2 on carrier PCB and want to include HDMI on its top surface.
At one point I was sort of wondering if it makes any sense to include a bit in the P2 to be able to select between standard/reverse output order, but while very handy for board designers may possibly cause HDMI software compatibility/porting issues across different boards, not to mention adding further logic and possible timing issues in a 250MHz path inside the P2 with some extra mux. So that may not fly.
So I gather then that if HDMI is added to silicon that the I/O assignments would be fixed then? That does restrict what we can do with pcb layout since one of the things I really love about Props is that we can use any I/O at all so that makes designing pcbs cleaner and simpler unlike the difficulties and design decisions we face when using other types of MCUs.
However, even so, given that to avoid crossovers it is easy enough to mount an HDMI socket onto a small rider pcb that can be flipped to connect to the main pcb. This also helps with strain relief since when push comes to shove the HDMI pcb can flex a little too. If I don't use HDMI, I can mount a VGA or composite rider pcb instead.
We can see why the P1/P2 is so flexible and accommodating, as is its creator
Do we need to add anything extra for HDMI in the way of termination etc?
The binary DAC mode with 4-bit programmable high and low levels will work great on the 123-ohm DAC for HDMI. The high-level will be $F and the low-level will be set to whatever produces the correct voltage swing.
We can see why the P1/P2 is so flexible and accommodating, as is its creator
Do we need to add anything extra for HDMI in the way of termination etc?
The binary DAC mode with 4-bit programmable high and low levels will work great on the 123-ohm DAC for HDMI. The high-level will be $F and the low-level will be set to whatever produces the correct voltage swing.
Low-level of $D should produce a differential voltage of 0.44V. This mode is not available in P2 rev A but could be simulated with a 150 ohm series resistor.
SETCMOD #$100 'Set HDMI normal
SETCMOD #$180 'Set HDMI reverse
Done.
THANK YOU CHIP! I am going to route my board assuming this capability now.
If you have to change your mind please let us all know.
It will stay. I had been thinking about this, anyway, wondering if I had it right. When someone mentioned back-side connectors, then I realized, indeed, that it needed to be reversible.
SETCMOD #$100 'Set HDMI normal
SETCMOD #$180 'Set HDMI reverse
Done.
Right, so CMOD[8] = 1 is new HDMI mode enable and CMOD[7] = 1 reverses 8-bit data going to HDMI pin group? Could the reversal apply to any other mode?
I would have to make some other changes to accommodate that. HDMI is algorithmically generated, so there's no way around needing a reversal option. In other cases, garbage in and garbage out.
Also, shouldn't the TMDS pairs be routed as "pairs" on the PCB, with extra spacing between the pairs? I've seen this often when looking at SATA controllers, they are careful to balance the length of the differential pairs and separate them.
Oh he has seen it trust me. He's just busy with Spectrum next right now. That's a really cool project to redo speccy computers with modern goodies. It's looking really cool.
Also, shouldn't the TMDS pairs be routed as "pairs" on the PCB, with extra spacing between the pairs? I've seen this often when looking at SATA controllers, they are careful to balance the length of the differential pairs and separate them.
I guess that explains why DipTrace3.X has a differential routing option. I'm on version 2.4 still, but briefly checked out version 3.X and saw (but didn't try out) that option. Hopefully, it helps automate what you've described.
Somebody ought to tell baggers about forthcoming HDMI support.
Might bring him back...
I'm still in touch with Jim, I told him about this yesterday.
We have a few plans on what we want to do with P2 just need the silicon first so I'll be buying a board or two if there are any going ;-)
Off Topic (apologies) but Spectrum Next is awesome BTW, Jim is at the heart of it as with most Speccy related things ;-)
If Chip could design a 10x PLL for shifting the bits, we wouldn't need 250Mhz to do VGA, and we could even do the higher resolutions. IIRC, DVI tops out at 156Mhz.
Fewer displays have VGA connections today.
Having both, opens more options for everyone.
j
Also the HDMI connector is much smaller than the VGA DB15 and uses thinner cables. Shorter HDMI cables are also available for mounting boards on the back of the monitor.
Coley, potatohead,
I backed the Spectrum Next, can't wait to get mine!
Also, looking forward to whatever You (Coley) and Baggers have planned for P2.
It will most probably be something Game/Graphics related ;-)
The best thing about Spectrum Next is that almost instant on, very short boot time.
P2 will be/is already capable of doing the same if not better, exciting times!
Comments
Was just thinking about it and it seems pretty impossible...
If we don't need that balancing stuff, it becomes a lookup table for RGB data. Then, there's the matter of assembling those into parallel bitstreams. That's the slow part - unless maybe you could asynchronously shift out a bit on each clock using a smart pin in async serial transmit mode. That would be good.
This arrangement should route normally when you have the P2 and HDMI connector on the same surface, though not for reverse mounted P2D2 systems as I recently found out.
I was routing some P2 signals to a possible HDMI connector footprint on my PCB yesterday and I found that it always seems to cross all the TMDS signal to the connector from the P2D2 board outputs I had routed from (P40-P47). I had the P2D2 reverse mounted but it took me a while to figure out that also reverses the pin sequence on the left and right sides of the board and that messes up the HDMI nets. Flipping parts around on PCBs blows your mind sometimes when trying to do all the mental 3d gymnastics needed to figure it out.
I guess to compensate I could mount the HDMI connector underneath my board - but don't want to do that though for space reasons. If I could find a reverse mount HDMI connector that should solve things (though after looking they seem rare and not carried by the major distributors), otherwise I'll have to resort to using vias and some signal crossings, and I'm sure that will only worsen signal integrity. Hopefully for VGA at 250MHz it won't be so bad.
@"Peter Jakacki" and others, you will run into this issue too if you reverse mount your P2D2 on carrier PCB and want to include HDMI on its top surface.
At one point I was sort of wondering if it makes any sense to include a bit in the P2 to be able to select between standard/reverse output order, but while very handy for board designers may possibly cause HDMI software compatibility/porting issues across different boards, not to mention adding further logic and possible timing issues in a 250MHz path inside the P2 with some extra mux. So that may not fly.
So I gather then that if HDMI is added to silicon that the I/O assignments would be fixed then? That does restrict what we can do with pcb layout since one of the things I really love about Props is that we can use any I/O at all so that makes designing pcbs cleaner and simpler unlike the difficulties and design decisions we face when using other types of MCUs.
However, even so, given that to avoid crossovers it is easy enough to mount an HDMI socket onto a small rider pcb that can be flipped to connect to the main pcb. This also helps with strain relief since when push comes to shove the HDMI pcb can flex a little too. If I don't use HDMI, I can mount a VGA or composite rider pcb instead.
We can see why the P1/P2 is so flexible and accommodating, as is its creator
Do we need to add anything extra for HDMI in the way of termination etc?
Does that cost much logic ? Nice to have, provided it does not creep things to a no-fit result.
At the low speeds (250MHz) vias are not going to be as big an issue at > 1GHz
The binary DAC mode with 4-bit programmable high and low levels will work great on the 123-ohm DAC for HDMI. The high-level will be $F and the low-level will be set to whatever produces the correct voltage swing.
The following might be of interest and has details of PCB design (p.16):
https://assets.nexperia.com/documents/application-note/AN10495.pdf
SETCMOD #$180 'Set HDMI reverse
Done.
Low-level of $D should produce a differential voltage of 0.44V. This mode is not available in P2 rev A but could be simulated with a 150 ohm series resistor.
THANK YOU CHIP! I am going to route my board assuming this capability now.
If you have to change your mind please let us all know.
It will stay. I had been thinking about this, anyway, wondering if I had it right. When someone mentioned back-side connectors, then I realized, indeed, that it needed to be reversible.
Right, so CMOD[8] = 1 is new HDMI mode enable and CMOD[7] = 1 reverses 8-bit data going to HDMI pin group? Could the reversal apply to any other mode?
I would have to make some other changes to accommodate that. HDMI is algorithmically generated, so there's no way around needing a reversal option. In other cases, garbage in and garbage out.
Yes, I was talking about pin-order reversal, too.
Might bring him back...
Having both, opens more options for everyone.
j
I'm still in touch with Jim, I told him about this yesterday.
We have a few plans on what we want to do with P2 just need the silicon first so I'll be buying a board or two if there are any going ;-)
Off Topic (apologies) but Spectrum Next is awesome BTW, Jim is at the heart of it as with most Speccy related things ;-)
Speccy Next is amazing. I want one.
I backed the Spectrum Next, can't wait to get mine!
Also, looking forward to whatever You (Coley) and Baggers have planned for P2.
I should have. Couldn't afford it at the time. Jim and the crew have done an amazing job.
At this point, I'm hoping someone has second thoughts, and I can ebay score.
Also the HDMI connector is much smaller than the VGA DB15 and uses thinner cables. Shorter HDMI cables are also available for mounting boards on the back of the monitor.
Hi Doug ;-)
I believe they will do a 2nd run after the first batch is sent out, I think it's just keyboard keys that are holding it up.
It will most probably be something Game/Graphics related ;-)
The best thing about Spectrum Next is that almost instant on, very short boot time.
P2 will be/is already capable of doing the same if not better, exciting times!
HDMI is just another bonus, thanks Chip!