• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于單片機(jī)的數(shù)字合成波形發(fā)生器

      2019-06-24 02:44:46李鍵傑
      視聽 2019年6期
      關(guān)鍵詞:二進(jìn)制譯碼階梯

      □ 李鍵傑

      一、概述

      信號(hào)發(fā)生器,也稱信號(hào)源,就是能夠產(chǎn)生并輸出符合用戶要求的電信號(hào)的裝置或儀器。信號(hào)發(fā)生器的基本構(gòu)成主要有頻率產(chǎn)生單元、緩沖放大單元、調(diào)制單元、輸出衰減和阻抗變換單元、指示及調(diào)節(jié)控制單元等。其核心和基礎(chǔ)的部分,是頻率或波形產(chǎn)生單元。

      根據(jù)頻率產(chǎn)生方式可分為諧振法和合成法兩種。諧振法是傳承傳統(tǒng)技術(shù)的方法,即用具有頻率選擇性的諧振回路來產(chǎn)生正弦振蕩,并獲得所需頻率。頻率合成法是指由一個(gè)或多個(gè)頻率穩(wěn)定度和精確度很高的參考信號(hào)源通過頻率域的線性運(yùn)算,產(chǎn)生具有同樣穩(wěn)定度和精確度的大量離散頻率的過程。

      二、頻率合成技術(shù)

      頻率合成可分為直接頻率合成和間接頻率合成。而時(shí)下大多數(shù)研討的是直接頻率合成模式,這其中又分為非相干直接合成和相干直接合成。而相干直接合成模式大致可概括為直接數(shù)字合成(DDS)和直接模擬合成(DAS),間接模擬合成(PLL)和數(shù)字合成(PLL)。

      DDS是一種全數(shù)字化的頻率合成器,由相位累加器、波形ROM、D/A轉(zhuǎn)換器和低通濾波器構(gòu)成,是一種從相位概念出發(fā)直接合成所需要波形的新的頻率合成技術(shù)。DDS實(shí)質(zhì)上是對(duì)一個(gè)(或少許幾個(gè))參考頻率進(jìn)行數(shù)字分頻的技術(shù),通過編程頻率控制字來對(duì)系統(tǒng)時(shí)鐘進(jìn)行分頻,從而獲得所需要的頻率。由于DDS工作在數(shù)字域,很方便得到任意周期以及非周期波形。

      三、基于單片機(jī)的數(shù)字頻率合成

      本文論述的數(shù)字合成波形發(fā)生器是一個(gè)實(shí)驗(yàn)裝置,主要通過實(shí)驗(yàn)加深對(duì)DDS的運(yùn)行過程和技術(shù)特點(diǎn)的理解和掌握。

      (一)電路構(gòu)成

      實(shí)現(xiàn)數(shù)字頻率合成主要由單片機(jī)和數(shù)模轉(zhuǎn)換器DAC構(gòu)成,并沒有采用專用的DDS模塊,而是通過單片機(jī)來實(shí)現(xiàn)DDS的部分功能。

      上圖是一幅仿真示圖,現(xiàn)在的單片機(jī)有很多都把數(shù)模轉(zhuǎn)換器DAC集成到單片機(jī)里面去了。

      對(duì)照DDS構(gòu)成原理和流程:

      Fc→地址計(jì)數(shù)器(÷N)→波形存儲(chǔ)器→D/A→LPF→fo

      以DAC模塊為界分為前后兩個(gè)部分,DAC及后面部分,就是一個(gè)PCM譯碼輸出的過程。而DAC前面部分,主要是生成符合要求的PCM二進(jìn)制碼組,而這部分在本實(shí)驗(yàn)里將由單片機(jī)通過運(yùn)行程序代碼來實(shí)現(xiàn)。

      (二)DAC譯碼轉(zhuǎn)換過程

      當(dāng)DAC接收到一個(gè)二進(jìn)制數(shù)經(jīng)譯碼后輸出一個(gè)與其基準(zhǔn)電壓VREF為參照的電壓值,即量化樣值,并保持直到DAC接收下了一個(gè)數(shù)才會(huì)改變。因此在連續(xù)輸入一串二進(jìn)制數(shù)組的過程中,DAC的輸出將是一串階梯波,如下圖b,然后經(jīng)低通濾波器濾除高頻分量,便可得到模擬信號(hào)。顯然譯碼輸出階梯波要比還原為PAM波形(如下圖a),其高次諧波含量大為減少,從而也降低了對(duì)濾波器的要求。

      圖b是二進(jìn)制碼組經(jīng)DAC譯碼還原為量化后的階梯波序列,階梯級(jí)數(shù)對(duì)應(yīng)脈沖抽樣次數(shù)。因此其實(shí)質(zhì)為以階梯波來逼近所要得到的模擬信號(hào)波形。

      那么如果要輸出的是周期信號(hào),則其波形周期為:T=Tc×N。

      Tc是階梯的脈沖寬度(每一級(jí)等寬),N是階梯級(jí)數(shù)??梢娖鋵?shí)質(zhì)就是實(shí)現(xiàn)了一種數(shù)字分頻,Tc就是合成頻率的基準(zhǔn)信號(hào)參數(shù),稱謂參考時(shí)鐘信號(hào)周期,T則是合成波形周期。改變輸出信號(hào)周期,一是保持階梯寬度Tc不變而改變階梯級(jí)數(shù)N,二是保持階梯級(jí)數(shù)值N不變而改變階梯寬度Tc,三是同時(shí)改變Tc、N。本實(shí)驗(yàn)裝置采取保持階梯寬度Tc不變而改變階梯級(jí)數(shù)N的形式來改變輸出信號(hào)頻率。

      (三)PCM的編碼要求

      單片機(jī)應(yīng)用中常用的DAC芯片僅適用于單極性處理方式,采用的是自然二進(jìn)制編碼的PCM。即二進(jìn)制碼最小值為全0,中間值則按自然二進(jìn)制遞增規(guī)律遞增,最大值為全1,每一個(gè)二進(jìn)制碼對(duì)應(yīng)一個(gè)量化電壓值。

      為了對(duì)應(yīng)上述DAC模塊對(duì)PCM編碼的要求,需要采用自然二進(jìn)制碼,均勻抽樣均勻量化,而完成把模擬信號(hào)變換為二進(jìn)制碼組。

      (四)波形數(shù)據(jù)的生成

      為了對(duì)應(yīng)DAC特性,設(shè)想要得到的波形,首先是一個(gè)單極性的信號(hào),最小值為0V,峰值小于5V(或者是小于DAC的參考電壓VREF)。對(duì)其進(jìn)行均勻抽樣均勻量化及自然二進(jìn)制碼編碼,從而取得PCM二進(jìn)制碼組的波形數(shù)據(jù)。

      在波形切換或者改變頻率時(shí),需要重新計(jì)算并生成所需要的PCM二進(jìn)制碼組。這大大降低了對(duì)內(nèi)存資源的要求,這里不強(qiáng)求切換速度。

      (五)合成信號(hào)的參數(shù)

      從存儲(chǔ)器傳送數(shù)據(jù)到外設(shè)DAC的快慢,決定了輸出階梯波的寬度Tc。

      在CPU指令代碼運(yùn)行形式中,有兩種方式。一是采用中斷運(yùn)行方式,這是通常做法。其優(yōu)點(diǎn)是,很便利地降低參考時(shí)鐘頻率,也降低了N的資源占用度。而其缺點(diǎn)則是Tc無法取得更小,不利于提升合成頻率。因?yàn)閳?zhí)行一句P0=waveArray[N]的C語(yǔ)言語(yǔ)句,大致需要14個(gè)機(jī)器周期,而執(zhí)行中斷最基本的現(xiàn)場(chǎng)保護(hù)與恢復(fù)指令,大致就要消耗24個(gè)機(jī)器周期,在只允許一個(gè)中斷例程運(yùn)行的條件下,中斷間隔都需要在50個(gè)機(jī)器周期以上,如果一個(gè)機(jī)器周期為1uS,則Tc=50uS,F(xiàn)c=1/Tc=20KHz。二是禁止一切中斷運(yùn)行,在設(shè)置好波形參數(shù)后就直接進(jìn)入向DAC傳送數(shù)據(jù)的死循環(huán),只有通過復(fù)位CPU才能推出循環(huán)。如執(zhí)行一句P0=waveArray[N]的語(yǔ)句,大致需要14個(gè)機(jī)器周期,那么Tc=14uS,F(xiàn)c=1/Tc=72KHz。顯然這種方式得到的時(shí)鐘脈沖頻率提高了很多。其中waveArray[N]表示儲(chǔ)存有待輸出波形的二進(jìn)制數(shù)組,若是合成周期信號(hào)波形,那么就是一個(gè)周期的數(shù)據(jù),共N個(gè)抽樣量化的數(shù)據(jù)值。

      上述討論中,機(jī)器周期的長(zhǎng)短也是限制時(shí)鐘脈沖頻率提高的一個(gè)因素,只是畢竟C51單片機(jī)的運(yùn)算能力有限,通過選型來提升的空間也有限。

      然而,進(jìn)一步提高時(shí)鐘脈沖頻率的方法是采用DMA(直接內(nèi)存存取)技術(shù)?,F(xiàn)在性能好的單片機(jī),都內(nèi)含有DMA(直接內(nèi)存存?。┘夹g(shù),由于數(shù)據(jù)從存儲(chǔ)器到外設(shè)DAC的轉(zhuǎn)移是通過硬件直接實(shí)現(xiàn)的,無須CPU的干預(yù),其內(nèi)存存取周期比CPU指令序列的運(yùn)行周期快多了,大致得到Tc≤機(jī)器周期的傳輸速率,也不受CPU其他中斷的影響。因此,在相似條件下,單片機(jī)利用內(nèi)置的DMA設(shè)備可提高合成信號(hào)頻率,在相對(duì)的低頻段輸出頻率信號(hào)方面,則通過中斷方式的運(yùn)行。

      由于本實(shí)驗(yàn)是工作在數(shù)字域,很方便得到任意周期以及非周期波形信號(hào)。

      四、結(jié)語(yǔ)

      本實(shí)驗(yàn)裝置數(shù)字合成波形發(fā)生器,由單片機(jī)、數(shù)模轉(zhuǎn)換器(DAC)、直接內(nèi)存存取控制(DMA)構(gòu)成,主要通過DMA來獲得更高合成頻率,通過單片機(jī)中斷方式的運(yùn)行來延展更低的合成頻率。在分配到2KB的RAM的占用度時(shí),就可獲得很高的頻率分辨率。另外,DAC的量化級(jí)數(shù)大于8位時(shí),占用的RAM會(huì)成倍增加,而壓縮到N的取值范圍??傮w上該裝置可輸出最高頻率約50KHz,最低1Hz的合成正弦波,尤其是采用了STM32F系列中具備DAC、DMA的芯片時(shí)。因?yàn)槭遣捎脝纹瑱C(jī),而非專業(yè)的DDS模塊,所以在輸出波形的頻率上限值和頻帶范圍會(huì)有一定的限制。

      猜你喜歡
      二進(jìn)制譯碼階梯
      用二進(jìn)制解一道高中數(shù)學(xué)聯(lián)賽數(shù)論題
      基于校正搜索寬度的極化碼譯碼算法研究
      有趣的進(jìn)度
      二進(jìn)制在競(jìng)賽題中的應(yīng)用
      爬階梯
      時(shí)光階梯
      幸福(2016年9期)2016-12-01 03:08:50
      有趣的階梯
      從霍爾的編碼譯碼理論看彈幕的譯碼
      新聞傳播(2016年3期)2016-07-12 12:55:27
      LDPC 碼改進(jìn)高速譯碼算法
      文明的階梯
      九江县| 乐业县| 信丰县| 新安县| 余干县| 绵竹市| 佛冈县| 常州市| 武平县| 五常市| 武功县| 大渡口区| 通道| 冕宁县| 军事| 彰武县| 淮北市| 太谷县| 沅陵县| 宁河县| 嘉鱼县| 新河县| 成武县| 呼图壁县| 长治市| 临朐县| 马龙县| 蓬溪县| 洪江市| 朔州市| 措勤县| 大方县| 怀集县| 江川县| 双桥区| 瑞昌市| 丹寨县| 厦门市| 抚远县| 盘锦市| 石门县|