小螃蟹呀

  • 2024-12-31
  • 发表了主题帖: 飞凌嵌入式与菲尼克斯电气携手创新,为全球工业自动化发展注入智慧力量

    随着工业自动化技术的快速发展,业内对于控制软件的需求也日益增长,由全球知名的工业自动化和电气连接解决方案提供商菲尼克斯电气(Phoenix Contact)推出的工业自动化生态系统PLCnext,早已在工业自动化领域中占据举足轻重的地位,并凭借其卓越的性能、高度的可靠性和灵活的扩展性,赢得了全球客户广泛的青睐。   近期,菲尼克斯电气与飞凌嵌入式(Forlinx)强强联手,共同推出了Virtual PLCnext Control虚拟控制器解决方案和IEC61131-3 SoftPLC软件解决方案,为工业自动化领域带来了前所未有的创新性变革。     01 Virtual PLCnext Control虚拟控制器解决方案 软硬解耦,虚拟化SoftPLC解决方案     软硬解耦,打破传统束缚 vPLC解决方案通过软硬解耦设计,使PLC软件不再依赖专属硬件,能灵活植入客户硬件系统,极大提升灵活性并提供多样化选择,满足各种工业自动化需求,不受特定硬件平台限制。       混合编程,提升开发效率 vPLC解决方案支持IEC61131标准与高级语言(C、C#、Python、Simulink等)开发,混合编程方式提高了开发效率,适应复杂工业自动化场景,适合传统PLC编程工程师和高级语言程序员,共同促进工业自动化项目快速发展。   高效通信,稳定可靠 vPLC解决方案支持多种通信协议,如:PROFINET、OPC UA、Modbus、gRPC、RESTful,确保高效稳定通信,并支持实时多任务处理与工业信息安全策略,使PLC系统更好地融入工业自动化网络,实现数据高效传输与共享,保障系统稳定运行。       开放兼容,灵活拓展 飞凌嵌入式与菲尼克斯认为,优秀PLC解决方案需功能强大且开放兼容。vPLC解决方案采用开放设计,支持开源软件集成,对接AI、视觉算法等应用,适应未来工业自动化趋势,为现有系统及未来智能工厂、物联网应用提供丰富解决方案,持续创造价值和创新。   目前,飞凌嵌入式已有多款高性能开发板产品支持运行vPLC解决方案,并且可在Linux、Debian11、OpenEuler等系统稳定运行。         02 IEC61131-3 SoftPLC软件解决方案 MULTIPROG和ProConOS embedded CLR 适合自动化技术制造商(OEM)的IEC61131编程和运行时系统     菲尼克斯电⽓的MULTIPROG编程系统和ProConOS embedded CLR⾼性能PLC运⾏时系统是两个配合完美的软件组件,可助力客户开发符合IEC61131标准且上市时间极快的自动化系统。   多语言、多平台、多任务 ProConOS eCLR•MULTIPROG支持包括IL、LD、FBD、ST、SFC在内的多种编程语言,以及中文、英语、德语、日语等多种界面语言,极大地方便了全球用户的操作与使用;还具备多平台支持的能力,可以在ARM、X86等多种CPU架构以及Linux、Intime、FreeRTOS、ThreadX、VxWorks等多种操作系统上运行;此外,多任务处理能力也是其一大亮点,内核任务支持OS上的多应用,用户任务则支持多达10个周期、事件类型任务。   丰富的功能和高度扩展性 ProConOS eCLR•MULTIPROG提供了丰富的功能和高度扩展性。   MULTIPROG具有强制/覆盖、加密、断点/单步调试、不停机在线下装、离线仿真、逻辑分析等典型特点。   eCLR则具有可扩展能力强(IO、Function Block、Shared Mem等)、性能优异(完全的机器码执行,可支持不同硬件平台)、支持C++/C的功能扩展等典型特点。不仅如此,客户还可以根据个性化需求进行定制,如添加自定义工具栏、自定义菜单、自定义图形界面等。   目前,飞凌嵌入式已有6款开发板产品支持IEC61131-3 SoftPLC软件解决方案,为自动化技术制造商(OEM)提供了丰富的选择和强大的支持。       3   携手合作,共赢未来 飞凌嵌入式与菲尼克斯电气的合作推出的vPLC解决方案和IEC61131-3 SoftPLC软件解决方案,在技术融合与创新、提升工业自动化水平、推动数字化转型以及拓展应用场景与市场需求等方面都具有重要意义。这一合作不仅为工业自动化领域带来了前所未有的创新性变革,也为企业的数字化转型和智能制造提供了有力的支持。   展望未来,飞凌嵌入式与菲尼克斯电气将继续携手共进,不断探索工业自动化领域的新技术、新应用,为全球工业自动化事业的发展贡献更多的智慧和力量。      

  • 发表了主题帖: 飞凌嵌入式T527核心板已适配Forlinx Desktop 22.04

    近日,飞凌嵌入式为FET527N-C核心板适配了全新升级的Forlinx Desktop 22.04操作系统,为用户体验带来了诸多显著的提升——不仅能够享受到更加流畅、稳定的操作体验,还能充分利用Forlinx Desktop 22.04所提供的丰富功能与创新特性提升工作效率与应用兼容性。       OK527N-C开发板运行Forlinx Desktop 22.04     1   系统与硬件双重赋能 飞凌嵌入式FET527N-C核心板搭载全志T527N处理器,集成了8个ARM Cortex-A55高性能核,同时内置1个RISC-V核和1个DSP核,具有2TOPS的NPU算力,能够为复杂应用和AI需求提供充足的算力支持。   Forlinx Desktop 22.04操作系统则通过内核优化和资源管理策略,充分挖掘硬件潜能,与FET527N-C核心板紧密结合,在处理大数据、复杂算法等方面为用户带来更加流畅、高效的操作体验。   2   简单易用,高效开发 在Forlinx Desktop 22.04上,可以使用APT(Advanced Package Tool)作为其软件包管理工具,为用户提供了强大的包搜索、安装、升级和删除功能,让操作更简单,开发更高效。   3   国产方案,稳定供应 飞凌嵌入式FET527N-C核心板在关键元件上实现了高度国产化,从内存、存储到电源管理芯片等,均采用了国内领先的技术和产品,有效降低了供应链风险,提升了产品的安全性和可控性(其中,2GB+16GB版的元器件为100%全国产)。   FET527N-C核心板具有10~15年的生命周期,确保用户在长期的使用过程中能够获得稳定的硬件支持。     综合看来,FET527N-C核心板适配Forlinx Desktop 22.04,不仅为广大客户朋友提供了多一种选择,更为广大工程师用户带来更好的体验。

  • 发表了主题帖: 飞凌嵌入式获批建设「河北省嵌入式计算机控制系统技术创新中心」

    近日,河北省科学技术厅公示了2024年度拟新建省重点实验室和省技术创新中心的名单,保定飞凌嵌入式技术有限公司(以下简称:飞凌嵌入式)作为“河北省嵌入式计算机控制系统技术创新中心”的依托单位成功上榜,成为新建的135家省技术创新中心之一。         成为“河北省嵌入式计算机控制系统技术创新中心”,是飞凌嵌入式在嵌入式计算机控制系统领域技术实力的体现。飞凌嵌入式将加强与高校、科研院所、行业协会等单位的合作,开展嵌入式计算机控制系统关键及先进技术的研发,结合人工智能、工业物联网、智慧交通、智慧医疗、电力与储能等具体行业的多元应用场景,推动科技成果转化,打造企业创新生态、提升企业技术创新主体地位。   同时,飞凌嵌入式还将注重嵌入式领域专业技术人才的培养和引进,为产业发展提供强有力的人才支撑。   获批成为“河北省嵌入式计算机控制系统技术创新中心”,对飞凌嵌入式而言是一个新的起点。今后,飞凌嵌入式将继续加大科技创新力度,深化产学研合作,推动嵌入式计算机控制系统技术的创新与应用,为嵌入式计算机控制系统产业发展贡献力量。

  • 2024-12-09
  • 发表了主题帖: RK3562J开发笔记 | MCP2518FD外部CAN-FD控制器的调试方法

    “SPI转CAN-FD”是嵌入式开发领域的常用方法,它极大地促进了不同通信接口之间的无缝连接,并显著降低了系统设计的复杂性。飞凌嵌入式依托瑞芯微RK3562J处理器打造的OK3562J-C开发板因为内置了SPI转CAN-FD驱动,从而原生支持这一功能。该开发板特别设计了一组SPI引脚【P8】,专为SPI转CAN-FD应用而引出,为用户提供了极大的便利。   MCP2518FD是一款在各行业中都有着广泛应用的CAN-FD控制器芯片,本文就将为大家介绍如何在飞凌嵌入式RK3562J开发板上适配MCP2518FD芯片。   (建议您在手机、平板或电脑的浅色模式下阅读本文)   1   适配驱动 RK3562J的内核中已经具备MCP2518FD的驱动文件,要在配置文件中将驱动配置进内核,在kernel下打开图形化配置界面make menuconfig ARCH=arm64。   (1) 按下 ‘/’ 键进入搜索界面,输入 mcp251 可搜索MCP2518驱动:     上图中的CAN_MCP251XFD就是适配MCP2518FD模块的驱动。   (2) 选择 2 将其打 * 编译进内核:       (3)选择 save 保存配置到defconfig文件,文件路径:  /home/forlinx/3562/OK3562-linuxsource/kernel/arch/arm64/configs/OK3562_Linux_defconfig   2   适配设备树 (1) 飞凌嵌入式RK3562J开发板已引出一组SPI引脚:       (2) 驱动配置完成后要配置的是设备树文件: OK3562-C-common.dtsi   (3) 具体的配置信息如下: diff --git a/arch/arm64/boot/dts/rockchip/OK3562-C-common.dtsi b/arch/arm64/boot/dts/rockchip/OK3562-C-common.dtsi index 158f03d70..671a491bf 100644 --- a/arch/arm64/boot/dts/rockchip/OK3562-C-common.dtsi +++ b/arch/arm64/boot/dts/rockchip/OK3562-C-common.dtsi @@ -19,6 +19,12 @@ model = "Forlinx OK3562 Board"; compatible = "forlinx,ok3562","rockchip,rk3562"; + mcp2518_clk: mcp2518-clk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <40000000>; + }; + forlinx-control { status = "disabled"; disp_type = "mipi"; //mipi or lvds @@ -662,6 +668,13 @@ }; &pinctrl { + + mcp2518 { + mcp2518_irq_pins:mcp2518_irq_pins { + rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + touch { gt928_lvds_gpio:gt928-lvds-gpio { rockchip,pins = <3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>, @@ -980,13 +993,24 @@ &spi2 { + pinctrl-names = "default"; + pinctrl-0 = <&spi2m0_csn0 &spi2m0_csn1 &spi2m0_pins>; status = "okay"; - spi_dev0: spi@0 { +/* spi_dev0: spi@0 { compatible = "rohm,dh2228fv"; 2 / 5 pl022,com-mode = <1>; spi-max-frequency = <10000000>; reg = <0>; status = "okay"; + };*/ + spi@0{ + compatible = "microchip,mcp2518fd"; + reg = <0>; + clocks = <&mcp2518_clk>; + pinctrl-names = "default"; + pinctrl-0 = <&mcp2518_irq_pins>; + spi-max-frequency = <20000000>; + interrupts-extended= <&gpio4 RK_PB0 IRQ_TYPE_LEVEL_LOW>; }; };   ① mcp2518_clk 是时钟频率节点,要匹配模块实际的晶振频率; ② 模块上有的 INT 脚是模块的中断脚,在适配时需要连接一个可控的GPIO引脚作为终端脚; ③ 在 spi2 节点下添加匹配MCP2518驱动的设备树信息,compatible 信息不能出错,这是匹配驱动的重要属性。   3   编译烧写 将以上的驱动和设备树配置好后,编译内核烧写进开发板就可以测试了:   (1) 在源码目录下单独编译kernel: forlinx@ubuntu:~/3562/OK3562-linux-source$ ./build.sh kernel 在源码目录下的kernel目录下会生成镜像文件 boot.img   (2) 将镜像文件烧录到开发板,需要用到工具 RKDevTool ,此工具在OK3562的资料包里可以找到: ① 打开烧写工具; ② 用Type-C数据线连接PC和开发板底部的Type-C0接口; ③ 按住开发板的Recovery键不要松开,重启开发板; ④ 注意工具会识别到开发板是否进入烧录状态。     ⑤ 择之前编译好的 boot.img 镜像文件,在boot选项前面打勾,点击执行进行烧写,烧写完成会自动重启开发板   4   功能测试 在开发板内搜索can节点,使用 ifconfig -a 命令     可以看到生成的can0节点。接下来的功能测试,我们采用OK3562J-C和OK3568-C两块开发板的can0进行数据互发测试。   (1) OK3562J-C开发板接收数据: ① 设置can0的波特率 ip link set can0 type can bitrate 500000   ② 打开can0设备,并把can0设置成服务端接收数据  ifconfig can0 up //打开can0设备  candump can0& //can0设备设置成服务端       ③ 配置OK3568-C开发板的can0作为客户端,发送信息给OK3562J-C开发板的can0 ifconfig can0 down  ip link set can0 up type can bitrate 500000  ifconfig can0 up  cansend can0 123#1122334aabbccd //发送信息       ④ OK3562J-C开发板会收到OK3568发来的消息     (注:上图中出现的报错是MCP2518FD驱动的问题,测试不会影响通信。)   (2) OK3562J-C开发板发送数据: ① 设置波特率等操作同上,在配置功能时要使用 cansend 命令发送数据。       ② OK3568-C依照OK3562-C的方法配置成接收数据的服务端。 ifconfig can0 down  ip link set can0 up type can bitrate 500000  ifconfig can0 up  candump can0&       可以看到,两块开发板可以进行正常的数据互发。以上是飞凌嵌入式RK3562J开发板适配和测试MCP2518FD模块的全部过程,希望能够对大家的项目开发有所帮助。

  • 2024-11-29
  • 发表了主题帖: 飞凌嵌入式受邀亮相OpenHarmony人才生态大会2024

    2024年11月27日,OpenHarmony人才生态大会2024在武汉洲际酒店举行。在这场汇聚了行业精英、技术大咖及生态伙伴的年度盛会上,飞凌嵌入式作为OpenHarmony社区的重要成员受邀出席,并展示了其在OpenHarmony 4.1系统适配方面的最新成果。   在大会的静态展示区域,飞凌嵌入式携两款明星产品OK3568-C开发板和OK527N-C开发板的显示方案亮相,这两款开发板均已完成对OpenHarmony 4.1系统的深度适配与优化,展现了飞凌嵌入式在实现鸿蒙生态应用落地方面的强大推动力。     OK3568-C开发板     OK527N-C开发板     飞凌嵌入式始终积极推动OpenHarmony生态的发展。凭借深厚的技术积累和敏锐的市场洞察力,飞凌嵌入式目前已成功为搭载恩智浦i.MX6ULL、瑞芯微RK3568/RK3568J以及全志T527N处理器的多款嵌入式核心板适配了OpenHarmony 4.1系统,不仅拓宽了OpenHarmony的应用场景,也为国产操作系统的推广做出了贡献。通过不断优化软硬件协同,飞凌嵌入式有效提升了系统的稳定性和性能,为开发者提供了更加丰富、高效的开发工具和平台。   展望未来,飞凌嵌入式将继续加深与OpenHarmony社区的合作,并积极探索物联网和人工智能等新技术、新应用,推动OpenHarmony在千行百业的广泛应用。      

  • 发表了主题帖: 飞凌嵌入式入选国家级专精特新重点“小巨人”企业

    近日,飞凌嵌入式成功入选国家级专精特新重点“小巨人”企业名单,这是继2023年飞凌嵌入式入选国家级专精特新“小巨人”名单后的又一国家级殊荣。   国家级专精特新重点“小巨人”企业是专精特新“小巨人”企业里的佼佼者,是从专精特新“小巨人”里再次优选出来的企业,并且重点小巨人企业将会获得国家在财政、税务等多方面重点支持发展。       飞凌嵌入式于2023年入选国家级专精特新“小巨人”企业   此次入选国家级专精特新重点“小巨人”企业,代表着国家对飞凌嵌入式技术实力、创新能力的认可,更是对其所在领域及未来发展潜力的信任。   飞凌嵌入式作为一家专注嵌入式核心控制系统研发、设计和生产的高新技术企业,始终高度重视技术创新。十八年来积累了丰富的行业经验以及技术沉淀,形成了完善的嵌入式系统解决方案。目前,飞凌嵌入式已拥有软件著作权95件,专利总数55件。   未来,飞凌嵌入式仍将牢记“让客户的产品研发更简单、更高效,让客户的产品更智能、更稳定”的使命,不断提高技术实力和服务质量,推动嵌入式技术行业创新和产业发展。      

  • 2024-11-26
  • 发表了主题帖: 飞凌嵌入式荣获ISO13485医疗器械质量管理体系认证

    近日,飞凌嵌入式荣获ISO13485医疗器械质量管理体系认证,标志着企业在医疗器械领域的质量管理体系达到国际标准,拥有了完善的风险管理机制。   飞凌嵌入式始终秉持专业态度,积极探索嵌入式技术在医疗行业的应用,并针对医疗行业提供丰富的嵌入式主控解决方案,现已成功助力数千家医疗设备企业完成了产品的快速开发和上市。 成立18年来,飞凌嵌入式始终注重技术创新与质量管理的双重驱动,致力于为客户提供高性能、高可靠性的嵌入式解决方案。此前,公司已获得了ISO9001质量体系认证、ISO14001环境管理体系认证和ISO45001职业健康安全管理体系认证等多项国际权威认证,这些成就不仅彰显了飞凌嵌入式在各个方面的卓越表现,也充分说明了飞凌嵌入式已在全球市场的竞争中赢得了广泛的认可与信赖。   未来,飞凌嵌入式将继续加大研发投入、加速技术创新、提升产品质量、优化服务水平,同时,还将积极响应国家政策和市场需求,助力智慧医疗、工业自动化、智慧交通、电力储能等领域的发展,为千行百业的智能化进程贡献力量。飞凌嵌入式将以更加开放的姿态,携手全球合作伙伴共同开创嵌入式技术的美好未来。

  • 2024-11-25
  • 发表了主题帖: 飞凌嵌入式T113-i开发板RISC-V核的实时应用方案

    随着市场对嵌入式设备的功能需求越来越高,集成了嵌入式处理器和实时处理器的主控方案日益增多,以便更好地平衡性能与效率——实时核负责高实时性任务,A核处理复杂任务,两核间需实时交换数据。然而在数据传输方面,传统串行接口尽管成本较低,但其传输速率相对较慢;反之,并行接口虽然传输速度快,但成本却比较高。因此,单芯片多核异构处理器就成为能够满足需求的理想选择。   RISC-V作为一种开源指令集架构,以其简洁性、一致性、可扩展性以及高编译效率,为实时性处理场景提供了强大的支持。将A核与RISC-V核结合作为单芯多核异构方案,可以有效利用RISC-V的这些优势,实现高性能与高实时性的有效结合。         本文将以OK113i-S开发板为例,为大家介绍RISC-V核的资源和应用案例。   1   OK113i-S开发板的RISC-V核 飞凌嵌入式OK113i-S开发板是一款基于全志T113-i工业级处理器开发的高性价比开发板,集成了双核Cortex-A7 CPU、64位玄铁C906 RISC-V和DSP,能够提供高效的计算能力和性价比。尤为值得一提的是,其内置的RISC-V核心作为一款超高能效的实时处理器,主频峰值可达1008MHz,并标准配备了内存管理单元,能够流畅运行RTOS系统或裸机程序,进一步提升了应用灵活性。   1.1 RISC-V核的特性 (1) 最高主频可达1008MHz; (2) 32KB指令缓存; (3) 32KB数据缓存; (4) 可运行于超大容量的DDR   ... ...   1.2 RISC-V核的接口资源       2   应用实例 2.1 SPI数据收发 本案例为SPI回环测试,即将SPI的MOSI和MISO两个引脚短接进行数据收发。   (1) 功能介绍       (2) 效果实现 SPI发送和接收的FIFO均为64个,在底层hal库程序中,当数据长度小于64字节时,采用中断方式,当FIFO大于等于64字节时,采用DMA模式。   中断方式传输效果:     DMA方式传输效果:     在DMA传输方式下,SPI速率默认为5Mbit/s,案例中平均传输速率为580.43KB/s,即4.6Mbit/s,接近理论值。   2.2 核间通信RPbuf RPbuf是全志基于RPMsg所实现一套高带宽数据传输的框架。RPMsg是基于共享内存和Msgbox中断实现的一套核间通信机制,RPMsg除去头部的16字节数据外,单次最多可发送496字节有效数据。因此,全志基于RPMsg实现了一套大数据量传输机制RPbuf,实现原理是在DDR中放置传输的数据,通过RPMsg传输DDR的地址和大小。我们以单次32KB数据传输为例进行展示。   (1) 功能介绍     • VirtIO:一套虚拟化数据传输框架,用于管理共享内存VRING; • VRING:由VirtIO管理的一个环形共享内存; • Msgbox:全志提供的一套消息中断机制,已与linux内核中原生的mailbox框架适配; • MSGBOX_IRQ:Msgbox中断; • RPMsg:基于VirtIO管理的共享内存所实现一套少量数据传输的框架; • RPbuf:全志基于RPMsg所实现一套大量数据传输的框架。   由上图可知(以RISC-V核向A核发送数据为例),RPbuf首先将数据放置在DDR中,再将缓冲区首地址和大小通过RPMsg发送至A核(RPMsg将缓冲区首地址和大小放入VRING,然后请求Msgbox中断,A核收到这个中断后,在回调函数中使用RPMsg接口函数来从VRING中取出cmd)。   随后A核从cmd handler中获取缓冲区内的地址和长度,最后在应用层读取数据,从而完成双核间的数据传输。   (2) 效果展示     由上图测试效果可以看到,带宽大约为27~30Mbps。   以上就是飞凌嵌入式OK113i-S开发板RISC-V核部分外设的使用方法,是不是感觉和单片机的开发一样简单方便呢?

  • 2024-11-21
  • 发表了主题帖: 飞凌嵌入式FET3576-C核心板已适配Android 14

    在今年3月举办的RKDC2024大会上,飞凌嵌入式FET3576-C核心板作为瑞芯微RK3576处理器的行业首秀方案重磅亮相,并于今年6月率先量产发货,为客户持续稳定地供应,得到了众多合作伙伴的认可。   FET3576-C核心板此前已提供了Linux 6.1.57系统,为了满足更多客户的需求,飞凌嵌入式近日又为其成功适配了Android 14系统——硬件性能卓越的核心板与Android 14的深度组合,将为用户带来更加流畅、开放、智能的使用体验。       1   高性能处理器与高效系统架构 (1)RK3576处理器加持 FET3576-C核心板搭载了Rockchip RK3576处理器,拥有高性能的ARM Cortex-A72和Cortex-A53核心组合,确保了系统在处理复杂任务时的流畅度。Android 14操作系统对底层架构进行了优化,进一步提升了资源利用率,两者结合,使得设备在运行大型应用或进行多任务处理时更加游刃有余。   (2)高效能NPU与AI优化 FET3576-C内置的6TOPS超强算力NPU,与Android 14的AI加速功能相得益彰,无论是语音识别、图像识别还是深度学习算法,都能实现快速响应和精准处理,为用户带来更加智能的使用体验。       2   内存管理与存储优化 (1)大容量内存与高效管理 FET3576-C核心板支持最高4GB LPDDR4内存,配合Android 14的高效内存管理机制,有效减少了内存碎片,提升了应用启动速度和系统响应速度,即使在资源紧张的情况下也能保持流畅运行。   (2)快速存储与数据安全 32GB eMMC提供了充足的存储空间,Android 14的存储优化技术则进一步提升了数据读写速度,同时增强了数据保护措施,确保用户数据的安全与隐私。   3   界面优化与视觉享受 (1)高清显示与多屏异显 FET3576-C核心板支持多种显示接口,包括HDMI、MIPI DSI等,能够驱动高分辨率显示屏,还可以对图像进行AI智能修复;再配合Android 14的UI优化,能够带来更加细腻、清晰的视觉体验。三屏异显功能更是让设备在多媒体处理和多任务展示上更加灵活。       (2)智能交互与用户体验 Android 14在用户界面和交互设计上进行了全面升级,结合FET3576-C核心板的强大算力,使得设备的触控响应更加灵敏,语音助手和手势识别更加精准,为用户提供了更加自然、流畅的交互体验。   4   安全与隐私保护 FET3576-C核心板内置的RK Firewall技术,能实现真正的硬件资源隔离,通过硬件层面的安全隔离和管理,有效防止了恶意软件的攻击。   除此之外,Android 14系统也进一步加强了隐私保护功能,提供了更加严格的权限管理和数据加密措施。       总结来说,飞凌嵌入式FET3576-C核心板与Android14操作系统的深度适配,不仅充分发挥了核心板硬件的卓越性能,还通过系统的优化与升级,为用户带来了更加流畅、智能、安全的使用体验。对于工业、AIoT、边缘计算、智能移动终端以及其他多种数字多媒体相关的应用领域的专业用户而言,飞凌嵌入式FET3576-C核心板都是一个值得信赖的选择。

  • 2024-10-25
  • 发表了主题帖: FET6254-C核心板为智能运动控制系统强力赋能

    智能运动控制系统是自动化领域中的一个重要分支,主要用于对机械运动部件的位置、力矩、速度、加速度等进行实时的控制管理,能够实现对工业机械臂、传送带、自动化装配线等设备的精确控制,以提高生产效率、降低能耗并保障生产安全。   它融合了精确反馈、先进感知、高性能控制和无缝连接技术,能够实现高精度、低延时的自动控制,在现代社会的生产和生活中具有重要意义。         该系统需要处理大量的传感器数据、执行复杂的运动算法,并实时响应外部指令,因此对系统的主控提出了较高的要求。在这里,推荐客户使用飞凌嵌入式FET6254-C核心板作为智能运动控制系统的主控设备。   基于TI Sitara™ AM62x系列处理器设计开发的飞凌嵌入式FET6254-C核心板,以其独具优势的多核异构架构、丰富的接口资源和高性能处理能力,为智能运动控制系统提供了理想的主控解决方案。         1   高性能主控,更高效 FET6254-C核心板作为系统的核心,负责数据处理、算法运算和指令下发,四核Cortex-A53+Cortex-M4F的多核异构架构确保了高性能计算与实时控制的高效结合。   不仅能够实现对运动轨迹的高精度规划和实时调整,确保设备的运动精度和稳定性,还能快速处理传感器数据,实现复杂的运动算法和故障诊断,提高系统的智能化水平。       2   功能接口丰富,更全能 飞凌嵌入式FET6254-C核心板将处理器的全部功能引出,扩展能力更全能。通过I2C、SPI等接口,可连接各类传感器(如位置传感器、速度传感器、力传感器等),实时采集设备状态信息;利用PWM、GPIO等接口,直接控制电机驱动器、电磁阀等执行机构,实现精确的运动控制。   值得注意的是,FET6254-C核心板原生支持3路CAN-FD,传输速度至高可达5Mbps,可高速、稳定地接入到工业网络系统中CAN-FD等通信接口,为工业自动化和车载应用提供功能支撑。       此外,FET6254-C核心板还支持TI处理器特有的通用存储控制器接口GPMC,数据读写速率高,可达100MB/s,支持多路片选,配置更加灵活,同时可以提供多种与外设相连的方法,可以和宽范围的外部设备通信。       3   人机交互能力更出众 FET6254-C核心板拥有卓越的显示能力,可支持双屏异显、三路显示,搭配上设计直观的操作界面,方便操作人员监控设备状态、调整参数和下达指令。       基于FET6254-C核心板的智能运动控制系统,凭借其高精度、高效率、实时性和可扩展性,为工业自动化领域提供了强大的技术支持。该系统不仅能够提高生产效率、降低能耗,还能提升生产线的智能化水平,为企业的转型升级提供有力保障。

  • 2024-09-30
  • 发表了主题帖: RK3506J行业首发!飞凌嵌入式FET3506J-S核心板亮相2024工博会

    在2024中国国际工业博览会的首日,瑞芯微电子发布了RK35系列处理器的最新力作——RK3506J处理器。与此同时,飞凌嵌入式FET3506J-S核心板作为业内首个搭载RK3506J的SoM方案也一同重磅亮相。         飞凌嵌入式FET3506J-S核心板基于瑞芯微RK3506J处理器开发设计,该处理器采用22nm先进制程工艺,集成了3个ARM Cortex-A7内核,超频可达1.6GHz;核心板与底板采用邮票孔连接,能够为您的产品提供更加牢固可靠的连接方式。   FET3506J-S核心板和OK3506J-S开发板作为行业首发产品的亮相,标志着飞凌嵌入式与瑞芯微的合作再次迈上一个新的台阶,在移动智能时代到来之际,双方作为战略合作伙伴将继续勠力同心,共同为客户提供更加卓越的产品和更加优质的服务。     飞凌嵌入式(左)与瑞芯微(右)企业代表合影   01 高性价比+100%全国产 作为一款高性能、高性价比的产品,FET3506J-S核心板已实现物料100%国产化,为您的智能设备在国产化的道路上提供稳定而强大的核心支撑。       02 小巧尺寸,接口丰富 在FET3506J-S核心板仅35×44mm的小巧身躯里,蕴含着丰富的总线接口资源,包含2路百兆网、2路USB2.0、3路SPI、3路IIC、1路DSMC、2路原生CAN-FD等等,能够为您的工业应用强势赋能。       03 严苛的标准,可靠的品质 FET3506J-S核心板通过飞凌嵌入式实验室严苛的工业环境测试,包含高温试验、低温试验、冷热启试验、电磁兼容试验、跌落试验、盐雾试验等多方面全方位的试验验证,且出厂前100%经过24小时老化测试、AOI自动光学检测,为您的产品稳定性保驾护航;此外,10~15年的生命周期,为您的产品提供持续供应保障。       飞凌嵌入式FET3506J-S核心板即将发售,敬请期待!

  • 发表了主题帖: T536行业首发!飞凌嵌入式FET536-C/FET536-S核心板惊艳亮相

    9月24日下午,全志科技在2024中国国际工业博览会上隆重举办了【T536高性能智慧工业芯片】的全球首发发布会,T536处理器采用4核Cortex-A55+RISC-V架构,主频1.6GHz+600MHz,并搭载2TOPS算力NPU,这款强悍的重磅新品吸引了现场大量观众的关注。   与此同时,飞凌嵌入式基于T536处理器设计开发的FET536-C/FET536-S核心板及配套开发板作为行业首发产品在全志展位惊艳亮相!     图为FET536-C核心板及OK536-C开发板   01 行业首发,重磅登场 飞凌嵌入式FET536-C/FET536-S核心板作为业内首个搭载T536处理器的核心板产品意义非凡,不仅是飞凌嵌入式研发实力的体现,更意味着飞凌嵌入式与全志科技战略合作伙伴关系的进一步加深。       02 高性能,更智能 FET536-C/FET536-S核心板基于全志工业级处理器T536设计,4核Cortex-A55(AMP)+RISC-V MCU,主频1.6GHz+600MHz,搭载2TOPS NPU,支持安全启动、国密算法IP、全通路ECC、AMP、Linux-RT、 Local Bus等。强大的性能以及多核异构架构,能够充分满足工业领域客户对高性能、高实时性主控的需求。   03 接口丰富,满足更多领域需求 FET536-C/FET536-S核心板拥有丰富的接口资源,最多可支持CAN-FD×4、UART×17和千兆网×2等等,更够满足工业领域的众多需求,如控制器(PLC/数控机床/运动控制卡)、工业HMI、边缘计算网关、机器人、工业视觉设备、工控一体机、电力集中器、二次继电保护设备、充电桩等。   FET536-C/FET536-S核心板惊艳亮相,展现了飞凌嵌入式在高性能智慧工业芯片应用领域的前瞻性布局,也为广大工业客户提供了的新的技术支撑与解决方案。未来,飞凌嵌入式将继续携手全志科技不断探索技术边界,积极创新,共同为工业领域带来更丰富更智能的产品。   FET536-C/FET536-S核心板即将发售,敬请期待!  

  • 2024-09-10
  • 发表了主题帖: 用“黑科技”书写“黑神话” | 基于RK3576核心板的三维扫描仪应用方案

    《黑神话:悟空》作为国内首款3A游戏大作,上线仅10天全球发行量就已超过1700万份,不论您是否是游戏玩家,相信您都能在各种新闻、宣传和活动中感受到这款游戏的热度。在游戏的众多亮点中,“细腻的场景设计与对名胜古迹的精准还原”给大家留下了格外深刻的印象。       ▲《黑神话:悟空》取景地之一,重庆大足石刻     据报道,为了能再现原著中的场景,游戏制作团队花费一年时间为全国多处真实的佛像、寺庙、石窟等场景建立了高精度的数字模型,比如:恒山悬空寺、杭州灵隐寺、泉州开元寺双塔等等,通过对现实世界三维数据的捕捉,为游戏设计师提供丰富的素材与灵感。“黑神话”的背后,离不开三维扫描系统的支持。   1   三维扫描系统 三维扫描系统是一种集光、机、电和计算机技术于一体的应用型技术,主要用于对物体的外形、结构及色彩进行扫描,以获取物体表面的空间坐标。不止是游戏领域,三维扫描系统以其高精度、非接触式测量和数字化等特点,在文物保护与修复、测绘工程、工业制造、建筑设计以及教育科研等众多行业中都着广泛应用。         2   系统核心:三维扫描仪 三维扫描仪作为系统的核心部件,承担着数据采集和转换的关键职责,它主要由探头、镜头和相机三部分组成。探头负责对物体表面的图案进行无接触采集,镜头用于调节探头位置和取景角度,而相机则将采集的图像转换为数字信号,再交由数据处理软件进行去噪、拼接、优化等处理操作。   因此,三维扫描仪需要有很高的探测精度,只有这样才能捕捉到物体表面的微小细节,这对医疗、航空航天、工程制造等高精度需求领域至关重要;同时,快速扫描与数据处理的能力也很关键,可以显著提升扫描工作的效率。   3   主控选型方案 飞凌嵌入式推荐使用FET3576-C核心板作为三维扫描仪的主控。FET3576-C核心板基于RK3576处理器开发设计,这是瑞芯微面向AIoT和工业市场着力打造的一款高性能、低功耗、功能丰富的国产化应用处理器,集成了4个ARM Cortex-A72和4个ARM Cortex-A53高性能核,内置6TOPS超强算力NPU,支持 INT4/ INT8/ INT16/ FP16/ BF16/ TF32 操作,支持双核协同工作或独立工作,支持多任务、多场景并行,支持多种深度学习框架。   FET3576-C核心板采用板对板连接方式,可插拔式设计便于产品的安装与维护,并且FET3576-C核心板通过了飞凌嵌入式实验室严苛的工业环境测试,能够提供卓越的稳定性;除此之外,10~15年的生命周期能为客户产品提供长久的供应保障。         4    FET3576-C核心板的优势 (1)丰富的功能接口 通过丰富的GPIO、UART、SPI等通信接口,FET3576-C能够精准控制扫描仪的扫描参数(如扫描速度、分辨率)、传感器状态(如激光发射器、相机快门)等,实现扫描过程的精准控制,提升扫描效率与质量。   (2)数据处理中枢 FET3576-C核心板作为系统的“大脑”,可以将接收的原始数据(如激光点云、图像等)进行快速、高效的数据处理。这包括数据的滤波、去噪、配准、融合等关键步骤,确保最终生成的三维模型既精确又完整。   (3)智能优化 FET3576-C核心板内置6TOPS超强算力NPU,能够通过AI加速引擎对扫描获取的数据进行智能分析,可以自动识别并优化模型中的瑕疵、孔洞等问题,进一步提升模型的精细度和真实感。   (4)数据传输与存储 FET3576-C核心板目前最高支持4GB LPDDR4内存和32GB eMMC存储,大容量的存储空间能对扫描数据进行安全高效的本地保存;同时,支持2路千兆以太网和Wi-Fi,能够轻松实现扫描数据的实时传输与远程访问。   5   总结 飞凌嵌入式FET3576-C核心板在三维扫描系统中扮演着至关重要的角色,作为三维扫描仪的主控设备,可以通过其强大的数据处理能力和丰富的接口资源,实现从数据采集到模型输出的全流程控制,为构建高精度、高真实感的三维模型提供了坚实的技术支撑。   以上就是基于飞凌嵌入式FET3576-C核心板的三维扫描仪应用方案,希望能够对您的项目选型提供帮助。

  • 2024-08-22
  • 发表了主题帖: 案例 | 基于RK3576的电力站房智能辅助与人工智能可视化网关方案

    在电力行业持续深化改革的浪潮中,变电站与配电室等关键电力基础设施的智能化管理已成为推动电网安全、经济、高效运行的重要驱动力。随着用电需求的增长及城市化进程的加速,电力站房的数量激增,分布广泛且环境条件复杂多样,这对电力系统的稳定性、可靠性和安全性提出了前所未有的挑战。         传统机房监控体系面临着显著的局限性:各子系统独立运行,信息孤岛现象严重,导致整体监控效率低下,安全管理难以形成合力。这种分散式的管理方式不仅增加了运维成本,还难以快速响应突发状况,对潜在风险的预警能力不足,严重制约了电网的智能化升级和高效运维。   为解决这些问题,电力站房智能辅助与人工智能可视化网关应运而生。   作为专为变电站、配电室等电力场景设计的创新解决方案,它集成了液晶显示屏与先进的人工智能技术,实现了对现场参数的全面可视化监测与管理。这一智能网关能够实时监测变压器状态、开关柜运行、环境温湿度、空调及风机工作状态、照明系统、烟雾探测、门禁管理及视频监控等多维度信息,构建起一张全方位、立体化的电力站房监控网络。         通过智能化地分析各传感器采集的实时数据,并与预设阈值进行精准比对,智能网关能够迅速识别并响应异常情况,实现自动报警、远程控制及故障预判等功能,有效提升了电力站房的安全防护水平和应急响应能力。此外,其强大的数据整合与分析能力,还为电力企业的运维决策提供了有力的数据支撑,促进了运维管理的精细化与智能化转型。   1. 客户选型需求 通过与客户的沟通,飞凌嵌入式了解到客户对于电力站房智能辅助与人工智能可视化网关项目主控的需求如下: (1) 网关核心CPU应采用国产芯片,采用ARM架构,核心数不低于4核,主频不低于1GHz; (2) 网关应配置视频处理模块进行视频流处理及人工智能分析,算力不小于3TOPS; (3) 网关内存不低于2GB,存储容量不低于8GB; (4) 网关应采用Linux内核操作系统; (5) 网关应具备至少4路RS485,串口速率可选用9600bps、19200bps、115200bps; (6) 具备以太网口接口速率支持100/1000Mbps自适应;     ... ...   2. 主控选择:RK3576处理器 根据实际的项目指标,客户选择使用瑞芯微RK3576处理器作为电力站房智能辅助与人工智能可视化网关的主控。基于此需求,飞凌嵌入式为其推荐了基于Rockchip RK3576处理器开发设计FET3576-C核心板,这是一款瑞芯微面向AIoT和工业市场着力打造的高性能、低功耗、功能丰富的国产化应用处理器。         性能方面,RK3576处理器搭载了4个Cortex-A72以及4个Cortex-A53高性能核,主频最高可达2.3GHz,且内置6TOPS超强算力NPU,不仅能够为电力站房智能辅助与人工智能可视化网关带来强劲的性能支撑,也能为安全帽佩戴检测、小动物入侵、人员倒地检测等场景识别提供充沛的算力支持。   功能接口方面,FET3576-C核心板将RK3576处理器的功能全部引出,拥有12路UART,支持5位、6位、7位、8位串行数据收发;支持2路以太网,支持10/100/1000Mbps的数据传输速率;支持FlexBus全新并行总线接口,可模拟不规则或者标准的协议,支持2/4/8/16bits数据并行传输,时钟最高可到100MHz;此外,还具有DSMC、PCIe2.1、SATA3.0、USB3.2、SAI、I2C等丰富的接口资源。   显示能力方面,FET3576-C核心板支持H.264、H.265高清编解码,五种显示接口:HDMI/eDP、MIPI DSI、Parallel、EBC、DP,支持三屏异显、4K@120Hz超清显示及超分功能,智能修复模糊图像,给客户提供更多选择的同时还提升了客户体验。   配置方面,FET3576-C核心板运行Linux6.1.57系统,目前拥有32GB的eMMC ROM,并提供了2GB和4GB LPDDR4两种RAM选择,客户可根据项目需求灵活选择。   后续还将推出工业级温宽的FET3576J-C核心板,更多配置,满足更多场景下的应用需求。   3. 总结 电力站房智能辅助与人工智能可视化网关的广泛应用,不仅是对传统机房监控体系的深刻变革,更是电力行业迈向智能化、网络化、服务化转型的关键一步。它以其独特的优势,为电网的安全经济运行注入了新的活力,助力电力行业在复杂多变的环境中保持稳健发展态势。   以上就是基于RK3576处理器的电力站房智能辅助与人工智能可视化网关应用方案,希望能够对您的项目选型提供帮助。

  • 2024-08-19
  • 发表了主题帖: 7天倒计时!飞凌嵌入式技术创新日(深圳站)参会指南请查收

    距离飞凌嵌入式技术创新日(深圳站)的举行还有7天,小编特地为各位朋友准备了这份参会指南,请注意查收!   1   如何报名参加? 点击下图填写信息,即可报名申请。     报名审核成功后,飞凌嵌入式将通过短信、微信、电话等形式为您发送通知。   2   有哪些精彩看点? 本次飞凌嵌入式技术创新日(深圳站)将为大家呈现一系列前沿干货,包括“飞凌嵌入式全线产品矩阵”、“嵌入式行业案例分享与技术应用”、“瑞芯微工业解决方案”、“嵌入式开发易用工具及解决方案”、“openEuler技术路线在嵌入式领域的创新实践”以及“嵌入式产品开发设计避坑指南”共6大主题分享,紧密结合当前行业热点和前沿技术,干货满满,为您的项目开发助力。     3   有什么礼品? 好礼享不停!本次飞凌嵌入式技术创新日不仅有干货知识,还有精美礼品。飞凌嵌入式准备了多重好礼——全自动雨伞、充气U型枕、大额优惠券,到场即可零门槛获得;此外,参与现场抽奖还有机会将华为MatePad、华为GT4手表和小米蓝牙耳机带回家。           4   我能和哪些嘉宾面对面交流? 本次飞凌嵌入式技术创新日(深圳站)邀请到了多位重量级技术嘉宾,不仅有瑞芯微产品总监和粤港澳大湾区国创中心技术专家,飞凌嵌入式产品总监、研发总监、项目总监和研发高级工程师也会悉数亮相,6位嘉宾齐聚一堂,与大家分享最新的研究成果、行业见解和应用案例。       5   活动的时间和地点? 飞凌嵌入式技术创新日(深圳站)的时间地点信息如下: 活动日期:2024年8月26日 签到时间:13:00~13:30 活动时间:13:30~17:30 活动地点:深圳威尼斯英迪格酒店1楼威尼斯宴会厅(世界之窗地铁站A口东行200米)

  • 2024-08-15
  • 发表了主题帖: 来了来了! | 飞凌嵌入式邀您共聚elexcon2024深圳国际电子展

    2024年8月27日~29日,elexcon2024深圳国际电子展将在深圳会展中心(福田)举行。展会为电子产业复苏以及AI时代到来准备好了全栈技术和产品展示,包括AI芯片、嵌入式处理器/MCU/MPU、存储、智能传感、RISC-V技术与生态、AIoT方案、PMIC与功率器件、Chiplet和SiP先进封装等。新应用、新生态,包括AI硬件、电动汽车与新能源、AIPC与数据中心、边缘智能、工业电机控制、智慧医疗等,来到现场即可一网打尽。   飞凌嵌入式将携数十款嵌入式主控产品及热门的行业解决方案亮相1S08展位,聚焦人工智能、AIoT、充电桩、工商业储能、智慧交通、智慧医疗等领域,展示行业应用方案,为现场观众带来更新、更多维度的体验。   届时,第六届中国嵌入式技术大会将同期举行,飞凌嵌入式产品总监受邀在8月27日下午开展的“嵌入式操作系统与智能工业”分论坛进行《工业智能与生态构建:RT-Linux优化与OpenHarmony适配的实践探索》主题演讲,与现场来宾分享飞凌嵌入式在推动工业智能化进程及构建开放生态方面的成功经验。   欢迎广大工程师朋友及行业伙伴前来参观交流!         日期:2024年8月27~29日 地点:深圳会展中心(福田)      展位:1号馆1S08  

  • 2024-08-09
  • 发表了主题帖: 探访飞凌嵌入式研发实验室(第3期)

    为了让各位朋友更加直观地了解飞凌嵌入式研发实验室的实力,我们专门制作了「探访实验室」系列视频。在前2期的内容中,小编为大家介绍了 静电放电抗干扰度试验、高低温/温度变化/湿热试验、振动试验/冲击/碰撞试验、产品跌落试验、盐雾试验、电快速瞬变脉冲群抗扰度试验 6个关键的试验项目。 1. 稳定性试验 在设备长时间运行、多次加电或重启的过程中,设备器件会因为老化、电气参数临界或软件逻辑设计不合理而导致概率性出现异常,出现设备不能正常运行、启动或重启的现象,会大幅度降低设备的可靠性。稳定性试验就是验证设备长时间运行、多次加电、重启过程中的可靠性能力的过程。 2. 浪涌试验 高压开关操作或雷击等都可能在电网或通信线上产生暂态过电压或过电流,这是一种能量较大的电磁骚扰,这种骚扰可能会引起电子电气设备的电路发生故障或损坏。浪涌(冲击)抗扰度试验可以检验电子电气产品承受这种电磁骚扰的能力。 3. 接口一致性测试 通过有效的接口一致性测试,可以降低系统故障和风险,提升软硬件质量,增加系统的可信度,确保各个组件之间的协调运作,降低系统故障和崩溃的风险。 研发实验室是一家高新技术企业技术实力与创新动能的核心,一个设备齐全、流程规范、标准严格的实验室,能够确保产品功能的先进性、运行的稳定性和质量的可靠性,使产品在激烈的市场竞争中脱颖而出。 相信通过“实验室系列视频”的介绍,屏幕前的朋友们已经对飞凌嵌入式研发实验室的实验项目有了更进一步的了解。关注飞凌嵌入式微信公众号以及视频号,更多精彩内容为您呈现。

  • 2024-08-06
  • 发表了主题帖: RK3562J技术分享 | 使用SPI挂载数字式RTD温度传感器的方法

    MAX31865是简单易用的热敏电阻至数字输出转换器,优化用于铂电阻温度检测器(RTD)。外部电阻设置RTD灵敏度,高精度Δ-Σ ADC将RTD电阻与基准电阻之比转换为数字输出。MAX31865输入具有高达±45V的过压保护,提供可配置的RTD及电缆开路、短路条件检测。适用于医疗、工业、温度计算、卫星、气象、阻值计算等高精温度设备,应用范围非常之广泛。   飞凌嵌入式最新推出的OK3562J-C开发板上预留出了SPI2接口,位于P8插针引脚上: SPI2_CLK_M0、 SPI2_CSN0_M0、 SPI2_MOSI_M0、 SPI2_MISO_M0。   本篇文章,将为大家介绍在OK3562J-C开发板上使用SPI2挂载MAX31865(数字式RTD温度传感器)芯片的方法。     1. 修改思路 添加一个SPI设备的思路为: 在设备树中添加描述 → 设备树描述中对应设备驱动 → 设备驱动添加到内核   2. 修改方法 (1)MAX31865模块支持2线、3线、4线接线方式,这里我们选用3线方式接线。3线连接是一种折中方案,比4线方案少一条引线。为补偿导线上的压降,从(RTDIN+ RTDIN-)中减去FORCE+和RTDIN+之间的电压,利用FORCE2对输入采样实现。如果电缆电阻具有很好的一致性,即可消除电缆电阻引入的误差。   接线之前需要在模块上焊接一下,按照下图焊接成3线模式。       (2)在设备树里添加MAX31865的相关描述,因为我们是3线的接法,所以我们需要添加maxim,3-wire参数。       3. 将驱动编译成模块 (1)在内核源码/drivers创建max31865文件夹,添加max31865.c和Makefile文件。           (2)修改父目录/kernel/drivers/Makefile文件,执行全编译操作,修改如下: /drivers/max31865/Makefile内容如下: obj-m += max31865.o   /kernel/drivers/Makefile添加如下代码: obj-y += max31865   再执行 ./build.sh kernel脚本编译内核,即可在 /drivers/max31865目录下生成ko模块。       (3)将max31865.ko 拷到OK3562J-C开发板中,执行insmod max31865.ko加载。       4. 测试 使用22Ω的电阻模拟铂电阻,使用以下命令查看ADC原始值。 cat /sys/bus/iio/devices/iio:device2/in_temp_raw         可以看到22Ω的电阻,ADC的值是1655,对比芯片手册中的值,发现是正常的,对应的温度大概在-190℃左右。       至此一个新的MAX31865(数字式RTD温度传感器)设备添加成功,开发者可以根据读到的adc原始值,开发自己的应用去对应现在测到的温度。   以上就是OK3562J-C开发板上使用SPI2挂载MAX31865(数字式RTD温度传感器)设备的方法,希望能够对大家的项目开发有所帮助。

  • 2024-07-27
  • 发表了主题帖: RK3562J技术分享 | AMP双系统下的裸核中断嵌套初体验

    多核异构系统是⼀种使同⼀颗SoC芯片中不同核心分别独立运行不同平台的计算系统。通过合理的处理器核心及外设资源划分,使⼀颗SoC芯片能够独立运行Linux系统和实时性系统,在满足系统软件功能和硬件外设丰富性要求的同时,也满足系统的实时性要求,具有突出的性价比优势和产品体积优势。   1. 瑞芯微多核异构系统 “瑞芯微多核异构系统”是瑞芯微提供的⼀套通用多核异构系统解决方案。   在运行平台方面: Linux提供标准的Linux Kernel,RTOS提供开源的RT-Thread ,Bare-metal提供基于RK HAL硬件抽象层的裸机开发库。同时,瑞芯微多核异构系统支持客户自行适配更多的运行平台,例如可以基于RK HAL硬件抽象层适配指定的RTOS等。   在处理器核心方面: 瑞芯微多核异构系统支持SoC中同构的ARM Cortex-A核心独立运行。也支持SoC中异构的ARM Cortex-M或RISC-V核心独立运行。瑞芯微多核异构系统通过合理的处理器核心资源划分,将适当的任务分配到最适合的核心进行处理,从而使SoC发挥出更优秀的性能和能效表现。   目前,瑞芯微多核异构系统采用无监督的AMP方案。不使用虚拟化管理,从而在运行实时性系统时获得更快的中断响应,以满足电力、工控等行业应用中严苛的硬实时性要求。   2. RK3562J处理器核心及AMP支持情况 处理器核心       AMP支持情况       3. 中断嵌套机制 中断嵌套是一种有效的中断处理机制,它允许系统根据中断的优先级来响应和处理中断,从而确保关键任务能够及时得到处理,具有实时性高、灵活性好、响应快速等特点,但传统的Linux系统为了简化设计、提高系统的稳定性和可预测性、减少资源竞争和死锁等风险、以及提高兼容性和可维护性,不支持中断嵌套。这种设计选择使得Linux内核在许多应用场景中表现出色,但对于高实时性场景下的应用就显得力不从心了。   4. 案例实践分享 开发板型号:OK3562J-C 资料版本:OK3562-C_Linux 5.10.198_用户资料_R1   测试思路: 使用两个GPIO,分别为GPIO4B1和GPIO0B0,其中GPIO4B1设置为输出,GPIO设置为输入并且中断配置为下降沿触发。硬件上短接GPIO4B1和GPIO0B0。   使用Timer4定时器每秒产生一个定时器中断,在中断处理函数中控制GPIO4B1产生一个下降沿并延时,如果出现了GPIO0B0中断处理函数中的打印信息则证明成功发生了中断抢占。   测试步骤: (1)编写测试程序fltest_irq_preempt.c开启TIEMR4和GPIO0B0的中断并且将GPIO0B0配置为下降沿触发,在定时器中断处理函数中将GPIO4B1拉高拉低,使之触发GPIO0B0的中断,在GPIO0B0的中断处理函数中打印一句话来表明当前进入了GPIO0B0的中断;   (2)修改中断路由,添加TIMER4和GPIO0的中断并使之绑定给CPU3,并设置TIMER4的中断优先级高于GPIO0;   (3)重新编译镜像并烧写;   (4)在uboot菜单中打开AMP并重启OK3562J-C开发板,此时RTOS调试串口打印如下:       按tab键可以打印出当前的所有命令:     可以看到我们的命令已经注册成功了。   现在执行我们刚刚编写的fl_irq_test这条命令,即可看到效果:       可以看到GPIO0B0的中断抢占了当前的TIMER4中断。   我们将二者的优先级调换一下再重新编译烧写,然后再次执行该程序,可以看到GPIO0B0的中断在TIMER4中断结束之后才被处理,未发生抢占。    

  • 2024-07-22
  • 发表了主题帖: 来喽!RK3576处理器的MIPI-CSI调试——通路解析

    MIPI-CSI是一种在嵌入式系统或移动设备中常见的摄像头接口,能够实现高速的图像数据传输。飞凌嵌入式最新推出的OK3576-C开发板拥有丰富的资源接口,其中支持5个CSI-2接口,意味着最多可同时支持5路摄像头的输入。 本篇内容就通过OK3576-C开发板为大家介绍一下RK3576处理器的Camera通路,以及如何配置MIPI-CSI摄像头的不同输出格式。 1 RK3576的camera通路 如果只有一个摄像头接入,则只开rkispx_vir0 。需要注意的是: vicap和isp并没有对应关系; 各个vir0/vir1这种关系本质是同一个硬件分时复用,效果等同。多个的时候尽量使用0,1,2 ... 去配置。 硬件通路框图如下: 有一个dcphy接口和两个dphy接口,接入路径如下:   单摄(接第一个dphy) sensor0->csi2_dphy0->mipi1_csi2->rkcif_mipi_lvds1(sditf)->rkisp_vir0 双摄(接两个dphy) sensor0->csi2_dphy0->mipi1_csi2->rkcif_mipi_lvds1(sditf)->rkisp_vir0 sensor1->csi2_dphy3->mipi3_csi2->rkcif_mipi_lvds3(sditf)->rkisp_vir1 三摄(接dcphy和2个dphy) sensor0->csi2_dcphy0->mipi0_csi2->rkcif_mipi_lvds(sditf)->rkisp_vir0 sensor1->csi2_dphy0->mipi1_csi2->rkcif_mipi_lvds1(sditf)->rkisp_vir1 sensor2->csi2_dphy3->mipi3_csi2->rkcif_mipi_lvds3(sditf)->rkisp_vir2 五摄(接dcphy,将2个dphy拆分) sensor0->csi2_dcphy0->mipi0_csi2->rkcif_mipi_lvds(sditf)->rkisp_vir0 sensor1->csi2_dphy1->mipi1_csi2->rkcif_mipi_lvds1(sditf)->rkisp_vir1 sensor2->csi2_dphy2->mipi2_csi2->rkcif_mipi_lvds2(sditf)->rkisp_vir2 sensor3->csi2_dphy4->mipi3_csi2->rkcif_mipi_lvds3(sditf)->rkisp_vir3 sensor4->csi2_dphy5->mipi4_csi2->rkcif_mipi_lvds4(sditf)->rkisp_vir4 下图是camera各个通路的连接情况:     (注:如果是RGB数据输入后面还需要跟rkisp_virx) 2 不同平台的sensor链路情况 yuv422/rgb888输入 对于yuv422/rgb888输入的情况,常见的有三种情况: 1、自带isp的或者客户外接isp的摄像头。输入yuv422格式; 2、hdmi转mipi csi输入。一般如rk628d/f,lt6911xxx等芯片,常见的是转换成yuv422,也可以rgb888格式; 3、多路ahd,serdes。这种一个mipi口,最多可以支持4个虚拟通道,对于这几种情况,是不需要走isp的,只需要到cif即可,所以链路为 : sensor->csi2_dphyX->mipiX_csi2->rkcif_mipi_lvdsX rkcif_mipi_lvdsx_sditf 以及isp节点有可以disabled掉,里面的X根据不同平台不同硬件的接法而定。 抓图使用的节点为rkcif_mipi_lvdsX对应的第一个video节点,这个可以通过media-ctl看拓扑得到,比如OK3576-C开发板上的OV5645摄像头,挂载在media1节点。 root@ok3576-buildroot:/# media-ctl -p -d /dev/media1 Media controller API version 6.1.57 driver rkcif model rkcif-mipi-lvds1 serial bus info platform:rkcif-mipi-lvds1 hw revision 0x0 driver version 6.1.57 Device topology entity 1: stream_cif_mipi_id0 (1 pad, 11 links) type Node subtype V4L flags 0 device node name /dev/video11 pad0: Sink <- "rockchip-mipi-csi2":1 [ENABLED] <- "rockchip-mipi-csi2":2 [] <- "rockchip-mipi-csi2":3 [] <- "rockchip-mipi-csi2":4 [] <- "rockchip-mipi-csi2":5 [] <- "rockchip-mipi-csi2":6 [] <- "rockchip-mipi-csi2":7 [] <- "rockchip-mipi-csi2":8 [] <- "rockchip-mipi-csi2":9 [] <- "rockchip-mipi-csi2":10 [] <- "rockchip-mipi-csi2":11 [] entity 5: stream_cif_mipi_id1 (1 pad, 11 links) type Node subtype V4L flags 0 device node name /dev/video12 pad0: Sink <- "rockchip-mipi-csi2":1 [] <- "rockchip-mipi-csi2":2 [ENABLED] <- "rockchip-mipi-csi2":3 [] <- "rockchip-mipi-csi2":4 [] <- "rockchip-mipi-csi2":5 [] <- "rockchip-mipi-csi2":6 [] <- "rockchip-mipi-csi2":7 [] <- "rockchip-mipi-csi2":8 [] <- "rockchip-mipi-csi2":9 [] <- "rockchip-mipi-csi2":10 [] <- "rockchip-mipi-csi2":11 [] entity 9: stream_cif_mipi_id2 (1 pad, 11 links) type Node subtype V4L flags 0 device node name /dev/video13 pad0: Sink <- "rockchip-mipi-csi2":1 [] <- "rockchip-mipi-csi2":2 [] <- "rockchip-mipi-csi2":3 [ENABLED] <- "rockchip-mipi-csi2":4 [] <- "rockchip-mipi-csi2":5 [] <- "rockchip-mipi-csi2":6 [] <- "rockchip-mipi-csi2":7 [] <- "rockchip-mipi-csi2":8 [] <- "rockchip-mipi-csi2":9 [] <- "rockchip-mipi-csi2":10 [] <- "rockchip-mipi-csi2":11 [] entity 13: stream_cif_mipi_id3 (1 pad, 11 links) type Node subtype V4L flags 0 device node name /dev/video14 pad0: Sink <- "rockchip-mipi-csi2":1 [] <- "rockchip-mipi-csi2":2 [] <- "rockchip-mipi-csi2":3 [] <- "rockchip-mipi-csi2":4 [ENABLED] <- "rockchip-mipi-csi2":5 [] <- "rockchip-mipi-csi2":6 [] <- "rockchip-mipi-csi2":7 [] <- "rockchip-mipi-csi2":8 [] <- "rockchip-mipi-csi2":9 [] <- "rockchip-mipi-csi2":10 [] <- "rockchip-mipi-csi2":11 [] entity 17: rkcif_scale_ch0 (1 pad, 11 links) type Node subtype V4L flags 0 device node name /dev/video15 pad0: Sink <- "rockchip-mipi-csi2":1 [] <- "rockchip-mipi-csi2":2 [] <- "rockchip-mipi-csi2":3 [] <- "rockchip-mipi-csi2":4 [] <- "rockchip-mipi-csi2":5 [ENABLED] <- "rockchip-mipi-csi2":6 [] <- "rockchip-mipi-csi2":7 [] <- "rockchip-mipi-csi2":8 [] <- "rockchip-mipi-csi2":9 [] <- "rockchip-mipi-csi2":10 [] <- "rockchip-mipi-csi2":11 [] entity 21: rkcif_scale_ch1 (1 pad, 11 links) type Node subtype V4L flags 0 device node name /dev/video16 pad0: Sink <- "rockchip-mipi-csi2":1 [] <- "rockchip-mipi-csi2":2 [] <- "rockchip-mipi-csi2":3 [] <- "rockchip-mipi-csi2":4 [] <- "rockchip-mipi-csi2":5 [] <- "rockchip-mipi-csi2":6 [ENABLED] <- "rockchip-mipi-csi2":7 [] <- "rockchip-mipi-csi2":8 [] <- "rockchip-mipi-csi2":9 [] <- "rockchip-mipi-csi2":10 [] <- "rockchip-mipi-csi2":11 [] entity 25: rkcif_scale_ch2 (1 pad, 11 links) type Node subtype V4L flags 0 device node name /dev/video17 pad0: Sink <- "rockchip-mipi-csi2":1 [] <- "rockchip-mipi-csi2":2 [] <- "rockchip-mipi-csi2":3 [] <- "rockchip-mipi-csi2":4 [] <- "rockchip-mipi-csi2":5 [] <- "rockchip-mipi-csi2":6 [] <- "rockchip-mipi-csi2":7 [ENABLED] <- "rockchip-mipi-csi2":8 [] <- "rockchip-mipi-csi2":9 [] <- "rockchip-mipi-csi2":10 [] <- "rockchip-mipi-csi2":11 [] entity 29: rkcif_scale_ch3 (1 pad, 11 links) type Node subtype V4L flags 0 device node name /dev/video18 pad0: Sink <- "rockchip-mipi-csi2":1 [] <- "rockchip-mipi-csi2":2 [] <- "rockchip-mipi-csi2":3 [] <- "rockchip-mipi-csi2":4 [] <- "rockchip-mipi-csi2":5 [] <- "rockchip-mipi-csi2":6 [] <- "rockchip-mipi-csi2":7 [] <- "rockchip-mipi-csi2":8 [ENABLED] <- "rockchip-mipi-csi2":9 [] <- "rockchip-mipi-csi2":10 [] <- "rockchip-mipi-csi2":11 [] entity 33: rkcif_tools_id0 (1 pad, 11 links) type Node subtype V4L flags 0 device node name /dev/video19 pad0: Sink <- "rockchip-mipi-csi2":1 [] <- "rockchip-mipi-csi2":2 [] <- "rockchip-mipi-csi2":3 [] <- "rockchip-mipi-csi2":4 [] <- "rockchip-mipi-csi2":5 [] <- "rockchip-mipi-csi2":6 [] <- "rockchip-mipi-csi2":7 [] <- "rockchip-mipi-csi2":8 [] <- "rockchip-mipi-csi2":9 [ENABLED] <- "rockchip-mipi-csi2":10 [] <- "rockchip-mipi-csi2":11 [] entity 37: rkcif_tools_id1 (1 pad, 11 links) type Node subtype V4L flags 0 device node name /dev/video20 pad0: Sink <- "rockchip-mipi-csi2":1 [] <- "rockchip-mipi-csi2":2 [] <- "rockchip-mipi-csi2":3 [] <- "rockchip-mipi-csi2":4 [] <- "rockchip-mipi-csi2":5 [] <- "rockchip-mipi-csi2":6 [] <- "rockchip-mipi-csi2":7 [] <- "rockchip-mipi-csi2":8 [] <- "rockchip-mipi-csi2":9 [] <- "rockchip-mipi-csi2":10 [ENABLED] <- "rockchip-mipi-csi2":11 [] entity 41: rkcif_tools_id2 (1 pad, 11 links) type Node subtype V4L flags 0 device node name /dev/video21 pad0: Sink <- "rockchip-mipi-csi2":1 [] <- "rockchip-mipi-csi2":2 [] <- "rockchip-mipi-csi2":3 [] <- "rockchip-mipi-csi2":4 [] <- "rockchip-mipi-csi2":5 [] <- "rockchip-mipi-csi2":6 [] <- "rockchip-mipi-csi2":7 [] <- "rockchip-mipi-csi2":8 [] <- "rockchip-mipi-csi2":9 [] <- "rockchip-mipi-csi2":10 [] <- "rockchip-mipi-csi2":11 [ENABLED] entity 45: rockchip-mipi-csi2 (12 pads, 122 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:UYVY8_2X8/1920x1080 field:none colorspace:srgb crop.bounds:(0,0)/1920x1080 crop:(0,0)/1920x1080] <- "rockchip-csi2-dphy0":1 [ENABLED] pad1: Source -> "stream_cif_mipi_id0":0 [ENABLED] -> "stream_cif_mipi_id1":0 [] -> "stream_cif_mipi_id2":0 [] -> "stream_cif_mipi_id3":0 [] -> "rkcif_scale_ch0":0 [] -> "rkcif_scale_ch1":0 [] -> "rkcif_scale_ch2":0 [] -> "rkcif_scale_ch3":0 [] -> "rkcif_tools_id0":0 [] -> "rkcif_tools_id1":0 [] -> "rkcif_tools_id2":0 [] pad2: Source -> "stream_cif_mipi_id0":0 [] -> "stream_cif_mipi_id1":0 [ENABLED] -> "stream_cif_mipi_id2":0 [] -> "stream_cif_mipi_id3":0 [] -> "rkcif_scale_ch0":0 [] -> "rkcif_scale_ch1":0 [] -> "rkcif_scale_ch2":0 [] -> "rkcif_scale_ch3":0 [] -> "rkcif_tools_id0":0 [] -> "rkcif_tools_id1":0 [] -> "rkcif_tools_id2":0 [] pad3: Source -> "stream_cif_mipi_id0":0 [] -> "stream_cif_mipi_id1":0 [] -> "stream_cif_mipi_id2":0 [ENABLED] -> "stream_cif_mipi_id3":0 [] -> "rkcif_scale_ch0":0 [] -> "rkcif_scale_ch1":0 [] -> "rkcif_scale_ch2":0 [] -> "rkcif_scale_ch3":0 [] -> "rkcif_tools_id0":0 [] -> "rkcif_tools_id1":0 [] -> "rkcif_tools_id2":0 [] pad4: Source -> "stream_cif_mipi_id0":0 [] -> "stream_cif_mipi_id1":0 [] -> "stream_cif_mipi_id2":0 [] -> "stream_cif_mipi_id3":0 [ENABLED] -> "rkcif_scale_ch0":0 [] -> "rkcif_scale_ch1":0 [] -> "rkcif_scale_ch2":0 [] -> "rkcif_scale_ch3":0 [] -> "rkcif_tools_id0":0 [] -> "rkcif_tools_id1":0 [] -> "rkcif_tools_id2":0 [] pad5: Source -> "stream_cif_mipi_id0":0 [] -> "stream_cif_mipi_id1":0 [] -> "stream_cif_mipi_id2":0 [] -> "stream_cif_mipi_id3":0 [] -> "rkcif_scale_ch0":0 [ENABLED] -> "rkcif_scale_ch1":0 [] -> "rkcif_scale_ch2":0 [] -> "rkcif_scale_ch3":0 [] -> "rkcif_tools_id0":0 [] -> "rkcif_tools_id1":0 [] -> "rkcif_tools_id2":0 [] pad6: Source -> "stream_cif_mipi_id0":0 [] -> "stream_cif_mipi_id1":0 [] -> "stream_cif_mipi_id2":0 [] -> "stream_cif_mipi_id3":0 [] -> "rkcif_scale_ch0":0 [] -> "rkcif_scale_ch1":0 [ENABLED] -> "rkcif_scale_ch2":0 [] -> "rkcif_scale_ch3":0 [] -> "rkcif_tools_id0":0 [] -> "rkcif_tools_id1":0 [] -> "rkcif_tools_id2":0 [] pad7: Source -> "stream_cif_mipi_id0":0 [] -> "stream_cif_mipi_id1":0 [] -> "stream_cif_mipi_id2":0 [] -> "stream_cif_mipi_id3":0 [] -> "rkcif_scale_ch0":0 [] -> "rkcif_scale_ch1":0 [] -> "rkcif_scale_ch2":0 [ENABLED] -> "rkcif_scale_ch3":0 [] -> "rkcif_tools_id0":0 [] -> "rkcif_tools_id1":0 [] -> "rkcif_tools_id2":0 [] pad8: Source -> "stream_cif_mipi_id0":0 [] -> "stream_cif_mipi_id1":0 [] -> "stream_cif_mipi_id2":0 [] -> "stream_cif_mipi_id3":0 [] -> "rkcif_scale_ch0":0 [] -> "rkcif_scale_ch1":0 [] -> "rkcif_scale_ch2":0 [] -> "rkcif_scale_ch3":0 [ENABLED] -> "rkcif_tools_id0":0 [] -> "rkcif_tools_id1":0 [] -> "rkcif_tools_id2":0 [] pad9: Source -> "stream_cif_mipi_id0":0 [] -> "stream_cif_mipi_id1":0 [] -> "stream_cif_mipi_id2":0 [] -> "stream_cif_mipi_id3":0 [] -> "rkcif_scale_ch0":0 [] -> "rkcif_scale_ch1":0 [] -> "rkcif_scale_ch2":0 [] -> "rkcif_scale_ch3":0 [] -> "rkcif_tools_id0":0 [ENABLED] -> "rkcif_tools_id1":0 [] -> "rkcif_tools_id2":0 [] pad10: Source -> "stream_cif_mipi_id0":0 [] -> "stream_cif_mipi_id1":0 [] -> "stream_cif_mipi_id2":0 [] -> "stream_cif_mipi_id3":0 [] -> "rkcif_scale_ch0":0 [] -> "rkcif_scale_ch1":0 [] -> "rkcif_scale_ch2":0 [] -> "rkcif_scale_ch3":0 [] -> "rkcif_tools_id0":0 [] -> "rkcif_tools_id1":0 [ENABLED] -> "rkcif_tools_id2":0 [] pad11: Source -> "stream_cif_mipi_id0":0 [] -> "stream_cif_mipi_id1":0 [] -> "stream_cif_mipi_id2":0 [] -> "stream_cif_mipi_id3":0 [] -> "rkcif_scale_ch0":0 [] -> "rkcif_scale_ch1":0 [] -> "rkcif_scale_ch2":0 [] -> "rkcif_scale_ch3":0 [] -> "rkcif_tools_id0":0 [] -> "rkcif_tools_id1":0 [] -> "rkcif_tools_id2":0 [ENABLED] entity 58: rockchip-csi2-dphy0 (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev2 pad0: Sink [fmt:UYVY8_2X8/1920x1080@10000/300000 field:none colorspace:srgb crop:(0,0)/1920x1080] <- "m01_f_ov5645 3-003c":0 [ENABLED] pad1: Source -> "rockchip-mipi-csi2":0 [ENABLED] entity 63: m01_f_ov5645 3-003c (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev3 pad0: Source [fmt:UYVY8_2X8/1920x1080@10000/300000 field:none colorspace:srgb crop:(0,0)/1920x1080] -> "rockchip-csi2-dphy0":0 [ENABLED] 如果是多路输入,就对应前4个,即video11-video14。 RAW格式输入 从RK3588开始,也就是isp3.0起,瑞芯微处理器的isp便不再有采集功能,而只做图像处理,所以整个通路为: sensor->csi2_dphyX->mipiX_csi2->rkcif_mipi_lvdsX rkcif_mipi_lvdsX_sditf->rkispx_virX 这里需要说明一下: 1、在不跑aiq的时候,rkcif_mipi_lvdsX是可以拿RAW图的; 2、如果我们只打开isp节点的vir0即rkispx_vir0,不打开后面的rkispx_vir1/vir2...,这种就是直通的,不跑aiq,也能拿到nv12图,但是是未经过效果处理,一般是淡绿色; 3、打开其他vir节点,说明isp需要分时复用,isp节点就必须要开启aiq才能拿图(aiq会分时复用isp) ,所以如果只有一个camera,其他isp节点建议disabled掉。 3 总结 在配置摄像头时,首先要确定摄像头走的通路,并确定摄像头输出的格式,如果是RAW图则需要走rkisp,如果是yuv422/rgb888,则只需要配置到rkcif_mipi_lvdsx。 本文介绍了RK3576处理器的Camera通路,以及如何配置MIPI-CSI摄像头的不同输出格式。在后续的文章中,将会继续为大家带来RK3576处理器的摄像头参数配置和设备树配置方法。

最近访客

< 1/2 >

统计信息

已有37人来访过

  • 芯积分:83
  • 好友:--
  • 主题:191
  • 回复:4

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言