User Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
ee:hydrophones:start [2018/01/24 20:26]
Ryan Summers
ee:hydrophones:start [2018/01/24 20:30]
Ryan Summers
Line 62: Line 62:
  
  
-=== Code ===+==== Code ====
 All software and firmware is available in [[https://​github.com/​PalouseRobosub/​hydro-zynq|the GitHub repository]]. There are two primary directories:​ hardware and software. The hardware folder contains all the Verilog and TCL files for interracting with Vivado. TCL scripts have been generated to rebuild the block design in vivado, and a README.txt file in proj/ describes how to use them. Additionally,​ the IO constraints file is provided for the current hardware. All software and firmware is available in [[https://​github.com/​PalouseRobosub/​hydro-zynq|the GitHub repository]]. There are two primary directories:​ hardware and software. The hardware folder contains all the Verilog and TCL files for interracting with Vivado. TCL scripts have been generated to rebuild the block design in vivado, and a README.txt file in proj/ describes how to use them. Additionally,​ the IO constraints file is provided for the current hardware.
  
Line 79: Line 79:
 **The current firmware utilizes software/​bit/​adc_dma_revb.bit as the bitstream file.** **The current firmware utilizes software/​bit/​adc_dma_revb.bit as the bitstream file.**
  
-=== Programming & Debugging ===+==== Programming & Debugging ​====
 Programming and debugging can be completed through creation of new BOOT.bin files on the SD card, but this is often extremely inefficient. The [[https://​store.digilentinc.com/​jtag-hs3-programming-cable/​|Digilent HS3]] can be used as a JTAG access point for GDB debug interfaces. To interact with the HydroZynq through JTAG, use the `xmd` command (provided by Xilinx). Programming and debugging can be completed through creation of new BOOT.bin files on the SD card, but this is often extremely inefficient. The [[https://​store.digilentinc.com/​jtag-hs3-programming-cable/​|Digilent HS3]] can be used as a JTAG access point for GDB debug interfaces. To interact with the HydroZynq through JTAG, use the `xmd` command (provided by Xilinx).
  
Line 101: Line 101:
   ​   ​
   ​   ​
-=== Communicating ​===+==== Communication ====
 The HydroZynq communicates primarily through UDP. A number of user scripts have been created in the `scripts/` folder for ease of use with UDP. For example, the stdout of the application is sent to Cobalt'​s UDP port 3000 (e.g. 192.168.0.2:​3000). A simple python application ([hydrozynq-repo-path]/​scripts.debug_stream.py) can be used to view the standard output of the application (e.g. dbprintf() statements). The HydroZynq communicates primarily through UDP. A number of user scripts have been created in the `scripts/` folder for ease of use with UDP. For example, the stdout of the application is sent to Cobalt'​s UDP port 3000 (e.g. 192.168.0.2:​3000). A simple python application ([hydrozynq-repo-path]/​scripts.debug_stream.py) can be used to view the standard output of the application (e.g. dbprintf() statements).
 +
 +=== Port Descriptions ===
 +^ Port Number ^ Destination ^ Description ^
 +| 3000        | HydroZynq ​  | Command port                      |
 +| 3001        | Cobalt ​     | Sample data stream port           |
 +| 3002        | Cobalt ​     | Time of Arrival Delay result port |
 +| 3003        | Cobalt ​     | Cross-correlation stream port     |
 +| 3004        | Cobalt ​     | Debug/​STDOUT port                 |
  
 Note that the HydroZynq does not run ROS natively, so python scripts running on cobalt are necessary for interfacing the HydroZynq with ROS. As of now, these scripts are still under initial development. Note that the HydroZynq does not run ROS natively, so python scripts running on cobalt are necessary for interfacing the HydroZynq with ROS. As of now, these scripts are still under initial development.
Line 109: Line 117:
   python [hydrozynq-repo-path]/​scripts/​data_receiver.py   python [hydrozynq-repo-path]/​scripts/​data_receiver.py
  
-  python [hydrozynq-repo-path/​scripts/​correlation_receiver.py+  python [hydrozynq-repo-path]/​scripts/​correlation_receiver.py
   ​   ​
 The data and correlation results are sent using a trivial packet format: The data and correlation results are sent using a trivial packet format: