經驗老道的工程師都知道,在工業應用場景和業務邏輯里面,對CPU采集工業傳感器信號的實時性要求非常高,同時,操作系統對這些傳感器信號的處理,也作了非常嚴格的實時性限制。
對于實時傳感器信號的采集捕獲,通常是采用“單片機+RTOS實時操作系統”這種組合方式進行處理;而對于復雜的傳感器信號處理、業務應用邏輯和網絡任務處理,通常是采用“嵌入式SOC+Linux分時操作系統”這種組合較為恰當。
市場上現在有不少處理器芯片,在其芯片內部集成了多個處理器核心,分時系統核心和實時系統核心,不同的處理器核心之間通過高速總線進行數據共享處理,這次要分享的芯片主角是瑞芯微的RK3568J。
創龍科技基于 RK3568J 處理器芯片,研發出具有“非對稱AMP雙系統”的工業級核心板 SOM-TL3568,并且對工程師們開源了 Linux + RTOS/裸機 的應用案例,廣泛應用于工業相關領域。
“非對稱AMP”雙系統是什么
非對稱AMP(Asymmetric Multi-Processing),即非對稱多處理架構。“非對稱AMP”雙系統主要是指運行同一塊芯片內包含多個處理核心,多個核心可以獨立運行不同的操作系統,或這運行裸機應用程序。
例如,使用多個核心分別運行Linux + RTOS/裸機應用程序,但需要注意的是,必需要有一個主核心來控制整個系統以及其它從核心。
每個處理器核心之間的數據空間相互隔離,即擁有屬于自己的內存,既可各自獨立運行不同的任務,同時又可以多個核心之間進行通信。
隨著工業應用現場對嵌入式系統多任務和實時性要求的不斷提高,非對稱AMP架構如今已成為一種新的選擇,其主要應用于工業控制領域,如工業PLC、運動控制器、機器人控制器、繼電保護裝置、小電流選線設備等。
“非對稱AMP”對工業有何重要意義
1- 更強的“系統實時性”非對稱AMP架構之所以擁有更強的系統實時性,其原因在于,可以使用固定的核心進行實時任務處理。因此,在工業自動化控制領域中采用非對稱AMP架構,可以同時兼顧工業系統控制設備需要的復雜功能和實時性。 采用AMP架構,能夠極大地提高系統實時性,從而提高系統執行效率、計算能力及響應外部事件速度等。
2- 更高的“系統穩定性”非對稱AMP架構擁有更高的系統穩定性,是因為無需多個分立CPU之間進行頻繁數據交互。 在AMP架構中,每個處理器核心之間相互隔離,獨立擁有屬于自己的內存,核心之間的數據互不干擾。開發者可根據工業場景需要,靈活地指定某個任務在某個核心上獨立運行,也可指定不同核心系統之間進行相互數據通信,因此系統穩定性將會大大提高,有效地降低系統崩潰的概率,從而保證數據信息完整穩定性。
3- 更低的“系統硬件成本”核間通信方式決定了,僅需要一套硬件電路就可以實現復雜的功能,使得非對稱AMP架構方案擁有更低的系統硬件成本。 AMP架構中各核心可運行不同的操作系統,可并行執行多個任務,在開發中不需額外搭建其他系統硬件電路,在提高效率的同時,大大降低系統硬件成本。而如果采用分立CPU的設計方案,則需要兩套硬件電路(CPU/ROM/RAM/PMIC),系統硬件成本成倍增加。
RK3568J非對稱AMP開發案例
創龍科技基于 RK3568J 處理器研發的工業級核心板(SOM-TL3568),現已提供了非對稱AMP開發案例,并繼續快速完善中。 目前已經提供了GPIO、UART控制功能案例,同時計劃在近1~2個月陸續提供基于AMP架構的SPI、I2C、CAN、PCIe等案例。
SOM-TL3568核心板CPU、ROM、RAM、電源、晶振、連接器等所有器件均采用國產工業級方案,國產化率100%。 (1分鐘解鎖國產化率100%的RK3568J工業核心板)
接下來,我們以串口回顯功能為例,演示一下SOM-TL3568核心板的非對稱AMP案例的開發基本流程。
實現串口回顯功能案例案例實現功能:CPU0、CPU1、CPU2核心運行Linux系統;CPU3核心運行Baremetal、RT-Thread(RTOS)程序,實現RS485 UART7串口的回顯功能。
圖 1
請將產品資料案例提供的amp.img鏡像,拷貝至評估板文件系統,然后在開發板命令行終端,執行如下命令,將其固化至Linux系統啟動卡對應分區。
備注:如需固化到eMMC,需要將設備節點修改為"/dev/mmcblk0p8"。
Target #dd if=amp.img of=/dev/mmcblk1p8conv=fsync
Target #sync
Target #reboot
圖 2
將評估板上電啟動后,在U-Boot終端倒計時結束之前,按下空格鍵進入到U-Boot的命令行模式,然后執行如下命令,關閉設備樹的uart0和uart7配置,以避免Linux內核占用案例的外設資源。
U-Boot #fdt set /serial@fdd50000 status "disable"
U-Boot #fdt set /serial@fe6b0000 status "disable"
U-Boot #boot
圖 3
在核心板的 U-Boot 啟動成功后,將自動加載運行amp.img鏡像,RS232的UART0串口終端,將打印出程序運行的信息。
圖 4Baremetal程序串口終端
圖 5RT-Thread(RTOS)程序串口終端
在RS485 的 UART7 串口輸入8個字符,然后按回車,串口終端將回顯輸出接收到的字符。
圖 6
與此同時RS232 的 UART0 串口終端,將打印如下程序運行的信息。
圖 7Baremetal 程序終端日志
圖 8RT-Thread 程序終端日志
審核編輯:劉清
-
Linux
+關注
關注
87文章
11342瀏覽量
210298 -
RTOS
+關注
關注
22文章
819瀏覽量
119870 -
處理器芯片
+關注
關注
0文章
117瀏覽量
19825 -
裸機
+關注
關注
0文章
39瀏覽量
6424 -
RK3568
+關注
關注
4文章
525瀏覽量
5223
原文標題:嵌入式工業利器,RK3568J 支持非對稱AMP : Linux+RTOS/裸機啦!
文章出處:【微信號:工程師進階筆記,微信公眾號:工程師進階筆記】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論