李豫南 師萌萌
摘要:近年來,隨著數(shù)字技術的快速發(fā)展,為了更加方便快捷的查看圖像,電子相框誕生。電子相框采用傳統(tǒng)的外觀造型,只是把傳統(tǒng)外觀部分換成了液晶顯示屏,加上外圍設備以及供電模塊等,就可以實現(xiàn)數(shù)碼照片的直接顯示,與此同時還可以循環(huán)顯示照片,實現(xiàn)幻燈片的效果。這使得數(shù)碼相框擁有相當大的優(yōu)勢,使用簡單,直接從數(shù)碼相機中取出記憶卡插入到數(shù)碼相框卡槽中即可瀏覽;無需像之前那樣繁瑣,無需電腦,更不需要沖洗打印,各種格式的數(shù)字圖片均能夠快速顯示。
關鍵詞:電子相框;ARM9;Linux系統(tǒng)
引言
電子相框進入市場已有數(shù)年時光。早期的電子相框實現(xiàn)方案多是基于VCD播放器的移植產(chǎn)品,專業(yè)的電子相框平臺極少。近幾年,在ARM,DSP,F(xiàn)PGA等平臺上實現(xiàn)了各種各樣的電子相框產(chǎn)品。
本文設計的是一個完整的嵌入式系統(tǒng),根據(jù)實際的應用需求分析,需要外圍設備LCD功能接口。這個接口用于系統(tǒng)的輸入輸出,由于它有輕便直觀,方便靈活的優(yōu)點,已經(jīng)成為嵌入式系統(tǒng)常選用的人機交流工具,在本系統(tǒng)它將是重要的組成部分,故在微處理器的選擇上會首選帶有LCD屏接口及其控制器的類型。
1系統(tǒng)開發(fā)思想
本設計采用了比較通用的ARM9系列處理芯片為主芯片、源代碼開放的嵌入式Linux操作系統(tǒng)建立的平臺設計了電子相框系統(tǒng),主要實現(xiàn)的功能有對多種格式相片在觸摸LCD上以幻燈形式播放、USB主機讀取功能、MP3播放、SD卡存儲等功能。該設計具有成本低,功能強大等特點。
該電子相框以ARM9為構架的S3C2410為處理器,以Linux等操作系統(tǒng)為軟件核心系統(tǒng),該方案的優(yōu)點:①系統(tǒng)芯片功能強大,實現(xiàn)的功能多,對于新的多媒體格式支持好,只需要安裝更新的軟件。②硬件電路簡單。③二次開發(fā)容易實現(xiàn)。
2開發(fā)環(huán)境
本設計采用的是嵌入式Linux系統(tǒng),嵌入式Linux(Embedded?Linux)是指對Linux經(jīng)過裁剪小型化后,可固化在存儲器或單片機中,應用于特定嵌入式場合的專用Linux操作系統(tǒng)。Linux做嵌入式的優(yōu)勢:首先,Linux是開放源代碼,其次,Linux的內(nèi)核小、效率高,內(nèi)核的更新速度很快。
本設計硬件采用ARM9系列處理器S3C2410、軟件上采用嵌入式Linux操作系統(tǒng)結合設計一款數(shù)碼相框產(chǎn)品,實現(xiàn)了在LCD上以幻燈片形式播放相片的功能,并結合第三方音頻庫實現(xiàn)背景音樂播放。
3硬件設計
3.1硬件原理
本設計以ARM9CPUS3C2410為核心,以Linux操作系統(tǒng)為軟件核心架構。基于ARM的微處理器具有低功耗、低成本、高性能等特點,ARM采用RISC架構和流水線結構,使用了大量的寄存器,具有極高的工作效率。
3.2各模塊及分析
3.2.1處理器核心扳和底板
本設計選用的處理器S3C2410,外圍電路分為六個模塊:電源模塊、串口模塊、USB設備模塊、LCD顯示模塊、音頻輸入輸出模塊和SD存儲模塊。這六個模塊都是采用標準的電路模塊。
3.2.2?SDRAM存儲電路
本設計采用32M的HY57V561620來設計SDRAM存儲電路,它的單片內(nèi)存規(guī)格為256Mbit4M×16bit×4Banks,即容量為32MB的16位SDRAM。使用S3C2410的nGCS6片選信號,兩片16位的總線寬度的存儲芯片可以組成32位總線寬度64MB內(nèi)存,以配合32位字長的ARM9處理器,HY57V561620(1)的數(shù)據(jù)總線與S3C2410的低16位相連,HY57V561620(2)的與S3C2410的高16位相連。
3.2.3電源模塊
S3C2410X的電源引腳分為:VDDalive引腳給處理器復位模塊和端口寄存器,VDDi/VDDiarm為處理器內(nèi)核提供1.8V電壓;VDDOP引腳是IO口3.3V電壓;VDDMOP為存儲端口提供3.3V電壓。
3.3硬件選型及依據(jù)
3.3.1數(shù)字音頻輸入輸出模塊
接一個UDAl341TS數(shù)字音頻解碼器實現(xiàn)音頻輸入和輸出,UDAl341是一款集合了數(shù)/模和模/數(shù)轉換的音頻編解碼芯片,同時支持錄放音,數(shù)據(jù)接口采用12S總線,配合S3C2410的12S控制器使用。
3.3.2?SD存儲模塊
SD卡有9個引腳,安全性很高。SD卡共支持三種傳輸模式:SPI模式、l位SD模式和4位SD模式。本設計采用的是4位SD寬總線模式,數(shù)據(jù)在4根數(shù)據(jù)線DAT上同時傳輸,在這種模式下最高的數(shù)據(jù)傳輸速率可達100Mb/s。當初始上電后,SD卡默認使用DAT0。經(jīng)過初始化之后,主機可以改變線寬到4位?;旌系腟D卡連接方式也適合于主機。
4軟件設計
4.1模塊及功能劃分
4.1.1數(shù)據(jù)讀入模塊
本模塊包含F(xiàn)ATFS文件系統(tǒng)MALLOC內(nèi)存分配單元,USMART終端操作等。首先,需要用MALLOC內(nèi)存分配單元的函數(shù)申請一定格式的內(nèi)存空間,為FATES文件系統(tǒng)進行文件打開以及文件讀寫做準備。在申請完內(nèi)存空間并判定申請成功后進入文件打開以及讀寫階段。首先通過FATFS文件系統(tǒng)的f_opendir()函數(shù)打開相應文件夾目錄,然后通過返回參數(shù)判定是否打開成功,如果打開成功,則通過f_readdir()讀取目錄下的一個文件,并通過while(1)循環(huán)全部查詢確定文件數(shù)目。
4.1.2?FATFS文件系統(tǒng)
FATFS是一個為小型嵌入式系統(tǒng)設計的通用FAT(File?Allocation?Table)文件系統(tǒng)模塊。具有Windows兼容的FAT文件系統(tǒng);不依賴于平臺,易于移植;代碼和工作區(qū)占用空間非常小;多種配置選項等優(yōu)點。
4.1.3?MALLOC內(nèi)存分配單元
該單元主要用于進行內(nèi)存的分配和釋放,下面介紹一下主要函數(shù)的基本用法:內(nèi)存分配函數(shù):malloc()函數(shù)原型:(類型說明符*)malloc(unsigned?size);參數(shù)說明:“類型說明符”用于表示此內(nèi)存區(qū)域用于何種數(shù)據(jù)類型?!邦愋驼f明符*”用于表明返回值類型強制類型轉換為該類型指針?!皊ize”要求是一個無符號數(shù),用以表示申請內(nèi)存的長度。
4.1.3?USMART終端操作單元
USMART組件是一個串口調(diào)試交互組件,主要有可以調(diào)用百分之九十以上的用戶直接編寫的函數(shù),并且占用的資源極少支持數(shù)據(jù)類型多、支持函數(shù)返回顯示,使用方便,具有很好的移植性等優(yōu)點。
結語
本設計采用了比較通用的ARM9系列處理芯片為主芯片、源代碼開放的嵌入式Linux操作系統(tǒng)建立的平臺設計了電子相框系統(tǒng),主要實現(xiàn)的功能有對多種格式相片在觸摸LCD上以幻燈形式播放、USB主機讀取功能、MP3播放、SD卡存儲等功能。該設計具有成本低,功能強大等特點。
參考文獻:
[1]田曉林.?基于ARM處理器電子相框的設計與實現(xiàn)[D].中國科學院大學(中國科學院工程管理與信息技術學院),2017.
[2]童凱.?基于Linux以及Qt的網(wǎng)絡電子相框設計實現(xiàn)[D].電子科技大學,2014.
[3]陳雪芳.基于STM32F103的電子相框的設計[J].東莞理工學院學報,2012,19(01):49-52.