嵌入式

运动控制系统已被广泛应用于工业控制领域。近年来,工业控制对运动控制系统的要求越来越高。传统的基于PC及低端微控制器日渐暴露出高成本、高消耗、低可靠等问题,已经不能满足现代制造的要求 。随着嵌入式技术的日益成熟,嵌人式运动控制器已经初露锋芒。基于ARM技术的微处理器具有体积小、低成本、低功耗的特点,决定其在运动控制领域具有良好的发展前景。

PCL6045BL是一种新型专用DSP运动控制芯片,它具有强大的数据处理能力和较高的运行速度,可以实现高精度的多轴伺服控制。为解决精密制造对低成本、可移植性强的通用型多轴数控系统的迫切需求,文中给出一种基于ARM 微处理器S3C2440与DSP专业运动控制芯片PCL6045BL构成的嵌入式四轴运动控制器。该运动控制器具有高性能、低成本、体积小、可独立运行等特点,可以满足运动控制系统高速、高精度的 要求。它可广泛应用于雕刻机、机器人、绣花机以及数控加工等工业控制领域。

为解决精密制造对低成本、可移植性强的通用型多轴数控系统的迫切需求,给出一种基于ARM微处理器S3C2440和专用DSP运动控制芯片PCL65045BL组合的嵌入式四轴运动控制器。硬件上该控制器采用ARM+DSP的主从式双CPU结构,结合ARM在人机界面显示、通信接口方面的优势以及PCL6045BL高控制精度的优点。软件上在S3C2440上移植μC/OS-II实时操作系统来管理运动控制系统。该控制系统通用性较强,可广泛应用于雕刻机、机器人、绣花机以及数 控加工等工业控制领域。

1 系统总体设计

嵌入式四轴运动控制器主要由硬件部分和软件部分构成。

硬件主要包括S3C2440嵌入式主控板和PCL6045BL运动控制板两个部分。S3C2440嵌入式主控板和PCL6045BL运动控制板之间通过通用的IDE通信接口进行连接。

软件方面在硬件平台的基础上移植S3C2440实时嵌入式操作系统,设计Boot Loader、外设驱动以及运动控制系统的应用程序。采用上述的软硬件平台,嵌入式运动控制器可以达到开放性能好、精度高的要求。本嵌入式四轴运动控制器的结构如图1所示。

ARM+DSP的嵌入式四轴运动控制器设计
图1 嵌入式四轴运动控制器的构成

ARM具有丰富的片内外围电路,如USB接口、IIS接口、LCD控制器等,在人机界面的显示、通信接口以及系统移植方面具有更强大的功能。PCL6045BL运动控制芯片速度快,可靠性高,性能好,在运动控制方面有很大的优势。

实时操作系统μC/OS-II包含了实时内核、任务管理、时间管理、任务间通信同步和内存管理等功能,可以使各个任务独立工作,互不干涉,很容易实现准时而且无误地执行,使实时应用程序的设计和扩展变得容易,使应用程序的设计过程大为减化 。将S3C2440处理器、PCL6045BL 以及μC/OS-II三者的优势应用到本嵌入式四轴运动控制器中可以使其具有强大的功能,并缩短开发时间。

本嵌入式四轴运动控制器以S3C2440为主控平台,在ARM上移植μC/OS-II实时操作系统来进行人机界面的显示、I/O的管理、任务问的通信、指令的编译等工作。PCL6045BL运动控制模块主要负责位置控制,插补驱动,速度控制。用户的指令通过S3C2440指令编译系统的编译,通过与PCL6045BL之问的专用通信接口来控制DSP运动控制芯片发出脉冲以达到使伺服电机高速运行。

2 系统硬件设计

2.1 系统硬件平台设计

在控制系统中,以S3C2440处理器为主控核心,PCL6045BL运动控制芯片为从CPU,构建的嵌入式运动控制器结构如图2所示。

ARM+DSP的嵌入式四轴运动控制器设计
图2 系统硬件

S3C2440是一款16/32位ARM920T RISC处理器,它实现了MMU、AMBA总线和独立的16 KB指令和16 KB数据哈佛结构的缓存,每个缓存均为8个字长度的流水线。S3C2440提供全面的、通用的片上外设,不需要配置额外的部件。PCL6045BL运动控制芯片,由NPM公司生产,是一种通过总线接收CPU命令、并产生脉冲控制步进电机或脉冲驱动型伺服电机的CMOS大规模集成芯片,可提供多种输出运动控制功能,包括连续、定长、回原点等输出方式。PCL6045BL可以实现2~4轴线性插补及任意两轴圆弧插补。在这种主从结构框架基础上,主CPU S3C2440主要负责数据的存储、人机界面的显示、网络通信等管理工作。从CPU PCL6045BL输出的脉冲发送给4个轴的伺服驱动器。S3C2440只需要通过发送简单的指令给PCL6045BL,便可实现各种控制功能。

2.2 ARM 与PCL6045BL的连接

PCL6045 BL与ARM的通信是通过读写I/O总线上的几个地址来进行指令和数据的传输。PCL6045BL每个轴的内部寄存器地址由A0、A1 和A2地址线输人决定,其控制地址范围由输入端子A3和A4进行选择。因此在这种主从结构的设计中,ARM与PCL6045BL的连接如图3所示。

ARM+DSP的嵌入式四轴运动控制器设计
图3 PCL6045BL与S3C2440的接口电路

2.3 I/O接口电路

嵌入式四轴运动控制器与伺服电机之间是通过I/O接口电路进行连接的。I/O接口电路主要任务是完成输入信号的光电隔离以及对输出脉冲的驱动。设计中采用光电耦合器将PCL6045BL芯片与后面的伺服电机驱动器以及其他控制反馈等线路隔离。由于光耦合器输入输出问互相隔离,电信号传输具有单向性等特点,因而具有良好的电绝缘能力和抗干扰能力。又由于光耦合器的输入端属于电流型工作的低阻元件,因而具有很强的共模抑制能力。将PCL6045BL的输出信号(如CP、CW等)和输入信号(如报警、限位等)都使用光耦器件与PCL6045BL隔离,这样能有效地防止干扰信号进入主芯片损坏PCL6045BL。

3 软件设计

系统软件部分由μC/OS-II实时嵌入式操作系统及相关应用软件组成。μC/OS-II实时嵌入式操作系统仅仅提供了一个任务调度的实时内核,因而需要自行开发一系列与系统运行相关的设备驱动程序、API函数及应用程序,才能将μC/OS-II扩展为一个完整、实用的实时操作系统。

3.1 Boot Loader的设计

嵌入式系统中,通常并没有像BIOS那样的固件程序,因此整个系统的加载启动任务就完全由Boot Loader来完成。Boot Loader是系统加电后运行的第一段代码,负责初始化系统并启动操纵系统,相当于PC机的程序。Boot Loader初始化硬件设备,建立内存空间的映射图,为最终调用操作系统内核准备好正确的环境。

Boot Loader分为阶段1和阶段2两个部分,与CPU核以及存储设备密切相关的处理工作通常都放在阶段1中,且可以用汇编语言来实现;而阶段2则通常用C语言来实现一般的流程以及对板级的一些驱动支持。

阶段1主要进行定义入口、设置中断向量、系统寄存器配置、初始化寄存器等操作。而阶段2主要完成调用初始化函数、初始化闪存设备、初始化内存分配函数等操作。Boot Loader是嵌入式系统软件开发的第一个环节,把实时操作系统和硬件平台紧密地结合起来,对于嵌入式系统的软件开发尤为重要。

3.2 μC/OS-II在S3132440的移植

嵌入式实时操作系统μC/OS-II是一个源代码公开的多任务实时操作系统内核,它简化了应用软件的设计,使控制系统的实时性得到保障。良好的多任务设计,有助于提高控制系统的稳定性和可靠性。所谓移植,就是通过修改操作系统内核与处理器相关部分的源代码,使一个实时内核能在微处理器或微控制器上运行。μC/OS-II的文件系统结构包括核心代码部分,配置代码部分,处理器相关代码部分,如图4所示。其中处理器相关代码部分包括OS_CPU.H,OS_CPU.A.ASM,OS_CPU.C.C 3个文件。将μC/OS-II移植到S3C2440只需要修改与处理器相关的代码即可。

ARM+DSP的嵌入式四轴运动控制器设计

3.3 系统应用程序设计

实时应用程序的设计过程包括如何把问题分割为多个子任务,每个子任务都是整个系统的一部分,都被赋予一定的优先级,有自己的一套CPU寄存器和堆栈空间。一个任务,也叫一个线程,是一个简单的程序,该程序可以认为CPU完全只属于自己。在本设计中将任务划分为人机界面的设计、数控指令编译解释、伺服单元采集任务、状态监视等。μC/OS-II可以按照优先级启动各个任务,并通过内核来完成任务之间的调度。系统的基本流程如图5所示。

S3C2440根据系统的应用程序对指令进行解释,调用运动控制函数,继而PCL6045BL发出脉冲控制伺服电机去控制执行机构动作,实现运动控制的结果。

ARM+DSP的嵌入式四轴运动控制器设计
图5 用户程序流程

3.4 NC代码解释

运动控制器接受来自上位机发送过来的加工文件,但加工文件指令在程序中不能直接被识别,在执行指令之前必须先对其进行解析译码。解释器的主要功能就是将用户程序以程序段为处理单位,将程序中的轮廓信息、运行速度和辅助功能信息,转换成嵌入式运动控制器能够执行的格式。解释过程主要包括数控文件的读入、词法分析、语法分析以及加工信息存储数据结构等过程,如图6所示。

ARM+DSP的嵌入式四轴运动控制器设计
图6 程序处理流程

