基于单片机与CPLD的综合应用设计

2010-10-27 00:24任安虎张燕
中国科技信息 2010年13期
关键词:键值数码管电平

任安虎 张燕

1.西安工业大学电子信息工程学院 710032 ;2.陕西工业职业技术学院电气工程系 712000

基于单片机与CPLD的综合应用设计

任安虎1张燕2

1.西安工业大学电子信息工程学院 710032 ;2.陕西工业职业技术学院电气工程系 712000

基于单片机与CPLD设计了一个键值采集、显示及与PC通信的综合应用系统。系统硬件由单片机、CPLD及外围电路组成,软件采用C语言和硬件描述语言VHDL编程。可实现上行键值采集、显示,并将采集到的键值数据通过串口送给PC;下行PC发送数据由系统接收,数码管可以显示接收到的数据。该系统工作可靠,在实际设计应用中有一定的参考价值。

单片机;C P L D;通信;数据;工作可靠

引 言

随着电子、计算机技术的飞速发展,单片机与CPLD技术都得到了越来越广泛的应用。单片微型计算机(单片机)自问世以来,因其小巧灵活、成本低、控制能力强、易于产品化等优势,在各领域中得到广泛的应用;但纯单片机系统也有弱点:如低速、低可靠性等。可编程逻辑器件CPLD含有数量众多的可编程逻辑宏单元或逻辑块,能够任意组合,可以根据需要设计成功能各异的逻辑电路;并且可采用VHDL语言编程,加速了产品的开发过程,使逻辑电路的设计变得简单、易于实现;器件的现场可编程,大大地缩短了产品开发周期及方便更新换代;但在信息处理、逻辑分析、决策判断等方面CPLD比不上单片机。因此,可以将单片机与CPLD器件结合,优势互补,组成软硬件都可灵活编程的系统,以适应不断改变的市场需求。

图1 系统框图

图2 单片机与CPLD接口电路

1 系统总体框图

系统要实现采集键值数据、显示,并将采集到的数据通过串口发给PC;另一方面,接收PC发过来的数据,并通过数码管显示接收的数据,框图如图1。

系统将所有的逻辑处理部分都由可编程逻辑器件CPLD实现,单片机选用了PHILIPS公司的内置ISP下载功能的64KB大容量F l a s h存储器和特大R A M的P89C60X2;CPLD采用了ATMEL公司的ATF1508AS[1]。ATMEL公司的ATF1508AS系列CPLD是基于第二代MAX结构体系的高性能E2PROM结构的CPLD。它完全符合IEEE1149.1JTAG边界扫描标准,具有5V ISP的功能;具有最小5nS的引脚到引脚的逻辑时延,最高175.4MHz的计数频率;引脚可配置为开漏输出;每个宏单元都有独立的可编程电源控制,最多可以节省50%的功耗;宏单元内的寄存器具有单独的时钟和复位等信号以及支持多种电压接口。键值由CPLD采集作为数据送给单片机,单片机将收到的数据一方面转换为要显示的数据送给CPLD经译码、位选之后显示;另一方面再由单片机通过串口将数据送给上位机PC。系统通过串口可以接收由PC发来的数据,单片机将数据处理之后送给CPLD经译码、位选之后显示接收的数据。

2 硬件电路设计

2.1 单片机与CPLD接口电路

数据的处理及与PC的通信由单片机完成,逻辑电路部分由CPLD实现包括键值采集和译码显示。具体电路如图2所示[2]。

C P L D采集的键值数据通过keyout0~keyout7送给单片机的A8~A15输入;要显示的数据由单片机的AD0~AD3送给CPLD的a0~a3,位选信号由单片机的AD4输出送给W4IN,经CPLD译码之后显示。

图3 串行通信接口电路

图4 按键及LED显示电路

图5 单片机程序流程图

2.2 串行通信接口

串行通信接口是实现系统与上位机PC通信的通道。RS-232接口是标准总线协议。其总线传输的最大有效距离为15m,最高传输速率约20kbit/s,信号的逻辑0电平为+3~+15 V,逻辑1电平为-3~-15 V。选择了MAX202芯片,它能将RS-232电平转换成TTL电平,也能将TTL电平转换成RS-232C电平。只需单+5 V供电,由内部电平升高电路产生±12V[3]。电路如图3所示。

2.3 按键及LED电路

按键及LED显示电路如图4所示。

依照电路按键是低有效,当有按键按下时对应的位为低,否则为高;数码管显示电路一共有四个数码管,根据显示的需要由位选决定哪个数码管显示。

3 软件设计

系统的软件包括单片机的软件和可编程逻辑器件CPLD的程序。单片机程序用C语言编程,CPLD程序用VHDL语言编写[4]。

3.1 单片机程序设计

单片机主要实现数据处理及与上位机PC通信的任务。具体的程序图如图5所示。

3.2 CPLD程序设计

CPLD主要实现键值的采集和将单片机送来的显示数据经译码进行显示[5],程序实现如下所示。

结 束

本系统利用单片机与CPLD实现了键值采集及显示,并将数据通过串口发向上位机PC;也可接收从上位机送来的数据并显示接收的数据。在设计中充分考虑了单片机与CPLD的互补性。通过实验证实系统工作稳定,在实际的应用中具有很好的参考价值。

[1]毕立恒,刘玉宾. 一种实用单片机和 CPLD最小应用系统的设计[J].自动化技术与应用.2009,28(8):111-113

[2]周立功,夏宇闻.单片机与CPLD综合应用技术[M].北京:北京航空航天大学出版社.2004.

[3] 彭 颖. 基于单片机和CPLD器件的综合系统设计[J]. 电工电气.2009,(5):39-41.

[4]俞宁,朱祥贤,秦晓芳. 基于VHDL语言的MCU与CPLD的接口设计[J].科技创新导报.2009,(25):25-26

[5]田开坤,徐海霞. 基于CPLD的单片机接口设计[J]. 现代电子技术.2008(2):34-36

TP332

A

10.3969/j.issn.1001-8972.2010.13.050

猜你喜欢
键值数码管电平
三电平PWM整流器下的地铁牵引供电系统探讨
微课教学设计之“数码管动态显示”
非请勿进 为注册表的重要键值上把“锁”
Arduino编程
MC9S08FL16单片机数码管静态显示分析
单片机控制的四位数码管动态显示编程
三相三电平PFC(VIENNA)控制策略研究
一键直达 Windows 10注册表编辑高招
三电平H桥逆变器差模干扰源研究
注册表值被删除导致文件夹选项成空白