AVR AT90S1200 IP核设计及其复用技术
AVR8位微处理器AT90S1200IP核由opencores。org提供。整个微处理器IP核包括ALU、PC、SRAM、IR、ROM、I/0,控制等”个模块,可以分成3个单元;取指单元、执行单元和I/0单元。指令执行时,取指单元负责取出下一个指令,执行单元负责执行当前指令,而LO单元负资和外界的连接。取指单元和执行单元组成微处理器的CPU。
整个AVRIP核包括许多寄存器:指令寄存器、指令备份寄存器、程序计数器、通用寄存器、存储地址寄存器(MAR),1/O口控制寄存器等。整个系统的工作就是基于这些寄存器之间的数据传输。设计所有的寄存器以及它们之间的组合逻辑及其连接就是系统的数据通道设计。控制模块决定怎样进行寄存器传愉。数据通道和控制单元组成了整个微处理器。
对于AT90S12001P核复用,考虑到IP核在SOC中集成整合,首先须彻底了解所复用核的架构和指令集,借助ModelSim进行功能仿真,建立Testbench平台测试波形验证功能的正确性,如图3所示。编译无误且功能正确后借助Synplify Pro对IP核饰代码进行逻辑综合,如果VHDL程序正确无误并且其编程风格符合Synplify Pro综合要求,Synplify Pro将产生一个网表文件(。EDF文件),再借助QuartusA4。0和ModelSim分别进行FPGA验证和时序验证,此过程不断循环,直至复用的微处理器IP核没有任何错误。
图3 AVRIP复用测试平台Testbench框图
4 FSPLC微处理器核SOC设计
4.1 SOC硬件结构
根据FSPLCSOC系统功能定义,设计完成FSPLC微处理器硬件结构,如图4所示。
图4 FSPLCSOC硬件结构框图
FSPLCSOC由AT90S1200、布尔处理器BP、存储器位接口MBI、逻辑处理器LP,CAN总线1。0接口CBI、底板总线接口BBI等6个模块组成。AT90S1200模块是SOC的核心,实现PLC指令的执行;BP模块由两个位累加器和一个位逻辑堆浅BLS组成,该结构可以有效处理IEC61131-3(国际电工委员会制订的基于Windows编程语言标准)PLC指令表语句中复杂的嵌套逻辑运算,使运行频率最高的位指令达到最大的执行速度;存储器位接口模块由一个存储器位寻址接口逻辑和一个8选1选择器组成,为布尔处理器和数据存储器之间的位访间接口;CAN总线1。0接口CBI模块和外部基于Atmega8515的USB-CAN适配器相连,通过此适配器FSPLC可以和其他带有CAN接口的PLC实现CAN通讯;通过底板总线接口BBI模块可以在FSPLC片外扩展模块,最多可以达到8个,包括I/0扩展模块、AID模块、D/A模块、计数模块等。其中AT90S1200,MBI,LP,CBI,BBI模块通过内部总线连接,BP通过MBI模块转换实现和其他模块的连接。
4.2 FSPLCSOC仿真、综合、验证
由于SOC设计是一种面向IP核集成的设计,整合后的SOC模块同第三方IP核复用一样需要进行模块的仿真、综合和验证。FSPLC SOC同复用AT90SI200核一样借助ModelSim进行功能仿真和验证后时序仿真,借助Synplify Pro进行综合。
下面具体描述FSPLCSOC的验证,SOC设计中包含了系统设计和模块设计,因此SOC验证一般包含了模块验证、芯片验证和系统验证三个部分。由于FSPLCSOC涉及到的主要是数字IP核,文中采用Altera NioslI开发板作为设计的验证平台,该开发板带有一个20多万门的Altera EP20K200EFC484-2的FPGA芯片、拨码开关、数码显示器等,用一个实际PLC应用程序在此开发板上对FSPLCSOC进行了可行性验证,同时通过对AVR编译器Avral。0的编译代码变量中增加PLC指令代码,使之能够对PL(:指令进行编译。图5,图6分别为PLC控制程序的梯形图及其汇编程序。
图5 PLC控制程序的梯形图
开发板的拨码开关SWl的1、2、3、4来模拟上述开关的闭合,观察数码显示器Dl数码段明暗,验证设计的可行性。FSPLCSOC在Altera Nios开发板的FPGA芯片上进行了可行性验证,获得了理想的运行效果:在33MHz晶振下,执行基本逻辑指令速度为0。09μ/条,达到了国际上大中型PLC的处理速度。
图6 PSPLC汇编程序
5 结束语
目前IC产业中,SOC已成为最主要的集成电路设计方法8位RISC微处理器芯片设计正在向SOC化发展,通过IP核复用方法以缩短周期、降低成本、提高效率。文中基于IP核复用和SOC技术借助ModelSim、Synplify Pro、QuartusⅡ等EDA软件设计了拥有自主知识产权的专用PLC微处理器SOC模块FSPLC,在复用了第三方AVRAT90SI200IP核基础上集成了自行设计的LP、BP、MBI、CBI、BBI等模块,具有快速处理PLC梯形图程序、快速处理IL语句表中复杂的嵌套逻辑运算、PLC之间CAN总线通讯等优点。最后采用Altera NiosII作为验证平台,对实际的PLC应用程序做了可行性验证,获得了理想的效果。
- Flash损耗均衡的嵌入式文件系统设计(06-01)
- 锁相环控制及初始化简析(08-27)
- 基于AVR单片机的ISP1362OTG设计(09-06)
- 基于AVR单片机的串口转FSK的通信模块设计(01-23)
- 案例分析:基于AVR32的隧道环境监测系统(03-18)
- 科技帮我们远离灾难:灾难检测飞行器(03-18)