基于K9F6408U0A和SPDS202A的數(shù)碼錄音系統(tǒng)
為了能夠保存和備份所錄信息,應當考慮實現(xiàn)一種拷貝功能,即將一片 K9F6408U0A 上的信息完全復制到另一片上。實現(xiàn)這一功能的硬件接口電路如圖3所示。圖中,兩片 K9F6408U0A 除片選線分開外,其余信號線均復用。采用如下程序可實現(xiàn)復制功能:
void Copy(void)
{FCEB2=1;
FCEB1=0; /*選中第一片F(xiàn)LASH*/
For(RowAdd2=0;RowAdd264;RowAdd2+ +)
{for(RowAdd1=0;RowAdd1256;RowAdd1+ +)
{BlockErase ( );} /*調用塊擦除子函數(shù),將第一片F(xiàn)LASH內容擦除*/
}
for(F1RowAdd2=0,F2RowAdd2=0;(F1RowAdd264)
(F2RowAdd264);F1RowAdd2+ +,
F2RowAdd2+ +)
For(F1RowAdd1=0,F2RowAdd1=0;
(F1RowAdd1256) (F2RowAdd2256);
F1RowAdd1+ +,F2RowAdd1+ +)
For(F1ColAdd=0,F2ColAdd=0;(F1ColAdd256) (F2ColAdd256);F1ColAdd=F1COAdd+128;F2ColAdd=F2ColAdd+128)
{CE1=1;
CE2=0;
SetPointer=0x00;
F1RdData( ); /*調用從第一片F(xiàn)LASH讀數(shù)據(jù)子函數(shù)*/
CE2=1;
CE1=0;
SendData( );/*調用向第二片F(xiàn)LASH頁寄存器送數(shù)據(jù)子函數(shù)*/
CE1=1;
CE2=0;
SetPointer=0x01; /*設置頁寄存器指針指向頁寄存器后半部分*/
F1RdData( );
CE1=1;
CE2=0;
SendData( );
FwrData( ); /*執(zhí)行頁編程命令,將數(shù)據(jù)寫入第二片F(xiàn)LASH*/
}
}
}
}
5 結束語
該數(shù)碼錄音系統(tǒng)可在一片64Mbit FLASH上記錄長達3.7小時的語音信息。同時,為了能夠保存所記錄的信息,還可利用本文介紹的拷貝方法實現(xiàn)兩片F(xiàn)LASH之間的拷貝。該系統(tǒng)可廣泛應用于需要長時間語音記錄的場合。
評論