<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于MCU和音頻解碼器設計磁帶式MP3播放器

基于MCU和音頻解碼器設計磁帶式MP3播放器

作者: 時(shí)間:2013-03-01 來(lái)源:網(wǎng)絡(luò ) 收藏

  卡式磁帶機播放功能:mTape和通用盒式磁帶一樣可以放入卡式磁帶機中進(jìn)行同步播放、快進(jìn)、快退、暫停等所有功能。之所以能夠實(shí)現這些操作,完全在于它能夠測定卡式磁帶機導帶輪的轉動(dòng)速度的快慢及方向。在mTape中有兩小一大三個(gè)互相咬合的齒輪,其中一個(gè)小齒輪可以隨卡式磁帶機中的導帶轉軸轉動(dòng),就可以通過(guò)大齒輪帶動(dòng)另一小齒輪向同樣方向轉動(dòng)。在大齒輪正上方的PCB板上安裝有兩個(gè)反射式光耦, 以大齒輪中心為交點(diǎn)兩光耦的軸心線(xiàn)夾角為45。,當大齒輪的白色部分位于反射式光耦下部時(shí),由反射式光耦組成的電路會(huì )產(chǎn)生低電平;反之,當大齒輪的黑色部分位于反射式光耦下部時(shí),由反射式光耦組成的電路會(huì )產(chǎn)生高電平。這樣,當大齒輪勻速轉動(dòng)時(shí),兩個(gè)反射式光耦組成的電路就會(huì )產(chǎn)生A、B兩路方波。其中A路方波送入FS7821的通用GPIO,B路信號送到FS7821的外部中斷0引腳。A、B兩路方波相位總差90。。當B方波下降沿觸犯外部中斷0后,如果判斷A方波電平為高,就為向前轉;如果A方波為低電平,就為向后轉。轉動(dòng)速度可以通過(guò)計算單位時(shí)間內波形的數據進(jìn)行判斷。

USB充電:由于mTape內置一塊大容量的鋰電池,采用一枚高效率的鋰電池充電芯片將來(lái)自USB口的+5V電源通過(guò)變?yōu)楹銐?.2V對鋰電池進(jìn)行充電。

圖3mTape軟件架構


  自動(dòng)上電/斷電功能:當mTape插入卡式磁帶機并按下PLAY按鈕時(shí),mTape上的磁頭會(huì )被磁帶機的磁頭下壓,mTape磁頭的托架下的小棒就會(huì )插入位于它下面的透射式光耦的間隙中,由透射式光耦組成的電路會(huì )啟動(dòng)電源管理芯片為mTape供電。FS7821上電,并檢測系統狀態(tài),然后通過(guò)一個(gè)GPIO來(lái)控制電源管理芯片的狀態(tài),保持電源的穩定性。當卡式磁帶機處于暫?;蛲V範顟B(tài)時(shí),mTape的磁頭會(huì )彈起,磁頭托架下的小棒會(huì )從透射式光耦的間隙中抽出。光耦電路就會(huì )發(fā)出一個(gè)待機信號。如果這個(gè)信號持續時(shí)間超過(guò)5分鐘,FS7821就會(huì )關(guān)閉電源,為mTape斷電。

  軟件架構

  從軟件上來(lái)說(shuō),mTape主要有兩個(gè)功能,一個(gè)是音樂(lè )播放功能(包括便攜式MP3模式和卡式磁帶機播放模式),另一個(gè)是讀卡器功能。人-機界面管理(MMI management)程序根據mTape的按鍵、卡帶機傳來(lái)的信號、USB連接/斷開(kāi)等自由的切換這兩種功能。具體軟件架構見(jiàn)圖3。

  音樂(lè )程序流程:音樂(lè )功能部分的主要任務(wù)是FS7821從SD/MMC卡中讀取一個(gè)音頻文件然后送到解碼器FS2401進(jìn)行解碼。當所有的音樂(lè )文件播放完畢之后,mTape又返回播放第一首曲子,因此這是一個(gè)循環(huán)播放的模式。

  讀卡器功能:讀卡器程序可以分為兩個(gè)部分:USB連接偵測部分和讀卡器實(shí)體部分。當PC機的USB接口和mTape連接上以后,系統就進(jìn)入USB模式,執行讀卡器實(shí)體程序。

  MMI部分:MMI(人-機界面)管理部分處理用戶(hù)的發(fā)出的命令。用戶(hù)可以通過(guò)mTape上的按鍵、卡式磁帶機上的按鍵以及USB線(xiàn)的斷開(kāi)/連接對mTape發(fā)出命令。這些命令分為兩種:一種是USB命令,另一種是音樂(lè )播放命令。因為MMI沒(méi)有嚴格的實(shí)時(shí)性要求,而且程序不是十分復雜,所以在mTape中沒(méi)有必要采用實(shí)時(shí)操作系統。當FS2401沒(méi)有音頻數據傳送要求時(shí),FS7821就處于空閑狀態(tài)。利用這段空閑時(shí)間就足可以處理用戶(hù)發(fā)出的命令。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: MCU 音頻解碼器 MP3播放器

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>