- Created by John Hartfiel, last modified by Waldemar Hanemann on 15 02, 2024
Overview
Firmware for PCB CPLD with designator U4. CPLD Device in Chain: LCMX02-256HC
Feature Summary
- JTAG routing
- Reset
- LED sequencing
- USER IO
- I2C Interface
Firmware Revision and supported PCB Revision
See Document Change History
Product Specification
Port Description
Name | Direction | Pin | Pullup/down | Bank Power | Description |
---|---|---|---|---|---|
DONE | in | 13 | UP | LVCMOS33 | FPGA DONE signal |
EN1 | in | 16 | UP | LVCMOS33 | B2B Enable Pin - low active |
F_TCK | out | 28 | - | LVCMOS33 | JTAG FPGA |
F_TDI | out | 27 | - | LVCMOS33 | JTAG FPGA |
F_TDO | in | 23 | - | LVCMOS33 | JTAG FPGA |
F_TMS | out | 25 | - | LVCMOS33 | JTAG FPGA |
JTAGSEL | in | 26 | NONE | LVCMOS33 | Enable JTAG access to CPLD for Firmware update (zero: JTAG routed to module, one: CPLD access) |
BOOTMODE | in | 11 | UP | LVCMOS33 | B2B Boot Mode Pin |
NOSEQ | in | 12 | UP | LVCMOS33 | B2B NOSEQ Pin |
PG_ALL | in | 10 | UP | LVCMOS33 | Power good - low active, from power monitor U23 |
PGOOD | out | 14 | UP | LVCMOS33 | B2B PGOOD |
PROG_B | out | 17 | UP | LVCMOS33 | FPGA PROG_B Reset |
SC_nRST | in | 8 | UP | LVCMOS33 | B2B Reset - low active |
SYSLED1 | out | 9 | NONE | LVCMOS33 | Green LED D2 |
SYSLED2 | out | 5 | NONE | LVCMOS33 | Red LED D1 |
TCK | in | 30 | NONE | LVCMOS33 | JTAG B2B |
TDI | in | 32 | DOWN | LVCMOS33 | JTAG B2B |
TDO | out | 1 | NONE | LVCMOS33 | JTAG B2B |
TMS | in | 29 | DOWN | LVCMOS33 | JTAG B2B |
ULI_2 | out | 20 | UP | LVCMOS15 | FPGA Bank 35 Pin J5 - I2C CLOCK Pin to FPGA |
ULI_CPLD | out | 4 | NONE | LVCMOS33 | J1 (Ultra Small Surface Mount Coax) |
ULI_SYSTEM | in | 21 | UP | LVCMOS15 | FPGA Bank 35 Pin G3 - I2C DATA Pin to FPGA or input for UFL |
Functional Description
JTAG
JTAG signals routed directly through the CPLD to FPGA. Access between CPLD and FPGA can be multiplexed via JTAGEN (logical one for CPLD, logical zero for FPGA) on JM1-89.
Reset
PROG_B is triggered by SC_nRST or PG_ALL or EN1 after power on delay.
Power
PGOOD is '0' when PG_ALL or EN1 is '0', else high impedance.
USER IO
Various signals are connected to an I2C register.
I2C GPIO_input register Bit 15 downto Bit 9 contain SC_nRST, BOOTMODE, PGOOD, EN1, DONE, PG_ALL and NOSEQ.
Their state can be read from FPGA side over I2C.
ULI_SYSTEM serves as the I2C data pin but is also connected to ULI_CPLD.
USER IO
MODE_SC1 is connected to a I2C Register bit. GPIO_input(18). Its state can be read from FPGA side over I2C.
UIO is connected to UFL but also serves as the I2C data pin.
LED
RED LED D1 (SYSLED2) shows a certain blinking pattern in case one of the status signals is active, otherwise it can be controlled via I2C from FPGA side or is simply OFF.
Blink sequence | Priority | Condition | Description |
---|---|---|---|
******** | highest | SC_nRST= LOW (low active) | external reset from carrier is pressed |
*******o | blink sequence not used | ||
******oo | blink sequence not used | ||
*****ooo | PG_ALL is zero | One of the power rails of the internal Voltages DCDCs is down | |
****oooo | EN1 is zero | B2B enable Pin is active (low active), coming from the carrier | |
***ooooo | blink sequence not used | ||
**oooooo | blink sequence not used | ||
*ooooooo | DONE = '0' | FPGA not programmed. No design on QSPI Flash? | |
continuously ON | lowest | software controlled command via I2C Interface. LED = GPIO_output(1) when GPIO_output(0) = 0 | Set bit GPIO_output(0) LOW to control the LED with GPIO_output(1). |
continuously OFF | If none of the above condition is met |
GREEN LED D2 (SYSLED1) software controlled command via I2C Interface or is simply OFF.
Blink sequence | Condition | Description |
---|---|---|
continuously ON | software controlled command via I2C Interface. LED = GPIO_output(3) when GPIO_output(2) = 0 | Set bit GPIO_output(2) LOW to control the LED with GPIO_output(3). |
continuously OFF | If none of the above condition is met |
I2C Interface
This subsystem provides 2 x 32-bit (segmented in eight 8-bit) of general purpose parallel input and output (I/O) expansion for the I2C bus protocol. Address of this I2C device is 0x20. This module contains eight 8-bit registers for reading and writing (GPIO_input[7:0] to GPIO_input[31:24] and GPIO_output[7:0] to GPIO_output[31:24]) separately with address 0x00 to 0x03. These registers can be accessed with I2C commands on a standalone application or, more simply, from petalinux running on the Microblaze. Refer to TE0710 reference design (test board).
Four registers can be read and four can be written.
GPIO_input(7 downto 0) | readable | 0x00 | contains the CPLD Firmware Revision (not the PCB revision) |
GPIO_input(15 downto 8) | readable | 0x01 | SC_nRST, BOOTMODE, PGOOD, EN1, DONE, PG_ALL, NOSEQ, '0' |
GPIO_input(23 downto 16) | readable | 0x02 | contains: NOSEQ state in bit 16. |
GPIO_input(31 downto 24) | readable | 0x03 | empty |
GPIO_output(7 downto 0) | writeable | 0x00 | Bit 1 to 3 are mapped to SYSLED1 and SYSLED2. Write '1' to Bit 1 and Bit 3 to turn on the LED D1 and D2. |
GPIO_output(15 downto 8) | writeable | 0x01 | not mapped |
GPIO_output(23 downto 16) | writeable | 0x02 | Bit 16 is mapped to NOSEQ if no reset occurs |
GPIO_output(31 downto 24) | writeable | 0x03 | not mapped |
Appx. A: Change History and Legal Notices
Revision Changes
changes Firmware REV02(old version) to REV03:
- Signals are renamed according to the schematic.
- NOSEQ pin is added.
- LED function changed. New blinking pattern for critical signal states
- I2C to GPIO slave added
- SC_nRST, BOOTMODE, PGOOD, EN1, DONE, PG_ALL, NOSEQ signals can be read from I2C
- CPLD_REVISION as generic parameter added
- NOSEQ defined as INOUT
ULI_SYSTEM and ULI_2 pins defined as I2C pins. Added PullUps for I2C. ULI_SYSTEM is still also connected to ULI_CPLD
Document Change History
To get content of older revision got to "Change History" of this page and select older document revision number.
Date | Document Revision | CPLD Firmware Revision | Supported PCB Revision | Authors | Description | Firmware Release |
---|---|---|---|---|---|---|
Error rendering macro 'page-info' Ambiguous method overloading for method jdk.proxy244.$Proxy3575#hasContentLevelPermission. Cannot resolve which method to invoke for [null, class java.lang.String, class com.atlassian.confluence.pages.Page] due to overlapping prototypes between: [interface com.atlassian.confluence.user.ConfluenceUser, class java.lang.String, class com.atlassian.confluence.core.ContentEntityObject] [interface com.atlassian.user.User, class java.lang.String, class com.atlassian.confluence.core.ContentEntityObject] | Error rendering macro 'page-info' Ambiguous method overloading for method jdk.proxy244.$Proxy3575#hasContentLevelPermission. Cannot resolve which method to invoke for [null, class java.lang.String, class com.atlassian.confluence.pages.Page] due to overlapping prototypes between: [interface com.atlassian.confluence.user.ConfluenceUser, class java.lang.String, class com.atlassian.confluence.core.ContentEntityObject] [interface com.atlassian.user.User, class java.lang.String, class com.atlassian.confluence.core.ContentEntityObject] | REV03 | REV03 | Error rendering macro 'page-info' Ambiguous method overloading for method jdk.proxy244.$Proxy3575#hasContentLevelPermission. Cannot resolve which method to invoke for [null, class java.lang.String, class com.atlassian.confluence.pages.Page] due to overlapping prototypes between: [interface com.atlassian.confluence.user.ConfluenceUser, class java.lang.String, class com.atlassian.confluence.core.ContentEntityObject] [interface com.atlassian.user.User, class java.lang.String, class com.atlassian.confluence.core.ContentEntityObject] |
|
|
| v.5 | REV01 | REV02 | John Hartfiel |
| |
v.3 | REV01 | REV02 | John Hartfiel |
| ||
2018-03-21 | v.1 | REV01 | REV02 | Error rendering macro 'page-info' Ambiguous method overloading for method jdk.proxy244.$Proxy3575#hasContentLevelPermission.
Cannot resolve which method to invoke for [null, class java.lang.String, class com.atlassian.confluence.pages.Page] due to overlapping prototypes between:
[interface com.atlassian.confluence.user.ConfluenceUser, class java.lang.String, class com.atlassian.confluence.core.ContentEntityObject]
[interface com.atlassian.user.User, class java.lang.String, class com.atlassian.confluence.core.ContentEntityObject] |
| |
All | Error rendering macro 'page-info' Ambiguous method overloading for method jdk.proxy244.$Proxy3575#hasContentLevelPermission.
Cannot resolve which method to invoke for [null, class java.lang.String, class com.atlassian.confluence.pages.Page] due to overlapping prototypes between:
[interface com.atlassian.confluence.user.ConfluenceUser, class java.lang.String, class com.atlassian.confluence.core.ContentEntityObject]
[interface com.atlassian.user.User, class java.lang.String, class com.atlassian.confluence.core.ContentEntityObject] |
Legal Notices
Data Privacy
Please also note our data protection declaration at https://www.trenz-electronic.de/en/Data-protection-Privacy
Document Warranty
The material contained in this document is provided “as is” and is subject to being changed at any time without notice. Trenz Electronic does not warrant the accuracy and completeness of the materials in this document. Further, to the maximum extent permitted by applicable law, Trenz Electronic disclaims all warranties, either express or implied, with regard to this document and any information contained herein, including but not limited to the implied warranties of merchantability, fitness for a particular purpose or non infringement of intellectual property. Trenz Electronic shall not be liable for errors or for incidental or consequential damages in connection with the furnishing, use, or performance of this document or of any information contained herein.
Limitation of Liability
In no event will Trenz Electronic, its suppliers, or other third parties mentioned in this document be liable for any damages whatsoever (including, without limitation, those resulting from lost profits, lost data or business interruption) arising out of the use, inability to use, or the results of use of this document, any documents linked to this document, or the materials or information contained at any or all such documents. If your use of the materials or information from this document results in the need for servicing, repair or correction of equipment or data, you assume all costs thereof.
Copyright Notice
No part of this manual may be reproduced in any form or by any means (including electronic storage and retrieval or translation into a foreign language) without prior agreement and written consent from Trenz Electronic.
Technology Licenses
The hardware / firmware / software described in this document are furnished under a license and may be used /modified / copied only in accordance with the terms of such license.
Environmental Protection
To confront directly with the responsibility toward the environment, the global community and eventually also oneself. Such a resolution should be integral part not only of everybody's life. Also enterprises shall be conscious of their social responsibility and contribute to the preservation of our common living space. That is why Trenz Electronic invests in the protection of our Environment.
REACH, RoHS and WEEE
REACH
Trenz Electronic is a manufacturer and a distributor of electronic products. It is therefore a so called downstream user in the sense of REACH. The products we supply to you are solely non-chemical products (goods). Moreover and under normal and reasonably foreseeable circumstances of application, the goods supplied to you shall not release any substance. For that, Trenz Electronic is obliged to neither register nor to provide safety data sheet. According to present knowledge and to best of our knowledge, no SVHC (Substances of Very High Concern) on the Candidate List are contained in our products. Furthermore, we will immediately and unsolicited inform our customers in compliance with REACH - Article 33 if any substance present in our goods (above a concentration of 0,1 % weight by weight) will be classified as SVHC by the European Chemicals Agency (ECHA).
RoHS
Trenz Electronic GmbH herewith declares that all its products are developed, manufactured and distributed RoHS compliant.
WEEE
Information for users within the European Union in accordance with Directive 2002/96/EC of the European Parliament and of the Council of 27 January 2003 on waste electrical and electronic equipment (WEEE).
Users of electrical and electronic equipment in private households are required not to dispose of waste electrical and electronic equipment as unsorted municipal waste and to collect such waste electrical and electronic equipment separately. By the 13 August 2005, Member States shall have ensured that systems are set up allowing final holders and distributors to return waste electrical and electronic equipment at least free of charge. Member States shall ensure the availability and accessibility of the necessary collection facilities. Separate collection is the precondition to ensure specific treatment and recycling of waste electrical and electronic equipment and is necessary to achieve the chosen level of protection of human health and the environment in the European Union. Consumers have to actively contribute to the success of such collection and the return of waste electrical and electronic equipment. Presence of hazardous substances in electrical and electronic equipment results in potential effects on the environment and human health. The symbol consisting of the crossed-out wheeled bin indicates separate collection for waste electrical and electronic equipment.
Trenz Electronic is registered under WEEE-Reg.-Nr. DE97922676.
Error rendering macro 'page-info'
Ambiguous method overloading for method jdk.proxy244.$Proxy3575#hasContentLevelPermission. Cannot resolve which method to invoke for [null, class java.lang.String, class com.atlassian.confluence.pages.Page] due to overlapping prototypes between: [interface com.atlassian.confluence.user.ConfluenceUser, class java.lang.String, class com.atlassian.confluence.core.ContentEntityObject] [interface com.atlassian.user.User, class java.lang.String, class com.atlassian.confluence.core.ContentEntityObject]
Table of contents
- No labels