Seite 1 von 1

ROBO TX Camera connection - How?

Verfasst: 22 Sep 2021, 14:25
von ft-ninja
Dear community,

I'm a happy owner of the 10 yo ROBO TX controller. TXC is the best education controller I know, but I can't find any information regarding access to integrated CAMERA interface. Is there anybody who has success in connecting a camera to the CAMERA interface connector (not EXT)? Yes, I know about Pixie cam.
robo-tx-cam-03.jpg
robo-tx-cam-03.jpg (45.86 KiB) 4559 mal betrachtet
Update May 19 2022: Found OV2640 camera board compatible with AT91SAM9260's 8-bit Image Sensor Interface
Update May 22 2022: X-ray images of PCB available
Update May 24 2022: The camera connector pinout reconstructed from pcb x-ray images. OV2640 camera is no go. Looking for another one with ITU-R BT.656-4 SAV and EAV synchronization support.

Re: ROBO TX Camera connection. How?

Verfasst: 22 Sep 2021, 14:30
von sven
Hallo!

Die Kamera funktioniert nur am TX Nachfolger, dem TXT Controller.
Für den TX gab es nie eine Kamera.
Da die ft Kamera eine USB Webcam ist, kann man nicht am TX Controller anschließen und nutzen.

Gruß
sven

Re: ROBO TX Camera connection. How?

Verfasst: 22 Sep 2021, 14:55
von ft-ninja
Da die ft Kamera eine USB Webcam ist, kann man nicht am TX Controller anschließen und nutzen.
Okay. I understand that I can't get image from USB camera in the TX - there is no USB Host interface routed from the CPU :). At the same time TX has the CAMERA connector. May be it is a kind of standard type of camera connector?

Also it looks like CAMERA interface connector was wired to the CPU's Image Sensor Interface (ISI) on the PCB:
robo-tx-cam-04.jpg
robo-tx-cam-04.jpg (63.36 KiB) 4544 mal betrachtet

Do you have any ideas - why FT not finished this function? Was it hardware, software or other kind of problem?

Re: ROBO TX Camera connection. How?

Verfasst: 22 Sep 2021, 15:36
von fishfriend
Hallo...
There was no information abought it from ft. As far as i know.

I think that the performace of the hole system was to low, to analys the pikture or colore from the stream.
Only picture maybe. Its a question, if something in the software of the TX, to get a signal from the camera.

You know the RoboPro comunikation. They do not suport it. So how will you get the Datastream? But this is the second Problem...
Best Regards
fishfriend
Holger Howey

Re: ROBO TX Camera connection. How?

Verfasst: 19 Mai 2022, 10:55
von ft-ninja
According to the datasheet for AT91SAM9260 CPU it has the Image Sensor Interface (ISI) that supports direct connection to the 8-bit parallel bus sensors and up to 12-bit grayscale sensors. It has FIFO buffer for pixel data and DMA interface - so we can offload frame data transfer job from the CPU.

Internal block diagram for ISI:
70-isi-image-sensor-interface-a.png
70-isi-image-sensor-interface-a.png (97.27 KiB) 3903 mal betrachtet
ISI signals list:
71-isi-io-signals-a.png
71-isi-io-signals-a.png (40.27 KiB) 3903 mal betrachtet
Also I found the cheap camera compatible with AT91SAM9260 8-bit interface. It is OV2640:
90-ov2640-camera-board-a.jpg
90-ov2640-camera-board-a.jpg (41.27 KiB) 3903 mal betrachtet
OV2640 block diagram:
91-ov2640-block-diagram-a.png
91-ov2640-block-diagram-a.png (114.19 KiB) 3903 mal betrachtet

Now the question - Is there copper traces wired from CPU ISI to CAMERA connector in the right way? May be someone could donate dead ROBO-TX that I can use for PCB reverse-engineering? I will blow off all parts from the PCB and track down traces from CAMERA connector to the CPU.

Re: ROBO TX Camera connection - How?

Verfasst: 19 Mai 2022, 22:19
von vleeuwen
The main problem is that the OS on the TX-C has no source code and no documentation available.
The OS is owned by a company that was bought out and that halfway through the development it stopped supporting it and the people involved in this project have left.

Re: ROBO TX Camera connection - How?

Verfasst: 20 Mai 2022, 10:29
von ft-ninja
Hi Carel,
The main problem is that the OS on the TX-C has no source code and no documentation available
Here we have number of options:
1) Disassemble, decompile and reverse engineer 4NetOS from the binary dump of onboard NOR FLASH. Than integrate custom executable task into existing 4NetOS. Also there is C-Compiler-RoboTXC-V1-2-13-Nov-2012.zip that can be used as starting point
2) Wipe out the 4NetOS and use opensource RTOS (Freertos, Nuttx) in combination with ROBO-TX Board Support Package
3) Do a "bare metal" implementation starting with the AT91SAM9260 datasheet and gnu assembler, along with a scope and logic analyzer

I prefer the option 3 :)

Re: ROBO TX Camera connection - How?

Verfasst: 20 Mai 2022, 13:01
von Bjoern
Hi ft-Ninja,

I just ask myself why are you doing this? Just to see if it´s possible?

The TX is very old and you would have everything directly avail with the TXT.
Wish you good luck with your project...

Björn

Re: ROBO TX Camera connection - How?

Verfasst: 20 Mai 2022, 13:44
von ft-ninja
Hi Björn,
I just ask myself why are you doing this? Just to see if it´s possible?
Yes. Just to have a fun. You can imagine the ROBO-TX as underdeveloped baby waiting for someone to stitch back the camera module. Also I guess it's a good way to learn embedded systems development.

Re: ROBO TX Camera connection - How?

