资料介绍
Table of Contents
AD5592/AD5593 PMOD Demo
The ADuCM3029_demo_ad5592r_ad5593r project provides a solution to control a configurable input/output system using the EVAL-AD5592R-PMDZ or the EVAL-AD5593R-PMDZ and the EVAL-ADICUP3029. Both boards use a minimalist 8-channel, 12-bit, configurable ADC/DAC/GPIO device with either a SPI interface for EVAL-AD5592R-PMDZ and I2C interface for EVAL-AD5593R-PMDZ. The boards are SPI and I2C, respectively, PMOD form factor.
General Description/Overview
The ADuCM3029_demo_ad5592r_ad5593r project uses the EVAL-AD5592R-PMDZ or EVAL-AD5593R-PMDZ to provide a low-cost alternatives to the full-featured product evaluation boards, with terminal block connections and no extra signal conditioning. The application makes full use of the configurable 8 channels capability of the AD5592R and AD5593R, as every channel can be individually set to be either ADC, DAC, input GPIO or output GPIO. This provides a compact and highly flexible solution to signal acquisition and output control.
The application is controlled by the user with a CLI implemented using the serial UART core in the ADuCM3029 controller. The CLI is displayed on a connected PC using a serial terminal connection.
The program is divided in 2 parts: the setup part in which the present module is discovered and the main process. To do the discovery routine in the setup stage, the application first initializes the board SPI driver and tries to do a write and a read to a register to see if any device responds. If there is no SPI the application does the same test for the I2C device. If no device is found the application returns with an error message displayed on the serial connection. If any of the devices is found the program displays the active device and continues to the main process loop. If both PMODs are connected at the same time the one with SPI will be activated. The main process loop starts with the mirror mode. This mode sets up 4 channels as input and the other 4 as output, and then mirrors the inputs on the outputs. For example, if input channel 0 is driven externally to 1V the corresponding output channel, channel 7, will be driven to 1V as well by the application. The channels are linked as follows:
- Channel 0 (ADC) → Channel 7 (DAC);
- Channel 1 (ADC) → Channel 6 (DAC);
- Channel 2 (input GPIO) → Channel 5 (output GPIO);
- Channel 3 (input GPIO) → Channel 4 (output GPIO).
More information about the CLI commands can be found here.
Demo Requirements
The following is a list of items needed in order to replicate this demo.
Setting up the Hardware
- Connect EVAL-AD5592R-PMDZ or EVAL-AD5593R-PMDZ board to the EVAL-ADICUP3029 as seen in the pictures below:
EVAL-AD5593R-PMDZ conforms to Pmod spec 1.1.0. This is physically compatible with Pmod platforms conforming to earlier Pmod specifications, provided that the VCC, GND, SDA, SCL pins are aligned with the corresponding signals on the platform board, leaving INT and RESET disconnected as shown. - Connect a micro-USB cable to P10 connector of the EVAL-ADICUP3029 and connect it to a computer.
Refer to https://blog.digilentinc.com/announcing-the-digilent-pmod-interface-specification-1-1-0/ for details on the Pmod specification.
Configuring the Software
The configuration parameters can be found in the config.h file.
AD5593R_A0_STATE - This define contains the logic state of the A0 pin of the AD5593R device. This pin factors in the device I2C address and is by default logic “0” so no change is necessary to the define. If the pin state is changed by moving the pull-down resistor to be a pull-up resistor, this define needs to be changed to logic “1” too for the program to work.
#define AD5593R_A0_STATE 0
Outputting Data
A serial terminal is an application that runs on a PC or laptop that is used to display data and interact with a connected device (including many of the Circuits from the Lab reference designs). The device's UART peripheral is most often connected to a UART to USB interface IC, which appears as a traditional COM port on the host PC/ laptop. (Traditionally, the device's UART port would have been connected to an RS-232 line driver / receiver and connected to the PC via a 9-pin or 25-pin serial port.) There are many open-source applications, and while there are many choices, typically we use one of the following:
Before continuing, please make sure you download and install one of the above programs.
There are several parameters on all serial terminal programs that must be setup properly in order for the PC and the connected device to communicate. Below are the common settings that must match on both the PC side and the connected UART device.
- COM Port - This is the physical connection made to your PC or Laptop, typically made through a USB cable but can be any serial communications cable. You can determine the COM port assigned to your device by visiting the device manager on your computer. Another method for identifying which COM port is associated with a USB-based device is to look at which COM ports are present before plugging in your device, then plug in your device, and look for a new COM port.
- Baud Rate - This is the speed at which data is being transferred from the connected device to your PC. These parameters must be the same on both devices or data will be corrupted. The default setting for most of the reference designs in 115200.
- Data Bits - The number of data bits per transfer. Typically UART transmits ASCII codes back to the serial port so by default this is almost always set to 8-Bits.
- Stop Bits - The number of “stop” conditions per transmission. This usually set to 1, but can be set to 2 for redundancy.
- Parity - Is a way to check for errors during the UART transmission. Unless otherwise specified, set parity to “none”.
- Flow Control - Is a way to ensure that data lose between fast and slow devices on the same UART bus are not lost during transmission. This is typically not implemented in a simple system, and unless otherwise specified, set to “none”.
In many instances there are other options that each of the different serial terminal applications provide, such as local line echo or local line editing, and features like this can be turned on or off depending on your preferences. This setup guide will not go over all the options of each tool, but just the minor features that will make it easier to read back data from the connected devices.
Example setup using Putty
- Plug in your connected device using a USB cable or other serial cable.
- Wait for the device driver of the connected device to install on your PC or Laptop.
- Open up your serial terminal program (Putty for this example)
- Click on the open button, and as long as your connected device and serial terminal program are setup the same, than you should see data displaying.
Available commands
Typing help or h after initial calibration sequence will display the list of commands and their short versions. Bellow is the short command list:
Command | Example | Description |
---|---|---|
General commands | ||
h | h | Display available commands. |
stts | stts | Display parameters of the application. |
Single channel commands | ||
ao <chan> <dac_code> | ao 0 2000 | Set a channel as analog output (DAC channel) and set the output code. <chan> = channel to be set (0-7); <dac_code> = DAC code in decimal integer format (0-4095). |
ai <chan> | ai 0 | Change the channel to analog input and read the ADC channel. <chan> = channel to be changed and read. (0-7). |
do <chan> <val> | do 7 1 | Change the channel to digital output and set it's state to HIGH or LOW. <chan> = channel to be changed (0-7). <val> = '0' or '1' for LOW or HIGH, respectively. |
di <chan> | di 5 | Change the channel to digital input and read it's state. <chan> = channel to be changed and read. (0-7). |
Mode commands | ||
m | m | Start mirror mode. This mode sets 4 channels as input and 4 channels as output. Then the application reads the input channels and drives the corresponding output channel to the value read on the input channel. For example, if channel 0 reads 1V then the corresponding channel, channel 7, will output 1V. The channels are linked the following way: * Channel 0 (ADC) → Channel 7 (DAC); * Channel 1 (ADC) → Channel 6 (DAC); * Channel 2 (input GPIO) → Channel 5 (output GPIO); * Channel 3 (input GPIO) → Channel 4 (output GPIO). |
t | t | Start production test mode. The following connections must be made: * Channel 0 → Channel 7; * Channel 1 → Channel 6; * Channel 2 → Channel 5; * Channel 3 → Channel 4. Test mode sets CH0:3 to DAC mode, CH4:7 to ADC mode. CH0:3 are set to 0.5V, 1V, 1.5V, 2V, and the voltages at CH4:7 are read back and compared to the expected value. A pass message is then displayed if all the values are read back correctly. |
ais <ch_no> | ais a | Start streaming mode. This mode reads the selected ADC channel twice a second and outputs the data to the terminal. <chan> = channel to be read (0-7) or all channels simultaneously (a). If the channel picked is not an ADC channel the terminal will show an appropriate message. This command does not change the setting of the channels. The desired channels need to be set as ADC separately. |
- For the “h”, “stts”, “m” and “t” commands press Enter without inserting any space afterwards.
- For the “ao”, “ai”, “do” and “di” commands, to invoke in application instructions, write just the command without parameters, insert a space afterwards and press Enter.
Obtaining the Source Code
We recommend not opening the project directly, but rather import it into CrossCore Embedded Studios and make a local copy in your workspace.
The source code and include files of the ADuCM3029_demo_ad5592r_ad5593r can be found here:
How to use the Tools
The official tool we promote for use with the EVAL-ADICUP3029 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 Tools Overview page.
Importing
For more detailed instructions on importing this application/demo example into the CrossCore Embedded Studios tools, please view our 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 How to configure the debug session section.
Project Structure
Project structure includes:
- AD559xR driver module with files: ad5592r-base.c, ad5592r-base.h, ad5592r.c, ad5592r.h, ad5593r.c, ad5593r.h;
- Main file ADuCM3029_demo_aiodiopdmz.c
- Application module with files: aio_dio_pdmz.c, aio_dio_pdmz.h;
- CLI module with files: cli.c, cli.h;
- Configuration file config.h
- Communication and GPIO driver module with files: platform_drivers.c, platform_drivers.h;
- Power core initialization module with files: power.c, power.h;
- Timer and delay driver module with files: timer.c, timer.h.
End of Document
- STM32中文参考手册下载 257次下载
- K64子系列参考手册 4次下载
- DC592A-演示手册 0次下载
- DC593A-演示手册 0次下载
- EVAD593R-PMDZ硬件用户指南 8次下载
- EVAD592R-PMDZ硬件用户指南 0次下载
- EVAD570R-PMDZ硬件用户指南 5次下载
- UG-1002:ADF7030-1软件参考手册 2次下载
- dsPIC33F系列参考手册之中断(第II部分) 22次下载
- dsPIC30F系列参考手册之程序存储器 4次下载
- dsPIC30F系列参考手册之闪存和EEPROM编程 8次下载
- PIC32系列参考手册之带On-The-Go(OTG)功能的高速USB 11次下载
- WiFly命令参考手册.pdf 11次下载
- SN54LS592,SN54LS593,SN74LS592, 16次下载
- 592.pdf 电子管资料数据手册 7次下载
- STM32基于标准外设库的外部中断配置 750次阅读
- 软件代码配置进入MIMXRT1176 ISP模式 794次阅读
- 在MIMXRT1020CAG4B中设置BT_FUSE_SEL熔丝位 1031次阅读
- 如何画出STM32系列单片机的原理图 2w次阅读
- 如何设计可综合的Verilog代码和应该遵循什么原则 4023次阅读
- 你知道终端软件XShell参考手册怎么操作? 1153次阅读
- 单片机cpu初始化的方法解析 3491次阅读
- 基于STM32F0的SPI通信的FLASH程序分析 2495次阅读
- 你可能还不知道数据手册中有这些内容 8344次阅读
- ug1292时序收敛快速参考手册 3140次阅读
- 软件测试书籍有哪些_软件测试书籍推荐 1.4w次阅读
- 软件测试是干什么的?软件测试的5个基本流程介绍 5w次阅读
- 组态软件有哪些_组态软件哪个好_组态软件推荐(三款) 38.9w次阅读
- 组态软件是什么_组态软件有什么用 3.5w次阅读
- 工程师参考手册(一):D类功放设计须知 2.4w次阅读
下载排行
本周
- 1UHD智能显示SoC VS680产品简介
- 0.46 MB | 7次下载 | 免费
- 2深蕾半导体智能显示SoC芯片 VS680产品简介
- 0.33 MB | 3次下载 | 免费
- 3JW7707F杰华特3.4A50V,7mΩ同步整流器-jw7707f参数规格书
- 268.87 KB | 2次下载 | 免费
- 4电池管理系统(BMS)软硬件介绍
- 0.23 MB | 2次下载 | 2 积分
- 5分析电源电感发热解决方法
- 0.26 MB | 2次下载 | 免费
- 6大功率LED驱动器DW8501数据手册
- 0.37 MB | 1次下载 | 2 积分
- 74.5V 至 52V 输入、电流模式升压控制器TPS4021x-Q1数据表
- 2.03MB | 1次下载 | 免费
- 8电压检测芯片TPS3803和TPS3805数据表
- 1.06MB | 1次下载 | 免费
本月
- 1DCDC原理详解
- 0.98 MB | 85次下载 | 免费
- 2FU-7(807)胆机原理图
- 11.93 MB | 26次下载 | 1 积分
- 3电子元件基础知识介绍
- 8.76 MB | 26次下载 | 2 积分
- 4用于汽车应用的高压电源管理IC TPS65311-Q1数据表
- 1.05MB | 22次下载 | 免费
- 5DC-DC电路(Buck)的设计与仿真
- 0.60 MB | 12次下载 | 2 积分
- 6GD32F10x系列MCU用户手册
- 11.5MB | 9次下载 | 免费
- 7多功能电源管理 SOC IP5306数据手册
- 0.20 MB | 7次下载 | 免费
- 8UHD智能显示SoC VS680产品简介
- 0.46 MB | 7次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935083次下载 | 免费
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420046次下载 | 免费
- 3Altium DXP2002下载入口
- 未知 | 233067次下载 | 免费
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191314次下载 | 免费
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183311次下载 | 免费
- 6labview8.5下载
- 未知 | 81567次下载 | 免费
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73786次下载 | 免费
- 8NI LabVIEW中实现3D视觉的工具和技术
- 未知 | 70088次下载 | 免费
评论
查看更多