【正文】
1 的音頻輸出。當需要顯示下一幅圖片時,只需要修改 SSA 即可。 W I G G L EnT R S TT D IT M ST C KT D OnR E S E TR 3 0 1 1KR 3 0 21KR P 3 0 1 10KnT R S TT C KT M ST D InT R S TV D D 33 圖 JTAG調(diào)試接口 24 視頻采集電路 USB 接口電路: USB 模塊集成在 S3C2440 芯片中,所以使用 2440 時,可以直接調(diào)用其中的USB 模塊,外圍電路上有一個 和 DEVICE 接口, USB 接口電路如下: V B U S1D2D+3GND4S111S212C O N 50 1AU S B _H O S TV B U S5D6D+7GND8S19S210C O N 50 1BU S B _H O S TR50415KR50315KR 50 1 22RR 50 2 22RV D D 50D P 0DN0R50815KR50715KR 50 5 22RR 50 6 22RV D D 50D P 1_ HD N 1_ H 圖 USB接口 電路 OV511 攝像頭: 筆者是利用 OV511 標準 USB 接口連接 S3C2440 的外圍電路,連接起來比較方便, S3C2440 支持熱插拔?;?2440 的 JTAG 調(diào)試電路如圖 所示。 JTAG 基本原理是在器件內(nèi)部定義一個 TAP(Test Access Port,測試訪問端口 ),通過專用的 JTAG 測試工具對進行內(nèi)部進行測試。 X T Ir t cX T Or t cX112MX T OpllX T IpllC422PC122PC322PC222PX2 圖 晶振電路 3. 復位電路 2440 需要穩(wěn)定和精確的復位信號,故通過外接 MAX8115 復位芯片提供準確的 電壓、 100uA 靜態(tài)電流、 200ms 時間延遲的復位信號。 21 圖 IP可視電話硬件總體架構 硬件詳細設計 硬件平臺詳細設計包括 2440 最小系統(tǒng)電路和相關的外圍模塊電路的設計,外圍電路主要包括攝像頭采集電路、 LCD 接口電路、語音采集和播放電路、以太網(wǎng)接口電路和 UART 接口電路。 (5) LCD 接口連接 LCD 顯示器,用于視頻的顯示。 基于 S3C2440 芯片的外圍接口,設計了可視 IP 電話終端的硬件系統(tǒng)總體結構圖,如圖 所示,包括如下幾個部分: (1) USB 讀取 CMOS 攝像頭圖像幀, I2C 控制攝 像頭工作,實現(xiàn)視頻采集功能。目前,全世界有幾十家著名的半導體公司使用 ARM 公司的授權,既使 ARM 技術獲得更多的第三方工具、制造、軟件的支持,又使整個系統(tǒng)成本降低,使產(chǎn)品更容易進入市場并被消費者所接受。命令格式如下: – 配置參數(shù) ./rootfs o 3) 修改內(nèi)核啟動參數(shù) 通過內(nèi)核配置菜單 Boot options 選項修改內(nèi)核啟動參數(shù)為從 NAND Flash 第 3 個分區(qū)掛載根文件系統(tǒng) ,修改后的內(nèi)容如下: CONFIG_COMLINE= “ noinitrd console=ttymxc0,115200 root=/dev/mtdblock3 rw rootfstype=jffs2 mem128M” 18 第三章 S3C2440 的 IP 可視電話硬件設計 硬件是整個系統(tǒng)的物理基礎,為軟件的運行提供了平臺。 然后,將適當?shù)膬?nèi)容復制到各個子目錄中, /lib 目錄下要復制 glic 庫文件; /dev 目錄下要建立系統(tǒng)中所有的設備文件; /etc 目錄下建立相關的系統(tǒng)啟 17 動配置文件。 1) 根文件系統(tǒng)的位置 當目標板上開始運行 Linux 之后,可以在串口超級終端中輸 cat/proc/mtd 16 命令查看當前 Linux 內(nèi)核所在的存儲器的文件系統(tǒng),命令執(zhí)行結果如下: EmbedSky cat /proc/mtd dev: size erasesize name mtd0: 00020200 00020200 IPLSPL mtd1: 00400000 00020200 mtd2: 03b00000 00020200 mtd3: 0c0e0000 00020200 通過命令的執(zhí)行結果可以看出該目標板的存儲器上一共有四個分區(qū), 分別為: (1) IPLSPL: IPLSPL 是 Freescale 開發(fā)的一種 Bootloader; (2) : Linux 內(nèi)核; (3) :根文件系統(tǒng); (4) :用戶空間,可以存放其他數(shù)據(jù)。 15 圖 Linux 內(nèi)核配置界面 2) 內(nèi)核編譯 筆者使用的內(nèi)核版本是 , makefile 功能已經(jīng)足夠智能,只需要簡單執(zhí)行 make 命令就可以生成內(nèi)核的 zImage 文件和可加載驅(qū)動模塊。 Linux 內(nèi)核具有很強的平臺獨立性,可以被很容易地移植到不同的硬件平臺上,支持絕大多數(shù)硬件平臺。常見的 Bootloader 有 UBoot、 RedBoot 和 ARMBoot 等,這些 Bootloader 具有較強的可移植性, 14 支持很多硬件平臺。從主機下載的文件會被 Bootloader 寫入到目標機的非易失性存儲器中,該模式通常會給用戶提供一個簡單的命令行接口,用于產(chǎn)品開發(fā)階段。而 Stage2 通常用 C 語言來實現(xiàn),可以實現(xiàn)復雜的功能且具有很好的可讀性和移植性。 (4) 編譯安裝完整的 gcc:由于在第 2 步生成的 armlinuxgcc 是沒有glibc 的支持下完成的,所以缺少了很多功能,故當?shù)?3 步建立完 glibc 之后,可以編譯生成完的 armlinuxgcc。手工建立交叉編譯工具鏈是一個相當復雜的過程,不過現(xiàn)在很多平臺都有現(xiàn)成的工具鏈可以直接使用。 構建嵌入式 Linux 系統(tǒng)的步驟 構建嵌入式 Linux 系統(tǒng)的目的是給上層應用程序的開發(fā)搭建了一個平臺 ,具體步驟包括交叉編譯工具鏈的配置、 Bootloader 的移植、 Linux 內(nèi)核移植和根文件系統(tǒng)的制作,下面分別加以闡述。 11 圖 嵌入式 Linux的軟件結構 嵌入式 Linux 的軟件開發(fā)模式 在沒有操作系統(tǒng)的嵌入式開發(fā)中,一般的開發(fā)模式是在一臺稱為宿主機的PC 上通過交叉編譯器編譯出目標板平臺的可執(zhí)行程序,然后通過寫入器寫入到目標板執(zhí)行。 (4) 基于 Linux 平臺的大量免費開源軟件 ,可以被移植到嵌入式系統(tǒng)中,大大加快了新項目的開發(fā)進度。這一特點,正好能適用于存儲資源有限的嵌入式系統(tǒng)中。 構建嵌入式 Linux 系統(tǒng) 操作系統(tǒng)是一組計算機程 序的集合,用來有效地控制和管理計算機的硬件和軟件資源,它合理的對資源進行調(diào)度,為用戶提供方便的應用接口,為應用軟件 10 提供運行環(huán)境。 ( 5) UDP 使用 盡最大能力交付 ,即不保證可靠交付,因此主機不需要維持復雜的鏈接狀態(tài)表(這里面有許多參數(shù))。在發(fā)送端, UDP 傳送數(shù)據(jù)的速度僅僅是受應用程序生成數(shù)據(jù)的速度、計算機的能力和傳輸帶寬的限制;在接收端, UDP 把每個消息段放在隊列中,應用程序每次從隊列中讀一個消息段。在進入 2020 年后,具有足夠能力處理 的具有經(jīng)濟成本效益的處理器將很常見。 圖 可視電話體系結構 當今應用處理器的處理能力的增加使得我們能使用先進的操作系統(tǒng)環(huán)境,例如嵌入式 Linux 來有效地將 V2IP 系統(tǒng)中需要的控制和媒體處理進行劃分。 8 第二章 總體設計方案及相關技術概要 IP 可視電話的體系結構 自從第一代的 IP 可視電話推出以來,通用應用處理器的處理能力已經(jīng)提高到能將所有通常用 DSP 實現(xiàn)的語音處理器任務由應用處理器實現(xiàn)。 第三章首先給出了硬件平臺的總體設計和芯片的選型,接下來詳細闡述了S3C2440 芯片以及各個功能模塊的硬件原理圖,最后結合硬件測試過程給出了Bootloader 和 Linux 內(nèi)核的移植方法。 3)可擴展的處理器結構,以能最迅速地開發(fā)出滿足應用的最高性能的嵌入式微處理器。 嵌入式系統(tǒng)的核心是嵌入式微處理器。 基于上述 IP可視電話架構的分析,我選擇的是三星公司可視電話 成熟方案,選擇三星公司生產(chǎn)的 S3C2440 作為主控芯片,外部連接鍵盤,麥克風,喇叭,以太網(wǎng)接口, 寸的 LCD 顯示器,再外連 OV511 攝像頭,這樣形成一個大體的意向框架,能有力地促進下一步硬件環(huán)境的測試與軟件架構的搭建。 ketlx 預覽版。 鍵盤音 頻 編 解 碼 器應 用 處 理 器以 太 網(wǎng) 接 口麥 克 風 喇 叭視 頻 加 速處 理L C D 顯 示 器攝 像 頭 圖 嵌入式可視 IP 電話終端結構圖 終端之間的通信過程如下:首先是發(fā)送方通過 鍵盤輸入適當?shù)暮艚忻?,處理單元通過運行呼叫信令協(xié)議和響應者建立連接;連接建立后,發(fā)起方和接收方把各自的麥克風和攝像頭捕獲的音視頻數(shù)據(jù)壓縮處理后通過網(wǎng)絡發(fā)送到對方,同時也將對方發(fā)送過來的音視頻數(shù)據(jù)解碼后播放與顯示。 系統(tǒng)設計思路 5 可視 IP電話技術是指在發(fā)送方將音視頻數(shù)據(jù)編碼和打包處理,通過 IP 網(wǎng)絡進行傳輸,然后在接收方還原出音視頻的一種技術,嵌入式可視 IP 電話終端則同時擔當了其中發(fā)送方和接收方的角色,需要完成音視頻采集、編碼、通過 IP網(wǎng)絡發(fā)送、顯示視頻和播放語音等的功能。 協(xié)議標準不統(tǒng)一,影響市場推廣。 編解碼芯片技術是可視電話發(fā)展的關鍵,沒有核心編解碼芯片,可視電話只能是無源之水、無本之木。 早在上個世紀五六十年代就有人提出可視電話的概念,認為應該利用電話線傳輸語音的同時傳輸圖像。 In software implement, with porting the Linux kernel to the bottom level, using the Semaphore mechanism to effectively solve multichannel video codec. Meets the telephone terminal’s requirement of video encoding and decoding at the same time. by drawing Linux39。 本文首先概述了可視 IP 電話技術的發(fā)展歷史并通過對當前市場上同類產(chǎn)品發(fā)展現(xiàn)狀的分析,指出了這些產(chǎn)品具有硬件設計復雜、圖像分辨率低、占用帶寬過大和價格過高等特點,闡明了設計和實現(xiàn)一款高性能和低成本的 嵌入式可視IP 電話終端的意義,提出了以 ARM 多媒體處理器 S3C2440 作為主控芯片的單芯片設計方案并研究了該方案的軟硬件實現(xiàn)方法,最后初步完成了可視 IP 電話在局域網(wǎng)內(nèi)部視頻通信。早期的可視電話基于公共電話交換網(wǎng),但由于傳輸速率不能滿足高性能視頻通信的要求,已經(jīng)逐步退出了歷史舞臺 。 In software design, using of the hierarchical design method of “top down, and gradually refining” to dividing the software into applicationlayer, middleware, and the bottom level, so the software will have a strong transplantation and scalability, can be used in the same product’s development and Video IP Phone’s secondary development。很少有用戶終端經(jīng)過幾十年的研制和發(fā)展仍基本停留在書本上,未能獲得大規(guī)模應用,而可視電話恰恰就處于這不幸的行列。直到 80 年代后期,隨著芯片技術、傳輸技術、 數(shù)字通信 、視頻編解碼技術和集成電路技術不斷發(fā)展并日趨成熟,適合商用和民用的可視電話才得以浮出水面,走向人們的視野。傳統(tǒng)的電話線是普通的雙絞線,主要用來傳輸語音,視音頻同時傳輸時,其傳輸速率僅能達到 ,所以在普通電話線的支持下,不能傳輸清晰連貫的圖像。 正因為技術、線路和行業(yè)管理 等方面存在問題,所以造成了可視電話幾十年仍遠離用戶,市場沒有起色。麥克風和喇叭用于音頻數(shù)據(jù)的捕獲和播放、顯示器和攝像頭用于視頻數(shù)據(jù)的捕獲和顯示、而鍵盤則主要用于用戶輸入各種呼叫和控制命令。博利思軟件公司在這方面做了一些有益的嘗試,并于最近推出了一個嵌入式 Linux 操作系統(tǒng) Po。與傳統(tǒng)的嵌入式系統(tǒng)相比, PooketIX采用標準的 Linux 結構,所有運行在標準 Limix