4 实例分析

上位机通过RS485总线与S3C2440连接,把NC指令文件输入到ARM 中,经过NC代码解释器,变成PCL6045BL能够识别的代码,从而完成规定的运动控制功能。用NC代码编写如下加工程序:

N001 COO X15 Y25//起始点选定

N002 G18//XY平面选择

N003 G90 G01 X15 Y5//准备直线插补

N004 X30 Y5//(15,5)到(30,5)

N005 X30 Y15//前行至点(30,15)

N006 X45 Y15//前行至点(45,15)

N007 X45 Y5//前行至点(45,5)

N008 X60 Y5//前行至点(60,5)

N009 X60 Y25//前行至点(60,25)

N010 X15 Y25//回到始点(15,25)

根据上面所给的代码可以完成如图7所示的多点之间直线插补的功能。

ARM+DSP的嵌入式四轴运动控制器设计
图7 多线段直线插补运动轨迹

5 结语

该运动控制器的硬件结构是基于微处理器S3C2440和PCL6045BL运动控制芯片设计的,它较好地发挥了ARM处理器的高性能、低成本和运动控制芯片的高可靠性、开发周期短的优点;在控制器硬件平台上移植μC/OS-II实时操作系统既能使整个软件系统结构简结、层次清晰,又能很好地达到运动控制实时性的要求。

来源: elecfans.com

围观 500

随着遥感、通讯技术的迅速发展,微小无人机的设计逐步被深究。小型无人机由于其高度灵活机动性、信息化强、适应恶劣环境等优势,近几年在军事、高空拍摄、农业等领域有着广泛的应用,通过搭载在机体上的各类传感器单元获取所需的数据信息,如图像的采集,能够对特定特殊环境进行有效的勘察。但目前,无人机的地面控制站主要使用功耗高、体积大的PCI总线采集技术,一定程度限制了无人机的高度灵活性等优点。因此,以32位ARM微处理器为核心、DM368作为协处理器,设计出一种基于嵌入式的实时性强、数据传输和处理速度快的无人机勘察系统。

1 系统功能架构

无人机系统的设计由飞行控制系统、无线通信系统、地面控制站三大遥感技术组成,飞行过程包括飞行器的起飞、飞行轨迹、任务处理和回收等过程,其中飞行控制系统是本系统设计的核心。图1为无人机勘察系统的总体结构图。图中传感器单元由陀螺仪、GPS等组成,采用无线射频模块XT09-SI负责将采集到的信息传输到地面控制站并传达地面控制站的控制指令,形成飞行控制-飞行管理-飞行任务实施,完成无人机的信息接收、信息处理、信息输出的功能,实现智能化、网络化。

基于嵌入式的无人机勘察系统设计

2 系统硬件设计

本系统围绕着以以ARM为内核的S3C2410搭建起主控制处理模块,采用小型的CCD摄像机和DM368视频协处理组成对音频和视频的采集,无线射频模块XT09-SI作为数据的传输和接收通道的媒介,在无人机飞行器上搭载GPS、陀螺仪、磁航向等多种传感器单元,实现对不同数据的精确采集和改变飞行轨迹等功能。

2.1 数据传输模块

数据的采集和传输及接收是无人机系统设计的复杂部分,为了有利于系统后期的功能拓展和硬件维护,采用模块化的设计。采用XT09-SI无线射频模块作为该电路的数据传输模块。该无线传输模块与微控制器的电路接口采用串行通信原理,硬件连接示意图如图2所示。数据间通信使用标准的RS-232接口,并设计高速光耦隔离6N137模块对电路提高抗干扰能力,通过接收地面控制站的指令,完成无人机的飞控的控制、数据采集和发送等功能。

基于嵌入式的无人机勘察系统设计

2.2 图像视频传输模块

DM368模块是基于ARM 926EJ处理器的低功耗数字多媒体处理芯片,DM368模块采用的是完成符合PAL制式视频标准,可接Flash Memory或者FPGA等设备,支持H.264、MPPEG4等图像编码技术,芯片内部集成32 k RAM、16 kROM、丰富的外部接口等资源,集图像和音频采集于一体,可以稳定高效的管理数据通信、视频压缩编码等任务。由于视频数据在发射端和接收端会存在偏差,为了减少误差,需对H.264帧图像压缩编码算法进行优化。常用的H.264处理方法有对编码纹理负责区域的4×4像素和区域平坦的16x16像素两种算法,帧的预测可以看成是由简单的加法和移位运算来减少预测模式从而提高编码的效应。16x16像素预测模式由垂直预测、水平预测、DC预测以及平面预测4种模式,4种模式的函数为:

基于嵌入式的无人机勘察系统设计

本系统对图像的帧算法通过对16x16像素预测编码采用加法器和移位器运算,对计算方程进行优,减少数据占用空间,使视频传输效率提高。采用的算法如下:

基于嵌入式的无人机勘察系统设计

2.3 主控制器模块

无人机勘察系统的主控制器选用具有高性能、低功耗32位内核S3C2410,工作频率最高可达到266 MHz,拥有高效的信号处理能力,片上集成丰富的资源,高达24个外部中断源,能够满足多路中断处理,提高处理器的资源利用率,3路URAT,I2C、PWM、SPI等多路通信接口,片外存储器的接口拓展有Nor Flash、SDRAM,通过总线方式与微处理器相连,拓展储存数据空间,并且具有高数据传输的DAM通道。S3C2410芯片通过SPI接口和RS-232接口与XT09-SI无线模块以及其他传感器单元模块进行数据的交换。

3 软件设计

无人机勘察工程中,地面控制站对无人机的控制方式有手动航模操作、遥控指令控制、程序预定控制等操作,操作系统要求满足能够管理多任务和判断优先级。在目前的嵌入式操作系统中有Linux、UC/OS、UC/GUI等多种,都具备各自的优势。无人机勘察系统要求软件的编写可靠、简单易操作,因此,本系统的软件设计采用可管理64个实时多任务内核的UCOSII。要实现对无人机的飞行控制,软件编程的重点在于对UC/OS操作系统的体系结构拓展,建立起RTOS实时操作系统。以下是操作系统的部分示意代码。

基于嵌入式的无人机勘察系统设计

4 系统测试

地面监控平台是这个系统设计的重要部分,监控中心上位机采用Qt开发,通过Socket编程,实现上位机和无人机控制程序之间能够双向通信,实时接收无人机采集到的信息和发送控制指令,完成所需的飞行任务。地面监控平台能过得到无人机采集到各类传感器单元的数据,并实时在窗口显示出来。本次实验让无人机进行简单的飞行测试,系统能够及时响应。图3是监控系统接收到的部分信息。

基于嵌入式的无人机勘察系统设计

5 结束语

文中设计了基于嵌入式的无人机勘察系统,通过引入UC/OS实时内核,能够完成数据的采集、传输和处理,运用DM368视频协处理对高压缩率的H.264标准的图像进行压缩编码,可采集并传输稳定、高速实时勘察到的图像和音频。整体绕着ARM构成的微控制器运转、具有低功耗、数据处理速度高效等特点,随着嵌入式和传感器的不断发展,无人机勘察将在军事、高空拍摄、农业等领域得到更好的发展与应用。

来源:电子设计工程

围观 728

现代传动系统要集成控制回路精度、扩展性、网络通信、外设控制、数据和设计安全、功能安全和可靠性等特性,这是十分重要的。此外,电机必须准确并且同步控制,同时不损害性能和确定性,在多轴控制系统中尤其如此。

电机消耗的电能占全球电耗的比例非常高。在很大程度上,电机的能耗取决于电机和传动效率。为了降耗、提高传动效率和改善性能,世界各地的监管机构均已实施能源效率标准。因此,电机传动的部署正日益使用高精度、高性能电机控制算法。现代传动系统要集成控制回路精度、扩展性、网络通信、外设控制、数据和设计安全、功能安全和可靠性等特性,这是十分重要的。此外,电机必须准确并且同步控制,同时不损害性能和确定性,在多轴控制系统中尤其如此。为了满足这些控制和集成要求,嵌入式设计人员设计的传动不仅要能够运行复杂的电机控制算法,而且要在连接性日益增加的环境下支持多个外设通信。

微控制器/数字信号处理器解决方案与 FPGA电机控制解决方案的比较

电机控制应用设计传统上采用微控制器(MCU)或数字信号处理器(DSP)来运行电机控制算法。但是,随着人们日益部署具有更高集成水平、扩展性、现有IP重复利用性的高性能工业控制系统,使得FPGA成为优先选择,尤其结合了ARM Cortex M3微控制器和FPGA逻辑资源的解决方案,为许多关键任务提供了理想的分工。它们日益被采纳的原因有几个。

首先,由于架构和访问指令存储器的原因,使得微控制器十分适合用于速度更慢的串行任务,但是,对时间要求更苛刻的并行处理功能的应用,FPGA则是更加理想的选择。例如,在多轴控制中,速度独立的多个电机通过实施确定性控制环路进行控制。通常,多轴电机控制系统还集成了外设控制、传感器接口、保护逻辑/安全和网络通信等功能。与这些功能有关的任务,各自拥有不同的执行时间和优先等级。

微控制器或DSP传动控制器采用屏蔽和中断服务程序来分配每种任务的执行优先等级。某些未屏蔽的任务可能在控制回路之前执行,导致控制回路的实际执行时间不确定。相反,FPGA的控制回路和片上系统(SoC)FPGA与其它过程并行执行,在多轴控制环路中,还可以采用时分多路复用(TDM)方案顺序运行。

配备ARM Cortex-M3微控制器的SoC FPGA甚至更高效地执行这种应用:这种FPGA用于按严格确定性定时方式执行的控制回路非常理想,而较低速度的接口则可以与ARM M3微控制器连接(图1)。

