關鍵字: 類 別:
 
EzCode4K與SPI Flash語音播放
時間: 2009-12-23
 
EzCode4KSPI Flash語音播放
SPI是一種串列外設界面,通常稱爲“同步串列外設界面”,是Motorola定義的一種高速的,全雙工,同步的通訊匯流排,並且在晶片的Pin腳上只佔用四根線,節約了晶片的Pin腳,同時爲PCB的佈局上節省空間,提供方便,正是出於這種簡單易用的特性,現在越來越多的晶片(EEPROM,FLASH,即時時鐘,AD轉換器等)使用了這種通訊協定。SPI界面主要包含有4條線:串列時脈(SCK)、串列資料輸入(SDI)、串列資料輸出(SDO)和晶片選擇(CS)。
EzCode4K是針對AM4K IC研發的一套全新的綜合開發系統,它簡化了開發流程並爲使用者提供了強大的功能。播放外掛SPI Flash音效檔案就是其中的功能之一。本文介紹使用EzCode4K播放外掛SPI Flash中語音的過程。
目前支援的SPI Flash型號: W25X10/20/40/80(Winbond);MX25L16/32/64(Macronix)。
播放SPI Flash語音設計與實現
1、  用EzCode4K新增專案檔案,在[Project]頁面上填寫諸如客戶名稱、程式編號、程式名稱以及一些需要注明的訊息等。
2、  在[Option]頁面選擇AM4K的型號,並設定SPI通訊項:
1)允許SPI通訊:SPI Communication爲Enable。
2)指定通訊所用I/O Pin:SPI CS Pin、SPI CLK Pin、SPI DIO Pin與SPI DO Pin必須定義在同一組I/O Port上,如圖1,圖中使用PRA端口爲通訊口。
圖1
: 上述SPI CS Pin, SPI SCK Pin, SPI SDI Pin and SPI SDO Pin分別對應圖1中 SPI CS Pin, SPI CLK Pin, SPI DIO Pin and SPI DO Pin。
 
 
3)選擇SPI flash裡Voice檔案編碼品質:SPI Voice Quality。
Voice檔案編碼品質選擇有3種:
Low:  Bit/Sample = 4;
Mid:  Bit/Sample = 5;
High: Bit/Sample = 6。
High的音質最好,但語音佔容量最多;Low的音質比HighMid差,但佔容量最小。使用時應根據實際來選擇。
SPI容量 = 語音秒數 * 採樣率 * 編碼品質。
例如:一個500秒的聲音,採樣率爲8000,選擇編碼品質爲Low(4Bit/Sample),那麽這個聲音需要佔用SPI Flash的容量爲500 * 8000 * 4 = 16000000bit。
注:SPI Voice Quality值必須與SPI Flash音效檔案編碼時Quality值保持一致。

3、 
SPI Encoder工具快捷啟動按鈕
製作SPI Flash語音檔案:

在EzCode4K工具列中有個SPI Flash語音編碼工具,如圖2所示:
圖2
點選上圖SPI Encoder工具列按鈕,彈出SPI Encoder主介面如圖3所示:
圖3
New:    新增一個新的SPI Flash語音專案檔。
Open:   開啟一個SPI Flash語音專案檔。
Save:   儲存目前的SPI Flash語音專案檔,副檔名爲SPI。
SaveAs: 將目前的SPI Flash語音專案檔另存一個名字。
Add:    增加語音檔案。
Insert: 在語音的中間插入一個語音檔案。
Delete: 刪除一個語音。
Clear:  清除全部語音檔案。
Build:  編譯目前的SPI Flash語音專案檔,編譯後產生一個(xxx_spi.bin)檔,xxx_spi爲專案檔案名。
SPIWriter: Alpha燒錄工具。
編譯生成的Bin檔案可以透過使用通用型燒錄器(比如Hi-Lo燒錄器)燒錄到SPI Flash中。
另:Alpha提供有一套SPI Flash Writer燒錄工具,配合Alpha製作的SPI Flash Demo Board,在編寫除錯時使用,也是非常方便的。
4、  SPI Flash Writer工具:
1)SPI Flash燒錄器及Demo Board,如圖4所示:
圖4
2)SPI Flash燒錄軟體使用:
點選圖3 啓動SPI Writer按鈕,彈出SPI Flash Writer主介面如圖5所示:
圖5
打開Open檔案xxx_spi.bin 將其Download到SPI Flash中即可。
 
 
 
5、編寫程式:
[In_State]
           Prb0          Prb1
In_1               P1             P2
[ Path ]
    PowerOn: In_1
    P1: R1=0x0, R0=0x1, SPIPlayV(R1:R0)        ;Prb0 Input
P2: R1=0x0, R0=0x2, SPIPlayV(R1:R0)        ;Prb1 Input
附件內容[4K_SPI_Demo.rar]
AM4K_SPI_Demo.Bin                        AM4K的程式Bin檔
AM4K_SPI_DEMO_SPI.Bin                SPI的語音檔
參考電路圖:
  : 上述SPI CS Pin, SPI SCK Pin, SPI SDI Pin and SPI SDO Pin分別對應圖1中 SPI CS Pin, SPI CLK Pin, SPI DIO Pin and SPI DO Pin。
來源: Ymwen
返回頂部 列印文章 收藏此文章 投稿給我們 關閉窗口
 
>>
 相關文章
 
·EzCode4F的錄音模式詳解
·EzCode4F Midi Background的使用
·EzCode4F One Key One Note的應用
·可控矽的控制
·如何使用普通I/O口驅動LCD
·ALPHA IC在LED風扇上的應用
·ALPHA IC在串列通訊中的應用
·AM8EB實現 I2C 通訊
 
>>
 推薦文章
 
·EzCode4F Midi Background的使用
·可控矽的控制
·EzCode4E 隱患報告
·如何使用普通I/O口驅動LCD
·關於AMSR錄放音IC的錄音長度
·Alpha IC的邦定參考
·Action應用
·EzCode4F v2.00指令系統
 
 

關於我們 聯繫我們 免責聲明


ICP備案號:粵ICP備08035793號