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-adicup360:reference_designs:demo_adt7420 [03 Jan 2017 20:55] – [General description] Brandon Busheyresources:eval:user-guides:eval-adicup360:reference_designs:demo_adt7420 [14 Mar 2021 06:08] (current) – [Obtaining the Source Code] adding in .Bin file Zuedmar Arceo
Line 16: Line 16:
  
 {{ :resources:eval:user-guides:eval-adicup360:reference_designs:adt7420:putty_output_display.png?600 |}} {{ :resources:eval:user-guides:eval-adicup360:reference_designs:adt7420:putty_output_display.png?600 |}}
 +
 +===== Demo Requirements =====
 +
 +The following is a list of items needed in order to replicate this demo.
 +  * Hardware
 +    * EVAL-ADICUP360
 +    * EVAL-ADT7420-PMDZ
 +    * Mirco USB to USB cable
 +    * PC or Laptop with a USB port
 +  * Software
 +    * ADuCM360_demo_adt7420_pmdz software
 +    * CrossCore Embedded Studio (2.7.0 or higher)
 +    * ADuCM36x DFP (1.0.2 or higher)
 +    * CMSIS ARM Pack (4.3.0 or higher)
 +    * Serial Terminal Program 
 +      * Such as Putty or Tera Term
  
 ===== Setting up the hardware ===== ===== Setting up the hardware =====
-\\ 
  
- To program the base board, set the jumpers as shown in the next figure. The important jumpers are highlighted in red. + To program the base board, set the jumpers/switches as shown in the next figure. The important jumpers/switches are highlighted in red.{{ :resources:eval:user-guides:eval-adicup360:reference_designs:adt7420:aduicup360_switch_config.png?500 |}} 
-{{:resources:eval:user-guides:eval-adicup360:reference_designs:cn0216_hw_config.png?500|}}+ - Plug the EVAL-ADT7420-PMDZ PMOD in the EVAL-ADICUP360 base board, via the PMOD_I2C port (P10). 
 + - Plug in the USB cable from the PC to the EVAL-ADICUP360 base board via the Debug USB.(P14)
  
- * Plug the EVAL-ADT7420-PMDZ PMOD in the EVAL-ADICUP360 base board, via the PMOD_I2C port (P10).+===== Obtaining the Source Code =====
  
- * Power EVAL-ADICUP360 base board via the Debug USB.+There are two basic ways to program the ADICUP360 with the software for the ADT7420. 
 +  - Dragging and Dropping the .Bin to the MBED drive 
 +  - Building, Compiling, and Debugging using CCES
  
-\\ +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.
-===== Obtaining the source code ===== +
-\\+
  
-We recommend not opening the project directly, but rather import it into Eclipse and make a local copy in your Eclipse workspace+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.
  
