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_cn0418 [12 Feb 2019 15:26] – Add general description and overview Andrei Drimbareanresources:eval:user-guides:eval-adicup3029:reference_designs:demo_cn0418 [05 Mar 2021 04:57] (current) – [Obtaining the Source Code] adding in .Hex files Zuedmar Arceo
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.
  
-===== Demo Requirements =====+{{ :resources:eval:user-guides:eval-adicup3029:reference_designs:plc_out_interaction_block_diagram.png | CN0418 connection block diagram }}
  
-FIXME!  -  Add text, part numbers, hyper links and other important information and where to get it in order to recreate this demo.+===== Demo Requirements =====
  
 The following is a list of items needed in order to replicate this demo. The following is a list of items needed in order to replicate this demo.
   * Hardware   * Hardware
     * EVAL-ADICUP3029     * EVAL-ADICUP3029
-    * EVAL-CN0397-ARDZ+    * EVAL-CN0418-ARDZ
     * Mirco USB to USB cable     * Mirco USB to USB cable
     * PC or Laptop with a USB port     * PC or Laptop with a USB port
 +    * 24V source
   * Software   * Software
-    * ADICUP3029_CN0397 software +    * ADuCM3029_demo_cn0418 software 
-      * Inside Sensor_Sw Pack (1.0.0 or higher) +    * CrossCore Embedded Studio (2.8.0 or higher) 
-    * CrossCore Embedded Studio (2.6.0 or higher) +    * ADuCM302x DFP (3.2.0 or higher) 
-    * ADuCM302x DFP (2.0.0 or higher) +    * ADICUP3029 BSP (1.1.0 or higher) 
-    * ADICUP3029 BSP (1.0.0 or higher+    * Serial Terminal Program
-    * Android IoTNode App (optional+
-    * Serial Terminal Program (Required for running in release mode only)+
       * Such as Putty or Tera Term       * Such as Putty or Tera Term
  
 ===== Setting up the Hardware ===== ===== Setting up the Hardware =====
  
-FIXME!   Add text, picture, images, that describe how to setup the example application hardware.  A list of boards, sensors, equipment, cables, etc needed to recreate the demo.  Step by step picture here are helpful with block diagrams on how to connect things, how to setup options on the boards (Like what UART switch position is the ADICUP3029 in?  What power switch position Is there chip select jumper on the add-on board that needs to be set?)+  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. {{ :resources:eval:user-guides:eval-adicup3029:reference_designs:cn0418_jumper_position.jpg |}} 
 +  - Connect 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. {{ :resources:eval:user-guides:eval-adicup3029:reference_designs:cn0418_final_hw_setup.jpg |}}
  
 ===== Configuring the Software ===== ===== Configuring the Software =====
  
-FIXME!  -  Add textpicture, images, code blocks that describe how to configure the software Things like changing the accelerometer range from 2g to 4g should be a trivial change for the customer We don't have to show them everything, but think of the application, and what parameters are most likely need to be customized by the user (like providing a an ID or password for a local gateway using WI-FI)  +The software needs no configuration beyond the CLI UART baudrateand HART UART parity and number of bitsThese can be accessed in the ADuCM3029_demo_cn0418.c file in the main function, but usually the default values work best.
  
 ===== Outputting Data ===== ===== Outputting Data =====
- 
-FIXME!  -  Add text, picture, images, that describe how to output data from the setup/application.  Is this a UART output, then show the customer a putty serial terminal with the correct baud rate and commands that need to be entered to get data.  Are there any calibrations that need to happen?  Show/explain how customers can run the calibration steps.  If this is a wireless demo, how do you get the information after it is sent to the cloud?  We can use our apps and tools, but the customer should be able to recreate this demo using the same tools/plugins/components you used to view the data.  
  
 ==== Serial Terminal Output ==== ==== Serial Terminal Output ====
  
-!FIXME - make sure this is correct for your application +{{page>/wiki/common#serial_terminal_setup&nofooter&noheader}}
-Once the hardware and software is configured, user needs to follow on screen instructions to run Visible Light Detection\Measurement demo.+
  
-Following is the UART configuration. +==== Available Commands ====
-    Select COM Port +
-    Baud rate: 9600 +
-    Data: 8 bit +
-    Parity: none +
-    Stop: 1 bit +
-    Flow Control: none +
-\\+
  
-==== Smart Device Output ====+Typing help or h after initial calibration sequence will display the list of commands and their short versions. Bellow is the short command list:
  
-!FIXME Make sure you point out which app is correct and then talk about the data that gets output. (Pictures are greatand link over to the app page so customers can figure out how to download/install it If it's not Bluetooth compatible remove this section+^ Command                   ^ Description ^ 
 +^ General commands ^ 
 +| //h//                  | Display available commands. | 
 +| //stts//               | Display parameters of the application. | 
 +^ DAC commands ^ 
 +| //dsr//                | Set range of a channel. \\ <//chan//> = channel to be set. \\ Available channel options are: cha, chb, chc, chd. \\ <//range//> = chosen range for the channel. \\ Available options are: \\ r05v = range from 0 to 5 volts; \\ - r010v = range from 0 to 10 volts; \\ - rmp5v = range form -5 to +5 volts; \\ - rmp10v = range from -10 to +10 volts; \\ - r420ma = range from 4 to 20 mili-amperes; \\ - r020ma = range from 0 to 20 mili-amperes; \\ - r024ma = range from 0 to 24 mili-amperes. | 
 +| //dsv//                | Set voltage output on a channel. Only works if the channel is set to a voltage range. \\ <chan> = channel to update. \\ Available channel options are: cha, chb, chc, chd. \\ <voltage> = voltage level expressed in volts. 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. | 
 +| //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 ^ 
 +| //he//                 | Enable HART channel. |  
 +| //hd//                 | Disable HART channel. |  
 +| //hcc//                | Select wanted channel.\\ <//chan//> = Channel to be selected. |  
 +| //ht//                 | Transmit string through HART.\\ <//string//> = string to be transmitted. |  
 +| //hg//                 | Send the received buffer through UART connection|  
 +| //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 a byte in a loop through HART to test the physical connection. \\ <//byte//> = byte to send in loop. |  
 +^ EEPROM commands ^ 
 +//de//                 | Discover EEPROM I2C addresses if there are any
  
-==== Wi-Fi Output ====+{{ :resources:eval:user-guides:eval-adicup3029:reference_designs:cn0418_terminal_pic.png | CN0418 application terminal example }}
  
-!FIXME - Make sure you talk about how to display the data, and link over to the Wi-Fi wiki page for more details.  It the example isn't Wi-Fi enabled delete this section.+===== Obtaining the Software =====
  
-===== Obtaining the Source Code =====+There are two basic ways to program the ADICUP3029 with the software for the CN0418. 
 +  - Dragging and Dropping the .Hex to the Daplink drive 
 +  - Building, Compiling, and Debugging using CCES
  
-We recommend not opening the project directly, but rather import it into CrossCore Embedded Studios and make local copy in your workspace+Using the drag and drop method, the software is going to be version that Analog Devices creates for testing and evaluation purposes This is the EASIEST way to get started with the reference design
  
-The source code and include files of the FIXME!**file_name_of_demo** can be found here:+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.  
  
-<WRAP round 80% download>+The software for the **ADuCM3029_demo_cn0418** can be found here:
  
-FIXME!   This will be either a link to a Git repository or a pack file somewhere, but make sure this is accessible to the customer We want them to take our code and use it because that means they are going to use our hardware, and we get paid when that happens+<WRAP round 80% download> 
- +Prebuilt CN0418 Hex File 
-[[https://github.com/analogdevicesinc/EVAL-ADICUP360/tree/master/projects/ADuCM360_demo_cn0398AduCM360_demo_cn0398 at Github]]+  * [[https://github.com/analogdevicesinc/EVAL-ADICUP3029/releases/download/Latest/ADuCM3029_demo_cn0418.hex| AduCM3029_demo_cn0418.Hex]] 
 +Complete CN0418 Source Files 
 +  [[https://github.com/analogdevicesinc/EVAL-ADICUP3029/tree/master/projects/ADuCM3029_demo_cn0418AduCM3029_demo_cn0418 Source Code]]
    
 </WRAP> </WRAP>
Line 96: Line 111:
 ==== Project Structure ==== ==== Project Structure ====
  
-FIXME!  -  Add text, picture, images, that describe the project structure Any software flow diagrams or decision trees can be added her to help customers understand how the applications are structures.+The program is composed of two main parts: 
 + 
 +  Board setup with initial values. 
 +  - Main process. 
 + 
 +{{ :resources:eval:user-guides:eval-adicup3029:reference_designs:cn0418_main_flowchart.png | CN0418 application flow chart }} 
 + 
 +Board setup initializes UARTSPI 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 registerIf 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 }} 
 + 
 +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 }}
  
 // End of Document // // End of Document //
  
  
resources/eval/user-guides/eval-adicup3029/reference_designs/demo_cn0418.1549981613.txt.gz · Last modified: 12 Feb 2019 15:26 by Andrei Drimbarean