吴忠躺衫网络科技有限公司

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

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

3天內不再提示

淺談關于CPLD的多路可控脈沖發生器設計

電子工程師 ? 來源:《微型機與應用》 ? 作者:駱國慶,俞建定, ? 2021-04-07 11:18 ? 次閱讀

摘 要: 針對伺服電機控制系統中的脈沖發送需求問題,提出了一種利用DDS技術,以單片機和CPLD為硬件基礎的脈沖輸出頻率、個數可控的脈沖發生器設計方案。利用Quartus II軟件進行了波形仿真并分析了結果。研究結果表明,采用該方案實現的脈沖發生器具有體積小、成本低和可靠性高等特點,而且該脈沖發生器控制簡單,輸出脈沖頻率控制精度高,滿足了伺服電機控制系統中的脈沖發送需求。

隨著工業自動化的發展,伺服電機的應用越來越廣泛。伺服電機主要靠脈沖來定位,其基本的工作原理是伺服電機接收到1個脈沖,旋轉1個脈沖對應的角度來實現位移,而脈沖的頻率會影響電機旋轉速度[1]。同時,自動化過程中,常常需要多個伺服電機的聯合運動。因此,研究能夠輸出多路頻率、脈沖數可控的脈沖發生器就很有必要。由于復雜可編程邏輯器件(CPLD)具有I/O口多、設計靈活、集成度高和穩定性好的優點[2],因此,本設計以CPLD為硬件平臺,實現了一種脈沖頻率、脈沖個數都可控的脈沖發生器。

1 脈沖發生器整體系統框圖

001.jpg

根據要求所需,設計了圖1所示的脈沖發生器系統。上位機發送脈沖頻率、個數等命令,通過RS485通信單片機,單片機再將命令通過數據總線傳遞給CPLD,CPLD的I/O輸出多路可控脈沖信號。本設計中,CPLD為整個脈沖發生器系統的核心所在。

2 脈沖發生器的設計原理

002.jpg

CPLD部分的硬件結構如圖2所示。設計所用的CPLD芯片Altera公司的EPM1270T144,采用VHDL語言,外部晶振時鐘頻率為25 MHz。CPLD內部有預分頻、地址譯碼模塊、輸入緩沖、DDS分頻模塊及計數器模塊,數據、地址復用總線位寬8位。

2.1 地址譯碼模塊

CPLD中設計了三路脈沖輸出,這就使得計數模塊、分頻模塊需要多組寄存器來存儲相應的數據。因此,設計了地址譯碼模塊方便單片機與之數據通信。14、24、34(十六進制)分別對應計數器模塊內三個脈沖個數寄存器的地址,可讀寫寄存器的值;10、20、30(十六進制)分別是DDS分頻模塊內三個頻率控制字M的寄存器地址,可寫入寄存器的值;地址96(十六進制)對應的寄存器低三位控制三路脈沖輸出使能。

2.2 輸入輸出緩沖

為構成芯片內部的總線系統,使數據的寫入讀出都能正確,輸入輸出緩沖采用雙向端口的總線電路。設計程序如下:

entity bustri is

port

datain:in std_logic_vector(7 downto 0);

rd_en:in std_logic;

wr_en:in std_logic;

tridata:inout std_logic_vector(7 downto 0);

dataout:out std_logic_vector(7 downto 0));

end bustri;

architecture one of bustri is

begin

process(wr_en,tridata)

begin

if wr_en=′0′ then

dataout《=tridata;

else dataout《=“ZZZZZZZZ”;

end if;

end process;

process(rd_en,datain)

begin

if(rd_en=′0′)then

tridata《=datain;

else tridata《=“ZZZZZZZZ”;

end if;

end process;

單片機先通過數據、地址復用總線給CPLD輸入地址,地址譯碼模塊將地址譯碼,使對應的寄存器輸入使能;再通過輸入輸出緩沖寫頻率、脈沖個數數據給對應的寄存器;然后將脈沖輸出使能,即可使脈沖輸出。

2.3 DDS分頻模塊

DDS分頻模塊用來控制輸出脈沖的頻率。DDS技術是一種從相位概念出發直接合成所需波形的頻率合成技術[3]。DDS分頻模塊由相位累加器、正余弦波形查找表ROM存儲器、D/A轉換器和低通濾波器構成,其基本原理框圖如圖3所示。相位累加器在系統時鐘控制下產生正余弦波形查找表ROM的地址,相位溢出頻率即正余弦波輸出頻率。