解决确定性多轴电机控制设计的挑战
图1:基于Flash的SmartFusion2 SoC FPGA实施的高度集成电机控制解决方案

解决确定性多轴电机控制设计的挑战
表1:微控制器/数字信号处理器解决方案vs FPGA电机控制解决方案

此外,FPGA解决方案改善了扩展性和性能。正如前述,在基于FPGA的控制中,优先等级更低的任务对控制回路的执行没有影响,因此,增加电机的数量并不会影响控制回路的执行时间。根据需求,可以扩大FPGA上运行的IP组合,从驱动两台无刷DC(BLDC)步机电机通道扩大到六轴解决方案,或将电机性能提高到70000 RPM以上。

此外,采用基于FPGA的多轴控制可以支持高达数百KHz的更高脉冲宽度调制(PWM)开关频率。除集成PWM产生等特性之外,基于FPGA的电机控制器还包括嵌入式处理、控制外设(如USB、PCIe、I2C和CAN)专用块、多用户定义I/O及拥有参考设计的即用型IP库。很重要一点是要记住电机控制算法并非唯一要求的功能。通常,完整的电机控制设计需要一个或多个通信接口和控制I/O。这些接口并非面向高性能,因此,非常适合使用M3等微控制器来实施。通信接口可以是CAN总线、SPI、UART或其它控制总线。SoC FPGA在客户外设和设计其它部分之间提供桥梁,当需要其它外设时,可以采用基于微控制器的SoC FPGA。模块化IP组件还简化了定制和扩展,支持多轴电机或高转动速率解决方案的不同组合,同时满足不断演变的地区技术标准。IP块越紧凑(即整个组合不到10000个逻辑元件),支持集成需求的净空间便越多。

可靠性和安全性是FPGA解决方案的其它两个重要方面。当设计用于卫星太阳能电池板、导向和控制系统、医学扫描仪、核电厂机械及执行器(Actuator)和发动机控制等应用的系统时,航空电子特别重要。许多半导体部件(包括MCU/DSP)易受单粒子翻转(SEU)的影响。可靠性和安全性的最佳选择是基于Flash而不是SRAM)的FPGA。所有配置信息芯片位于非易失性存储器内,它们在启动时绝对不会暴露位流。FPGA用于实施确定性定时非常重要的电机控制和网络功能时也比微控制器可靠。微控制器的定时差异是几毫秒,而FPGA的定时差异仅几纳秒或更低。

FPGA还满足确定性多轴电机控制解决方案的安全挑战要求。在现今的业界中,设计可能被克隆,或其数据可能被篡改或窃取的威胁日益增加。OEM面临的另一个威胁是其处理所有要求设计和IP的供应商或合同制造商或会过度制造。大多数MCU/DSP可能无法提供FPGA固有的高级安全特性水平,这些安全特性能够以分层方法提供硬件安全性、设计安全性和数据安全性(全面安全战略的三个关键要素)。有些基于闪存的FPGA还可以作为拥有关键储存能力的信任根设备,防止超连接工业IoT受到恶意攻击。FPGA采用物理反克隆功能(PUF)等特性应对安全需求,其中在公钥/私钥方案中,采用公钥基础设施(PKI),私钥用于实施M2M验证。其它特性包括加密加速器、随机数发生器、用于保护CUP/DSP内核的硬件防火墙,及差分功率分析(DPA)措施,它们相互配合,使整个系统根据需要对安全进行分层,从而保护硬件和数据。

与基于微控制器或DSP的实施相比,基于FPGA的电机控制实施的关键优点是确定性、扩展性和性能、可靠性,以及耐用性及安全性。

● 确定性— 在MCU或DSP实施中,任务顺序运行,执行时间和中断优先等级不同。ISR的执行时间不一定受到限制,因此可能导致不确定。与此相反,FPGA并行运行任务,每个任务的执行时间是确定的,并且总是产生确定性的输出。

● 扩展性和性能 - 对更高开关频率的多轴电机控制来说,MCU/DSP的性能并非最优化。高速电机要求较高开关频率(如500 kHz)和‘ => 2 µs ’ FOC回路执行。MCU硬件架构(PWM、ADC和GPIO)在控制多个电机方面存在局限性。采用FPGA实施,高级现场定向控制(FOC)的执行时间是1 µs。用于FOC的TDM可用于控制多个电机。任何I/O引脚均可配置用于PWM和ADC接口,FPGA集成了多个工业以太网协议、HMI和其它典型MCU/DSP不支持的接口。

● 可靠性和耐用性 – MCU和DSP易受软失效(SEU)的影响,产品使用寿命短。FPGA不受SEU影响,并且抗多种应用中的辐射,而产品使用寿命通常在20年以上。

● 安全性 –基于MCU/DSP的实施存在篡改、克隆和制造过多的风险,而基于FPGA的实施则拥有防篡改、安全启动、安全通信和强大的安全传承特性。

解决确定性多轴电机控制设计的挑战
图2:SmartFusion2双轴电机控制启动器套件(SF2-MC-STARTER-KIT)

电机开发人员要满足今天的能源效率法规和新技术要求,同时要确保设计可扩展以支持不同的多轴电机或高转动速率解决方案组合,非常富有挑战性。基于Flash的SoC FPGA应对了这些挑战,将处理能力与硬件和软件编程性和集成新特性和功能的能力相结合,同时促进了多层安全性。它们提供了先进的特性,如多轴控制、确定性响应、并行处理、功能集成和灵活性,使设计人员能够降低系统的总体拥有成本(TCO)。

来源: 中电网

围观 446

现有的数控系统中多采用工控机加运动控制卡的计算机数控系统方案进行运动控制器的设计。随着工控机整体功能日趋复杂,对运动控制系统的体积、成本、功耗等方面的要求越来越苛刻。现有计算机数控系统在运动控制方面逐渐呈现出资源浪费严重、实时性差的劣势。此外,数控系统的开放性、模块化和可重构设计是目前数控技术领域研究的热点,目的是为了适应技术发展和便于用户开发自己的功能。

本文基于ARM和FPGA的硬件平台,采用策略和机制相分离的设计思想,设计了一种具有高开放性特征的嵌入式数控系统。该数控系统不仅具备了以往大型数控系统的主要功能,还具备了更好的操作性和切割性能,而且在开放性方面优势更为突出,使数控系统应用软件具有可移植性和互换性。

1 基于ARM和FPGA的嵌入式数控系统整体方案
  
基于ARM和FPGA的嵌入式数控系统结构如图1所示。按照模块划分的思想,本文将控制器分为人机交互、插补算法和通信三部分。系统中 ARM采用三星公司推出的16/32位RISC微处理器S3C2440A,它采用了ARM920T内核,核心频率高达400MHz。FPGA采用 Xilinx公司Spartan 3E系列的XC3S250E。
  

基于ARM和FPGA的嵌入式数控系统设计
图1 基于ARM+FPGA的嵌入式数控系统结构

  
2 S3C2440A控制系统
  
ARM作为数控系统的控制核心主要负责对从数据存储器中读取或直接从上位PC或网络获得的零件加工代码和控制信息进行译码、运算、逻辑处理,完成加工数据的粗插补以及人机界面和数据通信。ARM系统是整个数控系统的控制核心,在嵌入式操作系统的管理下,采用分时处理的方式实现整个系统的信息处理和粗插补运算,通过键盘、触摸屏等输入装置输入各种控制指令,对数控系统的实时运行状态通过LCD、指示灯等显示,实现人机友好交互。基于 S3C2440A控制器有各种通信接口,包括RS232、RS485、以太网口、USB等接口模块。通过这些接口实现文件传输和网络控制。
  
嵌入式数控的软件系统总体结构如图2所示。系统的软件结构主要分为两部分:操作系统软件和数控应用软件。由于数控系统是个实时多任务系统,实时性要求很高,为保证各个任务的协调执行,本系统采用了μC/OS-II实时操作系统作为软件平台。
  
基于ARM和FPGA的嵌入式数控系统设计
图2 嵌入式数控的软件系统总体构图

  
要实现该操作系统在S3C2440A微处理器平台上的正常运行,需要修改与处理器类型有关部分的代码,操作系统移植需要完成的工作是改写三个文件,即改写文件0S_CPU.H、0S_CPU_A.ASM和OS_CPU_C.C。其中0S_CPU.H包括了用#define语句定义的,与处理器相关的变数、宏和类型。0S_CPU_A.ASM中定义了几个汇编语言函数,包括中断服务程序的中断向量地址等。如果某些C编译器允许在C语言中直接插入汇编语言语句,就不一定需要,用户可以把所需的汇编语言代码直接放到OS_CPU_C.C文件中。
  
3 ARM和FPGA的接口设计
  
为使系统能够按照预期设计良好工作,首先要从硬件上实现ARM和FPGA之间的可靠通信。本文采用的方案是在FPGA上实现SRAM时序,将FPGA作为一块特殊的内存设备挂接到ARM的内存地址空间。这样在ARM端只需要编写SRAM的驱动程序就可以实现对FPGA端的数据写入和读取。
  
3.1 SRAM时序
  
SRAM时序分为读时序和写时序两种。当CPU对SRAM进行读操作时,首先会在地址线上写入正确的地址信号,接着是对SRAM芯片的片选信号,然后是对芯片的读信号,之后经过一定的振荡期后CPU在数据线上读到稳定的有效数据。
  
当CPU对SRAM进行写操作时,首先会在地址线上写入正确的地址线号,接着是对SRAM芯片的片选信号,然后是对芯片的写信号,在写信号上升沿之前CPU会在数据线上准备好有效数据,以供SRAM芯片在写信号上升沿将数据写入相应的地址单元。
  
