【正文】
X 執(zhí)行快進(jìn),直到 E O M 。若再無信息,則進(jìn)入 O V F 狀態(tài) S T O P 0X 110 X X X X X X X X X X X 停止當(dāng)前操作 (C3 沒有定義 ) S T O P W RD N 0X 01X X X X X X X X X X X X 停止當(dāng)前操作并掉電 (C3 、 C0 沒有定義 ) RIN T 0X 110 X X X X X X X X X X X 讀 O V F 和 E O M 標(biāo)志 (C3 沒有定義 ) 實(shí)驗(yàn) 13 MCS51與 SPI串行接口語音芯片連接 2 00 ms2 5 msOV F E OM P0 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 0 0 0C4 C3 C2 C1 C0 A1 0 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0MISOMOSIMC( 快進(jìn)模式 ) : 1 允許; 0 禁止IAB( 是否忽略指令地址 ) : 1 忽略; 0 使用PU( 電源控制 ) : 1 上電; 0 掉電P/R( 放音 / 錄音 ) : 1 放音; 0 錄音RUN( 允許 / 禁止操作 ) : 1 開始; 0 停止圖 132 SPI端口控制寄存器位及含義 實(shí)驗(yàn) 13 MCS51與 SPI串行接口語音芯片連接 1) 放音過程 (1) 執(zhí)行上電命令 (POWER UP)。 (2) 延遲等待 , 上電結(jié)束 (當(dāng)采樣頻率為 8 kHz時(shí) , 上電延遲時(shí)間約為 25 ms)。 (3) 執(zhí)行 “ SET PLAY” 命令 , 設(shè)置放音段起始地址 。 錄音、放音段起始地址與每段最短時(shí)間及放音長度有關(guān)。例如,對(duì) ISD4002120芯片來說,最多有 600段 (段地址編號(hào)為000~ 599),每段最短錄音時(shí)間為 200 ms。如果每段記錄一個(gè)單音,長度為 400 ms(即每個(gè)單音占用兩段 ),則第 n個(gè)單音對(duì)應(yīng)的段地址為 (n 2)。 實(shí)驗(yàn) 13 MCS51與 SPI串行接口語音芯片連接 (4) 執(zhí)行 “ PLAY” 命令 , 從當(dāng)前地址開始放音 , 遇到段結(jié)束標(biāo)志 EOM或存儲(chǔ)器末尾標(biāo)志 OVF時(shí)停止放音 , 同時(shí) INT引腳輸出低電平 , 指示當(dāng)前段播放結(jié)束 。 當(dāng)需要播放兩段或兩段以上時(shí) , 如果段與段之間間隔很小時(shí) , 可在上一段播放結(jié)束后 , 延遲一段時(shí)間 (需通過試聽確定延遲時(shí)間的長短 , 一般為數(shù)十毫秒 )再播放下一段 。 放音過程如圖 133(a)所示 。 在放音操作過程中,執(zhí)行“ STOP”或“ STOP WRDN”命令時(shí),將終止當(dāng)前放音操作。 實(shí)驗(yàn) 13 MCS51與 SPI串行接口語音芯片連接 2) 錄音過程 (1) 執(zhí)行上電命令 (POWER UP)。 (2) 延遲等待 , 直到上電結(jié)束 (當(dāng)采樣頻率為 8 kHz時(shí) , 上電延遲時(shí)間 TPUD約為 25 ms)。 (3) 再執(zhí)行上電命令 (POWER UP)。 (4) 延遲兩倍上電等待時(shí)間 (即延遲 2 TPUD時(shí)間 )。 (5) 執(zhí)行 “ SET REC” 命令 , 設(shè)置錄音段的起始地址 。 執(zhí)行“ REC”命令,從當(dāng)前地址開始錄音,直到出現(xiàn)存儲(chǔ)器末尾標(biāo)志 OVF信號(hào)。 實(shí)驗(yàn) 13 MCS51與 SPI串行接口語音芯片連接 在錄音過程中 , 未錄到存儲(chǔ)器末尾時(shí) , 就執(zhí)行 “ STOP”或 “ STOP WRDN” 命令 , 將終止當(dāng)前錄音操作 , 并產(chǎn)生EOM標(biāo)志 。 因此 , 可利用這一特性在芯片上錄制多段語音信息 。 可見 , 錄音過程與放音過程相似 , 只是每次錄音操作操作只能錄一段 , 如圖 133(b)所示 。 實(shí)驗(yàn) 13 MCS51與 SPI串行接口語音芯片連接 YNYN開始執(zhí)行上電操作命令(POWE R UP)延遲等待 (25 ms ) ,直到上電結(jié)束上電延遲時(shí)間到?執(zhí)行 “SE T PL A Y” 命令設(shè)置播放地址執(zhí)行 “PL A Y” 命令I(lǐng)NT 有效?繼續(xù)播放下一段?執(zhí)行 “ST OP WRDN” 命令結(jié)束段間延遲YNN開始執(zhí)行上電操作命令(POWE R UP)延遲等待 (25 ms ) ,直到上電結(jié)束上電延遲時(shí)間到?再執(zhí)行上電操作命令(POWE R UP)延遲 2 倍上電時(shí)間上電延遲時(shí)間到?執(zhí)行 “SE T REC” 命令設(shè)置錄音地址執(zhí)行 “REC” 命令I(lǐng)NT 有效?或錄音時(shí)間到?執(zhí)行 “ST OP WRDN” 命令結(jié)束YYNNY( a ) ( b )圖133 放音、錄音流程 (a) 放音流程;(b) 錄音流程 實(shí)驗(yàn) 13 MCS51與 SPI串行接口語音芯片連接 4. SPI總線接口時(shí)序及命令格式 芯片支持 8位、 16位命令格式,傳輸時(shí)序如圖 134所示,ISD4000系列語音芯片 SPI總線參數(shù)如表 133所示。 實(shí)驗(yàn) 13 MCS51與 SPI串行接口語音芯片連接 表 133 ISD4000系列語音芯片 SPI總線參數(shù) 符 號(hào) 參 數(shù) 最小 最大 單位 T S S S 片選信號(hào) SS 建立時(shí)間 500 — ns T S S H 片選信號(hào) SS 保持時(shí)間 500 — ns T D IS 串行輸入數(shù)據(jù) DI 建立時(shí)間 200 — ns T D IH 串行輸入數(shù)據(jù) DI 保持時(shí)間 200 — ns T P D 輸出延遲 — 500 ns T D F 輸出延遲到高阻態(tài) — 500 ns T S S m i n 片選信號(hào) SS 高電平時(shí)間 1 — μs T S C K hi S C L K 高電平時(shí)間 400 — ns T S C K l ow S C L K 低電平時(shí)間 400 — ns F0 S C L K 頻率 — 1000 kH z 實(shí)驗(yàn) 13 MCS51與 SPI串行接口語音芯片連接 M S BS C L KM O S IM I S OSSTSSSTD I STD I HTC K l o wTC K h iTSSHTS S m i nTDFTPDTPD( a )圖 134 命令格式 (a) 傳輸時(shí)序; (b)? 8位命令格式; (c) ?16位命令格式 實(shí)驗(yàn) 13 MCS51與 SPI串行接口語音芯片連接 A8 A9 A 1 0 C0 C1 C2 C3 C4OVF E O M P0 P1 P2 P3 P4 P5 P6S C L KMO S IMI S OSS( b )圖 134 命令格式 (a) 傳輸時(shí)序; (b)? 8位命令格式; (c) ?16位命令格式 實(shí)驗(yàn) 13 MCS51與 SPI串行接口語音芯片連接 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A 1 0 C0 C1 C2 C3 C4OVF E O M P0 P1 P2 P3 P4 P5 P6 P7 P8 P9 X X X X XS C L KMO S IMI S OSS( c )圖 134 命令格式 (a) 傳輸時(shí)序; (b)? 8位命令格式; (c) ?16位命令格式 實(shí)驗(yàn) 13 MCS51與 SPI串行接口語音芯片連接 從 ISD4000系列語音芯片 SPI總線時(shí)序可以看出:其 SPI總線時(shí)序與 SPI總線接口存儲(chǔ)器 EEPROM 25C01/02/04兼容。在接收控制命令時(shí),先接收 LSB(這要求 SPI總線控制器先輸出 LSB);空閑時(shí), SCLK為低電平,在 SCLK上升沿鎖存 MOSI引腳上的信息。 實(shí)驗(yàn) 13 MCS51與 SPI串行接口語音芯片連接 5. 典型應(yīng)用電路及與 MCS51的連接 MCS51芯片一般沒有內(nèi)置 SPI總線部件,可通過軟件方式模擬 SPI總線操作時(shí)序控制 ISD4000系列語音芯片的操作,典型連接線路如圖 135所示。 實(shí)驗(yàn) 13 MCS51與 SPI串行接口語音芯片連接 C40 9C41 0*C4 18INT 0C40 5C40 4C40 6SS1MOSI2MISO3SCL K28VSS D4VSS A11VSS A12AU D O UT13AM CA P14ANA IN -