电话系统智能去电控制器的设计(论文+电子通信类英文文献翻译) 第17页
第4章 电路的软件设计
4.1 软件程序内容
模块化程序设计方法,归根结底是设计出性能优良的计算机程序,这种方法根据所要完成的程序设计任务,将总体任务分成几个易于实现的子程序模块,然后将这些子程序模块有机的组合起来,得到所需要的程序。实践证明:用模块化程序设计方法设计出来的程序,与用其他方法设计出来的程序相比,不仅效果好、代价小;而且易于阅读、理解、修改、调试、验证、文护和移植,是控制程序流程的主体程序结构。模块化程序设计方法的特点,就是在程序设计全过程中,必须使计算机算法与程序的控制结构完全实现结构化。
根据程序模块化思想,本设计的软件程序包括主程序、去电信号发生子程序、键盘子程序、黑白名单区分子程序、模数转换及去电输出接口程序和延时子程序等。另外由于电路中有多个按键,还另外设计了防抖动程序来防止干扰。
由于计算机系统软件的进步和飞速发展,在系统设计中,耗用了大量的开发时间,充分发挥软件功能,尽可能扩展软件的应用范围,这就相对地简化了硬件结构,降低了成本,提高了系统的性能。根据系统的设计情况,软件设计应具备如下功能:
(1) 系统初始设置。设置系统各芯片工作方式,包括89C51内部定时计数器工作方式和8255A三组I/O口输出、输入方式;
(2) 键盘读入;
(3) 模数转换;
(4) 黑白名单区分;
(5) 去电信号输出;
考虑到系统欲实现的较快的运行效率和较高的实时性要求,系统软件未采用C语言编程,而是全部采用汇编语言编制,节约了硬件资源,同时提高了系统的实时性。
采用软件编程的方法来产生去电信号,即将去电信号的一个周期波形量化,编程数组放在存储器中,输出时按照顺序调来产生去电信号,这比传统的对去电信号进行硬件滤波来实现白名单去电输出的方法节约了硬件资源,降低了成本,提高了系统的性价。
4.2 软件总体流程图
软件程序总体流程图如下:
图4-1 软件总体流程图
4.3 去电信号产生子程序
产生频率周期变化的去电信号实际上就是由一个单一稳定的频率源进行分频或混频来实现的。因为该系统所产生的去电信号范围主要集中在低频段,所以在去电信号产生方面系统采用了DDS(直接数字频率合成)技术:用随机读写存储器RAM存储所需去电信号的量化数据,按照不同频率变化要求以频率控制字K为步进,对相位增量进行累加,以累加相位值作为地址码读取存放在存储器内的去电信号数据,再经过D/A转换和滤波即可得到所需去电信号。由于系统实现的去电范围为低频,而且89C51的晶体驱动频率高达12MHz,要实现这一频率段无需太多采样点,采用固定的64个采样点即可满足要求。通过软件计算,将去电输出信号频率值转换为采样点的输出间隔时间,用89C51内部的计数/定时器1代替相位累加器实现相位累加功能,并为使输出频率范围达到最大,采用定时计数的方式1,即使之成为16位累加器。对不同频率值计算并改变计数器重装的初值,借以改变计数器溢出周期。实现控制全部采样点的输出周期,从而改变去电信号频率。
直接数字式频率合成技术是根据去电信号的特点、Nyquist 取样定律及数字计算技术,把一系列事先对模拟去电信号抽样得到的数字去电信号存于存储器中,再通过数/ 模转换成模拟信号,在时域中来实现频率合成。因此,它又被称为波形合成技术。
DDS基本工作过程如下:模数为 的相位累加器,在时钟 的控制下,将频率控制字K进行累加,对每个时钟脉冲,相位累加器在原值基础上加K,满量(即到2n) 后,以剩余数为基础重复进行K的累加过程,累加器的输出作为去电信号查询表的地址,去电信号查询表内所存储的内容是相应的 的值。其中R 为相位累加器的内容,去电信号查询表的输出经DAC 变换在经过滤波后就得到所需要的去电输出信号。
依靠DDS技术,即将去电信号的一个周期量化,编程数组放在存储器中,输出时按照顺序调用的超低频系统,这比传统的对去电信号进行硬件滤波来实现白去电信号输出的方法节约了硬件资源,降低了成本,提高了系统的性价比。
去电信号发生子程序的流程图如下所示:
图4-2 去电信号发生子程序流程图
4.4 黑白名单区分子程序
这部分程序完成对黑白去电信号的区分。黑去电信号和白去电信号分别用不同的频率段区分,这样只需对去电信号进行频率区分即可区分黑白名单信号。
<< 上一页 [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] ... 下一页 >>
电话系统智能去电控制器的设计(论文+电子通信类英文文献翻译) 第17页下载如图片无法显示或论文不完整,请联系qq752018766