一种简易数字波形存储器的实现
;
系统中数字部分的逻辑关系均可由GAL来实现,这样不但可使电路得到简化,同时也可以提高系统的可靠性。
b.数字控制电路
图5所示是该系统中数字控制电路的工作原理图。当系统工作于实时显示模式时,CPU首先对所有控制电路进行复位,并使地址计数开始,然后在每一个时钟完成A/D的数据输出、写入RAM和D/A直接输出。直到地址溢出(满屏显示所需数据量)后,再将写RAM地址计数信号禁止,同时给出CPU存储完毕信号。
当系统进行波形锁存时,A/D将停止工作,并将满屏所需的数据量存于RAM中,此后计数器只需给出地址,即可由D/A输出波形。
在进行波形移动时,如果在锁存信号方式的基础上一屏显示未定,那么,CPU将对地址预置数+N(或-N),并会在输出波形后将新的预置数送入地址口线,此时的CPU可再设定下次显示的首地址,这样即可实现波形的左右移动,从而显示出波形的任意一部分。
2系统软件设计流程
本波形存储器系统的主程序分为初始化和键盘管理两部分。图6为其主程序框图。其中初始化模块主要是在系统加电后?完成对单片机系统即外围元件的初始化?如对PS7219初始状态的设定、对定时器和DMA系统初始状态的设定以及为系统变量赋值等。
由74LS148和74LS76组成的8按键键盘管理模块由AT89C51采用查询方式进行处理。为了提高系统的可靠性,此处没有使用中断方式。键盘管理的功能是根据按键的功能号和当前状态来转入相应的状态,并执行有关功能模块,然后进入下一次循环。为了方便键盘的管理,本设计专门开辟了一个8字节的RAM区作为键盘的管理控制区(这样)每次处理键盘服务程序时只须访问此区即可。
3可靠性设计
为了提高本系统的可靠性,本设计还采用了以下几项措施:
(1)采用监控电路。对单片机系统进行监控。笔者在设计时,采用的是MAX813微处理监控芯片,通过该芯片可使程序在进入死循环时能够重新复位,从而保证了软件系统运行的可靠性,同时,在系统软件设计时,笔者还采用了软件看门狗技术。
(2)在可靠性方面。系统初始化时,也已用单片机对所有端口按各子模块要求进行了相应设置。
(3)系统开启后,存储器会首先运行自检程序,以检查存储单元。若发现有连续9个存储单元已坏,则在数码管上显示“-error-”,否则显示“success”。
《一种简易数字波形存储器的实现(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/173142.html
系统中数字部分的逻辑关系均可由GAL来实现,这样不但可使电路得到简化,同时也可以提高系统的可靠性。
b.数字控制电路
图5所示是该系统中数字控制电路的工作原理图。当系统工作于实时显示模式时,CPU首先对所有控制电路进行复位,并使地址计数开始,然后在每一个时钟完成A/D的数据输出、写入RAM和D/A直接输出。直到地址溢出(满屏显示所需数据量)后,再将写RAM地址计数信号禁止,同时给出CPU存储完毕信号。
当系统进行波形锁存时,A/D将停止工作,并将满屏所需的数据量存于RAM中,此后计数器只需给出地址,即可由D/A输出波形。
在进行波形移动时,如果在锁存信号方式的基础上一屏显示未定,那么,CPU将对地址预置数+N(或-N),并会在输出波形后将新的预置数送入地址口线,此时的CPU可再设定下次显示的首地址,这样即可实现波形的左右移动,从而显示出波形的任意一部分。
2系统软件设计流程
本波形存储器系统的主程序分为初始化和键盘管理两部分。图6为其主程序框图。其中初始化模块主要是在系统加电后?完成对单片机系统即外围元件的初始化?如对PS7219初始状态的设定、对定时器和DMA系统初始状态的设定以及为系统变量赋值等。
由74LS148和74LS76组成的8按键键盘管理模块由AT89C51采用查询方式进行处理。为了提高系统的可靠性,此处没有使用中断方式。键盘管理的功能是根据按键的功能号和当前状态来转入相应的状态,并执行有关功能模块,然后进入下一次循环。为了方便键盘的管理,本设计专门开辟了一个8字节的RAM区作为键盘的管理控制区(这样)每次处理键盘服务程序时只须访问此区即可。
3可靠性设计
为了提高本系统的可靠性,本设计还采用了以下几项措施:
(1)采用监控电路。对单片机系统进行监控。笔者在设计时,采用的是MAX813微处理监控芯片,通过该芯片可使程序在进入死循环时能够重新复位,从而保证了软件系统运行的可靠性,同时,在系统软件设计时,笔者还采用了软件看门狗技术。
(2)在可靠性方面。系统初始化时,也已用单片机对所有端口按各子模块要求进行了相应设置。
(3)系统开启后,存储器会首先运行自检程序,以检查存储单元。若发现有连续9个存储单元已坏,则在数码管上显示“-error-”,否则显示“success”。
《一种简易数字波形存储器的实现(第2页)》