3.2 FPGA端SRAM实现
  
ARM和FPGA的通信需要的接口信号有地址线A0-A15、数据线D0-D15、片选信号nCS,读信号nRD和写信号new,每次需要实现16位数据的读写。用Verilog硬件语言描述SRAM时序如下:
基于ARM和FPGA的嵌入式数控系统设计

  
可知只有在片选信号、读信号都拉低而写信号仍为高的情况下,才在data线上输出地址线上对应单元的数值,其他情况下FPGA都将data线置为高阻态,放弃对data线的控制。
  
4 基于FPGA的DDA精插补器设计
  
随着FPGA器件及其开发技术的日臻成熟,采用FPGA实现运动控制的方案显示出巨大的潜力。由于FPGA的设计是并行的、多线程,而且具有在线可编程能力,兼备了速度快和成本低的优点,同时克服了专用处理器灵活性方面的不足。基于FPGA的DDA精插补器相对传统的软件插补具有强大的优势。
  
4.1 数字积分插补算法
  
目前比较成熟的数控插补算法有逐点比较法、最小偏差法和数字积分法等,数字积分法又称数字微分分析器(Digital Differential Analyzer,DDA)。采用该方法进行插补,具有运算速度快、逻辑功能强、脉冲分配均匀等特点,可实现一次、二次甚至高次曲线插补,易于实现多轴联动。
  
数字积分插补算法是将函数的积分运算转换成变量的求和运算。如果所选择的脉冲当量足够小,则用求和运算代替积分所引起的误差可以不超过允许的数值。采用两个寄存器(函数寄存器和累加寄存器)和一个全加器构成数字积分器,将单位周期选得足够小,每单位周期都向累加器累加函数寄存器中的数值,如果累加器溢出,就向外发送脉冲,实时地改变函数寄存器的值,就可以完成步进电机的调速。DDA插补控制器设计的硬件描述语言程序的流程图如图3所示。

基于ARM和FPGA的嵌入式数控系统设计
图3 DDA插补控制器设计的硬件描述语言程序的流程图

  
4.2 数字积分插补的FPGA实现
  
采用有限状态机的设计方法,每个轴的数字积分插补均由一个三状态机的积分累加器完成。本系统的FPGA开发环境为Xilinx公司的 Xil inx ISE,并结合ModelSim仿真软件对整个系统进行了全面的功能验证。如图4所示为DDA插补模块的顶层RTL级原理图,由图5可知DDA插补模块的输入信号为各轴的起始坐标以及时钟信号和启动信号,输出信号为各轴的脉冲信号和方向信号。

基于ARM和FPGA的嵌入式数控系统设计基于ARM和FPGA的嵌入式数控系统设计
图5 DDA插补模块仿真波形

  
运用ModelSim仿真软件对DDA插补模块进行仿真验证。测试数据的起点坐标为(0,0,0)终点坐标为(8,15,11),仿真结果如图5所示,显示系统很好的完成了三轴的脉冲分配。
  
4.3 加减速控制模块
  
加减速控制是数控系统的关键技术之一,也是实现数控系统高实时性的瓶颈。数控系统中,为了保证机床在启动或停止时不产生冲击、失步、超程或振荡,必须对进给电机的脉冲频率或电压进行加减速控制。即当机床加速启动时,保证加在电机上的脉冲频率逐渐增加;而当机床减速停止时,保证加在电机上的脉冲频率逐渐减小。目前,电机加减速的常用控制方法是梯形加减速控制和S形加减速控制。本次设计采用两种控制方案以适应不同工作场合的要求。
  
4.3.1 梯形加减速
  
梯形加减速是指在加减速过程中加速度为常数,速度曲线为梯形的加减速过程。梯形加减速控制算法简单、易于实现,但在加减速过程中加速度曲线不连续会导致驱动机构的振动和冲击。正常情况下梯形加减速运动过程如图6所示分为加速段、匀速段和减速段三个阶段。
  
基于ARM和FPGA的嵌入式数控系统设计
图6 正常情况下梯形加减速运动过程

  
图7所示为ModelSim对梯形加减速模块的仿真结果,可以看到插补器输出的脉冲速度曲线呈现梯形,输出脉冲的频率的大小随速度的变化而变化,实现了电机的梯形调速。
  
基于ARM和FPGA的嵌入式数控系统设计
图7 ModelSim对梯形加减速模块的仿真结果

  
4.3.2 S形加减速
  
S形加减速是指在加减速时,加速度导数为常数,速度曲线为S形曲线的加减速过程。通过控制加速度导数来避免加速度突变,减小加工过程中由于加速度突变引起的机械系统振动。S形曲线速度控制可以得到平滑的速度曲线,但算法复杂,运算时间长。
  
基于ARM和FPGA的嵌入式数控系统设计
图8 S形加减速曲线图

  
S形加减速中加速度相对加速度导数的变化规律相当于直线加减速中速度相对加速度的变化规律。如图8所示为S形曲线加减速的曲线图,图中从上到下依次为速度曲线、加速度曲线以及减速度曲线。从图中可以看出,正常情况下S形加减速分为:加加速段、匀加速段、减加速段、匀速段、加减速段、匀减速段和减减速段七个阶段。加速度连续,调速光滑,不会导致驱动机构的振动和冲击。
  
基于ARM和FPGA的嵌入式数控系统设计
图9 ModelSim对S形加减速模块的仿真结果

  
图9所示为ModelSim对S形加减速模块的仿真结果,可以看到插补器输出的脉冲速度曲线呈现梯形,输出脉冲的频率的大小随速度的变化而变化,实现了电机的S形调速。
  
5 结束语

本文给出了一种基于ARM和FPGA的开放性的嵌入式数控系统,突破了传统的计算机数控系统架构,采用ARM处理器S3C2440A和 FPGA器件XC3S25 0E和μC/OS-II嵌入式实时操作系统组成的数控系统软硬件平台,充分利用了ARM微处理器的高速运算能力与FPGA的快速配置能力,大大减少了系统的外围接口器件,并具有良好的稳定性、模块化、可扩展性、可移植性等特点,有利于实现数控系统的开放化和网络化,有效地降低了系统成本,适合我国数控系统发展的需要,具有广阔的应用前景。

来源: 电子产品世界

围观 555

LCD的接口有多种,分类很细。主要看LCD的驱动方式和控制方式,目前手机上的彩色LCD的连接方式一般有这么几种:MCU模式,RGB模式,SPI模式,VSYNC模式,MDDI模式,DSI模式。MCU模式(也写成MPU模式的)。只有TFT模块才有RGB接口。

但应用比较多的就是MUC模式和RGB模式,区别有以下几点:

1.MCU接口:会解码命令,由timing generator产生时序信号,驱动COM和SEG驱器。

RGB接口:在写LCD register setting时,和MCU接口没有区别。区别只在于图像的写入方式。

2.用MCU模式时由于数据可以先存到IC内部GRAM后再往屏上写,所以这种模式LCD可以直接接在MEMORY的总线上。

用RGB模式时就不同了,它没有内部RAM,HSYNC,VSYNC,ENABLE,CS,RESET,RS可以直接接在MEMORY的GPIO口上,用GPIO口来模拟波形.

3.MPU接口方式:显示数据写入DDRAM,常用于静止图片显示。

RGB接口方式:显示数据不写入DDRAM,直接写屏,速度快,常用于显示视频或动画用。

MCU接口和RGB接口主要的区别是:

MCU接口方式:显示数据写入DDRAM,常用于静止图片显示。

RGB接口方式:显示数据不写入DDRAM,直接写屏,速度快,常用于显示视频或动画用。

MCU模式

因为主要针对单片机的领域在使用,因此得名.后在中低端手机大量使用,其主要特点是价格便宜的。MCU-LCD接口的标准术语是Intel提出的8080总线标准,因此在很多文档中用I80 来指MCU-LCD屏。主要又可以分为8080模式和6800模式,这两者之间主要是时序的区别。数据位传输有8位,9位,16位,18位,24位。连线分为:CS/,RS(寄存器选择),RD/,WR/,再就是数据线了。优点是:控制简单方便,无需时钟和同步信号。缺点是:要耗费GRAM,所以难以做到大屏(3.8以上)。对于MCU接口的LCM,其内部的芯片就叫LCD驱动器。主要功能是对主机发过的数据/命令,进行变换,变成每个象素的RGB数据,使之在屏上显示出来。这个过程不需要点、行、帧时钟。

MCU接口的LCD的DriverIC都带GRAM,Driver IC作为MCU的一片协处理器,接受MCU发过来的Command/Data,可以相对独立的工作。对于MCU接口的LCM(LCD Module),其内部的芯片就叫LCD驱动器。主要功能是对主机发过的数据/命令,进行变换,变成每个象素的RGB数据,使之在屏上显示出来。这个过程不需要点、行、帧时钟。

M6800模式

M6800模式支持可选择的总线宽度8/9/16/18-bit(默认为8位),其实际设计思想是与I80的思想是一样的,主要区别就是该模式的总线控制读写信号组合在一个引脚上(/WR),而增加了一个锁存信号(E)数据位传输有8位,9位,16位和18位。

嵌入式LCD的接口类型详解

I8080模式

I80模式连线分为:CS/,RS(寄存器选择),RD/,WR/,再就是数据线了。优点是:控制简单方便,无需时钟和同步信号。缺点是:要耗费GRAM,所以难以做到大屏(QVGA以上)。

嵌入式LCD的接口类型详解

MCU接口标准名称是I80,管脚的控制脚有5个:

