吐率。
(2)軟件優(yōu)化
軟件優(yōu)化的作用在本系統(tǒng)的調(diào)試過程中效果明顯;本系統(tǒng)的第一個版本,圖像采集速率僅為3 s/幀;通過軟件優(yōu)化后,達(dá)到了最終的O.3 s/幀。其優(yōu)化如下:
①循環(huán)外移,避免在循環(huán)中重復(fù)運(yùn)算;
②頻繁使用的變量申明為寄存器變量;
③把所有的JPEG-LS編碼函數(shù)代碼拷貝到RAM中執(zhí)行。
默認(rèn)情況下,所有的代碼都存放在Flash中。ARM運(yùn)行時,從Flash中讀取指令并且執(zhí)行。眾所周知,F(xiàn)lash的訪問速度相對RAM而言,相差一個數(shù)量級,因此,如果把關(guān)鍵代碼放在RAM中,執(zhí)行速率將會大大提高。而AT9lR40008內(nèi)部自帶512 KB的RAM,足夠本系統(tǒng)使用,因此,這個方法可行。
解決的方法有兩個,一是寫一個啟動程序,在啟動時,把系統(tǒng)所有的代碼都拷貝到RAM中,這樣系統(tǒng)速度會提高。然而,該方法實(shí)現(xiàn)起來較麻煩,且如果程序擴(kuò)展,可能會超過RAM的512 KB限制。因此,本系統(tǒng)采用另外一個簡單方法。采用IAR Embedded Workbench開發(fā)環(huán)境,通過閱讀其編譯器手冊發(fā)現(xiàn),在函數(shù)之前添加一個__ramfunc偽指令,那么鏈接器在生成啟動代碼時,會將該函數(shù)拷貝到RAM中,從而提高運(yùn)行效率。其使用例子如下:
__ramfunc void encode_oneline(vcrid)
通過使用該方法,系統(tǒng)的運(yùn)行效率提高了約lO倍。
結(jié)語
本系統(tǒng)以ARM為核心,實(shí)現(xiàn)了JPEG-LS無損圖像壓縮算法,并日結(jié)合CPLD實(shí)現(xiàn)了CMOS攝像頭的時序控制。通過藍(lán)牙傳輸,實(shí)現(xiàn)了數(shù)字化的無線內(nèi)窺系統(tǒng)。
本系統(tǒng)具有良好的擴(kuò)充性,可以使得系統(tǒng)更加微型化。首先,如果采用CSR公司更新的BC3系列芯片,則將融合ARM核以及藍(lán)牙功能,可以更加減小內(nèi)窺鏡的體積。最重要的是,如果發(fā)展自主產(chǎn)權(quán)的內(nèi)窺鏡芯片,那么以現(xiàn)有的SOPC技術(shù),可以將ARM核、CPLD邏輯門以及藍(lán)牙通信功能集成在一起,形成無線內(nèi)窺鏡的集成解決方案,從而使其產(chǎn)業(yè)化成為可能。
本系統(tǒng)在實(shí)現(xiàn)過程中,完成了一系列的調(diào)試工具,積累了調(diào)試以及優(yōu)化經(jīng)驗(yàn)。我國現(xiàn)有的醫(yī)療設(shè)備開發(fā)技術(shù)相對比較落后,在此分享,希望對同類型的產(chǎn)品設(shè)計以及芯片生產(chǎn)能有一些參考價值。





