粵嵌開發(fā)板電子相冊嵌入式課程設計.doc
《粵嵌開發(fā)板電子相冊嵌入式課程設計.doc》由會員分享,可在線閱讀,更多相關《粵嵌開發(fā)板電子相冊嵌入式課程設計.doc(29頁珍藏版)》請在裝配圖網(wǎng)上搜索。
課程設計說明書 題 目 電子相冊 課程名稱 嵌入式系統(tǒng) 學 院 專 業(yè) 學 號 姓 名 指導教師 完成日期 2017 年 6 月 10 日 目 錄 1 設計的工程背景 2 1 1 任務闡述 2 1 2 任務分析 2 1 3 課題項目管理計劃進度表 3 2 工程設計方案 3 2 1 系統(tǒng)方案設計 3 2 2 硬件電路設計 5 2 3 軟件程序設計 5 3 方案實施 6 3 1 軟件程序調試過程 6 4 結果與結論 12 4 1 設計結果 12 4 2 結論 13 5 收獲與致謝 14 6 參考文獻 15 7 附件 16 附件 1 答辯問題回答記錄表 27 1 設計的工程背景 1 1 任務闡述 設計任務 制作一個電子相冊 要求每個人一種特效 結果顯示在 ARM 開發(fā)板上 開發(fā) 平臺為 LINUX 電子相冊簡介 以數(shù)字照片的存儲和瀏覽為主要功能 具有內置數(shù)據(jù)存儲器 USB 等卡接口 強大的文件管理等特征 背景 在市場需求上 隨著數(shù)碼相機的普及 作為一種以數(shù)字照片的保存 回放和瀏 覽為核心的功能產品迎合了消費者需求 嵌入式 linux 的電子相冊比一般電子相冊更 具優(yōu)越性和實用性 目前市場 目前主流電子相冊軟件普遍體積龐大 占用內存多 硬件要求高 所以開發(fā)一個運行速度快 占用空間小 對硬件要求較低的功能實用 的嵌入式 Linux 電子相冊很有意義 Linux 開發(fā)優(yōu)勢 Linux 是一種自由和開放源碼的類 Unix 操作系統(tǒng) 目前存在著許多不同的 Linux 但它們都使用了 Linux 內核 Linux 可安裝在各種計算機硬件設備中 從手機 平板電腦 路由器和視頻游戲控制臺 到臺式計算機 大型機和超級計算機 Linux 是一個領先的操作系統(tǒng) 世界上運算最快的 10 臺超級計算機運行的都是 Linux 操作 系統(tǒng) 嚴格來講 Linux 這個詞本身只表示 Linux 內核 但實際上人們已經(jīng)習慣了用 Linux 來形容整個基于 Linux 內核 并且使用 GNU 工程各種工具和數(shù)據(jù)庫的操作系 統(tǒng) Linux 是我國軟件的國策 尤其是在 IT 行業(yè) 龐大的使用群體 開放的體系 和豐富資源使得 Linux 將是日后普及和推廣的重點 Linux 的優(yōu)越性日益凸顯 Linux 將是我們學習和工作實用的首選 目前 很多網(wǎng)絡技術 服務器 網(wǎng)絡設備都是基 于 Linux 操作系統(tǒng) 并且在不少時尚的手機 PDA 媒體播放器等消費類電子產品 中已經(jīng)廣泛使用 Linux 作為操作系統(tǒng) 在 Linux 軟件國策的指引下 Linux 已經(jīng)得到很大的普及 很多學生已經(jīng)自發(fā)地 通過書籍 互聯(lián)網(wǎng)等資源學習 Linux 綜上所述 提高技術水平就是以市場流行 需求為導向進行研發(fā) 特別是像嵌入式種工程類的技術 在條件允許的情況下 我 們甚至應該時刻與國際接軌 掌握當前最領先的技術 1 2 任務分析 設計的目標是制作 5 種電子相冊特效 每個人負責制作一種 在制作前期 首 先要查閱資料 了解電子相冊的背景和制作原理 對其形成大致的設計方案 然后 根據(jù)資料安裝 linux 和虛擬機軟件 搭建開發(fā)環(huán)境 安裝交叉編譯 最后 根據(jù)自己 設計的方案進行嘗試 不斷修改錯誤 直到達到目標 1 3 課題項目管理計劃進度表 序 號 各階段完成的內容 完成時間 1 查閱相關文獻資料 課題調研 2017 5 20 2017 5 23 2 掌握設計軟件 制訂進度計劃 2017 5 23 2017 5 27 3 系統(tǒng)方案的比較和選定 2017 5 27 2017 5 28 4 編寫實現(xiàn)特效的代碼 2017 5 29 2017 6 5 5 編譯 運行目標文件 查看結果 根 據(jù)結果進行代碼的修改 2017 6 05 2017 6 08 6 制作答辯 PPT 2017 6 08 2017 6 09 7 撰寫課程設計說明書 2017 6 09 2017 6 11 8 答辯 2017 6 12 2 工程設計方案 2 1 系統(tǒng)方案設計 目前市場上的主要設計方案 單芯片解決方案 以單芯片的解決方案 以 ESS AMLOGIC MPX 等芯片設計為代表 PHILIP Sony 等品牌廠商也以該方式為主 該方案的優(yōu)點 1 結構簡單 成本低 芯片功能強大 2 多媒體的編解碼速度快 該方案的缺點 1 可擴展的余地不足 2 對讀卡部分 某些方案使用硬件實現(xiàn) 不能支持新類型的卡 3 應客戶要求的二次開發(fā)比較不方便 以 DSP FPGA 等硬件為基礎 用軟件算法實現(xiàn)功能 這種方案 是以 DSP 來實現(xiàn)多媒體部分的編解碼算法 再由 FPGA 實現(xiàn)顯示輸 出格式的算法轉化 讀卡部分 文件系統(tǒng)部分由 DSP 軟件處理 外圍設備大的驅動 由 DSP 的軟件算法實現(xiàn) 這種方案的優(yōu)點 功能擴展升級性強 軟件實現(xiàn)讀卡部分 新的類型卡 外圍設備可以通過升級 方式實現(xiàn) 這種方案的缺點 1 整體成本比較大 2 客戶二次開發(fā)難度大 DSP 和 FPGA 的算法實現(xiàn)需要專業(yè)人員 3 顯示輸出由 FPGA 實現(xiàn) 該類輸出大部分是數(shù)字的輸出 模擬輸出支持比 較弱 ARM 核心方案 以 ARM 等強大的 CPU 為核心 以 WINCE LINUX 等操作系統(tǒng)為軟件核心架 構系統(tǒng) 此方案以 ARM 如 S3C2410 Intel xscale 等強大的嵌入式 CPU 為架構 速 度在 200M 300MHZ 嵌入 WINCE LINUX 等操作系統(tǒng) 實現(xiàn)多媒體的編解碼 該方案的優(yōu)點 1 系統(tǒng)芯片功能強大 實現(xiàn)的功能多 對于新的多媒體格式支持好 只需要 安裝更新的軟件 2 硬件電路簡單 3 二次開發(fā)容易實現(xiàn) 該方案的缺點 1 成本較大 該類強大的 CPU 一般使用在 PDA 等嵌入式領域 2 比較 耗電 使用軟件解碼功耗與頻率相關性很大 本設計選用的是第三種方案 以 Cortex A8 為核心 以 Linux 操作系統(tǒng)為軟件核 心架構 基于 Cortex A8 的微處理器具有低功耗 低成本 高性能等特點 GEC210 開發(fā)板簡介 GEC210 是一款高性能的 Cortex A8 核心板 它由廣州粵嵌股份設計 生產和發(fā) 行銷售 它采用三星 S5PV210 作為主處理器 運行主頻可高 1GHz S5PV210 內部 集成了 PowerVR SGX540 高性能圖形引擎 支持 3D 圖形流暢運行 并可流暢播放 1080P 大尺寸視頻 GEC210 主要采用了 2 0mm 間距的雙排針 引出 CPU 大部分常用功能引腳 另外還根據(jù) S5PV210 芯片的特性 分別引出了標準的 miniHDMI 接口 如圖所示 GEC210 板載 512M DDR2 內存 可流暢運行 Android Linux 和 WinCE6 等高級 操作系統(tǒng) 它非常適合開發(fā)高端物聯(lián)網(wǎng)終端 廣告多媒體終端 智能家居 高端監(jiān) 控系統(tǒng) 游戲機控制板等設備 圖 2 1 GEC210 開發(fā)板 a 圖 2 2 GEC210 開發(fā)板 b 2 2 硬件電路設計 粵嵌 GEC210 開發(fā)板為硬件平臺 Ubuntu 為開發(fā)環(huán)境 通過串口進行文件的傳 輸 在工程師給定的項目基礎函數(shù)上 通過修改和運用 void lcd draw bmp char name int x0 int y0 int w int h 函數(shù)實現(xiàn)圖片位置 大小的改變 再加上延時函數(shù) 的運用 實現(xiàn)五種圖片特效 圖 2 3 硬件總框圖 2 3 軟件程序設計 總設計方案 ARM 芯片 Cortex A8 時鐘電路 LCD 顯示 USB 接口 電路 3 方案實施 3 1 軟件程序調試過程 安裝虛擬機和 linux 軟件 搭建環(huán)境和安裝交叉編譯 1 找到 ubuntu 系統(tǒng)工作目錄 大 層疊 圖形浮現(xiàn)大小及位置 小 反轉 反轉函數(shù) 大 圖 3 1 2 在 windos 系統(tǒng)下找到該工作目錄并創(chuàng)建一個文件夾 將 arm 2009q3 tar bz2 復 制過去 圖 3 2 3 啟用共享文件夾 圖 3 3 4 主機路徑為 windos 系統(tǒng)下 arm 2009q3 tar bz2 的目錄 名稱自動生成 圖 3 4 圖 3 5 5 可以在文件系統(tǒng)中 mnt hgfs share 目錄下看到這些 圖 3 6 6 為了可以將 arm 2009q3 tar bz2 復制到 opt 目錄下 opt 默認所有者為 root 所以要更改 opt 的所有者為我登陸的賬戶 圖 3 7 7 將文件復制到 opt 目錄下 圖 3 8 8 執(zhí)行如下解壓命令 聚焦逐現(xiàn)特效部分調試 原本打算做圖片翻轉的特效 在網(wǎng)上查到圖片翻轉特效的算法并經(jīng)過修改如下 24bit to 32bit for x 0 y 800 480 4 1 x 800 480 3 x 3 pic mem y 3 bmp mem x pic mem y 2 bmp mem x 1 pic mem y 1 bmp mem x 2 y 4 但是在調試時總是出錯 尋找最終的原因 應該是圖片轉換為矩陣時和圖片翻 轉之間的步驟有誤 導致調試時一直報錯 因此轉變設計方案 先確定所要出現(xiàn)圖 片的位置 再通過在不同位置處顯示不同圖片的大小依次出現(xiàn)達到一個三維視覺動 態(tài)效果 最后經(jīng)過反轉函數(shù)實現(xiàn)圖片的反轉 在制作過程中想要加入音樂 但是由 于時間有限就未能實現(xiàn) 圖片顯示函數(shù)如下 顯示一張 24 位的 bmp 圖片 圖片的寬度必須為 4 的倍數(shù) void lcd draw bmp char name int x0 int y0 int w int h int fd fd open name O RDWR if 1 fd printf open s error n name return 圖片反轉函數(shù)如下 位運算 int x y k i 0 for y 0 y 0 x b ch i g ch i 1 r ch i 2 i 3 color r 16 g 8 b lcd draw point x x0 h y y0 color 顯示界面調用函數(shù)如下 顯示 BMP 圖片 lcd draw bmp zs bmp 1 1 796 477 delayms 3000000 lcd draw bmp zsone bmp 100 60 600 360 delayms 3000000 lcd draw bmp zstwo bmp 200 120 400 240 delayms 3000000 lcd draw bmp zsthree bmp 300 140 200 200 delayms 3000000 lcd draw bmpop zs bmp 1 1 796 477 圖片效果的速度可通過改變延時函數(shù)的時間來改變 4 結果與結論 4 1 設計結果 設計結果實現(xiàn)了以下 4 點 1 在 LCD 上顯示圖片 文字 2 關于 GEC210 芯片的使用 Ubuntu 環(huán)境下的操作 3 可隨時更換圖片 具有串行通信功能 4 聚焦逐現(xiàn)圖片特效 效果分布展示如下 圖 4 1 開始界面 圖 4 2 逐步縮小界面 圖 4 3 放大反轉界面 4 2 結論 設計優(yōu)缺點 1 實現(xiàn)了多種不同的圖片播放特效 2 二次開發(fā)容易實現(xiàn) 3 圖片的自動播放 4 未實現(xiàn)手動播放和音樂功能 設計的核心及工程實用價值 隨著數(shù)碼相機的大量普及和人們對多媒體播放的需求 不同用戶的計算機中存 滿各種照片 連桌上相框中照片的更換頻率也提高了 對數(shù)碼相片進行便捷的顯示 分享 編輯 刪除 打印等操作逐漸成為市場的需求 電子相框 數(shù)碼伴侶等概念 型產品逐漸出現(xiàn)在數(shù)碼市場 電子相冊也由概念型產品進入市場已有六 七年 目 前 電子相冊產品主要應用于禮品市場 其真正的目標用戶卻是非常廣的 并且它 的最終消費人群應該是以家庭為主的普通消費者 其應用的領域將更廣闊 改進意見 1 實現(xiàn)通過觸屏實現(xiàn)圖片特效間的切換 2 音樂播放功能的增加 3 多張圖片合成一張圖片播放功能的實現(xiàn) 展望 電子相框結合液晶顯示技術 電視技術 數(shù)字存儲技術 日益成為面向時尚個 性的數(shù)碼相機 數(shù)碼攝像的最佳伴侶 隨著核心器件 NandFlash 和 LCD 屏的降價 必將進一步刺激電子相框的市場需求 多功能電子相冊方便攜帶 重量輕 樣式豐富 在今后必定有更大發(fā)展空間 5 收獲與致謝 在本次設計開始前 我們最先開始的是查資料 通過查找資料了解圖片顯示和 各種特效的實現(xiàn)原理 然后再自己嘗試設計特效 一開始我們想的特效都很復雜 想要一步實現(xiàn) 嘗試了很多方法 都沒能成功 最后 我們改變了思路 用圖片逐 層顯示來實現(xiàn)動態(tài)過程 這個特效雖然簡單 但它是復雜特效的一個基礎 讓我明 白了復雜的設計要從簡單開始 不能想著一口吃個大胖子 到答辯前一天我們各自 設計的特效才有了一點自己想要的效果 當時還很想實現(xiàn)觸屏和音樂播放功能 但 前期嘗試時一直調試不成功所以就沒有來得及實現(xiàn) 這是本次設計中的一個遺憾 通過本次設計也更加熟悉了 linux 的操作流程 熟悉了做實驗中的搭建環(huán)境和交 叉編譯 開始時很多步驟都記不太清楚了 所以又復習了一遍以前的實驗 在這里 我體會到了平時的學習都是為了以后的復雜工程做鋪墊 讓我們能更好的解決一些 設計工程 理論是基礎 只有基礎打好了 上層建筑才會更加穩(wěn)和順利 同時完成 了圖片在 LED 屏上的顯示和聚焦逐現(xiàn)特效 在顯示圖片的操作上 開始屏幕總是會 花 顯示的圖片不理想 后來仔細看了工程師給的顯示圖片代碼和清屏代碼 通過 和同學商量最終完成了圖片的顯示 在特效的實現(xiàn)過程中 一開始很想做一個立體 的炫酷的特效 也通過查找資料理解了其原理和算法實現(xiàn)流程 但在調試時總是不 成功 在這里用了很長時間 最后 改變了設計思路 覺得應該從簡單的開始做 再一步步增加功能 通過和同學的商量與摸索 終于實現(xiàn)了簡單的特效 雖然從設 計到實現(xiàn)的過程有很多困難 但是體會到了和同學一起完成同一個任務的快了 也 收獲了很多課本上沒有的知識 體會到了實踐的樂趣 在此 感謝我的隊友給予的幫助 老師和粵嵌工程師給的平臺和機會 尤其是 粵嵌工程師給我的學習指導 6 參考文獻 1 童凱 基于Linux以及Qt的網(wǎng)絡電子相框設計與實現(xiàn) D 電子科技大學 2014 2 林鋒 基于ARM7TDMI 芯片的嵌入式LINUX 交叉調試器的設計和實現(xiàn) D 四川大學 2002 3 王浩 陳邦瓊 嵌入式Qt開發(fā)項目教程 M 中國水利水電出版社 2014 4 梁融凌 余昌嵩 基于嵌入式 Linux 電子書的設計與實現(xiàn) J 牡丹江師范學院學報 自然科學 版 2014 4 12 14 5 Yan H Liu L Xue T SPLIT SCREEN PROCESSING METHOD AND DEVICE AND COMPUTER STORAGE MEDIUM WO 2015 123937 P 2015 6 燕麗紅 林志雄 楊星 基于Windows 7操作系統(tǒng)和Qt技術的電子相冊設計Design of electronic photo album based on Windows 7 operating system and QT J 現(xiàn)代電子技術 2013 7 范定焓 基于ARM9 平臺的便攜式媒體播放器的設計與開發(fā) D 復旦大學 2009 8 朱濤 一種基于互聯(lián)網(wǎng)絡的電子相冊 CN CN 201846349 U P 2011 9 范定焓 基于ARM9 平臺的便攜式媒體播放器的設計與開發(fā) D 復旦大學 2009 10 Zhu M CATERING INFORMATION SYSTEM BASED ON DIGITAL MENU SUPPORTING CARD SWIPING WO 2013152620 A1 P 2013 11 楊燕 陳祝 一種基于Cortex內核的家用電子相冊設計 C 2014 全國半導體器件產業(yè)發(fā)展 創(chuàng)新產品和新技術研討會暨第七屆中國微納電子技術交流與學術研討會 2014 7 附件 1 答辯問題回答記錄 必需 問 有沒有實現(xiàn)手動播放功能 答 沒有 目前我們完成的只有自動播放和圖片替換功能 2 元器件清單 粵嵌 GEC210 開發(fā)板 安裝有虛擬機和 LINUX 的電腦 3 設計代碼 NAME open and possibly create a file or device SYNOPSIS include include include int open const char pathname int flags int open const char pathname int flags mode t mode file descriptor 文件描述符 include include include include include include for open include include include include for close int plcd NULL char wo 0 x04 0 x40 0 x0E 0 x50 0 x78 0 x48 0 x08 0 x48 0 x08 0 x40 0 xFF 0 xFE 0 x08 0 x40 0 x 08 0 x44 0 x0A 0 x44 0 x0C 0 x48 0 x18 0 x30 0 x68 0 x22 0 x08 0 x52 0 x08 0 x8A 0 x2B 0 x06 0 x10 0 x02 void lcd draw point int x0 int y0 int color plcd y0 800 x0 color 在頂點為 x0 y0 的位置開始顯示一個顏色矩形 矩形的寬 度為 w 高度為 h 顏 色為 color void lcd draw rect int x0 int y0 int w int h int color int x y for y y0 y y0 h y for x x0 x x0 w x lcd draw point x y color 把 lcd 清成 color 顏色 void lcd clean screen int color int x y for y 0 y 480 y for x 0 x 800 x lcd draw point x y color void delayms int xms int i j for i 0 i 0 j 顯示一張 24 位的 bmp 圖片 圖片的寬度必須為 4 的倍數(shù) void lcd draw bmp char name int x0 int y0 int w int h int fd fd open name O RDWR if 1 fd printf open s error n name return 1 跳過前 54 個 byte lseek fd 54 SEEK SET char ch w h 3 read fd ch sizeof ch close fd lcd 的像素點占 4byte 24 位 bmp 3byte int color char r g b 位運算 int x y i 0 for y 0 y h y for x 0 x w x b ch i g ch i 1 r ch i 2 i 3 color r 16 g 8 b lcd draw point x x0 h y y0 color delayms 1 顯示一張 24 位的 bmp 圖片 圖片的寬度必須為 4 的倍數(shù) 左右顛倒 void lcd draw bmpop char name int x0 int y0 int w int h int fd fd open name O RDWR if 1 fd printf open s error n name return 1 跳過前 54 個 byte lseek fd 54 SEEK SET char ch w h 3 read fd ch sizeof ch close fd lcd 的像素點占 4byte 24 位 bmp 3byte int color char r g b 位運算 int x y k i 0 for y 0 y 0 x b ch i g ch i 1 r ch i 2 i 3 color r 16 g 像素點的個數(shù) len 8 已知 字的寬度 高度 len 8 w high len 8 w 64 int flag flag w 8 4 for i 0 i 0 j if ch i j else lcd draw point 8 i flag 7 j x i flag y color int main int argc char argv int fd O RDWR 可讀可寫 fd open dev fb0 O RDWR if fd 1 if fd 1 if 1 fd printf open dev fb0 error n return 0 內存映射 吧一個文件或者設備映射到一個進程的 地址空間中 內存 在進程中操作這塊映射的內 存就相當于操作 被映射的文件 plcd 存儲了映射的地址空間的首地址 plcd mmap NULL 800 480 4 PROT READ PROT WRITE MAP SHARED fd 0 如何把 lcd 上的第 n 個像素點 顯示成紅色 plcd n 0 x00ff0000 如何把坐標為 x y 的像素點 顯示成紅色 plcd y 800 x 0 x00ff0000 如何把整個屏幕全部顯示白色 循環(huán) lcd clean screen 0 xFFFFFFFF 如何顯示一個矩形 lcd draw rect 50 50 100 100 0 x00ff0000 顯示 BMP 圖片 lcd draw bmp zs bmp 1 1 796 477 delayms 3000000 lcd draw bmp zsone bmp 100 60 600 360 delayms 3000000 lcd draw bmp zstwo bmp 200 120 400 240 delayms 3000000 lcd draw bmp zsthree bmp 300 140 200 200 delayms 3000000 lcd draw bmpop zs bmp 1 1 796 477 初始化串口 int com fd init serial dev s3c2410 serial3 9600 lcd draw word wo 0 x00ff0000 32 16 100 100 monitor touch close fd return 0 5 實物上電效果圖 圖 7 1 效果圖 1 圖 7 1 效果圖 2 圖 7 1 效果圖 3 附件 1 答辯問題回答記錄表 學號 2014550808 姓名 陳茜茜 專業(yè) 班級 14 電子信息工程 4 班 老師所提問題 能不能手動播放 實現(xiàn)上一張下一張和暫停 學生回答問題 還未實現(xiàn) 我們只實現(xiàn)了圖片顯示 每人一種特效和自動播放以及照片替換 有嘗試過實現(xiàn)手動播放和音樂播放 但是調試還沒有成功 設計成績評定 序 號 考核內容 評定權重 系數(shù) 評分 1 設計方案是否正確 是否有創(chuàng)新之處 0 2 3 硬件制作 軟件程序設計是否規(guī)范 0 2 4 硬件運行結果是否正確 0 2 5 答辯成績 0 1 6 設計報告是否規(guī)范 組織表述是否準確 清晰 0 3 加權總分 百分制成績與等級制成績對應關系如下 90 分 含 以上 優(yōu)秀 80 含 90 之間 良好 70 含 80 之間 中等 60 含 70 之間 及格 60 分 以下 不及格 總 成 績 指導教師 年 月 日- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 開發(fā) 電子相冊 嵌入式 課程設計
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權,請勿作他用。
鏈接地址:http://www.szxfmmzy.com/p-6700985.html