在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

第十五章 DAC (下篇)

W55MH32 ? 來源:W55MH32 ? 作者:W55MH32 ? 2025-05-28 15:39 ? 次閱讀

單芯片解決方案,開啟全新體驗——W55MH32 高性能以太網單片機

W55MH32是WIZnet重磅推出的高性能以太網單片機,它為用戶帶來前所未有的集成化體驗。這顆芯片將強大的組件集于一身,具體來說,一顆W55MH32內置高性能Arm? Cortex-M3核心,其主頻最高可達216MHz;配備1024KB FLASH與96KB SRAM,滿足存儲與數據處理需求;集成TOE引擎,包含WIZnet全硬件TCP/IP協議棧、內置MAC以及PHY,擁有獨立的32KB以太網收發緩存,可供8個獨立硬件socket使用。如此配置,真正實現了All-in-One解決方案,為開發者提供極大便利。

在封裝規格上,W55MH32 提供了兩種選擇:QFN68和QFN100。

W55MH32Q采用QFN68封裝版本,尺寸為8x8mm,它擁有36個GPIO、3個ADC、12通道DMA、17個定時器、2個I2C、3個串口、2個SPI接口(其中1個帶I2S接口復用)、1個CAN以及1個USB2.0。在保持與同系列其他版本一致的核心性能基礎上,僅減少了部分GPIO以及SDIO接口,其他參數保持一致,性價比優勢顯著,尤其適合網關模組等對空間布局要求較高的場景。緊湊的尺寸和精簡化外設配置,使其能夠在有限空間內實現高效的網絡連接與數據交互,成為物聯網網關、邊緣計算節點等緊湊型設備的理想選擇。 同系列還有QFN100封裝的W55MH32L版本,該版本擁有更豐富的外設資源,適用于需要多接口擴展的復雜工控場景,軟件使用方法一致。更多信息和資料請進入http://www.w5500.com/網站或者私信獲取。

此外,本W55MH32支持硬件加密算法單元,WIZnet還推出TOE+SSL應用,涵蓋TCP SSL、HTTP SSL以及MQTT SSL等,為網絡通信安全再添保障。

為助力開發者快速上手與深入開發,基于W55MH32Q這顆芯片,WIZnet精心打造了配套開發板。開發板集成WIZ-Link芯片,借助一根USB C口數據線,就能輕松實現調試、下載以及串口打印日志等功能。開發板將所有外設全部引出,拓展功能也大幅提升,便于開發者全面評估芯片性能。

若您想獲取芯片和開發板的更多詳細信息,包括產品特性、技術參數以及價格等,歡迎訪問官方網頁:http://www.w5500.com/,我們期待與您共同探索W55MH32的無限可能。

wKgZO2gbOfaAVPzkACJSygzv-rI600.png

第十五章 DAC (下篇)

1 程序設計

1.1 DAC_OutDMASineWave例程

此例程的主要功能是借助 W55MH32 的 DAC(數模轉換器)輸出軟件正弦波,并且通過串口輸出系統時鐘信息。下面是其主要工作流程:

1.初始化配置

?使能系統時鐘,配置串口(波特率 115200)輸出調試信息。

?初始化 GPIO、DAC(通道 1/2)、定時器 TIM2(周期 為20個時鐘周期)及 DMA(循環模式)。

2.正弦波生成

void DMA_Configuration(void)
{
    DMA_InitTypeDef DMA_InitStructure;
    // 使能DMA2時鐘
    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA2, ENABLE);

    // 配置DMA通道4(DAC2)
    DMA_InitStructure.DMA_PeripheralBaseAddr = DAC2_DHR12RD_ADDRESS; // DAC2寄存器地址
    DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)&DualSine12bit; // 數據源:雙通道數據數組
    DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST; // 內存到外設
    DMA_InitStructure.DMA_BufferSize = POINT_NUM; // 傳輸32點
    DMA_InitStructure.DMA_Mode = DMA_Mode_Circular; // 循環模式,持續輸出
    DMA_Init(DMA2_Channel4, &DMA_InitStructure);
    DMA_Cmd(DMA2_Channel4, ENABLE);

    // 配置DMA通道3(DAC1,參數與通道4相同)
    DMA_InitStructure.DMA_PeripheralBaseAddr = DAC1_DHR12RD_ADDRESS;
    DMA_Init(DMA2_Channel3, &DMA_InitStructure);
    DMA_Cmd(DMA2_Channel3, ENABLE);
}

