文章導航PC6首頁軟件下載單機游戲安卓資源蘋果資源

pc軟件新聞網絡操作系統辦公工具編程服務器軟件評測

安卓新聞資訊應用教程刷機教程安卓游戲攻略tv資訊深度閱讀綜合安卓評測

蘋果ios資訊蘋果手機越獄備份教程美化教程ios軟件教程mac教程

單機游戲角色扮演即時戰略動作射擊棋牌游戲體育競技模擬經營其它游戲游戲工具

網游cf活動dnf活動lol周免英雄lol禮包

手游最新動態手游評測手游活動新游預告手游問答

您的位置:首頁精文薈萃硬件改造 → 挑戰DIY極限 打造超大容量mp3播放機

挑戰DIY極限 打造超大容量mp3播放機

時間:2004/10/8 15:32:00來源:本站整理作者:藍點我要評論(1)

  編者按:自己打造MP3?沒錯,作者此次介紹的就是真正的從零開始,自己設計電路,做電路板,編寫程序,自己DIY外殼。每一步的工作量都相當的大,作者此番打造花了大量的精力及時間。所有的工作恐怕難以在一篇文章就可以表述清楚,所以該文章只能精簡一些主要的東西,并且盡量把復雜的硬件和軟件說的簡單些,讓大多數DIY朋友能看懂,甚至有興趣親自動手做。



  DIY自己的MP3的一個很大原因是手頭有幾個小硬盤(1,2個G),扔了可惜,放在電腦里簡直是浪費主板的IDE接口,相信DIY玩家們都深有同感吧。所以我就想,如果不需要PC,直接接個解碼板就可以播放里面的MP3,那該是多好的事情啊。



  MP3播放機的工作原理



  首先來看看硬件結構:



  一個完整MP3播放機要分幾個部分:中央處理器、解碼器、存儲設備、主機通訊端口、音頻DAC和功放、顯示界面和控制鍵。如上圖。其中中央處理器和解碼器是整個系統的核心,在我的DIY作品中,這兩個部分集成在一個芯片中。這里的中央處理器我們通常稱為MCU(單片微處理器),簡稱單片機。它運行MP3的整個控制程序,也稱為fireware?刂芃P3的各個部件的工作:從存儲設備讀取數據送到解碼器解碼;與主機連接時完成與主機的數據交換;接收控制按鍵的操作,顯示系統運行狀態等任務。解碼器是芯片中的一個硬件模塊,或者說是硬件解碼(有的MP3播放機是軟件解碼,由高速中央處理器完成)。它可以直接完成各種格式MP3數據流的解碼操作,并輸出PCM或I2S格式的數字音頻信號。



  

解碼器



  存儲設備是MP3播放機的重要部分,通常的MP3隨身聽都是采用半導體存儲器(FLASH MEMORY),在我的作品中是用硬盤存作為存儲器。它通過主機通訊端口傳來的數據(通常以文件形式),回放的時候MCU讀取存儲器中的數據并送到解碼器。數據的存儲是要有一定格式的,眾所周知,PC管理磁盤數據是以文件形式,MP3也不例外,最常用的辦法就是直接利用PC的文件系統來管理存儲器,微軟操作系統采用的是FAT文件系統,這也是最廣泛使用的一種。播放機其中一個任務就是要實現FAT文件系統,即可以從FAT文件系統的磁盤中按文件名訪問并讀出其中的數據。



  主機通訊端口是MP3播放機與PC機交換數據的途徑,PC通過該端口操作MP3播放機存儲設備中的數據,拷貝、刪除、復制文件等操作。目前最廣泛使用的是USB總線,并且遵循微軟定義的大容量移動存儲協議規范,將MP3播放機作為主機的一個移動存儲設備。這里需要遵循幾個規范:USB通信協議、大容量移動存儲器規范和SCSI協議。



  音頻DAC是將數字音頻信號轉換成模擬音頻信號,以推動耳機、功放等模擬音響設備。這里要介紹一下數字音頻信號。數字音頻信號是相對模擬音頻信號來說的。我們知道聲音的本質是波,人說能聽到的聲音的頻率在20Hz到20kHz之間,稱為聲波。模擬信號對波的表示是連續的函數特性,基本的原理是不同頻率和振幅的波疊加在一起。數字音頻信號是對模擬信號的一種量化(如下圖),典型方法是對時間坐標按相等的時間間隔做采樣,對振幅做量化。單位時間內的采樣次數稱為采樣頻率。這樣一段聲波就可以被數字化后變成一串數值,每個數值對應相應抽樣點的振幅值,按順序將這些數字排列起來就是數字音頻信號了。這是ADC(模擬-數字轉換)過程,DAC(數字-模擬轉換)過程相反,將連續的數字按采樣時候的頻率順序轉換成對應的電壓。MP3解碼器解碼后的信息屬于數字音頻信號(數字音頻信號有不同的格式,最常用的是PCM和I2S兩種),需要通過DAC轉換器變成模擬信號才能推動功放,被人耳所識別。



  

