《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 一種數字錄音與回放系統實現方案

一種數字錄音與回放系統實現方案

2008-11-06
作者:淳 靜 張 玘 劉國福

  摘 要: 提出了一個基于數字信號處理器(DSP)和閃速存儲器" title="閃速存儲器">閃速存儲器(FLASH)的數字錄音" title="數字錄音">數字錄音與回放系統實現方案,在分析FLASH特性及其編程方法的基礎上,設計了DSP與FLASH接口的硬件和軟件。

  關鍵詞: 閃速存儲器? DSP? 數字錄音? 回放

?

  閃速存儲器(FLASH)是可快速擦寫的非易失性存儲器,自Intel公司于1988年推出Flash Memory技術以來就得到了非常迅速的發展。FLASH最大" title="最大">最大的特點是在不加電的情況下能長期保持存儲的信息。此外,它還具有不需要存儲電容器、集成度更高、制造成本低于DRAM、使用方便、讀寫靈活、訪問速度快、功耗低等特點。我們結合實際課題,在一個以DSP為核心的語音處理系統" title="處理系統">處理系統中,從存儲容量、存儲時間、回放音質等衡量語音處理系統優越性的這些重要指標出發,選用FLASH作片外存儲器,實現了語音數據的數字錄音和回放,既保證了系統的高性能,又減少了系統成本。

1 系統組成

  實際系統是一個以DSP為核心的總線型網絡,每一個單元以TMS320F206數字處理芯片作微處理器,實現語音的傳送、錄音、存儲和播放。框圖組成如圖1所示。

?

?

  在系統中,聲卡采集的語音數據和從網卡傳送過來的數據都可以存入FLASH。由于存儲的是數字信息,數據不會丟失和失真,因此也不會引進任何噪聲。本系統使用的存儲器是兩片4M位的FLASH,錄音時間長達2分多鐘。

2 DSP與FLASH的接口電路" title="接口電路">接口電路設計

2.1 芯片簡介

  系統使用的DSP為TMS320C2XX系列,是美國TI公司推出的16位定點運算數字信號處理器。它的性價比極高,目前已成為高檔單片機的理想替代品,在通信、語音處理、軍事、儀器儀表、圖像處理等領域得到了廣泛的應用。系統使用的存儲器是AMD公司生產的FLASH芯片,型號為Am29F040B。其容量為512K×8bit,提供的存儲時間有55、70、90、120及150ns幾種,因此高速微處理器(如DSP)對其進行操作時基本上不需要等待時間。為避免總線競爭,該器件有獨立的片選、寫使能與輸出使能控制,器件命令集符合JEDEC單電源供電的Flash標準,用標準微處理器寫時序寫Flash命令寄存器就可以控制其基本操作。Am29F040B具有省電方式,在FLASH沒有被使用時進入此方式可以大大降低功耗。Am29F040B還可以分扇區進行操作,默認劃分為8個扇區,每扇區容量64K字節。

2.2 接口電路設計

  接口電路的設計主要考慮的是存儲器地址空間的分配以及寫入和讀出的時序要求。在系統中,共需要1M地址空間。我們使用了兩片FLASH,而DSP的地址線只有16根,最大只能提供64K的尋址空間,所以必須分頁使用,才能合理分配地址空間。為此,我們將每一片存儲空間分成32頁,每頁16K字節,片A每頁地址從#8000h~#0bfffh,片B每頁地址從#0c000h~#0ffffh。基于上述分析,DSP與FLASH的接口電路如圖2所示。

?

?

  圖中只畫出了DSP與一片FLASH的接口電路,因為另一片大同小異,只是通過不同的譯碼得到不同的片選而已。DSP用D0~D4選擇分頁,A12~A15通過適當的譯碼來分配兩片FLASH的尋址空間。

3 FLASH編程方法

  通過把特定的命令或命令序列寫入到FLASH命令寄存器就可對FLASH實現各種操作。表1給出了有效命令的定義,如果寫入的地址和數據值不正確或者寫入的順序不對,則會使器件復位到讀陣列數據狀態。表中除xxx指任意值外,其它值皆為16進制數,RA指要讀出的存儲器地址,RD指讀出的數據,PA指編程寫入存儲器的地址,PD指編程寫入存儲器的數據。編程時,地址在WE# 或CE#的下降沿鎖定,而數據在WE#或CE#的上升沿鎖定,SA指扇區地址。

?

?

  表1給出了所有操作命令的定義。在本系統中,DSP對FLASH的控制主要用到的是讀、刷新和編程操作,下面分別予以說明。

3.1 讀陣列數據

  讀操作很簡單,只需要一個總線周期,直接把FLASH相應單元的數據讀出即可。上電后,器件自動處于讀陣列數據狀態;在完成刷新和編程操作后,器件也處于讀陣列數據狀態;給器件寫復位命令也可以使器件復位到讀陣列數據狀態。讀操作主要用于回放錄音內容。

