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:circuits-from-the-lab:cn0548 [24 Nov 2021 03:14] – [PyADI-IIO] Harvey John De Chavezresources:eval:user-guides:circuits-from-the-lab:cn0548 [04 Feb 2022 08:10] (current) – [Flashing the Firmware/Program] Harvey John De Chavez
Line 8: Line 8:
  
 ==== Features ==== ==== Features ====
-  * Absolute maximum input rating of 80V, 20A+  * Absolute maximum input rating of 80V, 14A
   * Configurable voltage and current setting   * Configurable voltage and current setting
   * 16-bit ADC resolution with adjustable output data rate   * 16-bit ADC resolution with adjustable output data rate
Line 19: Line 19:
 \\ \\
 ==== Simplified Block Diagram ==== ==== Simplified Block Diagram ====
-{{:resources:eval:user-guides:circuits-from-the-lab:cn0548_final_block_diagram.png?700|}} +\\ 
-\\ \\ \\ +{{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:block_diagram.png?800 CN0548 Block Diagram}} 
-------------+\\ 
 ===== Onboard Configuration ===== ===== Onboard Configuration =====
 {{:resources:eval:user-guides:circuits-from-the-lab:cn0548:cn0548_high_resolution_photo.jpg?800|}} {{:resources:eval:user-guides:circuits-from-the-lab:cn0548:cn0548_high_resolution_photo.jpg?800|}}
 \\ \\ \\ \\ \\ \\
 ==== Configuring the Input Voltage Polarity and Current Direction ==== ==== Configuring the Input Voltage Polarity and Current Direction ====
-Before using the CN0548, the user must know the expected inputs and configure the board accordingly. The polarity as well as the direction of the inputs is an important aspect that should be noted by the user. Below is a table showing the maximum input rating depending on the configuration. \\+Before using the CN0548, the user must know the expected inputs and configure the board accordingly. The polarity as well as the direction of the inputs is an important aspect that should be noted by the user. Below is a table showing the maximum input rating depending on the configuration. \\ \\
  
-{{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:mode_config.png?400 |}} \\+|   **Mode**        |  **Minimum Input**  |   **Maximum Input**  |    
 +|   Unipolar        |   0V                |   80V                |    
 +|   Bipolar           -40V              |   40V                |    
 +|   Unidirectional  |   0A                |   14A                |    
 +|   Bidirectional     -10A              |   10A                   
 + 
 +\\
  
 Jumper connections P12 and P13 configure the input current setting while jumpers P7 and P14 configure the input voltage setting. For a unipolar and unidirectional setting, the jumpers should be shorted to the GND pin. On the other hand, it should be connected to the 2.048V pin for a bipolar and bidirectional setting, Jumper connections P12 and P13 configure the input current setting while jumpers P7 and P14 configure the input voltage setting. For a unipolar and unidirectional setting, the jumpers should be shorted to the GND pin. On the other hand, it should be connected to the 2.048V pin for a bipolar and bidirectional setting,
Line 37: Line 44:
 ==== Configuring the Absolute Input Voltage Range ==== ==== Configuring the Absolute Input Voltage Range ====
 The CN0548 is equipped with a precision wide voltage range gain selectable attenuating difference amplifier allowing it to have an adjustable input voltage range feature. The onboard jumpers P1, P3, P10, P8, P9, P11 should be configured accordingly to the desired maximum voltage range for a finer voltage resolution. The CN0548 is equipped with a precision wide voltage range gain selectable attenuating difference amplifier allowing it to have an adjustable input voltage range feature. The onboard jumpers P1, P3, P10, P8, P9, P11 should be configured accordingly to the desired maximum voltage range for a finer voltage resolution.