聲波的數字化過程



  MP3播放機的顯示設備通常采用LCD或者LED發光二極管。顯示系統的工作狀態。



  控制鍵盤通常是按鈕開關。鍵盤和現實設備合起來構成了MP3播放機的人機交互界面。



  

按鈕開關



  軟件結構



  MP3播放機的軟件結構跟硬件是相對應的,即每一個硬件部分都有相應的軟件代碼,這是因為大多數的硬件部分都是數字可編程控制的。最簡化的MP3軟件處理任務只有兩個操作:



  1.讀取存儲器上的數據,送到解碼器,解碼器的輸出送到音頻DAC;



  2.分析USB主機控制器發的指令,完成對存儲器的操作,將操作結果送回USB主機。



  前一個處理過程完成了MP3數據的回放,后一個處理過程實現了USB移動存儲器。這兩個過程也是整個軟件部分最復雜的。除此之外的部分都是為了實現主要功能設計的,由于篇幅限制,不能對每個模塊詳細說明。



  DIY過程



  如此復雜的一個系統,DIY的過程也是漫長艱難的,從最初到初步完成歷時8個月。大致分成幾個階段:資料搜集和器件選型、繪制電路圖、制作印刷電路板、焊接和硬件調試、軟件編碼、外殼包裝。



  資料搜集和器件選型



  這項工作我很早就開始了。小小的MP3播放機匯聚了多項標準協議,包括MP3標準本身,用于存儲的FAT文件系統,USB通信協議和微軟大容量移動存儲標準;ヂ摼W真是個好東東,假如沒有互聯網,這個東西恐怕也不可能造出來。所有的參考資料都來自于網絡。



  資料是有了,能否實現關鍵依賴于能否找到合適的器件。好在一開始就選定了ATMEL公司的MP3單芯片解決方案,這顆IC真是做MP3絕好的選擇,它集成了MP3需要的大多數部件。外圍芯片也很重要,首先要解決的就是音頻DAC,選擇的要點是要能與解碼器輸出的數字音頻信號格式匹配,其次要考慮價格,是否能買到等因素。剩下的就是一些普通芯片了,邏輯門、存儲器,電源、功放、各種插件等。這可是一個痛苦的過程,在網上找到資料,經研究符合使用條件,于是就到市場上找,買到后回來做實驗。很多器件不是很容易就能買到的,買不到就得重新查資料,選新的型號,然后再去市場。輾轉很多次,最終定了現在看到的這些東西。



  接下來是繪制電路圖。首先要做的是根據各種芯片的數據手冊繪制原理圖,工具是protel 99se,這是一個廣泛使用的電路圖CAD軟件。



  原理圖設計好后是畫印刷電路板圖(簡稱PCB)。這種復雜程度的電路圖至少要用雙面板來設計了,否則走線根本走不通。這個過程需要準確測量元件的外形尺寸,安排他們的位置,叫做元件布局。當然大多數元件都有標準的外形尺寸,我們叫做封裝。所有的元件位置放好后就開始布線了(將原理圖中標記的需要連通的兩個管腳在線路板上用連起來)。雖然PROTEL提供了自動布線的能力,但是機器布線的目標是全部走通,并不考慮美觀問題和走線對信號的影響(這點在高速電路中尤其重要,MP3還不算是高速系統)。最終布線的結果就是下面這個樣子。



  接下來就是制作印刷電路板,如此密度的線路板已經不可能手工制作了,只能外包加工。電子市場有很多加工線路板的廠家,交給他們做就好了,這個我也不多介紹了。下面的圖就是最終做好的線路板,表面一層綠色的是阻焊層,因為多數IC的管腳非常密,如果沒有阻焊層焊接的時候很可能造成短路。銀白色的叫做焊盤,因為沒有被阻焊層覆蓋,裸露的銅表面燙了一層焊錫,為了將來焊接更方便。



  焊接



  焊接是個很大的挑戰,為了小型化和降低布線難度,大部分器件都采用表面焊接技術,表面焊接的器件特點是IC的管腳密度很大,阻容元件體積很小。其中主芯片有84個引腳,分布在芯片四周,兩管腳的中心距只有0.65mm,間距更是小到0.35mm。最小的是FLASH存儲器的管腳,中心距只有0.5,間距0.3mm。手工焊接這樣的器件一般有兩種方法,一種就是用普通烙鐵焊,焊接短路的地方用吸錫帶修整;另一種就是用熱風搶吹。我沒有熱風搶,只能用前一種方法。下面是我的焊接工具。



  電路調試



  線路板不能一次把所有的器件焊上,主要是為分部測試考慮,如果一下都焊上,有的器件有問題,影響整個電路工作,就不好找原因了。要先焊主芯片,以及主芯片運行所必需的一些外圍器件,完成后可以加點,看看主芯片是否正常運行。正常情況主芯片內部有一個引導程序(相當于PC的BIOS),它運行后連接USB總線能夠被PC發現新硬件。



  這些正常后可以繼續焊完其他的器件。如下圖,就是焊接完成的板子。其它部分的硬件需要程序來測試,比如硬盤的讀寫,串口通信,液晶顯示,鍵盤處理等。針對每個部件寫一段最簡單的程序進行測試,證明其能正常工作。



  軟件編碼



  完成了上面的所有工作,大約值進行了整個工程的30%,軟件至少占了50%的工作量。由于要實現文件系統和USB的通訊協議,需要大量復雜的數據結構和運算,為了提高開發效率,完全使用C語言來寫程序。軟件編碼很抽象,不象硬件值做那樣直觀,也就不過的描述了。這部分工作最終的結果就是賦予MP3播放機以靈魂,使一堆密密麻麻的電路動了起來,能夠接受人的控制,顯示自己的狀態,讀取硬盤的數據,最終播放出音樂。



  由于程序都是分模塊寫的,我沒精確統計過程序長度,大概估計有4000行C源代碼,編譯后有40多KB。也許朋友們會問怎么這么少?這對MCU來說已經很大了,要知道這個芯片只有64K的地址空間,也就是程序最大不能超過64K。



  至此可以說一個完整的MP3播放機已經誕生了,來看看它的完整照片。剩下的就是給他弄個外殼了。



  這個殼子在電子市場隨便就可以買到。選了半天就是為了能把上面圖中的這些東西都放進去;氐郊议_始對殼子進行改造,上學的時候我們稱這種活為土木工程,需要動用電動工具。把各個定位空都畫好后,打空,用銼刀修整。最后打造出面板和背板。




  

