This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
resources:eval:user-guides:eval-adicup3029:reference_designs:demo_ad7124-8 [11 Aug 2020 14:32] – [AD7124-8 PMOD EVAL_ADICUP3029 Demo (w/ EVAL-AD7124-8-PMDZ)] Andrei Drimbarean | resources:eval:user-guides:eval-adicup3029:reference_designs:demo_ad7124-8 [08 Mar 2021 02:27] (current) – [Obtaining the Source Code] adding in .Hex files Zuedmar Arceo | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | <note important> | ||
- | THIS IS A TEMPLATE.\\ \\ | ||
- | |||
- | THE GOAL IS TO CREATE A DOCUMENT CUSTOMERS WILL USE WHEN SETTING UP THEIR CFTL DEMO, SO THEY DON'T ASK YOU SO MANY QUESTIONS. | ||
- | |||
- | ALL OF THE CONTENT IS PLACEHOLDER INFORMATION, | ||
- | |||
- | DON'T FORGET TO CREATE A MEDIA FOLDER SPECIFIC TO YOUR DEMO FOR ANY IMAGES, FILES, OR DOCUMENTS YOU WISH TO INCLUDE. | ||
- | </ | ||
- | |||
====== AD7124-8 PMOD EVAL_ADICUP3029 Demo (w/ EVAL-AD7124-8-PMDZ) ====== | ====== AD7124-8 PMOD EVAL_ADICUP3029 Demo (w/ EVAL-AD7124-8-PMDZ) ====== | ||
Line 14: | Line 4: | ||
===== General Description/ | ===== General Description/ | ||
- | The **ADuCM_demo_cn0414** project uses **EVAL-CN0414-ARDZ** to provide | + | The [[ADI>EVAL-AD7124-8-PMDZ]] is a minimalist 8-Channel, Low Noise, Low Power, 24-Bit, Sigma-Delta ADC (Analog to Digital Converter) with PGA and Reference, SPI Pmod board for the [[ADI> |
- | The circuit can be divided into the following parts: the ADC, the input channels, the HART modem and the memory. | + | The initial configuration of the **ADuCM3029_demo_ad7124_8PMDZ** engages all inputs in a mix of differential and single-ended channels. The input assignation to channels |
- | The **ADC** is the core of the **EVAL-CN0414-ARDZ** shield. It is an [[adi> | + | |
- | {{ :resources: | + | |
- | 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. | + | |
+ | | ||
+ | | ||
+ | * Channel 6: AIN12-AIN13, differential; | ||
+ | | ||
+ | | ||
+ | * Channel 9: AIN1-AGND, single-ended; | ||
+ | * Channel 10: AIN2-AGND, single-ended; | ||
+ | * Channel 11: AIN3-AGND, single-ended; | ||
+ | * Channel 12: AIN4-AGND, single-ended; | ||
+ | * Channel 13: AIN5-AGND, single-ended; | ||
+ | * Channel 14: AIN6-AGND, single-ended; | ||
+ | | ||
- | The **EVAL-CN0414-ARDZ** | + | By default only channel 0 is active at first, but this can be adjusted using the appropriate CLI commands (described below). At first all channels are using the configuration register 0 which is set to sinc4 filter option |
- | + | ||
- | The system also includes an EEPROM memory | + | |
===== Demo Requirements ===== | ===== Demo Requirements ===== | ||
Line 32: | Line 32: | ||
* Hardware | * Hardware | ||
* EVAL-ADICUP3029 | * EVAL-ADICUP3029 | ||
- | * EVAL-CN0414-ARDZ | + | * EVAL-AD7124-8-PMDZ |
* 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 and 1A limited power supply (**optional**) | ||
* Software | * Software | ||
- | * [[https:// | + | * [[https:// |
- | * CrossCore Embedded Studio (2.8.0 or higher) | + | * CrossCore Embedded Studio (2.9.1 or higher) |
* ADuCM302x DFP (3.2.0 or higher) | * ADuCM302x DFP (3.2.0 or higher) | ||
* ADICUP3029 BSP (1.1.0 or higher) | * ADICUP3029 BSP (1.1.0 or higher) | ||
Line 46: | Line 45: | ||
===== Setting up the Hardware ===== | ===== Setting up the Hardware ===== | ||
- | - Connect **EVAL-CN0414-ARDZ** board to the **EVAL-ADICUP3029**. | + | - Connect **EVAL-AD7124-8-PMDZ** board to the **EVAL-ADICUP3029**. {{ : |
- | - Set the jumpers into the position shown below. This is the standard position and only works for one board systems.{{ : | + | - 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. {{ : |
- | - 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.{{ : | + | |
===== Configuring the Software ===== | ===== Configuring the Software ===== | ||
- | The configuration | + | The software needs no configuration. |
- | + | ||
- | **vref** - Reference voltage of the **ADC**. If the internal reference is used this value must be **2.5V**. If an external reference is used then this value must be the value of the external reference. | + | |
- | ^ Referece | + | |
- | | internal | + | |
- | | external | + | |
- | + | ||
- | < | + | |
- | /* Reference voltage of the ADC */ | + | |
- | float vref = 2.5; | + | |
- | </ | + | |
===== Outputting Data ===== | ===== Outputting Data ===== | ||
Line 74: | Line 62: | ||
^ Function ^ Command ^ Description ^ Example ^ | ^ Function ^ Command ^ Description ^ Example ^ | ||
^ General commands ^ ^ ^ ^ | ^ General commands ^ ^ ^ ^ | ||
- | | | //h// | Display available commands. | | | + | | Help | //**h**// | Display available commands. | | |
- | | | //stts// | + | | Reset | //**rst**// |
- | ^ Internal register commands ^ | | | | + | ^ ADC commands ^ |
- | | | //r// | Display voltage or current on the selected channel.\\ <//chan//> = channel | + | | Register read | //**arr**// | Read an ADC register of a specific address.\\ <//addr//> = Address of the register |
- | | | // | + | | Register write | //**awr**// | Write an ADC register of a specific address with a new value.\\ <//addr//> = Address of the register |
- | ^ HART commands ^ | + | | Get data | //**ags**// | Get a number of samples per enabled channels. If the operation takes too long press ' |
- | | | //he// | + | | Enable channels |
- | | | // | + | | Get enabled channels |
- | | | // | + | | Set PGA | //**aps**// | Set PGA for a channel.\\ <//chan//> = ID of the channel to be changed.\\ <//opt//> = PGA option; values are: opt0, opt1, ... opt7 corresponding to the datasheet. | **aps 0 opt3** - set ADC channel 0 to PGA 3, gain value of 8. | |
- | | | //ht// | + | | Get PGA | //**apg**// | Display |
- | | | //hg// | Send the received buffer through UART connection. | | | + | | Set sample\\ rate | //**aos**// | Set ADC sample rate. Filter option, power mode and reference clock must be taken into consideration.\\ <//odr//> = New sample rate value. | **aos 2000** - set sample |
- | | | //hcz// | Send command zero with the specified | + | | Get sample rate | //**aog**// | Read the current sample rate. | | |
- | | | //hpt// | Send command zero with the specified number of FFs in the preambule.\\ <//byte//> = byte to send in loop. | | | + | | Set filter\\ option |
- | ^ ADC commands | + | | Get filter\\ option |
- | | | + | |
- | | | //awr// | Change value of the ADC register of the given address.\\ <//reg//> = address | + | |
- | | | //ags// | Get a specific number of samples from the given channel.\\ <// | + | |
- | | | //aso// | Set sample rate.\\ <//sps//> = selected | + | |
- | | | //asf// | Set filter option.\\ <// | + | |
- | | | //aep// | Enable post filter. | | | + | |
- | | | // | + | |
- | | | //asp// | Reset controller, parameters and faults | | | + | |
- | | | // | + | |
- | | | // | + | |
- | ^ EEPROM commands ^ | + | |
- | | | + | |
- | {{ : | + | {{ : |
- | ===== Obtaining the Source Code ===== | + | ===== Obtaining the Software |
- | We recommend not opening | + | There are two basic ways to program |
+ | - Dragging | ||
+ | - 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, |
- | <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 |
- | [[https:// | + | The software for the **ADuCM3029_demo_ad7124_8PMDZ** can be found here: |
- | [[| AduCM3029_demo_cn0414.HEX]] | + | <WRAP round 80% download> |
+ | Prebuilt AD7124-8 PMOD Hex File | ||
+ | * [[https:// | ||
+ | Complete AD7124-8 PMOD Source Files | ||
+ | * [[https:// | ||
</ | </ | ||
Line 131: | Line 113: | ||
==== Project Structure ==== | ==== Project Structure ==== | ||
- | The program is composed of two main parts: | + | The application contains the platform drivers |
- | - Board setup with initial values. | + | |
- | - Main process. | + | |
- | + | ||
- | {{ : | + | |
- | + | ||
- | Board setup initializes | + | |
- | + | ||
- | {{ : | + | |
- | + | ||
- | The main process routine implements | + | |
- | + | ||
- | {{ : | + | |
- | + | ||
- | The flow chart below represents the way the channel registers are updated. Only one channel is active at any one time (the channel that must be read). | + | |
- | {{ : | + | {{ : |
// End of Document // | // End of Document // |