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

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

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

淺談關(guān)于CPLD的多路可控脈沖發(fā)生器設(shè)計(jì)

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

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

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

1 脈沖發(fā)生器整體系統(tǒng)框圖

001.jpg

根據(jù)要求所需,設(shè)計(jì)了圖1所示的脈沖發(fā)生器系統(tǒng)。上位機(jī)發(fā)送脈沖頻率、個(gè)數(shù)等命令,通過RS485通信單片機(jī),單片機(jī)再將命令通過數(shù)據(jù)總線傳遞給CPLD,CPLD的I/O輸出多路可控脈沖信號(hào)。本設(shè)計(jì)中,CPLD為整個(gè)脈沖發(fā)生器系統(tǒng)的核心所在。

2 脈沖發(fā)生器的設(shè)計(jì)原理

002.jpg

CPLD部分的硬件結(jié)構(gòu)如圖2所示。設(shè)計(jì)所用的CPLD芯片Altera公司的EPM1270T144,采用VHDL語言,外部晶振時(shí)鐘頻率為25 MHz。CPLD內(nèi)部有預(yù)分頻、地址譯碼模塊、輸入緩沖、DDS分頻模塊及計(jì)數(shù)器模塊,數(shù)據(jù)、地址復(fù)用總線位寬8位。

2.1 地址譯碼模塊

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

2.2 輸入輸出緩沖

為構(gòu)成芯片內(nèi)部的總線系統(tǒng),使數(shù)據(jù)的寫入讀出都能正確,輸入輸出緩沖采用雙向端口的總線電路。設(shè)計(jì)程序如下:

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;

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

2.3 DDS分頻模塊

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

通過改變頻率控制字的大小就可以改變輸出信號(hào)的頻率。記頻率控制字為M,正余弦波相位寄存器為N位,系統(tǒng)時(shí)鐘為fc,則輸出信號(hào)的頻率fout可表示為fout=M·fc/2N。它的頻率精度是由相位累加器或者是調(diào)整字的比特?cái)?shù)決定的,即輸入的參考頻率除以2N,就決定了DDS所能夠?qū)崿F(xiàn)的頻率精度[4],因此其頻率分辨率為fmin=fc/2N。同時(shí),通過給相位累加器額外加一個(gè)相位控制字K,可以控制輸出信號(hào)的初始相位。

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

004.jpg

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

2.4 計(jì)數(shù)器模塊

計(jì)數(shù)器模塊用來控制輸出脈沖的個(gè)數(shù)。計(jì)數(shù)器模塊內(nèi)有三組8位的脈沖個(gè)數(shù)寄存器。脈沖個(gè)數(shù)寄存器需要被賦予目標(biāo)脈沖個(gè)數(shù);待其他寄存器設(shè)置好后,單片機(jī)發(fā)送使能脈沖輸出;DDS分頻模塊發(fā)送頻率不同的脈沖送入計(jì)數(shù)器模塊;計(jì)數(shù)器模塊內(nèi)部計(jì)數(shù)變量會(huì)根據(jù)輸出的脈沖個(gè)數(shù)進(jìn)行累加,當(dāng)計(jì)數(shù)變量累加到目標(biāo)脈沖數(shù)后,計(jì)數(shù)變量停止累加,并且脈沖輸出也會(huì)被停止。

3 脈沖發(fā)生器總體仿真結(jié)果分析

本設(shè)計(jì)利用Quartus II軟件進(jìn)行波形仿真,仿真結(jié)果如圖5所示。

005.jpg

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

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

本文介紹了一種利用DDS技術(shù),通過單片機(jī)和CPLD來實(shí)現(xiàn)的脈沖輸出頻率、個(gè)數(shù)可控的脈沖發(fā)生器設(shè)計(jì)方案,且通過軟件仿真驗(yàn)證了該方案的可行性。該方案在伺服電機(jī)的控制中也得到了實(shí)際應(yīng)用,效果良好。采用該方案實(shí)現(xiàn)的脈沖發(fā)生器不僅具有CPLD的體積小、成本低、功耗低、集成度高、系統(tǒng)穩(wěn)定性和可靠性高等特點(diǎn),而且結(jié)合了DDS技術(shù)的特點(diǎn)及優(yōu)勢,控制簡單,輸出脈沖頻率控制精度高,滿足了伺服電機(jī)控制系統(tǒng)中的脈沖發(fā)送需求。

