三個生活中最常見的產品的嵌入式產品實例分析:檯燈、智能手環、電視盒
實例一:智能檯燈
該檯燈首發價格為399元,月銷上萬,可以說是一款月流水千萬級的產品。相較於傳統檯燈,主要增加了亮度、色溫調節和手機控制,身價也漲了幾倍,該智能檯燈如圖 2.1.1所示,功能如下:
.可以根據外部光照情況,自動調整檯燈亮度、色溫;
.可以手動調節檯燈亮度、色溫;
.一鍵切換到讀寫場景模式和閱屏場景模式;
.支持番茄時鐘,每隔25分鐘,燈光提醒用戶休息;
.支持手機連接,通過手機或手機語音控制;
該智能檯燈的底座為控制面板,拆解該底座即可看到內部電路結構,如圖 2.1.2所示。可以看到裡面主要有兩個晶片,根據晶片上面的絲印標識可知,一個是RTL8710B,一個是SN8F5828FC。
從網際網路搜索「RTL8710B」可知,該模塊是一個高集成度低功耗Wi-Fi連接解決方案,裡面是一顆瑞昱(Realtek)生產的ARM-Cortex M3架構的32位MCU——RTL8710B。該模塊封裝好了Wi-Fi協議,用戶只需要通過SPI/SDI、I2C或UART與模塊連接,即可控制Wi-Fi收發數據。
從網際網路搜索「SN8F5828」可知,該晶片是松翰(Sonix)生產的一款8051架構的8位MCU,通過下載該MCU的晶片手冊可知,該MCU有多達14個PWM通道,可用於控制LED燈的亮度,另外還有UART和I2C,可用於與其它模塊通信。
根據以上分析,大致猜測該智能檯燈的整體設計框圖如圖 2.1.3所示。
光照傳感器會隨著外界光照情況變化自身阻值,主控MCU通過ADC獲取電壓變化,即可得知外部光照變化,控制PWM輸出修改占空比,調整亮度和色溫;觸摸按鍵按下後,會讓主控MCU的GPIO引腳電平產生變化,MCU程序讀取GPIO電平獲知按鍵操作,進而控制PWM輸出修改占空比,調整亮度和色溫;主控MCU先控制Wi-Fi模塊連接到網際網路,與雲端連接,手機APP的按鍵操作或語音輸入轉換成對應控制指令發送給雲端,雲端將指令發送給Wi-Fi模塊,再通過UART接口發送給主控MCU,主控MCU解析指令後,控制PWM輸出修改占空比,調整亮度和色溫;用戶通過按鍵設置為番茄時鐘模式,主控MCU則利用自身定時器計算時間,當為25分鐘時,控制PWM輸出修改占空比,調整亮度和色溫。
實例二:智能手環
該手環首發價格為299元,作為近幾年的熱門智能產品,銷量可觀。如今智能手環主打健康檢測,功能全面,因此需要的傳感器也越來越多。加上功耗和尺寸的限制,手環的主板集成度越來越高,足以媲美手機內部。該智能手環和內部結構如圖 2.1.4所示,主要功能如下:
.彩色IPS觸摸屏,顯示時間、健康信息、設置鬧鐘;
.鬧鐘、消息震動提醒;
.記錄跑步數據;
.測量當前心率;
.NFC刷公交、地鐵;
.藍牙連接手機,進行系統升級或接收手機消息;
可以看到該智能手環內部晶片非常多,根據上面的絲印可知晶片型號,再搜索對應型號可知每個晶片的作用,這裡整理如下。
·STM32L496VG:STMicroelectronics公司產品,ARM Cortex-M4架構的32位MCU,主頻可達80MHz,這裡作為整個系統的主控;
·PN80T:NXP和Garmin聯合出品,一款面向可穿戴設備的安全便捷的NFC移動支付晶片,接口為SPI或I2C;
·DA14580:Dialog公司產品,一款ARM Cortex-M0架構的32位低功耗的藍牙晶片,接口為UART、 SPI或I2C;
·MAX14745K:Maxim公司產品,一款面向低功耗的可穿戴設備的電池充電管理解決方案晶片,接口為I2C;
·AFE4410:TI公司產品,一款用於心率檢測的晶片,接口為SPI或I2C;
·IQS620:Azoteq公司產品,一款用於接近感應晶片,可檢測手環是否佩戴上,接口為I2C;
·LIS3DH:STMicroelectronics公司產品,一款超低功耗的高性能三軸線性加速度計,可檢測當前手環的運動狀態,接口為SPI或I2C;
·GD25LQ64CWIG:GigaDevice司產品,一款64M的SPI接口Flash,可用於存儲手環的主題數據包、圖片數據等;
根據以上分析,大致猜測該智能手環的整體設計框圖如圖 2.1.5所示。
前面智能檯燈,整體框架比較簡單,一般MCU運行裸機即可完成任務。智能手環整體框架就比較複雜了,一般都運行有操作系統RTOS。主控STM32L496VG接收來自藍牙、NFC、三軸加速度計、接近感應傳感器、心率傳感器和螢幕觸摸的數據,通過特地算法整合後,在OLED圖形化的展示給用戶,與用戶之間進行交互。
實例三:電視盒子
如今家庭電視也朝智能發展,傳統電視加上電視盒子,搖身一變為智能電視。目前市面上的電視盒子種類繁多,但其基本功能還是一致的,基本功能如下:
.高性能的處理器、大存儲空間,安裝應用程式,播放高清視頻;
.支持有線或無線連接網絡,實現在線播放;
.支持HDMI或AV輸出音視頻;
.支持USB接口;
.支持紅外遙控;
這裡拆解某電視盒子,如圖 2.1.6所示內部結構,主要的晶片有四個,整理如下。
·Hi3798:華為公司產品,ARM Cortex-A53架構的64位4核MPU,主頻高達2.0GHz,高性能多核GPU Mali T720,擁有強大的視頻、音頻編解碼,擁有一個HDMI 2.0接口、兩個千兆網口接口、一個USB2.0接口、兩個USB 3.0接口,一個IR紅外接收接口、兩個SDIO 3.0接口、多個I2C接口等,圖中被散熱器擋住;
·D2516ECMDXGJD:Kingston公司產品,為嵌入式設計的低功耗DRAM,單個256MB,這裡有兩顆,總計512MB;
·SDINBDG4-8G:Sandisk公司產品,高可靠耐用的eMMC快閃記憶體晶片,容量為8GB;
·RTL8822BS:Realtek產品,支持2.4G/5G的雙頻WiFi&Bluetooth模塊,接口為SDIO,圖中被屏蔽罩擋住;
根據內部結構,猜測該電視盒子的整體設計框圖如圖 2.1.7所示。
電視盒子的整體框圖比較簡單,但其難度不低,一般運行Linux/Android系統,無論是軟體複雜度還是硬體複雜度,都比一般的MCU項目複雜。MPU性能強大,接口繁多,像有線網口、HDMI接口、AV接口、USB接口都直接支持,這些接口MCU一般都沒有。除此之外,MPU項目都外接RAM和Flash,根據項目需求選擇合適大小,大小也遠超MCU項目。
【總結】
以上三個嵌入式產品實例,代表了嵌入式的三個方向。第一個是無作業系統的MCU項目,第二個是運行RTOS的MCU項目,第三個是運行Linux/Android的MPU項目,本手冊主要涉及MCU,也就是前兩個項目。讀者理解了它們的共性,也就理解了什麼是嵌入式系統。
.以應用為中心,以計算機技術為基礎,軟件/硬體可裁剪,實現應用需要的功能;
.對功能、可靠性、成本、體積、功耗有一定的要求;
.實現對其它設備進行控制、監視或管理的功能;
.簡單的說,除了通用計算機(讀者使用的電腦)和部分伺服器外的一切計算機系統,都是嵌入式系統;
我自己在今年年初錄製了一套還比較系統的入門單片機教程,想要的同學找我拿就行了免費的,私信我就可以哦~簡介里也有。