Table of Contents

Advertisement

Quick Links

PZ-TIO
User Manual
Version 1.01
April 4, 2022
Hardware Revisions: A
Software Revision: 0x1103
Firmware Revision and Variants:
0xAF00 0x0100
(standard)
XIA LLC
2744 East 11th St
Oakland, CA 94601, USA
Email: support@xia.com
Tel: (510) 401-5760; Fax: (510) 401-5761
http://www.xia.com/
Information furnished by XIA LLC is believed to be accurate and reliable. However, no responsibility is assumed by
XIA for its use, or for any infringements of patents or other rights of third parties which may result from its use. No
license is granted by implication or otherwise under any patent or patent rights of XIA. XIA reserves the right to
change hardware or software specifications at any time without notice.

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the PZ-TIO and is the answer not in the manual?

Questions and answers

Subscribe to Our Youtube Channel

Summary of Contents for XIA PZ-TIO

  • Page 1 Information furnished by XIA LLC is believed to be accurate and reliable. However, no responsibility is assumed by XIA for its use, or for any infringements of patents or other rights of third parties which may result from its use. No license is granted by implication or otherwise under any patent or patent rights of XIA.
  • Page 2: Table Of Contents

    SMB (Samba) ..........................14 Required Initial Linux Commands ....................14 White Rabbit ..........................14 Useful Linux Commands ......................15 Direct Network Connection between PZ-TIO and a Windows PC ..........15 PZ-TIO Operation ..........................17 Adjust Parameters ........................17 Data Acquisition Monitoring ...................... 17 User Interface Options ........................
  • Page 3 11.1.1 File structure ........................41 11.1.2 Parameter Definitions ......................42 11.1.3 FPGA registers ........................42 11.1.4 Status Registers – cgi vs file vs page .................. 42 12 Firmware Information ......................... 43 13 Known Bugs ............................44 © 2022 XIA LLC...
  • Page 4: Safety

    Linux Passwords The PZ-TIO Linux OS comes with default user IDs and passwords for 1) SSH login, 2) SMB file sharing, and 3) Web Operations as described below. Users should immediately change these passwords, especially when the PZ-TIO is connected to external networks.
  • Page 5: Warranty Statement

    In order to obtain service under this warranty, Customer must notify XIA LLC of the defect before the expiration of the warranty period and make suitable arrangements for the performance of the service.
  • Page 6: Manual Conventions

    CAPITALS CAPITALS denote DSP SLOWLEN is the length of the slow energy parameter names filter are used for …go to the panel and you see… MALL MALL MCADISPLAY panels/windows/graphs in the GUI. © 2022 XIA LLC...
  • Page 7: Introduction

    At this point, all the PZ-TIO really does is allowing a PicoZed to blink an LED or toggle an output pin in sync with a White Rabbit or other PTP master. Legally, we are [probably] only selling a circuit board –...
  • Page 8: Pz-Tio Features

    Version 1.01 PZ-TIO Features The PZ-TIO is designed as a “switchboard” for GPIO signals, synchronized by White Rabbit, to route input signals to output signals and make logical combinations between them in FPGA fabric. It has the following features and capabilities: ...
  • Page 9: Specifications

    3 PMOD-style I/O connectors for direct connection to PL pins 1 connector is a 12-pin receptacle 2 connectors are right angle headers (not stuffed by default) 3.3V power from PZ-TIO to peripheral 1 microHDMI 1 microHDMI for buffered 5V TTL input or output signals...
  • Page 10: System Requirements

    Table 1-1. Specifications for the PZ-TIO System Requirements The system considered here consists of a PZ-TIO, a PicoZed, and a White Rabbit switch (or other PTP master) plus appropriate cabling. Optional connections can be made to external electronics. A PC, smartphone or tablet is required to communicate with the PicoZed, but trigger routing and clock synchronization is fully contained in the combination of PicoZed and PZ-TIO.
  • Page 11: Power Requirements

    Software and Firmware Overview The software of the PicoZed carried by the PZ-TIO consists of a small set of C programs (API functions) applying settings to the PL, reading data from the PL, and storing it on the SD card.
  • Page 12: Setup

    Web server SMB (Samba) file sharing The typical procedure for setup would be to first to power up the PZ-TIO (2.1), then install and configure drivers for the serial port on a USB master PC (2.2). Log on via serial port terminal, find the PZ-TIO’s IP address, and execute a few setup programs (2.5).
  • Page 13: Ssh Login

    Web Interface Any web browser can be used to log in via the network once the PZ-TIO is powered, connected to a network, and its IP address is known. The IP address can be found by ...
  • Page 14: Smb (Samba)

    The PZ-TIO Linux OS is running Samba, a “Windows interoperability suite of programs for Linux and Unix”. It allows the files in the Linux partition of the PZ-TIO SD card to be shared with Windows networking. By default, only one folder is shared (/var/www) which is the location of the API functions.
  • Page 15: Useful Linux Commands

    The above description of setup and operation of the PZ-TIO assumes both PZ-TIO and the user device (PC, tablet, smartphone) are connected to a local network with DHCP server and gateway. Instead, it is possible to directly connect the PZ-TIO to a laptop or desktop Currently /dev/sda1 is not available in Linux...
  • Page 16 In the properties dialog, set IP address, subnet mask, and gateway as shown above. (The gateway is equal to PZ-TIO’s IP address.) Note: The network will not be able to connect to the internet. The date/time of the PZ-TIO will likely be initialized to 1970.
  • Page 17: Pz-Tio Operation

    The C function “monitordaq” is a template demonstrating how to periodically read FPGA status registers and print them to file. At this point, the PZ-TIO is mainly a demonstration unit for the White Rabbit IP core implementation. As such, the main interest if for firmware programmers who want to understand and test the IP core.
  • Page 18: User Interface Options

    3.3.1 Terminal At the most basic level, users can log in to the PZ-TIO with a terminal program and execute the C programs to set up and read status (e.g. ./progfippi and ./runstats). Settings are modified by editing the settings file settings.ini with a basic text editor like VI.
  • Page 19: Terminal, Smb And Windows Programs

    C programs as a cgi script through a browser. The Web Operation page can be reached via a link in the “CGI Current Data” section of the PZ-TIO Home page. It essentially lists the C functions that would normally be called by typing in the terminal;...
  • Page 20 PZ-TIO Manual Version 1.01 (/var/www/webops). The Web Operation page shows the equivalent links from the PZ-TIO home page to download and display the data. Settings files can currently not be modified through the Web Operation page. As this webpage allows generation and execution of files from any remote user, the webserver has been set up to require authentication to access this webpage.
  • Page 21: Api Functions

    Convert into “FPGA units”, e.g. number of samples instead of us (where necessary) Apply limits and dependencies, if not ok, give feedback and abort Read data from PROM and verify the current version of the PZ-TIO hardware is supported by the software Write to FPGA registers to apply settings Toggle I2C lines to read PZ-TIO information from PROM.
  • Page 22: Clockprog - Not Yet Implemented

    Functions performed Read settings files Reset counters in FPGA Loop for requested time, save status to RS.csv periodically Arguments: None Output: RS.csv Restrictions: Do not execute runstats or cgistats while monitordaq is in progress © 2022 XIA LLC...
  • Page 23: Web

    Version 1.01 5 Web Pages The PZ-TIO web pages are located in /var/www; this is the default directory for the installed lighttpd webserver. Browsing to the PZ-TIO’s IP address will bring up index.html, from which all other pages can be accessed.
  • Page 24: Rspage.html, Cgistats.cgi

    Internally, this is a d3 javascript that links to the file RS.csv. The file is generated by executing ./runstats on the PZ-TIO terminal. A similar page reading and displaying the data can be generated by the script cgistats.cgi from the web browser.
  • Page 25: Parameters In The Settings Files

    Parameter Name Units Description Limits C_CONTROL Bits, unused 0x0-FFFF REQ_RUNTIME Seconds, Requested run time in (full) seconds 5..2^32 POLL_TIME Tbd, Number of internal polling loops between updates 100..2^32 of csv output files. In the order of microseconds © 2022 XIA LLC...
  • Page 26: Control Parameters

    0 or 1 MCSRA_U_02..15 0 or 1 SYNC_AT_START 0 or 1 If 1, set counter to zero at run start time. PMOD_A_OUTENA bits Bit 0..7 enables outputs on the PMOD-style connector pins 1-4, 7-10. PMOD_B_OUTENA bits PMOD_C_OUTENA bits © 2022 XIA LLC...
  • Page 27: Data Formats

    For full definition and explanation of the values, please see section 8. For example, the line AUXCTRL,0x0,SysTime,0x3408 reports that all bits of the IO parameter AUXCTRL are set to zero, and that the low word of the system time counter is 0x3408 (ns since last boot). © 2022 XIA LLC...
  • Page 28: Registers Visible To Linux

    The FPGA (PL) registers described below are used to apply settings to the firmware and read back event data. This is generally handled by XIA’s API functions and users do not need to go in depth to understand this functionality. The primary way to set registers is by specifying parameters in the .ini file and call XIA’s API function progfippi to convert...
  • Page 29: Output Registers

    GPIO_IN 0x032 Status of GPIO inputs VETO_COUNT 0x033- Number of pulses on VETO input, resets at 0x034 run start SYNC_COUNT 0x035- Number of pulses on SYNC input, resets at 0x036 run start reserved 0x037- reserved 0x03F © 2022 XIA LLC...
  • Page 30: Linux Configuration

    XIA and the modified source code is provided both on the SD card and on XIA’s website. The source code for the Linux kernel built by XIA for the PZ-TIO and for the full collection of Ubuntu Linux programs is too large for the SD card or to host by XIA, but we can provide it upon request.
  • Page 31: Ubuntu 18

    A systemd startup routine is called at boot time to set the parameters (i.e../progfippi). The routine pixie_boot.service is located in /etc/systemd/system/ and calls the shell script autoboot.sh in /var/www/. Output from the script is captured in autoboot.log. © 2022 XIA LLC...
  • Page 32: Other Configurations

    “other settings” folder on the Pixie-Net. You would need to modify the IP address/gateway and may also be necessary to add additional DNS. After that, you can use the command netplan apply to apply the changes, or you can reboot. © 2022 XIA LLC...
  • Page 33: Hardware Information

    10 Hardware Information 10.1 Board Architecture Figure 10-1: Block diagram of the PZ-TIO. Blue lines indicate data connections, green clocks or triggers. Dashed lines are available but currently not implemented (and therefore not fully tested or guaranteed to function). Black dotted lines indicate internal data connections in the Zynq.
  • Page 34: Mmcx Connectors For Clocks And Triggers

    Figure 10-2: Pinout of PMOD connectors; here: J101. Signal lines are routed as differential lines, but by default are used as single ended 3.3V TTL signals. The PZ-TIO implements 3 PMOD-style I/O connectors. All signal I/O pins connect to the PicoZed FPGA pins, without buffers or overvoltage protection. Signal lines are routed as differential lines, but by default are used as single ended 3.3V TTL signals.
  • Page 35: Test Points

    The primary purpose is to plug in a daughterboard that implements the White Rabbit DAC controlled oscillators and related clocking circuitry. Other daughtercards can be designed for other purposes Ask XIA for a TTCL compatible daughtercard © 2022 XIA LLC...
  • Page 36: Clocks

    Version 1.01 10.3 Clocks Figure 10-5: Block diagram of the PZ-TIO clocking. The CLK PLL (and to some degree the PTP PHY) can be programmed to generate different frequencies from any of the input clocks. Default clock paths are shown in darker green. Not shown are Ethernet and related GTX clocks.
  • Page 37: Leds

    10.6.1 Overview The Zynq SoC used as the PZ-TIO’s processor has a number of PTP functions built into its standard Ethernet controller. With suitable Linux kernel options and PTP stack software (see below), the Zynq PTP clock can be synchronized to other PTP nodes in the network with a precision of ~1500 ns.
  • Page 38: Ptp Stack Software: Linuxptp

    To start LinuxPTP in the foreground with status messages, type ptp4l -i eth0 -m –q in the PZ-TIO terminal session. If another PTP node is present in the network, the PZ-TIO will try to link with it. The master clock node is determined automatically; for a defined setup we recommend start ptp4l in one PZ-TIO as shown above and wait until it assigns itself as the clock master, then start ptp4l in the second/third PZ-TIO with the added –s...
  • Page 39: Reduced General Purpose Functionality

    Gigabit Ethernet The secondary Ethernet PHY operates only at 10/100 Ethernet. 10.7 White Rabbit Hardware Elements The PZ-TIO supports implementation of the White Rabbit IP core in the PicoZed PL as follows:  SFP card cage with appropriate connections to FPGA fabric and GTX data pins for the 1Gbps Ethernet connection.
  • Page 40: Picozed Configuration

    10.8 PicoZed configuration The PicoZed can be used as purchased. However, please verify that the boot mode is set to SD card boot: SD card boot: Jumper switches: both to “SW1” QSPI boot: like this picture ---> © 2022 XIA LLC...
  • Page 41: Software Information

    Version 1.01 11 Software Information The PZ-TIO software consists of a number of C routines located in /var/www. They include the API functions listed in section 4, plus a number of support code files for reading parameters from the settings file or utilities for I2C I/O. All code is provided as open source;...
  • Page 42: Parameter Definitions

    Essentially method (3) is a combination of (1) and (2), executed through the webpage. However, it should not be performed when another task (e.g. monitordaq) is reading FPGA registers, as it may lead to contention of which program has access. © 2022 XIA LLC...
  • Page 43: Firmware Information

    - count pulses on MMCX inputs for specified time - blink LEDs - report status of inputs, WR core status, WR time Please also see separate documentation in the firmware distribution, including a description of the implementation of the White Rabbit IP core. © 2022 XIA LLC...
  • Page 44: Known Bugs

    A RTC chip is present but has never been tested.  The USB/UART interface sometimes scrambles the output into special characters. Use of SSH is recommended except for finding out the PZ-TIO’s IP address.  The booting process may occasionally hang at the u-boot stage. Manual typing “boot”...

Table of Contents