-\\ \\ {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:gain_jumper.png?700 |}} +\\ \\  
-\\ Shown here is guide on how to configure the gain jumpers. Using this guide, it can be inferred that the above sample jumper configuration corresponds to a maximum input voltage range of 16V. +{{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:gain_jumper.png?700 |}} 
-{{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:gain_config.png?800 |}} \\+\\ Shown here is guide on how to configure the gain jumpers. Using this guide, it can be inferred that the above sample jumper configuration corresponds to a maximum input voltage range of 16V. \\ 
 + 
 +{{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:gain_config.png?400|}} 
 +\\ \\ \\ \\ 
 +^   **Max Range**     **P1**     **P3**     **P10**     **P8**     **P9**     **P11**   ^ 
 +|   80V     Open     Vin-     Vin+     Open     Vin+     Vin-   | 
 +|   40V     Vin+     Open     Open     Vin-     Open     Open   | 
 +|   27V     Vin-     Open     Vin+     Vin+     Open     Vin-   | 
 +|   20V     Open     Vin+     Open     Open     Vin-     Open   | 
 +|   16V     Open     Open     Vin+     Open     Open     Vin-   |
 \\ \\
 +\\
 +\\ \\
 ==== Chip Select ==== ==== Chip Select ====
 As mentioned in the Features section earlier, the CN0548 has a remappable Chip Select feature allowing the board to be stacked with other shields. By default, jumper P15 is shunted but this can be modified accordingly depending on the shields stacked and the user's application. \\ As mentioned in the Features section earlier, the CN0548 has a remappable Chip Select feature allowing the board to be stacked with other shields. By default, jumper P15 is shunted but this can be modified accordingly depending on the shields stacked and the user's application. \\
Line 46: Line 64:
 {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:chip_select.png?550 |}} {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:chip_select.png?550 |}}
 \\ \\
-------------+
 =====Demo Requirements===== =====Demo Requirements=====
  
Line 77: Line 95:
   - Connect the ADICUP3029 to the PC host via micro-USB cable.    - Connect the ADICUP3029 to the PC host via micro-USB cable. 
   - From the PC, open //My Computer// and look for the DAPLINK drive, if you see this then the drivers are complete and correct. {{ :resources:eval:user-guides:circuits-from-the-lab:eval-adxrs290-pmdz:daplink_in_mycomputer.jpg?400 |}}   - From the PC, open //My Computer// and look for the DAPLINK drive, if you see this then the drivers are complete and correct. {{ :resources:eval:user-guides:circuits-from-the-lab:eval-adxrs290-pmdz:daplink_in_mycomputer.jpg?400 |}}
-  - Download the .hex file from the provided link below. Simply drag and drop the .hex file to the DAPLINK drive in order to upload the program to the ADICUP3029. The DS2 (red) LED will blink rapidly. It will stop blinking and will stay ON once the uploading is done.+  - Download the .hex file from the provided link below. Make sure to use the hex file corresponding to the input mode you configured. Simply drag and drop the .hex file to the DAPLINK drive in order to upload the program to the ADICUP3029. The DS2 (red) LED will blink rapidly. It will stop blinking and will stay ON once the uploading is done.
   - Disconnect then reconnect the EVAL-ADICUP3029 to the host computer.   - Disconnect then reconnect the EVAL-ADICUP3029 to the host computer.
 \\ \\
Line 86: Line 104:
  
 <WRAP round 80% download> <WRAP round 80% download>
-Prebuilt CN0548 Hex File + 
-  * {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:CN0548.hex.zip |CN0548.hex}}+Prebuilt CN0548 Hex File  
 +  * [[repo>EVAL-ADICUP3029/releases/download/Latest/ADuCM3029_demo_cn0548_demo_unipolar.hex|ADuCM3029_demo_cn0548_demo_unipolar.hex]] 
 +  * [[repo>EVAL-ADICUP3029/releases/download/Latest/ADuCM3029_demo_cn0548_demo_bipolar.hex|ADuCM3029_demo_cn0548_demo_bipolar.hex]]
 Complete CN0548 Source Files Complete CN0548 Source Files
   * [[repo>EVAL-ADICUP3029/tree/master/projects/ADuCM3029_demo_cn0548|CN0548 CCES Project]]   * [[repo>EVAL-ADICUP3029/tree/master/projects/ADuCM3029_demo_cn0548|CN0548 CCES Project]]
  
 </WRAP> </WRAP>
-\\ 
  