CS 片选信号
RS (置1为写数据,置0为写命令)
/WR (为0表示写数据) 数据命令区分信号
/RD (为0表示读数据)
RESET 复位LCD( 用固定命令系列 0 1 0来复位)

VSYNC模式

该模式其实就是就是在MCU模式上加了一个VSYNC信号,应用于运动画面更新,这样就与上述两个接口有很大的区别。该模式支持直接进行动画显示的功能,它提供了一个对MCU接口最小的改动,实现动画显示的解决方案。在这种模式下,内部的显示操作与外部VSYNC信号同步。可以实现比内部操作更高的速率的动画显示。但由于其操作方式的不同,该模式对速率有一个限制,那就是对内部SRAM的写速率一定要大于显示读内部SRAM的速率。

嵌入式LCD的接口类型详解

RGB模式

大屏采用较多的模式,数据位传输也有6位,16位和18位,24位之分。连线一般有:VSYNC,HSYNC,DOTCLK,CS,RESET,有的也需要RS,剩下就是数据线。它的优缺点正好和MCU模式相反。

MCU-LCD屏它与RGB-LCD屏主要区别在于显存的位置。RGB-LCD的显存是由系统内存充当的,因此其大小只受限于系统内存的大小,这样RGB-LCD可以做出较大尺寸,象现在4.3"只能算入门级,而MID中7",10"的屏都开始大量使用。而MCU-LCD的设计之初只要考虑单片机的内存较小,因此都是把显存内置在LCD模块内部.然后软件通过专门显示命令来更新显存,因此MCU屏往往不能做得很大。同时显示更新速度也比RGB-LCD慢。显示数据传输模式也有差别。RGB屏只需显存组织好数据。启动显示后,LCD-DMA会自动把显存中的数据通过RGB接口送到LCM。而MCU屏则需要发送画点的命令来修改MCU内部的RAM(即不能直接写MCU屏的RAM)。所以RGB显示速度明显比MCU快,而且播放视频方面,MCU-LCD也比较慢。

对于RGB接口的LCM,主机输出的直接是每个象素的RGB数据,不需要进行变换(GAMMA校正等除外),对于这种接口,需要在主机部分有个LCD控制器,以产生RGB数据和点、行、帧同步信号。

嵌入式LCD的接口类型详解嵌入式LCD的接口类型详解

彩色TFT液晶屏主要有2种接口:TTL接口(RGB颜色接口), LVDS接口(将RGB颜色打包成差分信号传输)。TTL接口主要用于12.1寸一下的小尺寸TFT屏,LVDS接口主要用于8寸以上的大尺寸TFT屏。TTL接口线多,传输距离短;LVDS接口传输距离长,线的数量少。大屏采用较多的模式,控制脚是VSYNC,HSYNC,VDEN,VCLK, S3C2440最高支持24个数据脚,数据脚是VD[23-0]。

CPU或显卡发出的图像数据是TTL信号(0-5V、0-3.3V、0-2.5V、或0-1.8V),LCD本身接收的也是TTL信号,由于TTL信号在高速率的长距离传输时性能不佳,抗干扰能力比较差,后来又提出了多种传输模式,比如LVDS、TDMS、GVIF、P&D、DVI和DFP等。他们实际上只是将CPU或显卡发出的TTL信号编码成各种信号以传输,在LCD那边将接收到的信号进行解码得到TTL信号。

但是不管采用何种传输模式,本质的TTL信号是一样的。

注意:TTL/LVDS分别是两种信号的传输模式,TTL是高电平表示1,低电平表示0的模式,LVDS是正负两个对应波形,用两个波形的差值来表示当前是1还是0
SPI模式

采用较少,有3线和4线的,连线为CS/,SLK,SDI,SDO四根线,连线少但是软件控制比较复杂。
MDDI模式(MobileDisplayDigitalInterface)

高通公司于2004年提出的接口MDDI,通过减少连线可提高移动电话的可靠性并降低功耗,这将取代SPI模式而成为移动领域的高速串行接口。 连线主要是host_data,host_strobe,client_data,client_strobe,power,GND几根线。

DSI模式

该模式串行的双向高速命令传输模式,连线有D0P,D0N,D1P,D1N,CLKP,CLKN。

转自: 单片机精讲吴鉴鹰

围观 332

1、引言

目前,集成电路的嵌入式技术发展越来越快,各色嵌入式产品也越来越受欢迎,尤其是以大屏幕多功能的手机、平板电脑等为典型代表,做为其控制核心的高性能、低功耗的微控制器(MCU)起到了决定性作用。因此以CPU为核心MCU的设计也成为了诸多高等院校、各大公司进行市场竞争的一个主流发展方向。

2、MCU选型技术

微控制器(MCU)的应用领域非常广泛,如消费类电子市场中的手机、照相机、摄像机、MP3、MP4、平板电脑、笔记本电脑、PC机、各种遥控电动玩具等,还有汽车电子的电子钥匙、控制系统、导航、倒车影像、倒车雷达等,还有各种安全防卫系统、医疗器械、工业控制、武器装备、航空航天等各个领域。因此在设计MCU之前需要进行明确的市场定位,从而使目标产品有的放矢,并在高性能、低成本、多功能、轻体积、低功耗、高可靠、散热好、抗辐照、抗单粒子、适应超高温和超低温等方面具有很强的竞争力。MCU硬件设计主要包括两大部分:CPU选型和外围IP核的选取。

3、CPU选型

CPU作为MCU的大脑,起到控制核心的作用,基本上决定了MCU的目标应用领域,因此CPU的选型是设计MCU的关键。目前,可以用于集成电路嵌入式设计的CPU主要有CISC架构的80386EX,RISC架构的ARM7TDMI/EJ、ARM926EJS/946ES/968ES、ARM1136/56/76、ARMCortex-A5/7/8/9/15、ARMCortex-R4/5/7、ARMCortex-M0/0+/1/3/4/7、SecurCore000/100/300、MIPS32M4K/4K/14K/24K/34K/74K/1004K/1074K、microMIPS32、SmartMIPS、Nios/NiosII、PowerPC40x/60x/70x/90x、SPARCv7/8/9、LEON2/3/4、OR1000/1200等,其中以ARM系列嵌入式CPU发展的势头最为迅猛,占据了嵌入式处理器绝大部分的市场份额,而且还在继续增长。各家公司的每种处理器都有自己的特点,可以满足不同的应用需求。此外,开发环境的完备性、总线接口协议的高效性、技术支持的专业性、IP核种类的丰富性、设计资源的开放性以及设计者的使用习惯等,都会对CPU的选型产生决定性的影响。

4、外围IP选取

对于应用领域而言,外围IP核起到了很好的支撑作用,因为如果把MCU比作“人”,则外围IP核相当于MCU的“眼”“耳”“口”“鼻”等重要器官,所以外围IP核的选取也同样至关重要。IP核的选取包括通用IP核和特定用途IP核两种。

4.1通用IP选取

目前,通用IP核的种类比较繁多,按照总线接口协议可以分为IBM公司的Core Connect、ARM公司的AMBA(Advanced Microcontroller BusArchitecture)和Silicore Corp公司的Wishbone等;按功能分为接口类IP核如DMA、GPIO、UART、USART、Timer、WDT、I2C、I2S、SPI、CAN、存储器控制器,图像处理类IP核等;存储器类IP核如ROM、RAM、SRAM、FLASH等。根据功能不同可以进行不同的选择,还可以集成几个相同功能的IP核,如UARTx4有4个UART接口,I2Cx2则是有2个I2C接口等。

4.2特定用途IP选取

特定功能的IP核种类也很多,如时钟类的PLL、片上高精度振荡器,模数转换类的AD、DA,网络类的ETHERNETMAC/PHY、Modem,图像处理类的H.264、JPEG,接口类的USB2.0/3.0、IDE、SATA等,高速接口类的LVDS、RapidIO、SerDes等,还有各种传感器等,需要根据市场定位来确定。

5、MCU设计

5.1硬件设计

目前,MCU领域众多大公司早已大规模推出各类MCU,而且各具特色,因此设计具有自主知识产权的MCU应在系统架构等方面有别于这些大公司,一是避免侵权,二是更有利于市场竞争。同时应做好产品的规划:从简单到复杂,从单一产品到系列产品,设计平台不断维护与更新,设计软件不断维护与升级,设计人员的水平不断提高。主要包括以下几个方面:

(1)体系架构分析、设计和验证
依据设计规格书中的性能指标和功能指标,首先需要制定设计方案:选取几款CPU以及所有用到的IP核进行系统级设计,从整体上评估MCU的系统架构、CPU的性能指标、IP核的功能特性等方面。基于几种选定的目标工艺给出相应的数据分析,确认是否能够满足设计目标的要求,从而确定基本的设计方案,然后再根据具体的设计结果进行相应的优化。

(2)时钟和复位方案设计
时钟和复位对整个电路而言起到了至关重要的作用。如果这两路信号有问题,则电路不能正常工作。因此,需要作出详尽的时钟方案和复位方案,需要给不同的外设提供不同的时钟:USB单独时钟、CPU等高速外设一个时钟、UART等低速外设一个时钟,如图1示。

浅析嵌入式MCU硬件设计相关要素
图1时钟方案示意图

(3)总线方案设计
采用何种总线、何种组合方式、总线的数量等关系到MCU性能的发挥。以AMBA总线为例,通常的用法是AHB接高速外设,再通过AHB到APB总线桥来访问低速外设。有时为了提高外设的访问速度,一个MCU内部可能有两条APB总线;也可能有两条AHB总线。指令和数据分离,一条用来数据传输或图像处理,另一条用来通用控制。还可能有多层AHB的互连矩阵,便于多个Master可以同时访问多个不同的高速外设,从而大幅度提高MCU系统性能。因此,总线方案的制定须依据产品的具体应用来确定。

