Imaging solutions with Free Software & Open Hardware

Who's online

There are currently 0 users online.

File:10393.pdf

Wiki Recent Changes - Wed, 09/16/2015 - 23:08

uploaded "[[File:10393.pdf]]" Circuit diagram and PCB layout for the 10393 Rev 0 board

Andrey.filippov

Elphel 353 series quick start guide

Wiki Recent Changes - Wed, 09/16/2015 - 16:02

← Older revision Revision as of 22:02, 16 September 2015 (6 intermediate revisions not shown)Line 88: Line 88: |[[image:Display live video.jpeg|250px|thumb|Fig. 7 Turn on Live Video Stream]] |[[image:Display live video.jpeg|250px|thumb|Fig. 7 Turn on Live Video Stream]] |} |} -====2. watch: player GUI / command line====+  -To watch the video stream with MPlayer or VLC open the '''rtsp://192.168.0.9:554'''. You can use either a player GUI or a command line. Here is an example command from Linux terminal window:  +====2. watch: multipart jpeg (low latency)====  +* Works in Firefox, '''low latency stream'''  + '''http://192.168.0.9:8081/mimg'''  +   +====3. watch: player GUI / command line====  +To watch the video stream with VLC or something else (ffplay, Mplayer) open the '''rtsp://192.168.0.9:554'''. You can use either a player GUI or a command line. Here is an example command from Linux terminal window:    +<!--  +Doesn't work anymore?! =====Mplayer===== =====Mplayer=====   '''mplayer  rtsp://192.168.0.9:554 -vo x11 -zoom'''   '''mplayer  rtsp://192.168.0.9:554 -vo x11 -zoom''' -=====VLC=====+--> -  '''vlc rtsp://192.168.0.9:554 -V x11 --rtsp-caching=50'''  +=====VLC (high latency, ffplay might be better)===== -The default setting for rtsp-caching is 5000 milliseconds which means the stream is delayed 5 seconds which is not very handy for real-time video preview so the above commands starts VLC with it set to 50 ms+  '''vlc rtsp://192.168.0.9:554''' -====3. record: command line====+====4. record: command line====   '''mencoder rtsp://192.168.0.9:554 -ovc copy -fps <fps> -o <file_name>.mov'''   '''mencoder rtsp://192.168.0.9:554 -ovc copy -fps <fps> -o <file_name>.mov'''         Oleg

Elphel 353 series quick start guide

Wiki Recent Changes - Wed, 09/16/2015 - 15:04

3. watch: player GUI / command line:

← Older revision Revision as of 21:04, 16 September 2015 (One intermediate revision not shown)Line 88: Line 88: |[[image:Display live video.jpeg|250px|thumb|Fig. 7 Turn on Live Video Stream]] |[[image:Display live video.jpeg|250px|thumb|Fig. 7 Turn on Live Video Stream]] |} |} -====2. watch: player GUI / command line====+  -To watch the video stream with MPlayer or VLC open the '''rtsp://192.168.0.9:554'''. You can use either a player GUI or a command line. Here is an example command from Linux terminal window:  +====2. watch: multipart jpeg====  +* Works in Firefox, low latency  + '''http://192.168.0.9:8081/mimg'''  +   +====3. watch: player GUI / command line====  +To watch the video stream with VLC or something else open the '''rtsp://192.168.0.9:554'''. You can use either a player GUI or a command line. Here is an example command from Linux terminal window:    +<!--  +Doesn't work anymore?! =====Mplayer===== =====Mplayer=====   '''mplayer  rtsp://192.168.0.9:554 -vo x11 -zoom'''   '''mplayer  rtsp://192.168.0.9:554 -vo x11 -zoom'''  +--> =====VLC===== =====VLC=====   '''vlc rtsp://192.168.0.9:554 -V x11 --rtsp-caching=50'''     '''vlc rtsp://192.168.0.9:554 -V x11 --rtsp-caching=50'''   The default setting for rtsp-caching is 5000 milliseconds which means the stream is delayed 5 seconds which is not very handy for real-time video preview so the above commands starts VLC with it set to 50 ms The default setting for rtsp-caching is 5000 milliseconds which means the stream is delayed 5 seconds which is not very handy for real-time video preview so the above commands starts VLC with it set to 50 ms -====3. record: command line====+====4. record: command line====   '''mencoder rtsp://192.168.0.9:554 -ovc copy -fps <fps> -o <file_name>.mov'''   '''mencoder rtsp://192.168.0.9:554 -ovc copy -fps <fps> -o <file_name>.mov'''         Oleg

PHG Post-Processing

Wiki Recent Changes - Tue, 09/01/2015 - 13:37

Created page with "==Procedures== * Applying pixel mapping information * Aberration correction * Distortion correction * Vignetting correction * Color correction * Denoising * Sharpening ==Require..."

New page

