微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > FPGA和CPLD > 基于MCU+CPLD的新型光栅数显系统设计

基于MCU+CPLD的新型光栅数显系统设计

时间:11-08 来源:互联网 点击:
4.2 EEPROM选取

当MCU对EEPROM的写操作完成后,EEP-ROM需用10 ms的最大自写入时间将信息写入存储单元。为了使用更多的时间用于EEPROM自写入,选用低压EEPROM,即AT24C64—2.7 V,其工作电压为5.5 V~2.7 V,容量为64 KB,每页为32 B,最大写入次数为1 000 000。

4.3 掉电时间计算

选用工作电压为4.5 V~5.5 V的STC89C516RD,当电源电压降至4.5 V以下时,MCU不能可靠工作。MCU的INT0的中断服务程序只能使用电源电压从4.8 V降至4.5 V的这段时间,所有处理必须在该段时间内完成。因此中断程序设计时应尽量考虑使其执行时间最短,中断应先将所有存储的数据存入一个数组,然后将该数组的所有元素写入AT24C64,当然该数组的元素数必须小于AT24C64一页的长度.即必须小于32 B。

当输出电压为5 V时,最大电流为,Imax=0.8 A,等效负载R=5/I=6.25 Ω,与5 V电源并联的电容C=4700μF,则系统时间常数为丁:τ=RC=0.029 s。设发生掉电t=0,根据公式u(t)=Vcc exp(一t/τ)=5 exp(一t/0.029)可知:t=1 183 μs时,电源电压Vcc从5 V降至4.8 V;t=3 055μs时,Vcc降至4.5 V;t=17 869μs时,Vcc降到2.7 V。MCU的中断服务程序时间为3 055-1 183=1872μs,故大于实测中断服务程序时间1 350μs;EEPROM自写入有效时间为17 869-3 055=14 814μs,故完全满足EEPROM写入要求。

4.4 中断服务程序

为了避免MCU频繁写入EEPROM,使用次数超出最大有效写入次数。中断程序对中断输入引脚上的电平进行必要滤波。滤波算法为:系统进入中断程序后,首先关闭中断,然后连续10次判断INT0的电平,如果每次判断得到的电平值都为低,则继续往下执行中断服务程序,只要有一次为高则立即退出中断服务程序。完成写入数据,要确保INT0上的低电平解除后再返回中断,否则等待,直至低电平解除。中断服务程序流程图如图5所示。



5 结束语

详细介绍光栅数显系统设计,采用CPLD可大大简化系统硬件设计,降低系统成本,增强系统可靠性和灵活性。选用STC89C516RD,可避免扩展外部存储器,从而简化单片机的外围电路设计。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top