嵌入式DSP教学实验箱操作教程:2-20 数模转换实验(模拟SPI总线输出电压值)

一、实验目的

掌握GPIO模拟SPI总线的使用,了解AD5724的芯片特性和使用,并实现基于AD5724输出电压值。

二、实验原理

StarterWare

StarterWare是一个免费的软件开发包,它包含了示例应用程序。StarterWare提供了一套完整的GPIO寄存器配置接口,简化了开发步骤,程序开发时只需要调用相应接口即可。

安装StarterWare后,可在安装目录下找到C6748所有通用库函数和对应的源码和库函数使用方法。

image.png

硬件原理图,找到DAC,可查看DAC的相关控制引脚

image.png

SPI是串行外设接口(Serial Peripheral Interface),是一种高速、全双工、同步的通信总线,在芯片的引脚上占用三根线(一对一通信)、四根线或五根线。一般是四线。

MOSI:主设备数据输出,从设备数据输入;

MISO:主设备数据输入,从设备数据输出;

SCLK:时钟信号,由主设备产生;

CS:从设备片选信号,由主设备控制;

EN:使能信号。

SPI 通常用于器件与外部设备之间的通信. 典型应用包括通过外部 I/O 或外设扩展移位寄存器,显示驱动器以及模拟-数字转换器等。

SPI的功能框图,左侧连接外部设备,右侧连接CPU。

image.png

SPI接口实际上是两个简单的移位寄存器,在主器件产生的使能信号和移位脉冲下,按位传输。上升沿发送,下降沿接收。或下降沿发送,上升沿接收。

image.png

D/A转换

D/A转换,即数模转换,是指将输入的二进制数字量转换成模拟量,以直流电压或直流电流的形式输出。D/A转换器实质上是一个译码器(解码器)。D/A转换器一般是由数码缓冲寄存器、模拟电子开关、参考电压和求和电路等组成。

AD5724芯片

TL6748-PlusTEB实验箱上的DA输出是基于 ADI AD5724 芯片进行设计的,具体特性如下:

12 位;

4 通道;

SPI 串行读取方式;

软件可调输出范围:0+5V、0+10V、0~+10.8V、±5V、±10V、±10.8V。

AD5724功能框图

左侧连接CPU,右侧是DA的四通道输出。

image.png

程序流程设计

程序流程设计中首先要进行外设使能配置,接着初始化UART2串口,然后进行GPIO管脚复用,配置GPIO管脚为输出,最后配置DAC各通道的输出电压值,并在UART2串口终端显示各个通道的输出电压。

image.png

源码

方向配置源码

管脚方向配置。

使用StarterWare 库函数将 GPIO 口配置为输出模式。相关函数通过“gpio.h”文件引用。

StarterWare API 接口。

GPIODirModeSet(SOC_GPIO_0_REGS, 1, GPIO_DIR_OUTPUT);

将GPIO配置为输出的函数源码和函数使用说明可以查看gpio.c。其中,第一个参数时GPIO的基地址,第二个参数是GPIO的编号,第三个参数设置GPIO的方向。

image.png

数据配置源码

数据寄存器配置。

使用StarterWare 库函数设置GPIO输出值。

相关函数通过“gpio.h”文件引用。

StarterWare API 接口。

GPIOPinWrite(SOC_GPIO_0_REGS, 3, GPIO_PIN_LOW);

配置GPIO输出值的函数源码和函数使用说明可以查看gpio.c。其中,第一个参数是GPIO的基地址,第二个参数是GPIO的编号,第三个参数设置GPIO的电平。

image.png

三、操作现象

本实验使用的硬件接口为DAC接口和UART2 RS232接口,所需硬件为实验板、仿真器、电源、RS232 交叉串口母母线、USB转RS232串口线和万用表。

image.png

硬件连接

(1)使用RS232交叉串口母母线和USB转RS232串口线连接实验板的UART2和电脑的USB口。

(2)连接仿真器和电脑的USB接口,

(3)将拨码开关拨到DEBUG模式01111,

(4)连接实验箱电源,拨动电源开关上电。

image.png

软件操作

串口调试

(1)先在设备管理器查看串口的端口号;

(2)再设置串口调试工具,波特率设置为115200。

image.png

CCS相关操作

导入工程,选择Demo文件夹下的对应工程

编译工程

