DS90UB9X Raw Device#
- Authors:
Aarón Cuevas López
- Version:
1
- IO:
Frame Source, Register Access
- ONIX ID:
24
- ONIX Hubs:
Description#
The DS90UB9X Raw Device can be used to receive raw data from and control DS90UB9x SERDES pairs. This device is useful for acquiring data from instruments that use DS90UB9x3 serializers, which are physically compatible with ONIX host hardware, but do not implement ONIX Serization protocol. For example, third party devices such as UCLA Miniscope and its derivatives.
Register Programming#
Managed Registers#
Managed register access is provided at offset 0x8000.
Address |
Name |
Access |
Time of Effect |
POR Value |
Reset Action |
Description |
---|---|---|---|---|---|---|
0x8000 |
ENABLE |
R/W |
On Reset |
Implementation dependent, see hub documentation |
None |
The LSB is used to enable or disable the device data stream:
|
0x8001 |
READSZ |
R/W |
On Reset |
1280 |
None |
Frame size register * Bits(15:0): In parallel mode: frame data size in samples. In serial mode: Number of words per frame in each line (total frame size= this x num streams x num lines per stream). * Bit(31:15); number of frames to aggregate. 0 = do not perform aggregation |
0x8002 |
TRIGGER |
R/W |
On Reset |
0 |
None |
The LSBs determines the data capture start tigger
|
0x8003 |
TRIGGEROFF |
R/W |
On Reset |
0 |
None |
Offset, in samples, that are skipped following trigger. |
0x8004 |
DATAGATE |
R/W |
On Reset |
0 |
None |
The LSBs are used to determine how data is gated
|
0x8005 |
SYNCBITS |
R/W |
On Reset |
0 |
None |
The LSB determines if HSYNC and VSYNC bits are included in the data word along with parallel port state. If included, bit 13 is HSYNC and bit 14 is VSYNC.
|
0x8006 |
MARK |
R/W |
On Reset |
0 |
None |
If enabled, mark bit 15 of all data words in a frame after a choosen sync edge. Note that words in a frame still respect TRIGGER and GATE properties. Therefore this property provides a means to mark the first frame in a multi-frame sample (e.g. the first row in a camera image).
|
0x8007 |
MAGIC_MASK |
R/W |
On Reset |
0 |
None |
Controls Magic word detection and its masking
|
0x8008 |
MAGIC |
R/W |
On Reset |
0 |
None |
16 bit magic word. After trigger, if magic_mask is not 0, wait for this word in the stream before starting a frame |
0x8009 |
MAGIC_WAIT |
R/W |
On Reset |
0 |
None |
Max number of samples to wait from trigger to magic word detection before canceling and going back to trigger detection. 0 means wait indefinitely |
0x800A |
DATAMODE |
R/W |
On Reset |
0 |
None |
Parallel/Serial data mode selection and options
|
0x800B |
DATALINES0 |
R/W |
On Reset |
0 |
None |
Input lines for stream 0. Each 4 bits specify the input: 0x0-0xB: Data lines 0-11. 0xC: Hsync, 0xD: Vsync, 0xE: Reserved 0xF: zero-input |
0x800C |
DATALINES1 |
R/W |
On Reset |
0 |
None |
Input lines for stream 1. Each 4 bits specify the input: 0x0-0xB: Data lines 0-11. 0xC: Hsync, 0xD: Vsync, 0xE: Reserved 0xF: zero-input |
0x8010 |
GPIO_DIR |
R/W |
On Reset |
0 |
None |
Bits 0-3 determine the direction of GPIO 0-3. For each bit:
|
0x8011 |
GPIO_VAL |
R/W |
On Reset |
0 |
None |
Bits 0-3 determine the value of GPIO 0-3. For each bit:
|
0x8012 |
GPIO_VAL |
R |
On DS90UBX LOCK or PASS pin state change |
N/A |
None |
Access the DS90UBX LOCK and PASS pin state to determine if the SERDES is operating normally.
|
Unmanaged Registers#
Unmanaged read and write access is provided to the SERDES I2C bus when using register addresses less than 0x8000.
Device To Host Data Frames#
Each frame transmitted to the host consists of a READSZ-sample frame.
Host To Device Data Frames#
This device does not accept input frames. All write attempts will fail with an error.