?通過 12 位正弦波數據數組Sine12bit(32 點),生成雙通道 DAC 數據DualSine12bit。

3.工作流程

?TIM2 以設定周期觸發 DMA,將正弦波數據循環傳輸至 DAC,驅動模擬輸出。

?主循環保持運行,實現連續波形輸出。

4.調試功能

?串口輸出系統各時鐘頻率,便于調試。

1.2 DAC_OutNoiseWave例程

這個例程的主要作用是利用 W55MH32 的 DAC(數模轉換器)輸出噪聲波信號,同時通過串口輸出系統時鐘信息以方便調試。以下是具體作用的詳細闡述:

1. 系統初始化與信息輸出

?時鐘與延時初始化:開啟 CRC 時鐘,進行延時初始化,為后續操作提供時鐘基礎。

?串口通信配置:將串口波特率設置為 115200,對 GPIO 和 USART 進行初始化,實現串口通信功能。

?時鐘信息輸出:獲取系統時鐘頻率,把系統時鐘、HCLK、PCLK1、PCLK2 和 ADCCLK 的頻率信息通過串口輸出,方便開發人員了解系統時鐘狀態。

2.噪聲波信號輸出

 // GPIO配置函數(DAC輸出引腳)
void GPIO_Configuration(void)
{
    GPIO_InitTypeDef GPIO_InitStructure;

    // 使能GPIOA時鐘(DAC通道1/2對應PA4/PA5)
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

    // 配置PA4和PA5為模擬輸入模式(內部連接DAC輸出)
    GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_4 | GPIO_Pin_5;
    GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_AIN; // 模擬輸入模式(無需上拉/下拉)
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOA, &GPIO_InitStructure);
}

// DAC配置函數(噪聲波模式)
void DAC_Configuration(void)
{
    DAC_InitTypeDef DAC_InitStructure;

    // 使能DAC時鐘(APB1總線)
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE);

    // 配置DAC通道1和2為噪聲波模式
    DAC_InitStructure.DAC_Trigger                      = DAC_Trigger_Software; // 軟件觸發(非自動觸發)
    DAC_InitStructure.DAC_WaveGeneration               = DAC_WaveGeneration_Noise; // 啟用噪聲波生成
    DAC_InitStructure.DAC_LFSRUnmask_TriangleAmplitude = DAC_TriangleAmplitude_4095; // 噪聲波幅度(全范圍)
    DAC_InitStructure.DAC_OutputBuffer                 = DAC_OutputBuffer_Enable; // 使能輸出緩沖(提高驅動能力)

    // 初始化DAC通道1和2
    DAC_Init(DAC_Channel_1, &DAC_InitStructure);
    DAC_Init(DAC_Channel_2, &DAC_InitStructure);

    // 使能DAC通道
    DAC_Cmd(DAC_Channel_1, ENABLE);
    DAC_Cmd(DAC_Channel_2, ENABLE);

    // 設置初始輸出數據(12位左對齊,值為0x7FF0,即32784/4096=8.0V?需根據參考電壓調整)
    DAC_SetChannel1Data(DAC_Align_12b_L, 0x7FF0); // 通道1初始值
    DAC_SetChannel2Data(DAC_Align_12b_L, 0x7FF0); // 通道2初始值
}

 

?GPIO 配置:使能 GPIOA 時鐘,把 PA4 和 PA5 引腳配置成模擬輸入模式,作為 DAC 的輸出引腳。

?DAC 配置:使能 DAC 時鐘,將 DAC 通道 1 和通道 2 配置成軟件觸發模式,并且設置為噪聲波生成模式。同時,開啟輸出緩沖,把初始數據設置為 0x7FF0。

?噪聲波輸出:在主循環里,持續對 DAC 通道 1 和通道 2 進行軟件觸發,從而讓 PA4 和 PA5 引腳持續輸出模擬的噪聲波信號。

3. 輸出重定向

?實現SER_PutChar和fputc函數,把printf函數的輸出重定向到串口,方便開發人員通過串口輸出調試信息。

綜上所述,該例程可用于測試和驗證 W55MH32 的 DAC 模塊輸出噪聲波的功能,也可作為開發基于 DAC 輸出噪聲波應用的基礎代碼。

1.3 DAC_OutTriangleWave例程

該例程通過初始化系統時鐘、串口、GPIO和DAC,利用軟件觸發DAC生成并輸出雙通道三角波信號,同時將系統時鐘信息通過串口輸出,用于驗證DAC功能和作為信號源開發基礎。以下是具體作用的詳細闡述:

