OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 12305|回复: 15

有没有人用过AD7682????

[复制链接]

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2014-8-11
在线时间
1 小时
发表于 2014-11-21 09:04:50 | 显示全部楼层 |阅读模式
5金钱

已经调好,时间问题。。。。。谢谢大家。。。。。

大侠们,请问有没有人用过AD7682?用这个芯片有什么需要注意的?有没有好的例程啊?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2014-8-11
在线时间
1 小时
 楼主| 发表于 2014-11-24 11:04:49 | 显示全部楼层
怎么光有人看没有人回呢?????
回复

使用道具 举报

2

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2014-2-24
在线时间
4 小时
发表于 2014-11-24 11:33:29 | 显示全部楼层
回复【2楼】hxtmark:
---------------------------------
估计 大家真的没有用过AD7682吧。。
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11558
金钱
11558
注册时间
2014-4-1
在线时间
1318 小时
发表于 2014-11-24 16:07:43 | 显示全部楼层
回复【2楼】hxtmark:
---------------------------------
你这样提问,即使用过,也没法和你对话——话题面太广。
回复

使用道具 举报

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2014-8-11
在线时间
1 小时
 楼主| 发表于 2014-11-24 16:59:49 | 显示全部楼层
回复【4楼】xuande:
---------------------------------
谢谢,其实我就是想问问大家有没有用过,有用过的话最好能有例程,因为我正在设计这个。。。。苦于没用过这个AD,看时序也很模糊(看着比较蒙)。。。想请教大家有没有例子(其实就是驱动程序了)。。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-11-25 00:35:51 | 显示全部楼层
没用过。。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11558
金钱
11558
注册时间
2014-4-1
在线时间
1318 小时
发表于 2014-11-25 10:34:02 | 显示全部楼层
用过同类芯片,大概跟你说下,无外乎硬件连接和软件驱动两方面:
1、硬件,
包括输入信号的极性(单端还是查分)与数值范围,参考电压的大小,IO口电压的数值,
接口与CPU连接,时序很重要,注意CNV管脚。
2、驱动,
首先是配置,configuration,模式,通道选择,
其次是驱动时序。

把这些问题搞清,就能用了。

针对这些具体细节,你再提问,才能有人对话。
回复

使用道具 举报

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2014-8-11
在线时间
1 小时
 楼主| 发表于 2014-11-26 11:22:56 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
连老大都出来回答了,谢谢!!
回复

使用道具 举报

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2014-8-11
在线时间
1 小时
 楼主| 发表于 2014-11-26 11:28:13 | 显示全部楼层
回复【7楼】xuande:
---------------------------------
谢谢!现在我弄了一个程序,但是不能正常读出数据,请教一下大家能不能帮忙看看那里出问题了。。。程序如下: (已经调好,是时间问题。谢谢大家。。。。)
/*******************************************************************************
** 文件名称:ad7682.c
** 功    能:
** 修改日志:
********************************************************************************/
#include "adc7682.h"
//#include "includes.h"

static void AD7682IO_INIT(void);
static void AD7682IO_INIT(void)
{
GPIO_InitTypeDef  GPIO_InitStructure;

// SPIx_CS_GPIO, SPIx_MOSI_GPIO, SPIx_MISO_GPIO and SPIx_SCK_GPIO eriph clock enable 
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

GPIO_InitStructure.GPIO_Pin =GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_7;  //CS,SCLK,DIN
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);

