哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

瑞薩RA系列FSP庫開發(fā)實戰(zhàn)指南之電壓值轉(zhuǎn)換和生成正弦波數(shù)據(jù)表

瑞薩嵌入式小百科 ? 來源:野火電子 ? 2026-04-11 16:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

26.3

電壓值轉(zhuǎn)換

如果我們直接通過輸入一個有效位數(shù)為12位的數(shù)字值,通過DAC來輸出其相應的電壓,這樣并沒有那么直觀。但是如果我們可以輸入一個電壓值,然后通過軟件代碼把這個電壓轉(zhuǎn)換為與其對應的數(shù)字值,再把這個數(shù)字值寫入DA數(shù)據(jù)寄存器,這樣中間經(jīng)過了一個電壓值到DA數(shù)據(jù)寄存器值的映射轉(zhuǎn)換,可以讓我們設置DAC輸出電壓時變得更加直觀

那么如何實現(xiàn)這樣的轉(zhuǎn)換呢?以下是D/A數(shù)據(jù)寄存器值與輸出電壓值之間的轉(zhuǎn)換公式:

168dfeb6-3493-11f1-90a1-92fbcf53809c.png

點擊可查看大圖

因此在ADC轉(zhuǎn)換完成之后,我們可以調(diào)用FSP庫函數(shù)R_ADC_Read(),從ADC的數(shù)據(jù)寄存器里讀出上述等式中X的值,從而再經(jīng)過計算得出對應的電壓值。

在上面的公式中:

3.3V表示的是D/A轉(zhuǎn)換的參考基準電壓為3.3V;

“Output Voltage”為要輸出的目標電壓值;

4096等于2的12次方,對應的是DAC的分辨率是12位;

“Setting in DADRn”表示的是輸出目標電壓值對應需要設置的DA數(shù)據(jù)寄存器值的值。

最終,我們根據(jù)上面的公式寫成如下的函數(shù)。函數(shù)中最后一行通過調(diào)用FSP庫函數(shù)R_DAC_Write()計算結(jié)果即“Setting in DADRn”的值寫入DA數(shù)據(jù)寄存器。

左右滑動查看完整內(nèi)容

/**
*@brief設置當前的電壓
*@param需要控制的電壓(范圍為0~3.3V)
*@retval無
*/
voidDAC_SetVoltage(float voltage)
{
uint16_t dac_data;
dac_data = (uint16_t)(4096*((voltage)/3.3f));
R_DAC_Write(&g_dac0_ctrl, dac_data);
}

26.4

生成正弦波數(shù)據(jù)表

要輸出正弦波,實質(zhì)是要控制DAC以v=sin(t)的正弦函數(shù)關(guān)系輸出電壓,其中v為電壓輸出,t為時間。

而由于模擬信號連續(xù)而數(shù)字信號是離散的,所以使用DAC產(chǎn)生正弦波時,只能按一定時間間隔輸出正弦曲線上的點,在該時間段內(nèi)輸出相同的電壓值,若縮短時間間隔,提高單個周期內(nèi)的輸出點數(shù),可以得到逼近連續(xù)正弦波的圖形,見圖26_3,若在外部電路加上適當?shù)?a href="http://m.greenbey.cn/tags/電容濾波/" target="_blank">電容濾波,可得到更完美的圖形。

16e6dfc2-3493-11f1-90a1-92fbcf53809c.png

圖26?3 DAC按點輸出正弦波數(shù)據(jù)

(左:32個點,右:128個點)

由于正弦曲線是周期函數(shù),所以只需要得到單個周期內(nèi)的數(shù)據(jù)后按周期重復即可,而單個周期內(nèi)取樣輸出的點數(shù)又是有限的,所以為了得到呈v=sin(t)函數(shù)關(guān)系電壓值的數(shù)據(jù)通常不會實時計算獲取,而是預先計算好函數(shù)單個周期內(nèi)的電壓數(shù)據(jù)表,并且轉(zhuǎn)化成以DAC寄存器表示的值。

如sin函數(shù)值的范圍為[-1: +1],而RA6M5的DAC輸出電壓范圍為[0~3.3]V,按12位DAC分辨率表示的方法,可寫入寄存器的最大值為212=4096,即范圍為[0:4096]。所以,實際輸出時,會進行如下處理:

1)抬升sin函數(shù)的輸出為正值:v=sin(t)+1,此時,v的輸出范圍為[0:2];

2)擴展輸出至DAC的全電壓范圍:v=3.3*(sin(t)+1)/2,此時,v的輸出范圍為[0:3.3],正是DAC的電壓輸出范圍,擴展至全電壓范圍可以充分利用DAC的分辨率;

