加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

AMP“双系统”加持,RK3568核心板强实时性再升级

01/17 11:50
3848
阅读需 9 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

如果要选出飞凌嵌入式最热门的几款产品,FET3568-C系列核心板一定榜上有名。这款高性价比的全能型核心板上市两年来已赢得了数千家客户的青睐。飞凌嵌入式也在不断对它进行升级——从“配置新增”到“100%国产化认证”再到“新系统适配”,以满足更多行业客户的需求。

近期,飞凌嵌入式FET3568-C系列核心板再度迎来新升级——支持“AMP”双系统

什么是“AMP”

AMP(非对称多处理)简单来说就是:多核处理器的每个核之间相互隔离,可以相对独立地运行不同的操作系统或裸机程序。这种运行模式比较适合高实时性的应用。

FET3568-C核心板AMP

飞凌嵌入式FET3568-C核心板搭载的RK3568处理器采用四核Cortex-A55架构,从架构上看属于“同构多核架构”。

RK3568的AMP SDKLinux SDK相比,区别在于Linux SDK中使用的是SMP(对称多处理)模式,即只运行一个Linux操作系统,在该操作系统中管理全部四个核;而AMP SDK使用AMP的模式,四个核心中的三个核心共同运行一个Linux操作系统,另一个核心单独运行裸机程序

由于高实时性任务是由运行裸机程序的核心专门处理的,所以这种运行模式可以很好地满足如电力互联网、电网继电保护电力系统安全控制、工业自动化等领域的高实时性需求。

更低成本,更高实时性,更具优势

(1) 更低成本:

为了解决Linux系统主控实时性不足的问题,在传统应用中通常会采取外挂单片机的方式专门执行高实时性的程序。

而采用AMP系统就可以舍弃掉外置的单片机,在FET3568-C核心板上,可以将四个A55核中的一个核心分离出来作为实时核单独运行RT-Thread或裸机程序——只用一颗芯片就能够完成所有的工作,降低了硬件成本。

(2) 高实时性:

由于Linux系统实时性较低,所以无法用来执行对实时性要求高的任务。而裸机程序或者实时操作系统的实时性远高于Linux系统,同时也得益于FET3568-C核心板最高2.0GHz的高主频,运行实时操作系统的A55核也可以拥有很强的实时性。

核间通信

与其它多核异构架构的处理器相同,AMP也使用共享内存的方式在A核(Linux)与实时核(裸机或实时操作系统)之间进行数据传输。

通过物理内存DDR分配,将硬件层分为了两部分:TXVring Buffer(发送虚拟环状缓冲区)和RXVring Buffer(接收虚拟环状缓冲区);其中实时核从TXVring区发送数据,从RXVring区读取接收数据,A核反之。

AMP使用示例

目前飞凌嵌入式FET568-C核心板已提供GPIOUARTSPI接口的使用示例,使用RPMSG进行核间通信。其它接口还在适配中,之后会陆续开放。裸机程序可以在提供的工具中使用JLINK仿真调试。

下面简要介绍一下裸机程序中UART接口的使用示例:

(1) 硬件连接

本示例使用的是UART5,使用跳线帽将OK3568-C开发板上的TX5与RX5短接。

(2) 设备树配置

为了防止Linux占用UART5的资源导致实时核无法使用UART5,需要先在设备树上的rockchip_amp节点添加对UART5的资源保护,包括时钟和pinctrl。

clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>,pinctrl-names = “default”, ”uart5”;pinctrl-1 = <&uart5m1_xfer>;

(3) 裸机程序的配置

