




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
湖南工業(yè)大學本科畢業(yè)設計(論文)PAGEPAGE7大慶師范學院實訓總結報告實訓課題:金工實訓組員姓名:學院:物理與電氣工程學院專業(yè):物理教育班級:學號:日期導教師:物理與電氣信息工程學院實驗中心監(jiān)制目錄1實訓的目的意義簡介…………………12常用量具的使用……………………12.1游標卡尺……………2.2千分尺………………3鉗工加工………………3.1劃線操作……………3.2鋸削…………………3.3銼削…………………3.4鉆削…………………3.5攻絲…………………3.6套絲…………………4剪切…………………5沖壓…………………6空氣壓縮機的使用…………………7焊接…………………7.1焊條電弧焊………7.2點焊………………8經驗體會……………參考文獻………………練習制作小鐵錘實訓的目的意義簡介:金工實訓是一門實踐性的技術基礎課,也是高等院校工科學生學習機械制造的基本工藝方法和技術,完成工程基本訓練的重要必修課。通過實訓不僅可以了解機械制造地一般操作以及機械制造生產的主要設備,提高自己的動手實踐能力,還能加強的理論與實際相結合。在實訓的同時也了解了加工工藝過程和工程術語。這些實踐知識將為以后學習有關專業(yè)技術基礎課、專業(yè)課及畢業(yè)設計等打下良好的基礎。實訓培養(yǎng)了對簡單零件具有初步選擇加工方法和分析工藝過程的能力,并具有操作主要設備和加工作業(yè)的技能,初步奠定技能型應用型人才應具備的基礎知識和基本技能。常用量具的使用:游標卡尺千分尺3.鉗工加工:劃線操作鋸削銼削鉆削攻絲套絲4.注意事項:在實驗進行之前有很多東西要注意。首先在鋸鐵的時候要注意鐵板,要將它放平,以免發(fā)生意外掉落。使用鋸子時也要小心不要被劃傷。使用電磨打光時要小心火花。在進行鉆孔時要小心飛出的鐵屑。不要被作品上的毛刺刮傷。5.實驗步驟:(1)觀看視圖實驗有規(guī)定的視圖。標注了需要的尺寸。在下料之前要先計算需要多少的料。同時也為以后的加工奠定基礎。(2)下料在第一實訓時,我們進行了下料。實訓提供的是一大塊鐵板,要求我們將計算好尺寸的鑄鐵鋸下。我們小組2人選擇的方法是將一塊鋸下,再進行分割。剛開始使用小鋼鋸,沒有想到那么艱難。雖然是鐵板,但想象著會覺得像鋸木頭一樣容易。剛開始鋸時很費力,而且進度很慢。但是經過自己的思考以及揣測,還是找到了一些使用小鋼鋸的訣竅。經過我們2個人的輪番上陣個,最后將一塊約75*28*δ20的鋼板成功鋸下。但是接下來面臨的問題是,我們的料拋出的尺寸不是很多,所以要精確計算好如何分割。我們用虎鉗將料夾住,小心翼翼的將它鋸開。(3)打孔完成了初步的打磨之后,就要進行打孔了。首先,我們按照圖示在零件上面找到了圓心點。找完圓心點后,用樣錐在桌子上打了一個小坑點。然后將零件裝在虎鉗上(在裝載之前,我們已經清掃了虎鉗上的鐵屑)并且擺正,將料夾緊。因為在鉆孔之前向工廠里面的師傅請教了如何鉆孔。他建議我們先用φ8的麻花鉆鉆底孔,再用φ10的鉆頭擴孔,而且速度稍慢。這樣鉆出來的孔比較好。所以我們按照他說的操作步驟一步步進行。在加工的過程中,我們不斷加入冷卻液。因為沒有機油,我們用水當冷卻液。待料冷卻后,我們將它取下。(4)銼平零件打完空后,表面還不是很平的地方要將其銼平。在工作臺上,將零件裝夾在虎鉗上。這里很注意,將它夾得很緊。完全不會松動。因為害怕零件掉下來碰傷。以避免不必要的加工。我先用了平銼按圖示尺寸將零件哥哥平面銼平。保證各邊角的垂直。為了避免劃傷,我又將零件的各個邊倒角。再接著就是將兩個孔之間的多余物抹掉。這里也花了很多時間。先用小的銼刀一點點的銼。將孔銼到可以把大的平銼放進去為止。使用大的平銼的,不敢用力挫,還要注意不要把孔的兩個圓弧銼壞了。將兩邊的寬度達到10mm時就基本完成了。(5)砂平,打磨在砂之前,我向工廠的師傅要了一些砂布和砂紙。他告訴我們在使用砂布的時候,最好可以用一個平整的木頭包在砂布中,這樣方便操作。不管是使用砂布還是砂紙,打磨的方向都要盡量一致,這樣比較美觀。我們先將零件夾在虎鉗上,夾緊。再在各個平面進行打磨。先用砂布將大致尺寸的砂好,再使用砂布將零件的紋路細化,使零件的尺寸更加精確一些。(6)調整有些不到位的地方,要進行各種調整。再進行一些細微的修改。這樣可以使零件更加美觀,尺寸更加標準。實訓心得體會將來找工作也并不需要“紙上談兵”,而是要“實戰(zhàn)”?;镜膭邮帜芰κ枪ぷ鞯谋匾獥l件。隨著現(xiàn)代機械技術更廣泛、更深入的應用于各個領域,不僅要提高判斷和解決這些問題能力,另外還要注重提高手工技能。才能提高機械制造質量。以前這涉及機械方面的只有工程制圖這門課,所以對機械制造還不是很了解。而且對打磨的電磨比較懼怕的。覺得比較危險。雖然已經很認真的了解了操作的注意事項,但是在實際的操作中還是會出現(xiàn)一些錯誤。比如看圖沒有看準確。尺寸方面還是有一些偏差。而且剛開始打磨出來的地方很難看。鋸的的時候容易鋸歪。這也是大家普遍存在的問題。再來就是使用電磨,由于震動很大,所以剛開始有一點歪和不平,不過最后使用砂布和砂紙將面弄平了。打孔也容易打歪?;蛘呤谴蝈e方向的。使用平銼時,由于長時間的使用一根手指支撐著,導致手特別的酸麻。以至于后來的進度也變慢了。在使用砂布砂紙的過程中也出現(xiàn)了類似疲勞的情況。在平時的生活中常常使用到得錘子,看似簡單,加工起來卻很困難。總結本次的金工實訓,我受益頗多。整個實訓過程基本上由學生自主完成。對我們深入學習專業(yè)知識有極大的幫助。整個實訓過程,如何在實踐過程中,將理論應用于實際;如何在未知的困難前學會鎮(zhèn)定;如何在學習中與同學互相幫助,共同解決問題;相信成功就在眼前。一切一切的體會都讓我從這次實訓中受益匪淺。這次實訓磨練人的耐心和意志,從中我學會了一種精神:一絲不茍,認真操作,沉著冷靜,戒驕戒躁。本科畢業(yè)設計(論文)資料題目名稱:WAV播放器的設計與制作學院(部):電氣與信息工程學院專業(yè):電子信息工程學生姓名:班級:電信學號指導教師姓名:職稱最終評定成績:湖南工業(yè)大學教務處
本科畢業(yè)設計(論文)資料第一部分畢業(yè)論文本科畢業(yè)設計(論文)學院(部):電氣與信息工程學院專業(yè):電子信息工程學生姓名:班級:學號指導教師姓名:職稱最終評定成績摘要本課題研究的是基于WAV格式的播放器的設計與制作。該課題涉及的技術主要有,SD卡讀寫、FAT32文件系統(tǒng)讀寫、TFT驅動顯示、電阻式觸摸屏驅動、WAV文件解碼、IIS音頻驅動。對于WAV格式文件的解碼采用的是軟件解碼的方式,在本次設計中已成功實現(xiàn)了對容量1G字節(jié)的SD卡的讀寫,且實現(xiàn)了對存在于SD卡中FAT32文件系統(tǒng)的文件的搜尋和讀寫,實現(xiàn)了WAV文件的軟件解碼并將解碼后的PCM數據送進IIS接口輸出經音頻驅動IC播放,WAV解碼采用了雙緩沖區(qū)解碼。至于TFT驅動顯示部分已成功實現(xiàn)漢字字庫的移植顯示和bmp文件的顯示,在觸摸屏方面,成功采用三點式校驗法將觸摸屏校準成功。在本次設計中我采用了三星公司生產的ARM9處理器S3C2440AWAV播放器由五個模塊組成,分別是電源模塊、MCU核心控制模塊、音頻驅動模塊、SD卡模塊和TFT及觸摸屏模塊。關鍵詞:嵌入式,WAV播放器,SD卡,F(xiàn)AT32,TFT ABSTRACTThistopicstudiestheplayer'sdesignandproductionbasedontheWAVformat.ThemaintechnologiesinvolvedinthissubjectarethereadingandwritingofSDcardandFAT32filesystem、thedriveranddisplayingofTFT、theresistivetouchscreendriver、WAVfiledecodingandIISaudiodriver.Thedesignhasbeensuccessfullyrealizedthereadingandwritingofthecapacityof1GbyteSDcard,andachievedthesearching、readingandwritingofFAT32filesystem'sfileexistingintheSDcard.FilesearchandreadandwriteWAVfilessoftwaredecodinganddecodingPCMdataissenttotheIISinterfaceoutputbytheaudiodriverIC,playWAVdecoderusingdual-bufferdecoding.AtthesametimeithasachievedasoftwaredecoderoftheWAVfilesandsentthedecodedPCMdatatotheIISinterfacetoplay.TheWAVdecoderusesdual-bufferdecoding.InthepartofTFTdriveranddisplaying,itsuccessfullycompletesthetransplantationoftheChinesecharacterandtheshowofbmpfile.Inthetouchscreenrespect,Iusedthethree-pointcalibrationmethodtothetouchscreencalibration.Inthisdesign,IusetheSamsungARM9processorS3C2440AWAVplayerhasavarietyofprogramstoachieve.Hereconsistsoffivemodules,respectivelyofthepowersupplymodule,MCUcorecontrolmodule,theaudiodrivermodule,SDcardmoduleandTFTtouchscreenmodule.Keywords:Embedded,WAV
player,SD
card,FAT3,TFT目錄摘要 ………………………..IABSTRACT II目錄 ………………………..1第1章 課題背景與目標任務 21.1課題意義及背景 21.2目標任務 21.3研究思路與方案 2第2章 系統(tǒng)設計 32.1系統(tǒng)框圖 32.2硬件設計 32.2.1核心板接口設計 32.2.2電源模塊設計 42.2.3音頻驅動電路設計 52.2.4TFT觸摸屏電路設計 52.2.5SD卡電路設計 72.2.6整體電路圖 82.3軟件設計 82.3.1SD卡讀寫函數模塊 92.3.2FAT32文件系統(tǒng)讀寫函數模塊 122.3.3WAV文件解碼模塊 162.3.4IIS音頻驅動函數模塊 192.3.5TFT顯示及觸摸屏讀取模塊 19第3章 系統(tǒng)仿真與調試 213.1SD卡讀寫硬件仿真 213.2FAT32文件系統(tǒng)讀寫硬件仿真 213.3WAV文件解碼硬件仿真 223.4觸摸屏校驗硬件仿真 22結論 ……………………….23參考文獻 24致謝 ……………………….25課題背景與目標任務1.1課題意義及背景隨著人們收入水平的不斷提高,物質生活的滿足下,人們的精神生活越來越需要得到豐富。音樂,作為精神生活很好的調劑與保養(yǎng)品,一直以來都受到人們的喜愛。電子技術不斷發(fā)展,各種消費電子都傾向于便攜式,使得人們隨時隨地就能欣賞到美妙的音樂,音樂播放器,自然就成為了很多消費電子產品中的必備。WAV文件是一種無損編碼音樂文件格式,具有編碼簡單解碼容易特點。WAV文件里聲音波形數據是經過PCM編碼的,且這種編碼形式在我們數字通信課程上也有學到,而充當解碼的的核心控制處理器,也是我們所學課程嵌入式的內容。這就很好的強化了我們所學知識,達到了學以致用目的。1.2目標任務(1)了解WAV播放器的結構和工作原理;(2)了解SD卡的結構和開發(fā)技術;(3)掌握單片機應用系統(tǒng)的設計和開發(fā)方法;(4)畫出系統(tǒng)硬件電路圖;(5)編寫系統(tǒng)軟件程序。1.3研究思路與方案WAV播放器有很多種方案實現(xiàn),在這里我們由五個模塊組成,分別是電源模塊、MCU核心控制模塊、音頻驅動模塊、SD卡模塊和TFT及觸摸屏模塊組成。(1)電源模塊由5VDC電源提供,也可充電式鋰電池提供,然后經穩(wěn)壓芯片提供給各個模塊相應的電壓;(2)MCU核心控制模塊也可以有很多選擇,但選用普通的51單片機且沒有專用解碼芯片的話,對高音質的音樂文件進行解碼播放的話就會顯得力不從心了。在這里我采用三星公司的ARM9處理器S3C2440A(3)音頻驅動模塊則選用現(xiàn)在應用很廣的驅動芯片UDA1341TS;(4)至于SD卡模塊則是一固定的SD卡座電路;(5)TFT及觸摸屏模塊采用東華液晶顯示公司的3.5寸屏WXCAT35-TG3#001F。系統(tǒng)設計2.1系統(tǒng)框圖圖2.1整體框圖2.2硬件設計由于硬件制作難度較大,且單套制作成本高,為完成系統(tǒng)設計的驗證決定采用廣州天嵌計算機科技有限公司的TQ2440開發(fā)板。該開發(fā)板分由兩塊板組成,分別為核心板和底板,核心板為一最小系統(tǒng)板,板載三星S3C2440A處理器,帶有2M字節(jié)的NorFlash和64M字節(jié)SDRAM以及256M字節(jié)的NandFlash存儲器,所有可用I/O均用排針引出。底板則附帶有很多外設接口,像TFT觸摸屏接口、攝像頭接口、音頻接口、串口通訊接口、SD卡接口、100M網絡接口、USB主機接口和USB設備接口等。在本系統(tǒng)中只用到TFT觸摸屏接口、音頻接口和SD卡接口2.2.1核心板接口設計核心板接口電路僅是把處理器S3C2440A的I/O引腳引出至底板,并沒什么復雜的電路,在設計中我們要根據處理器的I/O引腳功能來分配管腳,由于這里我們是采用現(xiàn)成的開發(fā)進行二次設計,因此在這里我們就玩需擔心這個,只需注意NorFlash和SDRAM的地址起始地址和結束地址范圍,以及啟動方式選擇引腳圖2.2核心板接口電路圖2.2.2電源模塊設計由于對電流的要求較小,為節(jié)約設計時間與成本,提高可靠性,電源可以采用集成電路實現(xiàn)。因此電源模塊電路的設計其實就是三端穩(wěn)壓集成電路的運用,在這里我們采用AS1117AR-3.3三端穩(wěn)壓器,前端輸入電壓為直流電壓,電壓范圍為4.7V-10V,輸出為3.3V。同時設計了電池與直流電源無擾切換供電模式,如果電池為可充電電池時,則在供電的同時還可以通過直流電源對其充電。如果為非充電電池則要去掉二極管D3。當接上直流電源時二極管D1截止,此時系統(tǒng)由直流電源直接供電,且當電池電量低時,D3導通,直流電源對電池進行充電,當充電充滿時D3截止;當無直流電源供電時,D1導通,電池向系統(tǒng)供電。圖2.3電源模塊電路圖2.2.3音頻驅動電路設計音頻電路則是采用PHILIPS公司生產的一款應用很廣的芯片UDA1341TS,該芯片即可對聲音數據進行還原還可以圖2.4音頻電路圖2.2.4TFT觸摸屏電路設計TFT觸摸屏電路采用的是TFT標準電路,由于不同TFT屏的電壓不同,在這里用一個2*2排針通過短路帽進行選擇。其余引腳的功能見表2.1。圖2.5TFT接口電路圖 表2.1LCD接口引腳功能表 引腳號引腳名作用1LED_VDD背光電源2VDDTFT主電源3VD0藍色數據最低位4VD1藍色數據第二位5VD2藍色數據第三位6VD3藍色數據第四位7VD4藍色數據第五位8VD5藍色數據第六位9VD6藍色數據第七位10VD7藍色數據最高位11GNDLED電源地12VD8綠色數據最低位13VD9綠色數據第二位14VD10綠色數據第三位15VD11綠色數據第四位16VD12綠色數據第五位17VD13綠色數據第六位18VD14綠色數據第七位19VD15綠色數據最高位20GNDTFT主電源地21VD16紅色數據最低位22VD17紅色數據第二位23VD18紅色數據第三位24VD19紅色數據第四位25VD20紅色數據第五位26VD21紅色數據第六位27VD22紅色數據第七位28VD23紅色數據最高位29GND地30LCD_PWRLCD電源控制31I2CSDA串行數據輸入32I2CSCL串行接口時鐘33VM數據使能信號34VFRAME幀信號35VLINE行信號36VCLK數據時鐘37TSXM觸摸屏橫向端點38TSXP觸摸屏橫向端點39TSYM觸摸屏縱向端點40TSYP觸摸屏縱向端點2.2.5SD卡電路設計SD卡電路則是一標準的接口電路,SD卡接口電平范圍為2.0V-3.6V,由于我們所用處理器I/O引腳電平為3.3V所以剛好兼容只需對接口引腳加入上拉電阻,若不兼容必須進行電平轉換。電平轉換則可采用電平轉換IC。 圖2.6SD卡電路圖 2.2.6整體電路圖 圖2.7整體電路圖 2.3軟件設計軟件部分設計是本次設計的核心部分,主要由SD卡讀寫函數模塊、FAT32文件系統(tǒng)讀寫函數模塊、WAV文件解碼模塊、IIS音頻驅動函數模塊、TFT顯示及觸摸屏讀取模塊組成,由于程序量巨大,因此在本文中不會列出源碼,下文的設計中只會說明如何軟件編寫流程,只要熟悉了這些流程后就可以編寫出代碼。主流程圖如下:圖2.8主程序流程圖2.3.1SD卡讀寫函數模塊要對SD卡進行正確讀寫就必需了解SD卡協(xié)議,其中對SD卡指令的熟悉是一個很重要的部分。SD卡的指令被封裝成48位的數據包,每次傳送這48位的數據包。數據包的內容包括起始位、結束位、傳輸位、命令索引、傳輸參數和7位CRC校驗碼。其具體格式分布如下表。表2.2SD卡指令格式表Bit位置4746[45:40][39:08][07:01]00Bit寬度1163271值“0”“1”xxx“1”說明起始位發(fā)送標志位命令參數CRC7結束位表2.3SD卡指令說明CMD簡略語指令說明0GO_IDLE_STATE這是使card初始化到Idle狀態(tài)的指令。CS信號設在Low的狀態(tài)時,接到本指令后,card將轉換到SPI模式1SEND_OP_COND接到本指令后,card將做R3回應(含有OCR數據).根據OCR值,可以得知card能工作電壓范圍.OCR數據最高值位的1bit是用來確認card內部處理是否結束(Ready/Busy輪詢).2ALL_SEND_CID接到本指令后,處于Ready狀態(tài)的card將傳送CID數據.在MMC模式下,數據被送到CMD信號,在CID數據的每1bit傳送后,CMD信號狀態(tài)將與該card內部狀態(tài)相比較,如果不一致,將中止數據傳送,card返回到Ready狀態(tài).如果相一致,該card將認為已被選中,然后轉換到Identification狀態(tài).3SET_RELATIVE_ADDR本指令會為已轉換到Identification狀態(tài)的card分配一個相對card地址(RCA).當RCA分配后,card將轉換到Stand-by狀態(tài),對以后的CMD2和CMD3不回應.4NOP這是用來設定DSR(DriveState寄存器)的指令,但是本car不支持DSR.7SELECT/DESELECT_CARD本指令是用來選擇一張card,讓它在Stand-by狀態(tài)和Transfer狀態(tài)之間轉換的指令.如果給card設定已分配到的RCA地址,card將從Stand-by狀態(tài)轉換到Transfer狀態(tài),并將回應以后的讀取指令及其他指令.如果給card設定RCA以外的地址,card將轉換到Stand-by狀態(tài)。當RCA=0000h時,card將無條件地轉換到Stand-by狀態(tài).9SEND_CSD接到本指令后,將傳送CSD數據.10SEND_CID接到本指令后,將傳送CID數據.11READ_DAT_UNTIL_STOP接到本指令后,將從設定的地址傳送P2ROM數據,直到接到指令CMD12為止.12STOP_TRANSMISSION本指令強行終止CMD11和CMD18的處理13SEND_STATUS接到本指令后,將傳送狀態(tài)寄存器的信息.15GO_INACTIVE_STATE接到本指令后,將轉換到休止(inactive)狀態(tài).16SET_BLOCKLEN本指令用來設定Block長度.對象是以后的指令CMD17和CMD18.17READ_SINGLE_BLOCK接到本指令后,將從自變量設定的地址傳送1個block長度的數據.(block長度由指令CMD16設定).18READ_MULTIPLE_BLOCK接到本指令后,將從自變量設定的地址連續(xù)傳送block長度的數據,直到接到指令CMD12為止.(block長度由指令CMD16設定).23SET_BLOCK_COUNT本指令是給緊跟的指令CMD18設定要傳送的block數量.24WRITE_BLOCK接到本指令后,將寫1個block長度的數據到自變量設定的地址.(block長度由指令CMD16設定).25WRITE_MULTIPLE_BLOCK接到本指令后,將連續(xù)寫block長度的數據到自變量設定的地址,直到接到指令CMD12為止.(block長度由指令CMD16設定).58READ_OCR接到本指令后,Card將傳送OCR數據.59CRC_ON_OFF本指令是用來設定CRC選項為ON或OFF.在SPI模式下,CRC的初始值設定為OFF.[CRC選項[bit=1]表示CRCON;[CRC選項[bit=0]表示CRCOFF.SD卡有兩個可選的通訊協(xié)議:SD模式和SPI模式。SD模式下傳輸速度比SPI模式快,由于我們采用的處理器S3C2440A帶有SD卡控制組件,因此我們使用SD卡模式。下面列出讀寫流程圖。圖2.9SD卡讀寫流程圖2.3.2FAT32文件系統(tǒng)讀寫函數模塊SD卡讀寫部分最終是完成SD卡的扇區(qū)讀寫進而為FAT32文件系統(tǒng)服務,F(xiàn)AT32文件系統(tǒng)包含四個部分。1、保留扇區(qū)位于最開始的位置。第一個保留扇區(qū)是引導區(qū)(分區(qū)啟動記錄)。它包括一個稱為基本輸入輸出參數塊的區(qū)域(包括一些基本的文件系統(tǒng)信息尤其是它的類型和其它指向其它扇區(qū)的指針),通常包括操作系統(tǒng)的啟動調用代碼。保留扇區(qū)的總數記錄在引導扇區(qū)中的一個參數中。引導扇區(qū)中的重要信息可以被DOS和OS/2中稱為驅動器參數塊的操作系統(tǒng)結構訪問。2、FAT區(qū)域它包含有兩份文件分配表,這是出于系統(tǒng)冗余考慮,盡管它很少使用,即使是磁盤修復工具也很少使用它。它是分區(qū)信息的映射表,指示簇是如何存儲的。3、根目錄區(qū)域它是在根目錄中存儲文件和目錄信息的目錄表。在FAT32下它可以存在分區(qū)中的任何位置,但是在早期的版本中它永遠緊隨FAT區(qū)域之后。4、數據區(qū)域這是實際的文件和目錄數據存儲的區(qū)域,它占據了分區(qū)的絕大部分。通過簡單地在FAT中添加文件鏈接的個數可以任意增加文件大小和子目錄個數(只要有空簇存在)。然而需要注意的是每個簇只能被一個文件占有,這樣的話如果在32KB大小的簇中有一個1KB大小的文件,那么31KB的空間就浪費掉了。保留扇區(qū)在FAT32文件系統(tǒng)中非常重要,其主要信息如下表 表2.4保留扇區(qū)結構表介紹了保留扇區(qū)后接下來就是FAT表區(qū)了,F(xiàn)AT表與存儲器各簇一一對應,即該存儲器有多少扇區(qū)則FAT表就有多少項,對于FAT32文件系統(tǒng)每個表項為32Bit。對于大文件,需要分配多個簇。同一個文件的數據并不一定完整地存放在磁盤中一個連續(xù)區(qū)域內,而往往會分成若干段,像鏈子一樣存放。這種存儲方式稱為文件的鏈式存儲。為了實現(xiàn)文件的鏈式存儲,文件系統(tǒng)必須準備地記錄哪些簇已經被文件占用,還必須為每個已經點用的簇指明存儲后繼內容的下一個簇的簇號,對文件的最后一簇,則要指明本簇無后繼簇。這些都是由FAT表來保存的,F(xiàn)AT表的對應表項中記錄著它所代表的簇的有關信息:諸如是否空,是否壞簇,是否已經是某個文件的尾簇等。以下為FAT16文件系統(tǒng)的FAT表結構表2.4保留扇區(qū)結構表圖3.0FAT32文件讀寫流程圖2.3.3WAV文件解碼模塊IIS接口只接受PCM數據,因此我們必需從WAV文件中解碼出PCM數據出來,這就需要要了解WAV文件的格式。WAV全稱是WAVE,
WAVE文件作為多媒體中使用的聲波文件格式之一,它是以RIFF格式為標準的。RIFF是英文ResourceInterchangeFileFormat的縮寫,每個WAVE文件的頭四個字節(jié)便是“RIFF”。WAVE文件是由若干個Chunk組成的。按照在文件中的出現(xiàn)位置包括:RIFFWAVEChunk,FormatChunk,FactChunk(可選),DataChunk。具體見下圖:圖3.1WAVE格式框圖每個Chunk有各自的ID,位于Chunk最開始位置,作為標示,而且均為4個字節(jié)。并且緊跟在ID后面的是Chunk大?。ㄈコ齀D和Size所占的字節(jié)數后剩下的其他字節(jié)數目),4個字節(jié)表示,低字節(jié)表示數值低位,高字節(jié)表示數值高位。下面具體介紹各個Chunk內容,在編程中可根據下表建立相應的結構體。表2.4RIFFWAVEChunk結構項目所占字節(jié)數內容ID4字節(jié)‘RIFF’SIZE4字節(jié)根據文件大小而定TYPE4字節(jié)‘WAVE’表2.5FormatChunk結構項目所占字節(jié)數內容ID4字節(jié)‘fmt’SIZE4字節(jié)數值為16或18,18則最后又附加信息FormatTag
2字節(jié)編碼方式,一般為0x0001Channels
2字節(jié)聲道數目,1--單聲道;2--雙聲道SamplesPerSec4字節(jié)采樣頻率
AvgBytesPerSec4字節(jié)每秒所需字節(jié)數BlockAlign2字節(jié)數據塊對齊單位(每個采樣需要的字節(jié)數)BitsPerSample2字節(jié)每個采樣需要的bit數
2字節(jié)附加信息(可選,通過Size來判斷有無)表2.6FactChunk結構項目所占字節(jié)數內容ID4字節(jié)‘fact’SIZE4字節(jié)數值為4Data4字節(jié)根據軟件而定表2.7DataChunk結構項目所占字節(jié)數內容ID4字節(jié)‘data’SIZE4字節(jié)根據文件大小而定Data根據文件大小而定PCM數據表2.8PCM數據存放結構聲道樣本1樣本28位單聲道0聲道0聲道8位立體聲0聲道(左)1聲道(右)0聲道(左)1聲道(右)16位單聲道0聲道低字節(jié)0聲道高字節(jié)0聲道低字節(jié)0聲道高字節(jié)16位立體聲0聲道(左)低字節(jié)0聲道(左)高字節(jié)1聲道(右)低字節(jié)1聲道(右)高字節(jié)根據上表各個Chunk的結構就可取出WAV文件的PCM數據,但是又有一個問題出現(xiàn)了WAV音樂文件一分鐘大約10M左右,一般的音樂都有3-4分鐘長的甚至上十分鐘,如果一次性解碼一個文件那就需要很大的運行內存,同時文件越大預解碼時間就會越長,這顯然不是我們想要的結果,因此在這里我們采用雙緩沖區(qū)解碼方式。我們設立兩個緩沖區(qū),每個緩沖區(qū)有不同的狀態(tài),分別為解碼狀態(tài)、播放狀態(tài)、解碼完畢狀態(tài)、播放完畢狀態(tài)。剛開始將緩沖區(qū)初始化為播放完成狀態(tài),開始對WAV文件進行解碼,當一個緩沖區(qū)放滿之后轉向下一個緩沖區(qū)解碼,解碼完成后等待播放,同時不斷的查詢有無播放完畢,如播放完畢則繼續(xù)解碼WAV文件至緩沖區(qū)。同時播放時也會查詢數據有無解碼完畢,如沒有解碼完畢則等待解碼。2.3.4IIS音頻驅動函數模塊S3C2440A處理器自帶有IIS組件,再加上DMA可以很容易的將音樂數據送入外圍器件,流程圖如下:圖3.2音頻驅動流程圖2.3.5TFT顯示及觸摸屏讀取模塊S3C2440A要成功的驅動TFT顯示,對TFT的控制時序的了解是必須的。在這里列出TFT的控制時序。圖3.2TFT控制時序圖在了解了時序之后就需要根據屏數據手冊中的參數來配置S3C2440A表2.9TFT時序參數表對于觸摸屏數據的讀取是非常容易的,難點是將觸摸屏轉換的數據和TFT像素一一對應,這里就涉及到了一個校準問題,在這里我們采用三點校準法。當觸摸屏與液晶屏間的角度差很小時,經過推理可以假設觸摸屏與液晶顯示器各點之間的對應關系為(高液晶顯示器的坐標為(XL,YL),觸摸屏的坐標為(X,Y)):XL=AX+BY+C①YL=DX+EY+F②因為要取三個點進行校準,所以存在六個變量即要通過六個方程式求出液晶顯示器的坐標。得:XL1=AX1+BY1+CYL1=DX1+EY1+FXL2=AX2+BY2+CYL2=DX2+EY2+FXL3=AX3+BY3+CYL3=DX3+EY3+F根據這六個方程式則可求出,A,B,C,D,E,F。將其代入①②式就可求出觸摸屏對應TFT液晶屏上的點。系統(tǒng)仿真與調試3.1SD卡讀寫硬件仿真表3.1SD卡讀寫仿真記錄表硬件仿真項目硬件平臺仿真過程與結果SD卡讀寫TQ2440開發(fā)板加1G字節(jié)SD卡過程:將SD卡插入開發(fā)板卡座,下載程序后,讓處理器對SD卡一扇區(qū)寫入數據并讀出,對照寫入與讀出數據是否一致就可判斷是否寫入成功。結果:寫入數據與讀出數據一致,SD卡讀寫成功。3.2FAT32文件系統(tǒng)讀寫硬件仿真表3.2FAT32文件系統(tǒng)讀寫仿真記錄表硬件仿真項目硬件平臺仿真過程與結果FAT32文件系統(tǒng)讀寫TQ2440開發(fā)板加1G字節(jié)SD卡過程:將SD卡裝入讀卡器然后用PC機將SD卡格式化為FAT32文件系統(tǒng)格式,并裝入一個BMP圖像文件,再將SD卡插入開發(fā)板卡座,下載程序開始硬件仿真。結果:成功將BMP圖像文件于TFT屏顯示,F(xiàn)AT32文件系統(tǒng)讀寫與TFT顯示成功。3.3WAV文件解碼硬件仿真表3.3WAV文件解碼仿真記錄表硬件仿真項目硬件平臺仿真過程與結果WAV文件解碼TQ2440開發(fā)板加1G字節(jié)SD卡過程:將SD卡裝入讀卡器然后用PC機將SD卡格式化為FAT32文件系統(tǒng)格式,并裝入一個WAV音頻文件,再將SD卡插入開發(fā)板卡座,下載程序開始硬件仿真。結果:成功將WAV音頻文件播放,但有稍許雜音。3.4觸摸屏校驗硬件仿真表3.4SD卡讀寫仿真記錄表硬件仿真項目硬件平臺仿真過程與結果觸摸屏校驗TQ2440開發(fā)板加1G字節(jié)SD卡過程:在TFT上選三個坐標分別顯示“十”字,用筆依次點擊這幾個點,將得到的三個數據計算出校準系數,并用第四個點來觀察校準效果。結果:在320*240分辨率TFT屏上能實現(xiàn)X軸和Y軸5個分辨率的精度。結論經過幾個月的努力,終于完成了本次設計任務。在這次任務中首先是通過查找資料完成硬件平臺的搭建,平臺采用三星公司生產的高性能ARM9處理器S3C2440A為主控制核心;TFT及觸摸屏模塊采用東華液晶顯示公司的3.5寸屏WXCAT35-TG3#001F,該屏有自帶觸摸屏;音頻驅動模塊則選用現(xiàn)在應用很廣的驅動芯片UDA1341TS;至于SD卡模塊則是一固定的SD卡座電路在完成了硬件平臺的搭建后,就開始了軟件系統(tǒng)的設計,由于任務量比較大,涉及知識較,所以采用了模塊式設計方法。按照先后順序1、首先調試完成了S3C2440A2、然后完成了FAT32文件系統(tǒng)的文件搜尋、讀取與創(chuàng)建功能;3、接著成功驅動了TFT屏顯示;4、再又實現(xiàn)了以S3C2440A處理器向存在于SD卡中的FAT32文件系統(tǒng)中的BMP文件的讀取并經解碼后送入TFT顯示;5、在這之后熟悉UDA1341TS芯片,并能通過處理器對其進驅動控制;6、了解WAV文件格式及其編碼;7、實現(xiàn)以S3C2440A8、實現(xiàn)觸摸屏的驅動及校準。至此已初步完成了設計任務,但還是存在一些問題有待解決:1、軟件系統(tǒng)運行不太穩(wěn)定,在有些特殊情況下程序容易跑飛;2、采用UDA1341TS播放聲音文件時會有少許雜音;3、對觸摸屏的操作響應的準確率不夠,容易誤響應或不響應操作;4、TFT操作界面不夠華麗;5、成本較高,方案實用性較差。 參考文獻 [1]馬忠梅.單片機的C語言應用程序設計[M].北京:北京航空航天大學出版社,2005:229-230.[2]//[3]歐偉明,等.單片機原理與應用系統(tǒng)設計[M].北京:電子工業(yè)出版,2009:187-191.[4]SanDiskCorporation.SecureDigitalCardProductManualRevision1.7,2003[5]張華林,葛水煥.基于GPS時鐘的打鈴儀設計[J].單片機與嵌入式系統(tǒng)應用,2009,=10\*GB2⑽:55-61.[6]黃智偉.全國大學生電子競賽培訓教程[M].北京:電子工業(yè)出版,2005:108-139.[7]郭天祥.51單片機C語言教程[M].北京:電子工業(yè)出版,2010:355-381.[8]MicrosoftExtensibleFirmwareInitiativeFAT32FileSystemSpecification.MicrosoftCorporation[9]/view/8033.htm.[10]/view/2228.htm.致謝本文是在導師阿蔣中榮教授的悉心關懷和精心指導下完成的。在大學的學習過程中,張老師精深的學術造詣、嚴謹的治學態(tài)度、腳踏實地的工作作風、誨人不倦的崇高精神、平易近人的長者風范始終激勵著我不斷克服困難,奮發(fā)前進,必將成為我今后成長道路上學習的典范。同時,在這一段學習期間,歐偉明教授也給與我無微不至的關懷和莫大的幫助,讓我受益匪淺。師恩浩蕩,沒齒難忘,在此,學生向蔣老師、歐老師表示深深的感謝,并致以崇高的敬意。附錄voidCheckTouchpanel(void){// intDAT[3][2]; intDAT1[3][2]={11,30,309,220,150,120}; intx1,y1,x2,y2,x3,y3,xl1,yl1,xl2,yl2,xl3,yl3; floata,b,c,d,e,f,k; rINTMOD=0x00; rCLKCON|=0x01<<15; rADCDLY=50000; rADCCON=(1<<14)+(ADCPRS<<6); rADCTSC=0xd3; pISR_ADC=(int)AdcTsAuto; rINTMSK=~BIT_ADC;//ADCTouchScreenMaskbitclear rINTSUBMSK=~(BIT_SUB_TC); rDSC0=0x2aa; rDSC1=0x2aaaaaaa;lll: Lcd_ClearScr(0x00); GlibCursor(DAT1[checkcount][0],DAT1[checkcount][1],0xffff); while(checkcount<1); Lcd_ClearScr(0x00); GlibCursor(DAT1[checkcount][0],DAT1[checkcount][1],0xffff); while(checkcount<2); Lcd_ClearScr(0x00); GlibCursor(DAT1[checkcount][0],DAT1[checkcount][1],0xffff); while(checkcount<3); xl1=DAT1[0][0]; xl2=DAT1[1][0]; xl3=DAT1[2][0]; yl1=DAT1[0][1]; yl2=DAT1[1][1]; yl3=DAT1[2][1]; x1=DAT[0][0]; x2=DAT[1][0]; x3=DAT[2][0]; y1=DAT[0][1]; y2=DAT[1][1]; y3=DAT[2][1]; k=(x1-x3)*(y2-y3)-(x2-x3)*(y1-y3); a=((xl1-xl3)*(y2-y3)-(xl2-xl3)*(y1-y3))/k; b=((x1-x3)*(xl2-xl3)-(xl1-xl3)*(x2-x3))/k; c=(y1*(x3*xl2-x2*xl3)+y2*(x1*xl3-x3*xl1)+y3*(x2*xl1-x1*xl2))/k; d=((yl1-yl3)*(y2-y3)-(yl2-yl3)*(y1-y3))/k; e=((x1-x3)*(yl2-yl3)-(yl1-yl3)*(x2-x3))/k; f=(y1*(x3*yl2-x2*yl3)+y2*(x1*yl3-x3*yl1)+y3*(x2*yl1-x1*yl2))/k; Lcd_ClearScr(0x00); GlibCursor(110,110,0xffff); while(checkcount<4); x1=DAT[3][0]; y1=DAT[3][1]; xl1=a*x1+b*y1+c; yl1=d*x1+e*y1+f; if((xl1>=100)&&(xl1<=120)&&(yl1>=100)&&(yl1<=120)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- emc買斷合同范本
- 代款合作合同范本
- 2025年抗風濕類藥品合作協(xié)議書
- 合同范本網翻譯
- 合同范本全是正式合同
- 雙方交付款合同范例
- 2025年分離純化控制系統(tǒng)項目合作計劃書
- 中英日文合同范本
- 合同范本模板去石墻
- 叉車置換銷售合同范本
- Unit5 What day is it today?(教學設計)-2023-2024學年教科版(廣州)英語四年級下冊
- 《網絡信息安全教學》課件
- 徐州2025年江蘇徐州市口腔醫(yī)院招聘非在編醫(yī)務人員53人筆試歷年參考題庫附帶答案詳解-1
- 2025年01月2025中國作家協(xié)會所屬單位公開招聘11人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 影視制作項目委托制作協(xié)議
- 用色彩情感引發(fā)共鳴社交媒體運營秘訣
- 廣東2024年12月佛山市教育局公開選調1名公務員筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 植物角創(chuàng)設培訓
- 法院生活費申請書
- 2025年湖南工藝美術職業(yè)學院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- 2025年江西機電職業(yè)技術學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
評論
0/150
提交評論