==Procedures==
* Applying pixel mapping information
* Aberration correction
* Distortion correction
* Vignetting correction
* Color correction
* Denoising
* Sharpening

==Requirements==
* Linux OS (Kubuntu preferably).
* [[Elphel_Software_Kit_for_Ubuntu#ImageJ_and_Elphel_plugins_for_imageJ|Elphel ImageJ Plugins]].
* Locate calibration kernels for the current camera.
* Locate ''default-config.corr-xml''.

==Instructions==
* Launch ImageJ from Eclipse:
* Go to '''Plugins''' -> '''ImageJ-Elphel''' -> '''Eyesis Correction'''
{|
|- valign="top"
|[[File:Eyesis_corrections_plugin.jpeg|thumb|800px|Eyesis corrections plugin interface]]
|}
* '''Restore''' button -> browse for ''default_config.corr-xml'' (restores parameters for '''Configure correction''')
* '''Configure correction''' button - make sure that the following paths are set correctly (if not - mark the checkboxes - a dialog for each path will pop up):
<font size='2'>
'''Source files directory''' - directory with the footage images
'''Sensor calibration directory''' - [YOUR-PATH]/calibration/sensors
'''Aberration kernels (sharp) directory''' - [YOUR-PATH]/calibration/aberration_kernels/sharp-007
'''Aberration kernels (smooth) directory''' - [YOUR-PATH]/calibration/aberration_kernels/smooth
'''Equirectangular maps directory(may be empty)''' - [YOUR-PATH]/calibration/equirectangular_maps (it should be created automatically if the w/r rights of [YOUR-PATH]/calibration allow)

'''Source file suffix''' - '''.jp4''' if jp4 files are processed
'''Sensor files prefix''' - the format is '''<prefix>NN.calib-tiff''' - '''<prefix>''' is blank if the files are just ''NN.calib-tiff''. For '''XXX-NN.calib-tiff''' the prefix would be '''XXX-'''
'''Sensor files suffix''' - default is '''.calib-tiff'''
'''Kernel files (sharp)/(smooth) prefix - same rule as for the sensor files
'''Kernel files (sharp)/(smooth) suffix''' - default is '''.kernel-tiff'''
'''Equirectangular maps prefix''' - same rule as for the sensor files
'''Equirectangular maps suffix''' - default is '''.eqr-tiff'''
Also the following check boxes need to be checked:
'''De-mosaic'''
'''Sharpen'''
'''Denoise'''
'''Convert colors'''
'''Warp results to equiretangular'''
'''Use projection to a common plane instead of the equirectangular'''
</font>


* '''Configure warping''' (''Skip if the files already exist'') -> rebuild map files - this will create maps in [YOUR-PATH]/calibration/equirectangular_maps. Will take ~5-10 minutes.
* '''Select source files''' -> select all the footage files to be processed - all files should be named as *_1.jp4 (example: test_1.jp4, something was hard coded, we will fix later)
* '''Process files''' to start the processing. Depending on the PC power it can take ~1 minute per image.

[[Category:User Guide]]
[[Category:ImageJ]] Oleg

Elphel Software Kit for Ubuntu

Wiki Recent Changes - Tue, 09/01/2015 - 12:47

ImageJ and Elphel plugins for imageJ:

← Older revision Revision as of 18:47, 1 September 2015 (One intermediate revision not shown)Line 280: Line 280: It is a very useful tool to do quantitative analysis of the camera images. It is a very useful tool to do quantitative analysis of the camera images. -===ImageJ installation ===+* Download plugins:  + git clone https://github.com/Elphel/imagej-elphel.git  +* Download [http://www.eclipse.org/downloads/ Eclipse IDE for Java EE Developers] or any other with Maven integration  +* Edit ''eclipse.ini'':  + -clean -startup  + ...  + -XX:MaxPermSize=24576m  + -Xms2048m  + -Xmx24576m  +* From Eclipse:  + 1. File -> Import -> Existing Maven Projects -> set imagej-elphel as Root Directory - a project will appear in the project list -> Finish  +    Importing will take some time  +  + 2. Create Run Configuration:  +    a. Run Configurations -> select Java Application -> New Launch Configuration -> Search for Aberration_Calibration class and select it -> Run  +    b. It will launch ''ImageJ & Aberration_Calibration plugin''  +    c. Other plugins are launched from ImageJ window from Plugins  +   +<!--  +=== ImageJ installation === You may download ImageJ bundled with Java from the [http://rsbweb.nih.gov/ij/download.html download page]: You may download ImageJ bundled with Java from the [http://rsbweb.nih.gov/ij/download.html download page]:  + ==== With 32-bit Java ====   ==== With 32-bit Java ====   -cd ~/Download; wget "http://rsbweb.nih.gov/ij/download/linux/ij147-linux32.zip" ; unzip ij147-linux32.zip+ cd ~/Downloads; wget "http://rsbweb.nih.gov/ij/download/linux/ij147-linux32.zip" ; unzip ij147-linux32.zip -==== With 64-bit Java ====+ cd ~/Downloads; wget "http://rsbweb.nih.gov/ij/download/linux/ij149-linux64.zip" ; unzip ij149-linux64.zip -cd ~/Download; wget "http://rsbweb.nih.gov/ij/download/linux/ij147-linux64.zip" ; unzip ij147-linux64.zip+ '''If any of the two direct download links above are broken, please use the [http://rsbweb.nih.gov/ij/download.html] to get the new ImageJ version''' '''If any of the two direct download links above are broken, please use the [http://rsbweb.nih.gov/ij/download.html] to get the new ImageJ version''' Line 301: Line 320: Then clone the repository - directly to the ImageJ plugins directory. Provided you used the same directory for ImageJ as written above: Then clone the repository - directly to the ImageJ plugins directory. Provided you used the same directory for ImageJ as written above:   cd  ~/Downloads/ImageJ/plugins   cd  ~/Downloads/ImageJ/plugins -<!-- old url:  git clone git://elphel.git.sourceforge.net/gitroot/elphel/ImageJ-Elphel -->+ old url:  git clone git://elphel.git.sourceforge.net/gitroot/elphel/ImageJ-Elphel   git clone git://git.code.sf.net/p/elphel/ImageJ-Elphel   git clone git://git.code.sf.net/p/elphel/ImageJ-Elphel Line 314: Line 333: When you'll update the source files, you 'll need to re-run "Compile and run...". meanwhile just use the item in Plugins->ImageJ-Elphel menu. When you'll update the source files, you 'll need to re-run "Compile and run...". meanwhile just use the item in Plugins->ImageJ-Elphel menu.  +--> Oleg

NC393 progress update and a second life of the NC353 FPGA code

Elphel Development Blog - Wed, 07/29/2015 - 01:59

Another update on the development of the NC393 camera: finished adding FPGA code that re-implements functionality of the NC353 camera (just with additional multi-sensor capability), including JPEG/JP4 compressors, IMU/GPS logger and inter-camera synchronization. Next step – simulation and debugging, and it will use co-simulating of the same sensor image data using the code of the existing NC353 camera. This involves updating of that camera code to the state compatible with the development tools we use, and so the additional sub-project was spawned.

Verilog code development with VDT plugin for Eclipse IDE

Before describing the renovation of the NC353 camera FPGA code I need to tell about the software we use for the last year. Living in the world where FPGA chip manufactures have monopoly (or duopoly as there are 2 major players) on the rather poor software tools, I realize that this will not change in the short term. But it is possible to constrain those proprietary creations in the designated “cages” letting them do only certain tasks that require secret knowledge of the chip internals, but do not let them take control of the whole development process, depend on them abandoning one software environment and introducing another half-made one as soon as you’ll get used to the previous.

This is what VDT is about – it uses one of the most standard development environments – Eclipse IDE, combines it with a heavily modified version of VEditor and the Tool Specification Language that allows developers to integrate additional tools without getting inside the plugin code itself. Integration involves writing tool descriptions in TSL (this work is based on the tool manufacturer manual that specifies command options and parameters) and possibly creating custom parsers for the tool output – these programs may be written in any programming language developer is comfortable with.

Current integration includes the Free Software simulation programs (such as Icarus Verilog with GtkWave). As it is safe to rely on the Free Software we may add code specific to these programs in the plugin body to have deeper integration and combine code and waveforms navigation, breakpoints support.

For the FPGA synthesis and implementation tools this software supports Xilinx ISE and Vivado, we are now working on Altera Quartus too. There is no VDT code dependence on the specifics of each of these tools, and the tools are connected to the IDE using ssh and rsync, so they do not have to run on the same workstation.

Renovating the NC353 camera code

Initially I just planned to enter the NC353 camera FPGA code into VDT environment for simulation. When I opened it in this IDE it showed more than 200 warnings in the code. Most were just unused wires/registers and signal width mismatch that did not impact the functioning of the camera, but at least one was definitely a bug – a one that gets control in very rare occasions and so is difficult to catch.

When I fixed most of these warnings and made sure simulation works, I decided to try to run ISE 14.7 tools and generate a functional bitstream. There were multiple incompatibilities between ISE 10 (which was last used to generate a bitstream) and the current version – most modifications were needed to change description of the I/O standard and other parameters of the device pins (from constraint file and “// synthesis attribute …” in the code to modern style of using parameters.

That turned out to be doable – first I made the design agree with all the tools to the very last (bitstream generation), then reconciled the generated pad report with the one generated with old tools (there are still some differences remaining but they are understandable and OK). Finally I had to figure out that I need to turn on non-default option to use timing constraints and how to change the speed grade to match the one used with the old tools, and that resulted in a bitstream file that I tested on just one camera and got images. It was a second attempt – the first one resulted in a “kernel panic” and I had to reflash the camera. The project repository has the detailed description how to make such testing safe, but it is still better to try using your modified FPGA code only if you know how to “unbrick” the camera.

We’ll do more testing of the bit files generated by the ISE 14.7, but for now we need to focus on the NC393 development and use NC393 code as a reference for simulation.

Back to NC393

Before writing simulation test code for the NC393 camera, I made the code to pass all the Vivado tools and result in a bitfile. That required some code tweaking, but finally it worked. Of course there will be some code change to fix bugs revealed during verification, but most likely changes will not be radical. This assumption allows to see the overall device utilization and confirm that the final design is going to fit.

Table 1. NC393 FPGA Resources Utilization Type Used Available Utilization(%) Slice 14222 19650 72.38 LUT as Logic 31448 78600 40.01 LUT as Memory 1969 26600 7.40 LUT Flip Flop Pairs 44868 78600 57.08 Block RAM Tile 78.5 265 29.62 DSPs 60 400 15.00 Bonded IOB 152 163 93.25 IDELAYCTRL 3 5 60.00 IDELAYE2/IDELAYE2_FINEDELAY 78 250 31.20 ODELAYE2/ODELAYE2_FINEDELAY 43 150 28.67 ILOGIC 72 163 44.17 OLOGIC 48 163 29.45 BUFGCTRL 16 32 50.00 BUFIO 1 20 5.00 MMCME2_ADV 5 5 100.00 PLLE2_ADV 5 5 100.00 BUFR 8 20 40.00 MAXI_GP 1 2 50.00 SAXI_GP 2 2 100.00 AXI_HP 3 4 75.00 AXI_ACP 0 1 0.00

One AXI general purpose master port (MAXI_GP) and one AXI “high performance” 64-bit slave port are reserved for the SATA controller, and the 64-bit cache-coherent port (AXI_ACP) will be used for CPU accelerators for the multi-sensor image processing.

Next development step will be simulation and debugging of the project code, and luckily large part of the code can be verified by comparing with the older NC353

Elphel camera parts 0353-01

Wiki Recent Changes - Wed, 07/22/2015 - 13:45

0353-01-253 - flex jumper, 4 conductors, 0.5mm pitch, l=500mm, t=0.3mm both ends:

← Older revision Revision as of 19:45, 22 July 2015 (6 intermediate revisions not shown)Line 3: Line 3: === 0353-01-02  - flex jumper, 10 conductors, 0.5mm pitch, l=76mm, t=0.3mm both ends === === 0353-01-02  - flex jumper, 10 conductors, 0.5mm pitch, l=76mm, t=0.3mm both ends === -=== 0353-01-021  - flex jumper, 10 conductors, 0.5mm pitch, l=80mm, t=0.3mm both ends ===+=== 0353-01-021  - flex jumper, 10 conductors, 0.5mm pitch, l=80mm, t=0.3mm both ends, Gold (Au) Plating=== -=== 0353-01-022  - flex jumper, 10 conductors, 0.5mm pitch, l=400mm, t=0.3mm both ends ===+   +=== 0353-01-022  - flex jumper, 10 conductors, 0.5mm pitch, l=400mm, t=0.3mm both ends, Gold (Au) Plating ===  +   +=== 0353-01-023  - flex jumper, 10 conductors, 0.5mm pitch, l=305mm, t=0.3mm both ends Gold (Au) Plating === === 0353-01-03  - flex jumper, 40 conductors, 0.5mm pitch, l=70mm (one end t=0.3mm, other end t=0.2mm) === === 0353-01-03  - flex jumper, 40 conductors, 0.5mm pitch, l=70mm (one end t=0.3mm, other end t=0.2mm) === Line 57: Line 60: === 0353-01-25  - flex jumper, 4 conductors, 0.5mm pitch, l=2" (50.8mm), t=0.3mm both ends === === 0353-01-25  - flex jumper, 4 conductors, 0.5mm pitch, l=2" (50.8mm), t=0.3mm both ends === -=== 0353-01-251  - flex jumper, 4 conductors, 0.5mm pitch, l=50mm, t=0.3mm both ends ===+=== 0353-01-251  - flex jumper, 4 conductors, 0.5mm pitch, l=50mm, t=0.3mm both ends, Gold (Au) Plating === -=== 0353-01-252  - flex jumper, 4 conductors, 0.5mm pitch, l=200mm, t=0.3mm both ends ===+  -=== 0353-01-253  - flex jumper, 4 conductors, 0.5mm pitch, l=200mm, t=0.3mm both ends ===+=== 0353-01-252  - flex jumper, 4 conductors, 0.5mm pitch, l=200mm, t=0.3mm both ends, Gold (Au) Plating ===  +   +=== 0353-01-253  - flex jumper, 4 conductors, 0.5mm pitch, l=500mm, t=0.3mm both ends, Gold (Au) Plating === ---- ---- Olga

Event logger

Wiki Recent Changes - Mon, 07/20/2015 - 13:46

How to record log on the camera:

← Older revision Revision as of 19:46, 20 July 2015 (One intermediate revision not shown)Line 34: Line 34: This script is logging an incrementing number both to the camera log and Yún's file system, WiFi scanning is also recorded to the Yún's log. So later both log files can be synchronized in post-processing. This script is logging an incrementing number both to the camera log and Yún's file system, WiFi scanning is also recorded to the Yún's log. So later both log files can be synchronized in post-processing.  +  +===How to record log on the camera===  +(see http://192.168.0.9/logger_launcher.php source for options and details):  +* START: http://192.168.0.9/logger_launcher.php?file=/absolute_path/name.log&index=1&n=10000000&mount_point=/absolute_path  + mount_point=/absolute_path - the path at which the storage is mounted (usb or nfs)  +* STOP:  http://192.168.0.9/phpshell.php?command=killall%20-1%20log_imu ===Notes=== ===Notes=== Oleg

NC353L-PHG Post-Processing

Wiki Recent Changes - Mon, 07/20/2015 - 13:15

Procedures done at post-processing stage:

New page

==Procedures done at the post-processing stage==
* Applying pixel mapping information
* Aberration correction
* Distortion correction
* Vignetting correction
* Color correction
* Denoising
* Sharpening

==Requirements==
* Linux OS (Kubuntu preferably).
* [http://rsbweb.nih.gov/ij/download.html ImageJ].
* [[Elphel_Software_Kit_for_Ubuntu#ImageJ_and_Elphel_plugins_for_imageJ|Elphel ImageJ Plugins]].
<!--
* Place [http://eyesisbox.elphel.com/post-processing/ImageJ/plugins/loci_tools.jar loci_tools.jar] into '''ImageJ/plugins/'''.
* Place [http://eyesisbox.elphel.com/post-processing/ImageJ/plugins/tiff_tags.jar tiff_tags.jar] into '''ImageJ/plugins/'''.
-->
* Calibration data (come with camera)
* default-config.corr-xml (comes with camera)

==Instructions==
* Open terminal window:
<font size='2'>
cd /data/ImageJ
./run
* Go to '''Plugins''' -> '''ImageJ-Elphel''' -> '''Eyesis Correction'''
'''Note''': if plugin needs to be recompiled - '''Plugins''' -> '''Compile & Run'''. Find and select '''Eyesis_Correction.java'''.
</font>
{|
|- valign="top"
|[[File:Eyesis_corrections_plugin.jpeg|thumb|800px|Eyesis corrections plugin interface]]
|}
* '''Restore''' button -> browse for ''default_config.corr-xml'' (restores parameters for '''Configure correction''')
* '''Configure correction''' button - make sure that the following paths are set correctly (if not - mark the checkboxes - a dialog for each path will pop up):
<font size='2'>
'''Source files directory''' - directory with the footage images
'''Sensor calibration directory''' - [YOUR-PATH]/calibration/sensors
'''Aberration kernels (sharp) directory''' - [YOUR-PATH]/calibration/aberration_kernels/sharp
'''Aberration kernels (smooth) directory''' - [YOUR-PATH]/calibration/aberration_kernels/smooth
'''Equirectangular maps directory(may be empty)''' - [YOUR-PATH]/calibration/equirectangular_maps (it should be created automatically if the w/r rights of [YOUR-PATH]/calibration allow)

'''Source file suffix''' - '''.jp4''' if jp4 files are processed
'''Sensor files prefix''' - the format is '''<prefix>NN.calib-tiff''' - '''<prefix>''' is blank if the files are just ''NN.calib-tiff''. For '''XXX-NN.calib-tiff''' the prefix would be '''XXX-'''
'''Sensor files suffix''' - default is '''.calib-tiff'''
'''Kernel files (sharp)/(smooth) prefix - same rule as for the sensor files
'''Kernel files (sharp)/(smooth) suffix''' - default is '''.kernel-tiff'''
'''Equirectangular maps prefix''' - same rule as for the sensor files
'''Equirectangular maps suffix''' - default is '''.eqr-tiff'''

</font>
* '''Configure warping''' (''Skip if the files already exist'') -> rebuild map files - this will create maps in [YOUR-PATH]/calibration/equirectangular_maps. Will take ~5-10 minutes.
* '''Select source files''' -> select all the footage files to be processed.
* '''Process files''' to start the processing.

==Links==
[[Category:User Guide]]
[[Category:ImageJ]] Oleg

GTX_GPL – Free Software Verilog module to simulate a proprietary FPGA primitive

Elphel Development Blog - Thu, 07/09/2015 - 21:04

Widespread high-speed protocols, which are based on serial interfaces, have become easier and easier to implement on FPGAs. If you take a look at Xilinx’s chips series, you can monitor an evolution of embedded transceivers from some awkwardly inflexible models to much more compatible ones. Nowadays even the affordable 7 series FPGAs possess GTX transceivers. Basically, they represent a unification of various protocols phy-levels, where the versatility is provided by parameters and control input signals.
The problem is, for some reason GTX’s simulation model is a secured IP block. It means that without proprietary software it’s impossible to compile and simulate the transceiver. Moreover, we use Icarus Verilog for these purposes, which doesn’t provide deciphering capabilities for now, and doesn’t seem to ever be able to do so: http://sourceforge.net/p/iverilog/feature-requests/35/

Still, our NC393 camera has to use GTX as a part of SATA host controller design. That’s why it was decided to create a small simulation model, which shall behave as GTX, at least within some limitation and assumption. This was done so that we could create a full-fledged non-synthesizable verification environment and provide our customers with a universal within simulation purposes solution.

The project itself can be found at github. The implementation is still crude and contains only the bare minimum required to achieve our goals. However, it assumes a possibility to be broadened onto another protocol’s case. That’s why it preserves the original GTX structure, as it’s presented in Xilinx’s “7 Series FPGAs GTX/GTH Transceivers User Guide v1.11″, also known as UG476: http://www.xilinx.com/support/documentation/user_guides/ug476_7Series_Transceivers.pdf
The overall design of the so called GTX_GPL is split into 4 parts, contained in a wrapper to ensure interface compatibility with the original GTX. These parts are: TX – transmitter, RX – receiver, channel clocking and common clocking.
All of the clocking scheme was based on an assumption of clocks, PLLs, and interconnects being ideal, so no setup/hold violation/metastability are expected. That itself makes the design non-synthesizable, but greatly reduces its complexity.

Receiver + Clocking

Transmitter + Clocking

Transmitter and receiver schemes are presented in the figures. Each is provided with a clocking mechanism. You can compare it to GTX’s corresponding schemes (see UG476, pages 107, 133, 149, 169). As you can see, TX and RX lack the original functional blocks. However, many of them are important only for synthesis or precise post-synthesis simulation, like phase adjustments or analog-level blocks. Some of them (like the gearbox) are excessive for SATA and implementing them can be costly.
Despite all of that, current implementation passes some basic tests when SATA parameters are turned on. Resulting waves were compared to ones received by swapping GTX_GPL with the original GTX_CHANNEL primitive as a device-under-test, and they showed more or less the same behavior.

You can access to a current version via github. It’s not necessary to clone or download the whole repository, but enough to acquire ‘GTXE2_CHANNEL.v’ file from there. This file represents a collection of all necessary modules from the repository, with GTXE2_CHANNEL as a top. After including (or linking as a lib file/source file) it in your project, the original unisims primitive GTXE2_CHANNEL.v will be overridden.

If you find some bugs during simulation in SATA context or you want some features to be implemented (within any protocol’s set-up), feel free to leave a message via comments, PM or github.

Overall, the design shall be useful for verification purposes. It allows to create a proper GPL licensed simulation verification environment which is not hard-bound to a proprietary software.

Elphel Eyesis

Wiki Recent Changes - Wed, 07/08/2015 - 11:30

← Older revision Revision as of 17:30, 8 July 2015 Line 1: Line 1: ==Status== ==Status== <font style="font-size:3em;color:red">Discontinued</font> <font style="font-size:3em;color:red">Discontinued</font>  +  +Superseded by [[Elphel_Eyesis4Pi]] ==Images== ==Images== {| {| Andrey.filippov

Request for Quote - SFE Eyesis4Pi

Wiki Recent Changes - Tue, 06/30/2015 - 10:34

← Older revision Revision as of 16:34, 30 June 2015 Line 9: Line 9: | [[Elphel_camera_parts_0353-19#0353-19-64D_-_SFE_Module.2C_Base.2C_Rev_.22D.22|0353-19-64D - SFE Module, Base, Rev "D" ]]  || 10 || 75 ||   | [[Elphel_camera_parts_0353-19#0353-19-64D_-_SFE_Module.2C_Base.2C_Rev_.22D.22|0353-19-64D - SFE Module, Base, Rev "D" ]]  || 10 || 75 ||   |- |- -| [[Elphel_camera_parts_0353-19#0353-19-641D_-_SFE_Module.2C_Base.2C_with_shifted_lens_center.2C_Rev_.22D.22|0353-19-641D - SFE Module, Base, with shifted lens center, Rev "D"  ]]  || 16 || 117 ||   +| [[Elphel_camera_parts_0353-19#0353-19-641D_-_SFE_Module.2C_Base.2C_with_shifted_lens_center.2C_Rev_.22D.22|0353-19-641D - SFE Module, Base, with shifted lens center, Rev "D"  ]]  || 16 || 120 ||    |- |- -| [[Elphel_camera_parts_0353-19#0353-19-65G_-_SFE_Plate.2C_revision_.22G.22|0353-19-65G - SFE Plate, revision "G" ]]  || 26 || 192 ||   +| [[Elphel_camera_parts_0353-19#0353-19-65G_-_SFE_Plate.2C_revision_.22G.22|0353-19-65G - SFE Plate, revision "G" ]]  || 26 || 200 ||    |- |- -| [[Elphel_camera_parts_0353-19#0353-19-651B_-_Sensor_ring.2C_Revision_.22B.22|0353-19-651B - Sensor ring, Revision "B"  ]]  || 26 || 192 ||   +| [[Elphel_camera_parts_0353-19#0353-19-651B_-_Sensor_ring.2C_Revision_.22B.22|0353-19-651B - Sensor ring, Revision "B"  ]]  || 26 || 200 ||    |- |- -| [[Elphel_camera_parts_0353-19#0353-19-94_-_Sensor_PCB_cover|0353-19-94 - Sensor PCB cover ]]  || 26 || 192 ||  +| [[Elphel_camera_parts_0353-19#0353-19-94_-_Sensor_PCB_cover|0353-19-94 - Sensor PCB cover ]]  || 26 || 200 ||  +|-  +| [[Elphel_camera_parts_0353-19#0353-19-95A_-_Tube_Revision_.22A.22|0353-19-95A - Tube Revision "A"  ]]  || 78 || 500 ||  +|-  +| [[Elphel_camera_parts_0353-19#0353-19-97_-_Support_rod|0353-19-97 - Support rod  ]]  || 78 || 500 ||  +|-  +| [[Elphel_camera_parts_0353-19#0353-19-98_-_Support_rod_cap|0353-19-98 - Support rod cap    ]]  || 78 || 500 ||  +|-  +| [[Elphel_camera_parts_0353-19#0353-19-99-24A_-_Compensation_ring.2C_l.3D2.4mm|0353-19-99-24A - Compensation ring, l=2.4mm    ]]  || 26 || 200 ||   |- |- -  |} |} The Quote is requested for the Quantity needed for 7 Units (as listed in column "Qty Total") The Quote is requested for the Quantity needed for 7 Units (as listed in column "Qty Total") Please, read the [[Supplier_Terms_and_Conditions|Suppliers Terms and Conditions]] and send the Proposals by e-mail: [mailto://supplies@elphel.com supplies@elphel.com] Please, read the [[Supplier_Terms_and_Conditions|Suppliers Terms and Conditions]] and send the Proposals by e-mail: [mailto://supplies@elphel.com supplies@elphel.com] Olga

Elphel camera parts

Wiki Recent Changes - Mon, 06/29/2015 - 19:32

0353-24-04 Cable holder:

← Older revision Revision as of 01:32, 30 June 2015 (4 intermediate revisions not shown)Line 316: Line 316: ---- ----  +  +== [[Elphel_camera_parts_0353-24 | 0353-24 - other Eyesis4pi parts ]] ==  +=== [[Elphel_camera_parts_0353-24#0353-24-01_-_Allen_key_guide | 0353-24-01 Allen key guide]] ===  +  +=== [[Elphel_camera_parts_0353-24#0353-24-02_-_Cable_holder  | 0353-24-02 Cable holder]] ===  +  +=== [[Elphel_camera_parts_0353-24#0353-24-03_-_PCB_holder.2C_Rev._A | 0353-24-03 SATA/eSATA adapter PCB holder, Rev. A]] ===  +=== [[Elphel_camera_parts_0353-24#0353-24-04_-_Cable_clamp | 0353-24-04 Cable clamp]] ===  +=== [[Elphel_camera_parts_0353-24#0353-24-06_-_Enclosure_body  | 0353-24-06 Enclosure body]] ===  +=== [[Elphel_camera_parts_0353-24#0353-24-07_-_Connector_panel | 0353-24-07 Connector panel]] ===  +=== [[Elphel_camera_parts_0353-24#0353-24-08_-_Plug_core | 0353-24-08 Plug core]] ===  +=== [[Elphel_camera_parts_0353-24#0353-24-09_-_Plug_plunger  | 0353-24-09 Plug plunger]] ===  +=== [[Elphel_camera_parts_0353-24#0353-24-10_-_Plug_nut| 0353-24-10 Plug nut]] ===  +=== [[Elphel_camera_parts_0353-24#0353-24-11_-_Plug_cap | 0353-24-11 Plug cap]] ===  +=== [[Elphel_camera_parts_0353-24#0353-24-12_-_Enclosure_flange | 0353-24-12 Enclosure flange]] ===  + ---- ---- Mikhail

Elphel camera parts 0353-24

Wiki Recent Changes - Mon, 06/29/2015 - 19:07

0353-24-03 - PCB holder:

← Older revision Revision as of 01:07, 30 June 2015 Line 12: Line 12: ---- ---- -=== 0353-24-03 - PCB holder  ===+=== 0353-24-03 - PCB holder, Rev. A === -{{Cad4|0353-24-03|1. Some capacitor interference}}+{{Cad4a|0353-24-03A}} ---- ---- Mikhail

Elphel camera parts 0353-00

Wiki Recent Changes - Mon, 06/29/2015 - 17:01

0353-00-31 - 103698 rev A PCB assembly - SATA/eSATA adapter:

← Older revision Revision as of 23:01, 29 June 2015 Line 124: Line 124: === 0353-00-31  - 103698 rev A PCB assembly - SATA/eSATA adapter === === 0353-00-31  - 103698 rev A PCB assembly - SATA/eSATA adapter === -{{Cad4|0353-00-31}}+{{Cad4a|0353-00-31}} Mikhail

Elphel camera parts 0353-24

Wiki Recent Changes - Mon, 06/29/2015 - 13:32

0353-24-03 - PCB holder:

← Older revision Revision as of 19:32, 29 June 2015 Line 13: Line 13: === 0353-24-03 - PCB holder  === === 0353-24-03 - PCB holder  === -{{Cad4|0353-24-03}}+{{Cad4|0353-24-03|1. Some capacitor interference}} -<span style='color:red;' title="1. Needs Modification" >Problems</span>+ ---- ---- Oleg

Elphel camera parts 0353-19

Wiki Recent Changes - Mon, 06/29/2015 - 13:31

0353-19-94 - Sensor PCB cover:

← Older revision Revision as of 19:31, 29 June 2015 (One intermediate revision not shown)Line 650: Line 650: === 0353-19-94 - Sensor PCB cover === === 0353-19-94 - Sensor PCB cover === -{{Cad4|0353-19-94}}+{{Cad4|0353-19-94|1.Sensors' connectors won't close}} -<span style='color:red;' title="1. Sensors' connectors won't close" >Problems</span>+ ---- ---- Oleg

Template:Cad4

Wiki Recent Changes - Mon, 06/29/2015 - 13:29

← Older revision Revision as of 19:29, 29 June 2015 Line 2: Line 2: == Usage == == Usage == Includes table with 4 files - JPEG, pdf, dxf and stp Includes table with 4 files - JPEG, pdf, dxf and stp -{{Cad4|basename}}+{{Cad4|basename|changelog}} </noinclude> </noinclude> Line 9: Line 9: | [[Image:{{{1}}}.jpeg|thumb|[[Media:{{{1}}}.stp.tar.gz|3d (step)]]&nbsp;&nbsp;[[Media:{{{1}}}.dxf.tar.gz|2d (dxf)]]&nbsp;&nbsp;[[Media:{{{1}}}.pdf|2d (pdf)]]]] ||   | [[Image:{{{1}}}.jpeg|thumb|[[Media:{{{1}}}.stp.tar.gz|3d (step)]]&nbsp;&nbsp;[[Media:{{{1}}}.dxf.tar.gz|2d (dxf)]]&nbsp;&nbsp;[[Media:{{{1}}}.pdf|2d (pdf)]]]] ||   |- |-  +| {{#if: {{{2|}}} | <span title="{{{2}}}" style="color:red;">Known problems</span> | &nbsp; }}  +| |} |} Oleg

Template:Cad4a

Wiki Recent Changes - Mon, 06/29/2015 - 13:29

← Older revision Revision as of 19:29, 29 June 2015 Line 19: Line 19: Copyright &copy; {{CURRENTYEAR}} Elphel Inc., Licensed under [http://ohwr.org/cernohl CERN OHL v.1.1], [http://www.gnu.org/copyleft/fdl.html GNU FDL v.1.3] Copyright &copy; {{CURRENTYEAR}} Elphel Inc., Licensed under [http://ohwr.org/cernohl CERN OHL v.1.1], [http://www.gnu.org/copyleft/fdl.html GNU FDL v.1.3] |- |- -|<span title="{{{2}}}" style="color:red;">Changelog</span>+|{{#if: {{{2|}}} | <span title="{{{2}}}" style="color:red;">Known problems</span> | &nbsp; }} | | |} |} Oleg

Elphel camera parts 0353-24

Wiki Recent Changes - Sat, 06/27/2015 - 16:24

0353-24-03 - PCB holder:

← Older revision Revision as of 22:24, 27 June 2015 Line 14: Line 14: === 0353-24-03 - PCB holder  === === 0353-24-03 - PCB holder  === {{Cad4|0353-24-03}} {{Cad4|0353-24-03}}  +<span style='color:red;' title="1. Needs Modification" >Problems</span> ---- ----  + === 0353-24-04 - Cable clamp  === === 0353-24-04 - Cable clamp  === {{Cad4|0353-24-04}} {{Cad4|0353-24-04}} Olga

Pages

Subscribe to www3.elphel.com aggregator