丁香婷婷网,黄色av网站裸体无码www,亚洲午夜无码精品一级毛片,国产一区二区免费播放

現(xiàn)在位置:范文先生網(wǎng)>理工論文>電子通信論文>使用SPCE061A擴展K9F1208實現(xiàn)數(shù)碼錄音及播放

使用SPCE061A擴展K9F1208實現(xiàn)數(shù)碼錄音及播放

時間:2023-02-21 00:19:12 電子通信論文 我要投稿
  • 相關推薦

使用SPCE061A擴展K9F1208實現(xiàn)數(shù)碼錄音及播放

  摘要:SPCE061A是凌陽公司設計的一種新型的十六位單片機,該款單片機資源豐富,具有極高的性價比。該單片機內置有2路DA轉換,8路AD轉換及在線仿真等豐富的功能,這些都為我們實現(xiàn)數(shù)碼錄音和播放提供良好的方便條件, K9F1208是三星公司生產的512M位的FLASH存儲芯片,利用它存儲凌陽格式的語音資源,可以長達32000秒語音錄放。該系統(tǒng)可以廣泛應用于需求的錄音較長的場合。如錄音筆、自錄語音提示等應用方案。本系統(tǒng)提供K9F1208相關的讀寫模塊。
  
  關鍵詞:SPCE061A  K9F1208UOM 數(shù)碼錄音
  
  一、 系統(tǒng)結構
  
  系統(tǒng)結構圖如下:
  
  本系統(tǒng)包括按鍵部分、音頻錄入部分、音頻輸出部分和K9F1208存儲擴展等四部分。
  
  按鍵部分:按鍵1(IOA8)是錄音鍵,按鍵2(IOA9)是停止鍵,按鍵3(IOA10)是播放鍵。
  
  音頻錄入部分:主要是由MIC、自動增益電路、AD轉換電路構成,通過MIC采樣語音數(shù)據(jù),并經(jīng)內置自動增益電路處理、AD轉換后,編碼并存儲到K9F1208中。
  
  音頻輸出部分:主要是將SPCE061A兩路音頻輸出端通過SPY0030放大,經(jīng)喇叭播放。
  
  K9F1208存儲擴展部分:通過SPCE061A的IO口控制,將錄音編碼后的數(shù)據(jù)存儲到K9F1208中。
  
  系統(tǒng)實現(xiàn)的功能:通過按鍵1,開始錄音,按鍵2,結束錄音或者結束放音,按鍵3,開始放音。
  
  二、 K9F1208介紹
  
  K9F1208是Samsung公司生產的采用NAND技術的大容量、高可靠Flash存儲器。該器件存儲容量為64M×8位,除此之外還有2048K×8位的空閑存儲區(qū)。該器件采用TSSOP48封裝,工作電壓2.7——3.6V.
  
  K9F1208對528字節(jié)一頁的寫操作所需時間典型值是200μs,而對16K字節(jié)一塊的擦除操作典型僅需2ms.8位I/O端口采用地址、數(shù)據(jù)和命令復用的方法。這樣既可減少引腳數(shù),還可使接口電路簡潔。
  
  表1概要地說明了K9F1208各個引腳的功能。
  
  表1  K9F1208 引腳定義
  
  引   腳
  
  功      能
  
  I/O0——I/O7
  
  數(shù)據(jù)輸入輸出端,芯片未選中為高阻態(tài)
  
  CLE
  
  命令鎖存使能
  
  ALE
  
  地址鎖存使能
  
  CE
  
  芯片選擇控制
  
  RE
  
  數(shù)據(jù)輸出控制,有效時數(shù)據(jù)送到I/O總線上
  
  WE
  
  寫I/O口控制,命令地址數(shù)據(jù)在上升沿鎖存
  
  WP
  
  寫保護
  
  R/B
  
  指示器件的狀態(tài),0為忙,1為閑。開漏輸出
  
  Vcc
  
  電源端
  
  Vss
  
  地
  
 、倜铈i存使能(CLE),使輸入的命令發(fā)送到命令寄存器。當變?yōu)楦唠娖綍r,在WE上升沿命令通過I/O口鎖存到命令寄存器。
  
  ②地址鎖存使能(ALE),控制地址輸入到片內的地址寄存器中,地址是在WE的上升沿被鎖存的。
  
 、燮x使能(CE),用于器件的選擇控制。在讀操作、CE變?yōu)楦唠娖綍r,器件返回到備用狀態(tài);然而,當器件在寫操作或擦除操作過程中保持忙狀態(tài)時,CE的變高將被忽略,不會返回到備用狀態(tài)。
  
 、軐懯鼓埽╓E),用于控制把命令、地址和數(shù)據(jù)在它的上升沿寫入到I/O端口;而在讀操作時必須保持高電平。
  
 、葑x使能(RE),控制把數(shù)據(jù)放到I/O總線上,在它的下降沿tREA時間后數(shù)據(jù)有效;同時使用內部的列地址自動加1.
  
 、轎/O端口,用于命令、地址和數(shù)據(jù)的輸入及讀操作時的數(shù)據(jù)輸出。當芯片未選中時,I/O口為高阻態(tài)。
  
  ⑦寫保護(WP),禁止寫操作和擦除操作。當它有效時,內部的高壓生成器將會復位。
  
 、鄿蕚/忙(R/B),反映當前器件的狀態(tài)。低電平時,表示寫操作或擦除操作以及隨機讀正進行中;當它變?yōu)楦唠娖綍r,表示這些操作已經(jīng)完成。它采用了開漏輸出結構,在芯片未選中時不會保持高阻態(tài)。
  
  圖2所示為K9F1208的寫時序流程。
  
  由圖2可看出,進行寫操作時先要寫入命令字80H,通知K9F1208要進行寫操作,然后順序寫入目的地址和待寫入的數(shù)據(jù)。應該注意的是,地址只需寫入一次,便可以連續(xù)寫入多個字節(jié)數(shù)據(jù)。地址指針的調整是由K9F1208內部邏輯控制的,不用外部干預。寫入操作是以頁為單位(1——528字節(jié))進行的,即每次連續(xù)寫入能超過528個字節(jié)。這是由于K9F1208的工作方式?jīng)Q定的:寫入的數(shù)據(jù)先保存至Flash內部的頁寄存器(528字節(jié))中,然后再寫入存儲單元。數(shù)據(jù)寫完之后還要給K9F1208發(fā)出1個寫操作指令10H,通知其將頁寄存器中的數(shù)據(jù)寫入存儲單元,隨后就應該對狀態(tài)引腳進行查詢。如果該引腳為低,表明此次寫操作結束。最后的步驟是數(shù)據(jù)校驗,如果采用了ECC校驗模式,則此步驟可以省略。
  
  其它操作如讀操作、擦除操作等過程均與此類似,可參考相關的器件說明文檔。限于篇幅,這里不再多述。
  
  三、 SPCE061A簡介
  
  SPCE061A是臺灣凌陽公司生產的性價比很高的一款十六位單片機,使用它可以非常方便的實現(xiàn)語音的錄放系統(tǒng),該芯片擁有8路10位精度的AD,其中1路AD為音頻轉換通道,并且內置有自動增益電路。這為實現(xiàn)語音錄入提供了方便的硬件條件。2路10位精度的DA,只需要外接功放(SPY0030)即可完成語音的播放。另外,凌陽十六位單片機具有易學易用的效率較高的一套指令系統(tǒng)和集成開發(fā)環(huán)境。在此環(huán)境中,支持標準C語言,可以實現(xiàn)C語言與凌陽匯編語言的互相調用,并且,提供了語音錄放的庫函數(shù),只要了解庫函數(shù)的使用,就會很容易完成語音錄放,這些都為軟件開發(fā)提供了方便的條件。
  
  凌陽的音頻格式有許多種,比較常用的有如下幾種
  
  模塊名稱
  
  語音壓縮編碼率類型
  
  資料采樣率
  
  SACM_A2000
  
  16Kbit/s,20 Kbit/s,24 Kbit/s
  
  16KHz
  
  SACM_S480/S720
  
  4.8 Kbit/s,7.2 Kbit/s
  
  16KHz
  
  SACM_S240
  
  2.4 Kbit/s
  
  24KHz
  
  SACM_MS01
  
  音樂合成(16Kbits/s,20 Kbits/s,24 Kbits/s)
  
  16KHz
  
  SACM_DVR(A2000)
  
  16 Kbit/s的資料率,8 K的采樣率,用于ADC信道錄音功能
  
  16KHz
  
  凌陽不同音頻格式壓縮比:
  
  SACM-A2000:壓縮比為8:1,8:1.25,8:1.5
  
  SACM-S480: 壓縮比為80:3,80:4.5
  
  SACM-S240: 壓縮比為80:1.5
  
  壓縮比越大,存儲空間占用越小,更加節(jié)約資源。例如本系統(tǒng)采用的是SACM_A2000格式中的16Kbit/s壓縮編碼率,則就可以計算出512Mbit的存儲器可以存儲512M/16K = 32000秒= 8小時53分鐘多。
  
  四、硬件系統(tǒng)設計
  
  K9F1208的硬件圖如上圖所示,它與SPCE061A單片機接口的方法為:K9F1208的數(shù)據(jù)總線IO0——7與SPCE061A的IOA0——7相連,用單片機的IOB0作為讀允許信號(RE),IOB1作為寫允許信號(WE),IOB2作為片選信號(CS),IOB3作為地址鎖存允許信號(ALE),IOB4作為命令鎖存允許信號(CLE)。因為不需要寫保護,本系統(tǒng)把寫保護引腳(WP)接到了高電平。RDY/B信號線不用,本例是懸空處理,K9F1208的狀態(tài)通過Read Status操作來實現(xiàn)。
  
  四、軟件設計
  
  本系統(tǒng)軟件設計流程如圖4所示。
  
  本軟件系統(tǒng)設計簡單。主要是因為凌陽的十六位單片機開發(fā)環(huán)境使用方便,并支持C語言與匯編語言的互相調用,且提供豐富的凌陽語音函數(shù)庫,只要我們了解這些函數(shù)的使用方法,我們就可以很容易的實現(xiàn)語音的錄放。
  
  本系統(tǒng)底層驅動部分包括K9F1208的讀寫、擦除使用的是匯編語言編寫的。上層部分包括語音的錄放是由C語言完成的。提供獨立的K9F1208的讀、寫、擦除代碼模塊。需要源代碼的請到凌陽科技大學計劃網(wǎng)站下載。
  
  在使用過程中,建議遵循以下規(guī)則:
  
  1、初始化過程
  
  使用函數(shù)InitSamsungFlash() 初始化K9F1208.
  
  2、寫過程
  
  先用函數(shù)InitWriteSamsungFlash()初始化寫操作,然后使用函數(shù) FillSamsungFlash(Data)往K9F1208寫入數(shù)據(jù),最后用函數(shù)StopWriteSamsungFlash()結束寫數(shù)過程。
  
  3、讀過程
  
  先用函數(shù)InitReadSamsungFlash()初始化讀操作,然后使用函數(shù)ExtractSamsungFlash()從K9F1208讀出數(shù)據(jù),最后用函數(shù)StopReadSamsungFlash()結束讀數(shù)過程。
  
  4、注意每次讀/寫操作都要調用初始化和結束函數(shù)
  
  5、為了避免錯誤,請不要交迭使用讀/寫操作
  
  6、當program/erase錯誤發(fā)生的時候, 用戶必須根據(jù)自己的文件系統(tǒng)自行處理。        請參考_SP_FillSamsungFlash和_SamsungEraseBlock.
  
  SACM-DVR相關的API函數(shù)如下所示:
  
  int SACM_DVR_Initial(int Init_Index)     //初始化
  
  void SACM_DVR_ServiceLoop(void)     //獲取資料,填入譯碼隊列
  
  void SACM_DVR_Encode(void)      //錄音
  
  SACM_DVR_StopEncoder();      //停止編碼
  
  SACM_DVR_InitEncoder(RceMonitorOn)               //初始化解碼器
  
  void SACM_DVR_Stop(void)      //停止錄音
  
  void SACM_DVR_Play(void)      //開始播放
  
  unsigned int SACM_DVR _Status(void)     //獲取SACM_DVR模塊的狀態(tài)
  
  void SACM_DVR _InitDecode(void)     //開始譯碼
  
  void SACM_DVR _Decode(void)      //獲取語音資料并譯碼,中斷播放
  
  SACM_DVR_StopDecoder();      //停止解碼
  
  unsigned int SACM_DVR _ TestQueue(void)    //獲取語音隊列狀態(tài)
  
  int SACM_DVR _Fetchqueue(void)     //獲取錄音編碼數(shù)據(jù)
  
  void SACM_DVR_FillQueue(unsigned int encoded-data)   //填充資料到語音隊列,等待播放
  
  int  GetResource(long Address) ——(Manual)
  
  中斷服務函數(shù):
  
  Call F_FIQ_Service_ SACM_DVR      //語音播放
  
  Call F_IRQ1_Service_ SACM_DVR      //語音錄制
  
  五、結束語
  
  凌陽公司的SPCE061A的結構特點及其相關的一些開發(fā)平臺為我們實現(xiàn)語音的錄入和播放提供了極其方便的條件。本系統(tǒng)只是實現(xiàn)SPCE061A的一個基本應用,設計者只要對該系統(tǒng)的電路、程序稍加改動,就可以實現(xiàn)語音復讀機、跟讀機、留言機、以及電話錄音儀等功能。

【使用SPCE061A擴展K9F1208實現(xiàn)數(shù)碼錄音及播放】相關文章:

使用SPCE061A的SIO實現(xiàn)數(shù)碼錄音及播放08-06

利用DSP實現(xiàn)IIR濾波器的精度擴展08-06

用EP7211實現(xiàn)傳呼信息實時語音合成和播放08-06

TMS320F240片內PWM實現(xiàn)D/A擴展功能08-06

用兩片LM3886實現(xiàn)輸出電流及功率擴展的方法08-06

擴展語句08-16

《錄音新聞》08-16

SPCE061A在電冰箱中應用08-06

12  (播放雪景)08-15