国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于STM32 ARM+FPGA的電能質(zhì)量分析儀方案(二)軟件設計

這篇具有很好參考價值的文章主要介紹了基于STM32 ARM+FPGA的電能質(zhì)量分析儀方案(二)軟件設計。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

本部分主要介紹 FPGA+ARM 控制部分的軟件設計。 FPGA+ARM 控制部分包括 Verilog
HDL 硬件描述語言和 C 語言的開發(fā)。 FPGA 部分主要控制 AD7606 模數(shù)轉(zhuǎn)換、數(shù)字三相鎖相
環(huán)和FFT諧波計算模塊、 SDRAM 控制器的設計、 FSMC 接口模塊等。 ARM 部分主要完成嵌
入式實時操作系統(tǒng) FreeRTOS 的移植、 FPGA ARM 之間數(shù)據(jù)的讀取和寫入、 ARM 和上位機
之間的串口通信、以及經(jīng)浮點運算后得出電能質(zhì)量的各項參數(shù)等。
4.1 FPGA 模塊軟件設計
4.1.1 FPGA設計優(yōu)勢
FPGA 采用的是自頂向下的設計方法,將復雜的系統(tǒng)劃分為低層次的功能模塊,再將低
層次的模塊劃分為下一層的模塊,一直劃分直到能夠使用基本模塊為止。這種方式極大地
提高了開發(fā)效率和便于管理,使用 FPGA 開發(fā)具有很多優(yōu)點:
1)運行速度高。 FPGA 通過外部輸入晶振產(chǎn)生系統(tǒng)時鐘,再利用內(nèi)部的鎖相環(huán)倍頻
功能可以生成各模塊所需的時鐘,頻率可以達到很高。
2)代碼運行效率高。與單片機、 DSP 不同, FPGA 打破了傳統(tǒng)的順序執(zhí)行模式,采
用硬件并行執(zhí)行方式,其運行效率更高。
3)數(shù)字接口豐富。 FPGA I/O 口眾多,能夠完成大規(guī)模的系統(tǒng)設計,而且開發(fā)人
員可以自定義這些 I/O ,使得 FPGA 的靈活性很高,其功耗低,輸入輸出接口能與 TTL
CMOS 等兼容。
4)可重構(gòu)。 FPGA 的內(nèi)部邏輯可以根據(jù)需求而改變,可以極大地縮短集成電路的設
計周期,還能夠降低成本,市場前景廣闊。
4.1.2 FPGA開發(fā)語言及軟件
Verilog HDL 是一種硬件描述語言 [45] ,用來描述數(shù)字系統(tǒng)硬件的結(jié)構(gòu)和行為。和一般的
高級設計語言不同,硬件描述語言并行執(zhí)行,還能描述過程中的時序,可以對各種抽象層
次的數(shù)字系統(tǒng)進行建模,這些層次按級別有系統(tǒng)級、算法級、 RTL 級、門級、開關級,在模
塊中對設計的描述方式分為數(shù)據(jù)流、行為和結(jié)構(gòu)三種方式, Verilog HDL 1995 年被正式
納入 IEEE 標準。
QuartusII Altera 公司的 FPGA 開發(fā)軟件,輸入形式包括原理圖、 Verilog HDL 等,其
界面友好且操作方便,涵蓋了可編程邏輯器件的完整開發(fā)過程,包括設計輸入、綜合、布
局布線、時序分析、仿真和編程配置,用戶可以在 QuartusII 中實現(xiàn)整個數(shù)字集成電路的
FPGA 設計流程。開發(fā)流程圖如 4.1 所示。
基于STM32 ARM+FPGA的電能質(zhì)量分析儀方案(二)軟件設計,電力應用,fpga開發(fā)
4.1.3 FPGA軟件運行流程
(1)設備上電后,復位,完成初始化。 PLL 鎖相環(huán)將輸入的 25MHz 晶振時鐘倍頻到
100MHz ,作為系統(tǒng)運行的主時鐘。 PLL 輸出穩(wěn)定后,主狀態(tài)機開始運行,并等待 AD7606
始化完成后,設備正式開始運行。
2)采樣周期計數(shù)模塊產(chǎn)生一個周期中斷作為 AD7606 的采樣頻率,中斷頻率大小由三
相鎖相環(huán)的輸出決定(初始值為 100MHz/12.8KHz=7812 )。
3) ADC 采集模塊接收到周期中斷后,立刻開始同步采集并轉(zhuǎn)換 3 路電壓和 3 路電流信
號 ,轉(zhuǎn)換方程如下: ( 5 ) =
32768
5
2.
5
V
I
N R
E
F
V CODE
V
V
?
? ?
。同時正余弦計算模塊,根據(jù)三相鎖
相環(huán)輸出的鎖定相位角(初始值為 0 ),計算 1-17 次諧波的正余弦值。
4) SDRAM 計算模塊,將 AD 采樣的三相電流和正余弦值作為輸入,計算出其實部和
虛部,然后將其存儲在 SDRAM 中。
(5)FFT 計算模塊,以一定的周期,在 SDRAM 模塊中,抽取三相電流數(shù)據(jù)點,分別進
256 FFT 計算,然后將計算出的三相電流諧波分量幅值,存入到 RAM 中。
(6)三相鎖相環(huán)模塊,對AD 采樣的三相電壓,進行鎖相環(huán)計算,并輸出采樣頻率,通
過該值調(diào)整 AD 的采樣頻率,使當前正余弦值計算模塊的相角與三相電壓同相。
(7)最后將所有的計算數(shù)據(jù)同步更新到FSMC 的存儲寄存器組中,并輸出一個 ARM
斷信號,通知 ARM 對這些寄存器數(shù)據(jù)進行訪問。步驟 3-7 ,必須在下一個周期中斷產(chǎn)生之前
完成。步驟 3-6 完成后,主狀態(tài)機將等待下一個周期中斷,然后重復以上步驟繼續(xù)運行。
FPGA 主程序流程圖如 4.2 所示。
基于STM32 ARM+FPGA的電能質(zhì)量分析儀方案(二)軟件設計,電力應用,fpga開發(fā)
4.1.4 AD7606 采樣
AD7606 的工作是通過 FPGA 控制其信號時序進行的。 AD7606 通過 CONVST_A 、
CONVST_B 引腳分別控制 V1~V4 V5~V8 八個通道的轉(zhuǎn)換,通過 CS RD 控制數(shù)據(jù)的讀
取,通過 PAR/SER SEL 引腳控制選擇數(shù)據(jù)接口模式。本設計中將 CONVST_A 、 CONVST_B
連接在一起實現(xiàn) 8 通道同步采樣,將 PAR/SER SEL 引腳設置為低電平時采用并行數(shù)據(jù)線
DB[15: 0] 輸出。在開始采樣之前,需要給 RESET 引腳一個大于 50ns 的正脈沖進行復位,當
CONVST 信號的上升沿時 AD 轉(zhuǎn)換開啟, AD7606 內(nèi)含有的片內(nèi)振蕩器用來實現(xiàn)轉(zhuǎn)換,同時
BUSY 信號變?yōu)楦唠娖讲l(fā)送至 FPGA 表示正在進行數(shù)據(jù)轉(zhuǎn)換,當轉(zhuǎn)換結(jié)束時 BUSY 信號恢復
低電平,此時 8 路轉(zhuǎn)換數(shù)據(jù)被鎖村到輸出數(shù)據(jù)寄存器中,設置 CS RD 設置為低電平,使能
數(shù)據(jù)輸出總線 DB[15:0] 并將數(shù)據(jù)發(fā)送至 FPGA ,一次 A/D 轉(zhuǎn)換結(jié)束。 BUSY 信號高電平的持
續(xù)時間 t CONV 的長短取決于芯片的采樣速率 ,轉(zhuǎn)換控制時序如圖 4.3 所示。
基于STM32 ARM+FPGA的電能質(zhì)量分析儀方案(二)軟件設計,電力應用,fpga開發(fā)
驅(qū)動程序的編寫是利用 FSM
Finite State Machine ,有限狀態(tài)機)設計實現(xiàn)的, AD 數(shù)
據(jù)讀取狀態(tài)轉(zhuǎn)換過程如圖 4.5 所示,關鍵程序部分見附錄。
基于STM32 ARM+FPGA的電能質(zhì)量分析儀方案(二)軟件設計,電力應用,fpga開發(fā)
4.1.6 FFT運算模塊
本設計中諧波計算采用基 -2 FFT 變換, FFT 運算模塊有兩種實現(xiàn)方法:第一種是根據(jù)
FFT 的基本原理自定義 FFT 模塊,設計模塊有蝶形運算單元、旋轉(zhuǎn)因子單元、地址發(fā)生器以
及時序控制單元等,然后再進行仿真測試,這種方式占用較多的資源,而且計算效率較
低;第二種是利用 Quartus ii 軟件上提供了專門的 FFT IP 核,根據(jù)設計要求設置參數(shù)就能得
到一個高效地 FFT 模塊,在實際工程應用中可以直接移植,在移植之前需要對其進行時序
仿真驗證。本文選擇第二種方法。
Quartus ii 提供了兩種定制 FFT 的方法: DSP Builder MegaWizard Plug-in Wizard ,本
設計選擇了第二種方法,其可以手動配置 FFT 的參數(shù)。選擇 Transforms FFT v13.1 ,選
擇輸出文件類型為 Verilog HDL [47] ,新建 FFT 如圖 4.9 所示。
基于STM32 ARM+FPGA的電能質(zhì)量分析儀方案(二)軟件設計,電力應用,fpga開發(fā)
進入 FFT 配置界面后,配置的是轉(zhuǎn)換長度為 256 點,數(shù)據(jù)位度和旋轉(zhuǎn)因子精度都為
16bits FFT IP 核元件圖如 4.10 所示,包含 10 個輸入和 8 個輸出信號:
sink_real[1 5 0] sink_imag[1 5 0] :是輸入數(shù)據(jù)的實部和虛部;
source_real[1 5 0] source_imag[1 5 0] :是輸出數(shù)據(jù)的實部和虛部;
Source_exp[5 0] :是所得輸出實部和虛部數(shù)據(jù)的指數(shù);
Sink_valid :為 1 時,表示 FFT 正接收數(shù)據(jù);
Source_valid :為 1 時,表示正讀取 FFT 的轉(zhuǎn)換結(jié)果。
基于STM32 ARM+FPGA的電能質(zhì)量分析儀方案(二)軟件設計,電力應用,fpga開發(fā)
FFT 核的引擎架構(gòu)分為四輸出和單輸出,這里的“單”和“四”是指內(nèi)部FFT蝶形處理
器的吞吐量,前者分時復用一個復數(shù)乘法器,單個時鐘內(nèi)得到 1 個輸出,單輸出消耗資源
少;后者同時使用 4 個復數(shù)乘法器,單個時鐘內(nèi)得到 4 個輸出,四輸出計算速度快。本設計
采用單輸出引擎架構(gòu),可以使 FFT 處理器的資源消耗最小化。其中單輸出實現(xiàn)結(jié)果如圖
4.11 所示, FFT 引擎通過并行方式從 RAM 中讀取復數(shù)輸入 x[k,i] ,然后通過蝶形運算得到
FFT 輸出一路結(jié)果 G[k,i] 。
基于STM32 ARM+FPGA的電能質(zhì)量分析儀方案(二)軟件設計,電力應用,fpga開發(fā)
FFT 核內(nèi)部數(shù)據(jù)使用塊浮點結(jié)構(gòu),以達到高信噪比 (SNR) Altera FFT 核可以設置
為四種 I/O 數(shù)據(jù)流結(jié)構(gòu),按不同的速度要求由高速到低速分別為流結(jié)構(gòu)、變流結(jié)構(gòu)、緩
沖突發(fā)結(jié)構(gòu)、突發(fā)結(jié)構(gòu)四種 I/O 流方式。流結(jié)構(gòu)和變流結(jié)構(gòu)都是流水線型的,是對時間
要求很嚴格的應用場合,能實現(xiàn)很高的數(shù)據(jù)吞吐率,但缺點是占用最多的邏輯資源。硬
件實現(xiàn)的 FFT 處理速度快,即便是突發(fā)結(jié)構(gòu), 1ms 內(nèi)便可完成一次 256 FFT ,故選
Burst 架構(gòu)。
最后要對FFT仿真激勵文件進行編寫,利用 Modelsim 仿真軟件,與 Quartus ii 自帶的
仿真功能不一樣, Modelsim 仿真需要編寫激勵文件 (Testbench)。激勵文件主要用于給子
模塊提供信號激勵。 FFT 數(shù)據(jù)輸入輸出時序如圖 4.12 所示,仿真圖如 4.13 所示,左側(cè)為
模塊端口變量名。
基于STM32 ARM+FPGA的電能質(zhì)量分析儀方案(二)軟件設計,電力應用,fpga開發(fā)