-====PyADI-IIO ====+===Using CrossCore Embedded Studio==== 
 +  - Open CrossCore Embedded Studio and import the project into your workspace as detailed in [[:resources:eval:user-guides:eval-adicup3029:tools:cces_user_guide]]. This allows you to edit the software to fit your requirements. <WRAP important>If this is your first time using CrossCore Embedded Studio, check the [[:resources:eval:user-guides:eval-adicup3029:tools:cces_user_guide | user guide]] to get you started</WRAP> 
 +  - Once ready, you can opt to generate your own .hex file and use the first method to program the EVAL-ADICUP3029 or you can use a debug session by following the quickstart guide.
  
-[[/resources/tools-software/linux-software/pyadi-iio|PyADI-IIO]] is a python abstraction module for ADI hardware with IIO drivers to make them easier to use. This module provides device-specific APIs built on top of the current libIIO python bindings. These interfaces try to match the driver naming as much as possible without the need to understand the complexities of libIIO and IIO.\\ 
  
-===Installing and Setting up the PyADI-IIO Enviroment=== +===Code Snippet from the CCES Project=== 
-  - There are minimal variations in installing PyADI-IIO depending on your operating system  \\ > [[/resources/tools-software/linux-software/pyadi-iio| You may refer to this guide regarding the initial steps to install PyADI-IIO for your machine.]] \\  +In case you want to generate your own hex file to be used, there are two attributes from the AD7798/AD7799 family that you should note --- the polarity and the gain.  
-  - Upon performing the OS-specific steps, we will also be needing the matplotlib package for the plotting of data: <code> pip install matplotlib</code> +\\ {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:cces.png?600 | CCES code snippet}} \\ 
-<note> In case your system is specifically designed for a certain application, you may want to consider using a virtual environment in doing this demo. It should also help in dealing with system config and version issues.</note>+It is important to set the polarity of the ADC according to your configuration and application. When the polarity is set to unipolar, effectively restricting the user to follow the polarity of the terminals, the maximum bit resolution of the ADC is used in its conversion compared as to when the polarity is set to bipolar where the bit resolution is equal to (n-1) bits where n is the maximum bit resolution of the ADC. 
 +\\ \\ 
 +The other important attribute is the gain. The gain attribute corresponds to the internal gain of the ADC. A user can apply an internal gain to the ADC allowing the differential ADC input to be amplified. This feature can come in handy when dealing with small signals but the user must take precaution as applying an internal gain effectively decreases the input rating of the board. It is highly recommended to read and consult the datasheet of the ADC before creating a customized hex file.  
 +\\ \\ 
 + 
 +---- 
 +====PyADI-IIO ==== 
 +PyADI-IIO is a python abstraction module for ADI hardware with IIO drivers to make them easier to use. This module provides device-specific APIs built on top of the current libIIO python bindingsThese interfaces try to match the driver naming as much as possible without the need to understand the complexities of libIIO and IIO. 
 + 
 +<note tip> 
 +Not yet familiar with PyADI-IIO? [[/resources/tools-software/linux-software/pyadi-iio| Click here to get started]]  
 +</note>
 \\ \\
  
Line 108: Line 139:
  
 ===Starting a new session === ===Starting a new session ===
-  - Download the given python script below and note where the file is located, you may opt to relocate the file to a different folder or directory. Using a terminal, navigate to the location of the file and run the script. <code> python CN0548_simple_plot.py </code> <WRAP round 80% download> Below is a copy of the python script: \\ {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:cn0548_simple_plot.zip |CN0548_simple_plot.py}} </WRAP>+  - Download the given python script below and note where the file is located, you may opt to relocate the file to a different folder or directory. Using a terminal, navigate to the location of the file and run the script. <code> python CN0548_simple_plot.py </code> <WRAP round 80% download> Python script: \\ [[repo>pyadi-iio/tree/master/examples/cn0548|CN0548_simple_plot.py]]</WRAP> 
   - Upon running the script, some general reminders regarding the board usage will be displayed. Make sure to read these reminders before proceeding. Press the //Enter// key to proceed. {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:reminder.png?600 |}}\\   - Upon running the script, some general reminders regarding the board usage will be displayed. Make sure to read these reminders before proceeding. Press the //Enter// key to proceed. {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:reminder.png?600 |}}\\
   - As mentioned earlier, the board has a memory feature that allows the user to quickly configure the sample code using the configuration from the last session. The user can decide whether to reuse the previous setting or set up a new configuration. The next items will discuss the program flow given that no session record file is found i.e. first run of the sample code. {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:new_overview.png?600 |}}  \\ \\   - As mentioned earlier, the board has a memory feature that allows the user to quickly configure the sample code using the configuration from the last session. The user can decide whether to reuse the previous setting or set up a new configuration. The next items will discuss the program flow given that no session record file is found i.e. first run of the sample code. {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:new_overview.png?600 |}}  \\ \\
