[Elphel-support] Back to life 313 camera

Artem Astafyev artem.astafyev at gmail.com
Tue Dec 9 02:37:53 PST 2014


Hi Oleg,

Thanks for quick response. Please find below requested information:
1.
 Forcing size word alignment - blkdev_requests
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
ETRAX 100LX 10/100MBit ethernet v2.0 (c) 2000-2001 Axis Communications AB
eth0 initialized
eth0: changed MAC to 00:40:8C:CD:00:00
ETRAX 100LX serial-driver 1.2 $, (c) 2000-2003 Axis Communications AB
ttyS0 at 0xb0000060 is a builtin UART with DMA
ttyS1 at 0xb0000068 is a builtin UART with DMA
cse0: Probing a 0x04000000 bytes large window at 0xe0000000.
cse0: Found an alias at 0x800000 for the chip at 0x0
cse0: Found an alias at 0x1000000 for the chip at 0x0
cse0: Found an alias at 0x1800000 for the chip at 0x0
cse0: Found an alias at 0x2000000 for the chip at 0x0
cse0: Found an alias at 0x2800000 for the chip at 0x0
cse0: Found an alias at 0x3000000 for the chip at 0x0
cse0: Found an alias at 0x3800000 for the chip at 0x0
cfi_cmdset_0001: Erase suspend on write enabled
0: offset=0x0,size=0x20000,blocks=64
Using buffer write method
cse1: Probing a 0x04000000 bytes large window at 0xe4000000.
CFI: Found no cse1 device at location zero
cse0: 0x00800000 bytes of flash memory.
 Found a valid partition table at 0xf002000a-0xf0020056.
  /dev/flash1 at 0x00020000, size 0x00260000
  /dev/flash2 at 0x00280000, size 0x00580000
 Adding readonly flash partition for romfs image:
  /dev/flash3 at 0x000a76c0, size 0x00196000
Creating 4 MTD partitions on "cse0":
0x00000000-0x00020000 : "part0"
0x00020000-0x00280000 : "part1"
0x00280000-0x00800000 : "part2"
0x000a76c0-0x0023d6c0 : "romfs"
fpga/clock configuration driver v1.0nPorts A and B initialized
FPGA is not loaded, clocks are not programmed, SDRAM is not initialized
Clocks initialized (clk0=75MHz, clk1=60MHz)
CMOS/MCP camera interrupts initialized
Initializing genconfig/DMA registers
CMOS/MCP camera 313 driver
f_rtp: kthread start
f_rtp: init ok
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
kmem_create: Forcing size word alignment - ip_dst_cache
IP: routing cache hash table of 1024 buckets, 8Kbytes
TCP: Hash tables configured (established 2048 bind 4096)
ip_conntrack version 2.1 (128 buckets, 1024 max) - 270 bytes per conntrack
kmem_create: Forcing size word alignment - ip_conntrack
ip_tables: (C) 2000-2002 Netfilter core team
ipt_recent v0.3.1: Stephen Frost <sfrost at snowman.net>.
http://snowman.net/projects/ipt_recent/
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
VFS: Mounted root (cramfs filesystem) readonly.
Freeing unused kernel memory: 32k freed
Camera interrupts disabled
eth0: changed MAC to 00:0E:64:02:01:24
initSDRAM
removing MRST from the sensor, setting DMA burst size, setting MCLK to 20MHz
sensor power set low
 will set to 0x41
will set to 0x30
will set to 0x28
will set to 0x24
will set to 0x22
.. full
Inverted MRST, ccam_cr_shadow= 8002a040
trying MT9X001
sensor id= 0x0
No image sensor found
MCPSendA returned 0
Should return -1!! 0
no MCP module detected
FPGA rev 3130059
Programmed linear intensity table (gamma=1.0)
Camera interrupts enabled
removing MRST from the sensor, setting DMA burst size, setting MCLK to 20MHz
sensor power set low
 will set to 0x41
will set to 0x30
will set to 0x28
will set to 0x24
will set to 0x22
.. full
trying MT9X001
can not program unknown/unexistent sensor
MCPSendA returned 0
Should return -1!! 0
no MCP module detected
FPGA rev 3130059
Programmed linear intensity table (gamma=1.0)
Camera interrupts enabled


Last messages are repeated in a loop.

2. fpcf -i2cr16 4800 100 command doesn't work because it doesn't have
-i2cr16 command. Below is help with supported commands and also output of
-ir command, maybe it helps:
[root at ElphelCamera /]235# fpcf -help
Usage: fpcf
-mcu     filename           - read hex data and write it to the first MCU(s)
-table   filename      - write quantization/huffman table(s) from file
starting att address A(hex word)
-dma 0                 - stop DMA
-dma 1                 - start DMA (descriptors should be filled)
-dma 2                 - start DMA (raw mode). Descriptor array will be
built according to current
                         acquisition parameters (image size, word size)