通過改變頻率控制字的大小就可以改變輸出信號的頻率。記頻率控制字為M,正余弦波相位寄存器為N位,系統時鐘為fc,則輸出信號的頻率fout可表示為fout=M·fc/2N。它的頻率精度是由相位累加器或者是調整字的比特數決定的,即輸入的參考頻率除以2N,就決定了DDS所能夠實現的頻率精度[4],因此其頻率分辨率為fmin=fc/2N。同時,通過給相位累加器額外加一個相位控制字K,可以控制輸出信號的初始相位。

圖3中,外部晶振fc為25 MHz,通過預分頻模塊進行四分頻,變為6.25 MHz,作為DDS分頻模塊的輸入時鐘fc。頻率控制字M為15位,相位寄存器21位。查找表內存放方波數據。因此,可根據上述公式計算得出輸出脈沖頻率的精度為3 Hz,變化范圍約為3 Hz~100 kHz。DDS模塊內有三個相同的頻率控制模塊,每個模塊設計框圖如圖4所示。

004.jpg

圖4中,設計的頻率控制字查找表是256×15的ROM存儲器,存放了在3 Hz~100 kHz范圍內均勻采樣256個離散點的頻率,所對應的頻率控制字M的值。其地址范圍為00~FF(十六進制),低地址對應小的M值,M值隨地址的增大而增大。M字的位寬為15位,數據總線8位,如正常寫數據需要寫兩次,利用頻率控制字查找表可以更加方便地設置頻率控制字,寫一次數據就可以改變M字的值。方波查找表內存放的是256×1的方波數據。單片機寫入地址10、20、30(十六進制)后,通過8位的數據線寫00~FF(十六進制)值給頻率控制字查找表,查找表將對應的M字傳給頻率控制字M的寄存器。經過相位累加器累加,累加器的高8位作為地址送入方波查找表,查找表就可以輸出頻率不同的脈沖信號給計數器模塊。

2.4 計數器模塊

計數器模塊用來控制輸出脈沖的個數。計數器模塊內有三組8位的脈沖個數寄存器。脈沖個數寄存器需要被賦予目標脈沖個數;待其他寄存器設置好后,單片機發送使能脈沖輸出;DDS分頻模塊發送頻率不同的脈沖送入計數器模塊;計數器模塊內部計數變量會根據輸出的脈沖個數進行累加,當計數變量累加到目標脈沖數后,計數變量停止累加,并且脈沖輸出也會被停止。

3 脈沖發生器總體仿真結果分析

本設計利用Quartus II軟件進行波形仿真,仿真結果如圖5所示。

005.jpg

圖5中,XOSC為外部晶振時鐘25 MHz;ale為地址使能,下降沿有效;rd為讀使能,低電平有效;wr為寫使能信號,低電平有效;AD為數據總線,顯示方式為十六進制;MYA為三路脈沖輸出;地址14對應的脈沖個數寄存器及地址10對應的頻率控制字M的寄存器,控制MYA(0)的脈沖輸出,地址24、20對應的寄存器控制MYA(1)輸出,地址34、30對應的寄存器控制MYA(2)的脈沖輸出。

由圖5可以看出,地址14對應的脈沖個數寄存器寫入的值是10,轉換成十進制為16,MYA(0)輸出脈沖個數即為16;地址24對應的脈沖個數寄存器寫入的值是05,轉換成十進制為5,MYA(1)輸出脈沖個數即為5;地址10對應的頻率控制字M的寄存器寫入的值是FF,對應的M值最大,即輸出頻率應為100 kHz,而圖5中,時間長度從230 ?滋s~270 ?滋s間,MYA(0)輸出完整脈沖4個,計算出MYA(0)輸出脈沖的周期約為10 ?滋s,對應頻率即為100 kHz;地址20對應的頻率控制字M的寄存器寫入的值是7F,對應的M值為最大的一半,即輸出頻率應為50 kHz,由圖5可以看出,MYA(1)輸出的脈沖波形頻率為MYA(0)的一半,對應即為50 kHz。使能脈沖輸出后,通過寫地址30改寫MYA(2)的頻率控制字M的值由47變為21,MYA(2)的脈沖輸出頻率正確改變。由上述分析可得,脈沖發生器產生的脈沖個數、頻率均能隨著指令的改變而正確改變。仿真結果驗證了該方案的可行性。

本文介紹了一種利用DDS技術,通過單片機和CPLD來實現的脈沖輸出頻率、個數可控的脈沖發生器設計方案,且通過軟件仿真驗證了該方案的可行性。該方案在伺服電機的控制中也得到了實際應用,效果良好。采用該方案實現的脈沖發生器不僅具有CPLD的體積小、成本低、功耗低、集成度高、系統穩定性和可靠性高等特點,而且結合了DDS技術的特點及優勢,控制簡單,輸出脈沖頻率控制精度高,滿足了伺服電機控制系統中的脈沖發送需求。

