<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 基于AT90S2313-4PC的MP3無線遙控自動點(diǎn)播機(jī)(下)

          基于AT90S2313-4PC的MP3無線遙控自動點(diǎn)播機(jī)(下)

          作者: 時間:2017-06-08 來源:網(wǎng)絡(luò) 收藏
          10年前可以很容易取得頻率高達(dá)1GHz的256分頻預(yù)分頻器芯片,但這些芯片現(xiàn)在都聽,因此我用74F161計(jì)數(shù)器來實(shí)現(xiàn)16分頻。該器件工作頻率大于100MHz,成本低于1美元且容易買到。

            我用2N5485制作了一個VCO。VCO的振蕩頻率主要取于L1和C12的值。C12微調(diào)電容,發(fā)射機(jī)第一次通電時,用其對頻率進(jìn)行微調(diào)使發(fā)射機(jī)工作在指定頻率上。只有裝上J1使微控制器把DAC輸出設(shè)置在中間值時,才可以進(jìn)行微調(diào),之後把跳去掉。當(dāng)發(fā)射機(jī)再次通電後,自動頻率穩(wěn)定器電路開始工作,振蕩器被變?nèi)荻O管D1微調(diào)到指定頻率。74F161需要幾伏的信號作時鐘,這可以用FET振蕩器實(shí)現(xiàn)(其它大多數(shù)形式的振蕩器沒有這樣的能力)。

          本文引用地址:http://www.ex-cimer.com/article/201706/351935.htm

            振蕩器的RF輸出從L1的抽頭取出以小負(fù)載的影響。RF輸出用電容耦合到74F161預(yù)分頻器第一級的時鐘輸入。調(diào)整分壓器R7時鐘輸入端提供適當(dāng)?shù)钠?,使振蕩信號觸發(fā)輸入分頻級。把它設(shè)定在2~2.5V之間較好,最好用示波器調(diào)整設(shè)定,使74F1 61的11輸出得到乾凈的5~6MHz的波形。

            控制VCO微調(diào)的12位DAC U14采用TI公司帶SPI接口的DAC7611。雖然AT90S2313不具備用戶SPI端口(它的SPI端口只嚴(yán)格地配合閃存編程工作),但用PB1~PB4 I/O 可以簡單地實(shí)現(xiàn)發(fā)送SPI數(shù)據(jù)到DAC的功能。

            圖4中AT90S2313下面的跳 J1與PD6端口 連接,復(fù)位時微控制器檢測該端口 的狀態(tài)。如果J1處于連接狀態(tài),它只不過會把DAC設(shè)置在中間值,接著進(jìn)入等待。這時你可以調(diào)節(jié)微調(diào)電容把振蕩器的頻率設(shè)定在最接近指定頻率的地方使誤差最小。北美地區(qū)所有廣播均把頻率設(shè)定 100KHz的奇數(shù)倍,隨便選一個就行了。

            做完這個後,接著去掉跳 再給發(fā)射機(jī)通電。這時發(fā)射機(jī)應(yīng)在幾秒時間內(nèi)反復(fù)調(diào)整DAC電壓, 經(jīng)過預(yù)分頻器反復(fù)測量振蕩器輸出頻率使其返回指定頻率。這就是隨後用作發(fā)射機(jī)模塊的正常工作模式。

            從主機(jī)聲卡輸出的立體聲音頻信號先經(jīng)過一個預(yù)加重網(wǎng)絡(luò)(每個聲道都要)混合成一個單聲道信號,該信號 加在DAC的直流控制電壓上對振蕩器的輸出進(jìn)行調(diào)頻。

            預(yù)加重網(wǎng)絡(luò)中的RC值視立體聲接收機(jī)的輸出以取得較平坦的頻響 目標(biāo)而確定,圖4中的設(shè)定值還是比較合理的。別指望選定的元件值會達(dá)到北美廣播的去加重常數(shù)標(biāo)準(zhǔn)值75us,要考慮到還有很多存在于VCO中的因素會影響調(diào)制特性,我設(shè)定的參數(shù)值可使發(fā)射機(jī)獲得比較平坦的頻響。注意,圖4中沒有提到天 ,如果設(shè)備放在塑料殼內(nèi)其發(fā)射距離能達(dá)到50碼,那就很好,因 政府相關(guān)法規(guī)規(guī)定禁止使用發(fā)射半徑大于50碼的發(fā)射機(jī)。

            我用一片1.5x1平方英寸的小型單面PCB板制作了電路的VCO部分(如圖4虛 部分所示)。電路剩下部分在一塊Simm-Stick面包板上手工連 。VCO PCB板設(shè)計(jì)成SIP封裝的樣子垂直安裝在Simm-Stick面包板上。

            軟件和固件

            應(yīng)用軟件包括計(jì)算機(jī)上運(yùn)行的應(yīng)用程序和運(yùn)行在遙控器上的客戶固件。PC端服務(wù)軟件用Visual Basic 6語言編寫。

            遙控器固件用AVR匯編語言編寫。FM發(fā)射機(jī)另外用一片AT90S2313穩(wěn)頻。現(xiàn)在所用軟件是試用版,因此我暫時用BASCOM-AVR編譯器代替AT90S2313。

            客戶端應(yīng)用軟件

            運(yùn)行在PC上的客戶端應(yīng)用軟件主要有兩個主要功能∶大多數(shù)時間它一直在檢測COM1端口搜尋遙控器發(fā)給它的指令∶另一個功能是用它來瀏覽文件目錄 指定4個文件夾作 自動點(diǎn)播文件夾。這些文件夾中的文件名接著就被轉(zhuǎn)換成數(shù)據(jù)記錄,用COM1端口的發(fā)射部分發(fā)送到遙控器上。除非文件夾的內(nèi)容更改,否則只下載一次,因 這些數(shù)據(jù)存儲在遙控器中的歌名列表閃存中,見照片2。

            照片2 用以控制媒體播放器上的文件的播放的PC應(yīng)用程序

            我詳細(xì)地介紹一下第一個功能。正如前面提到的,計(jì)算機(jī)和遙控器之間通過433MHz無 連接,在PC端433MHz接收機(jī)以2400bps速率接收RF信號 把它轉(zhuǎn)換成串行數(shù)據(jù),接著把它送到COM1端口。所有數(shù)據(jù)格式和數(shù)據(jù)糾錯均由NKM2401編/解碼器芯片組成的硬件電路完成。這樣做可以確??蛻舳藨?yīng)用軟件接收到的的指令都是合法的。

            NKM2401采用8字節(jié)數(shù)據(jù)包格式。遙控器發(fā)送的所有指令由2字節(jié)同步數(shù)據(jù)(0xAA, 0x55)後跟16位指令字和4個補(bǔ)充字節(jié)組成。2字節(jié)指令字用來區(qū)別4種指令∶播放(停止),播放下一曲,播放前一曲,播放全部和暫停。其它14位數(shù)據(jù)用來選擇當(dāng)前文件夾和該文件夾內(nèi)歌名的一些附加信息。

          當(dāng)你選出要用的文件夾時,文件夾就會打開,接著分析該文件夾然後顯示出唱片長度信息。在應(yīng)用中我效仿了這個功能,把它應(yīng)用到了發(fā)射機(jī)和遙控器上。這樣做使你可以在遙控器的LCD上看到所有歌名。另外它意味著你僅需發(fā)送數(shù)據(jù)庫文件中歌曲位置的相應(yīng)編號就可以點(diǎn)播歌曲。

            客戶端程序確定播放哪一首歌曲後怎樣使計(jì)算機(jī)播放這首歌曲呢?如果歌曲是WAV格式,那就很簡單,因 Visual Basic內(nèi)置的多媒體支持功能包括WAV文件的播放,然而它不支持文件的播放,起碼我所用的版本是這樣。我到處尋找能播放文件的控件但沒能找到免費(fèi)的或者價格合理的。

            在這方面我又碰釘子了。我剛下載了Microsoft免費(fèi)發(fā)布的Windows Media Player V.7。這個多用途程序能 很好地播放MP3文件 且有很多你所需要的附加功能。像很多Windows程序一樣它有支持快捷鍵的優(yōu)點(diǎn)。我的想法是同時運(yùn)行我的MP3自動點(diǎn)播機(jī)客戶端程序和Windows Media Player,然後用我的客戶端軟件控制Windows Media Player。這可以用一系列的Visual Bsic命令實(shí)現(xiàn)。

            第二個功能,選擇想要的音樂 文件夾(多達(dá)4個) 把內(nèi)容下載到遙控器的閃存上,這個功能僅偶爾用到。你只需選定文件夾接著點(diǎn)擊表格左邊的4個數(shù)字按鈕中的一個就可以了。有一個窗口記錄著歌名列表閃存剩馀的空間。如果閃存沒有用完的話每個文件夾能裝將近200首歌曲。

            了簡化遙控器的固件,我假設(shè)4個文件夾都會用到,因此全部下載。如果你沒有那 多文件夾,那 不足的文件夾將用你選定的文件夾的復(fù)件代替。

            按下載鍵之前遙控器必須先插入PC的COM1端口暫時代替433MHz接收機(jī)。我用前面提到的自己做的電纜讓它一直插在PC上,電纜另一端 5pin DIN插頭,該插頭與接收機(jī)和遙控器都是匹配的,這樣連接就非常方便。下載時間由遙控器中的閃存的寫入時間 定。在所有4個目錄均含大約200首歌的極限情 下,下載時間大約 4分鐘。下載進(jìn)程用檢測盒顯示,檢測盒顯示在客戶程序文件夾列表旁邊,在遙控器LCD顯示屏上也有相關(guān)信息顯示。

            AVR固件

            我已大概介紹了FM發(fā)射機(jī)的自動頻率控制原理。實(shí)現(xiàn)這個功能的程序非常簡單,因此用Basic語言編寫 用BASCOM-AVR編譯器編譯。

            遙控器的固件比較棘手。最初我試著用BASCOM-AVR編譯器編Basic程序但生成的程序代碼太長,AT90S2313中的閃存空間裝不下。隨後,我用匯編語言編程實(shí)現(xiàn)了遙控器的功能,使用的程序空間不到AT90S2313閃存空間的一半。

            與PC客戶軟件一樣遙控器單元有兩個功能,其中一個功能不常用。打開時它顯示文件夾1中的前4首歌,接著循環(huán)檢測由RCA通用遙控器發(fā)出的 指令和 接收機(jī)模塊接收到的指令。信號進(jìn)入AT90S2313的INPUT CAPTURE D6端口,接著由定時器1(16位定時器/計(jì)數(shù)器)的輸入捕捉特性譯碼。我選用比較簡單的紅外 指令結(jié)構(gòu)(Quasar牌電視機(jī)編碼054)以 少工作量。這種指令結(jié)構(gòu)的起始部分是固定長度的起始 沖,後面緊跟8位數(shù)據(jù),數(shù)據(jù)位用 沖與 沖之間的2個不同的時間間隔表示。在確認(rèn)固定長度的起始 沖後,你要做的只有兩件事∶捕捉接下來的8個 沖的時序;根據(jù)時間間隔將它們區(qū)分開來 分配適當(dāng)?shù)闹?。就像前面說的遙控單元不停地檢測傳來地指令然後執(zhí)行相應(yīng)的功能,導(dǎo)航功能僅局限瀏覽歌曲列表和從一個文件夾跳到另一個文件夾。這通過調(diào)整指向閃存,讀取歌名 把這些ASCII字符發(fā)送到 LCD顯示屏實(shí)現(xiàn)。

            通過AT90S2313的UART發(fā)送端口發(fā)送相應(yīng)的命令來實(shí)現(xiàn)播放,播放下一首,播放最後一首和暫停功能。同樣,此時NKM2401使用8字節(jié)數(shù)據(jù)包格式,同步字節(jié)和補(bǔ)充字節(jié)也必須按照需要加到16位指令字中。

            設(shè)計(jì)有專用的下載功能按鍵。按下它時程序功能變成接收從AT90S2313的UART端口送過來的字符,PC 生的數(shù)據(jù)就用該功能傳送到歌曲閃存中。

            Atmel 24C256閃存芯片 I2C接口的32K×8存儲器,其5ms的寫入時間有點(diǎn)慢但對本設(shè)計(jì) 無大礙,因 從服務(wù)器計(jì)算機(jī)送來的數(shù)據(jù)的速率是 1200bps,相當(dāng)于每8.3ms傳輸一個字符。AT90S2313沒有專門的I2C端口,因此這個功能必須用固件實(shí)現(xiàn)。主程序直接套用Atmel公司應(yīng)用筆記中的程序,效果很好。

            LCD 一個4×40點(diǎn)陣的器件,使用常見的Hitachi公司的HD44780控制器,實(shí)際上該控制器內(nèi)部包含兩個LSI控制器和一個公用的數(shù)據(jù)/控制接口,外加兩根ENABLE 。我必須改寫我原來的4位LCD驅(qū)動程序來應(yīng)付LCD1、2行字符由控制器1控制,3、4行字符由控制器2控制的情 。

          結(jié)語

             我覺得這個設(shè)計(jì)很有意思,也許是因?yàn)樗昧藷o線傳輸?shù)木壒拾伞bacom公司的接收/發(fā)射模塊配合該公司的編碼和解碼器件應(yīng)用,性能很好。此外,貼近用戶的AVR器件閃存編程能力使匯編程序的寫入變得非常輕松。

            對本設(shè)計(jì)我基本滿意,但仍然覺得有些不足的地方。我原來 不打算花那 多時間來做一個令人滿意的FM發(fā)射機(jī)模塊?,F(xiàn)在來說可能是遲了一點(diǎn),近來我看見市場上有Rohm公司的BH1416F無線音頻連接IC,它采用SOP22封裝,內(nèi)部包含完整的PLL穩(wěn)頻FM發(fā)射機(jī)和FM立體聲調(diào)制器。我買了這個芯片,打算以後試試。如果你不是一個超級音樂迷希望你可以將這里提到的一些想法用到其它方面去設(shè)計(jì)出更好的東西。



          關(guān)鍵詞: MP3 FM 紅外

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();