娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年12月05日(星期四)

正在發生

2019年12月05日 | AVR+FPGA實現六路閉環電流控制程序

發布者:靜靜思索 來源: elecfans關鍵字:AVR  FPGA  閉環電流控制 手機看文章 掃描二維碼
隨時隨地手機看文章

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_arith.all;

use ieee.std_logic_unsigned.all;


entity XTKZQ is

port(

    rst,clk        :    in        std_logic;    --時鐘和復位信號,復位信號由AVR初始化手動給出

    --avr 讀寫相關信號線

    ale,rd,wr    :    in         std_logic;    --地址鎖存、讀、寫信號

    ad            :    inout    std_logic_vector(7 downto 0);    --地址數據復用信號線

    

    --LED指示燈

    led1,led2    :    out        std_logic;

    

    --pwm

    pwm1,pwm2,pwm3,pwm4,pwm5,pwm6    :    out        std_logic;

    

    --ad8364信號線

    adc_d:                          in    std_logic_vector(15 downto 0);

    adc_a0,adc_a1,adc_a2:              out   std_logic;

    adc_reset:                       out   std_logic;

    adc_cs:                          out   std_logic;

    adc_wr:                          out   std_logic;

    adc_rd:                          out   std_logic;

    adc_holda,adc_holdb,adc_holdc:    out    std_logic;

    adc_eoc:                         in    std_logic; 

    adcclk_out:                         out   std_logic;

    --放大增益控制,此處每一路AD設置了兩級放大增益

    sw11:        out        std_logic;--控制模擬開關,調節放大增益

    sw12:        out        std_logic;

    sw21:        out        std_logic;

    sw22:        out        std_logic;

    sw31:        out        std_logic;

    sw32:        out        std_logic;

    sw41:        out        std_logic;

    sw42:        out        std_logic;

    sw51:        out        std_logic;

    sw52:        out        std_logic;

    sw61:        out        std_logic;

    sw62:        out        std_logic

    );

end XTKZQ;


architecture art of  XTKZQ is

------------------------------------------------全局信號定義-------------------------------------------------------------------    

--avr訪問操作相關信號

signal adr            :   std_logic_vector(7 downto 0);  --地址寄存器

signal data_buf        :   std_logic_vector(7 downto 0);

signal data_outctl    :     std_logic;

--pwm控制部分有三組變量,第一組是由avr寫入,控制相應的占空比,這個是供調試使用

--第二組是自動pid控制使用的

--第三組是pwm計數使用的,根據pid_sw開關的設置決定讀入第一組還是第二組的值

--pwm部分相關寄存器定義 寄存器暫時定義為8位

signal pwmfreq_reg    :    std_logic_vector(7 downto 0);

signal pwmocr1_reg    :    std_logic_vector(7 downto 0);

signal pwmocr2_reg    :    std_logic_vector(7 downto 0);

signal pwmocr3_reg    :    std_logic_vector(7 downto 0);

signal pwmocr4_reg    :    std_logic_vector(7 downto 0);

signal pwmocr5_reg    :    std_logic_vector(7 downto 0);

signal pwmocr6_reg    :    std_logic_vector(7 downto 0);


--pwm部分PID調節中用到的相關變量

signal pwmfreq_pid    :    std_logic_vector(7 downto 0);

signal pwmocr1_pid    :    std_logic_vector(7 downto 0);

signal pwmocr2_pid    :    std_logic_vector(7 downto 0);

signal pwmocr3_pid    :    std_logic_vector(7 downto 0);

signal pwmocr4_pid    :    std_logic_vector(7 downto 0);

signal pwmocr5_pid    :    std_logic_vector(7 downto 0);

signal pwmocr6_pid    :    std_logic_vector(7 downto 0);


--PWM計數用到的相關變量,這里定義為8位

signal pwm_cnt        :    std_logic_vector(7 downto 0);

signal pwmfreq        :    std_logic_vector(7 downto 0);

signal pwmocr1        :    std_logic_vector(7 downto 0);

signal pwmocr2        :    std_logic_vector(7 downto 0);

signal pwmocr3        :    std_logic_vector(7 downto 0);

signal pwmocr4        :    std_logic_vector(7 downto 0);

signal pwmocr5        :    std_logic_vector(7 downto 0);

signal pwmocr6        :    std_logic_vector(7 downto 0);



--自動閉環控制相關寄存器定義

signal pid_sw        :    std_logic_vector(7 downto 0); --閉環控制開關,此寄存器為0x01時開啟自動閉環控制


--六個AD寄存器位,用于存放設定的AD值

signal adcset1h_reg,adcset1l_reg,adcset2h_reg,adcset2l_reg        :    std_logic_vector(7 downto 0);

signal adcset3h_reg,adcset3l_reg,adcset4h_reg,adcset4l_reg        :    std_logic_vector(7 downto 0);

