<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于RT-Thread和STM32的數(shù)碼相框的設(shè)計(jì)方案

          基于RT-Thread和STM32的數(shù)碼相框的設(shè)計(jì)方案

          作者: 時(shí)間:2013-12-28 來源:網(wǎng)絡(luò) 收藏

            在程序運(yùn)行過程中,IDCT運(yùn)算量較大,有大量浮點(diǎn)乘法和加法運(yùn)算,程序執(zhí)行速度較慢,這對(duì)圖片能否流暢的顯示有很大影響?;诖吮窘y(tǒng)軟件對(duì)IDCT算法了優(yōu)化,采用一種快速IDCT算法[5],把二維IDCT分解成行和列兩個(gè)一維IDCT,再將IDCT算法通過數(shù)學(xué)變換轉(zhuǎn)化為離散傅里葉逆變換(IDFT),利用矩陣變換簡(jiǎn)化計(jì)算。在開始進(jìn)行二維IDCT轉(zhuǎn)換時(shí),先對(duì)輸入的反量化后的數(shù)據(jù)進(jìn)行8次一維的行變換,并將存儲(chǔ)運(yùn)行結(jié)果,再對(duì)運(yùn)行的結(jié)果進(jìn)行8次一維的列變換,經(jīng)過兩次變換,得到的就是二維IDCT運(yùn)算變換的結(jié)果。程序流程圖如圖10所示。

            

            4.3.3 色彩模式轉(zhuǎn)換

            由于液晶支持的是RGB格式的圖像數(shù)據(jù),需要把執(zhí)行完解碼過程得到的YCrCb格式的數(shù)據(jù)轉(zhuǎn)換成RGB模式,將256級(jí)的YCrCb色彩模型轉(zhuǎn)換成RGB色彩模型的計(jì)算公式如式(1)。

            

            因?yàn)镽、G、B的取值范圍為[0,255],需要對(duì)運(yùn)算結(jié)果進(jìn)行閾值保護(hù),對(duì)超過255的數(shù)值,限定在255,小于0的數(shù)值,限定在0.經(jīng)過運(yùn)算最終可以得到RGB模式的圖像數(shù)據(jù),完成解碼過程。

            4.4 圖片瀏覽模式

            本系統(tǒng)的圖片瀏覽模式有觸摸手動(dòng)瀏覽和定時(shí)自動(dòng)瀏覽兩種模式可供選擇。在觸摸手動(dòng)瀏覽模式下,有“下一張”,“上一張”,“退出”控件。通過操作觸摸屏上下翻頁的控件,實(shí)現(xiàn)瀏覽圖片的功能。在瀏覽完最后一張時(shí),系統(tǒng)會(huì)自動(dòng)跳轉(zhuǎn)到第一張。在定時(shí)自動(dòng)瀏覽模式下,界面僅有退出控件,每隔3秒,自動(dòng)進(jìn)行下一張圖片的瀏覽,并循環(huán)顯示。

            5.系統(tǒng)調(diào)試

            5.1 硬件調(diào)試

            通過硬件電路設(shè)計(jì),檢查元器件之間的電氣連接,下載基本調(diào)試程序,檢測(cè)系統(tǒng)板運(yùn)行狀況,在對(duì)USB枚舉測(cè)試時(shí),通過USB數(shù)據(jù)線連接至電腦,可以對(duì)flash存儲(chǔ)設(shè)備進(jìn)行讀寫操作。

            5.2 軟件調(diào)試

            5.2.1 LIB庫的編譯

            本系統(tǒng)的軟件開發(fā)環(huán)境是MDK,在程序基本模塊的底層驅(qū)動(dòng)編寫完善以后,將的底層外設(shè)驅(qū)動(dòng)庫和μC/GUI庫函數(shù)編譯封裝成LIB庫,在后期程序開發(fā)時(shí),大大提高了程序的編譯效率,縮短了軟件開發(fā)周期。

            5.2.2 Finsh Shell調(diào)試組件本系統(tǒng)采用嵌入式操作系統(tǒng),通過其自帶的用戶命令行組件Finsh Shell查看系統(tǒng)運(yùn)行狀況。通過超級(jí)終端輸入相應(yīng)的命令來使用Finsh Shell.Finsh Shell在中被設(shè)計(jì)成一個(gè)獨(dú)立的線程,通過串口設(shè)備輸入相應(yīng)的命令,系統(tǒng)對(duì)用戶命令進(jìn)行解析執(zhí)行,可用來獲取系統(tǒng)運(yùn)行時(shí)信息,對(duì)任意寄存器和內(nèi)存地址進(jìn)行讀寫操作,還能夠直接在shell中調(diào)用系統(tǒng)函數(shù),訪問系統(tǒng)變量。FinshShell組件的使用,在很大程度上提高了調(diào)試程序的效率。

            5.2.3 圖片解碼調(diào)試

            由于圖片解碼算法占用內(nèi)存較大,考慮到圖片解碼算法在中可能會(huì)因?yàn)閮?nèi)存分配不足而無法正常運(yùn)行,在驗(yàn)證圖片解碼函數(shù)的正確性時(shí),先在PC機(jī)的VC模擬器上運(yùn)行,用以給圖片解碼算法提供一個(gè)理想的運(yùn)行平臺(tái)。在模擬器中,用數(shù)組存儲(chǔ)圖片二進(jìn)制源碼,用解碼算法對(duì)圖片的數(shù)組數(shù)據(jù)進(jìn)行解碼,驗(yàn)證解碼算法的正確性。在模擬器運(yùn)行正確后,再將圖片解碼算法移植到本系統(tǒng)上運(yùn)行,實(shí)踐證明,的內(nèi)存足以支持圖片解碼算法正常執(zhí)行。實(shí)驗(yàn)在VC模擬器中運(yùn)行的效果圖如圖11所示。

            

            6.結(jié)論

            本文介紹了基于和STM32的的設(shè)計(jì)方案,通過設(shè)計(jì)相關(guān)硬件電路和軟件算法,實(shí)現(xiàn)了對(duì)JPEG格式圖片文件的瀏覽功能。本系統(tǒng)設(shè)計(jì)的基于連續(xù)IDCT變換的JPEG解碼算法能夠正確穩(wěn)定完成JPEG格式圖像的解碼,解碼速度較快,恢復(fù)圖像的質(zhì)量良好。實(shí)際測(cè)試表明,本方案具有很強(qiáng)的實(shí)用性。

          晶振相關(guān)文章:晶振原理

          上一頁 1 2 3 下一頁

          關(guān)鍵詞: RT-Thread STM32 數(shù)碼相框

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();