崔秀敏+朱向荣
摘 要:单片机具有逻辑控制功能灵活、成本低、易于产品化等优点,但单片机作为控制核心,硬件连线复杂、可靠性差,实际应用中需要外加扩展芯片,增加控制系统的体积;CPLD具有集成度高、可靠性好及工作速度快、与外围电路接口方便的优点;两者的组合使用,能够充分发挥两种器件各自的优点。该文就是基于此提出了单片机与CPLD协处理的研究及实现方法。
关键词:CPLD 单片机 协处理
中图分类号:TP910 文献标识码:A 文章编号:1672-3791(2016)12(b)-0043-02
单片微型计算机(单片机)自问世以来,因其小巧灵活、成本低、控制能力强、易于产品化等优势,在社会各领域中得到广泛的应用。然而,随着信息时代的到来,传统单片机固有的结构缺陷,使其呈现出诸多弊端, 单片机的端口数目、内部定时器和中断源的数目都有限,在应用中往往要加外围扩展芯片,这就增加了系统硬件的复杂程度;若选择CPLD作为系统控制核心,不仅可以简化系统设计,而且提高了系统的整体性能和系统稳定性,但若单独通过CPLD完成整个系统的控制功能,则需选用内部容量大,可用门数多的CPLD器件,这势必使系统功耗和成本都有所提高,而且控制时序的实现也相当复杂,应用者开发起来比较费力。该文提出一种基于CPLD与单片机技术的协处理方法。
1 硬件组成
该设计中单片机采用Atmel公司的89S52,CPLD采用XILINX的XCR3256XL;电源采用9 V的交流或直流电源,经LM7805稳压,为开发板提供5 V的直流电源;外部数据存储器扩展采用了一片6264;通过两片74LS377扩展了16个输出I/O;开发板设计了一路RS232接口,可以通过单片机的串口与PC机进行通信。A/D转换电路利用了ADC0809来实现。如框图1所示。
对于简单的项目,可由单片机或CPLD单独完成。对于复杂项目,可由单片机和CPLD联合完成。CPLD与单片机双向通信,由单片机作为主控制器,处理各种信息。接收用户操作指令并控制各个电路进行工作。其与RS232接口芯片相连,可与PC及其他设备进行串口通信,其Po和P213与CPLD相连,并可以通过CPLD进行接口扩展控制更多的外部电路。
2 软件实现
CPLD可选用ISE软件,采用VHDL或Verilog语言编程,编译成功后,通过Xilinx并口下载线下载到芯片中即可;单片机部分可选用通用的Keil软件,将程序编译成.HEX或.BIN后,下载到单片机芯片中即可。下载软件可选择网上流行的免费软件Easy51Pro。
3 应用测试
利用CPLD和单片机协处理开发板设计一显示模块来验证协处理的功能。其接线图如图2所示。
单片机的外部数据输出时序如图3所示,该时序是51单片机在执行MOVX @DPTR,A时的接口时序,为使协处理器接收来自单片机的数据,其必须实现:
(1)在ALE下降沿锁存P0口的低8位地址和P2口的高8位地址;
(2)在WR的下降沿锁存P0口的8位数据;
(3)比較16位地址是否与指定的显示缓冲区地址相同,若相同,将数据存入显示缓冲区;
(4)利用动态显示技术控制将缓冲区中的数据显示在数码管上。
在51单片机上定义协处理的显示缓冲区地址为0020H和0021H,编写程序如下:
MOV DPTR,#0020A
MOV A,#34H
MOVX DPTR,#0021H
MOV A,#12H\
MOVX @DPTR,A
在Keil C51环境中编译成功,通过一个集成开发环境(μVision)下载到89S52中。
CPLD部分采用VHDL语言编程。其框图如图4所示。
在ISE环境中,编译,仿真,符合设计要求,下载到芯片中,结果如图5所示。
利用协处理器,开发板上显示结果正确,比较不用该协同设计技术实现相同功能,51单片机程序简单,运行速度提高。
4 结论
单片机+CPLD可以作为电子系统设计的一个框架,单片机智能控制灵活、逻辑运算能力强,可以实现复杂智能的控制与检测;CPLD集成度高、运算速度快,可以实现灵活多变的外围扩展电路设计,尤其是可以用硬件实现特殊的单片机无法实现的功能,相互弥补,使设计的系统具有结构紧凑、体积小,可靠性高等优点,完全能够达到设计者的要求。
参考文献
[1] 王振红,李洋.由可编程逻辑器件和单片机构成的双控制器[J].电子技术应用,2002(1):79-81.
[2] 潘松,黄继业.EDA技术与VHDL[M].北京:清华大学出版社,2005:13-67.
[3] 陈云洽,保延翔.CPLD应用技术与数字系统设计[M].北京电子工业出版社,2005:47-98.