1.初始化配置

?使能系統時鐘并配置串口(波特率 115200)輸出系統時鐘頻率(SYSCLK/HCLK/PCLK1/PCLK2/ADCCLK)。

?初始化 GPIOA 的 PA4/PA5 為模擬輸入模式,作為 DAC 輸出引腳。

2.三角波生成配置

// DAC配置函數:啟用硬件三角波生成
void DAC_Configuration(void)
{
    DAC_InitTypeDef DAC_InitStructure;
    // 使能DAC時鐘(APB1總線)
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE);
    
    // 配置DAC為軟件觸發模式,啟用三角波生成
    DAC_InitStructure.DAC_Trigger = DAC_Trigger_Software; // 軟件觸發(需手動調用觸發函數)
    DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_Triangle; // 三角波模式
    DAC_InitStructure.DAC_LFSRUnmask_TriangleAmplitude = DAC_TriangleAmplitude_2047; // 幅度設置為2047(半滿量程,12位)
    DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Enable; // 使能輸出緩沖(增強驅動能力)
    
    // 初始化DAC通道1和2
    DAC_Init(DAC_Channel_1, &DAC_InitStructure);
    DAC_Init(DAC_Channel_2, &DAC_InitStructure);
    
    // 使能DAC通道
    DAC_Cmd(DAC_Channel_1, ENABLE);
    DAC_Cmd(DAC_Channel_2, ENABLE);
    
    // 設置初始數據為0(三角波起點)
    DAC_SetChannel1Data(DAC_Align_12b_L, 0); // 12位左對齊,值為0
    DAC_SetChannel2Data(DAC_Align_12b_L, 0);
}

?DAC 配置為軟件觸發模式,啟用硬件三角波生成功能。

?設置三角波幅度為 2047(12 位半滿量程,對應約 1.65V 峰峰值),輸出緩沖使能。

?初始通道數據設為 0,作為波形起點。

3.工作流程

int main(void)
{
    // ...(初始化代碼略)...
    
    printf("DAC Out Triangle Wave Test.n"); // 打印測試提示
    
    while (1)
    {
        // 軟件觸發DAC通道1和2轉換(生成三角波)
        DAC_SoftwareTriggerCmd(DAC_Channel_1, ENABLE);
        DAC_SoftwareTriggerCmd(DAC_Channel_2, ENABLE);
        
        // 循環觸發,頻率由主循環速度決定(需結合延時調整,當前為無延時快速觸發)
    }
}

?主循環無限觸發 DAC 軟件轉換,PA4/PA5 引腳輸出連續三角波信號(0→2047→0 循環)。

?三角波頻率由軟件觸發速率決定,需通過示波器觀察波形。

4.調試功能

?串口輸出系統時鐘信息,便于驗證硬件配置。

2 下載驗證

1.1 DAC_OutDMASineWave例程

程序運行后,首先會通過串口輸出系統時鐘相關頻率信息,告知用戶SYSCLK、HCLK、PCLK1、PCLK2和ADCCLK的頻率,同時提示“DAC Out Software Sine Wave Test.”信息:

wKgZPGg2uY2AGfApAAByEj1jhyI665.png

接著,GPIO、DAC、定時器和DMA完成配置,定時器TIM2按照設定的周期觸發,借助DMA將正弦波數據循環傳輸到DAC通道1和通道2,使PA4和PA5引腳持續輸出模擬的正弦波信號,之后程序進入無限循環以維持正弦波的穩定輸出:

wKgZPGg2uYiAL8B3AAC3EVCdbM8239.png

1.2 DAC_OutNoiseWave例程

程序運行后,首先通過串口輸出系統各時鐘頻率信息(如SYSCLK、HCLK等),并提示“DAC Out Noise Wave Test.”:

wKgZPGg2uYiAdgu5AABvhHBXtf4279.png

隨后,PA4和PA5引腳持續輸出由DAC內部LFSR生成的12位隨機噪聲波信號,電壓值在0-3.3V范圍內無規律波動。主循環通過軟件觸發DAC連續轉換,保持波形輸出,需通過示波器觀察模擬信號變化:

1.3 DAC_OutTriangleWave例程

程序運行后,首先通過串口輸出系統時鐘頻率信息,包SYSCLK、HCLK、PCLK1、PCLK2和ADCCLK的頻率,同時提示進行DAC輸出三角波測試:

wKgZO2g2uYiAIlBNAABq_mdlROg668.png

之后,GPIO和DAC完成配置,主循環中持續對DAC通道1和通道2進行軟件觸發,使得PA4和PA5引腳持續輸出模擬三角波信號,該信號幅度為2047(對應12位),并以初始值0為起點進行周期性的上升和下降變化,可使用示波器觀察到該連續穩定的三角波波形:

wKgZO2g2uYiAXETWAACzxvRRJ44191.png

WIZnet 是一家無晶圓廠半導體公司,成立于 1998 年。產品包括互聯網處理器 iMCU?,它采用 TOE(TCP/IP 卸載引擎)技術,基于獨特的專利全硬連線 TCP/IP。iMCU? 面向各種應用中的嵌入式互聯網設備。

WIZnet 在全球擁有 70 多家分銷商,在香港、韓國、美國設有辦事處,提供技術支持和產品營銷。

香港辦事處管理的區域包括:澳大利亞、印度、土耳其、亞洲(韓國和日本除外)。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6061

    文章

    44910

    瀏覽量

    646508
  • 物聯網
    +關注

    關注

    2927

    文章

    45842

    瀏覽量

    387552
  • dac
    dac
    +關注

    關注

    43

    文章

    2376

    瀏覽量

    192982
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    第十五章 DAC (上篇)

    文章介紹了基于W55MH32的DAC(數字/模擬轉換器)上篇內容,其為12位轉換器,有2通道,支持8/12位模式、DMA等,具噪聲和三角波生成等功能,還介紹了DAC_OutAudio例程的配置與驗證。
    的頭像 發表于 05-28 15:07 ?253次閱讀
    <b class='flag-5'>第十五章</b> <b class='flag-5'>DAC</b> (上篇)

    《DNK210使用指南 -CanMV版 V1.0》第十五章 按鍵中斷實驗

    第十五章 按鍵中斷實驗 本章實驗將介紹如何使用CanMV讓Kendryte K210通過中斷的方式獲取板載按鍵的狀態。通過本章的學習,讀者將學習到在CanMV下Kendryte K210的GPIO
    發表于 10-12 09:20

    至芯科技之altera 系列FPGA教程 第十五篇 安裝驅動

    至芯科技之altera 系列FPGA教程 第十五篇 安裝驅動
    發表于 08-11 03:34

    視頻詳解:上海尤老師verilog入門到實戰第十五

    本帖最后由 春哥哥 于 2016-10-10 17:48 編輯 上海尤老師verilog入門到實戰第十五課——無線通信中的升采樣過程中的頻譜搬遷過程;百度云網盤鏈接后綴:/s/1i5kCpXb,加群討論252520964,307510678
    發表于 10-10 10:42

    基于RFID和MySQL實現小區門禁系統

    第十五章 用RFID+MySQL實現小區門禁系統(RFID522+ESP8266-12N+1602LCD)(Arduino邊做邊學:從點亮Led到物聯網)
    發表于 06-24 08:26

    「正點原子Linux連載」第十五章按鍵輸入試驗

    1)實驗平臺:正點原子Linux開發板2)摘自《正點原子I.MX6U嵌入式Linux驅動開發指南》關注官方微信號公眾號,獲取更多資料:正點原子第十五章按鍵輸入試驗 前面幾章試驗都是講解
    發表于 12-21 12:11

    第十五屆智能車入門淺談 精選資料分享

    @TOC第十五屆智能車入門淺談寫博客原因這次第十五屆全國智能車大賽已經結束了,對于我而言,確實是我大學中一個不可多得的經歷,我希望我的這段經歷可以保存下來通過博客的形式,同時可以對于其他人有幫助
    發表于 07-28 06:02

    第十五講 組合邏輯電路的分析方法和設計方法

    第十五講 組合邏輯電路的分析方法和設計方法 6.1概述組合邏輯電路:定義構成電路特點6.2.1組合邏輯電路的分析方法
    發表于 03-30 16:21 ?4936次閱讀
    <b class='flag-5'>第十五</b>講 組合邏輯電路的分析方法和設計方法

    模擬電路網絡課件 第十五節:單級放大電路的瞬態響應

    模擬電路網絡課件 第十五節:單級放大電路的瞬態響應 3.8 單級放大電路的瞬態響應
    發表于 09-17 10:18 ?867次閱讀
    模擬電路網絡課件 <b class='flag-5'>第十五</b>節:單級放大電路的瞬態響應

    【正點原子FPGA連載】第二十五章HDMI方塊移動實驗 -摘自【正點原子】新起點之FPGA開發指南_V2.1

    【正點原子FPGA連載】第二十五章HDMI方塊移動實驗 -摘自【正點原子】新起點之FPGA開發指南_V2.1
    發表于 11-24 14:36 ?13次下載
    【正點原子FPGA連載】第二<b class='flag-5'>十五章</b>HDMI方塊移動實驗 -摘自【正點原子】新起點之FPGA開發指南_V2.1

    第十五屆智能車入門淺談

    @TOC第十五屆智能車入門淺談寫博客原因這次第十五屆全國智能車大賽已經結束了,對于我而言,確實是我大學中一個不可多得的經歷,我希望我的這段經歷可以保存下來通過博客的形式,同時可以對于其他人有幫助
    發表于 11-26 12:36 ?16次下載
    <b class='flag-5'>第十五</b>屆智能車入門淺談

    【正點原子FPGA連載】第三十五章高速AD/DA實驗 -摘自【正點原子】新起點之FPGA開發指南_V2.1

    【正點原子FPGA連載】第三十五章高速AD/DA實驗 -摘自【正點原子】新起點之FPGA開發指南_V2.1
    發表于 12-04 15:06 ?12次下載
    【正點原子FPGA連載】第三<b class='flag-5'>十五章</b>高速AD/DA實驗 -摘自【正點原子】新起點之FPGA開發指南_V2.1

    【正點原子FPGA連載】第十五章 窗口門狗(WWDG)實驗 -摘自【正點原子】新起點之FPGA開發指南_V2.1

    【正點原子FPGA連載】第十五章 窗口門狗(WWDG)實驗 -摘自【正點原子】新起點之FPGA開發指南_V2.1
    發表于 12-05 11:21 ?12次下載
    【正點原子FPGA連載】<b class='flag-5'>第十五章</b> 窗口門狗(WWDG)實驗 -摘自【正點原子】新起點之FPGA開發指南_V2.1

    深度參與,共話未來 —— 吹田電氣亮相第十五屆亞洲電源技術發展論壇

    在這個金秋時節,吹田電氣帶著對電源技術的無限熱愛與追求,我們啟程前往第十五屆亞洲電源技術發展論壇的盛會。在這場匯聚了行業精英、學者與前沿技術的盛會中,我們不僅僅見證了電源技術的最新進展,更與眾多同行
    的頭像 發表于 12-09 16:58 ?660次閱讀
    深度參與,共話未來 —— 吹田電氣亮相<b class='flag-5'>第十五</b>屆亞洲電源技術發展論壇

    銳馳智光亮相第十五屆交博會

    2025年4月23日,第十五屆中國國際道路交通安全博覽會(以下簡稱“交博會”)在武漢國際博覽中心盛大啟幕。
    的頭像 發表于 04-24 17:12 ?328次閱讀
    主站蜘蛛池模板: 免费播放视频 | 久热精品在线视频 | 久久久精品免费观看 | 亚洲福利一区二区三区 | 亚洲午夜免费视频 | 欧美另类videos | 国产免费一级高清淫日本片 | 国产一级特黄特色aa毛片 | 天堂中文字幕在线 | 黄色网址日本 | 久久精品草 | 18年大片免费在线 | 日本在线视频不卡 | 午夜免费啪视频观看网站 | 久久精品国产亚洲5555 | 亚洲一区二区免费视频 | 成人黄网大全在线观看 | 欧美一二三区在线 | 黄色的视频网站 | 国产三级在线观看免费 | 国产婷婷综合丁香亚洲欧洲 | 婷婷激情电影 | 欧美性色黄在线视 | 亚洲va久久久久综合 | 77久久| 亚洲伦理中文字幕一区 | 国产乱理论片在线观看理论 | 亚洲一卡2卡4卡5卡6卡在线99 | 国产成人优优影院 | 国产久爱青草视频在线观看 | 国产精品久久自在自2021 | bt磁力在线搜索 | 国产精品四虎在线观看免费 | 亚洲国产婷婷综合在线精品 | 午夜视频在线观看完整高清在线 | 亚洲地址一地址二地址三 | 婷婷了五月色香综合缴情 | 欧美激情综合亚洲五月蜜桃 | 潘金莲国产三级视频在线 | 一级毛片美国一级j毛片不卡 | 青草青青产国视频在线 |