UART接口使用介绍:

 // 管脚配置:选择UART5的收发管脚。/* uart5 tx */ HAL_PINCTRL_SetIOMUX(GPIO_BANK3, GPIO_PIN_C2, PIN_CONFIG_MUX_FUNC4); /* uart5 rx */ HAL_PINCTRL_SetIOMUX(GPIO_BANK3, GPIO_PIN_C3, PIN_CONFIG_MUX_FUNC4); /* uart5 m1 */ HAL_PINCTRL_IOFuncSelForUART5(IOFUNC_SEL_M1); // 通讯配置:波特率为115200,无校验,数据位8位,无流控,停止位1位。 /* uart5 config */ struct HAL_UART_CONFIG demo_uart_config = {    .baudRate = UART_BR_115200, // 波特率    .dataBit = UART_DATA_8B, // 数据位    .stopBit = UART_ONE_STOPBIT, // 停止位    .parity = UART_PARITY_DISABLE, // 校验 }; HAL_UART_Init(&g_uart5Dev, &demo_uart_config); 中断使能:配置并使能接收超时中断。 HAL_IRQ_HANDLER_SetIRQHandler(UART5_IRQn, uart5_isr, NULL); HAL_GIC_Enable(UART5_IRQn); HAL_UART_EnableIrq(g_uart5Dev.pReg, UART_IER_RDI);
 // 执行流程 // 初始化完成后,会先发送一串数据。如果接收到数据,触发中断,然后将接收的数据从调试串口发送出来。 // 中断回调函数 int iir = 0; iir = HAL_UART_GetIrqID(g_uart5Dev.pReg); if (iir & UART_IIR_RX_TIMEOUT) { do {     ret = HAL_UART_SerialIn(g_uart5Dev.pReg, &c, 1);     if (ret)         printf("%02x ", c);    } while (ret);     printf(“n”); }

示例使用:

根据OK3568-C开发板产品资料中提供的手册,在裸机程序的main函数中调用我们编写好的使用例程。

实验现象:
按照手册编译烧写完程序后,打开串口调试助手,打开对应串口,可以看到OK3568-C开发板开机后程序发出的数据。

在串口调试助手,输入任何数据并发送,触发接收中断,从实时核调试串口(uart4)就可以看到输入的数据了。

飞凌嵌入式FET3568-C全国产核心板全配置热卖中,复制下方链接进入飞凌嵌入式天猫旗舰店【Forlinx旗舰店】可立即选购。https://detail.tmall.com/item.htm?id=671306178060

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
74HC594DB,118 1 Nexperia 74HC594; 74HCT594 - 8-bit shift register with output register@en-us SSOP1 16-Pin

ECAD模型

下载ECAD模型
$2.57 查看
NC7WZ07P6X 1 Fairchild Semiconductor Corporation Buffer, LVC/LCX/Z Series, 2-Func, 1-Input, CMOS, PDSO6, 1.25 MM, EIAJ, SC-88, SC-70, 6 PIN
$0.28 查看
AD9361BBCZ 1 Analog Devices Inc RF Agile Transceiver

ECAD模型

下载ECAD模型
$269.47 查看
飞凌嵌入式

飞凌嵌入式

保定飞凌嵌入式技术有限公司,创建于2006年,是一家专注嵌入式核心控制系统研发、设计和生产的高新技术企业,是国内较早专业从事嵌入式技术的企业之一。 经过十几年的发展与积累,公司拥有业内优秀的软硬件研发团队,在北京及保定建立两大研发基地,在苏州、深圳设有华东、华南技术服务中心,并在北美、欧洲以及亚太等其他国家和地区拥有国际业务网络。公司研发的智能设备核心平台广泛应用于物联网、工控、轨道交通、医疗、电力、商业电子、智能家居、安防、机器人、环境监测等诸多领域。

保定飞凌嵌入式技术有限公司,创建于2006年,是一家专注嵌入式核心控制系统研发、设计和生产的高新技术企业,是国内较早专业从事嵌入式技术的企业之一。 经过十几年的发展与积累,公司拥有业内优秀的软硬件研发团队,在北京及保定建立两大研发基地,在苏州、深圳设有华东、华南技术服务中心,并在北美、欧洲以及亚太等其他国家和地区拥有国际业务网络。公司研发的智能设备核心平台广泛应用于物联网、工控、轨道交通、医疗、电力、商业电子、智能家居、安防、机器人、环境监测等诸多领域。收起

查看更多

相关推荐

电子产业图谱

秉承专业态度,专注智能设备核心平台研发与制造,以技术研发创新为主导,以客户实用化,产品化为目标,把握嵌入式行业的前沿发展需求,利用核心技术为客户提供稳定、可靠、功能优异的高品质产品。合作联系:17713286011