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
Last revisionBoth sides next revision
resources:eval:user-guides:eval-adicup3029:reference_designs:demo_cn0418 [13 Feb 2019 11:32] – Add app flow Andrei Drimbareanresources:eval:user-guides:eval-adicup3029:reference_designs:demo_cn0418 [12 Jun 2019 13:22] – [Setting up the Hardware] Andrei Drimbarean
Line 1: Line 1:
 ====== PLC Arduino Shield Output Demo ====== ====== PLC Arduino Shield Output Demo ======
  
-The **ADuCM3029_demo_cn0418** project provides a solution to control a **PLC** or **DCS** input system using the **EVAL-CN0418-ARDZ** and the **EVAL-ADICUP3029**. It uses a DAC with 4 channels that can be configured as either voltage or current output and is compatible with **HART** modem output to enable **HART** communication on any channel. 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_cn0418** project provides a solution to control a **PLC** or **DCS** output system using the **EVAL-CN0418-ARDZ** and the **EVAL-ADICUP3029**. It uses a DAC with 4 channels that can be configured as either voltage or current output and is compatible with **HART** modem output to enable **HART** communication on any channel. 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 13: Line 13:
 The **CLI** is implemented using the hardware UART module in the **ADuCM3029** and can work up 115200 baudrate. The **CLI** is implemented using the hardware UART module in the **ADuCM3029** and can work up 115200 baudrate.
  
-{{:resources:eval:user-guides:eval-adicup3029:reference_designs:plc_out_interaction_block_diagram.png| ADuCM3029_demo_cn0418 block diagram}}+{{ :resources:eval:user-guides:eval-adicup3029:reference_designs:plc_out_interaction_block_diagram.png | CN0418 connection block diagram }}
  
 ===== Demo Requirements ===== ===== Demo Requirements =====
Line 35: Line 35:
  
   - Connect **EVAL-CN0418-ARDZ** to the **EVAL-ADICUP3029**.   - Connect **EVAL-CN0418-ARDZ** to the **EVAL-ADICUP3029**.
-  - Set the jumpers into the position shown below. This is the standard position and only works for one board systems. FIXME picture+  - 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:cn0418_jumper_position.jpg |}}
   - Connect a micro-USB cable to **P10** connector of the **EVAL-ADICUP3029** and connect it to a computer.   - Connect a micro-USB cable to **P10** connector of the **EVAL-ADICUP3029** and connect it to a computer.
-  - Connect the 24V power source to the **P1** connector with the ground wire to pin 2 and 24V wire to pin 3. The final setup should look similar to the picture below. FIXME picture.+  - Connect the 24V power source to the **P1** connector with the ground wire to pin 2 and 24V wire to pin 3. The final setup should look similar to the picture below. {{ :resources:eval:user-guides:eval-adicup3029:reference_designs:cn0418_final_hw_setup.jpg |}}
  
 ===== Configuring the Software ===== ===== Configuring the Software =====
Line 47: Line 47:
 ==== Serial Terminal Output ==== ==== Serial Terminal Output ====
  
