基于RK3288的智能魔鏡設計與實現
智能魔鏡由鏡子、顯示屏和主機組成,主機內置智能系統,智能系統接入云平臺,然后通過云平臺和智能系統可以讓“魔鏡”與人互動,用戶通過觸控、人體感應或語音識別可以喚醒魔鏡系統及控制智能家居設備。智能魔鏡系統如圖1。
本文引用地址:http://www.104case.com/article/202306/448164.htm1 硬件系統方案
智能魔鏡主控采用瑞芯微RK3288,遠場語音采用順芯ES7210,WiFi 藍牙模塊使用正基AP6256。硬件系統如圖2。其中,電源給整個系統供電;時鐘電路保證系統中的各模塊同步;復位電路確保主控可靠的工作;DDR是隨機存儲器,同步需要時鐘;FLASH用來程序存儲;WIFI可以用來無線傳輸;遠場語音用來人機交互。
瑞芯微RK3288 采用ARM 全新架構內核芯片,內置最新Mali-T76x 系列GPU 的芯片,支持4K×2K 硬解,支持H.265,顯示支持4K@60Hz。遠場語音芯片ES7210 具有4 路通道,2 路用于遠場語音,2 路用于消音回采。
2 電路設計
2.1 電源設計
電源給整個系統供電,電源芯片供電能力大于2 A,電感值大于2.2 μH,飽和電流大于3 A。Hi3559內核電壓0.8 V,IO 電壓18 V,DDR4 接口電壓1.2 V,LPDDR4 接口電壓1.2 V;內核電源,DDR 電源和IO電源上電時序為:IO 電源> DDR 電源>內核電源;下電時IO 先下電,內核最后下電。DDR PLL 電源與IO電源連接時,必須使用磁珠隔離,紋波小于800 mV,不能有固定頻點噪聲。FLASH 接口的IO 電源實際連接的時要與對接芯片的接口電平一致。
2.2 時鐘電路
外部24MHz 時鐘電路和芯片內部的反饋電路形成了系統時鐘電路。外部晶體振蕩電路采用4P 貼片晶振,其中2 個GND 要充分接地,增加系統時鐘抗ESD 干擾能力;外圍電容采用NPO,為防止電磁干擾,時鐘到主控的輸入端串聯22R 的端接電阻。
2.3 復位電路
系統上電后由主控內部POR電路對芯片進行復位,Hi3559 硬件復位通過RESET 引進來實現,低電平有效,最短復位周期為100 個24 MHz 的時鐘周期,也就是說至少需要4 ms。系統復位電平一定要與FLASH 電平保持一致,否則系統無法啟動。
2.1 DDR電路
DDR 電路采用2*DDR4,數據總線寬度為32 位,DDR4 傳輸速率為3 200 Mb/s。DDR4 采用了最先進工藝技術,在提高性能、降低成本同時還降低了功耗。DDR4 引腳由數據線、地址線、控制線、電源和地組成。DDR 按照引腳功能可以分為7 類:電源、地、配置、控制信號、時鐘信號、地址信號、數據信號。DDR4 中最重要的信號就是地址信號和數據信號。DQ[0:31] 是數據信號,DQS_N/DQS_P 是數據選通信號;A[0:16] 是地址選擇信號,BA[0:1] 是Bank 地址選擇;CK_N/CK_P 是差分時鐘信號;CS_N 是DDR 片選信號;ODT 是阻抗匹配使能信號。
3 軟件設計
軟件采用Android 系統,用JAVA 編程語言開發,可以跨平臺移植和復用,并且可以兼容第三方在Android系統開發的應用程序。
軟件從下到上依次是內核(Linux Kernel)、運行時環境(Android Runtime)、庫(Libraries)、應用框架(Application Framework)、應用(Applications)。
1)內核(Linux Kernel):Android 基于Linux 4.4 提供核心系統服務,例如:安全、內存管理、進程管理、網絡堆棧、驅動模型。Linux Kernel 也作為硬件和軟件之間的抽象層,它隱藏具體硬件細節而為上層提供統一的服務;
2)運行時環境(Android Runtime):Android 包含一個核心庫的集合,提供大部分在Java 編程語言核心類庫中可用的功能。每個Android 應用程序是Dalvik 虛擬機中的實例,運行在他們自己的進程中。Dalvik 虛擬機設計成,在1 個設備可以高效地運行多個虛擬機;
3) 庫(Libraries):Android 包含1 個C/C++ 庫的集合,供Android 系統的各個組件使用。這些功能通過Android 的應用程序框架(Application Framework) 暴露給開發者;
4)應用框架(Application Framework):通過提供開放的開發平臺,Android 使開發者能夠編制極其豐富和新穎的應用程序。開發者可以自由地利用設備硬件優勢、訪問位置信息、運行后臺服務、設置鬧鐘、向狀態欄添加通知等等,很多很多。 開發者可以完全使用核心應用程序所使用的框架APIs。應用程序的體系結構旨在簡化組件的重用,任何應用程序都能發布他的功能且任何其他應用程序可以使用這些功能( 需要服從框架執行的安全限制);
5)應用(Applications):Android 裝配1 個核心應用程序集合,包括電子郵件客戶端、SMS程序、日歷、地圖、瀏覽器、聯系人和其他設置。所有應用程序都是用Java編程語言寫的。更加豐富的應用程序有待我們去開發,我們主要開發的內容就在這一層里。
軟件結構如圖3。
其中,內核(Linux Kernel):Android 基于Linux 4.4提供核心系統服務,例如:安全、內存管理、進程管理、網絡堆棧、驅動模型。Linux Kernel 也作為硬件和軟件之間的抽象層,它隱藏具體硬件細節而為上層提供統一的服務。運行時環境(Android Runtime):Android 包含1 個核心庫的集合,提供大部分在Java 編程語言核心類庫中可用的功能。每一個Android 應用程序是Dalvik 虛擬機中的實例,運行在他們自己的進程中。Dalvik 虛擬機設計成,在1 個設備可以高效地運行多個虛擬機。庫(Libraries):Android 包含1 個C/C++ 庫的集合,供Android 系統的各個組件使用。這些功能通過Android的應用程序框架暴露給開發者。應用框架(Application Framework):通過提供開放的開發平臺,Android 使開發者能夠編制極其豐富和新穎的應用程序。開發者可以自由地利用設備硬件優勢、訪問位置信息、運行后臺服務、設置鬧鐘、向狀態欄添加通知等等,很多很多。開發者可以完全使用核心應用程序所使用的框架APIs。應用程序的體系結構旨在簡化組件的重用,任何應用程序都能發布他的功能且任何其他應用程序可以使用這些功能( 需要服從框架執行的安全限制)。應用(Applications):Android 裝配一個核心應用程序集合,包括電子郵件客戶端、SMS 程序、日歷、地圖、瀏覽器、聯系人和其他設置。所有應用程序都是用Java 編程語言寫的。
4 結束語
本文設計的智能魔鏡,接入云平臺后,可以通過遠場語音控制智能家居中的燈光、水溫、門禁、冰箱和洗衣機等智能終端。
(本文來源于《電子產品世界》雜志2023年6月期)
評論