GPIO_InitStructure.GPIO_Pin =GPIO_Pin_6;  //DOUT
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOA, &GPIO_InitStructure);


}
/*******************************************************************************
** 函数名称:void Delay_1us(u16 count)
** 功   能: count为1时延时1us
** 修改日志:
*******************************************************************************/
static void Delay_1us(u16 count)
{
u8 i,j;
 for(i=0 ; i<count ;i++)
   
 {
   for(j=0; j><32;j ++)
  {
   __nop();
  }
 }
}
/******************************************************************************
** 函数名称:u16 AD7682_spi(u8 ch)
** 功    能: reg寄存器内容,data转换数据
** 修改日志:
*******************************************************************************/
 u16 AD7682_spi(u8 ch)
{
  u16 reg=0;
  u16 data=0;
u8 i;
  CS_LOW;
  SCLK_LOW;
  reg = (1<<13)|(7<<10)|(ch<<7)|(1<<6)|(1<<0);
  // <<=2; //寄存器只用到了14位,所以要先移出高两位
 
  Delay_1us(10);
  for(i=0; i<16; i++)
  {
    if(reg&0x8000) DIN_HIGH;
    else           DIN_LOW;
    
    Delay_1us(10);
    reg<<=1;
    SCLK_HIGH;
    Delay_1us(20);
    data<<=1; 
    if(DOUT_READ)  data|=1; //(GPIO_ReadInputDataBit(GPIOB,i)
    SCLK_LOW;
    Delay_1us(20);
  }
  CS_HIGH;
  Delay_1us(20);
  return (data);
}
/******************************************************************************
** 函数名称:void AD7682_init(void)
** 功    能:
** 修改日志:
*******************************************************************************/
void AD7682_init(void)
{
//   DOUT_DIR_INPUT;   
//   CS_DIR_OUTPUT;
//   DIN_DIR_OUTPUT;
//   SCLK_DIR_OUTPUT; 
 AD7682IO_INIT();
   CS_HIGH;
   DIN_HIGH;
   SCLK_HIGH;
   Delay_1us(30);
   AD7682_spi(0);
   AD7682_spi(0); 
}

/******************************************************************************
** 函数名称:float Get_ADC_Value(ch) 
** 功    能:采样 ch 选择通道  前三次采集无效
** 修改日志:
*******************************************************************************/
float Get_ADC_Value(u8 ch)
{
  u8 i;
  float AD_Value1 = 0,AD_Value2 = 0;
  AD7682_spi(ch);
  AD7682_spi(ch);

  for(i = 0; i<10; i++){
      AD_Value1  = AD7682_spi(ch);
      AD_Value2 += AD_Value1;
  }
  
  return (AD_Value2/10);
}
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2016-11-9
在线时间
0 小时
发表于 2016-11-9 15:33:23 | 显示全部楼层
hxtmark 发表于 2014-11-26 11:28
回复【7楼】xuande:
---------------------------------
谢谢!现在我弄了一个程序,但是不能正常读出 ...

请问你这个是在f28335上做的吗,成功了没
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2017-5-24
在线时间
1 小时
发表于 2017-5-24 14:17:34 | 显示全部楼层
用上面的代码,ad7682读到的值不是0xffff就是0x0000,问题在哪儿呢?
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2017-5-24
在线时间
1 小时
发表于 2017-5-24 14:34:30 | 显示全部楼层
我也用AD7682,用上面的代码读ad7682输出数字量不是0xffff就是0x0000,问题在哪儿呢?
回复

使用道具 举报

13

主题

40

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
241
金钱
241
注册时间
2016-2-2
在线时间
80 小时
发表于 2018-2-12 10:54:03 | 显示全部楼层
老哥现在有7682的例程吗,最近要用。
回复

使用道具 举报

8

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2019-4-19
在线时间
8 小时
发表于 2019-11-4 16:03:12 | 显示全部楼层
大哥,可否发一份程序?供小弟参考一下
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2019-5-15
在线时间
8 小时
发表于 2019-11-5 09:47:44 | 显示全部楼层
本帖最后由 yimingliang 于 2019-12-10 17:25 编辑

在使用AD7682 急需一份AD7682程序,参考,哪位大神能帮助一下。
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2020-10-11
在线时间
2 小时
发表于 2021-8-19 16:54:47 | 显示全部楼层
在调试AD7682的代码,大佬们可以给份参考代码吗?指导编写思路也可以。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-24 19:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表