Wiki

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
resources:eval:user-guides:eval-adicup3029:reference_designs:demo_cn0414 [09 Nov 2018 13:44] – [Project Structure] Andrei Drimbareanresources:eval:user-guides:eval-adicup3029:reference_designs:demo_cn0414 [03 Mar 2021 02:55] (current) – [Obtaining the Source Code] adding in .Hex files Brandon Bushey
Line 1: Line 1:
 ====== PLC Arduino Shield Input Demo ====== ====== PLC Arduino Shield Input Demo ======
  
-The **ADuCM_demo_cn0414** project provides a solution to control a **PLC** or **DCS** input system using the **EVAL-CN0414-ARDZ** and the **EVAL-ADICUP3029**. It uses an **ADC** with 4 differential voltage channels and 4 current channels and boasts low power **Open-Wire Detection** capabilities and **HART** communication. It has a 32kb EEPROM memory that can also be used to identify the board and is controlled via a command line interface (**CLI**).+The **ADuCM3029_demo_cn0414** project provides a solution to control a **PLC** or **DCS** input system using the **EVAL-CN0414-ARDZ** and the **EVAL-ADICUP3029**. It uses an **ADC** with 4 differential voltage channels and 4 current channels and boasts low power **Open-Wire Detection** capabilities and **HART** communication. It has a 32kb EEPROM memory that can also be used to identify the board and is controlled via a command line interface (**CLI**).
  
 ===== General Description/Overview ===== ===== General Description/Overview =====
Line 7: Line 7:
 The **ADuCM_demo_cn0414** project uses **EVAL-CN0414-ARDZ** to provide a complete, fully isolated and highly flexible, four channel analog input system. The **EVAL-CN0414-ARDZ** is suitable for programmable logic controllers (**PLC**) and distributed control system (**DCS**) applications that require multiple voltage inputs. It boasts **open wire detection** and has **HART**-compatible, 4 mA to 20 mA current inputs, all protected from transient overvoltage or overcurrent events, suitable for the most harsh industrial environments. The **ADuCM_demo_cn0414** project uses **EVAL-CN0414-ARDZ** to provide a complete, fully isolated and highly flexible, four channel analog input system. The **EVAL-CN0414-ARDZ** is suitable for programmable logic controllers (**PLC**) and distributed control system (**DCS**) applications that require multiple voltage inputs. It boasts **open wire detection** and has **HART**-compatible, 4 mA to 20 mA current inputs, all protected from transient overvoltage or overcurrent events, suitable for the most harsh industrial environments.
  
-The circuit can be divided into the following parts: the ADC, the input channels, the HART modem and the memory.  +The circuit can be divided into the following parts: the ADC, the input channels, the HART modem and the memory.
-FIXME! MAYBE LINK TO APP NOTE+
  
 The **ADC** is the core of the **EVAL-CN0414-ARDZ** shield. It is an [[adi>AD4111]] with 8 single or 4 differential voltage channels and 4 current channels. The input channels in this application are configured as 4 differential voltage channels and the current channels. The application maintains 8 internal registers, one for each channel, that are updated periodically, on a timer interrupt, with the latest conversion results. This way, on a single read, the user can have the data on a channel without waiting for a conversion. The **ADC** is the core of the **EVAL-CN0414-ARDZ** shield. It is an [[adi>AD4111]] with 8 single or 4 differential voltage channels and 4 current channels. The input channels in this application are configured as 4 differential voltage channels and the current channels. The application maintains 8 internal registers, one for each channel, that are updated periodically, on a timer interrupt, with the latest conversion results. This way, on a single read, the user can have the data on a channel without waiting for a conversion.
-FIXME! MARKS DIAGRAM+{{ :resources:eval:user-guides:eval-adicup3029:reference_designs:cn0414_timer_diagram.png?nolink |Timer diagram}}
 Alternatively the user can request a burst read of up to 2000 samples returned at the ADC output data rate. Alternatively the user can request a burst read of up to 2000 samples returned at the ADC output data rate.
 The application uses the **ADCs Open-Wire Detection** capabilities for the voltage channels. When activated this option also tracks the state of the channel connection on every read and gives a warning when a channel is disconnected. The application uses the **ADCs Open-Wire Detection** capabilities for the voltage channels. When activated this option also tracks the state of the channel connection on every read and gives a warning when a channel is disconnected.