signal adcset5h_reg,adcset5l_reg,adcset6h_reg,adcset6l_reg        :    std_logic_vector(7 downto 0);

--時鐘分頻相關變量

signal clkcnt        :    std_logic_vector(16 downto 0);

signal adc_clk        :    std_logic;    --adc時鐘信號

signal pwm_clk        :    std_logic;    --pwm時鐘信號

signal pid_clk        :    std_logic;    --pid時鐘信號,用于調節pid的反應速度



--led指示相關變量

signal led_clk        :    std_logic;    --led時鐘信

signal led1_cnt        :    std_logic_vector(7 downto 0);

signal led2_cnt        :     std_logic_vector(7 downto 0);

signal led1s        :    std_logic;

signal led2s        :    std_logic;


--ads8364信號

signal adcdata1h_reg,adcdata1l_reg,adcdata2h_reg,adcdata2l_reg    :    std_logic_vector(7 downto 0);

signal adcdata3h_reg,adcdata3l_reg,adcdata4h_reg,adcdata4l_reg    :    std_logic_vector(7 downto 0);

signal adcdata5h_reg,adcdata5l_reg,adcdata6h_reg,adcdata6l_reg    :    std_logic_vector(7 downto 0);

signal adc_data_buf :    std_logic_vector(15 downto 0);


--定義讀取過程的各個狀態

--13位控制分別為 hold adc_a rd 狀態機狀態5位     hhhabcr

---------------------------------------------------98365

constant st0    :std_logic_vector(11 downto 0):="000000100000";--啟動轉換

constant st1    :std_logic_vector(11 downto 0):="111000100001";--進入17個周期等待轉換結束,不檢測EOC

constant st2    :std_logic_vector(11 downto 0):="111000100010";

constant st3    :std_logic_vector(11 downto 0):="111000100011";

constant st4    :std_logic_vector(11 downto 0):="111000100100";

constant st5    :std_logic_vector(11 downto 0):="111000100101";

constant st6    :std_logic_vector(11 downto 0):="111000100110";

constant st7    :std_logic_vector(11 downto 0):="111000100111";

constant st8    :std_logic_vector(11 downto 0):="111000101000";

constant st9    :std_logic_vector(11 downto 0):="111000101001";

constant st10    :std_logic_vector(11 downto 0):="111000101010";

constant st11    :std_logic_vector(11 downto 0):="111000101011";

constant st12    :std_logic_vector(11 downto 0):="111000101100";

constant st13    :std_logic_vector(11 downto 0):="111000101101";

constant st14    :std_logic_vector(11 downto 0):="111000101110";

constant st15    :std_logic_vector(11 downto 0):="111000101111";

constant st16    :std_logic_vector(11 downto 0):="111000110000";

constant st17    :std_logic_vector(11 downto 0):="111000110001";

constant st18    :std_logic_vector(11 downto 0):="111000110010";

constant st19    :std_logic_vector(11 downto 0):="111000010011";--讀ch1數據

constant st20    :std_logic_vector(11 downto 0):="111001110100";

constant st21    :std_logic_vector(11 downto 0):="111001010101";--讀ch2數據

constant st22    :std_logic_vector(11 downto 0):="111010110110";

constant st23    :std_logic_vector(11 downto 0):="111010010111";--讀ch3數據

constant st24    :std_logic_vector(11 downto 0):="111011111000";

constant st25    :std_logic_vector(11 downto 0):="111011011001";--讀ch4數據

constant st26    :std_logic_vector(11 downto 0):="111100111010";

constant st27    :std_logic_vector(11 downto 0):="111100011011";--讀ch5數據

constant st28    :std_logic_vector(11 downto 0):="111101111100";

constant st29    :std_logic_vector(11 downto 0):="111101011101";--讀ch6數據

[1] [2] [3] [4] [5]
關鍵字:AVR  FPGA  閉環電流控制 引用地址:AVR+FPGA實現六路閉環電流控制程序

上一篇:KS0108_AVR驅動[0617]
下一篇:AVR開發 Arduino方法(附一) 工具鏈與調試技術

推薦閱讀