基于STM32 ARM+FPGA的電能質(zhì)量分析儀方案(二)軟件設計,電力應用,fpga開發(fā)

4.2 ARM 模塊軟件設計
4.2.1FreeRTOS簡介
近年來嵌入式操作系統(tǒng)因其高實時性、多任務調(diào)度等優(yōu)點在各個領域得到了廣泛的應
用,目前主流的嵌入式操作系統(tǒng)有 Vxworks 、 Linux 、 μC/OS-II FreeRTOS 等,不同于 Unix
操作系統(tǒng)給每個任務分配同樣的運行時間的任務調(diào)度方式, RTOS的任務調(diào)度設計是可預測
的, FreeRTOS 的任務調(diào)度就是根據(jù)優(yōu)先級來決定下一刻該運行哪個任務,這樣在實時環(huán)境
中操作系統(tǒng)就能夠?qū)δ骋皇录龀鰧崟r的響應。本設計采用 FreeRTOS 嵌入式實時操作系
統(tǒng),可以更合理、更有效地利用 CPU 的資源,簡化應用軟件的設計,縮短系統(tǒng)開發(fā)時間,更
好地保證系統(tǒng)的實時性和可靠性。 FreeRTOS 是一個可裁剪的小型實時操作系統(tǒng),其特點包
括:
1)性價比高。 FreeRTOS 是完全開源的操作系統(tǒng),其完整的源碼在官網(wǎng)就可以方便的
下載到。
2)高可移植性。 FreeRTOS 源碼大多用 C 語言編寫,移植起來更加方便。
3)可裁剪性。用戶可根據(jù) FreeRTOS 提供的豐富的配置,選擇自己需要的內(nèi)核功能。
4)混合任務調(diào)度模式。 FreeRTOS 同時支持優(yōu)先級搶占式、輪轉(zhuǎn)式協(xié)同調(diào)度和時間片
調(diào)度三種方式,優(yōu)先級高的任務優(yōu)先處理,優(yōu)先級相同時則按時間片輪流執(zhí)行,這樣使得
系統(tǒng)運行時的靈活性強。
5 FreeRTOS 系統(tǒng)簡單、小巧,一般內(nèi)核僅占用4k-9k字節(jié)空間,大大節(jié)約了資源。
4.2.2 ARM軟件運行流程
ARM 上電后執(zhí)行以下初始化: FreeRTOS 內(nèi)核初始化、板載信號燈初始化、串口初始
化、 FSMC 總線初始化、中斷 IO 初始化。
初始化完成后,將會創(chuàng)建 4 個線程:
(1)參數(shù)設置線程:ARM 通過串口,接收上位機設置的參數(shù),并執(zhí)行響應操作。
(2)數(shù)據(jù)上傳線程:ARM 通過串口,將設備運行數(shù)據(jù)上傳給上位機。
(3)FPGA 通信線程:完成 ARM FPGA 寫入?yún)?shù)及 ARM FPGA 讀取數(shù)據(jù)。
(4)數(shù)據(jù)計算線程:計算FPGA 上傳的數(shù)據(jù)。
線程創(chuàng)建完成后,開啟任務調(diào)度器, RTOS 將調(diào)度上述三個線程進行運行, ARM 主程序
流程圖如 4.14 所示。
基于STM32 ARM+FPGA的電能質(zhì)量分析儀方案(二)軟件設計,電力應用,fpga開發(fā)

