Re: 請教利用18F系列單片機錄音的可能性
|
||||
---|---|---|---|---|
版主
|
在燒錄EEPROM時,AD 照樣進行中斷並轉換。5mS 之間CPU能然在跑程式及轉換AD的,只是下一次的燒錄須等 EEIF發生後才能寫下一筆的 EEPROM Page Write 個時間需5mS
發表於: 2007/9/27 15:42
|
|||
|
Re: 請教利用18F系列單片機錄音的可能性
|
||||
---|---|---|---|---|
初級會員
|
再請教Ryang版主,按照您說,當8khz取樣時,每次取樣的時間間隔為125uS,但是燒錄EEPROM每次最短時間為5ms,那麼在燒錄的時候不是就不能作取樣轉換了嗎?從而造成語音的斷斷續續.望指教,非常感謝!
發表於: 2007/9/24 19:53
|
|||
|
Re: 請教利用18F系列單片機錄音的可能性
|
||||
---|---|---|---|---|
初級會員
|
非常感謝版主的熱心回答!讓我頓時覺得希望十足。
按照您的計算,12.8k byte/s的寫入速度,用來記錄64Kbit/Sec的PCM波形,都應該不成問題。那麼想要請教的是在打開ADC轉換語音的同時,驅動SPI寫入到flash中,這兩件事情如何同時使用中斷來完成,而不會造成語音的中斷呢。小弟在這方面還是比較駑鈍,望大大具體指點!
發表於: 2007/9/20 19:38
|
|||
|
Re: 請教利用18F系列單片機錄音的可能性
|
||||
---|---|---|---|---|
版主
|
如果使用Microchip的SPI EEPROM 25LC256 ( 64 byte page, Page write time 5mS) 或使用 25LC1024 ( 256 Byte Page, Page write time 5mS) 使用兩組 RAM Buffer 應該可以做到。
以 25LC256 為例 : 資料量為 8K x 8-bit , 25LC256 Page 的寫入時間最大值為 5mS, 所以 (1000mS / 5mS) * 64Byte = 12.8K byte/S。只要以兩組 RAM buffer 分開處理的方式,一組先處理近來的語音壓縮,另外一組作為存入 EEPROM 的上一筆經壓縮後的語音資料。AD 轉換與 EEPROM 的儲存皆在中斷下完成,這樣PIC18Fxxxx 應可以做到。 這是 Microchip 所寫好的 ADPCM 範例: http://www.microchip.com/stellent/idc ... eId=1824&appnote=en011118
發表於: 2007/9/19 15:10
|
|||
|
Re: 請教利用18F系列單片機錄音的可能性
|
||||
---|---|---|---|---|
初級會員
|
如果是無壓縮的WAV檔,8Khz取樣,8bit精度,儲存成wav檔大約64Kbit/Sec,如果採用簡單的ADPCM壓縮,可以再減小到32Kbit/Sec。應該不錯。但是在抓取的同時,要通過spi儲存到Serial EEPROM作為儲存,這樣,一邊抓取,一邊儲存,是否會對語音產生抓取中斷,如果中斷的時間短到一定的程度還是可以接受的。以上,請教,謝謝!
發表於: 2007/9/19 12:04
|
|||
|
Re: 請教利用18F系列單片機錄音的可能性
|
||||
---|---|---|---|---|
版主
|
一般語音訊號為 8KHz取樣經 A-law,u-law 轉成 8-bit 的資料,其速度為64Kbit/Sec. 如果是使用 G.711 的規範來壓縮,PIC18F 是可以做得到的。也就是說如果只是用一般的 ADPCM 方式壓縮是可以用 18F 的。如果是要使用高壓縮率的algorithm 像 CELP 就必須使用到 DSP 才可以做到 Real Time 的壓縮與播放。
發表於: 2007/9/19 10:35
|
|||
|
請教利用18F系列單片機錄音的可能性
|
||||
---|---|---|---|---|
初級會員
|
請教利用18F系列單片機錄音的可能性
利用18F系列單片機的A/D埠抓取來自mic的音訊,然後通過壓縮編碼,同時把資料儲存在串列Flash上,達成長時間錄音的目的,硬體上是否可以達到這個運用呢?
發表於: 2007/9/18 16:09
|
|||
|