Question: How do I program a Cypress device with KitProg2/MiniProg3 by using the LabVIEW software from National Instruments?
LabVIEW supports the ActiveX method to access the Component Object Model (COM) API. See the ActiveX and LabVIEW white paper for details. PSoC® Programmer’s driver supports the COM Interface for customized programming host design. See the PSoC Programmer COM User Guide for descriptions (definition, method, parameters) of all PSoC Programmer COM APIs.
You can usethe Python, C#, and Perl examples in the installation folder of PSoC Programmer (…\Cypress\Programmer\Examples \Programming) as a reference code for the LabVIEW project.
The following sections show how to program target Cypress devices by using LabVIEW and Kitprog2/Miniprog3. The target device can be PSoC 4, PSoC 3, or PSoC 5LP.
The programming operation requires a hardware connection as shown as below:
To start the software development of the LabVIEW project, the PSoC Programmer COM Object should be first hooked by LabVIEW correctly. Use the ‘Automation Open’ option in LabVIEW to select the ActiveX Class Object of PSoC Programmer COM Object. The method is shown below.
A simple programming flowchart for the software approach is as shown below. This uses PSoC 4 as an example; it can be easily ported to PSoC 3 and PSoC 5 LP. Note that the flowchart below doesn’t consider flash protection. Refer to the Python, C#, or Perl examples in your PSoC Programmer installation for details. Each “pp.[Function]()” mentioned in the flowchart below can be accessed by using the ‘Invoke Methods’ option directly in the LabVIEW project after PSoC Programmer COM Object is successfully hooked to complete the development of the LabVIEW project.
Use the LabVIEW project attached with this article as an example. Contact Cypress Sales or Technical Support for more information.
How do nodes in a clock extension peripheral interface (CXPI) network detect data collision?
In normal state, each node always compares the bit received from the CXPI bus with the bit transmitted to the CXPI bus. When the values of the transmitted and received bits match, the node may continuously transmit to the CXPI bus. A mismatch in the values causes the node to detect loss of arbitration so the transmission of the bit after that bit is discontinued.
If the transmitting node detects loss of arbitration, it behaves as the receiving node because the transceiver stops data transmission from the next bit to the stop bit. When two or more nodes begin transmitting at the same time, only the node that transmits the highest priority frame can complete the transmission by arbitration.
The MCU always compares transmitted data (TXD) with the received data (RXD). If a data difference is detected, the MCU stops data transmission until finding the interframe space (IFS).
Version: ** Question: How do you get the current Rx level (noise or data) from the powerline communication (PLC)? Answer: Band-in-use (BIU) must be en...
Question: How do you get the current Rx level (noise or data) from the powerline communication (PLC)?
Band-in-use (BIU) must be enabled in all the devices for Rx noise measurement to work. Follow these steps to measure Rx noise level:
Enable Tx, Rx, and BIU in the PLC_MODE register (offset:0x05).
Send a dummy message in acknowledgment mode so that the other nodes do not transmit any packets for at least the minimum BIU interval. For correct noise measurement, the minimum BIU Time Interval should be at least 50 ms.
Enable Auto_BIU in the Threshold_Noise register (offset:0x30).
Read BIU_Threshold_Constant from the Threshold_Noise register (offset:0x30) to obtain the noise on the powerline.