-jpeg 0                - 'reset' JPEG acquire/read pointers
-jpeg 2                - 'get' acquire JPEG data from current frame in
memory
-jpeg 3                - 'forget' advance JPEG read pointer to the next
frame
-jpeg 5                - acquire and compress one frame
-jpeg 6                - save read pointer
-jpeg 7                - restore read pointer
-jpeg a                - start constant compression to buffer
-jpeg b                - stot constant compression to buffer or acquire
just one buffer if it wasn't running
-jpeg c                - rebuild the frames chain backwards from the last
acquired. Return number of frames-jpeg d                - stot constant
compression to buffer, don't try to acquire!
-jpeg f                - print some debug data on the serial console
-jctl data             - write JPEG control word (+0x10000 - no header)
-jn data               - get specified number of frames (will add to
already asked for if any)
-jl data               - get specified length in 32-bit long words (will
stop after frame if got more)
-dr (-drb, -drw, -drl) - get current DMA received data length
-dr A (-drb A) -         read DMA recieved data (bytes) at location A
-dr A N (-drb A N) -     read DMA recieved data (bytes) at locations A
through A+N-1
-drw A -                 read DMA recieved data (words) at location A
-drw A N -               read DMA recieved data (words) at locations A
through A+N-1
-drl A -                 read DMA recieved data (long words) at location A
-drl A N -               read DMA recieved data (long words) at locations A
through A+N-1
-sr A -                  read SDRAM location A
-sr A N -                read SDRAM locations A through A+N-1
-sw A D -                write SDRAM location A with data D
-sw A D N -              write SDRAM locations A through A+N-1 with data D
-sw A D N INC -          write SDRAM locations A through A+N-1 with data D,
D+INC, ... D+INC*(N-1)
-p FILENAME -            load FPGA with specified bitstream file
-X N F -                 program clock output 0,1,2,3 to frequency in MHz
(N=3 - only 20MHz), decimal (invisible to driver)
-x N F -                 program clock output 0,1   to frequency in MHz
(integer 1-127) will be visible to driver
-s -                     read fpga/clocks state
-r   REGISTER     -      read fpga register (0..ff) using CSP0 (fast access)
-r4  REGISTER     -      read fpga register (0..ff) using CSP4 (slow access)
-rl  REGISTER     -      read fpga register (0..ff) low word using CSP0
(fast access)
-rl4 REGISTER     -      read fpga register (0..ff) low word using CSP4
(slow access)
-rh  REGISTER     -      read fpga register (0..ff) high word using CSP0
(fast access)
-rh4 REGISTER     -      read fpga register (0..ff) high word using CSP4
(slow access)
-w   REGISTER DATA -     write fpga 32-bit register (0..ff) using CSP0
(fast access)
-w4  REGISTER DATA -     write fpga 32-bit register (0..ff) using CSP0
(slow access)
-rw                -     read R_WAITSTATES
-ww                -     write R_WAITSTATES
-ir SA RA - read i2c register RA from slave SA (hex)
-iw SA RA DATA - write i2c register, slave address SA, register RA data
DATA (hex)
-ir - read all relevant i2c registers from slave 0xd2(0x61)
[root at ElphelCamera /]235# fpcf -ir
open returned - 3
dumping all i2c data from slave address d2

 0:  0 d3 d3 d3 d3 d3 d3 d3  2  2  5  5  1  4 87 52
10: 55  2  7 40  2  c 40 96  0  0 e9  8 d3 d3 d3 d3
20: d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3
30: d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3 d3
40:  3  9 c4  3  9 c4  3  9 c4  3  9 c4  3  9 c4  3
50:  9 c4  3  9 c4  3  9 c4
devfd closed

3. It seems fpcf -X 1 needs more arguments, tried the following:
[root at ElphelCamera /]235# fpcf -X 1
Needs more args...
[root at ElphelCamera /]235# fpcf -X 1 20
Actual frequency will be 2.000000e+01 MHz
bp=13, bq=3, bdiv=5, pllc=0
[root at ElphelCamera /]235# fpcf -s
FPGA state is 30001




On Mon, Dec 8, 2014 at 9:07 PM, Oleg <support-list at support.elphel.com>
wrote:

> Hello Artem,
>
> I'll check if we have any working 313 around.
> From a telnet session:
> 1. What's the output of "dmesg"?
> 2. Output of "fpcf -i2cr16 4800 100"? - this command reads the sensor's
> registers through i2c. Will work if 5MPix sensor is installed.
> 3. ANd "fpcf -X 1"? - reports the clock frequency set for the sensor.
>
> Best regards,
> Oleg Dzhimiev
> Electronics Engineer
> phone: +1 801 783 5555 x124
> Elphel, Inc.
>



-- 
Best regards,
Artem Astafyev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://support.elphel.com/pipermail/support-list_support.elphel.com/attachments/20141209/2323aca5/attachment-0002.html>


More information about the Support-list mailing list