3)把電壓值以DAC寄存器的形式表示:Reg_val=212/3.3 * v=211*(sin(t)+1),此時,存儲到DAC寄存器的值范圍為[0:4095];

4)實踐證明,在sin(t)的單個周期內(nèi),取32個點進行電壓輸出已經(jīng)能較好地還原正弦波形,所以在t∈[0:2π]區(qū)間內(nèi)等間距根據(jù)上述Reg_val公式運算得到32個寄存器值,即可得到正弦波表;

5)控制DAC輸出時,每隔一段相同的時間從上述正弦波表中取出一個新數(shù)據(jù)進行輸出,即可輸出正弦波。改變間隔時間的單位長度,可以改變正弦波曲線的周期。

為方便起見,我們使用了PythonMatlab腳本制作正弦波表,腳本的代碼存儲在本工程的目錄下,感興趣可以打開文件查看,以下列出Python腳本代碼,見代碼清單26?1。

列表1:代碼清單26?1

制作正弦波數(shù)據(jù)表的python腳本

(工程目錄下的sinWave.py文件)

左右滑動查看完整內(nèi)容

#! python3
#coding=utf-8
"""
Python 版本:3.x
外部庫:matplotlib1.5.3、numpy1.11.2
運行方式:
在命令行中輸入:python sinWave.py
運行結(jié)果:
命令行中會打印計算得的各點數(shù)據(jù),
在當前目錄下會生成py_dac_sinWav.c 文件,包含上述數(shù)據(jù),
并且會彈出描繪曲線的對話框。
"""
importmatplotlib.pyplotasplt
importnumpyasnp
importmath
# 修改本變量可以更改點數(shù),如16、32、64 等
POINT_NUM =32
pi = math.pi
# 一個周期POINT_NUM 個點
n = np.linspace(0,2*pi,POINT_NUM)
# 計算POINT_NUM 個點的正弦值
a =map(math.sin,n)
r =[]
foriina:
# 調(diào)整幅值至在0~1 區(qū)間
i+=1
# 按3.3V 電壓調(diào)整幅值
i*=3.3/2
# 求取dac 數(shù)值,12 位dac LSB = 3.3V/2**12
ri =round(i*2**12/3.3)
# 檢查參數(shù)
ifri >=4095:
ri =4095
# 得到dac 數(shù)值序列
r.append( ri )
print(list(map(int,r)))
# 寫入序列到文件
withopen("py_dac_sinWav.c",'w',encoding='gb2312')asf:
print(list(map(int,r)),file= f)
# 繪圖
plt.plot(n,r,"-o")
plt.show()

Python腳本的實現(xiàn)原理就是前面介紹的正弦波數(shù)據(jù)表的制作過程,運行后,該腳本把得到的正弦波表數(shù)據(jù)輸出到目錄下的py_dac_sinWav.c文件中,見代碼清單26?2,并且根據(jù)取樣點描繪出示意圖,見圖26?4。Matlab腳本原理相同,此處不再列出,使用C語言也能制作正弦波表。

列表2:代碼清單26?2 生成的正弦波數(shù)據(jù)表

左右滑動查看完整內(nèi)容

[2048, 2460, 2856, 3218, 3532, 3786, 3969, 4072, 4093, 4031, 3887, 3668,
3382, 3042, 2661, 2255, 1841, 1435, 1054, 714, 428, 209, 65, 3, 24, 127,
310, 564, 878, 1240, 1636, 2048]
1796040c-3493-11f1-90a1-92fbcf53809c.png

圖26?4 python腳本根據(jù)正弦波表描繪的曲線圖

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

    關(guān)注

    31

    文章

    5616

    瀏覽量

    130347
  • 正弦波
    +關(guān)注

    關(guān)注

    11

    文章

    662

    瀏覽量

    59288
  • dac
    dac
    +關(guān)注

    關(guān)注

    44

    文章

    2818

    瀏覽量

    197528
  • 輸出電壓
    +關(guān)注

    關(guān)注

    2

    文章

    2051

    瀏覽量

    41266

原文標題:電壓值轉(zhuǎn)換&生成正弦波數(shù)據(jù)表——瑞薩RA系列FSP庫開發(fā)實戰(zhàn)指南(95)