-To learn how to import the **ADuCM360_demo_adt7420_pmdz** project form the projects examples in the Git repository, please click on [[resources:eval:user-guides:eval-adicup360:quickstart:eclipse_user_guide#how_to_import_existing_projects_from_the_git_repository|How to import existing projects from the GIT Repository]]. +The software for the **ADuCM360_demo_adt7420** demo can be found here:
- +
-The source code and include files of the **ADuCM360_demo_adt7420_pmdz** can be found on Github:+
  
 <WRAP round 80% download> <WRAP round 80% download>
 +Prebuilt ADT7420 Bin File
 +  * [[https://github.com/analogdevicesinc/EVAL-ADICUP360/releases/download/Release-1.0/ADuCM360_demo_adt7420_pmdz.bin| AduCM3029_demo_adt7420_pmdz.Bin]]
 +Complete ADT7420 Source Files
 +  * [[https://github.com/analogdevicesinc/EVAL-ADICUP360/tree/master/projects/ADuCM360_demo_adt7420_pmdz| AduCM3029_demo_adt7420 Source Code]]
  
-[[https://github.com/analogdevicesinc/EVAL-ADICUP360/tree/master/projects/ADuCM360_demo_adt7420_pmdz| AduCM360_demo_adt7420_pmdz at Github]] 
-  
 </WRAP> </WRAP>
  
  
-\\ +<WRAP center round info 80%> 
-===== Importing the ADuCM360_demo_adt7420_pmdz project ===== +For more information on importingdebugging, or other tools related questions, please see the [[/resources/eval/user-guides/eval-adicup360/tools/cces_user_guide |tools user guide.]]  
-\\ +</WRAP>
-The necessary instructions on how to import **ADuCM360_demo_adt7420_pmdz** project in your workspace can be found in the section, [[resources:eval:user-guides:eval-adicup360:quickstart:eclipse_user_guide#importing_a_project|Import a project into workspace]].+
  
-\\ +===== Configuring the Software Parameters =====
-===== Debugging the ADuCM360_demo_adt7420_pmdz project ===== +
-\\ +
- * A debug configuration must be set up for this project in order to have the possibility to program and to debug the **ADuCM360_demo_adt7420_pmdz** project. To do this, follow the instructions from [[resources:eval:user-guides:eval-adicup360:quickstart:eclipse_user_guide#setting_up_a_debug_configuration_for_the_project|Setting up a Debug Configuration Page.]]+
  
-        * Make sure the target board is connected to the computer (via **DEBUG USB**) and using the tool bar, navigate to the small Debug icon{{:resources:eval:user-guides:eval-aducm360-ardz:quickstart:bug.png?30|}} and select the debugging session you created. The application will programmed and the program execution will stop at the beginning of the main() function+Configure the ADT7420 I2C address in the //ADT7420.h// file to match the hardware
-  +<code>
-{{ :resources:eval:user-guides:eval-adicup360:reference_designs:pmodacl2_debug_window.png?600 |}}+
  
- Use step-by-step execution or directly run the program. +/ADT7420 I2C Address */ 
-  +#define ADT7420_ADDRESS    0x48      /* Default I2C Address of EVAL-ADT7420-PMDZ */
-After completion of the steps above the program will remain written into the system flash and it will run by default every time the board is powered up.+
  
-\\ +</code>
-===== Project structure ===== +
-\\ +
-The **ADuCM360_demo_adt7420_pmdz** project use basic ARM Cortex-M C/C++ Project structure.  +
-This project contains: system initialization part - disabling watchdog, setting system clock, enabling clock for peripheral; port configuration for I2C, temperature sensor data; I2C read/write functions; threshold monitoring. +
-\\ +
-\\ +
-{{:resources:eval:user-guides:eval-adicup360:reference_designs:adt7420:adumc360_ide_project_structure.png?400 |}}+
  
-In the **src** and **include** folders you will find the source and header files related to adt7420_pmdz application. You can modify those files as appropriate for your application. The //Communication.c/h// files contain I2C and UART specific data, meanwhile the //ADT7420.c/h// files contain the temperature information data and threshold registers. Here are parameters you can configure: +Configure the ADT7420 in the operating mode you want using the //ADT7420.c // file
-            * **ADT7420 Configuration Register** - //ui8configAdt7420// register - Combine any of the following parameters to setup the ADT7420 in the configuration you desire. (//ADT7420.c //).+
 <code> <code>
  
 uint8_t ui8configAdt7420 = (FAULT_TRIGGER_4 | CT_PIN_POLARITY | INT_PIN_POLARITY | INT_CT_MODE |CONTINUOUS_CONVERSION_MODE | RESOLUTION_13_BITS); uint8_t ui8configAdt7420 = (FAULT_TRIGGER_4 | CT_PIN_POLARITY | INT_PIN_POLARITY | INT_CT_MODE |CONTINUOUS_CONVERSION_MODE | RESOLUTION_13_BITS);
  
-/** +/* False Trigger Count */ 
-#define FAULT_TRIGGER_1 1 fault reading triggers an interrupt +#define FAULT_TRIGGER_1      /1 fault reading triggers an interrupt */ 
-#define FAULT_TRIGGER_2 2 fault readings triggers an interrupt +#define FAULT_TRIGGER_2      /2 fault readings triggers an interrupt */ 
-#define FAULT_TRIGGER_3 3 fault readings triggers an interrupt +#define FAULT_TRIGGER_3      /3 fault readings triggers an interrupt */ 
-#define FAULT_TRIGGER_4 4 fault readings triggers an interrupt+#define FAULT_TRIGGER_4      /4 fault readings triggers an interrupt */
  
-#define CT_PIN_POLARITY Critical temp active logic level +/* Alarm Logic Levels */ 
-#define INT_PIN_POLARITY Interrupt temp active logic level +#define CT_PIN_POLARITY      /Critical temp active logic level */ 
-#define INT_CT_MODE - Selects comparator or interrupt mode+#define INT_PIN_POLARITY     /* Interrupt temp active logic level */
  
-#define CONTINUOUS_CONVERSION_MODE - Continuous conversion +/* Interrupt Mode */ 
-#define ONE_SHOT_MODE - One shot conversion, then shuts down +#define INT_CT_MODE      /* Selects comparator or interrupt mode */
-#define ONE_SAMPLE_PER_SECOND_MODE - One second between readings +
-#define SHUTDOWN_MODE - Power down mode activated+
  
-#define RESOLUTION_13_BITS 13-bit Temperature data +/* Conversion Mode */ 
-#define RESOLUTION_16_BITS 16-bit Temperature data+#define CONTINUOUS_CONVERSION_MODE   /* Continuous conversion */ 
 +#define ONE_SHOT_MODE                /* One shot conversion, then shuts down */ 
 +#define ONE_SAMPLE_PER_SECOND_MODE   /* One second between readings */ 
 +#define SHUTDOWN_MODE                /* Power down mode activated */ 
 + 
 +/* Resolution */ 
 +#define RESOLUTION_13_BITS    /13-bit Temperature data */ 
 +#define RESOLUTION_16_BITS    /16-bit Temperature data */
  
-**/   
 </code> </code>
-\\  
-            * **ADT7420 I2C Address**- //ADT7420_ADDRESS// paramater - value based on the positions on JP1 and JP2 on EVAL-ADT7420-PMDZ (//ADT7420.h //): 
-<code> 
  
-#define ADT7420_ADDRESS    0x48+Assign values to your different temperature setpoints and alarms/interrupts in the //ADT7420.h// file
  
-</code> 
-            * **High Temperature Interrupt** - //TEMP_HIGH_SETPOINT// parameter - value to set the high temperature [C] threshold for the ADT7420 (//ADT7420.c //). 
 <code> <code>
  
-#define TEMP_HIGH_SETPOINT             75+/* Temperature monitoring parameters */ 
 +#define TEMP_HIGH_SETPOINT             75          /* Value in Degree C */ 
 +#define TEMP_LOW_SETPOINT              0           /* Value in Degree C */ 
 +#define TEMP_CRITICAL_SETPOINT         100         /* Value in Degree C */ 
 +#define TEMP_HYSTERSIS_SETPOINT        5           /* Value in Degree C */
  
 </code> </code>
-             * **Low Temperature Interrupt** - //TEMP_LOW_SETPOINT// parameter - value to set the low temperature [C] threshold for the ADT7420 (//ADT7420.c //). 
-<code> 
  
-#define TEMP_LOW_SETPOINT             0+===== Outputting Data =====
  
-</code>+==== Serial Terminal Output ====
  
-            * **Critical Temperature Interrupt** //TEMP_HIGH_SETPOINT// parameter value to set the critical temperature [C] threshold for the ADT7420 (//ADT7420.c //). +  In order to view the data, you must flash the program to the EVAL-ADICUP360.   
-<code>+  - Once complete you will need to switch the USB cable from the DEBUG USB (P14to the USER USB (P13).   
 +  - Then follow the UART settings below with the serial terminal program
 +\\ 
  
-#define TEMP_CRITICAL_SETPOINT             100+Following is the UART configuration. 
 +    Select COM Port 
 +    Baud rate: 9600 
 +    Data: 8 bit 
 +    Parity: none 
 +    Stop: 1 bit 
 +    Flow Control: none 
 +\\
  
-</code>+The user must press the **<ENTER>** key each time they want to display the results.
  
-            * ** Temperature Hysteresis** //TEMP_HYSTERSIS_SETPOINT// parameter value to set the hysteresis window for the temperature [C] interrupt for the ADT7420 (prevents false triggering) (//ADT7420.c //). +{{ :resources:eval:user-guides:eval-adicup360:reference_designs:adt7420:putty_output_display.png?600 |}} 
-<code>+ 
 +===== How to use the Tools =====
  
-#define TEMP_HYSTERSIS_SETPOINT             5+The official tool we promote for use with the EVAL-ADICUP360 is CrossCore Embedded Studio.  For more information on downloading the tools and a quick start guide on how to use the tool basics, please check out the [[resources:eval:user-guides:eval-adicup360:tools|Tools Overview page.]] 
 + 
 +==== Importing ==== 
 + 
 +For more detailed instructions on importing this application/demo example into the CrossCore Embedded Studios tools, please view our [[resources:eval:user-guides:eval-adicup360:tools:cces_user_guide#how_to_import_existing_projects_into_your_workspace|How to import existing projects into your workspace]] section. 
 + 
 +==== Debugging ==== 
 + 
 +For more detailed instructions on importing this application/demo example into the CrossCore Embedded Studios tools, please view our [[resources:eval:user-guides:eval-adicup360:tools:cces_user_guide#how_to_configure_the_debug_session_for_an_aducm360_application|How to configure the debug session]] section. 
 + 
 +==== Project Structure ====
  
-</code> 
 \\ \\
-The **system** folder contains system related files (try not to change these files): +This is the **ADuCM360_demo_adt7420_pmdz** project structure
-            * **ADuCM360** – contains low levels drivers for ADuCM360 microcontroller+This project contains: system initialization part - disabling watchdogsetting system clock, enabling clock for peripheral; port configuration for I2Ctemperature sensor data; I2C read/write functions; threshold monitoring.
-            * **CMSIS** – contains files related to ADuCM360 platform, such as//ADuCM360.h// (registers definitions)//system_ADuCM360.c/h// (system clock)//vectors_ADuCM360.c// (interrupt vector table). +
-            * **cortexm** – contains files for system management (start-upreset, exception handler).+
 \\ \\
 +\\
 +{{:resources:eval:user-guides:eval-adicup360:reference_designs:adt7420:adumc360_ide_project_structure.png?400 |}}
 +
 +In the **src** and **include** folders you will find the source and header files related to adt7420_pmdz application. You can modify those files as appropriate for your application. The //Communication.c/h// files contain I2C and UART specific data, meanwhile the //ADT7420.c/h// files contain the temperature information data and threshold registers. Here are parameters you can configure:
 +            
 +\\
 +The **RTE** folder contains device and system related files:
 +            * **Device Folder** – contains low levels drivers for ADuCM360 microcontroller.(try not to edit these files)
 +            * **system.rteconfig** - Allows the user to select the peripherial components they need, along with the startup and ARM cmsis files needed for the project.
 +\\ 
 +\\
 +
 +// End of Document //
resources/eval/user-guides/eval-adicup360/reference_designs/demo_adt7420.1483473327.txt.gz · Last modified: 03 Jan 2017 20:55 by Brandon Bushey