12月4日,AI機器人公司Geek+(極智嘉)宣布重要的高管任命:前SAP全球副總裁郝旭東出任Geek+公司執行總裁,向CEO鄭勇匯報。Geek+是一家AI機器人公司,利用機器人、AI、大數據、云計算和IoT技術,提供極具智能的機器人智能物流解決方案和一站式供應鏈服務。Geek+致力于為物流、制造、零售等行業進行新技術賦能。據悉,郝旭東(Michael HAO)此前擔任SAP全...
今天Redmi紅米手機官方詳解Redmi K30 30W疾速閃充,稱1小時充滿 4500mAh大電池,我們一起來看一下。據官方介紹,Redmi K30系列30W疾速閃充配備獨立電荷泵,充電轉化率提高到97%。通過2:1降壓直沖方式將充電電流更高效的直接輸入電池,降低熱損耗,提升充電轉化率,充電轉化率。一小時充滿4500mAh超大電池。Redmi還采用了全新的「MI-FC快充技術」 ,精...
12月4日上午消息,到今天為止,蘋果公司已經舉辦了四場線上發布會,并在春季時候官網更新了iPhone SE二代,但…… 還沒完,該公司今年可能還會再發布一款產品:傳說中的AirPods Studio耳機。  外媒MacRumors的消息稱,蘋果本周的內部備忘錄中告知服務提供商,計劃在太平洋標準時間 (PST)12月8日星期二會對AppleCare維修服務做一些更改。...
研究機構 Gartner 于 12 月 2 日發表了一份預告,預測了未來移動應用程序追蹤用戶數據提供個性化廣告的情況。在蘋果的帶領下,App 收集用戶偏好數據的難度越來越大,因為蘋果要求應用主動提示用戶是否同意收集個性化的使用數據。2021 年有大約 85% 的用戶選擇拒絕提供數據,預計 2023 年這一指標將降低至 60%,意味著更多的用戶同意 App 收...

史海拾趣

問答坊 | AI 解惑

【Sipeed 高云GW2A FPGA開發板】——ARM Cortex-M0軟核處理器_LED點燈

本帖最后由 mars4zhu 于 2022-11-23 19:47 編輯 4. 在高云半導體GW2A系列FPGA平臺上運行ARM Cortex-M0軟核處理器 4.1. ARMSOC_2 在原有代碼基礎上做細微修改,主要在于: ClockDiv模塊中,分頻參數根 ...…

查看全部問答∨

Microarchitecture cheat sheet 微處理器構架備忘錄

本帖最后由 freebsder 于 2022-11-22 08:56 編輯 https://github.com/akhin/microarchitecture-cheatsheet 底層系統學習必備。 …

查看全部問答∨

電源防雷板燒了,怎么分析

大功率電源放雷電路板銅箔炸裂脫落,用在防塵現場的,環境比較惡劣,用戶輸入電為發電機,輸入電壓有不穩定的情況,是過大的 du/dt  造成的么? 聽聽老師們討論分析一下       …

查看全部問答∨

嘉楠K510開發套件的踩坑和填坑(小心得)

嘗試嘉楠K510開發套件已經有幾個月了,越是嘗試越是覺得博大精深,艱難地做了一個小小的玩意,預計最快下周應該能夠完成。一直沒有能出什么帖子,實在有點不好意思,現暫時說一說心得吧: 一、如何在目標機里面添加自己的應用 嘉楠官方提供了 ...…

查看全部問答∨

STM32單片機+ADXL345(中斷方式)計步器的準備程序(串口調試)

本文介紹了利用ADXL345中斷喚醒停止模式下的STM32F103C8T6,為進一步開發計步器做準備。 從上位機串口通訊記錄了整個過程, 代碼中有關OLED顯示屏可以不接。 1. ADXL345寄存器, 有好多,為了觀察明顯,這里設置了ACTIVITY和INACTIVITY模式,都能 ...…

查看全部問答∨

嘉立創EDA你在后臺“挖礦”嗎?

剛才用嘉立創EDA畫了一個原理圖,然后關掉。后來用的過程中CPU風扇一直調整轉動,剛剛打開任務管理器看了一下,CPU占用25%以上,已經很長時間了。 看了一下右下角的任務,說明已經退出了。不清楚嘉立創EDA在后臺用我的CPU干什么。   ...…

查看全部問答∨

示波器測量之抖動的四個維度

抖動是在進行示波器測量的時候常見的一種現象,也是工程師比較頭痛的問題之一,也是嘗嘗討論的問題。為什么這個話題千古不變值得討論呢?是因為抖動是示波器測量的諸多功能中與“數學”較為相關的,從此也可以看出,學好數學的必要性。 ...…

查看全部問答∨

分享個迷你T2資料

想要DIY的網友可以收個。一個DIY群里收來了群主作品的資料。     …

查看全部問答∨

請教一下電池供電的設備要求單片機低功耗,請問串口的TX和RX輸出如何設置,依據是什么

請教一下電池供電的設備要求單片機低功耗,請問串口的TX和RX輸出如何設置,依據是什么 …

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 都匀市| 称多县| 留坝县| 临夏县| 襄樊市| 大宁县| 孝昌县| 蒙自县| 阜平县| 宜昌市| 类乌齐县| 温州市| 溆浦县| 策勒县| 壶关县| 长乐市| 墨竹工卡县| 乐业县| 黎平县| 南江县| 阆中市| 乐至县| 陆川县| 新宁县| 宁远县| 彝良县| 巧家县| 深圳市| 津市市| 郧西县| 雅江县| 合阳县| 叶城县| 乳源| 上饶市| 四川省| 罗山县| 嘉荫县| 杭锦旗| 阿勒泰市| 南充市|