參考文獻

[1] 劉樹聃,王琳。基于MCU和CPLD的脈沖發生器[J]。微計算機信息,2012,28(9):121-122.

[2] 宋萬杰,羅豐,吳順君.CPLD技術及其應用[M]。西安:電子科技大學出版社,1999.

[3] 張楠,張根棟。基于DDS技術的全數字QPSK調制器的設計[J]。工礦自動化,2009(7):105-107.

[4] 李濤,高德遠.DDS直接數字合成研究及其CPLD實現[J]。計算機工程與應用,2000,36(12):72-73

[5] 王強,陳陽。可調多脈沖時序發生電路的數字化設計[J]。電子測量技術,2009,32(8):28-31.

[6] 耶曉東。基于單片機的簡易機械手的設計[J]。微計算機信息,2009,25(5-2):230-231.

[7] Altera Corpration. MAX 7000 Programmable Logic Device Family[Z]。 USA:Altera Corpration,2003.

[8] 金西.VHDL與復雜數字系統設計[M].西安:西安電子科技大學出版社,2003.

[9] 游志宇,董秀成,杜楊,等.單片機與FPGA/CPLD總線接口邏輯設計[J].微計算機信息,2008(29):121-123.

[10] 梁中華,肖丹,楊霞。一種基于CPLD的SPWM控制波形生成方法[J]。沈陽工業大學學報,2005,27(2):187-191.

[11] 秦繼榮,沈安俊。現代直流伺服控制技術及其系統設計[M]。北京:機械工業出版社,1993.

[12] 趙正新,高超。脈沖信號源的CPLD實現方法[J]。電子科技,2009,22(2):47-50.

編輯:jq

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

    關注

    32

    文章

    1257

    瀏覽量

    169636
  • 脈沖發生器
    +關注

    關注

    5

    文章

    178

    瀏覽量

    34278
  • DDS
    DDS
    +關注

    關注

    21

    文章

    636

    瀏覽量

    152942
