OpenEdv-开源电子网

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

SPI接口与直接操作AD5628芯片时序的转换速率问题

[复制链接]

4

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
106
金钱
106
注册时间
2014-2-14
在线时间
23 小时
发表于 2016-8-15 17:53:12 | 显示全部楼层 |阅读模式
如题,对AD5628模数转换操作,我采取两种不同的方法:1、直接操作芯片时序;2、利用STM32F103自带的SPI1接口(AD5628支持SPI总线接口)操作AD芯片。两种方式都可以正常工作,现在出现的问题是:利用SPI1接口感觉芯片的速度要慢很多,而利用STM32的IO直接操作芯片时序的速度快。下面是SPI1的配置

        SPI_InitStructure.SPI_Direction=SPI_Direction_1Line_Tx;
        SPI_InitStructure.SPI_Mode=SPI_Mode_Master;
        SPI_InitStructure.SPI_DataSize=SPI_DataSize_8b;
        SPI_InitStructure.SPI_CPOL=SPI_CPOL_High;
        SPI_InitStructure.SPI_CPHA=SPI_CPHA_1Edge;
        SPI_InitStructure.SPI_NSS=SPI_NSS_Soft;//
        SPI_InitStructure.SPI_BaudRatePrescaler=SPI_BaudRatePrescaler_4;
        SPI_InitStructure.SPI_FirstBit=SPI_FirstBit_MSB;//
        SPI_InitStructure.SPI_CRCPolynomial=7;//
        SPI_Init(SPI1,&SPI_InitStructure);//
       
        SPI_Cmd(SPI1,ENABLE);//
}
void SPI_WriteData(uint8_t *data,uint8_t byteNumber)//
{
        uint8_t byte=0;

       
        SYNC_LOW;
        for(byte=0;byte<byteNumber;byte++)
        {
                SPI1->DR=data[byte];//
                SPI_I2S_GetFlagStatus(SPI1,SPI_I2S_FLAG_TXE);//
        }
        SYNC_HIGH;       
}


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
106
金钱
106
注册时间
2014-2-14
在线时间
23 小时
 楼主| 发表于 2016-8-15 17:53:13 | 显示全部楼层
这俩个图片分别是:直接转换编码0到4096的上升时间
回复 支持 反对

使用道具 举报

4

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
106
金钱
106
注册时间
2014-2-14
在线时间
23 小时
 楼主| 发表于 2016-8-15 17:54:07 | 显示全部楼层
回复 支持 反对

使用道具 举报

4

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
106
金钱
106
注册时间
2014-2-14
在线时间
23 小时
 楼主| 发表于 2016-8-15 17:54:54 | 显示全部楼层
图片发不上来。。。。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 15:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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