《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于CPLD的多路可控脈沖發生器設計
基于CPLD的多路可控脈沖發生器設計
2014年微型機與應用第15期
駱國慶,俞建定,王 銀
寧波大學 信息科學與工程學院,浙江 寧波
摘要: 針對伺服電機控制系統中的脈沖發送需求問題,提出了一種利用DDS技術,以單片機和CPLD為硬件基礎的脈沖輸出頻率、個數可控的脈沖發生器設計方案。利用Quartus II軟件進行了波形仿真并分析了結果。研究結果表明,采用該方案實現的脈沖發生器具有體積小、成本低和可靠性高等特點,而且該脈沖發生器控制簡單,輸出脈沖頻率控制精度高,滿足了伺服電機控制系統中的脈沖發送需求。
Abstract:
Key words :

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

  關鍵詞: CPLD;DDS;脈沖發生器

  隨著工業自動化的發展,伺服電機的應用越來越廣泛。伺服電機主要靠脈沖來定位,其基本的工作原理是伺服電機接收到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,可以控制輸出信號的初始相位。

003.jpg

  圖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.


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久久久久电影| 欧美午夜女人视频在线| 亚洲视频欧美在线| 欧美伊人久久大香线蕉综合69| 一区二区日韩免费看| 亚洲激情视频在线播放| 在线播放豆国产99亚洲| 国内精品**久久毛片app| 国产日韩欧美精品一区| 国产精品伊人日日| 国产精品尤物福利片在线观看| 国产精品老女人精品视频| 欧美性猛交99久久久久99按摩| 欧美日韩免费观看中文| 欧美激情一区二区三区不卡| 欧美承认网站| 欧美高清视频一区| 欧美巨乳在线观看| 欧美日韩国产成人精品| 欧美日韩国产精品一区二区亚洲| 欧美久久久久久久久久| 欧美日韩一区二区视频在线观看| 欧美日韩日日骚| 欧美视频在线观看| 欧美性事在线| 国产乱码精品一区二区三区忘忧草| 国产精品久久久久久久久久免费| 欧美日韩综合视频网址| 国产精品高潮视频| 国产精品你懂的在线| 国产乱码精品一区二区三区av| 国产视频在线观看一区二区| 国产在线观看一区| 在线观看中文字幕不卡| 亚洲国产天堂久久综合| 亚洲青色在线| 亚洲天堂网在线观看| 午夜精品一区二区三区在线视 | 一区二区日韩欧美| 亚洲影院污污.| 欧美一区二区女人| 亚洲激情精品| 亚洲午夜激情在线| 久久不见久久见免费视频1| 久久先锋影音| 欧美老女人xx| 国产精品嫩草久久久久| 黄网动漫久久久| 亚洲久久视频| 欧美一区二区免费视频| 日韩一二在线观看| 欧美一进一出视频| 欧美ed2k| 国产精品色一区二区三区| 狠狠色综合色区| 日韩视频免费大全中文字幕| 亚洲欧美在线观看| 亚洲狼人综合| 久久激情中文| 欧美高清在线播放| 国产精品男女猛烈高潮激情| 在线播放视频一区| 这里是久久伊人| 亚洲电影免费观看高清完整版在线 | 你懂的一区二区| 国产精品成人在线观看| 极品中文字幕一区| 亚洲午夜三级在线| 91久久黄色| 欧美一区二区三区的| 欧美激情一区二区三区蜜桃视频 | 国产一区二区中文| 99精品99| 亚洲欧洲一区| 欧美在线播放视频| 欧美日韩不卡合集视频| 国模吧视频一区| 亚洲视频在线观看视频| 亚洲精品一区在线| 久久精品av麻豆的观看方式| 欧美日韩在线三区| 在线观看一区| 欧美一区二区国产| 亚洲自拍偷拍色片视频| 欧美国产1区2区| 激情欧美日韩| 午夜伦理片一区| 亚洲视频一区二区| 欧美国产日韩一区二区三区| 国产在线不卡视频| 亚洲欧美国产三级| 亚洲天堂网站在线观看视频| 男男成人高潮片免费网站| 国产欧美日韩视频一区二区| 一区电影在线观看| 日韩视频免费大全中文字幕| 久久天堂国产精品| 国产欧美日韩伦理| 亚洲欧美日韩精品久久久久| 亚洲视频一二区| 欧美精品日韩| 亚洲高清久久久| 亚洲国产裸拍裸体视频在线观看乱了| 欧美一区二区三区视频在线观看 | 亚洲人精品午夜在线观看| 久久精品夜色噜噜亚洲aⅴ| 国产精品久久一级| 99热这里只有精品8| 日韩一区二区久久| 欧美大色视频| 亚洲高清视频中文字幕| 亚洲激情国产精品| 欧美成人精品在线观看| 精品成人乱色一区二区| 欧美一区二区三区精品| 欧美一区国产在线| 国产欧亚日韩视频| 先锋资源久久| 欧美制服第一页| 国产偷自视频区视频一区二区| 亚洲欧美激情视频| 羞羞色国产精品| 国产精品网站视频| 亚洲欧美乱综合| 久久国产精品第一页| 国产日韩精品在线| 欧美一区二区免费观在线| 久久久久久**毛片大全| 国内综合精品午夜久久资源| 亚洲第一在线综合在线| 免费成人高清视频| 亚洲黄网站黄| 中文高清一区| 国产精品乱人伦一区二区| 亚洲影院免费观看| 久久久久.com| 136国产福利精品导航网址| 亚洲精品韩国| 欧美日韩精品综合在线| 在线一区欧美| 欧美一区二区视频在线观看| 国产色爱av资源综合区| 久久精品夜夜夜夜久久| 欧美jjzz| 在线视频你懂得一区二区三区| 亚洲免费人成在线视频观看| 国产嫩草一区二区三区在线观看 | 亚洲欧美第一页| 国产麻豆日韩| 久久精品国产69国产精品亚洲| 蜜桃精品一区二区三区| 日韩视频精品在线| 欧美在线国产| 在线日韩视频| 亚洲一区二区在线播放| 国产精品欧美一区喷水 | 久久只精品国产| 亚洲美女精品久久| 亚洲免费小视频| 国产自产高清不卡| 99国产精品99久久久久久| 国产精品久久久久天堂| 欧美专区在线观看一区| 欧美福利视频网站| 亚洲一区不卡| 美女露胸一区二区三区| 这里只有视频精品| 久久蜜桃av一区精品变态类天堂| 亚洲激情社区| 欧美一区二区在线看| 亚洲电影在线看| 香蕉免费一区二区三区在线观看| 国模私拍视频一区| 一区二区三区高清在线观看| 国产情人节一区| 99精品国产在热久久婷婷| 国产精品私房写真福利视频| 最近中文字幕mv在线一区二区三区四区| 欧美日韩免费| 欧美综合国产精品久久丁香| 欧美久久久久久久久| 欧美一区二区三区视频在线 | 欧美刺激性大交免费视频| 亚洲婷婷综合久久一本伊一区| 久久婷婷蜜乳一本欲蜜臀| 一区二区三区欧美在线| 可以免费看不卡的av网站| 亚洲一区二区三区精品在线| 欧美成人一区二区三区| 亚洲你懂的在线视频| 欧美精品导航| 亚洲动漫精品| 国产酒店精品激情| 一区二区欧美国产| 极品少妇一区二区| 欧美怡红院视频| 99亚洲精品| 欧美成人国产一区二区| 午夜在线视频一区二区区别| 欧美日韩性视频在线|