新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 基于EPG3231和閃存的聲音播放器設計

        基于EPG3231和閃存的聲音播放器設計

        作者: 時間:2010-07-27 來源:網絡 收藏

        2.2 簡介
        EPG323l是ELAN公司的8位RISC單片機,它有11個8位并行口、1個8位電流輸出型的D/A、1個10位逐次逼近型A/D、1個通用異步收發器UART、1個8,16,24位的串行外設接口SPI、3個定時器等,硬件資源豐富,還支持手寫識別、語音識別、ADPCM編解碼等功能。另外,EPG3-23l的速度較快,在時鐘頻率為16 MHz時,指令周期為125 ns。
        2.3 與K9G8G08的電路連接
        圖3為與K9G8G08的電路連接圖。圖中沒有給出K9G8G08,只給出了EPG323l的基本電路及用網絡標號標出的與K9G8G08的連接引腳。K9G8G08的19引腳是寫保護,在實際電路中接+3.3 V(不保護)。需要說明的是,EPG323l的D/A輸出是48引腳(PBl),輸出電流信號,需要將其輸出轉換為電壓信號再送至后續的功放。其中比較簡單且可行的做法是在PBl與地之間接一只電阻來完成電流與電壓的轉換,關鍵是該電阻的取值。若電阻阻值較大,輸出波形的上部會出現限幅失真;若阻值較小,則不能最大限度地利用D/A的動態范圍。因此確定該電阻阻值的方法是:先接一只可調電阻,寫一段測試程序,向D/A反復連續地送00~FFH的數值,通過示波器觀察PBl輸出,調整可調電阻,使輸出為不失真的鋸齒波,且最高點為3.3 V(即參考電源VREX(70引腳)電壓)。

        本文引用地址:http://www.104case.com/article/166661.htm


        另外,圖3中使用EPG323l的D端口(PD0~PD7)與K9G8G08的I/O端口相連,這個端口必須是雙向的,使用其他的雙向端口也可以,但不要使用J端口和K端口,這兩個端口適用按鍵的輸入/輸出(矩陣鍵盤時的掃描輸出),速度比較慢,不能用于與K9G8G08的通信。還需注意的是,由于WAV文件中的編碼是無符號數(即OOH是最低電平,FFH是最高電平),而EPG323l的D/A輸入是有符號數(即80H是最低電平,7FH是最高電平),所以程序中應將WAV數據的最高位取反后送到D/A。

        3 軟件
        軟件之前,應確定好K9G8G08中數據存放的格式。
        首先是地址的格式。對K9G8G08內部存儲單元操作的地址是分5個字節送出的,所以地址的格式最好是按這5個字節編排,如表l所示。


        其次,根據NAND Flash的特點,其內部是可能有壞塊(BAD BLOCK)存在的,但BLOCK 0一定是有效塊(VALID BLl3CK),所以將壞塊信息存在BLOCK 0中。而K9G8G08的有效塊的個數在3 996~4 096之間,也就是說,壞塊的個數不大于100個。塊地址是由A19~A30決定的,為方便程序的編寫,將塊地址分3個字節存儲,各個地址位的安排同表1中的第3、4、5個字節,將A12~A18位放O。壞塊信息存儲區最多占用300個字節。
        第三,將聲音文件的目錄也存在BLOCK O中。目錄中的每條記錄占用64字節,其中前5個字節是聲音文件的起始地址,同樣為了方便程序的編寫,每字節中包含的地址位與表1一致;后面的59個字節是聲音的名字,比如歌曲名等,用0表示結束,如表2所示。從表2中可知,目錄區最多有4 088個記錄,應該能滿足一般的需要。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 赞皇县| 罗源县| 甘孜| 沈丘县| 渑池县| 望都县| 马山县| 个旧市| 大庆市| 韶山市| 资阳市| 祥云县| 千阳县| 黄大仙区| 大安市| 宜阳县| 渑池县| 吉安县| 平潭县| 襄汾县| 滨州市| 缙云县| 珲春市| 凤阳县| 娱乐| 德兴市| 黔南| 封开县| 介休市| 茶陵县| 佛学| 尤溪县| 楚雄市| 平陆县| 嘉鱼县| 织金县| 岢岚县| 赣榆县| 襄樊市| 阳西县| 榆林市|