3.2 字節編程命令序列

  編程命令要復雜一些,每一個單元的寫入都需要四個總線周期。頭兩個是解鎖命令,緊接著是編程建立命令,最后才是要寫入單元的地址和數據。圖3是編程操作的基本流程。如何判斷是否已經正確寫入呢?器件內部提供了一個嵌入式編程算法,通過查詢DQ7或DQ6位可以得知編程操作狀態。嵌入式編程算法完成后,器件自動返回讀陣列數據狀態,地址不再鎖定。字節編程命令是進行錄音的基礎。這里需要特別指出的是:編程時不能將存儲單元的任一位從“0”改成“1”,只有刷新操作才可以。因此,在FLASH的某一段存儲區已經錄音后,如果不刷新,則這一段存儲區不能再進行錄音操作。

?

?

3.3 芯片刷新命令

  芯片刷新操作需要6個總線周期。頭兩個依然是解鎖命令,然后是刷新建立命令,接著兩個附加解鎖寫周期,最后是芯片刷新命令。刷新操作與編程操作不同之處在于:刷新操作對整個芯片是一次性完成而編程則需要一個單元一個單元地寫入。當然,如果不希望把芯片全部刷新,可以采用扇區刷新命令。刷新完成與否也可以通過查詢DQ7、DQ6或DQ2位來判斷。圖4給出刷新操作流程。

?

?

  編程操作和刷新操作都需要進行數據查詢,統稱為寫操作狀態查詢,用以判斷寫操作是否已經正確完成。Am29F040B提供了DQ2、DQ3、DQ5、DQ6以及DQ7幾個位用于寫操作狀態查詢,表2給出了這些位的功能。根據具體情況可以查詢不同的位。需要注意的是:使用DQ7和DQ2查詢狀態信息時需要一個有效地址,而如果DQ5位讀出為1則說明編程或刷新操作已經超出最大時序限制。在筆者的實際應用中,編程操作查詢DQ7位。當讀出DQ7位與寫入的DQ7位一致時,則說明寫入成功,可以繼續寫下一單元;刷新操作時,則查詢任一單元(一般取最后一個單元)是否已經是0FFh,如果是則刷新正確完成。

?

?

  解決了DSP與FLASH的硬件接口電路和DSP對FLASH的軟件編程方法后,通過適當的程序控制,就可以實現系統的數字錄音與回放功能。既可以錄下DSP網絡中接收到的語音數據,也可以通過聲卡采樣錄下說話人的話音。該系統應用到語音教室,能順利地實現學生機的跟讀和復讀,而且錄音內容只要不刷新,即使掉電也不會丟失。在其它電子產品中,這種方法也可以得到有效的應用。

?

參考文獻

1 TMS320C2XX數字信號處理器用戶指南.武漢力源電子股份有限公司,1998

2 Am29F040B數據手冊.AMD Inc.,1999

3 楊行峻,遲惠生,唐 昆等. 語音信號數字處理.北京:電子工業出版社,1995

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 中国丰满熟妇xxxx性| 国产在线精品一区二区不卡 | 亚洲av无码精品国产成人| 波多野结衣被躁五十分钟视频| 农村乱人伦一区二区| 色噜噜狠狠狠狠色综合久一| 国产妇女馒头高清泬20p多| 欧美三级香港三级日本三级| 国产综合色在线精品| 99久久精品午夜一区二区| 女人体1963毛片a级| 一级一级女人18毛片| 成人深夜福利在线播放不卡| 久久97久久97精品免视看秋霞| 日韩免费无砖专区2020狼| 亚洲av中文无码乱人伦在线视色| 欧美性巨大欧美| 亚洲日韩在线中文字幕综合| 求网址你懂你的2022| 亚洲高清视频在线播放| 男女肉粗暴进来动态图| 免费高清理伦片在线观看| 精品无码人妻一区二区三区品 | 欧美最猛性xxxx高清| 国产精品香蕉在线观看不卡| jlzzjlzz亚洲乱熟在线播放| 少妇被又大又粗又爽毛片久久黑人| 与子乱刺激对白在线播放| 成年丰满熟妇午夜免费视频| 久久97久久97精品免视看| 日产精品99久久久久久| 久久亚洲精品无码gv| 日本免费电影一区| 久久久精品午夜免费不卡| 日本媚薬痉挛在线观看免费| 久久国产真实乱对白| 日本乱理伦片在线观看一级| 久久久久国产一区二区| 无遮挡a级毛片免费看| 丰满的寡妇3在线观看| 撕开老师的丝袜白丝扒开粉嫩的小|