BT656 - Controller State Machines
Frozen Content
The BT656 Controller has two Finite State Machines, the tasks of which can be summarized as follows:
- Input Stream FSM – this FSM involves a number of states, with its purpose essentially divided into two tasks. In the first task, it waits for an EAV code, which signals the start of a new line in the video stream. It then proceeds through a number of states, relating to the
FFh-00h-00-XYh
EAV code, the80h-10h-80h-10h
horizontal blanking interval, and finally theFFh-00h-00h-XYh
sequence of the SAV code.
Once a valid SAV code is detected, the FSM enters its second task – that of reading in the active video data from the input stream in 4-byte Cb-Y-Cr-Y groupings.
- Color Data FSM – this FSM has two states; SYNC and PIXEL. In the former, active video data for the line is not yet received. The Controller's Input Stream FSM is still in a state associated with the horizontal blanking interval (including the EAV and SAV codes). During the SYNC state, the Color Data FSM prepares for horizontal scaling by loading the 4-bit value for
x_zoom
, stored in the SCALE register, into an internal counter.
When active video pixel data is received, the required number of pixels will be skipped until the counter decrements to zero. At this stage a pixel must be converted and its value constructed in accordance with the color mode defined in the MODE register (MODE4..2). This value is then written to the FIFO (see Transmitted Pixel Data).