收藏 人收藏

    評論

    相關推薦

    安捷倫8110A 脈沖碼型發生器

    8110A脈沖碼型發生器,具有精密的邊沿定位和仿真真實世界所產生數字信號的能力,適于和Keysight示波器或邏輯分析儀配合使用。 您可在工作臺上驗證設計,在使模擬成為不確定的頻率下迅速得到可靠
    的頭像 發表于 11-25 14:22 ?237次閱讀

    泰克信號發生器脈沖模式應用

    泰克信號發生器在工程和科學領域得到了廣泛的應用,其高精度和靈活性使其成為實驗室和生產環境中的重要工具之一。在各種應用中,泰克信號發生器脈沖模式應用尤其值得注意。本文將探討泰克信號發生器
    的頭像 發表于 10-22 17:00 ?258次閱讀
    泰克信號<b class='flag-5'>發生器</b><b class='flag-5'>脈沖</b>模式應用

    可編程按鈕、脈沖檢測脈沖發生器解決方案

    電子發燒友網站提供《可編程按鈕、脈沖檢測脈沖發生器解決方案.pdf》資料免費下載
    發表于 09-18 11:22 ?0次下載
    可編程按鈕、<b class='flag-5'>脈沖</b>檢測<b class='flag-5'>器</b>和<b class='flag-5'>脈沖</b><b class='flag-5'>發生器</b>解決方案

    脈沖發生器的用途有哪些

    脈沖發生器作為一種重要的電子設備,在多個領域發揮著至關重要的作用。其用途廣泛,涵蓋了科學研究、工業檢測、醫學診斷、雷達信號處理、通信調制以及自動化控制等多個方面。
    的頭像 發表于 08-12 17:25 ?1268次閱讀

    脈沖發生器的工作模式是什么

    脈沖發生器作為一種重要的電子設備,在科學研究、工業檢測、醫學診斷、雷達應用以及通信領域等多個方面發揮著關鍵作用。其工作模式復雜而精細,涉及多個組件的協同工作。
    的頭像 發表于 08-12 17:17 ?592次閱讀

    信號發生器的使用方法 信號發生器的幅值是有效值嗎

    表示方式以及相關概念。 一、信號發生器的分類 函數信號發生器 :產生正弦波、方波、三角波等基本波形。 任意波形發生器 :可以產生復雜的波形,如脈沖波、調制波等。 合成信號
    的頭像 發表于 06-03 10:56 ?3352次閱讀

    信號發生器如何輸出單脈沖信號?

    信號發生器是一種電子設備,用于生成具有特定特性的電信號,如正弦波、方波、脈沖等。在測試和測量電子系統中,信號發生器用于提供已知的輸入信號。
    的頭像 發表于 05-30 17:45 ?2787次閱讀

    脈沖信號發生器的主要功能和作用

    脈沖信號發生器,作為一種關鍵的電子測試設備,在現代科研、工業生產和軍事領域中發揮著不可替代的作用。其獨特之處在于能夠產生各種頻率、寬度和幅度的脈沖信號,為各種電子設備和系統的測試提供了強有力的支持。本文將對
    的頭像 發表于 05-20 18:26 ?2362次閱讀

    脈沖信號發生器的主要原理和組成結構

    脈沖信號發生器,作為一種重要的電子測試設備,在通信、雷達、電子測量等多個領域發揮著關鍵作用。它能夠產生具有特定頻率、幅度、占空比等參數的脈沖信號,為各種電子系統的測試、校準和驗證提供了有效的手段。本文將詳細探討
    的頭像 發表于 05-15 14:52 ?2619次閱讀

    是德科技為手持射頻分析儀新增脈沖發生器選件

    是德科技近日宣布,其備受贊譽的FieldFox手持射頻(RF)分析儀產品系列又迎來了一項重要更新。公司發布了全新的357脈沖發生器選件,這一可下載的應用軟件進一步豐富了FieldFox的功能,使其能夠覆蓋到脈沖
    的頭像 發表于 05-15 11:00 ?679次閱讀

    多路信號發生器的設計與優化

    模塊在多路信號發生器中起到關鍵作用,它能夠將振蕩輸出的信號進行頻率分割,生成多路不同頻率的信號。
    的頭像 發表于 04-30 12:47 ?1237次閱讀

    脈沖發生器輸出的是什么信號 脈沖信號發生器原理

    脈沖發生器的主要作用是產生一種特定參數的電脈沖信號,為實驗、測試、計量和控制等方面提供穩定而精確的時序基準。它的輸出信號可以是方波、矩形波、三角波和鋸齒波等多種波形。
    的頭像 發表于 04-27 10:40 ?2565次閱讀
    <b class='flag-5'>脈沖</b><b class='flag-5'>發生器</b>輸出的是什么信號 <b class='flag-5'>脈沖</b>信號<b class='flag-5'>發生器</b>原理

    脈沖發生器的分類 脈沖發生器的怎么設置參數

    脈沖發生器(Pulse Generator)是一種電子儀器,用于生成特定形狀和特征的脈沖信號。它通常用于電子測試、實驗室研究以及其他需要控制脈沖信號的應用中。
    的頭像 發表于 04-27 10:39 ?2617次閱讀

    詳細講解高壓脈沖發生器

    電路脈沖發生器
    深圳崧皓電子
    發布于 :2024年03月18日 07:50:45

    函數發生器與示波器的調節方法一樣嗎

    函數發生器的核心部分是任意波形發生器,方波和脈沖的產生是在任意波形發生器的基礎上增加一些外圍電路構成,
    發表于 02-08 07:30 ?784次閱讀
    函數<b class='flag-5'>發生器</b>與示波器的調節方法一樣嗎
    LV百家乐官网赢钱LV| 澳门百家乐官网鸿运| 娱乐城百家乐官网的玩法技巧和规则 | 百家乐赌博怎么玩| 剑川县| 新奥博百家乐娱乐城| 信誉百家乐官网平台| 三星百家乐的玩法技巧和规则| 金钱豹百家乐官网的玩法技巧和规则| bet365体育在线投注| 马尼拉百家乐的玩法技巧和规则 | 百家乐网站| 澳门百家乐牌规| 百家乐官网二号博彩正网| 威尼斯人娱乐城动态| 爱拼百家乐官网的玩法技巧和规则| 缅甸百家乐官网博彩真假| 甘肃省| 高尔夫百家乐官网的玩法技巧和规则 | 百家乐波音平台导航网| 大家赢百家乐官网投注| 金狮国际| 爱拼| 真人百家乐怎么玩| 百家乐赌博论坛博客| 百家乐官网网上真钱娱乐| 博彩娱乐城| 金冠百家乐的玩法技巧和规则| 战神百家乐官网的玩法技巧和规则| 澳门百家乐官网国际娱乐城| 爱博彩论坛| 龙虎机| 在线提供百家乐| 百家乐真钱游戏| 云鼎娱乐场网址| 现金网hg8568.com| 百家乐棋牌游戏币| 百家乐黏土筹码| 太阳城巴黎左岸| 深圳太阳城酒店| 大发888官网多少|