将CCS连接实验箱并加载程序

点击运行程序

串口调试终端会打印从 TL5724 模块相应的输出寄存器回读数据。

经过转换运算,可得出:通道A电压=3V;通道B电压=5V;通道C电压=7V;通道D电压=10V。

TDAC四个通道输出恒定电压,相应的LED被点亮,输出电压越高LED的亮度越亮。

将万用表的测试头正极接触DAC的各个通道依次测量电压值,地接触实验板上的GND测试点。可以看到使用万用表读出的数据与计算值在误差允许范围内是一致的。

实验结束后,先点击黄色按钮暂停程序运行,再点击红色按钮退出CCS与实验箱的连接,最后实验箱断电即可。

image.png

最后我们来看下DAC电压的计算方法。

由于TL5724为4通道12位DAC,所以采用以上数据的前3位。

在这里以通道A为例,通道A取前三位,即为0x4cc,转换为十进制数值为1228。

再经过转换公式计算可得出通道A的输出电压为3V,和程序设置的输出电压一致。

image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/755635.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在吗?腾讯云服务器2024降价了61元一年,要么?

腾讯云服务器多少钱一年?61元一年起。2024年最新腾讯云服务器优惠价格表,腾讯云轻量2核2G3M服务器61元一年、2核2G4M服务器99元一年可买三年、2核4G5M服务器165元一年、3年756元、轻量4核8M12M服务器646元15个月、4核16G10M配置32元1个月、312元一年、8核…

QT C++ QButtonGroup应用

//QT 中,按钮数量比较少,可以分别用各按钮的信号和槽处理。 //当按钮数量较多时,用QButtonGroup可以实现共用一个槽函数,批量处理,减少垃圾代码, //减少出错。 //开发平台:win10QT6.2.4 MSVC…

IDEA调试入门指南

IDEA调试前准备 一、准备调试环境 在开始调试之前,确保你的IDEA已经正确安装并配置好。打开你的项目,确保所有的依赖都已正确加载,并且项目能够正常编译和运行。 二、设置断点 断点是调试过程中非常关键的一部分,它允许你在代…

O2OA红头文件流转与O2OA版式公文编辑器基本使用

O2OA开发平台在流程管理中,提供了符合国家党政机关公文格式标准(GB/T 9704—2012)的公文编辑组件,可以让用户在包含公文管理的项目实施过程中,轻松地实现标准化公文格式的在线编辑、痕迹保留、手写签批等功能。并且可以…

使用PySpider进行IP代理爬虫的技巧与实践

目录 前言 一、安装与配置PySpider 二、使用IP代理 三、IP代理池的使用 四、处理代理IP的异常 五、总结 前言 IP代理爬虫是一种常见的网络爬虫技术,可以通过使用代理IP来隐藏自己的真实IP地址,防止被目标网站封禁或限制访问。PySpider是一个基于P…

15届蓝桥杯备赛(2)

文章目录 刷题笔记(2)二分查找在排序数组中查找元素的第一个和最后一个位置寻找旋转排序数组中的最小值搜索旋转排序数组 链表反转链表反转链表II 二叉树相同的树对称二叉树平衡二叉树二叉树的右视图验证二叉搜索树二叉树的最近公共祖先二叉搜索树的最近公共祖先二叉树层序遍历…

为 java 开发者设计的性能测试框架,用于压测+测试报告生成

拓展阅读 junit5 系列教程 基于 junit5 实现 junitperf 源码分析 Auto generate mock data for java test.(便于 Java 测试自动生成对象信息) Junit performance rely on junit5 and jdk8.(java 性能测试框架。压测测试报告生成。) junitperf junitperf 是一款为 java 开…

回归预测 | Matlab实现SO-BP蛇算法优化BP神经网络多变量回归预测

回归预测 | Matlab实现SO-BP蛇算法优化BP神经网络多变量回归预测 目录 回归预测 | Matlab实现SO-BP蛇算法优化BP神经网络多变量回归预测预测效果基本描述程序设计参考资料 预测效果 基本描述 1.Matlab实现SO-BP蛇算法优化BP神经网络多变量回归预测(完整源码和数据) …

婚恋相亲红娘牵线系统功能介绍

