...
How to use the Spatial Transform Engine Wizard (STEW)
Introduction
This user guild is for the companion configuration manager. It's designed to create the timing and special transforms for companion chips:
AP0102, AP0200, AP0201, AP0202
With sensors
AR0132, AR0136, AR0138, AR0140, AR0143, AR0147, AR0231, AR0233.
And the stacked chips
AS0142, AS0147AS0142AT, AS0142ATE, AS0143AT, AS0143AT1, AS0147AT, AS0148AT
Note, not all combinations are available, check for ini files. This application is intended to replace STE for configuring AP0102 & AP0200 and Register Wizard for configuring the AP0201 & AP0202. It is also intended to support the AP0300 in the future.
...
With the above hardware attached, select the 'STE Wizard' or 'Register Wizard' on the 'plug-ins' menu. A user interface similar to this should appear. It should have the correct companion processor and sensor identified. It may or may not have all the tabs along the top (More on this later)
Writing to hardware
The application should be ready to write a solution to the hardware immediately without changing any settings. How to do this depends on the type of AP processor you have and if it has a Ste.
...
In this case the UI should look like the image below (no tabs, these are all for configuring the Ste) and a write button on the front page. If you are writing a solution sometimes it can be hard to tell if it worked. Adjust the frame rate a bit, write the solution again and look for changes in frame rate measured by Devware.
Writing to hardware (With Ste: AP0102, AP0200)
...
The active sensor output can also be flipped or mirrored using the check boxes.
Generally, the active sensor frame size is slightly smaller than the available frame size. By default the pixels used are used from the center of the physical sensor. The location button can be used to adjust this default. Positive values for the horizontal offset will move the active location to the right. Positive values for the vertical offset will move the active area down. If you are using lens correction in the Ste transform the lens will center on the physical center of the full sensor area in effect ignoring this setting. It is possible to adjust the lens center separately. See the lens correction section.
Sensor to companion protocol
...
There are many ways to configure the 200 series timing. The following diagram shows the major timing paths. Some paths are fixed from the hardware configuration and some can be chosen at runtime to optimize the chip timing and power usage.
Keep-syncSensorPLLPLL0PLL1External ClockP2P1Sensor
CoreColor
PipeSteTxssJpeg/H264External Clock
The sensor can be driven in three ways: from the companion external clock, from the companion PLL0:P2 output, or from its own clock. The output can be configured in five ways: Txss from PLL1, Txss from PLL0:P2, Keep-sync from PLL1, Keep-sync from PLL0:P2, Jpeg/H264 from PLL1. This gives fifteen configurations. Two of these aren't really viable as the PLL0:P2 is shared between the sensor and the output. That leaves thirteen configurations. The Companion Manage supports six of these as shown in the following table.
The reasons for picking these modes are complex. Driving Txss or Keep-sync from PLL1 allows finer tuning of the output frequency but uses more power. Development resources. More modes could be added over time.
1 | Sensor: Companion Clock | Txss from PLL0:P2 | Supported AP0102, AP0202 |
2 | Sensor: Companion Clock | Txss from PLL1 | Not supported |
3 | Sensor: Companion Clock | Keep-sync from PLL0:P2 | Supported AP0102, AP0202 |
4 | Sensor: Companion Clock | Keep-sync from PLL1 | Not supported |
5 | Sensor: Companion Clock | Jpeg/H264 from PLL1 | Supported AP0200, AP0201 |
6 | Sensor: Own Clock | Txss from PLL0:P2 | Supported AP0102, AP0202 |
7 | Sensor: Own Clock | Txss from PLL1 | Not supported |
8 | Sensor: Own Clock | Keep-sync from PLL0:P2 | Supported AP0102, AP0202 |
9 | Sensor: Own Clock | Keep-sync from PLL1 | Not supported |
10 | Sensor: Own Clock | Jpeg/H264 from PLL1 | Supported AP0200, AP0201 |
11 | Sensor: PLL0:P2 | Txss from PLL1 | Not supported |
12 | Sensor: PLL0:P2 | Keep-sync from PLL1 | Not supported |
13 | Sensor: PLL0:P2 | Jpeg/H264 from PLL1 | Not supported |
Table 1
The following is an example of the timing display for mode 1 from table 1.
This is the simplest case. This is the key
...
This is a typical output from a net timing. (Mode 5 from the table 1)
The companion vblank and hblank have little meaning in this context. The new lines are the Ethernet settings. PLL1 is used to drive the net output. Note that 'M' = 24.0741. This is the effective 'M' value built from the both the fractional register value and the integer value of M. It is used when a PLL setting needs to be fine-tuned.
Timing, Sensor has own clock
...
Anchor | ||||
---|---|---|---|---|
|
2018 Oct 15 | John Neave | First draft. |
2018 Oct 31 | John Neave | Second draft |