I have a Source Code of MSTAR's HDMI Transmitter today. It used two months old HDMI TRANSMITTER9030, just a chance to make a comparison.
Generally, the HDMI Transmitter Player scheme suggested by chip aggressor is mainly a MCU one Transmit chip, where the MCU is used to configure HDMITX, and communicate with the PLAYER's decoding master CHIP. During playback, we can configure HDMI output by active and passive mode, active mode is made by MCU and Player MPEG Decoder through asynchronous communication, etc. to update the TRANSMIT chip to configure the Transmit chip. . The passive mode is read by the MCU, such as some registers inside the HDMITX, and the value of the Pixel Clock and the value of the Video Resolution (640x480, 720x480, etc.), and the polarity of SYNC, and the HDmitx is configured according to the change, and HDmitx is from the input signal Sampling waits until these values are used to perform HDMI output coding.
So no matter which solution, I get the Sourcecode code, the old yu said that the code of others is a long experience (consent), this time I finally succumbed to a single-chip Coding technology for forgotten. .
So let's talk about the basic knowledge of a little 51, and it is also a review.
1. MCU 51 has a 4K program memory. If there is not enough memory in actual use, it can be extended to 64K size. For programmers, whether it is internal EPROM, or the extension of program memory is nothing difference. Inside the MCU, there is a sixteen program record PC to address the onpicies and the outer EPROM.
2. MCU51 has 128 bytes of RAM (Data variable), or external RAM circuit is the capacity of data storage to 64K bytes.
3.8051 Definition of unique data types
Code reads with MOVC @ A DPTR
See this familiar DPTR register. Let me think of the GDTR with LDTR in 80386. Of course, two are segment descriptions registers in the CPU, which is used in segment memory management to query segment description table pointer heel segment registers, and DPTR is by DPH ( 8bit) The 16bit direct addressing register consisting with DPL (8bit).
Data can access the internal RAM directly
The 128 RAMs of the front 0x00-0x7f are fixed, and the ACC can be used directly, the speed is the fastest, and the generated code is also minimized. RAM from 0x80 to 0xFF is defined as a device register of MCU, such as P0, P1.
Idata Access internal RAM in MOV @RN
Fixed 256 RAMs in front of 0x00-0xFF, where the first 128 and DATA 128 are exactly the same, but because of the different ways of access. iDATA is a pointer mode in similar C (we used to declare local variables within the block, so access to register RN)
BDATA can be located internal RAM of Bit Addressable
Personally think the bit address in the Struct in C
XDATA Access to Movx @dptr
Generally, the external 0x0000-0xffff is generally 0x0000-0xfffFFF, so use DPTR's 16-bit addressing (we use a lot of global variables, put it in the external extension MEM)
PDATA Extracts in Movx @RN
Refers to the lower 256 bytes of the external expansion RAM, it is said that C51 has bugs on this, not recommended
4. There are still some special places.
SRF defines an 8-bit device.
SRF16 defines a 16-bit device.
SBIT, define a bit of the device. After defining these statements, you can use these hardware devices as compilation in C-zon.
After the introduction of the previous paragraph "~~~ 气 回", I will talk about my own experience of using these two chips.
First of all, I have to feel the power of the US, the SIL chip module is clear, and it is like a stone on the Qingquan. The pneumon pneumon, the pqfp package of the pneumon, and the PQFP package of 80pin provides powerful from 480i to 1080i. From 32kHz to 192kHz, Video / Audio encoded encrypted features.
And more distinctive is that its internal integration of the logic of I2C, take over the DDC bus communication, plus those SECRET Keys is in the Memory in the tablets, thus being HDCP (High-Bandwidth Digital Content Protection System) Calculation and exchange of keys make more convenient and secure.
Looking back at MSTAR TX, because it is integrated with a Video ADC, the size of the chip is much larger (estimated because the logic of the simulation is very large). The advantage of increasing the VIDEO ADC is that the analog input -> HDMI output is possible, so that more schemes can be provided for Player manufacturers, but the disadvantage is also obvious, the addition of the analog-to-digital conversion section disrupts the entire structure, Light look at the register map gives people a feeling of chaos. However, the most fascin is that its cipher keys Calculation is done outside of Chip, and putting that a bunch of Secret Keys inside an external RAM, you are not afraid to be taken to make cracks (though It is definitely added again), and does not say these, the choice of KEY, how much MIPS is consumed, and it is really a ruthless extract for system resources.
Take a look at the code, it is more embodied in the advantages of one of the SIL as the HDMI standard. The Russian old man thinking in SIL is clear, the code is simple, and the process is not used by the pointer. The pro process is very intuitive (but there is a very obvious logic bug being found, I don't know if it is Full. Released version). And MSTAR's code is a bit chaotic, and a lot of global variable, Struct is a lot of judgment. There are many if (Condition1 && Condition2 && Condition3 ...), Sigh, which makes people's intention, giving people an impression is not very profound about HDMI , Require Strong Intellect of HDMI.
However, as a Taiwan's Design House, in that short time, it designed HDMITX that can be commercially available, caught up with the US, I am proud of my Chinese compatriots. Like, I hope that their next version of Tapeout is getting better and better.
Finally, I will talk about the output effect of HDMI. It may also be the most concerned part. By debugging the Panasonic LCD in the Panasonic LCD entered in a 2000 US knife, I can tell the component terminal input. Everyone, the HDMI output is very clear, the price is also very expensive, and the popularity needs time.
Note: About HDCP, as the name suggests, it is a system for encrypting digital signals. In my opinion, I really don't worry about their copyright, and dig the hollow thinking out this advanced algorithm, just to prevent HD video and audio The signal is captured during transmission and directly infused. When the DVI interface is designed, it has the system, but it is just a function of Optional, and now it is now enforced to a new generation of HD digital interface HDMI, as part of an HDMI standard. I want to have MacroVision when I simulate it, protecting copyrights like their longitude deep. The basic principle of HDCP is such that each HDMI device has a unique KSV (Key Selection Vector), and get its own unique Secret Device Key from a device key array, then generate a series of Encrypt Keys To encrypt (encrypt each Pixel), then transform each 2s, the ENCRYPT Keys, the role of DDC BUS is to coordinate the replacement and interaction of these keys.