单片机扩展FPGA应用技术研究

时间:2022-09-23 08:39:30

单片机扩展FPGA应用技术研究

摘 要

单片机自从1971年诞生以来,现今已经获得了极大的发展,其种类之齐全,应用领域之广泛,社会影响之深刻,在数字技术领域中都是独一无二的。其中最为成功的51系列单片机至今还在被广泛的使用着。而随着技术的迅速发展,对于某些要求处理速度快,精确度较高的设计任务,仅仅使用单片机和相关电路模块已经很难完成了。本文主要研究FPGA模块在单片机上的扩展应用问题。

【关键词】单片机 FPGA 扩展应用

1 单片机与FPGA的端口连接

FPGA(Field-programmable Gate Array),也即是现场可编程门阵列,它是在PAL、CPLD等可编程逻辑器件的基础上进一步改进和发展的产物。FPGA的端口资源比较丰富,可外接各类高速ADC/DAC器件、存储器、传感器、驱动电机和显示器等,也正因此,其和单片机在应用上能互相结合,取长补短。FPGA作为单片机的一个扩展模块,其不但可以弥补单片机I/O 端口少的问题,而且可以解决单片机不能直接和各种高速ADC/DAC等器件相连的问题。在扩展方案中,我们可以让高速ADC/DAC等器件直接连接FPGA,然后把FPGA再连接单片机进行控制。单片机扩展FPGA系统中,单片机除了显示模块和键盘模块,不再和其它控制模块直接接触,单片机对其它控制模块的控制都通过FPGA间接完成。需要特别指出的是,单片机的P3.0和P3.1口与FPGA相连的目的是通过串并转换模块以求能扩展更多的数据端口,但是如果P3.0和P3.1口要用于和PC机的串行通信,此时就不能连接FPGA进行端口扩展了。

2 FPGA连接模块的接口安排

由于FPGA的功能和结构特点,其可以较为方便地处理各种并行任务。

(1)数据采集控制。在FPGA模块中,我们一般使用状态机的形式去控制ADC的采样,并实时地将采样数据存入FPGA模块内部的RAM之中,之后单片机在在适当的时候再去读取并处理数据。考虑到FPGA接口数据通道的高速性,我们为了更好地对阻抗进行匹配,同时也为了减少相应的高频干扰,一般应在每一通道线上都串联连接一个小电阻。信号的频率与阻值大小成反比,信号频率越高,阻值就越小,在100MHZ和50MHZ的工作频段内,其对应的串联电阻值一般在20欧-50欧之间。

(2)DAC/ADC信号输出控制。FPGA控制高速DAC/ADC的优势是一般单片机所无法比拟的,因为FPGA能提供高速的数据采集信号。

(3)存储器接口。常用的与FPGA相接的存储器一般有两类,第一类是串行接口存储器,第二类是规模较大的SDRAM或SRAM等动态存储器,我们在FPGA扩展模块中可以利用动态RAM去控制相关模块,其一般可用于作彩色液晶显示器、VGA显示器的缓存或作为软核处理器的内存。

(4)直流电机控制。FPGA可以控制直流电机,但前提是必须通过一个相关的驱动电路。其对于直流电机转速的测定方法有多种,比如光电法、光栅法、模数转换法等。FPGA的功能模块主要包括PWM转速控制模块、电机转速测定模块、转速信号毛刺排除模块、闭环控制模块等。

(5)步进电机控制。FPGA控制步进电机的优势是可以并行产生多通道的SPWM,FPGA通过对它们之间不同相位的控制,从而实现步进电机的细分驱动控制。

(6)显示控制。电路能很容易的实现彩色液晶显示器、VGA显示器和LED显示屏的显示控制。因为这些控制都涉及高速扫描、高速数据传输和高速大容量显示缓存的应用。显然,这些工作如果离开了FPGA,普通单片机是达不到此种效果的。

3 单片机扩展FPGA系统设计步骤和流程

传统的单片机应用系统开发,包括一些扩展模块的应用,从本质上来说都不属于硬件设计概念。因为包括单片机在内的扩展电路,都是现成的集成电路,其引脚、功能和时序性能都是预先确定或本身包含的。从而整个单片机的硬件系统只是各电路器件根据所需要的性能按照各自的接口方式连接起来而已,而真正说得上设计的内容是单片机软件的设计与调试。也正因此,传统单片机系统开发的核心任务就主要集中在软件开发上,即使用一些仿真软件调试也仅是围绕基于软件对CPU和接口硬件模块工作行为控制的测试。

然而以FPGA作为单片机主要扩展模块的系统设计方案与传统单片机系统开发有很大的不同。这是因为这个系统的开发包括基于FPGA的硬件设计与时序功能的测试、基于单片机的软件设计和仿真调试以及软硬件综合构建和调试。其主要步骤如下:

(1)硬件模块设计。我们可以根据设计对象的相关技术指标和设计方案,首先完成扩展器件FPGA中的功能模块的设计,并对其进行相应的时序仿真和硬件测试。即首先完成硬件设计任务,利用时序仿真工具和其他测试工具确保此硬件功能模块工作性能的可靠无误。

(2)控制功能检测。

(3)单片机软件设计。对于直接和单片机相连的键盘接口或简便显示接口,我们可以变写相应的程序,充分发挥单片机控制能力强的优点。

(4)软硬件联调。当单片机的软硬件仿真各自通过后,多项关键指标已经通过考核锁定,我们就可以将单片机与FPGA扩展中的功能模块进行联调,联调时,ADC器件、步进电机、传感器等模块的控制也应综合考虑,必要的时候可以逐个隔离调试,隔离调试成功之后再进行关联工作。

(5)优化系统软硬件功能结构。很多情况下,软硬件工作是可以相互替代的。因此最后的设计方案应根据设计项目的性能指标、成本、功耗、速度、可靠性等要求,综合权衡后确定软件和硬件承担的工作和功能,使设计项目中的软硬件工作得更协调完美。

4 结束语

对于FPGA模块的应用扩展,和单片机来比优点有很多,二者一旦有机的结合起来,形成一个具体的应用电子系统,功能就相当强大,因此,单片机扩展FPGA模块的应用也就比较重要且发展非常迅速。

参考文献

[1]谭浩强.C程序设计[M].北京:清华大学出版社,2003(07).

[2]潘明.黄继业.潘松.单片机原理与应用技术[M].北京:清华大学出版社,2011(01).

作者简介

劳胜领(1982-),男,河南省周口市人。学士学位。现为周口职业技术学院机电工程系助教。研究方向为控制工程。

董会锦(1983-),女,河南省周口市人。学士学位。现为周口职业技术学院机电工程系助教。研究方向为嵌入式系统开发。

作者单位

周口职业技术学院 河南省周口市 466000

上一篇:浅析电力通信技术在电网智能化中的作用 下一篇:基于Proteus的51单片机系统电路设计与仿真