介绍下fpga在robot中的应用,大家多交流!
传统的机器人主控板大都是cpu加数字电路做接口,这样硬件改动非常不便,集成度也不高。本人是ic engineer,首先想到的是采用soc的方式设计主控,fpga是个很好的选择,它通过加载不同的bit文件,直接改变其数字逻辑,实时好,改动灵活,抗干扰强,有软件和硬件无法比拟的优势。随着技术的发展和竞争的加剧,fpga的价格也随之下降,如一片SPIII250E的fpga在100元人民币,作为业余机器人爱好者,完全可以接受。其TQFP144的封装,pcb两层板即可布下,这样算下来硬件成本并不高。
fpga除了可以做常规的逻辑设计外,还可以嵌入cpu做数据运算,传统的8051ipcore已经非常成熟,还可通过精简或扩展满足不同的接口需要。xilinx也有一款8bit的cpu,即picblaze,占用资源为192个slic(SPIII250E约2500个slic),指令周期为2个时钟,通常采用50m时钟,即可获得25MIPS的处理速度,本人在robot_007中采用picblaze做28路减速电机的控制,仍显绰绰有余。xilinx的另一款32bitcpu软核microblaze也值得推荐,可以跑linux操作系统,适合做步态控制决策,如果软件较大(如要跑os),必须加片外flash和sdram,需要具备一定的硬件背景方可设计完成。microblaze占用资源为960slic,相当与一片SPIII100E的容量。
PicBlaze Key Feature
• 16 byte-wide general-purpose data registers
• 1K instructions of programmable on-chip program store, automatically
loaded during FPGA configuration
• Byte-wide Arithmetic Logic Unit (ALU) with CARRY and ZERO
indicator flags
• 64-byte internal scratchpad RAM
• 256 input and 256 output ports for easy expansion and enhancement
• Automatic 31-location CALL/RETURN stack
• Predictable performance, always two clock cycles per instruction,
up to 200 MHz or 100 MIPS in a Virtex-4™ FPGA and 88 MHz
or 44 MIPS in a Spartan-3 FPGA
• Fast interrupt response; worst-case 5 clock cycles
• Assembler, instruction-set simulator support
午休涂鸦之做,大家交流指点!
[ 本帖最后由 hs157 于 2007-1-22 01:04 PM 编辑 ]