參考文獻(xiàn)

[1] 劉樹聃,王琳?;?a target="_blank">MCU和CPLD的脈沖發(fā)生器[J]。微計(jì)算機(jī)信息,2012,28(9):121-122.

[2] 宋萬杰,羅豐,吳順君.CPLD技術(shù)及其應(yīng)用[M]。西安:電子科技大學(xué)出版社,1999.

[3] 張楠,張根棟?;贒DS技術(shù)的全數(shù)字QPSK調(diào)制器的設(shè)計(jì)[J]。工礦自動(dòng)化,2009(7):105-107.

[4] 李濤,高德遠(yuǎn).DDS直接數(shù)字合成研究及其CPLD實(shí)現(xiàn)[J]。計(jì)算機(jī)工程與應(yīng)用,2000,36(12):72-73

[5] 王強(qiáng),陳陽??烧{(diào)多脈沖時(shí)序發(fā)生電路的數(shù)字化設(shè)計(jì)[J]。電子測量技術(shù),2009,32(8):28-31.

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

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

[8] 金西.VHDL與復(fù)雜數(shù)字系統(tǒng)設(shè)計(jì)[M].西安:西安電子科技大學(xué)出版社,2003.

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

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

[11] 秦繼榮,沈安俊。現(xiàn)代直流伺服控制技術(shù)及其系統(tǒng)設(shè)計(jì)[M]。北京:機(jī)械工業(yè)出版社,1993.

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

編輯:jq

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

    關(guān)注

    32

    文章

    1248

    瀏覽量

    169389
  • 脈沖發(fā)生器
    +關(guān)注

    關(guān)注

    5

    文章

    177

    瀏覽量

    34185
  • DDS
    DDS
    +關(guān)注

    關(guān)注

    21

    文章

    634

    瀏覽量

    152690
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    安捷倫8110A 脈沖碼型發(fā)生器

    8110A脈沖碼型發(fā)生器,具有精密的邊沿定位和仿真真實(shí)世界所產(chǎn)生數(shù)字信號(hào)的能力,適于和Keysight示波器或邏輯分析儀配合使用。 您可在工作臺(tái)上驗(yàn)證設(shè)計(jì),在使模擬成為不確定的頻率下迅速得到可靠
    的頭像 發(fā)表于 11-25 14:22 ?199次閱讀

    泰克信號(hào)發(fā)生器脈沖模式應(yīng)用

    泰克信號(hào)發(fā)生器在工程和科學(xué)領(lǐng)域得到了廣泛的應(yīng)用,其高精度和靈活性使其成為實(shí)驗(yàn)室和生產(chǎn)環(huán)境中的重要工具之一。在各種應(yīng)用中,泰克信號(hào)發(fā)生器脈沖模式應(yīng)用尤其值得注意。本文將探討泰克信號(hào)發(fā)生器
    的頭像 發(fā)表于 10-22 17:00 ?188次閱讀
    泰克信號(hào)<b class='flag-5'>發(fā)生器</b><b class='flag-5'>脈沖</b>模式應(yīng)用

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

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

    脈沖發(fā)生器的用途有哪些

    脈沖發(fā)生器作為一種重要的電子設(shè)備,在多個(gè)領(lǐng)域發(fā)揮著至關(guān)重要的作用。其用途廣泛,涵蓋了科學(xué)研究、工業(yè)檢測、醫(yī)學(xué)診斷、雷達(dá)信號(hào)處理、通信調(diào)制以及自動(dòng)化控制等多個(gè)方面。
    的頭像 發(fā)表于 08-12 17:25 ?983次閱讀

    脈沖發(fā)生器的工作模式是什么

    脈沖發(fā)生器作為一種重要的電子設(shè)備,在科學(xué)研究、工業(yè)檢測、醫(yī)學(xué)診斷、雷達(dá)應(yīng)用以及通信領(lǐng)域等多個(gè)方面發(fā)揮著關(guān)鍵作用。其工作模式復(fù)雜而精細(xì),涉及多個(gè)組件的協(xié)同工作。
    的頭像 發(fā)表于 08-12 17:17 ?477次閱讀

    信號(hào)發(fā)生器如何輸出單脈沖信號(hào)?

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

    脈沖信號(hào)發(fā)生器的主要功能和作用

    脈沖信號(hào)發(fā)生器,作為一種關(guān)鍵的電子測試設(shè)備,在現(xiàn)代科研、工業(yè)生產(chǎn)和軍事領(lǐng)域中發(fā)揮著不可替代的作用。其獨(dú)特之處在于能夠產(chǎn)生各種頻率、寬度和幅度的脈沖信號(hào),為各種電子設(shè)備和系統(tǒng)的測試提供了強(qiáng)有力的支持。本文將對
    的頭像 發(fā)表于 05-20 18:26 ?2100次閱讀

    脈沖信號(hào)發(fā)生器的主要原理和組成結(jié)構(gòu)

    脈沖信號(hào)發(fā)生器,作為一種重要的電子測試設(shè)備,在通信、雷達(dá)、電子測量等多個(gè)領(lǐng)域發(fā)揮著關(guān)鍵作用。它能夠產(chǎn)生具有特定頻率、幅度、占空比等參數(shù)的脈沖信號(hào),為各種電子系統(tǒng)的測試、校準(zhǔn)和驗(yàn)證提供了有效的手段。本文將詳細(xì)探討
    的頭像 發(fā)表于 05-15 14:52 ?2343次閱讀

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

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

    多路信號(hào)發(fā)生器的設(shè)計(jì)與優(yōu)化

    模塊在多路信號(hào)發(fā)生器中起到關(guān)鍵作用,它能夠?qū)⒄袷?b class='flag-5'>器輸出的信號(hào)進(jìn)行頻率分割,生成多路不同頻率的信號(hào)。
    的頭像 發(fā)表于 04-30 12:47 ?1132次閱讀

    脈沖發(fā)生器輸出的是什么信號(hào) 脈沖信號(hào)發(fā)生器原理

    脈沖發(fā)生器的主要作用是產(chǎn)生一種特定參數(shù)的電脈沖信號(hào),為實(shí)驗(yàn)、測試、計(jì)量和控制等方面提供穩(wěn)定而精確的時(shí)序基準(zhǔn)。它的輸出信號(hào)可以是方波、矩形波、三角波和鋸齒波等多種波形。
    的頭像 發(fā)表于 04-27 10:40 ?2353次閱讀
    <b class='flag-5'>脈沖</b><b class='flag-5'>發(fā)生器</b>輸出的是什么信號(hào) <b class='flag-5'>脈沖</b>信號(hào)<b class='flag-5'>發(fā)生器</b>原理

    脈沖發(fā)生器的分類 脈沖發(fā)生器的怎么設(shè)置參數(shù)

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

    詳細(xì)講解高壓脈沖發(fā)生器

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

    函數(shù)發(fā)生器與示波器的調(diào)節(jié)方法一樣嗎

    函數(shù)發(fā)生器的核心部分是任意波形發(fā)生器,方波和脈沖的產(chǎn)生是在任意波形發(fā)生器的基礎(chǔ)上增加一些外圍電路構(gòu)成,
    發(fā)表于 02-08 07:30 ?718次閱讀
    函數(shù)<b class='flag-5'>發(fā)生器</b>與示波器的調(diào)節(jié)方法一樣嗎

    淺談任意波形發(fā)生器及通道合并功能

    淺談任意波形發(fā)生器及通道合并功能? 任意波形發(fā)生器(AWG)是一種能夠產(chǎn)生各種復(fù)雜波形的信號(hào)發(fā)生器。它可以通過調(diào)節(jié)其輸出信號(hào)的幅值、頻率、相位等參數(shù),生成任意形狀的波形,包括正弦波、方
    的頭像 發(fā)表于 01-19 15:54 ?658次閱讀