3449|3

1

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

AD7177-2数据输出问题 [复制链接]

最近在调试stm32+ AD7177-2,给AD7177一个50hz的正弦波,stm32用串口接收数据,接收的波形不完整。

这是AD7177的寄存器配置:

主要是配置:

ADC的通道:AIN0(+),AIN1(-)

ADC的输出速率:5000SPS

ADC的转换模式:连续转换;

 

 

还有就是,淘宝买的板子,给的例程使用的模拟SPI,没有使用硬件SPI,这对stm32接收有影响吗?

#include "mcp_myspi.h"
#include "delay.h"
#include "sys.h"
#include "stm32f10x_spi.h"
//ÒÔÏÂÊÇSPIÄ£¿éµÄ³õʼ»¯´úÂ룬ÅäÖóÉÖ÷»úģʽ 						  
//SPI¿Ú³õʼ»¯


void AD717x_Send8Bit(uint8_t _data);
uint8_t AD717x_Recive8Bit(void);
void AD717x_WaitDRDY(void);
void AD717x_DelaySCLK(void);
void AD717x_DelayDATA(void);

void AD717x_soft_spi(void)
{
	GPIO_InitTypeDef GPIO_InitStructure;

	/* ´ò¿ªGPIOʱÖÓ */
	RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA, ENABLE); // ʹÄÜPA¶Ë¿ÚʱÖÓ 

	/* ÅäÖü¸¸öÍÆÍêÊä³öIO */
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;	/* ÍÆÍìÊä³öģʽ */

	GPIO_InitStructure.GPIO_Pin = PIN_SCK;
	GPIO_Init(PORT_SCK, &GPIO_InitStructure);

	GPIO_InitStructure.GPIO_Pin = PIN_DIN;
	GPIO_Init(PORT_DIN, &GPIO_InitStructure);

	GPIO_InitStructure.GPIO_Pin = PIN_CS;
	GPIO_Init(PORT_CS, &GPIO_InitStructure);
	
	GPIO_InitStructure.GPIO_Pin = PIN_SYNC;
	GPIO_Init(PORT_SYNC, &GPIO_InitStructure);
	
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;		/* PIN_DOUT ÉèÖÃΪÊäÈëÉÏÀ­ */
	GPIO_InitStructure.GPIO_Pin = PIN_DOUT;
	GPIO_Init(PORT_DOUT, &GPIO_InitStructure);

	CS_1();
	SCK_1();		/* SPI×ÜÏß¿ÕÏÐʱ£¬ÖÓÏßÊǵ͵çƽ */
	DI_1();	
	SYNC_0;
}


void AD717x_DelaySCLK(void)
{
	uint16_t i;
	for (i = 0; i < 2; i++);
}


void AD717x_DelayDATA(void)
{
	delay_us(10);	/* ¡Á?D??¨®3¨´ 6.5uS, ¡ä?¡ä|¨¨?10us */
}


void AD717x_Send8Bit(uint8_t _data)
{
	uint8_t i;

	AD717x_DelaySCLK();
	AD717x_DelaySCLK();

	for(i = 0; i < 8; i++)
	{
		if (_data & 0x80)
		{
			DI_1();
		}
		else
		{
			DI_0();
		}
		SCK_0();				
		AD717x_DelaySCLK();		
		SCK_1();			

		_data <<= 1;
		AD717x_DelaySCLK();		
	}
	AD717x_DelayDATA();
}

uint8_t AD717x_Recive8Bit(void)
{
	uint8_t i;
	uint8_t read = 0;

	AD717x_DelaySCLK();

	
	for (i = 0; i < 8; i++)
	{
		SCK_1();
		AD717x_DelaySCLK();
		SCK_0();
		
		read = read<<1;
		if (DO_IS_HIGH())
		{
			read++;
		}		
		AD717x_DelaySCLK();
	}
	return read;
}

 

对于手册中的连续读取模式,我是要通过串口发送0x02;0x0080,之后再读取数据吗?

 

AD7177-2_cn.pdf

1.53 MB, 下载次数: 11

AD7177中文手册

最新回复

我们专业代理分销ADI全线产品,部分有现货,全部产品均为原装可追溯。如有需要可以站内联系我。   详情 回复 发表于 2023-12-3 13:45
点赞 关注
 
 

回复
举报

1668

帖子

0

TA的资源

五彩晶圆(初级)

沙发
 

用串口接收数据,接收的波形不完整,表明看起来好像是程序的事情,但没看波形具体是个怎么不完整的

 
 
 

回复

6069

帖子

4

TA的资源

版主

板凳
 

连续转换模式和连续读取模式必须配套使用。

 

对于手册中的连续读取模式,我是要通过串口发送0x02;0x0080,之后再读取数据吗?

看资料上逻辑关系图描述的是。

 

连续转换模式的读数据必须在下次转换完成前读出,否则可能出问题。

 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(中级)

4
 

我们专业代理分销ADI全线产品,部分有现货,全部产品均为原装可追溯。如有需要可以站内联系我。

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
推荐帖子
高频PCB设计中出现的干扰分析及对策

高频PCB设计中出现的干扰分析及对策

wiggler板PCB

wiggler板PCB

元件模特秀--图文并茂、简单易懂

无意间发现一篇很有创意的介绍元件的原理、外形、封装、功能的文章---元件模特秀。 原作者是“爱因迪生”。在这里我转帖过来, ...

我收藏的80多份TI中文资料

本帖最后由 dontium 于 2015-1-23 11:16 编辑 :) 压缩版资料,见18楼; TI的模拟应用期刊; 169466 169467 169468 169469 ...

《VLMC激光雕刻机》三,VLMC激光雕刻机分解---3.3,软件部分

本帖最后由 kejoy 于 2015-8-16 19:21 编辑 3.3,软件部分 210740 简介 作为一个自动化设备,核心控制部分是相 ...

MSP430F5529单片机的DAC8552

DAC8552是TI公司推出的16 位双路电压输出数模转换器,本次来介绍一下这个芯片在MSP430单片机上如何使用。 1.芯片的电路图介绍 ...

有奖直播:英飞凌 MERUS™ D 类音频放大器的多电平技术及其优势活动颁奖啦!

有奖直播:英飞凌 MERUS™ D 类音频放大器的多电平技术及其优势活动颁奖啦! 名单详见下方列表。请获奖者务必在2020 ...

DLC升压电路分析与计算

鄙人近期遇到几个问题,感觉超出了本人的能力范围,无奈只能寄希望于请教一下论坛的大神了,哎!怪自己学艺不精呐,在此留下 ...

【国产FPGA安路 高集成低功耗SF1系列FPSoC新品】按键(防抖)控制蜂鸣器

a866288c7a39a46c8b09abaff374b6d2 前言 前面测试了LED,和按键,这一篇结合按键测试蜂鸣器,并实现按键防抖。 过程 ...

开发计划工作规程

开发计划工作规程 目标 规划项目开发过程中各项任务的时间和资源安排 预防、控制及消除项目计划执行过程中 ...

关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表