欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1946|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

STM32 DAC輸出正弦波程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1091865 發(fā)表于 2024-1-4 10:23 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
基于野火STM3開發(fā)板
【*】 程序簡(jiǎn)介
-工程名稱:DAC 輸出正弦波
-實(shí)驗(yàn)平臺(tái): 野火STM32 F407 開發(fā)板
-MDK版本:5.16
-ST固件庫(kù)版本:1.8.0

【 !】功能簡(jiǎn)介:
使用STM32的DAC輸出正弦波.

學(xué)習(xí)目的:學(xué)會(huì)使用STM32 DAC,使用定時(shí)器觸發(fā)控制信號(hào)頻率

【 !】實(shí)驗(yàn)操作:

下載本程序,使用示波器檢測(cè)開發(fā)板的PA4、PA5引腳,可測(cè)得正弦波。

【 !】注意事項(xiàng):
PA4與攝像頭引腳共用,做本實(shí)驗(yàn)時(shí)不要與攝像頭同時(shí)使用。

跳線帽:PA5引腳與電容按鍵引腳共用,做本實(shí)驗(yàn)時(shí)把電容按鍵上方的跳線帽拔掉。

/*********************************************************************************************/

【*】 引腳分配

STM32引腳DAC直接引出。

    DAC_CH1<--->PA4
    DAC_CH2<--->PA5(注意要拔掉電容按鍵的跳帽)

串口(TTL-USB TO UART):
CH340的收發(fā)引腳與STM32的發(fā)收引腳相連。
    CH340  RXD  <----->  USART1  TX  (PA9)
    CH340  TXD  <----->  USART1  RX  (PA10)
   
【*】 程序描述

    <bsp_dac.c>
   
    1.通過腳本計(jì)算填充正弦波數(shù)據(jù)表
    2.使能DAC的時(shí)鐘,初始化GPIO
    3.配置DAC通道1、通道2
    4.配置TIM
    5.配置DMA
    6.DAC初始化函數(shù)
   
    為方便起見,我們使用了 Python 和 Matlab 腳本制作正弦波表,腳本的代碼存儲(chǔ)在本工程的目錄下
   
    本章實(shí)驗(yàn)中需要控制正弦波的頻率,就需要定時(shí)器定時(shí)觸發(fā)DAC進(jìn)行數(shù)據(jù)轉(zhuǎn)換
    v = sin(t)+1 ,此時(shí),v 的輸出范圍為 [0:2]
    v = 3.3*(sin(t)+1)/2 ,此時(shí),v 的輸出范圍為 [0:3.3]
    電壓值以 DAC 寄存器的形式表示:Reg_val = 2^12/3.3 * v = 2^11*(sin(t)+1),此時(shí),存儲(chǔ)到 DAC
寄存器的值范圍為 [0:4096]
    實(shí)踐證明,取 32 個(gè)點(diǎn)進(jìn)行電壓輸出已經(jīng)能較好地還原正弦波形
    正弦波頻率的計(jì)算方式:
    Tsystick = 1/84000000,
    定時(shí)器 TIM2 的單個(gè)時(shí)鐘周期:
    Ttim = (TIM_Prescaler + 1) × Tsystick,
    定時(shí)器觸發(fā)周期:
    Tupdate = (TIM_Period + 1) × Ttim,
    根據(jù)正弦波單個(gè)周期的點(diǎn)數(shù) N,求出正弦波單個(gè)周期時(shí)間為:
    Tsin = Tupdate × N,
    對(duì)應(yīng)正弦波的頻率為:
    fsin =1/Tsin=1/(Tsystick × (TIM_Prescaler + 1) × (TIM_Period + 1) × N)
    根據(jù)上述公式,代入本工程的配置,可得本實(shí)驗(yàn)中的正弦波頻率為 131250:
    fsin =1/Tsin=84000000/((0 + 1) × (19 + 1) × 32)= 131250
    在實(shí)際應(yīng)用中,可以根據(jù)工程里的正弦波點(diǎn)數(shù)和定時(shí)器配置生成特定頻率的正弦波。
   
    需要留意的是無(wú)論是要生成什么波形,一個(gè)周期內(nèi)的點(diǎn)數(shù)是和DAC外設(shè)最高輸出頻率有關(guān)系的
    若縮短時(shí)間間隔,提高單個(gè)周期內(nèi)的輸出點(diǎn)數(shù),可以得到逼近連續(xù)正弦波的圖形
   
/*********************************************************************************************/

【*】 時(shí)鐘

A.晶振:
-外部高速晶振:25MHz
-RTC晶振:32.768KHz

B.各總線運(yùn)行時(shí)鐘:
-系統(tǒng)時(shí)鐘 = SYCCLK = AHB1 = 168MHz
-APB2 = 84MHz
-APB1 = 42MHz

C.浮點(diǎn)運(yùn)算單元:
  不使用

原理圖: 無(wú)
仿真: 無(wú)
代碼: DAC—輸出正弦波.7z (1.06 MB, 下載次數(shù): 20)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表