新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于ARM的嵌入式系统在机器人控制系统中的应用

基于ARM的嵌入式系统在机器人控制系统中的应用

作者:时间:2012-05-21来源:网络收藏

3.2 系统设计

此系统的设计主要是为了能够满足多种控制需求,同时兼顾对控制器体积、重量、功耗等敏感的特性。

上位机CPU选用Samsung公司的基于920T[5,6]核(适用于实时环境)的低功耗、16/32 bit、高性能RISC微控制器S3C2410,它的主频为266MHz;操作系统选用源码公开、专为设计的、可靠性高的实时、多任务内核arm- Linux;下位机选用Ti公司的具有低功耗、灵活指令集、内部操作灵活、高速的运算能力等性能的DSP-TMS320LF2407。

3.2.1 体系结构

基于、DSP和arm-Linux的硬件结构图如图1所示。

图1 机器人控制器硬件结构

上位机主要解决算法问题,处理各个传感器送回的信号,根据各个信号,向下位机发送控制命令,同时,上位机接收来自下位机的信号,判断下位机的状态,以便发送相应的数据和命令。下位机主要是对电机的控制,根据上位机发送过来的命令和数据,结合前馈算法和PID算法,对电机进行速度、位置等控制。

不同类型的机器人,其主要区别在于上位机的算法编写,上位机的算法与具体的机器人所要求完成的任务有关。在一个机器人系统中,只需一个上位机,作为机器人的“大脑”;下位机的个数则根据机器人需要而定。

3.2.2 硬件设计

硬件设计的原则是:部件模块化,接口标准化,互换性、扩展性好,可靠性高。

硬件可划分为CPU模块、外设模块。两个模块层可叠在一起,机械上可拆分,相互之间有接口相连,便于互换和维护。

1)CPU模块:上位机包括S3C2410、SDRAM、NAND FLASH、晶振等系统运行的基本要素;下位机包括TMS320LF2407、SDRAM、晶振等系统运行的基本要素。

2)外设模块:上位机包括电源接口、485总线接口、A/D接口、I/O接口、PWM接口、下位机通讯接口、USB HOST接口、USB SLAVE 接口、LCD接口等,同时它也是传感器模块和CPU模块连接的桥梁;下位机包括电源接口、485总线接口、I/O接口、PWM接口、光电编码器接口、上位机通讯接口、A/D接口,FLASH等。

S3C2410芯片本身集成了一些通用的外围器件,所以像A/D、USB、I/O等通道直接利用其资源。片内的2个UART分别用作485总线及与下位机通讯接口,这两个串口属于对外连接口,为了避免引入外界干扰,用高速光隔HCPL2630进行隔离。 TMS320LF2407芯片本身也集成了一些通用的外围器件,可直接利用PWM、A/D、I/O、光电编码器接口等资源。片内UART用作与上位机通讯接口,也用了光电隔离。

针对不同的机器人,硬件部分只需做简单的接口调整或传感器增删。

控制器集成尺寸:上位机模块为60mm×45mm×35mm,总功耗约为5V ×200mA,其中CPU模块功耗尽为3.3V×30mA;下位机模块尺寸60mm×40mm×30mm,功耗也是很低的,而一般的PC104总线CPU模块功耗约为5V×1000mA。

3.2.3 软件设计

软件设计的基本原则是:软件结构化,驱动标准化,系统可定制[13]。

软件设计的主要工作是操作系统的移植、驱动程序的设计、常用API函数的封装、多任务的分解与设计、上位机算法的编写和下位机驱动程序与算法的编写等。其中关键在于上下位机的同步性,当多个控制器一起工作时,同步问题更加重要了。上位机把数据传送给下位机,先把控制器的标号给传下去,只有与此号码相对应模块才能接收下面的数据,当下位机接收到信号后,需要向上位机发送一个确认信号。需要同步多个处理器,分别占用总线。为了使多机通讯同步,不发生信号冲突,在设计硬件时,每个微处理器使用了一个I/O口,并把每个处理器的I/O口用线连在一起。当一个控制器接收或发送数据时,向其它处理器发送一个高信号,来说明自己正在使用总线。接受到该信号的处理器得知总线正在忙,不再发送数据,可避免总线冲突。事实证明这种方法是可行的,不会发生总线冲突,多处理器工作时同步性很好。



评论


相关推荐

技术专区

关闭