Linux device driver 32 channel 16 bit adc (28 pages)
Summary of Contents for Tews Technologies TXMC638
Page 1
TXMC638 Reconfigurable FPGA with 24 x 16 Bit Analog Input Version 1.0 User Manual Issue 1.0.2 October 2017 TEWS TECHNOLOGIES GmbH Am Bahnhof 7 25469 Halstenbek, Germany Phone: +49 (0) 4101 4058 0 Fax: +49 (0) 4101 4058 19 e-mail: info@tews.com...
Page 2
TXMC638-11R in this document at any time without notice. 24 x Analog In and 64 direct FPGA Back I/O TEWS TECHNOLOGIES GmbH is not liable for any Lines, damage arising out of the application or use of the XC7K325T-2 FBG676 Kintex-7 FPGA, 1GB device described herein.
Page 3
Additions to the technical specifiction and correction of the MGT Connections Table. 1.0.1 November 2016 User FPGA Configuration Flow Charts enhanced. 1.0.2 Insert the missing Flow Charts in Chapter 7.4.2 to 7.4.8. October 2017 TXMC638 User Manual Issue 1.0.2 Page 3 of 86...
JTAG header for read back and real-time debugging of the FPGA design by using the Xilinx Vivado Logic Analyzer. User applications for the TXMC638 with Kintex-7 FPGA can be developed using the Xilinx design software Vivado Design Suite. A license for the Vivado Design Suite design tool is required.
If FIT rates are not available, MIL-HDBK-217F and MIL-HDBK-217F Notice 2 formulas are used for FIT rate calculation. Humidity 5 – 95 % non-condensing Weight TXMC638-xxR: 133g Table 2-1 : Technical Specification TXMC638 User Manual Issue 1.0.2 Page 10 of 86...
3 Handling and Operation Instruction ESD Protection The TXMC638 is sensitive to static electricity. Packing, unpacking and all other handling of the TXMC638 has to be done in an ESD/EOS protected Area. Thermal Considerations Forced air cooling is recommended during operation. Without forced air cooling, damage to the device can occur.
4 PCI Device Topology The TXMC638 consists of two FPGAs. Both FPGA are designed as a PCIe / PCI endpoint devices. One FPGA is the User FPGA (Kintex-7) which could be programmed with user defined FPGA code. The second FPGA takes control of on-board hardware functions of TXMC638 and also the configuration control of the User FPGA.
Table 4-2 : PCI Configuration Registers 4.2.2 PCI BAR Overview Port Size Endian Space Prefetch Width Description (Byte) Mode (Bit) Little Local Configuration Register Space Little In-System Programming Data Space Table 4-3 : PCI BAR Overview TXMC638 User Manual Issue 1.0.2 Page 13 of 86...
Control and status register for ISP are located in the Local Configuration Register Space. The data register for direct FPGA ISP is also located in the Local Configuration Register Space. TXMC638 User Manual Issue 1.0.2 Page 15 of 86...
When set, the PCI INTA# interrupt is asserted. The Interrupt is cleared by writing a ‘1’. ISP_DAT_IS 0: Interrupt not active or disabled 1: Interrupt active and enabled Table 5-2 : Interrupt Status Register TXMC638 User Manual Issue 1.0.2 Page 16 of 86...
1: Slave SelectMap (Parallel) FP_CFG_MD After power-up the User FPGA automatically configures from the on-board SPI Flash in ‘Master Serial / SPI’ mode. Table 5-3 : User FPGA Configuration Control/Status Register TXMC638 User Manual Issue 1.0.2 Page 17 of 86...
Table 5-4 : User FPGA Configuration Data Register The User FPGA Configuration Data Register is used to write data within the User FPGA Slave Select Map Configuration directly to the User FPGA. TXMC638 User Manual Issue 1.0.2 Page 18 of 86...
(in read mode). Capable of generating an event based interrupt. 0: No ISP SPI Data Transfer in Progress 1: ISP SPI Data Transfer in Progress Table 5-8 : ISP Status Register TXMC638 User Manual Issue 1.0.2 Page 20 of 86...
5.2.9 TXMC638 Serial Number - 0xF8 Reset Symbol Description Access Value The value is the unique serial number of each 31:0 S_NUMBER TXMC638 module Table 5-9 : TXMC638 Serial Number Example: 0x0091_981A => SNo.: 9541658 The serial number can also be read via an I2C interface from User FPGA (KIntex-7).
The interrupt handling depends on the user application and is not part of this target specification. 6.2.2 Board Configuration Controller (BCC - FPGA) Both Interrupts of the BCC FPGA must be cleared via writing access to the corresponding Interrupt Status Flag in the Interrupt Status Register. TXMC638 User Manual Issue 1.0.2 Page 22 of 86...
406,720 63.550 1540 1590 28,620 Table 7-1 : TXMC638 FPGA Feature Overview PCI Express Highlights: Compliant to the PCI Express Base Specification 2.1 with Endpoint and Root Port capability. Supports Gen1 (2.5 Gb/s) and Gen2 (5 Gb/s) XADC Highlights: XADC (Analog-to-Digital Converter) On-chip temperature (±4°C max error) and power supply (±1% max error) sensors...
User FPGA Gigabit Transceiver (MGT) The TXMC638 provides four MGT as Kintex-7 PCI Express Endpoint Block and four MGT for high speed XMC P16 interface. PCIe X4 Interface PCIe X4 Interface Ref. Clock PCIe Clock 100 MHz 156.25 MHz Kintex-7...
PCIe Interface via BCC FPGA Slave Select Map Interface Configuration The change of the configuration mode is done with a configuration register of the BCC FPGA. At Power-up, the TXMC638 User FPGA (Kintex-7) always configures via x4 SPI Interface by “Master Serial / SPI” mode.
If the PCIe interface of the User FPGA PCIe Endpoint does not change. Device ID, Vendor ID, Class Code and PCI bars do not change, the PCI header could be saved before the FPGA Re-configuration and written back to configuration space after the Re-configuration. TXMC638 User Manual Issue 1.0.2 Page 28 of 86...
After Re-configuration was successful the User FPGA Configuration Mode Set ISP_ENA = 0 and the ISP Mode could be disabled. Also the link between the PCIe Switch Set K7_LINK_ENA = 1 and the Kintex-7 must be enabled. TXMC638 User Manual Issue 1.0.2 Page 29 of 86...
Page 30
This is also a binary configuration data file but without header information. For configure the Kintex-7 FPGA of the TXMC638 both files could be used. Both binary configuration data file have addition data to the actual configuration data.
7.4.4 Configuration via JTAG The TXMC638 provides two JTAG chains which are accessible by one of the following connector options: User JTAG Chain JST XRS Debug Connector TEWS Factory configuration Chain XMC Connector P15 The User JTAG Chain is accessible from the JST XRS Debug Connector.
The Programming Instruction always starts at address 0x00 to write data from the ISP Programming Data Space to the SPI flash. If not all configuration data bytes are written, the User FPGA is not configured correctly. TXMC638 User Manual Issue 1.0.2 Page 32 of 86...
After completion of the erasing process, the ISP Mode bit should be Set FP_CFG_MD = 0 cleared to set configuration path to User FPGA or a User FPGA SPI Set ISP_ENA = 0 Configuration Flash programming process could be done. TXMC638 User Manual Issue 1.0.2 Page 33 of 86...
After completion of the erasing process, the ISP Mode bit should be Set FP_CFG_MD = 0 cleared to set configuration path to User FPGA or a User FPGA SPI Set ISP_ENA = 0 Configuration Flash programming process could be done. TXMC638 User Manual Issue 1.0.2 Page 34 of 86...
User FPGA. Set ISP_ENA = 0 Board Configuration Controller (BCC – FPGA) The Board Configuration FPGA is factory configured, and handles the basic board setup and User FPGA (Kintex-7) Configuration. TXMC638 User Manual Issue 1.0.2 Page 35 of 86...
Clocking 7.6.1 FPGA Clock Sources As a central clock generator of TXMC638 the Si5338 clock generator is used. This provides all necessary clocks for the User FPGA and the Configuration FPGA. The following figure depicts an abstract User FPGA clock flow.
MHz with programming resolution of 0.026 parts per billion. The Si514 on TXMC638 is factory configured to 156 MHz default frequency. The Si514 is connected via I2C interface to User FPGA (Kintex-7). As usual for the I2C interface the two pins must be realized as open drain buffer.
Back I/O Interface P14 Back I/O Pins of the TXMC638 are direct routed to the User FPGA (Kintex-7). The I/O functions of these FPGA pins are directly dependent on the configuration of the FPGA. The Kintex-7 VCCO voltage is set to 2.5V, so only the 2.5V I/O standards LVCMOS25, LVTTL25 and LVDS_25 are possible for using on TXMC638 back I/O interface.
Memory The TXMC638 is equipped with a 1 GB, 32 bit wide DDR3 SDRAM and a 128-Mbit non-volatile SPI-Flash. The SPI-Flash can also be used as configuration memory. 7.8.1 DDR3 SDRAM The TXMC638 provides two MT41… (96-ball) DDR3 memory devices. The memory is accessible through a Memory Interface Controller Block IP in bank 32, 33 and 34 of the User FPGA.
7.8.2 SPI-Flash The TXMC638 provides a Micron N25Q128A 128-Mbit serial Flash memory. This Flash is used as FPGA configuration source (default configuration source). After configuration, it is always accessible from the FPGA, so it also can be used for code or user data storage.
7.8.3.3 ADC Data Correction Formula Please use the total 16 bit data register value for the ADC correction formula. The basic formula for correcting any ADC reading for the TXMC638 (bipolar input voltage range) is: Gain Offset corr corr Value = Reading 131072 Value is the corrected result.
Serial ADC Interface 7.9.1 Overview The 24 analog inputs of the TXMC638 are realized with 12 LTC2323-16 ADC devices. Each of these SAR- ADCs has two ADC channels. Thus, a total of 24 ADC channels are available on the TXMC638.
VIN- and VIN+. An Example: The TXMC638 voltage range is rounded ±2.5 V, so the allowed (single ended, ground related) voltage on each ADC input pin is ±2.5 V. When we examine the two largest differential voltages, we get...
2.5V Differential Data from ADC Channel 5 SDO1_02- 2.5V SDO2_02+ 2.5V AD21 Differential Data from ADC Channel 6 SDO2_02- 2.5V AE21 Convert Signal for ADC CNV_N_02 2.5V Channel 5 and 6 TXMC638 User Manual Issue 1.0.2 Page 49 of 86...
Page 50
2.5V SDO1_05+ 2.5V Differential Data from ADC Channel 11 SDO1_05- 2.5V SDO2_05+ 2.5V Differential Data from ADC Channel 12 SDO2_05- 2.5V Convert Signal for ADC CNV_N_05 2.5V Channel 11 and 12 TXMC638 User Manual Issue 1.0.2 Page 50 of 86...
Page 51
Differential Data from ADC Channel 17 SDO1_08- 2.5V AC22 SDO2_08+ 2.5V AD23 Differential Data from ADC Channel 18 SDO2_08- 2.5V AD24 Convert Signal for ADC CNV_N_08 2.5V AC26 Channel 17 and 18 TXMC638 User Manual Issue 1.0.2 Page 51 of 86...
Table 7-14: ADC Interface Connections For using the clocked serial interface between the User FPGA (Kintex-7) and one of the twelve LTC2323-16 ADC devices please use the LTC2323-16 data sheet which describes the communication process. TXMC638 User Manual Issue 1.0.2 Page 52 of 86...
A detailed description of the LTC2323-16 interface and the LTC2323-16 function please use the data sheet which describes the whole communication process and all special characteristics of the ADC. TXMC638 User Manual Issue 1.0.2 Page 53 of 86...
7.10 AC coupled differential Inputs The TXMC638 provides three 100 Ohm terminated, ac-coupled, differential Inputs. These inputs could be used as GPIO inputs or trigger input for ADC conversion. Despite the ac-coupling, also dc-signals are supported after an initial edge.
Example: 0x0091_981A => SNo.: 9541658 7.11.1 Device Addressing and Operation The TXMC638 Configuration FPGA uses a standard 7 bit Slave Address. The eighth bit of the slave address is the Read/write operation select bit. 0 1 1 0 1 0 1 R/W...
Figure 7-13: Configuration FPGA Output Acknowledge 7.11.2 Read Operation The TXMC638 Configuration FPGA provides only one 32 bit register which could be read from User FPGA via a I2C Interface. The read operation starts with a I2C start condition followed by a 7 bit slave address. The read/write bit in the device address byte is set to one.
7.12 On-Board Indicators The TXMC638 provides a couple of board-status LEDs as shown below. These include Power-Good and FPGA configuration status indications as well as two general purpose LEDs. Color State Description On-Board Power Supplies are not ok Power Good...
I/O circuitry and the applied cooling method. A simple system air cooling is not sufficient heavy utilization of FPGA. Since the heat sink of the TXMC638 always mounted between PCB of the Carrier and PCB of the TXMC, targeted ventilation is highly recommended.
8 Design Help Board Reference Design User applications for the TXMC638 may be developed by using the TXMC638 FPGA Board Reference Design. TEWS offers this Board Reference Design as a well-documented example basic example. It includes an .xdc constrain file with all necessary pin assignments and basic timing constraints. The example design covers the main functionalities of the TXMC638.
Maximum VIN = ±5.0V Maximum VIN = ±5.0V The TXMC638 has differential analog inputs. When talking about the input voltage range of a differential input, one has to differentiate between the differential input voltage between the two pins, and the input voltage relative to ground for each pin.
Page 61
+5V to -5V, but contains no information about the allowed voltage relative to ground for each input pin. If e.g. VIN+ = 98V and VIN- = 102V, the differential input voltage would be -4V. But the input common mode voltage is 100V, truly damaging the TXMC638. Example analog Input Level:...
VIN = ±200mV up to ±3.6V 9.1.3 Back I/O Interface P14 Back I/O Pins of the TXMC638 are direct routed to the User FPGA (Kintex-7). The I/O functions of these FPGA pins are directly dependent on the configuration of the FPGA.
FPGA JTAG chain, e.g. for FPGA read back and real-time debugging of the User FPGA design (using Xilinx Vivado Logic Analyzer). The Debug Connector provides the User FPGA (Kintex-7) JTAG interface and two TXMC638 status signals. The JTAG interface consists of the signals TDI, TDO, TMS, TCK, uses 3.3V I/O voltage, and can run with up to 10 MHz.
JTAG chain. The pinout of this header matches the pinout of TEWS TA308 Cable Kit. In conjunction with this Cable Kit, the Xilinx Platform Cable USB II could be connected to the TXMC638. This allows the direct usage of Xilinx software-tools like Vivado Logic Analyzer or the Vivado Hardware Manager.
Need help?
Do you have a question about the TXMC638 and is the answer not in the manual?
Questions and answers