新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 基于CPLD的汽油机点火参数测量仪的研制

基于CPLD的汽油机点火参数测量仪的研制

作者:时间:2012-10-30来源:网络收藏

1.2 控制电路的设计

控制电路的核心为AT89C52,如图3所示。控制电路要完成的任务是:(1)上电后,完成的配置加载。FLEX10K系列共有4种加载方式,这里采用主动串行方式,由AT89C52的引脚P1.5控制和已写入配置数据的串行EPROM(27E512)完成配置。(2)完成采样频率的控制,由AT89C52控制时间合成芯片MC12429来实现,其输出频率为25~400MHz。每次采样前,用户可手动输入采样频率,由AT89C52的P0.0~P0.7脚输出M[8..1]的值,P1.0脚输出由低到高的信号,将此值锁存。(3)控制A/D转换的使能。当频率设定好后,用户按下采样键,AT89C52的P1.1输出采样使能信号SMEN,当采样开始信号SMST到来后,采样就开始进行。(4)与的通讯。图3中,AT89C52的P0.0~P0.7与CPLD的8个I/O引脚相连,实现AT89C52与CPLD之间的数据通讯。它们之间的控制信号有读取数据时钟信号RDCK(P1.2)、输入/输出控制信号I/O(P1.3)、CPLD选通信号PLDCE(P1.4)和CPLD发出的中断信号INT(INT0)。

1.3 高速采集器与低速控制器的接口

CPLD要在AT89C52的控制下完成相应的功能,必须为两者之间建立一定的信号联系,使CPLD能够辨别AT89C52发出的命令并去执行相应的任务。本测量仪CPLD与CPU之间的通讯要实现的功能有:采样频率的确定,采样结果的读取,状态信息的读取。AT89C52输入数据的编码如表1所示。其中状态信息包括:三位按键状态位(0—按下,1—没按下)、两片AD输入是否超出范围状态表示位(0—超出范围,1—没超出范围)、一位采样状态位(0—采样完成,1—正在采样或没开始采样)。

表1 CPLD与AT89C52之间的通讯编码

D7 D6 D5 D4 D3 D2 D1 D0 含 义
X X X X X X 0 0 一分频
X X X X X X 0 1 二分频
X X X X X X 1 0 四分频
X X X X X X 1 1 八分频
0 0 0 0 X X X X 读状态信息
0 0 0 1 X X X X 读点火提高前角低8位
0 0 1 0 X X X X 读点火提前角第二个低8位
0 0 1 1 X X X X 读点火提前角高7位
0 1 0 0 X X X X 读转速低8位
0 1 0 1 X X X X 读转速第二个低8位
0 1 1 0 X X X X 读转速第三个低8位
0 1 1 1 X X X X 读转速高2位
1 0 0 0 X X X X 读电流低8位
1 0 0 1 X X X X 读电流高2位

2 控制程序设计

为了实时显示点火系统的工作状态,对于转速和点火提前角,控制电路采用查询的方式从CPLD取得转速和点火提前计数器的计数值。对于点火电压、电流数据则采用中断方式取得,即采样和A/D转换完成后,CPLD向控制电路发出中断,控制电路再通过CPLD从SRAM中取得数据。

2.1 主程序的设计

控制电路加电或复位后,AT89C52就开始执行主程序,流程图如图4所示。CPLD在上电后,配置完成前,CONF_DONE(如图3所示)引脚被CPLD下拉为低电平。一旦CPLD配置成功,CONF_DONE引脚被CPLD释放,由上拉电阻接到高电平。所以,控制电路加电或复位后,只要发现CONF_DONE引脚为低电平时,就对CPLD进行配置。初始化的任务是特殊功能寄存器的初始化、CPLD内触发器的清零和置1、默认采样频率的设置以及液晶的初始设置。



评论


相关推荐

技术专区

关闭