Verfasst: 20 Mai 2022, 14:55
von Bjoern
Hi ft-ninja,

pretty sure a great chance to learn something. And you will have to cover a lot of hurdles. But this might make a lot of fun.

And why easy if it´s possible to do it most complicated :D

Björn

Re: ROBO TX Camera connection - How?

Verfasst: 20 Mai 2022, 15:33
von vleeuwen
See also:
https://uk.farnell.com/atmel/at91sam926 ... dp/1629537
Probably this board has been use as base for the TX-C.

Re: ROBO TX Camera connection - How?

Verfasst: 20 Mai 2022, 15:56
von ft-ninja
Thanks for the tip!

I have tested some software samples from at91sam9260-ek board on the ROBO-TX and they works fine. Just need to tune LD script according ROBO-TX memory map.

At this point I can control onboard red LED, buttons, I2C(TWI) bus, USB device interface and DBGU serial port.

ROBO-TX under test:
robo-tx-jtag-cam-dbgu-01.jpg
robo-tx-jtag-cam-dbgu-01.jpg (69.79 KiB) 3684 mal betrachtet

Re: ROBO TX Camera connection - How?

Verfasst: 20 Mai 2022, 21:25
von vleeuwen
It would be nice for various TX-C owners if an alternative OS and processing for the M, I, C and camera would become available.
The solid failure of the 4NetOS project without an alternative becoming available has been a sad end to the TX-C era.
At first, that project looked promising, but it ended up being a soft and quiet death.

Re: ROBO TX Camera connection - How?

Verfasst: 22 Mai 2022, 15:16
von ft-ninja
Thanking a lot to noname donator and an underground dental service we have a whole bunch of x-ray images of PCB. It's time to trace wires between CPU and CAMERA connector:
robo-tx-xray-01.png
robo-tx-xray-01.png (219.33 KiB) 3562 mal betrachtet

Re: ROBO TX Camera connection - How?

Verfasst: 24 Mai 2022, 12:49
von ft-ninja
Here we go:
robo-tx-rev-c-pcb-camera-a.jpg
robo-tx-rev-c-pcb-camera-a.jpg (43.16 KiB) 3468 mal betrachtet
It results in two news:

Bad one - there is no ISI_HSYNC and ISI_VSYNC signals available on the connector. These signals used by ISI controller to gate data capture from the data bus:
61-HSYNC-and-VSYNC-Synchronization.png
61-HSYNC-and-VSYNC-Synchronization.png (29.62 KiB) 3468 mal betrachtet
Good one - there is another mode for synchronization in the ISI controller - ITU-R BT.656-4 SAV and EAV synchronization. This mode uses two timing reference data patterns on the data bus, one at the beginning of each video data block SAV (0xFF000080) and one at the end of each video data block EAV(0xFF00009D):
60-SAV-and-EAV-Sequence-Synchronization.png
60-SAV-and-EAV-Sequence-Synchronization.png (19.06 KiB) 3317 mal betrachtet
Only data sent between EAV and SAV is captured. This reduced pin count alternative for synchronization can be used in case it is supported by sensors that embed SAV (start of active video) and EAV (end of active video) delimiters in the data stream. In our case OV2640 camera do not support ITU-R BT.656-4 SAV and EAV synchronization :(

It is good time to find another sensor with ITU-R BT.656-4 support. Any suggestions appreciated.

Re: ROBO TX Camera connection - How?

Verfasst: 24 Mai 2022, 19:12
von MasterOfGizmo
According to its datasheet the ov5640 seems to have two i2c config bits to enable the eav/sav option.

Re: ROBO TX Camera connection - How?

Verfasst: 25 Mai 2022, 11:55
von ft-ninja
Hi MasterOfGizmo,

Thanks for the tip! The ov5640 sensor looks promising. Also there is ov5640 driver in the Linux source tree with complete set of register values for BT656 embedded synchronization configuration:

Code: Alles auswählen

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * Copyright (C) 2011-2013 Freescale Semiconductor, Inc. All Rights Reserved.
 * Copyright (C) 2014-2017 Mentor Graphics Inc.
 */
 
/*
 * BT656 embedded synchronization configuration
 *
 * CCIR656 CTRL00
 * - [7]:	SYNC code selection (0: auto generate sync code,
 *		1: sync code from regs 0x4732-0x4735)
 * - [6]:	f value in CCIR656 SYNC code when fixed f value
 * - [5]:	Fixed f value
 * - [4:3]:	Blank toggle data options (00: data=1'h040/1'h200,
 *		01: data from regs 0x4736-0x4738, 10: always keep 0)
 * - [1]:	Clip data disable
 * - [0]:	CCIR656 mode enable
 *
 * Default CCIR656 SAV/EAV mode with default codes
 * SAV=0xff000080 & EAV=0xff00009d is enabled here with settings:
 * - CCIR656 mode enable
 * - auto generation of sync codes
 * - blank toggle data 1'h040/1'h200
 * - clip reserved data (0x00 & 0xff changed to 0x01 & 0xfe)
 */
Have ordered one ov5640 camera module for the project.

Re: ROBO TX Camera connection - How?

Verfasst: 16 Jun 2022, 23:54
von XG BC
Habe mich schon immer gefragt ob es nicht doch irgendwie möglich wäre, eine Kamera am "Camera" anschluss des TX zu benutzen.

Re: ROBO TX Camera connection - How?

Verfasst: 20 Jun 2022, 11:12
von ft-ninja
Hallo XGBC,
Vielen Dank für Ihr Interesse an Kameraverbindung. Ich habe den Sensor ov5640 bestellt. Wird nach Erhalt der Bestellung fortgesetzt.