固定硬盤



  

固定鍵盤和液晶



  外殼內部也需要改造,做一些支架固定線路板、硬盤、電源、液晶等等。




  這就是最后的整機了。放在桌子上,書架上還是很好。如果你的MM宿舍沒有電腦,送給MM放在宿舍也不錯,呵呵。



  制作后記



  半年多的努力終于有了成果,由于是完全由自己DIY的東西,還有不少技術細節很難在這里完全表達清楚,而且我還要不斷完善我的這個作品。馬上要做的是給它加上遙控器,隨便找一個家電的遙控器就可以控制。



  最后,我要對大家說的是,一些產品并不是我們想像中的那么高深莫測的,只要肯動腦動手去摸索,其實是可以弄明白它的原理及制法的。通過這篇文章,我希望能讓更多的朋友嘗試這個原本讓人不敢接觸的領地,讓朋友們能輕松打造自己的MP3播放機。不過我也知道不少朋友單是通過這篇文章恐怕還很難完全掌握所有的細節,真正制作起來可能還存在著這樣那樣的疑問。如果讀者有什么疑問不懂的地方歡迎點擊這里了解更詳細的技術細節。



太平洋電腦網

  文/藍牙


相關閱讀 Mac訪問Windows共享文件夾Windows 7正版系統驗證方法windows 8.1系統版本號查看方法Windows 8.1系統電話激活時無法輸入微軟返回代碼解決方法Windows 8如何調整屏幕分辨率windows8.1磁盤占用100%解決方法Mac雙系統如何刪除Boot Camp安裝的Windows分區Apple教你如何在Mac 上運行 Windows

文章評論
發表評論

熱門文章 夏天水冷主機組裝攻略筆記本鍵盤失靈怎么辦翻新硬盤(返修盤)鑒定

最新文章 電腦頻繁重啟電源故障夏天水冷主機組裝攻略 筆記本電池校正方法蘋果g5機箱改造功放機箱實戰分享筆記本鍵盤失靈怎么辦?筆記本鍵盤拆卸圖解翻新硬盤(返修盤)鑒定技巧

人氣排行 ThinkPad筆記本刷BIOS教程手動探秘--IBM X31筆記本電腦完全拆解主板電池沒電引起電腦無法正常啟動的故障顯卡不夠怎么辦?廉價聲卡也有尊嚴--CMI8738聲卡使用心得免費午餐,865主板真的能開啟PAT嗎?蘋果g5機箱改造功放機箱實戰分享F6一鍵必殺!RAID方式下安裝Windows XP

世界斯诺克官网比分 特斯拉概念股票 黑龙江36选7预测 海南环岛自行车赛彩票 中超比赛 福彩双色球26选5 湖南亲友汇麻将下载 意甲联赛积分榜20 北京快3走势图今天快3 体彩飞鱼开奖查询 湖南闲来麻将苹果