(4)功耗管理方案设计
低功耗是MCU的突出特点之一,因为MCU中集成了多种低功耗管理策略:不仅在逻辑上采用门控时钟、门级优化的方式,而且还在物理上采用多阈值电压、多电源域、门控电源等方式;同时更在功能模式上采用了多种模式:正常运行模式、睡眠模式、深度睡眠模式、掉电模式等,并严格规定各种模式下运行和关闭IP核的种类以及各种模式之间的进入和退出流程。这既保证了电路的功能,又保证了电路的性能。

(5)中断处理方案设计
中断是MCU一项很重要的功能。通过中断控制,CPU可以快速响应外设的请求。中断处理一般包括中断源的数量、优先级、是否可屏蔽、是一般中断还是快速中断等,通常需要设计一个专用模块来进行中断处理。有时为了提高设计效率,IP销售商也提供标准的基于AHB或APB等总线接口协议的IP核。如果此类IP核能够满足系统对于中断处理情况的要求,也可以选用。

(6)存储器管理方案设计
存储器是MCU中占面积较大的模块。一个MCU中可能同时含有ROM、SRAM和FLASH三种存储器:ROM用于放置BootLoader、IP Drivers等,SRAM用于提高软件运行速度、存放临时数据,FLASH用于存放应用程序和数据。由于FLASH的读写速度比较慢,为了提高FLASH的读写速度,可以采用预取缓冲器和写缓冲器来加速指令和数据的缓冲。由于各个存储器都有自己的地址空间,因此很方便用户访问。为了便于系统管理,通常设计一个存储器管理模块,并在系统控制模块中设计对应的控制寄存器。

(7)在线调试方案设计
目前,比较常用的在线调试方式为串行调试,如JTAG、EJTAG、UART等,使用PC机的并口、串口、网口或是USB接口,使得在线调试简单方便,成本低廉,如图2所示。由于被调试的程序要在目标板上运行,而且MCU必须正常工作,因此需要设计一个专用的调试模块以保证上位机软件可以调用CPU来进行软硬件的在线调试,并且符合IEEE1149.1的协议标准,此模块的基本结构如图3所示。

浅析嵌入式MCU硬件设计相关要素
图2典型在线调试系统示意图

浅析嵌入式MCU硬件设计相关要素
图3调试结构示意图

(8)测试方案设计

MCU的测试方案主要包括物理测试、功能测试和性能测试几部分内容。先要根据时钟方案和复位方案对MCU进行时钟测试,确保时钟电路工作正常;再对CPU进行功能测试,因为CPU是MCU的控制核心,只有CPU正确运行才能对其他IP核进行测试;然后再依据设计规格书对MCU外围的数字IP核和模拟IP核进行功能测试和性能测试。

5.2系统级验证

为了确保设计的正确性,流片之前必须对MCU进行全功能验证。因此需要使用多种IIP和VIP来搭建一个系统级验证平台,依据设计规格书制定详细的验证方案,通过仿真工具,采用定向和随机的方式或采用比较流行的OVM、VMM和UVM等验证方法学、逐个IP核来验证MCU的全部功能是正确的,重点是系统控制单元、总线仲裁器、功耗管理等为系统功能定制设计的非标准模块。

5.3 FPGA原型验证

由于系统级验证使用的是EDA工具进行软件仿真,仿真的速度比较慢,因此可以通过FPGA原型验证的方式来加速系统级验证的速度,尤其是需要将那些功能比较复杂、规模比较大的模块下载到FPGA中,而且应尽可能使用规模比较大的FPGA,如Virtex-7系列、ArriaV系列等。搭建FPGA验证平台时,不仅可以使用一块FPGA,也可以使用多块FPGA,最好能够将设计的所有模块全部下载到FPGA中。FPGA原型验证不仅要验证硬件的正确性,还要验证IP核驱动程序的正确性,同时也可以验证目标应用程序的正确性。

5.4物理设计

在对MCU系统级验证和FPGA原型验证后,需要进行物理设计:依据设计规格书制定合理设计约束,从逻辑综合到自动布局布线,再到物理验证、形式验证、静态时序分析和功能验证,完成从RTL到GDSII的转换过程,最后将数据发送至代工厂进行加工制造。

5.5文档设计

文档是MCU设计过程中很重要而且很必要的环节,且应该在设计的不同阶段,以模板的形式规定在此阶段所要完成的文档设计,并由项目负责人进行详细审查,从而确保一旦设计中出现了任何问题,都可以查找相关的设计文件以及对应的设计文档,尤其是设计的细节需要体现的很完整。

6、结束语

以上只是简要概述了MCU硬件设计的主要方面。若要设计一个性价比高、竞争力强的MCU,还需要进行大量的、详细的工作,尤其是电路的全功能验证和详尽测试,并搭建一个MCU平台来进行系列产品的开发,以保证产品可以源源不断地进入嵌入式市场。

来源: 灵动微电MMCU

围观 373

1.uC/OS-II文件结构

与处理器无关的代码:OS_CORE.C, OS_FLAG.C, OS_MBOX.C, OS_MEM.C, OS_MUTEX.C, OS_Q.C, OS_SEM.C, OS_TASK.C, OS_TIME.C, UCOS_II.C, UCOS_II.H。

配置文件(与应用程序有关):OS_CFG.H, INCLUDES.H

与处理器有关的代码(移植):OS_CPU.H, OS_CPU_A.ASM, OS_CPU_C.C

2.uC/OS-II组成部分

uC/OS-II大致可以分成系统核心(包含任务调度)、任务管理、时间管理、多任务同步与通信、内存管理、CPU移植等部分。

(1) 核心部分(OSCore.c) :uC/OS-II处理核心,包括初始化、启动、中断管理、时钟中断、任务调度及事件处理等用于系统基本维持的函数。

(2) 任务管理(OSTask.c) :包含与任务操作密切相关的函数,包括任务建立、删除、挂起及恢复等,uC/OS II以任务为基本单位进行调度。

(3) 时钟部分(OSTime.c) :uC/OS-II中最小时钟单位是timetick(时钟节拍),其中包含时间延迟、时钟设置及时钟恢复等与时钟相关的函数。

(4) 多任务同步与通信(OSMbox.c, OSQ.c, OSSem.c, OSMutex.c, OSFlag.c):包含事件管理函数,涉及Mbox、msgQ、Sem、Mutex、Flag等。

(5) 内存管理部分(OSMem.c):主要用于构建私有的内存分区管理机制,其中包含创建memPart、申请/释放memPart、获取分区信息等函数。

(6) CPU接口部分:uC/OS-II针对特定CPU的移植部分,由于牵涉到SP等系统指针,通常用汇编语言编写,包括任务切换、中断处理等内容。

3.uC/OS-II任务状态

在uC/OS-II中,一个任务就是一个线程,该任务可以认为CPU完全属于它自己。任务有自己的堆栈和CPU寄存器,并且被赋予一定的优先级。任务可能处于睡眠、就绪、运行、等待或中断服务状态之一。

(1) uC/OS-II调度算法
uC/OS-II采用基于优先级的调度算法,总是选择当前处于就绪状态的优先级最高的任务进行调度。uC/OS-II是可抢占性的强实时性OS,在完成中断后允许进行新的任务调度。

uC/OS-II有两种调度方式:任务级任务调度、中断级任务调度。

(2) 应用程序中函数的调用关系

#include “includes.h”
#define TASK_STK_SIZE 512 // 定义堆栈长度(1024字节)
OS_STK TaskStk[TASK_STK_SIZE]; // 定义一个数组来作为任务堆栈
void main()
{
……
OSInit(); // 初始化uC/OS-IIi
……
OSTaskCreate(MyTask1,……); // 创建用户任务1
OSTaskCreate(MyTask2,……); // 创建用户任务2
……
OSStart(); // 启动任务
……
}
void MyTask(void *pdata)
{
for (;;)
{
可以被中断的任务代码;
OS_ENTER_CRITICAL(); //进入临阶段(关中断)
不可以被中断的任务代码;
OS_EXIT_CRITICAL(); //退出临阶段 (开中断)
可以被中断的任务代码;
}
}

空任务块链表(所有任务控制块还没有分配给任务),是在应用程序调用函数OSInit()对系统进行初始化时建立的。

任务建立时,首先会调用OSTaskStkInit(),也会调用函数OS_TCBInit()初始化任务控制块OS_TCB,函数OSTaskCreate()或OSTaskCreateExt()调用任务控制块初始化函数OS_TCBInit()。

OS_TCBInit()然后调用OSTCBCreatHook()。

OSTCBCreatHook()是用户自定义的函数。

当用户程序调用函数OSTaskCreate()创建一个任务时,这个函数会调用系统函数OSTCBInit()来为任务控制块进行初始化。这个函数首先为被创建任务从空任务控制块链表获取一个任务控制块,然后利用任务的属性对任务控制块各个成员进行赋值,最后再把这个任务控制块链入到任务控制块链表的头部。

uC/OS-II有两种调度器:
任务级调度器(由OSSched()实现)、中断级调度器(由OSIntExt()实现)

(3) 任务级任务调度
指在非中断返回时进行任务调度,一般发生在当前任务因时间延迟或等待某事件而阻塞或被挂起,或有更高优先级的任务处于就绪状态。

任务的基本信息:

  -  CPU的PC寄存器:任务当前执行的位置;
  -  CPU的通用寄存器:任务当前执行涉及的临时数据;
  -  CPU的状态寄存器:存储当前CPU的状态。

任务级任务切换:从一个任务直接切换至另一个任务,不涉及CPU状态的切换,OS_TASK_SW()既保存当前任务上下文,又恢复新任务上下文。
过程:OS_Sched() -> OS_SchedNew() -> OS_TASK_SW()