文章出處:【微信號:瑞薩嵌入式小百科,微信公眾號:瑞薩嵌入式小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    RA系列FSP開發(fā)實戰(zhàn)指南I2C讀寫EEPROM實驗

    使用官方提供的FPS進行編程,官方提供的FPS具有方便、快捷、簡潔的特性。
    的頭像 發(fā)表于 01-27 10:02 ?3710次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b><b class='flag-5'>系列</b><b class='flag-5'>FSP</b><b class='flag-5'>庫</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實戰(zhàn)</b><b class='flag-5'>指南</b><b class='flag-5'>之</b>I2C讀寫EEPROM實驗

    e2studio(1)----芯片搭建FSP環(huán)境

    視頻教學 樣品申請 請勿添加外鏈 e2studio軟件 e2studio是的集成開發(fā)環(huán)境,FSP 提供了眾多可提高效率的工具,用于開發(fā)
    發(fā)表于 09-30 15:28

    我的正弦波數(shù)據(jù)生成

    我的正弦波數(shù)據(jù)生成
    發(fā)表于 09-23 15:21

    正弦波數(shù)據(jù)生成

    正弦波數(shù)據(jù)生成
    發(fā)表于 09-21 19:34

    正弦波數(shù)據(jù)生成

    正弦波數(shù)據(jù)生成
    發(fā)表于 09-21 19:37

    如何用matlab生成正弦波數(shù)據(jù)?

    如何用matlab生成正弦波數(shù)據(jù)
    發(fā)表于 11-22 07:15

    RA4系列開發(fā)板體驗】開發(fā)環(huán)境搭建和新手點燈指南

    RA4系列開發(fā)板體驗】開發(fā)環(huán)境搭建和新手點燈指南
    發(fā)表于 11-24 22:54

    RA4系列開發(fā)板體驗】7. 用DAC輸出正弦波以及余弦波

    之前發(fā)帖:【RA4系列開發(fā)板體驗】1. 新建工程+按鍵控制LED【
    發(fā)表于 12-09 22:56

    RA4系列開發(fā)板體驗】10. 我的試用總結(jié)

    測量搖桿模塊偏移量【RA4系列開發(fā)板體驗】7. 用DAC輸出正弦波以及余弦波【
    發(fā)表于 12-10 22:34

    RA4系列開發(fā)板體驗】體驗過程

    、使用 RASC 生成 Keil 工程+點亮LED參照“ 【RA4系列開發(fā)板體驗】2. 使用
    發(fā)表于 12-18 16:20

    正弦波數(shù)據(jù)生成器(正弦波

    網(wǎng)上共享 的 , 正弦波數(shù)據(jù)生成器(正弦波
    發(fā)表于 11-17 11:46 ?145次下載

    e2studio(1)----芯片搭建FSP環(huán)境

    e2studio是的集成開發(fā)環(huán)境,FSP 提供了眾多可提高效率的工具,用于開發(fā)針對
    的頭像 發(fā)表于 11-14 17:08 ?3386次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b>e2studio(1)----<b class='flag-5'>瑞</b><b class='flag-5'>薩</b>芯片<b class='flag-5'>之</b>搭建<b class='flag-5'>FSP</b>環(huán)境

    【有獎直播預報名】電子RA系列產(chǎn)品開發(fā)工具FSP4.0.0新特性介紹

    為使用電子RA系列ARM微控制器的嵌入式系統(tǒng)設計提供簡單易用且可擴展的高質(zhì)量軟件。 直播主題
    的頭像 發(fā)表于 11-22 12:20 ?1655次閱讀

    【視頻教程】RA單片機FSP開發(fā)(3)FSP架構(gòu)-解釋Blinky架構(gòu)[上]

    干貨分享 前篇回顧 【視頻教程】RA單片機FSP開發(fā)(1)環(huán)境搭建(帶RASC) 【視頻教程】
    的頭像 發(fā)表于 12-06 12:15 ?2089次閱讀

    電子RA系列微控制器的可擴展性強的配置軟件包 (FSP)安裝下載與使用指南

    電子RA系列微控制器的可擴展性強的配置軟件包 (FSP)安裝下載與使用指南
    的頭像 發(fā)表于 06-11 17:21 ?2155次閱讀
    凤山市| 连云港市| 台北市| 大荔县| 防城港市| 什邡市| 大足县| 海安县| 楚雄市| 黑山县| 洞口县| 屏东县| 石台县| 神木县| 泰州市| 大足县| 青铜峡市| 洪江市| 福海县| 和林格尔县| 西丰县| 利川市| 班玛县| 大城县| 延吉市| 溆浦县| 峨眉山市| 大厂| 政和县| 鹤山市| 府谷县| 佛坪县| 西盟| 辛集市| 大连市| 绥化市| 乐平市| 南平市| 舒城县| 启东市| 东港市|