Line 29: Line 28:
     * 24V and 1A limited power supply (**optional**)     * 24V and 1A limited power supply (**optional**)
   * Software   * Software
-    * [[https://gitlab.analog.com/Platformation/EVAL-ADICUP3029/tree/cn0414_demo_dev/projects/ADuCM3029_demo_cn0414| AduCM3029_demo_cn0414 demo application]] FIXME!  -  LINK+    * [[https://github.com/analogdevicesinc/EVAL-ADICUP3029/tree/master/projects/ADuCM3029_demo_cn0414 | AduCM3029_demo_cn0414 demo application]]
     * CrossCore Embedded Studio (2.8.0 or higher)     * CrossCore Embedded Studio (2.8.0 or higher)
     * ADuCM302x DFP (3.2.0 or higher)     * ADuCM302x DFP (3.2.0 or higher)
Line 38: Line 37:
 ===== Setting up the Hardware ===== ===== Setting up the Hardware =====
  
-  - Connect **EVAL-CN0414-ARDZ** board to the **EVAL-ADICUP3029**.{{ :resources:eval:user-guides:eval-adicup3029:reference_designs:eval_cn0414_ardz_hard_setup1.jpg?nolink | Hard setup 1}} +  - Connect **EVAL-CN0414-ARDZ** board to the **EVAL-ADICUP3029**
-  - Connect a micro-USB cable to P10 connector of the EVAL-ADICUP3029 and connect it to a computer.{{ :resources:eval:user-guides:eval-adicup3029:reference_designs:eval_cn0414_ardz_hard_setup2.jpg?nolink | Hard setup 1}}+  - Set the jumpers into the position shown below. This is the standard position and only works for one board systems.{{ :resources:eval:user-guides:eval-adicup3029:reference_designs:cn0414_jumper_pos2.jpg?nolink |Standard jumper position}} 
 +  - Connect a micro-USB cable to P10 connector of the EVAL-ADICUP3029 and connect it to a computer. The final setup should look similar to the picture below.{{ :resources:eval:user-guides:eval-adicup3029:reference_designs:eval_cn0414_ardz_hard_setup3.jpg?nolink |Hardware setup example}}
  
 ===== Configuring the Software ===== ===== Configuring the Software =====
Line 57: Line 57:
 ===== Outputting Data ===== ===== Outputting Data =====
  
-==== Serial Terminal Output ==== +{{page>/wiki/common#serial_terminal_setup&nofooter&noheader}}
- +
-The program outputs data and **CLI** interface to a serial terminal through **UART**. +
- +
-  - In order to view the data, you must flash the program to the EVAL-ADICUP3029. +
-  - Then follow the UART settings below with the serial terminal program. +
- +
-Following is the UART configuration. +
-    Select COM Port +
-    Baud rate: 115200 +
-    Data: 8 bit +
-    Parity: none +
-    Stop: 1 bit +
-    Flow Control: none +
-\\ +
-The terminal program must interpret new line as **LF** and **local echo** must be enabled.+
  
 ==== Available commands ==== ==== Available commands ====
Line 78: Line 63:
 Typing **help** or **h** after initial calibration sequence will display the list of commands and their short versions. Bellow is the short command list: Typing **help** or **h** after initial calibration sequence will display the list of commands and their short versions. Bellow is the short command list:
  
-^ Command                   ^ Description  ^+^ Command                   ^ Description 
 +^ General commands ^
 | //h//                  | Display available commands. | | //h//                  | Display available commands. |
 | //stts//               | Display parameters of the application. | | //stts//               | Display parameters of the application. |
 +^ Internal register commands ^
 | //r//                  | Display voltage or current on the selected channel.\\ <//chan//> = channel to be shown | | //r//                  | Display voltage or current on the selected channel.\\ <//chan//> = channel to be shown |
 | //sur//                | Change channel update rate.\\ <rate> = new channel update rate in Hz.\\ If it is bigger than output data rate divided by 80 can cause unpredictable behaviour. | | //sur//                | Change channel update rate.\\ <rate> = new channel update rate in Hz.\\ If it is bigger than output data rate divided by 80 can cause unpredictable behaviour. |
 +^ HART commands ^
 | //he//                 | Enable HART channel. |  | //he//                 | Enable HART channel. | 
 | //hd//                 | Disable HART channel. |  | //hd//                 | Disable HART channel. | 
Line 90: Line 78:
 | //hcz//                | Send command zero with the specified number of FFs in the preambule.\\ <//pbsize//> = size of the preambule (no. of 0xFFs in the beginning). |  | //hcz//                | Send command zero with the specified number of FFs in the preambule.\\ <//pbsize//> = size of the preambule (no. of 0xFFs in the beginning). | 
 | //hpt//                | Send command zero with the specified number of FFs in the preambule.\\ <//byte//> = byte to send in loop. |  | //hpt//                | Send command zero with the specified number of FFs in the preambule.\\ <//byte//> = byte to send in loop. | 
 +^ ADC commands ^
 | //arr//                | Display value of ADC register of the given address.\\ <//reg//> = address of the register. |  | //arr//                | Display value of ADC register of the given address.\\ <//reg//> = address of the register. | 
 | //awr//                | Change value of the ADC register of the given address.\\ <//reg//> = address of the register.\\ <//val//> = new value of the register. |  | //awr//                | Change value of the ADC register of the given address.\\ <//reg//> = address of the register.\\ <//val//> = new value of the register. | 
Line 100: Line 89:
 | //aowe//               | Enable open wire detection. |  | //aowe//               | Enable open wire detection. | 
 | //aowd//               | Disable open wire detection. |  | //aowd//               | Disable open wire detection. | 
 +^ EEPROM commands ^
 | //de//                 | Discover EEPROM I2C addresses if there are any. |  | //de//                 | Discover EEPROM I2C addresses if there are any. | 
  
Line 106: Line 96:
  
  
-===== Obtaining the Source Code =====+===== Obtaining the Software =====
  
-We recommend not opening the project directly, but rather import it into CrossCore Embedded Studios and make a local copy in your workspace+There are two basic ways to program the ADICUP3029 with the software for the CN0414. 
 +  - Dragging and Dropping the .Hex to the Daplink drive 
 +  - Building, Compiling, and Debugging using CCES
  
-The source code and include files of the **ADuCM3029_demo_cn0414** can be found here:+Using the drag and drop method, the software is going to be a version that Analog Devices creates for testing and evaluation purposes.  This is the EASIEST way to get started with the reference design
  
-<WRAP round 80% download>+Importing the project into CrossCore is going to allow you to change parameters and customize the software to fit your needs, but will be a bit more advanced and will require you to download the CrossCore toolchain.  
  
-FIXME!  -  LINK+The software for the **ADuCM3029_demo_cn0414** can be found here:
  
-[[https://gitlab.analog.com/Platformation/EVAL-ADICUP3029/tree/cn0414_demo_dev/projects/ADuCM3029_demo_cn0414| AduCM3029_demo_cn0414 at Github]]+<WRAP round 80% download> 
 +Prebuilt CN0414 Hex File 
 +  * [[https://github.com/analogdevicesinc/EVAL-ADICUP3029/releases/download/Latest/ADuCM3029_demo_cn0414.hex| AduCM3029_demo_cn0414.Hex]] 
 +Complete CN0414 Source Files 
 +  * [[https://github.com/analogdevicesinc/EVAL-ADICUP3029/tree/master/projects/ADuCM3029_demo_cn0414| AduCM3029_demo_cn0414 Source Code]]
    
 </WRAP> </WRAP>
- 
- 
 ===== How to use the Tools ===== ===== How to use the Tools =====
  
resources/eval/user-guides/eval-adicup3029/reference_designs/demo_cn0414.1541767454.txt.gz · Last modified: 09 Nov 2018 13:44 by Andrei Drimbarean