Line 121: Line 153:
  
 ===Memory Feature=== ===Memory Feature===
-{{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:old_overview.png?600 |}}The memory feature of the board allows the user to quickly configure the sample code using the setup from the previous session in order to begin sensing data immediately. This is done by saving all user input and creating a //session_record// text file in the same directory where the sample code is located. {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:session_record.png?600 |}} Note that the contents of the session record file is not encrypted and is easily understandable. Each line begins with a number which corresponds to a certain setting. For instance, 1 corresponds to the Unipolar voltage setting and 2 will correspond to the Bipolar voltage setting. Hence, if the user just wants to reconfigure a minor aspect of the setup (use tracking mode instead non-tracking, adjust the sampling rate, enable or disable data logging, etc.), the user can quickly reconfigure the sample code by editing the //session_record// file. The program is able to detect whether the set of specifications in the session record is valid or not. If the configuration set by the user is not valid, the program will still proceed as usual and will assume no session record file was detected. \\ \\ {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:session_record_detected.png?600 |}} +{{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:old_overview.png?600 |}}The memory feature of the board allows the user to quickly configure the sample code using the setup from the previous session in order to begin sensing data immediately. This is done by saving all user input and creating a //session_record// text file in the same directory where the sample code is located. {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:session_record.png?600 |}} Note that the contents of the session record file is not encrypted and is easily understandable. Each line begins with a number which corresponds to a certain setting. For instance, 1 corresponds to the Unipolar-Unidirectional mode and 2 will correspond to the Bipolar-Bidirectional mode. Hence, if the user just wants to reconfigure a minor aspect of the setup (use tracking mode instead non-tracking, adjust the sampling rate, enable or disable data logging, etc.), the user can quickly reconfigure the sample code by editing the //session_record// file. The program is able to detect whether the set of specifications in the session record is valid or not. If the configuration set by the user is not valid, the program will still proceed as usual and will assume no session record file was detected. \\ \\ {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:session_record_detected.png?600 |}} 
 \\ \\
 ==== Video Guides ==== ==== Video Guides ====
Line 135: Line 167:
 <WRAP round 80% download> <WRAP round 80% download>
  
-  * {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548: 02-064948-01-b.pdf | Schematic}} +[[https://www.analog.com/cn0548-DesignSupport|CN0548 Design & Integration Files]] 
-  * {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548: 08-064948-01-b.pdf | PCB Layout}} +  * Schematic 
-  * {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548: 20_064948b.zip | Allegro Project}} +  * Bill of Materials 
-  * {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548: 05-064948-01-b.zip |Bill of Materials}}+  * Gerber Files 
 +  * Allegro Project
  
 </WRAP> </WRAP>
-\\ +
-------------+
 ===== Registration =====  ===== Registration ===== 
 <WRAP round tip 80% > <WRAP round tip 80% >
-Receive software update notifications, documentation updates, view the latest videos, and more when you register your hardware.  [[reg>EVAL-CN0548-RPIZ?&v=Rev B|Register]] to receive all these great benefits and more!</WRAP>+Receive software update notifications, documentation updates, view the latest videos, and more when you register your hardware.  [[reg>EVAL-CN0548-ARDZ?&v=Rev B|Register]] to receive all these great benefits and more!</WRAP>
resources/eval/user-guides/circuits-from-the-lab/cn0548.txt · Last modified: 04 Feb 2022 08:10 by Harvey John De Chavez