• 
    

    
    

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

      基于Proteus與CCS仿真的音樂點陣頻譜設(shè)計

      2019-09-03 11:33:32李勝銘顏科宇吳振宇
      實驗室研究與探索 2019年8期
      關(guān)鍵詞:低電平音頻單片機(jī)

      李勝銘, 顏科宇, 吳振宇

      (大連理工大學(xué) 創(chuàng)新創(chuàng)業(yè)學(xué)院, 遼寧 大連 116024)

      0 引 言

      隨著電子設(shè)計自動化(Electronic Design Automation,EDA)技術(shù)的發(fā)展,計算機(jī)仿真軟件不斷改進(jìn),為電子系統(tǒng)設(shè)計提供極大便利[1-4]。使用仿真軟件,可使電路修改簡便,降低硬件設(shè)計周期與成本[5-6]。Proteus是電子電路與單片機(jī)協(xié)同仿真的流行軟件。音樂點陣頻譜具有趣味性強(qiáng),觀賞性好等特點。其融合模擬電路、數(shù)字電路、單片機(jī)控制、信號處理等技術(shù),常見于大學(xué)生創(chuàng)新實踐活動中。本文采用Proteus與代碼調(diào)試平臺(Code Composer Studio,CCS)進(jìn)行LED點陣的電路設(shè)計與單片機(jī)程序調(diào)試。通過使用MSP430單片機(jī),實現(xiàn)點陣屏驅(qū)動、快速傅里葉(FFT)算法以及動態(tài)音樂頻譜顯示[7]。

      1 總體設(shè)計方案

      如圖1所示,系統(tǒng)以MSP430單片機(jī)為控制核心,利用數(shù)字芯片對點陣屏進(jìn)行邏輯驅(qū)動控制,通過行與列配合實現(xiàn)對點陣上任意LED亮滅??紤]到單片機(jī)管腳資源,采用將驅(qū)動芯片級聯(lián)的方式節(jié)約單片機(jī)端口。因為音頻信號為交流信號,不能直接進(jìn)行單片機(jī)采樣,因此設(shè)計加法器電路,將音頻信號變換到單片機(jī)模擬采集量程內(nèi)。單片機(jī)將音頻采樣,通過FFT算法實現(xiàn)音頻信號從時域到頻域變換,然后驅(qū)動點陣屏顯示。因視覺暫留效應(yīng),快速掃描點陣屏?xí)r,人眼看到多個LED同時點亮,實現(xiàn)音樂頻譜。

      圖1 系統(tǒng)設(shè)計框圖

      2 系統(tǒng)硬件設(shè)計

      2.1 主控制器

      主控制器選用MSP430F235單片機(jī),內(nèi)部具有16位CPU、48個I/O管腳、16KB閃存、2KB內(nèi)存、兩個16位定時器等資源。單片機(jī)內(nèi)置模數(shù)轉(zhuǎn)換器(A/D)模塊,滿足信號采樣的需求,無需額外增加模數(shù)轉(zhuǎn)換芯片。此外充足的存儲空間也足以容納音頻采樣數(shù)據(jù)和計算變量。

      2.2 顯示及驅(qū)動電路

      2.2.1 行驅(qū)動74HC138芯片

      74HC138芯片也稱3-8譯碼器,即能將3種輸入狀態(tài)翻譯成8種輸出狀態(tài),見表1。其中,E1~E3為使能條件,A0~A2為3位2進(jìn)制碼輸入數(shù)據(jù)。當(dāng)E1、E2

      表1 74HC138真值表

      為低電平,E3為高電平時,8個輸出端Y0~Y7將輸入數(shù)據(jù)譯出7個高電平與1個低電平。否則,74HC138將保持所有輸出為高電平。

      為節(jié)約單片機(jī)管腳,采用分時復(fù)用方式,通過單片機(jī)的4個I/O口控制2片74HC138芯片,實現(xiàn)對點陣屏的16行的控制。如圖2所示。

      圖2 74HC138行驅(qū)動電路圖

      圖2中,2片74HC138芯片的A0~A2端口并聯(lián),U2的E3和U3的E1連接至D端口。D為高電平時U3可輸出低電平,為低電平時U2可輸出低電平。U2、U3輸出端接點陣屏LED管負(fù)端,由于二極管單向?qū)ㄌ匦?,只?4HC138輸出低電平時對應(yīng)行的LED才點亮。因此對A、B、C、D進(jìn)行不同邏輯組合,兩芯片只有一個對應(yīng)輸出端口為低電平,也就是每次輸出都只掃描點陣屏特定一行。程序設(shè)計上,對 A、B、C、D賦值使74HC138的輸出端輪流為低電平,實現(xiàn)對點陣每一行的顯示控制。

      2.2.2 列驅(qū)動74HC595芯片

      圖3 74HC595列驅(qū)動電路圖

      如圖3所示,為控制點陣屏的32列,采用4片74HC595芯片級聯(lián)的方式,數(shù)據(jù)只需從第一個芯片的DS管腳輸入。74HC595芯片OE接地端,使芯片輸出一直有效,MR接電源正端防止數(shù)據(jù)清零,輸出端接點陣屏LED正端。各芯片SH_CP與ST_CP并聯(lián),接到SCK端和 STR端,SCK在DS送完一位數(shù)據(jù)后,產(chǎn)生上升沿,使數(shù)據(jù)移位,以便后一位數(shù)據(jù)輸入。當(dāng)對應(yīng)32列的4個字節(jié)數(shù)據(jù)發(fā)送完畢,STR產(chǎn)生上升沿將數(shù)據(jù)一同輸出,實現(xiàn)對點陣屏每一列的顯示控制。

      2.3 音頻采樣電路

      如圖4所示,為能完整采集音頻信號,音頻信號處理電路使用741運(yùn)算放大器設(shè)計反向加法器,將音頻信號與正偏置電壓相加后進(jìn)行放大。此時,音頻信號將偏置到MSP430單片機(jī)A/D采樣量程范圍內(nèi)??紤]實際信號的大小與調(diào)整方便,放大信號通過電位器分壓之后再接入單片機(jī)采樣管腳[8-9]。

      圖4 音頻采樣電路圖

      3 算法及程序設(shè)計

      在電參量測量分析中,任意周期信號可以分解為直流分量和一組不同幅值、頻率、相位的正弦波。系統(tǒng)對音頻信號進(jìn)行周期性采樣,通過FFT,變換成一組正弦函數(shù)的組合[10-11]。正弦函數(shù)的幅值和頻率用來描述在信號所占成分的多少。

      3.1 FFT算法實現(xiàn)

      音頻信號一般是無周期性且隨時間連續(xù)變化的信號x(t),理想情況下,將x(t)做傅里葉變換可得頻域表達(dá)式:

      (1)

      而MSP430單片機(jī)只能采集到連續(xù)信號x(t)的一系列離散信號值x(nt)。所以需借助離散信號x(nt)分析信號的頻域特點[12-13]。對于有限長離散信號有:

      (2)

      由WN的周期性以及對稱性,可知x(n)能分解成一個偶數(shù)序列x1(n)和一個奇數(shù)序列x2(n),且x1(n)和x2(n)的長度都是N/2。因此可得:

      (3)

      故x(k)可表示為:

      k=0,1,…,N-1

      (4)

      由于:

      (5)

      則有:

      (6)

      又X1(k)和X2(k)均以N/2為周期,且

      (7)

      所以X(k)又可表示為:

      (8)

      (9)

      式(8)和(9)稱為蝶形運(yùn)算;WN為旋轉(zhuǎn)因子。經(jīng)過時域抽取存入倒序數(shù)組中,如果兩個輸入相距b個點,用數(shù)組中的位置進(jìn)行計算,蝶形運(yùn)算可表示為

      (10)

      (11)

      根據(jù)歐拉公式:

      (14)

      可再進(jìn)一步轉(zhuǎn)化:

      (15)

      為了表達(dá)簡便,令:

      (16)

      得:

      (17)

      (18)

      考慮到單片機(jī)不適合進(jìn)行浮點運(yùn)算,為保證計算速率,編程時提前將需用到的正、余弦函數(shù)值存入數(shù)組。采用查表法免去正、余弦計算,同時進(jìn)行適當(dāng)取舍取為整數(shù),避免進(jìn)行浮點運(yùn)算。

      此外,由蝶形運(yùn)算的形式可知,若無倒序數(shù)組的整理,結(jié)果將會亂序。因此使用雷德算法解決此問題。雷德算法可給出自然順序排列的二進(jìn)制數(shù),其下面一個數(shù)總比上面的數(shù)大1,而倒序二進(jìn)制數(shù)的下面一個數(shù)是上面一個數(shù)在最高位加1并由高位向低位進(jìn)位而得到[14]。其規(guī)律實則為鏡像顛倒,即將序號的十進(jìn)制轉(zhuǎn)化為二進(jìn)制數(shù),然后把二進(jìn)制最低位當(dāng)作最高位,最高位當(dāng)作最低位再轉(zhuǎn)化為十進(jìn)制。因此系統(tǒng)程序中,按時間抽取法采64個點,按此規(guī)律列編寫一個包含64個元素的采樣存儲序列表的數(shù)組,從而保證數(shù)據(jù)為所需順序。

      3.2 程序設(shè)計

      MSP430單片機(jī)編程使用CCS集成開發(fā)平臺。系統(tǒng)程序主要分為采樣、FFT算法、點陣屏顯示3大部分。單片機(jī)A/D采樣設(shè)置為單通道連續(xù)采樣模式,每次采樣64個點之后結(jié)束,進(jìn)入FFT運(yùn)算。根據(jù)前文對FFT算法分析,單片機(jī)在計算時采用基數(shù)2時間抽取算法[15-16]。其工作流程如圖5所示。

      點陣屏掃描顯示時,F(xiàn)FT計算結(jié)果存入LED[32]數(shù)組中。數(shù)組各元素表示不同頻率,元素值表示各頻率的相對高低。行掃描不斷循環(huán),每掃一行就判斷LED[i]元素與所掃行的大小,如果元素值大則點亮點陣中LED,反之不亮。完成一次掃描后,元素值減小,形成音頻柱降落效果。

      4 系統(tǒng)仿真聯(lián)調(diào)

      本設(shè)計采用Proteus軟件和CCS軟件對點陣屏系統(tǒng)電路以及FFT算法進(jìn)行設(shè)計、調(diào)試、驗證、仿真。首先在Proteus軟件中設(shè)計系統(tǒng)各功能電路,然后通過CCS軟件編寫測試代碼,修改生成單片機(jī).hex執(zhí)行文件。Proteus軟件裝載執(zhí)行文件,運(yùn)行觀察效果。為滿足視覺暫留效應(yīng),在Proteus軟件中提前設(shè)置好仿真速度,將幀數(shù)減少并增加時間步長。信號采用音頻激勵源,格式為.WAV,如圖6所示。

      圖5 基數(shù)2時間抽取算法流程圖

      激勵源設(shè)置好振幅和通道模式。系統(tǒng)運(yùn)行,開始仿真。如圖7所示,點陣屏上音頻柱隨音樂不斷起伏。

      圖6 音頻導(dǎo)入

      圖7 系統(tǒng)仿真效果圖

      在Proteus與CCS的聯(lián)合仿真下,直接驗證了電路硬件與軟件算法方案的正確性。在仿真基礎(chǔ)上,制作的實物如圖8所示。

      圖8 基于MSP430的音樂點陣頻譜實物

      5 結(jié) 語

      本文設(shè)計了基于Proteus仿真軟件與CCS集成開發(fā)平臺下的音樂點陣頻譜設(shè)計。通過實踐驗證,可實現(xiàn)點陣屏的電路硬件設(shè)計、MSP430單片機(jī)的點陣屏驅(qū)動、音樂信號采集、音樂頻譜顯示等功能。此外系統(tǒng)還具有較大的擴(kuò)展性:在此設(shè)計思路基礎(chǔ)上,可進(jìn)行更多點陣顯示屏的設(shè)計與應(yīng)用,同時也為Proteus與CCS的聯(lián)合仿真提供參考。

      猜你喜歡
      低電平音頻單片機(jī)
      數(shù)字電路中“邏輯非”的用法辨析
      鐵道車輛高/低電平信號智能發(fā)生器設(shè)計
      基于單片機(jī)的SPWM控制逆變器的設(shè)計與實現(xiàn)
      電子制作(2019年13期)2020-01-14 03:15:28
      基于單片機(jī)的層次漸變暖燈的研究
      電子制作(2019年15期)2019-08-27 01:12:10
      基于單片機(jī)的便捷式LCF測量儀
      電子制作(2019年9期)2019-05-30 09:42:02
      必須了解的音頻基礎(chǔ)知識 家庭影院入門攻略:音頻認(rèn)證與推薦標(biāo)準(zhǔn)篇
      2017款凱迪拉克2.8L/3.0L/3.2L/3.6L車型低電平參考電壓總線電路圖
      基于Daubechies(dbN)的飛行器音頻特征提取
      電子制作(2018年19期)2018-11-14 02:37:08
      音頻分析儀中低失真音頻信號的發(fā)生方法
      電子制作(2017年9期)2017-04-17 03:00:46
      Pro Tools音頻剪輯及修正
      人間(2015年8期)2016-01-09 13:12:42
      闵行区| 安溪县| 瑞丽市| 建水县| 全州县| 定襄县| 界首市| 铜山县| 达孜县| 保德县| 陇西县| 左权县| 高平市| 湖口县| 呼和浩特市| 饶阳县| 元谋县| 剑河县| 隆回县| 扶绥县| 崇州市| 忻州市| 合阳县| 虞城县| 新沂市| 永德县| 桂林市| 赞皇县| 高密市| 邵武市| 福泉市| 南城县| 布尔津县| 云龙县| 图木舒克市| 梁平县| 盱眙县| 南平市| 延长县| 东山县| 无极县|