?信邁提供STM32 ARM+FPGA的解決方案。

上位機軟件主要實現(xiàn)功能是:接受串口發(fā)送的數(shù)據(jù)并發(fā)出指令,處理和存儲通過串口
通信接收到的電能質(zhì)量數(shù)據(jù),并實現(xiàn)對電能質(zhì)量指標和波形的顯示和分析。
5.1 基本框架
本文上位機軟件開發(fā)平臺為 Microsoft Visual Studio 2013 ,開發(fā)語言為 C# 。 C# 語言具有
開發(fā)速度快、良好的面向?qū)ο蟮奶匦?、基礎類庫全等優(yōu)點 [48] 。數(shù)據(jù)分析軟件編寫采用了模塊
化設計思想,方便系統(tǒng)后期的功能更新,主要包括繪圖部分、數(shù)據(jù)存儲部分以及數(shù)據(jù)分析
部分。軟件基本框架如圖 5.1 所示。
基于STM32 ARM+FPGA的電能質(zhì)量分析儀方案(二)軟件設計,電力應用,fpga開發(fā)

基于STM32 ARM+FPGA的電能質(zhì)量分析儀方案(二)軟件設計,電力應用,fpga開發(fā)?

基于STM32 ARM+FPGA的電能質(zhì)量分析儀方案(二)軟件設計,電力應用,fpga開發(fā)?文章來源地址http://www.zghlxwxcb.cn/news/detail-539907.html

