0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32F103控制ad7606采集程序分享

姚小熊27 ? 來源:網(wǎng)絡(luò)整理 ? 2018-05-21 11:31 ? 次閱讀

stm32f103系列性能

1. 速度,跟51和AVR相比,相當(dāng)快了。

2. 容量,目前能直接購買到512K FLASH的。

3. 管腳,64,100,144等,只可惜,小管腳(少于32腿的),沒有

4. RAM, 48K,跟AVR的4K相比,太龐大。

5. 外設(shè),5個(gè)USART,2個(gè)IIC,2個(gè)SPI,USB,等等,常用的都有。

6. 軟件,STM有自己的固件庫,可加速開發(fā),不用再細(xì)看寄存器。

ad7606特性

8/6/4路同步采樣輸入

真雙極性模擬輸入范圍: +10V, +5V

5V單模擬電源,VoRIVE: 2.3V至5V

完全集成的數(shù)據(jù)采集解決方案

模擬輸入箝位保護(hù)

具有1 MQ模擬輸入阻抗的輸入緩沖器

二階抗混疊模擬濾波器

片內(nèi)精密基準(zhǔn)電壓及緩沖

16位、200 kSPSADC (所有通道)

通過數(shù)字濾波器提供過采樣功能

靈活的并行/串行接口

SPI/QSPI“/MICROWIRE”/DSP兼容性能

模擬輸入通道提供7 kV ESD額定值

95.5dB SNR,-107dBTHD

士0.5LSBINL,+0.5LSB DNL

低功耗: 100 mW

待機(jī)模式: 25 mW

64引腳LQFP封裝

STM32F103控制ad7606采集程序分享

1、配置STM32F103的SPI口

void AD7606_Port_Init(void)

{

GPIO_InitTypeDef GPIO_InitStructure;

SPI_InitTypeDef SPI_InitStructure;

RCC_APB2PeriphClockCmd(AD_SPI_CS_GPIO_CLK | AD_SPI_MISO_GPIO_CLK | AD_SPI_SCK_GPIO_CLK, ENABLE);

RCC_APB1PeriphClockCmd(AD_SPI_CLK, ENABLE);

/////////////////////////SPI_CLK////////////////////////

GPIO_InitStructure.GPIO_Pin = AD_SPI_SCK_PIN;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;

GPIO_Init(AD_SPI_SCK_GPIO_PORT, &GPIO_InitStructure);

/////////////////////////SPI_MISO////////////////////////

GPIO_InitStructure.GPIO_Pin = AD_SPI_MISO_PIN;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;

GPIO_Init(AD_SPI_MISO_GPIO_PORT, &GPIO_InitStructure);

/////////////////////////SPI_CS////////////////////////

GPIO_InitStructure.GPIO_Pin = AD_SPI_CS_PIN;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

GPIO_Init(AD_SPI_CS_GPIO_PORT, &GPIO_InitStructure);

/////////////////////////SPI_3?ê??ˉ////////////////////////

SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;

SPI_InitStructure.SPI_Mode = SPI_Mode_Master;

SPI_InitStructure.SPI_DataSize = SPI_DataSize_16b;

SPI_InitStructure.SPI_CPOL = SPI_CPOL_High;

SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;

SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;

SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_32;

SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;

SPI_InitStructure.SPI_CRCPolynomial = 7;

SPI_Init(AD_SPI, &SPI_InitStructure);

SPI_Cmd(AD_SPI, ENABLE);

/////////////////////////AD7606_RESET////////////////////////

RCC_APB2PeriphClockCmd(AD_RESET_GPIO_CLK | AD_CONVT_GPIO_CLK , ENABLE);

GPIO_InitStructure.GPIO_Pin = AD_RESET_PIN;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

GPIO_Init(AD_RESET_GPIO_PORT, &GPIO_InitStructure);

/////////////////////////AD7606_CONVT////////////////////////

GPIO_InitStructure.GPIO_Pin = AD_CONVT_PIN;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

GPIO_Init(AD_CONVT_GPIO_PORT, &GPIO_InitStructure);

}

2、AD7606復(fù)位信號

void AD7606_Reset(void)

{

AD_RESET_LOW();

AD_RESET_HIGH();

AD_RESET_HIGH();

AD_RESET_HIGH();

AD_RESET_HIGH();

AD_RESET_LOW();

}

3、AD7606開始轉(zhuǎn)換信號

void AD7606_StartConvt(void)

{

AD_CONVT_LOW();

AD_CONVT_LOW();

AD_CONVT_LOW();

AD_CONVT_HIGH();

}

4、STM32F103讀取AD7606數(shù)據(jù)

short AD7606_ReadBytes(void)

{

short AD7606_Data = 0;

while (SPI_I2S_GetFlagStatus(AD_SPI, SPI_I2S_FLAG_TXE) == RESET)

{

}

SPI_I2S_SendData(AD_SPI, 0xFFFF);

while (SPI_I2S_GetFlagStatus(AD_SPI, SPI_I2S_FLAG_RXNE) == RESET)

{

}

AD7606_Data = SPI_I2S_ReceiveData(AD_SPI);

return AD7606_Data;

}

