ch376的寫(xiě)u盤(pán)速度?

我用ch376進(jìn)行實(shí)時(shí)錄音,錄音數(shù)據(jù)寫(xiě)入u盤(pán),速度為128kbps(16k字節(jié)),購(gòu)買(mǎi)芯片時(shí)咨詢(xún)過(guò)技術(shù)人員,說(shuō)ch376的寫(xiě)u盤(pán)速度可以達(dá)到200k字節(jié),但是我怎么實(shí)驗(yàn)貌似也達(dá)不到200k字節(jié)??? 我通過(guò)設(shè)置斷點(diǎn)硬件仿真,寫(xiě)一個(gè)扇區(qū)的時(shí)間是0.6秒,我試圖一次多寫(xiě)幾個(gè)扇區(qū),但是時(shí)間基本上是0.6n秒(n為扇區(qū)數(shù))。我粗略的算了一下,只要能達(dá)到100k字節(jié)/秒即可足以滿(mǎn)足我的要求,這樣寫(xiě)一個(gè)扇區(qū)的時(shí)間應(yīng)該在0.01毫秒,我的速度也太慢了吧?

是我程序的問(wèn)題還是其他問(wèn)題呢?

請(qǐng)問(wèn)怎樣才能提高速度滿(mǎn)足我的項(xiàng)目需求啊?

請(qǐng)沁恒的技術(shù)老師們幫幫忙分析一下啊,謝謝了。

單片機(jī)和CH376之間的硬件接口是什么接口?還有需要看下你三個(gè)讀寫(xiě)子函數(shù)是怎么寫(xiě)的,這個(gè)需要優(yōu)化才能將速度往上提的。


接口是并口,采用查詢(xún)方式實(shí)現(xiàn),因?yàn)槲业某绦蛑幸延幸粋€(gè)中斷(接收錄音數(shù)據(jù)),所以就采用了查詢(xún)方式實(shí)現(xiàn)。

扇區(qū)寫(xiě)函數(shù)就是用的例程中的函數(shù):

UINT8 CH376SecWrite( PUINT8 buf, UINT8 ReqCount, PUINT8 RealCount ) /* 以扇區(qū)為單位在當(dāng)前位置寫(xiě)入數(shù)據(jù)塊,不支持SD卡 */ {……}


寫(xiě)命令函數(shù)也是例程中提供的:

void xWriteCH376Cmd( UINT8 mCmd ) /* 向CH376寫(xiě)命令 */ { UINT8 i; CH376_CMD_PORT = mCmd; /* mDelay0_5uS( ); mDelay0_5uS( ); mDelay0_5uS( );*/ /* 延時(shí)1.5uS確保讀寫(xiě)周期大于1.5uS,或者用下面幾行的狀態(tài)查詢(xún)代替 */ mDelaymS(10);//延時(shí)1us for ( i = 10; i != 0; -- i ) { /* 狀態(tài)查詢(xún),等待CH376不忙,或者上面一行的延時(shí)1.5uS代替 */ if ( ( xReadCH376Status( ) & PARA_STATE_BUSY ) == 0 ) break; /* 檢查狀態(tài)端口的忙標(biāo)志位 */ }

}


我的時(shí)鐘跑到108M,所以mDelaymS(10)延時(shí)2us。

根據(jù)您的建議,我剛才優(yōu)化了一下延時(shí),一次寫(xiě)8個(gè)扇區(qū)大約需要200ms,也就是平均寫(xiě)一個(gè)扇區(qū)的時(shí)間是25毫秒,可是據(jù)我的最低目標(biāo)(50us寫(xiě)一個(gè)扇區(qū),速度達(dá)到20k字節(jié))還差很遠(yuǎn)啊。

根據(jù)ch376的時(shí)序要求,確保讀寫(xiě)周期大于1.5uS,上面的mDelaymS(10)延時(shí)2us也是必須的,所以這樣算起來(lái)50us寫(xiě)一個(gè)扇區(qū)還挺難做到的。


您應(yīng)該算一下50US寫(xiě)一個(gè)扇區(qū),1S需要寫(xiě)多少扇區(qū)? 這個(gè)速度不僅要USB2.0,而其估計(jì)需要硬盤(pán)。USB2.0的U盤(pán)很多情況下無(wú)法做到這個(gè)速度。CH376寫(xiě)U盤(pán)速度u是可以做到200-300KB/S。和您的要求相差太遠(yuǎn)了。 1MS寫(xiě)20個(gè)扇區(qū),也就是10K,每秒需要接近10MB的速度啊。


哦,對(duì)不起,我算錯(cuò)了,我需要的速度是16k字節(jié)/秒,為了能夠保證正確性,最低也得大于20k字節(jié)/秒,為了能夠保證可靠性,希望能夠達(dá)到50k字節(jié)/秒。 昨天我優(yōu)化了一下延時(shí),速度不太恒定,快的時(shí)候能夠達(dá)到20k字節(jié)/秒,慢的時(shí)候只有幾k字節(jié)/秒,但平均速率最多也只有10k字節(jié)/秒。

請(qǐng)教一下沁恒技術(shù)老師,優(yōu)化速率應(yīng)該從哪些角度進(jìn)行?


首先你的單片機(jī)的速度要快些,比如想STC的單時(shí)鐘的單片機(jī)或者AVR單片機(jī),當(dāng)然你要求的50KB以上一般的51要跑24MHZ以上的時(shí)鐘。而且還是并口方式。 另外一次寫(xiě)入的字節(jié)數(shù)盡可能的多,至少也要512字節(jié)寫(xiě)一次。在一定范圍內(nèi)單次寫(xiě)入的數(shù)據(jù)量越大,速度會(huì)越快,當(dāng)然不會(huì)超過(guò)極限。 看看你的讀寫(xiě)字節(jié)(xWriteCH376Data xWriteCH376Cmd。。。三個(gè)函數(shù))函數(shù)延時(shí)是否過(guò)長(zhǎng)了,這都是C語(yǔ)言?xún)?yōu)化,相信對(duì)你來(lái)說(shuō)不是問(wèn)題。


ooo


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频