-The program outputs data and CLI interface to a serial terminal through UART. +{{page>/wiki/common#serial_terminal_setup&nofooter&noheader}}
- +
-  - 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 75: Line 62:
 | //dsc//                | Set current output on a channel. Only works if the channel is set to a current range. \\ <chan> = channel to update. \\ Available channel options are: cha, chb, chc, chd. \\ <current> = current level expressed in amperes. Use decimal point for fractional values. | | //dsc//                | Set current output on a channel. Only works if the channel is set to a current range. \\ <chan> = channel to update. \\ Available channel options are: cha, chb, chc, chd. \\ <current> = current level expressed in amperes. Use decimal point for fractional values. |
 | //dsx//                | Set output on a channel. Works independent of channel range. \\ <chan> = channel to update. \\ Available channel options are: cha, chb, chc, chd. \\ <code> = 16-bit output code for the channel. | | //dsx//                | Set output on a channel. Works independent of channel range. \\ <chan> = channel to update. \\ Available channel options are: cha, chb, chc, chd. \\ <code> = 16-bit output code for the channel. |
-| //dsx//                | Set the RSET of a channel. \\ <chan> = channel to update. \\ Available channel options are: cha, chb, chc, chd. \\ <opt> = RSET option. \\ Available options are: int and ext. |+| //dse//                | Set the RSET of a channel. \\ <chan> = channel to update. \\ Available channel options are: cha, chb, chc, chd. \\ <opt> = RSET option. \\ Available options are: int and ext. |
 ^ HART commands ^ ^ HART commands ^
 | //he//                 | Enable HART channel. |  | //he//                 | Enable HART channel. | 
Line 87: Line 74:
 | //de//                 | Discover EEPROM I2C addresses if there are any. |  | //de//                 | Discover EEPROM I2C addresses if there are any. | 
  
-{{:resources:eval:user-guides:eval-adicup3029:reference_designs:cn0418_terminal_pic.png| CN0418 application terminal example }}+{{ :resources:eval:user-guides:eval-adicup3029:reference_designs:cn0418_terminal_pic.png | CN0418 application terminal example }}
  
 ===== Obtaining the Source Code ===== ===== Obtaining the Source Code =====
Line 97: Line 84:
 <WRAP round 80% download> <WRAP round 80% download>
  
-FIXME - LINK +[[https://github.com/analogdevicesinc/EVAL-ADICUP3029/tree/master/projects/ADuCM3029_demo_cn0418| ADuCM3029_demo_cn0418 at Github]]
- +
-[[https://github.com/analogdevicesinc/EVAL-ADICUP360/tree/master/projects/ADuCM360_demo_cn0398| ADuCM3029_demo_cn0418 at Github]]+
    
 </WRAP> </WRAP>
Line 123: Line 108:
   - Main process.   - Main process.
  
-{{:resources:eval:user-guides:eval-adicup3029:reference_designs:cn0418_main_flowchart.png| CN0418 application flow chart }}+{{ :resources:eval:user-guides:eval-adicup3029:reference_designs:cn0418_main_flowchart.png | CN0418 application flow chart }}
  
 Board setup initializes UART, SPI and I2C communication and verifies if there is an active EVAL-CN0418-ARDZ board connected by reading the main control register to memorize the value then trying to write and read that register to see if there is any device present that communicates through SPI the same way as the AD5755 and has the same register. If the AD5755's presence is confirmed this way the register is reset to the initial value and the application continues. Board setup initializes UART, SPI and I2C communication and verifies if there is an active EVAL-CN0418-ARDZ board connected by reading the main control register to memorize the value then trying to write and read that register to see if there is any device present that communicates through SPI the same way as the AD5755 and has the same register. If the AD5755's presence is confirmed this way the register is reset to the initial value and the application continues.
  
-{{:resources:eval:user-guides:eval-adicup3029:reference_designs:cn0418_board_setup_flow.png| CN0418 board setup flow }}+{{ :resources:eval:user-guides:eval-adicup3029:reference_designs:cn0418_board_setup_flow.png | CN0418 board setup flow }}
  
 After initialization, the application enters a loop where it memorizes UART characters as they come from the CLI. If an ENTER character is detected the application determines if a command has been called and executes it. The application also listens on the active HART channel and memorizes in a buffer any transmission received. After initialization, the application enters a loop where it memorizes UART characters as they come from the CLI. If an ENTER character is detected the application determines if a command has been called and executes it. The application also listens on the active HART channel and memorizes in a buffer any transmission received.
  
-{{:resources:eval:user-guides:eval-adicup3029:reference_designs:cn0418_process_flow.png| CN0418 process flow }}+{{ :resources:eval:user-guides:eval-adicup3029:reference_designs:cn0418_process_flow.png | CN0418 process flow }}
  
 // End of Document // // End of Document //
  
  
resources/eval/user-guides/eval-adicup3029/reference_designs/demo_cn0418.txt · Last modified: 05 Mar 2021 04:57 by Zuedmar Arceo