5、STM32F103讀取AD7606前CS拉低,拉高,重新開始轉(zhuǎn)換

void samp_return(void)

{

int j=0;

AD_SPI_CS_LOW();

for(j=0;j《6;j++)

{

AD7606_Return[j]=AD7606_ReadBytes();

}

AD_SPI_CS_HIGH();

//ads7606_Delay(100);

AD7606_StartConvt();

ads7606_Delay(200);

}

6、數(shù)據(jù)量轉(zhuǎn)化為模擬量公式

電壓=samp_sum_jiaoshudu_return[0]*10.0/32768/(2.5/2.5);//采用正負(fù)10電壓模擬輸入,參考電壓2.5V

7、主函數(shù)main中初始化AD7606

AD7606_Port_Init();

Adc_Init();

AD7606_Reset();

AD_SPI_CS_HIGH();

AD_CONVT_HIGH();

AD7606_StartConvt();

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • STM32F103
    +關(guān)注

    關(guān)注

    33

    文章

    475

    瀏覽量

    63209
  • AD7606
    +關(guān)注

    關(guān)注

    6

    文章

    48

    瀏覽量

    23173
收藏 人收藏

    評論

    相關(guān)推薦

    請問有用C語言或匯編來控制AD7606采集和讀取程序

    由于項(xiàng)目需求,用到貴公司的AD7606芯片進(jìn)行數(shù)據(jù)采集,用TI的MSP430F6459作為主控MCU,現(xiàn)在在寫AD7606控制程序,但一直
    發(fā)表于 01-15 11:40

    基于STM32F103的水格柵處理控制系統(tǒng)設(shè)計(jì)

    設(shè)計(jì)了一種基于STM32F103的水格柵控制系統(tǒng),給出了相應(yīng)的軟硬件設(shè)計(jì)方案,系統(tǒng)利用AD7450芯片來實(shí)現(xiàn)三通道AD的分時(shí)采集,利用STM32F103zet6(32bit-corte
    發(fā)表于 10-08 15:36 ?70次下載
    基于<b class='flag-5'>STM32F103</b>的水格柵處理<b class='flag-5'>控制</b>系統(tǒng)設(shè)計(jì)

    基于stm32f103的數(shù)據(jù)采集

    基于stm32f103的數(shù)據(jù)采集,將0-3.3v的電壓轉(zhuǎn)換成數(shù)字量
    發(fā)表于 05-06 16:43 ?53次下載

    AD7606_SPI例程(STM32F103

    利用STM32F103ZET和AD7606進(jìn)行同步采集源代碼。
    發(fā)表于 05-13 14:41 ?134次下載

    STM32F103芯片F(xiàn)FT程序

    STM32F103芯片使用DSP庫進(jìn)行FFT運(yùn)算的資料與程序。
    發(fā)表于 06-07 16:30 ?109次下載

    STM32F103使用總結(jié)

    STM32F103使用總結(jié)
    發(fā)表于 10-24 10:22 ?152次下載

    stm32f103移植

    stm32f103移植
    發(fā)表于 10-27 09:03 ?43次下載
    <b class='flag-5'>stm32f103</b>移植

    stm32f103采集四路ADC并且顯示到OLED上程序

    stm32f103采集四路ADC并且顯示到OLED上程序
    發(fā)表于 01-16 18:07 ?182次下載

    利用STM32多種型號和AD7606數(shù)據(jù)采集的源代碼系列資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是利用STM32多種型號和AD7606數(shù)據(jù)采集的源代碼系列資料免費(fèi)下載包括:AD7606 FSMC例程,SPI例程,51單片機(jī)例程。
    發(fā)表于 10-17 08:00 ?277次下載

    使用STM32F103單片機(jī)采集16路ADC的工程文件和程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用STM32F103單片機(jī)采集16路ADC的工程文件和程序免費(fèi)下載。
    發(fā)表于 09-26 08:00 ?31次下載
    使用<b class='flag-5'>STM32F103</b>單片機(jī)<b class='flag-5'>采集</b>16路ADC的工程文件和<b class='flag-5'>程序</b>免費(fèi)下載

    STM32F103 CAN模板程序

    STM32F103 CAN模板程序
    發(fā)表于 11-09 11:08 ?67次下載
    <b class='flag-5'>STM32F103</b> CAN模板<b class='flag-5'>程序</b>

    基于STM32f103的FFT頻率測試程序下載

    基于STM32f103的FFT頻率測試程序下載
    發(fā)表于 08-02 10:07 ?162次下載

    基于STM32F103的DAC8411驅(qū)動(dòng)程序

    基于STM32F103的DAC8411驅(qū)動(dòng)程序,親測可用,歡迎大家一起交流
    發(fā)表于 08-28 11:21 ?15次下載

    基于STM32AD7606的數(shù)據(jù)采集例程

    基于STM32AD7606的數(shù)據(jù)采集例程,內(nèi)涵STM32的。AD7606模組原理圖和接線圖。
    發(fā)表于 12-07 15:36 ?136次下載

    用于stm32f103 A/D信號采集的處理

    用于stm32f103 A/D信號采集的處理
    發(fā)表于 08-01 18:13 ?3次下載