婚恋相亲红娘牵线系统是一个综合性的婚恋交友平台,它集成了多种功能以帮助用户找到心仪的伴侣。以下是其主要功能的详细介绍: 用户信息深度分析和匹配:该系统利用大数据和人工智能技术,对用户的基本信息(如年龄、身高…

基于HSV色度空间的图像深度信息提取算法FPGA实现,包含testbench和MATLAB辅助验证程序

目录 1.算法运行效果图预览 ​编辑2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 将FPGA结果导入到matlab显示结果如下: matlab的对比测试结果如下: 2.算法运行软件版本 vivado2019.2 matlab2022a…

Pytest 教程:从 0 到 1 搭建 Pytest 接口自动化测试项目

从 0 到 1 搭建 Pytest 接口自动化测试项目 1.创建项目目录 mkdir Pytest-API-Testing-Demo 2.项目初始化 // 进入项目文件夹下cd Pytest-API-Testing-Demo// 创建项目 python 项目虚拟环境python -m venv .env// 启用项目 python 项目虚拟环境source .env/bin/activate 3…

ubuntu下docker安装

目录 官网链接 安装步骤 docker使用方法 拉取镜像 创建镜像 运行镜像 查看运行结果 保存镜像文件 传输到windows下 官网链接 Install Docker Engine on Ubuntu | Docker Docs 安装步骤 1.运行以下命令卸载所有冲突的包: for pkg in docker.io docker-d…

基于Spring Boot的社区便民服务管理系统的设计与实现

摘 要 二十一世纪我们的社会进入了信息时代,信息管理系统的建立,大大提高了人们信息化水平。传统的管理方式对时间、地点的限制太多,而在线管理系统刚好能满足这些需求,在线管理系统突破了传统管理方式的局限性。于是本文针对这一…

【海贼王的数据航海】排序——冒泡|快速|归并排序|总结

目录 1 -> 交换排序 1.1 -> 冒泡排序 1.1.1 -> 代码实现 1.2 -> 快速排序 1.2.1 -> hoare版本 1.2.2 -> 挖坑法 1.2.3 -> 前后指针法 1.2.4 -> 快速排序(递归版) 1.2.5 -> 快速排序(非递归版) 2 -> 归并排序 2.1 -> 归并排序 2.…

js逆向-某东cfe滑块逆向分析

声明 本文仅供学习参考,如有侵权可私信本人删除,请勿用于其他途径,违者后果自负! 如果觉得文章对你有所帮助,可以给博主点击关注和收藏哦! 分析 网址: aHR0cHM6Ly9jZmUubS5qZC5jb20vcHJpdmF…

CTF题型 SSTI(2) Flask-SSTI典型题巩固

CTF题型 SSTI(2) Flask-SSTI典型题巩固 文章目录 CTF题型 SSTI(2) Flask-SSTI典型题巩固前记1.klf__sstiSSTI_Fuzz字典(网上收集自己补充) 2.klf_2数字问题如何解决了?|count |length都被禁? 3.klf_3 前记 从基础到自己构造paylo…

实现:mysql-5.7.42 到 mysql-8.2.0 的升级(rpm方式)

实现:mysql-5.7.42 到 mysql-8.2.0 的升级(rpm方式) 1、升级准备1、使用mysql-shell 检查工具检查兼容性 2、操作环境3、备份数据库、my.cnf文件,停止mysql服务(重要)4、上传、解压安装包5、查看已安装的my…

第十三届蓝桥杯省赛真题 Java C 组【原卷】

文章目录 发现宝藏【考生须知】试题 A: 排列字母试题 B: 特殊时间试题 C: 纸张尺寸试题 D: 求和试题 E : \mathbf{E}: E: 矩形拼接试题 F: 选数异或试题 G: GCD试题 H: 青蛙过河试题 I: 因数平方和试题 J \mathrm{J} J : 最长不下降子序列 发现宝藏 前些天发现了一个巨牛的人…

一周学会Django5 Python Web开发-Jinja3模版引擎-模板语法

锋哥原创的Python Web开发 Django5视频教程: 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计37条视频,包括:2024版 Django5 Python we…

问界汽车提车全流程及注意点【伸手党福利】

问界汽车提车全流程及注意点 目录 说明为没买车和没提车的小伙伴提供参考全程必须车主办理(人必须在场),如果不是车主授权书很难办。时间:提车用时4小时,2个人 提车提前联系-交付专员做好需求调研当天-到店验车-千万不…