您可以添加到网摘 让更多人关注此文章:
Studies of The Application and Development of 8051 IP CORE 摘要:随着片上可编程系统SOPC技术的日趋成熟,利用IP核重用技术设计可定制的微处理系统使得嵌入式系统设计变得简单灵活,本文介绍了8051 IP核的设计过程,提出了以8051 IP核为基础的MCU片上系统解决方案,通过对步进电机的细分控制,验证了IP核重用技术的灵活性。 关键词:8051 IP核,FPGA,步进电机, 细分 【Abstract】Along with the maturing of the technology of system on programmable chip, it becomes more simple and flexible to design Embedded Systems by using hand tailored micro processing system which is designed by IP re-use technology. This paper presents a solution of MCU on-chip system based on 8051 IP core, validates flexibility of IP re-use technology by use of controlling stepper motor subdivision. 【Key words】8051 IP core ,FPGA,stepper-motor,subdivision
引言 随着微电子工艺技术和IC设计技术的不断提高,片上系统(SOC)的规模越来越大,开发具有自主知识产权的IP核(Intellectual Property)具有广泛的应用前景。采用IP核的集成复用技术来设计片上系统,能大幅度减轻设计人员的负担,优化系统设计,尤其在系统开发的前期,利用IP核可以对系统进行整体的功能测试,将模块进行裁减组合以优化选择最终的设计方案。Xilinx的MicroBlaze和Altera的NiosII等CPU核已经为人熟知,而Intel公司的MCS51系列单片机是至今为止应用最普及,最广泛,而且很成熟的微处理器,因此建立8051 的可综合IP 核对于各种嵌入式系统和片上系统的应用具有重要意义。 步进电机是靠给步进电机的各相励磁绕组轮流通以电流,实现步进电机内部磁场合成方向的变化来转动的电脉冲-角位移转换元件。传统的步进电机控制通常使用51硬件芯片控制,受硬件限制较多,且系统缺乏灵活性,无法灵活定制。本设计结合应用,定制了8051 IP核作为主控制模块,接入设计的外围硬件电路, 实现了对步进电机的细分控制。 1.8051 IP核设计 1.1 8051 IP CORE的结构 本设计采用的8051 IP核是在Oregano Systems公司提供的免费8051 IP核的基础上定制。代码用VHDL硬件描述语言编写。结合本设计对步进电机的应用,定制其主要模块:控制单元、算术/逻辑运算单元、输入输出口、16 位的定时/计数器、中断控器、特殊功能寄存器、4 KB的程序ROM、128B的数据RAM 等,而串口,EA,PSEN等口线的设计被裁减掉了,其内部结构框图如图1 所示。
 其组成部分及各部分的功能如下: (1)运算部件模块。主控制器模块控制数据从寄存器和输入端口到ALU,在运算部件中实现数据的算术/逻辑运算。 (2)定时/计数器模块。包含2个定时/计数器,有4种工作模式,与工业标准的8051兼容,但定时时钟频率在内部为clk/16(标准8051是clk/12) 。 (3)中断控制器模块。提供了4个中断源:2个外部中断请求INT0和INT1 ,2个定时/计数器T0和T1的溢出中断请求。 (4)DRAM 数据存储器单元(Data RAM) 。即128 B通用寄存器的RAM 实现,该单元在8051 IP核中用寄存器组来描述实现。 (5)PROM 程序存储器单元( Program ROM) 。片内程序存储器容量为4 KB 可扩充至64 KB ,视需要和所选FPGA 芯片而定。 (6)主控制器模块。它是整个8051 核的控制核心,其中还包括程序计数器PC、堆栈、指令译码器及微指令寄存器等。 1.2 8051 IP CORE设计流程 IP核使用VHDL硬件描述语言编写,将整个系统按模块进行划分,可以进行独立的仿真综合验证,其设计流程图如图2所示:
 (1)首先,根据系统需要定制IP核基本模块,使用Synplify Pro综合器对此IP核进行综合,FPGA芯片选择Altera公司Cyclone系列的EP1C6Q240C8,编译综合成功生成可调用的MC8051_top.Vqm文件,用于在Quartus II环境中生成原理图文件进行调用。 (2)在Quartus II开发环境下,建立此IP核的应用工程,工程名为MC8051_MOTO,在此工程中利用定制我们需要的符合我们所用FPGA芯片的ROM,RAM和扩展RAM,大小分别为4K,128B,和2K。利用QuartusII提供的MegaWizard Plug-In Manager工具定制ROM等存储模块,ROM中的内部结构是由我们编写的软件程序来决定的,将Keil C51编译软件程序,并生成ROM中的内部程序,这种程序是ASCII码或者十六进制形式的文件(.Hex或者.mif)写入的。在工程中建立顶层文件,将生成的8051IP核模块调用,经Quartus II 综合编译后,观看时序分析报告,其最高运行频率为18.05MHz(每次编译都可能不同,I/O 分配不同结果可能不同),因此系统时钟不能超过时序报告的时钟最高频率(即fmax)。在24M的时钟频率下,定制锁相环,使输出频率为18M。 1.3 8051 IP核与传统8051芯片的性能比较 (1)时钟信号输入方式不同,传统8051芯片需外界晶体震荡器,这里直接利用单路的时钟信号即可。 (2)传统芯片中ALE,EA,PSEN等口线在IP核设计中裁减掉了,因为IP核中的I/O口都没有复用,完全使用独立的输入输出方式。总共有64根I/O线,其中P0口可以通过开漏三极管输出变成双向口,P1,P2,P3可以通过上拉电阻实现准双向口,但不具备传统的特殊功能引脚。 (3)传统8051芯片的定时时钟频率为CLK/12,而8051IP核的定时时钟频率为CLK/16,且定时器可扩展,最多可以扩展到128个。 (4)8051 IP核设计了独立的串口读写控制传输引脚,可以通过此独立串口与外界通信。 (5)8051 IP核ROM和RAM的设计,利用Maxplus II或QuartusII提供的MegaWizard plugin Manager工具,该工具所提供的RAM和ROM例化设计文件,实现了128B内部RAM和4KB内部ROM模块,其中ROM模块是一个空结构实体,在有内部程序时换成相应的结构,内部程序必须以ASCII码形式或十六进制形式的文件(.mif文件)写入。 (6)8051IP核的目标代码与工业标准的8051微处理器兼容,但其多数指令周期只有4个时钟周期,比标准8051指令要快。
[1] [2] 下一页
|