来源: 嵌入式资讯精选

围观 460

作者:Øivind Loe,Silicon Labs微控制器产品高级营销经理

即使是在诸如物联网应用的无线连接这种主导功耗的事件中,让尽可能多的进程自主运行,也可大大提高电池寿命。降低功耗一直是微控器(MCU)市场的一个主要关注点。超低功耗MCU现在可以大大降低工作模式和深度睡眠模式下的功耗。这种变化的效果是显而易见的,它大大提高了我们日常嵌入式应用中的电池寿命,并且提供了在未来使用能量收集的可能性。

然而,要基于新型MCU降低功耗,开发人员必须考虑到许多因素,对此Silicon Labs特别撰写一篇技术文章:“以0 MIPS运行你的嵌入式系统”,帮助开发人员了解如何利用新型MCU中外设的自主运行,通过更接近以“0”MIPS运行,来实现数据手册中所承诺的低功耗。

低功耗为嵌入式系统研发关键

对于在功耗敏感型物联网(IoT)应用中所使用的新型MCU和无线MCU(WMCU)来说,执行代码时的功耗已经明显下降,甚至达到40μA/ MHz以下。使用这些低功耗规格,您可能会想知道为什么我们需要睡眠模式,为什么不以500 kHz运行您的代码来实现20μA的电流消耗,并且允许您的应用使用电池运行10年?其实事情并不是这么简单的。

睡眠模式下的功耗在过去几年中也有显著的改善。我们现在可以看到深度睡眠模式下的功耗低于2μA,而一些睡眠模式下的功耗甚至低于50 nA。您可能会觉得拥有这些模式设计出来的系统功耗自然很低,然而事实并非如此,应用能否利用睡眠模式才是关键。

为什么工作模式是好的...也是坏的

使用MCU或WMCU的最直接的方法是让CPU管理一切。例如,您可以启动模数转换(ADC),将一些数据放入通信接口(如USART传输)中,读取ADC数据,并对数据做出一些处理,所有一切都由CPU直接控制。直接的CPU控制简化了开发,但其成本是:每当外设或外部事件需要处理时,MCU都将处于工作模式,从而使功耗大增。

近期,一些数据手册显示工作模式的电流是40μA/MHz甚至更低,它们通常是高时钟频率下的参数,低频下会变大,进而导致绝对功耗变大。这是因为工作模式下频率和功耗不是线性关系。功耗由如下两部分组成,其中第二部分和频率联系不紧密:
1. 处理器本身,它是和频率按比例变化的。
2. 有基础工作电流的模块,比如低压差线性稳压器(LDO),欠压检测器(BOD)等。

要想降低功耗,应尽可能地减少MCU在高功耗的工作模式下运行,尽可能地关闭外设,让CPU尽可能多地睡眠。

功耗预算

对于受限于能源的电池供电型应用来说,要知道能源消耗在哪里才能进行优化。表1显示了一个传感器检测无线应用的功耗预算,它的功耗优化不太好。

通过平均计算每个组件的功耗来测量或估计功耗。如果CPU占空比为两个百分点,并且在60μA/ MHz时工作在20 MHz,则CPU的消耗为24μA。

请注意,表1所示的功耗预算是根据功能划分的。例如,基础睡眠电流包括一个低频振荡器和一个实时时钟(RTC)来对系统事件进行定时从而允许深度睡眠。

传感器测量部分是由一个0.5kHz的中断触发,中断之间深度睡眠。低功耗蓝牙每秒钟都要把数据发出去,这是个很普遍的低功耗应用。最后,还有一些非MCU部分的功耗。MCU可能无法直接控制这些模块中的一部分,包括电源管理外设,在这个例子中,MCU是直接控制ADC对传感器进行采样,如果不是的话,传感器电流将完全是图片中的数据。

对于这个例子,传感器的持续电流大约是390μA,但是通过调整占空比,每个ADC采样仅仅使用了10 μs的时间,从而可以大大降低功耗。

【干货】以0 MIPS运行你的嵌入式系统

表1 目标应用的功耗预算

如果该无线应用由具有225 mAh容量的CR2032电池供电,则在61.6μA功耗下操作时其寿命约为0.4年。事实上,我们可以做得更好。

改善现状

我们来看看降低MCU传感器测量电流的方法。虽然此示例涉及ADC测量外部传感器,但相关示例可能集中在一系列不同类型的测量以及与外部环境的交互上。在这两种情况下,MCU和外部环境之间都会发生频繁的交互。

实现低功耗传感的最简单的方法是让CPU尽可能多地处于睡眠模式,只在采样时唤醒,并尽可能快地重回睡眠模式。对于非常低的采样率来说,这种方法很好,但是从图1可以看出,当每秒采样次数增加时,系统的功耗也会显著增加:

【干货】以0 MIPS运行你的嵌入式系统

图1 采用中断进行ADC采样,显示出随着每秒采样次数的增加,功耗也在增加

许多类型的应用必须具有频繁的活动,同时还需要保持电池寿命。超过1kHz的活动率并不是闻所未闻,这时候就需要采取措施来保持低功耗。

图2显示了传感器管理的两种附加方法。外设反射系统/直接存储器访问(PRS / DMA)方法使CPU在完全不参与的情况下在深度睡眠模式进行ADC采样。而不是RTC唤醒CPU,然后CPU启动ADC进行采样。RTC通过事件系统(如Silicon Labs的PRS)将事件直接发送到ADC。ADC在接收到此事件时自动启动ADC转换。转换完成后,DMA在这种情况下也能够从深度睡眠模式下运行,从ADC获取数据并将其存储在RAM中。 PRS / DMA方法的好处是显著降低了电流消耗。在1 kHz时,系统电流从58μA降低到25μA。

【干货】以0 MIPS运行你的嵌入式系统

图2 该ADC采样图显示了各种工作方式下的功耗

驱动ADC的更有效的方法是PRS /比较器(CMP)方法,其中RTC仍然通过PRS系统触发ADC,但在这种情况下,ADC立即使用比较功能对样本进行评估,除非发现有需要的数据,否则不使用DMA或CPU。这种方法能够实现1 kHz采样率时系统电流只有3.5μA。

动态ADC比较器

使用PRS/CMP方法,大部分采样数据都被丢弃,CPU只关注需要处理的数据。当信号变化缓慢时,或者需要特定的信号时,这种方法很有效。

当使用比较功能监视信号时,一种方法是测量信号,然后根据这个信号设置阈值,只要信号在阈值范围内,那么当ADC测量信号时,系统可以保持在深度睡眠模式,当然CPU也保持在睡眠模式。

然而,如果信号发生变化,并且超过阈值,系统将知道该信号,并采取适当的措施。在回到睡眠模式之前,ADC阈值将重新配置以适应新的信号值,因此系统可以再次进入睡眠模式,直到下一次信号发生变化。图3显示了这种技术的示例。圆点表示ADC样本,箭头表示每当CPU被唤醒时,它将记录本次变化并重新配置阈值。

【干货】以0 MIPS运行你的嵌入式系统

图3 当信号超过阈值时,CPU中断动态修改ADC的阈值

使用这种方法,系统实际上将丢失一些信号准确性,因为信号可以在触发器之间的阈值范围内任意移动。然而,益处是功耗显著降低。

如果系统的目标是测量信号的动态值,则PRS / DMA驱动方法是理想的,因为它使所有数据可用,同时仍然可以提供非常有益的节能特性。

自主工作子系统

ADC示例只是众多通过睡眠模式降低应用功耗的方法之一。专注于低功耗应用的新型MCU(如Silicon Labs的EFM32 Gecko MCU)拥有大量功能,可在深度睡眠模式下运行,从而实现高水平的自主行为。

例如,Gecko MCU的LESENSE(低功耗传感)模块可以自动地、周期性地采样多达16个通道,完全不需要CPU参与。它可以实现高频率检测且充电1次就能工作10年。

在许多情况下,单个外设可以自主地履行其职责,但也有许多需要交互的情况。在这种情况下,我们可以利用诸如在当前一些新型MCU中存在的PRS系统这样的外设互连。这些外设互连允许多个外设连接以自主执行更复杂的任务。

图4显示了这样的自主系统示例,其使用事件链来执行其功能:
1. RTC以给定的时间周期性地发送PRS信号至ADC以启动转换。
2. RTC同时启动外部传感器,这样在测量时信号就已经准备好了。
3. ADC完成采样并通知DMA,DMA把数据传送到RAM。
4. 来自ADC的完成PRS信号关闭外部传感器。
5. 当缓冲器满时中断唤醒CPU,或者超过ADC阈值时中断唤醒CPU。
6. 可选项:PRS看门狗监视事件循环,确保它保持运行。

DMA可以从图4所示系统中拿走,通过设置ADC的比较功能来做到更省电。

【干货】以0 MIPS运行你的嵌入式系统

图4 该自主ADC系统包含周期工作的传感器和看门狗

这些自主子系统具有以下几个主要优点:
1. 显著节能。
2. 即使CPU负载很重时传感器依旧可以稳定工作。

缺点是,并不是所有的MCU都支持这种类型的操作,并且在设置交互时,您会希望像硬件设计人员一样思考。总之,对于许多电池供电型应用来说,其优点明显多于缺点。

结论

通过利用各种节能技术,当传感器测量时,CPU几乎完全脱离工作。对于表1所示的无线应用,这将使总平均功耗从61.6μA降低到37.6μA,降低了39%,从而使电池寿命从大约5个月延长到8个月,增加了64%,或者可以允许电池尺寸减小以改善系统外形。