到了這里,關于基于STM32 ARM+FPGA的電能質(zhì)量分析儀方案(二)軟件設計的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • LabVIEW開發(fā)基于物聯(lián)網(wǎng)的多功能功率分析儀

    LabVIEW開發(fā)基于物聯(lián)網(wǎng)的多功能功率分析儀

    LabVIEW開發(fā)基于物聯(lián)網(wǎng)的多功能功率分析儀 根據(jù)技術規(guī)則,電氣元件網(wǎng)絡中的單個被創(chuàng)建為在標稱正弦波振動制造頻率下運行。失真順序的電流和電壓波與正弦波不同,它們或多或少地扭曲成形狀。它是由交流網(wǎng)絡中非線性組件的存在引起的,例如靜態(tài)轉(zhuǎn)換器、旋轉(zhuǎn)電氣設備

    2024年02月07日
    瀏覽(16)
  • 《AP音頻分析儀的使用》

    《AP音頻分析儀的使用》

    AP,音頻分析儀器(AudioPrecision),是指既能夠測量話筒、音頻功放、揚聲器等各類單一音頻設備的各種電聲參數(shù),也能測試組合音響、調(diào)音臺等組合音頻設備的整體性能的分析類儀器。所謂音頻設備就是將實際的聲音拾取到將聲音播放出來的全部過程中需要用到的各類電子設

    2023年04月09日
    瀏覽(23)
  • 第五章 在線邏輯分析儀-SIGNALTAP

    第五章 在線邏輯分析儀-SIGNALTAP

    ps:仿真實在pc端進行仿真,和fpga一點關系也沒有,而signaltap是直接反饋芯片的信號。 進行 FPGA 開發(fā)的過程中,在邏輯代碼上板運行前都會進行仿真驗證,而 EDA 仿真工具(如 Modelsim 等)的使用更是可以可以讓工程師提早發(fā)現(xiàn)工程中出現(xiàn)的一些錯誤。但這并不代表經(jīng)過仿真工具

    2024年02月03日
    瀏覽(25)
  • APx500音頻分析儀硬件簡介

    APx500音頻分析儀硬件簡介

    兩通道模擬輸出,兩通道或以上的模擬輸入接口 線性編碼數(shù)字音頻接口(AES/EBU,TOSLINK,SPDIF)Linear PCM 脈沖密度調(diào)制碼流(需要APx-PDM選件支持) Bluetooth 藍牙音頻碼流(需APx-BT選件支持) 最高支持192kHz數(shù)字采樣音頻(APx555最高支持216kHz) APx500 v4.0 新增Bench模式,有效幫助工程師

    2024年04月12日
    瀏覽(32)
  • CAN總線分析儀使用及調(diào)試方式

    CAN總線分析儀使用及調(diào)試方式

    1、軟件安裝 工具下載地址: 關注公眾號:Kevin的學習站;后臺發(fā)送:CAN總線分析儀;即可獲取軟件! 安裝: 1、以管理員身份運行軟件;選擇簡體中文安裝。 點擊下一步; 勾選“我同意此協(xié)議”選項,點擊下一步; 選擇所需的安裝路徑,點擊下一步 USB_CAN TOOL:調(diào)試軟件,

    2024年02月10日
    瀏覽(23)
  • 一個 24 通道 100Msps 邏輯分析儀

    一個 24 通道 100Msps 邏輯分析儀

    這是一個創(chuàng)建非常便宜的邏輯分析儀的項目,但其功能可與昂貴的商業(yè)分析儀相媲美。該分析儀可以以每秒 1 億個樣本的最高速度對多達 24 個通道進行采樣,并且可以通過單個通道中的極性變化或多達 16 個通道形成的模式來觸發(fā)。 該項目不僅包含硬件,還包含軟件,它有一

    2024年02月01日
    瀏覽(23)
  • 高云軟件的在線邏輯分析儀使用教程

    高云軟件的在線邏輯分析儀使用教程

    最近Altera和Xilinx的芯片漲價太嚴重,經(jīng)過尋找國內(nèi)替代型號,發(fā)現(xiàn)廣東高云半導體的FPGA基本可以滿足項目需求(非廣告,實際項目使用);所以就切換使用高云的GW2A型號的FPGA;(GW2A-LV18LQ144C8/I7); 由于在使用GoWin過程中走過不少彎路,因此記錄下來,一是能提醒自己在忘記

    2024年02月15日
    瀏覽(41)
  • 如何有效提高矢量網(wǎng)絡分析儀的動態(tài)范圍

    如何有效提高矢量網(wǎng)絡分析儀的動態(tài)范圍

    ????????動態(tài)范圍是網(wǎng)絡分析儀(VNA)接收機的最大輸入功率與最小可測量功率(本底噪聲)之間的差值,如圖所示,要使測量有效,輸入信號必須在這些邊界內(nèi)。 ????????如果需要測量信號幅度非常大的變化,例如,濾波器帶通和抑制,那么增加動態(tài)范圍非常重要,

    2024年02月02日
    瀏覽(25)
  • Audio Precision SYS-2722音頻分析儀

    Audio Precision SYS-2722音頻分析儀

    181/2461/8938產(chǎn)品概述: 2700系列專為需要最高性能的音頻工程師而設計, 最低的失真和最大的靈活性。 2722的真正雙域架構(gòu)實現(xiàn)了以下方面的無與倫比的測量 模擬和數(shù)字信號:模擬發(fā)生器和分析儀性能超過 任何基于數(shù)字轉(zhuǎn)換器的設計,而數(shù)字分析技術提供了廣泛的 適用于任何領

    2024年01月16日
    瀏覽(23)
  • 用邏輯分析儀觀察串口Uart數(shù)據(jù)波形

    用邏輯分析儀觀察串口Uart數(shù)據(jù)波形

    只討論嵌入式編程中較為常用的異步串行接口(Universal Asynchronous Receiver/Transmitter, UART),TTL電平。 串口的參數(shù)一般有: 1. 波特率 ,數(shù)據(jù)傳輸速率,單位bps(bits per second),即每秒傳輸?shù)奈粩?shù),常見的波特率有9600bps、19200bps、115200bps等;如果波特率為115200bps,則傳輸一個

    2024年02月06日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包