芯片选型
微控制器是移动机器人运动控制系统的核心,它的选择直接决定了整个机器人运动系统的性能和开发方式。
目前,国内外移动机器人平台采用的微控制器有多种,主要有8/16位单片机和数字信号处理器DSP两大类型。
采用8/16位单片机,控制系统设计制作简单,硬件开发周期短,但数据处理能力不强,需要借助外加器件如计数器、PID调节器和PWM产生器等,系统的稳定性不是很强,系统控制板的结构尺寸也比较大。
DSP具有数据处理能力强、速度快等特点,且体积比较小,有利于电路板布局,但DSP在中断处理、位处理或逻辑操作方面不如单片机,资料相对较少,芯片价格和相应的开发套件比较昂贵,专用性比较强,通用性比较弱。
与DSP具有同等性能的ARM微处理器资源丰富,具有很强的通用性,以其高速度、高性能低价格、低功耗等优点而广泛应用于各个领域。
ARM本身是32位处理器,但是集成了16位的Thumb指令集,这使得ARM可以代替16位的处理器使用,同时具有32位处理器的速度,用单片机和DSP实现的系统,ARM都可以实现。
ARM还集成了丰富的片内外设资源,利用自身资源不必增加外围器件就可以实现控制所要求的功能,同时使得机器人控制板的结构尺寸可以做的很小。
另外,利用ARM处理器设计的嵌入式系统还具有非常好的移植性,这是其他处理器所不具备的特点。
考虑到这些因素,本课题决定选择以ARM为核心的微处理器作为机器人底层运动控制芯片。
然而,ARM微处理器有几十种架构,几十个芯片生产厂家以及各种各样的内部功能配置,因此开发时需要对芯片做一些对比分析,芯片选型时主要考虑以下几个因素:
1.ARM微处理器内核的选择
不同的内核,适用于不同的应用领域。
如ARM7内核没有MMU,而ARM9内核有MMU。
由于uCLinux等不需要MMU单位,因而可以在ARM7上运行,相反,嵌入式Linux具有MMU,因而可以在ARM9上运行。
2.系统的工作频率
系统的工作频率很大程度上决定了系统处理任务的能力。
但是系统的工作频率越高,其功耗也较高。
因此在实际应用中,需要根据需要来选择工作频率。
3.芯片内存储器的容量
多数的ARM微处理器片内存储器的容量不大,因而需要用户在设计系统时进行外部扩展,但是也有芯片内部有较大的片内存储空间。
因而,用户可以根据需要选择合适的方案。
4.片内外围电路的支持
几乎所有的芯片都有各自不同的适用领域,扩展了相应的外围模块功能,并集成在芯片内部,称之为片内外围电路。
开发人员根据系统设计的需要,选择合适的ARM外围电路,可以大大地降低开发成本,节约开发时间。
基于上述考虑分析,经过全面反复地调查比较,最终选定samsung公司的S3C2440A芯片作为系统的控制器。
S3C2440A是SAMSUNG公司推出的一款16 / 32位RISC微处理器,它为手持设备和一般类型的应用提供了低价格、低功耗、高性能微控制器的解决方案。
S3C2440A采用了ARM920T 的内核,0.13um的CMOS标准宏单元和存储器单元。
其低功耗,简单,且全静态设计特别适合于对成本和功率敏感型的应用。
它采用了新的总线架构Advanced Micro controller Bus Architecture (AMBA)。
S3C2440A的最大特点是其核心处理器(CPU)是一个由Advanced RISC Machines有限公司设计的16/32位ARM920T的RISC处理器。
ARM920T实现了MMU,AMBA BUS和Harvard高速缓冲体系结构构。
这一结构具有独立的16KB指令Cache和16KB数据Cache。
每个都是由具有8字长的行组成。
通过提供一套完整的通用系统外设,S3C2440A减少整体系统成本和无需配置额外的组件。
S3C2440A集成的片上功能主要包括:
l 1.2V内核供电, 1.8V/2.5V/3.3V存储器供电,3.3V外部I/O供电具备16KB的I-Cache和16KB DCache/MMU。
l 外部存储控制器(SDRAM 控制和片选逻辑)
l LCD控制器(最大支持4K色STN和256K色TFT)提供1通道LCD专用DMA 。
l 4通道DMA 并有外部请求引脚。
l 3通道UART(IrDA1.0, 64字节Tx FIFO,和64字节Rx FIFO)。
l 2通道SPI。
l 1通道IIC-BUS接口(多主支持)。
l 1通道IIS-BUS音频编解码器接口。
l AC’97解码器接口
l 兼容SD主接口协议1.0版和MMC卡协议2.11兼容版。
l 2端口USB主机/1端口USB设备(1.1 版)
l 4通道PWM定时器和1通道内部定时器/看门狗定时器
l 8通道10比特ADC和触摸屏接口
l 具有日历功能的RTC
l 相机接口(最大4096×4096像素的投入支持。
2048×2048像素的投入,支持缩放)
l 130个通用I/O口和24通道外部中断源。
l 具有普通,慢速,空闲和掉电模式。
l 具有PLL片上时钟发生器。