对于非无线应用,节能将更加显著。表1中的示例,能耗将从29.6μA降低到5.6μA,由CR2032电池供电,理论上寿命将从10个月延长到4.6年。

来源: Silicon Labs

围观 319

据Semi Engineering网站报导,GlobalFoundries、三星(Samsung)、台积电(TSMC)和联电(UMC)计划在2017年稍晚开始提供ST-MRAM或STT-MRAM,取代NOR Flash,此举代表市场的巨大转变,因为到目前为止,只有Everspin已经为各种应用提供MRAM,例如电池供电的SRAM替代品、读写缓存(Write Cache)等。

STT-MRAM的下一个大好机会就是嵌入式存储器IP市场,NOR Flash是传统嵌入式存储器,随着制程从40nm进展到28nm,NOR Flash已经出现各种各样的问题,因此,这些代工厂的支持可以将STT-MRAM转变为先进节点的替代技术。

GlobalFoundries嵌入式存储器副总裁Dave Eggleston表示,嵌入式快闪存储器将继续作为资料保存技术主流,特别是汽车和安全应用领域,嵌入式快闪存储器将会有很长的使用寿命,但没有扩展空间,当达到28nm制程以上时,嵌入式快闪存储器实际上会成为昂贵的选择。

因此,业界需要一个新的解决方案,STT-MRAM恰好为2xnm及以上的嵌入式存储器应用做好准备。先作为补充技术,进一步替代嵌入式DRAM和SRAM,也是MRAM的巨大机会,将为处理器添加持久性功能。

无论如何,MRAM可能会因为几个因素,成为一个大市场或利基解决方案,包括多个供应商和一系列的应用推动STT-MRAM发展,此外,主要代工厂投入STT-MRAM也可能会推动规模经济化,降低技术成本。

但仍有一些挑战,不是所有晶圆代工客户都需要22nm以上的芯片,此外,STT-MRAM是一种相对较新的技术,客户可能需要花点时间整合,各种制造上的挑战也必须解决。不过,4大代工厂都决定为嵌入式客户投入开发作业,三星有自己的IP,其他代工厂正在与各种合作伙伴合作。

除了Everspin和代工厂之外,英特尔(Intel)、美光(Micron)和东芝与SK海力士都投入MRAM研发,同时,几家新创公司如Avalanche、Crocus、Spin Transfer Technologies都正在开发。对大多数企业而言,生产MRAM说起来比做容易,因为MRAM涉及开发新材料、集成方案和设备,与传统存储器相比,生产流程也不同。

在晶圆厂的进展中,STT-MRAM目前有2个用例,第一个是替换嵌入式快闪存储器,另一个是嵌入式SRAM,业界一致认为,STT-MRAM是一个很好的嵌入式解决方案。多年来,业界一直在探索STT-MRAM的发展,目标是取代DRAM,现在还在努力探索中。

而STT-MRAM仍然需要证明它可以在汽车的高温下满足可靠性和资料储存规格。在微控制器(MCU)市场的嵌入式存储器需求也在增温,如NOR Flash用于代码储存和其他功能。MCU制程从40nm进展到28nm,NOR Flash也是,然而,在2xnm节点,NOR Flash开始遭受写入速度慢和耐久性问题,且因为需要更多光罩步骤使成本更高。

超过28nm以后,NOR Flash就难以扩展,所以人们正在寻找替代品,但是用新的存储器类型替换NOR Flash不是一项简单的任务,新型存储器类型的成长关键要求是性能、可靠性、密度和成本。

现在,STT-MRAM似乎已经在2xnm节点的嵌入式市场准备就绪,其他存储器类型仍然停留在研发阶段。报导指出,随着产业正在开发STT-MRAM,同时也专注准备MRAM研发,包括SOT-MRAM磁存储器,将作为基于SRAM技术的缓存替代品。

来源: Digitimes

围观 375

嵌入式系统设备是应用最广泛的产品,小到玩具、穿戴产品大到复杂的工业、军工宇航设备,按照标准定义,嵌入式系统就是以应用为中心,以计算机技术为基础,将应用程序和操作系统与计算机硬件集成在一起,能够独立工作,而且软硬件均可裁减的专用计算机系统。简单地说,就是系统的应用软件与系统的硬件一体化的设备。广义上可以认为,凡是带有微处理器、微控制器的专用软硬件系统都可以称为嵌入式系统。从狭义上讲,更加强调那些使用嵌入式微处理器构成独立系统,具有自己的操作系统,并且具有某些特定功能的系统。随着智能化的深入,嵌入式系统发生了很多有趣的变化,我们以嵌入式系统的核心MCU来说说2017年嵌入式领域的MCU四个变化。

一、MCU主频、内核大突破还有多核化

在传统上,我们理解的的MCU都是基于Cortex-M0,M3,M4或者8051 内核的MCU,但是今年我们看到,一些MCU领军厂商如ST、NXP等都推出于基于Cortex-M7内核高主频MCU,把MCU应用继续拓展。

2017嵌入式领域MCU四大新变化

NXP在今年6月推出了i.MX RT系列跨界处理器,它结合了高性能和实时功能,支持下一代物联网应用,具有与MCU级可用性相平衡的高度集成和安全性,且价格实惠。i.MX RT处理器的优势很明显:第一高性能,采用ARM Cortex-M7,主频高达600MHz,配备高达512KB的紧耦合内存,中断延迟低至20nm,可以使满足目前用户点一下按键就要快速做出反应的需求;第二高集成度,集成了2D图形加速引擎、并行相机传感器接口、LCD显示控制器和3个I2S,适用于GUI和增强版HMI的高级多媒体;第三低功耗,集成直流-直流转换器,实现业内最低动态功耗;第四使用简便,采用了MCU的应用架构,MCU客户可以利用现有的工具链,如MXUXpresso、IAR、Keil,快速开发和制作原型,而不用再学习Linux、安卓,从而节省设计时间;第五低成本,10K的转售价格不到3美元。对于这样的新MCU,国内嵌入式系统技术著名专家周立功教授(广州周立功单片机发展有限公司创始人、广州致远电子股份有限公司董事长)指出:“NXP最新推出的LPC546xx、i.MX6和刚推出来的i.MX RT绝对的创新设计,性能超群价格便宜,我们看到A7、A8性能再好,但其资源都被Linux吃掉了!而i.MX RT只需要RTOS就可以实现更好的性能,且更便宜。另外,基于RTOS的功耗管理更简单,大部分菜鸟级开发人员,不用懂Linux就可以开发出高性能的产品,这是多大的市场机会,因此必将成为流行的趋势!”

“这是兼顾了高性能与低功耗的产品设计。”他强调。“未来,Cortex-M7的发展理念更高性能,向多核发展,比如M0+M7、M4+M7、DSP+M7...等等。”

二、32位MCU加速取代8位MCU应用

目前在MCU领域,8位MCU仍占据1/3以上份额,在工业控制、安防、物联网、消费类电子等诸多领域,8位MCU的身影依然处处可见,根据IHS的预测,2018年8位MCU的市场规模将增长到78亿美元,市场份额继续超过MCU市场营收的三分之一以上,因为很多人认为8位MCU未来将继续维持增长。

不过随着智能化时代的来临和安全意识的提升,8位MCU增长将逐渐进入强弩之末,以今年来看,32位MCU取代8位MCU就呈现加速势态,一个变化是32位MCU大量取代8位MCU在指纹识别领域的应用,主要原因是32位MCU利用其更高的处理能力可以缩短算法执行时间,最终体现为响应速度。同时,32的高处理能力可以整合更多的功能,例如加密认证,辅助传感器等。

一些基于ARM® Cortex®-M4内核的MCU提供了完整的DSP指令集和专用浮点运算单元(FPU),可直接支持三角函数、滤波和卷积等复杂运算以加快指纹算法执行速度。最高主频下的工作性能可超过200DMIPS,可以支持高级指纹识别运算的全过程,包括指纹图像预处理、分割拼接、数据特征提取、特征匹配、交叉比对、识别解锁等一系列指令,更可显著提高指纹注册和匹配效率。所以很多8位MCU指纹识别方案别抛弃换到32位方案。

另外一些基于8位MCU的遥控器方案也因为32位MCU成本下降到与其持平而遭到抛弃。所以32位MCU需求旺盛一些公司缺货将成为常态化。

三、高端家电、高端消费电子设备需要高性能MCU

随着人工智能技术逐渐普及和人们对优质生活的追求提升,高端家电、高端消费电子对高性能MCU需求大增,例如很多冰箱需要做智能化的分析和处理,需要对储藏的食品做分类和检测,同时需要联网完成智能购物等动作,因此需要跟高性能的MCU,这些MCU除了支持一定的智能运算外还要支持触摸屏显示,支持较高的分辨率显示。针对这样的需求,本土MCU厂商可以将产品向高端延伸,在兼顾低端市场的同时,向高端市场发起冲击!

四、显示控制及人机交互应用加速

“在过去六个月,32位MCU在手机及移动支付、智能家居/家电、显示控制及人机交互和汽车电子及电机应用方面呈现加速势态。”灵动微电子MCU事业部总经理娄方超表示,“其中显示控制及人机交互需求极其旺盛,应该是潜力很大的市场,在这个市场中,MCU在取代以往的应用处理器市场。”

此外 ,在MCU开发上,各个厂商也努力简化MCU开发,例如ST开发出了STM32CubeMx,不但可以用它搜索选择满足需求的芯片,用它配置芯片外设引脚和功能,配置使用如LWIP、FAT32、FreeRTOS等第三方软件系统,还可以用它做功耗评估。而娄方超也透露灵动微电子也会推出更好用的新开发平台。

来源:EEFOCUS

围观 341

页面

订阅 RSS - 嵌入式