RK3568J支持非对称AMP : Linux+RTOS/裸机啦!

经验老道的工程师都知道,在工业应用场景和业务逻辑里面,对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/mmcblk1p8 conv=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串口终端,将打印出程序运行的信息。
图 4 baremetal程序串口终端
图 5 rt-thread(rtos)程序串口终端
在rs485 的 uart7 串口输入8个字符,然后按回车,串口终端将回显输出接收到的字符。
图 6
与此同时rs232 的 uart0 串口终端,将打印如下程序运行的信息。
图 7 baremetal 程序终端日志
图 8 rt-thread 程序终端日志


LeetCode 26:删除有序数组中的重复项
TMP01 低功耗可编程温度控制器(温度传感器)
嵌入式工控机将成为工业外接设备的主流选择
自动化技术学什么 自动化技术员工作内容
卡萨帝冰箱主动服务用户 挖掘用户深层次需求并提前做出反应
RK3568J支持非对称AMP : Linux+RTOS/裸机啦!
未来光纤传感器发展趋势大盘点
嵌入式自主创新浪潮之下,一家企业与“硬核”人才的“双向奔赴”
金桥5G产业生态金海园正式开园
简化BLDC电机控制设计
2018年上半年的半导体销售额较去年成长了20%
集成显卡与独立显卡的区别有哪些?
关于人工智能,企业管理者需要知道这十点
松下与丰田的进一步合作被视为对特斯拉采购策略变更的应对
PWM控制芯片+Royer结构高压板电路构成方案
工业互联网的前世今生 | 初探工业互联网
UPIoT的主要作用和价值体现
D触发器与死缠烂打的亚稳态介绍
PROFINET自动化通信技术在工业自动化领域的应用研究
关于排线线束,它的自身特性是什么