基于CPLD的电话计时计费系统.docx

上传人:b****6 文档编号:6780046 上传时间:2023-01-10 格式:DOCX 页数:39 大小:956.90KB
下载 相关 举报
基于CPLD的电话计时计费系统.docx_第1页
第1页 / 共39页
基于CPLD的电话计时计费系统.docx_第2页
第2页 / 共39页
基于CPLD的电话计时计费系统.docx_第3页
第3页 / 共39页
基于CPLD的电话计时计费系统.docx_第4页
第4页 / 共39页
基于CPLD的电话计时计费系统.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

基于CPLD的电话计时计费系统.docx

《基于CPLD的电话计时计费系统.docx》由会员分享,可在线阅读,更多相关《基于CPLD的电话计时计费系统.docx(39页珍藏版)》请在冰豆网上搜索。

基于CPLD的电话计时计费系统.docx

基于CPLD的电话计时计费系统

基于CPLD的电话计时计费系统

摘要:

伴随互联网通信技术的飞速发展以及人们生活水平的提高,通讯设备趋向于高端化和智能化。

但固定电话面对如此冲击并未功成身退,反而在面对诸多不可抗力因素中,体现出了其重要的实用价值。

本系统采用EDA技术作为开发方式,以VHDL作为编程语言,以复杂可编程逻辑器件CPLD的为核心,采用自顶向下的模块化设计电话计时计费系统的。

本系统基本实现国际长途电话(IDD)、国内长途电话(DDD)、市内电话及特殊服务电话等的自动计时、计费。

具有停电能继续工作8小时以上的功能(利用计费器内的充电干电池)同时具有超限额报警的功能。

本系统核心控制部分主要分为六个大的功能模块,键盘输入、启动控制、分频、计时、计费提示及显示驱动。

 

关键词 EDA;CPLD;VHDL;电话计时计费

TelephonetimebillingsystembasedonCPLD

Abstract:

AlongwiththerapiddevelopmentofInternetcommunicationtechnologyandtheincreaseofpeople'slivingstandard,themobilephone,communicationsequipmenttendtohigh-endandintelligent.Butfixedtelephonewithsuchimpactdidnotretire,butinthefaceofmanyfactorsofforcemajeure,reflectstheimportantpracticalvalue.

ThesystemusestheEDAtechnologyasdevelopmentwaytoVHDLasprogramminglanguage,tocomplexprogrammablelogicdeviceofCPLDasthecore,andadoptingthetop-downthemodulardesignofthetimingofthetelephonebillingsystem.

Thebasicsystemtorealizeinternationallongdistancetelephone(IDD),domesticlongdistancetelephone(DDD),localcallandspecialservicephoneetcautomatictimer,billing.Hasthepowerblackouts,continuetoworkeighthoursabovefunctions(usingthemessageaccountingdeviceinsidethedrybatteriescharge)andhasChaoXianEalarmfunction.

Thissystemmainlydividedintosixbigfunctionmodule,thekeyboardinput,startfrequencyandtimecontrol,points,billingtipanddisplaydrivers.

Keywords:

EDA;CPLD;VHDL;Telephonetimingandbilling

 

目录

基于CPLD的电话计时计费系统I

TelephonetimebillingsystembasedonCPLD2

第1章绪论1

1.1课题背景1

1.2目的和意义2

1.3研究现状2

1.4可行性分析2

第2章系统开发工具简介3

2.1QuartusII简介4

2.2VHDL语言简介4

2.3Protel99SE简介5

第3章系统硬件分析与设计5

3.1硬件电路系统5

3.2核心CPLD模块6

3.1.1主要功能6

3.1.2芯片选择6

3.3液晶显示模块7

3.3.1主要功能7

3.3.2引脚分布及连接7

3.44*4键盘模块8

3.4.1主要功能8

3.4.2引脚分布及连接8

3.5JTAG接口模块8

3.5.1主要功能8

3.5.2引脚分布及连接9

第4章系统软件实现、仿真及结果分析9

4.1键盘输入模块9

4.1.1键盘输入实现过程9

4.1.2键盘输入模块及其仿真10

4.1.3键盘输入模块仿真结果分析11

4.2启动控制模块11

4.2.1启动控制实现过程11

4.2.2启动控制模块及其仿真12

4.2.3启动控制模块仿真结果分析13

4.3分频模块14

4.3.1系统分频实现过程14

4.3.2分频模块及其仿真15

4.3.3分频模块仿真结果分析15

4.4计时模块16

4.4.1计时实现过程16

4.4.2计时模块及其仿真16

4.4.3计时模块仿真结果分析17

4.5计费模块17

4.5.1计费实现过程18

4.5.2计费模块及其仿真19

4.5.3计费模块仿真结果分析20

4.6显示驱动模块20

4.6.1显示驱动实现过程20

4.6.2显示驱动模块及其仿真22

4.6.3显示驱动仿真结果分析22

4.7顶层实体连接23

第5章系统的软件及硬件调试23

5.1系统软件调试23

5.2系统硬件调试26

结论27

致谢28

参考文献29

附录1程序代码30

附录2硬件电路原理图39

附录3硬件PCB板40

第1章绪论

1.1课题背景

随着国内、国际电信技术的迅速发展和广大用户自身权益的意识不断增强,人们对各种计费系统的需求越来越多。

计费系统按照规模的大小可分为大、中、小三类。

大型计费系统用于局域交换机,这种交换机自身的软件就有计费的功能,这种计费系统不是在一次通话结束后就立即产生话单,而是对交换机的通话记录进行处理以产生话单。

交换机的通话记录包括如下几项:

主叫号码,被叫号码,通话日期,话始时间,通话时长,中继线号。

中型计费系统用于用户交换机,这种交换机容量只有几百门,有的交换机自身拥有计费系统,有的则没有。

这种交换机从串口送出数据,让计费系统处理。

小型的电话计费系统,多路公用电话计费系统等。

这种小型电话计费系统一般不会超过64路。

目前在中国电信市场上,各大运营商充分利用现有网络资源和政策优势,发展IP电话超市、话吧,以拓展各运营商的电话市场。

电信计费系统经理了三个历史发展阶段:

第一个阶段是“脱机磁带计费”。

但是由于话单采集功能不完善,计费数据需要定期由交换机导入磁带中,再由磁带导入计算机开始计费,实时性非常差。

第二个阶段是“联机实时计费”。

话单采集功能逐步完善,原则上只要交换机产生话单,计费系统可以立即一句标准费用进行计费,实时性强,极大地提高了运营商的防欺诈能力。

第三个阶段是“个性化服务计费”。

随着竞争的激烈,市场提出了“个性化服务”的要求,客户可以定制需要的服务及计费规则。

为了适应这种变化,电信计费系统不得不由“面向号码段计费”改为“面向客户计费”。

由于大规模和超大规模数字集成电路技术、数据通信技术与单片机技术的结合,电话计时计费系统发展进入了智能化和微型化的新阶段。

从传统的语音计费到数据计费,直到新兴的互联网新业务计费,电信计费系统需要处理的业务种类越来越多。

但是无论业务种类如何增加,其计费所要进过的环节是相似的。

从结构上说,在按照标准资费计费之前,各种业务种类是单独处理的,称之为专业计费,其技术关键是速度性能;而在需要借个客户订购信息进行优惠计费时,由于各业务种类之间有可能存在交叉优惠,所以采用综合业务处理的方法,其技术关键是业务种类的可扩展性、优惠设置的灵活性以及处理的速度性能。

从技术角度讲,计费系统的实现存在两种倾向,一种是体现集成能力,系统实现上大量采用成品系统软件,如数据库、通讯中间件等,以提高系统的可扩展性和灵活性,同时也降低开发难度;另一种是体现开发能力,系统实现上尽量采用自制模块,包括某些数据库功能也通过文件系统区模拟实现,以提高系统的处理能力。

1.2目的和意义

电话计时计费系统可准确完成通话过程中不同种类的话费和时间的统计。

通过毕业设计能够帮助学生初步建立起工程的概念,加深本科阶段所学知识的理解和应用,通过把多门课程有机地结合起来以达到综合、全面运用本科阶段所学知识的目的。

此外,本毕业设计内容对锻炼个人的实践动手能力、资料检索与查阅的能力有着重要的作用。

1.3研究现状

电话计时计费系统是数字电路中的一个典型应用,是各种计费系统的综合表现。

电话计时计费系统作为常见的应用型电路,其发展趋势主要如下:

从以前的磁带记录式电话计时计费系统逐步转变为数字芯片实时记录式电话计时计费系统。

这样的转变使得电话计时计费系统的设计更趋于自动化、智能化。

现在的电子产品主要是采用EDA技术和单片机技术作为核心控制系统,辅以外围电路,制成高端数字化产品。

EDA技术是以计算机为工具,在EDA软件平台上,根据硬件描述语言VHDL完成设计文件,自动地完成逻辑编译、化简、分割、综合及优化布局线、仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。

1.4可行性分析

FPGA/CPLD是高密度现场可编程逻辑芯片,CPLD和FPGA的主要区别是他们的系统结构。

CPLD是一个有点限制性的结构。

这个结构由一个或者多个可编辑的结果之和的逻辑组列和一些相对少量的锁定的寄存器。

这样的结果是缺乏编辑灵活性,但是却有可以预计的延迟时间和逻辑单元对连接单元高比率的优点。

而FPGA却是有很多的连接单元,这样虽然让它可以更加灵活的编辑,但是结构却复杂的多。

单片机技术设计电话计时计费系统是现阶段电子产品开发时采用的主要技术,它在今后的一段时间内仍然占据着主导地位单片机设计电话计时计费系统的优点包括:

集成度高;系统结构简单,性价比高;系统扩展方便;抗干扰性能强:

速度快;兼容性好。

电话计时计费系统借助于EDA工具FPGA/CPLD进行开发有很大的优越性:

编程方式简便、先进;高速;高可靠性;开发工具和设计语言标准化,开发周期短;功能强大,应用广阔。

这样的优点使得电话计时计费系统的设计变得简单。

但同时,采用EDA技术开发电话计时计费系统存在一个缺点:

对电路进行逻辑综合优化时,最终设计和原始设计在逻辑实现和时延方面有一定的误差,这样使得电话计时计费系统的测量精度受到很大影响。

因此EDA技术还需要不断地改进,以解决在计时时存在的问题,适应电子产品的要求。

但肯定的是,用EDA技术进行电子产品的设计、开发是有很大发展前景的。

考虑到系统的可实施性和未来系统的可拓展性,最终选择以CPLD为基础设计电话计时计费系统。

通过对系统的设计要求进行分析,我们可以得出系统有以下特点:

(1)需要对资费类型进行判断,以区别国际长途电话(IDD)、国内长途电话(DDD)、市内电话及特殊服务电话。

(2)需要对精准时钟进行有效计数,以满足系统对用户通话时长的记录。

(3)需要依照资费类型和通话时长记录,对用户余额进行对应扣除,同时需要注意用户挂机时的计费。

(4)需要对用户余额进行实时显示,以及低于某一值时驱动报警电路发出声音,提醒用户及时充费。

第2章系统开发工具简介

本系统主要是利用Altera公司的QuartusII和Altium公司的Protel99SE开发而成,软件部分利用QuartusIIdesign开发,VHDL语言;硬件采用Protel99SE完成PCB板的元件布局和覆铜板布线。

下面对这套系统的技术环境进行详细介绍:

2.1QuartusII简介

AlteraQuartusII作为一种可编程逻辑的设计环境,由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。

QuartusII是用于system-on-a-programmable-chip(SOPC)的设计环境。

QuartusII提供完善的timingclosure和LogicLock™基于块的设计流程。

QuartusII是唯一一个包括以timingclosure和基于块的设计流为基本特征的PLD的软件。

QuartusII设计软件改进了性能、提升了功能性、解决了潜在的设计延迟等,在工业领域率先提供FPGA/CPLD与mask-programmeddevices开发的统一工作流程。

Altera的QuartusII可编程逻辑软件属于第四代PLD开发平台。

该平台支持一个工作组环境下的设计要求,包括支持基于Internet的协作设计。

Quartus平台与Cadence、ExemplarLogic、MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。

改进了软件的LogicLock模块设计功能,增添了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力。

2.2VHDL语言简介

VHDL全名Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage,VHDL和Verilog作为IEEE的工业标准硬件描述语言,得到众多EDA公司支持,在电子工程领域,已成为事实上的通用硬件描述语言。

VHDL具有功能强大、设计灵活;支持广泛、易于修改;强大的系统硬件描述能力;很强的移植能力;易于共享和复用等特点。

与其他的硬件描述语言相比,VHDL语言的优势有如下几个方面:

(1)VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。

强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。

(2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。

(3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。

符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。

(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。

(5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。

2.3Protel99SE简介

PROTEL是Altium公司在80年代末推出的EDA软件,在电子行业的CAD软件中,它当之无愧地排在众多EDA软件的前面,是电子设计者的首选软件。

它包含了电路原理图绘制、模拟电路与数字电路混合信号仿真、多层印制电路板设计(包含印制电路板自动布线)、可编程逻辑器件设计、图表生成、电子表格生成、支持宏操作等功能,同时还兼容一些其它设计软件的文件格式,Protel99SE共分5个模块,分别是原理图设计、PCB设计(包含信号完整性分析)、自动布线器、原理图混合信号仿真、PLD设计。

第3章系统硬件分析与设计

本章主要分析整个系统的硬件电路,考虑并提出系统实现所需要的硬件电路各部分模块、并结合系统需求来进行元器件的选择。

3.1硬件电路系统

图3-1硬件电路系统框图

由系统硬件电路图可以知道,CPLD芯片是整个电路系统的核心,外围电路主要由时钟电路,4*4键盘电路,报警电路和余额显示电路组成。

3.2核心CPLD模块

3.1.1主要功能

CPLD是本次设计的核心模块,是整个系统得以实现的关键,我们通过编程来实现对外部信号的识别和控制。

其输入引脚主要同时钟电路、4*4键盘电路和连通信号按键相连,输出引脚是同报警电路和余额显示电路相连。

实现的主要功能包含:

对用户的拨号号码进行识别,判断用户通话类型,判断用户余额是否低于某一值,低于该值则驱动报警电路报警,实时显示用户余额信息。

由于需要实现的功能比较复杂,因此对于芯片的选择是非常的重要的。

3.1.2芯片选择

Altera是世界一流的FPGA、CPLD和ASIC半导体生产商,Altera的MAX®II系列CPLD是有史以来功耗最低、成本最低的CPLD。

MAXIICPLD基于突破性的体系结构,在所有CPLD系列中,其单位I/O引脚的功耗和成本都是最低的。

MAX IICPLD支持高级功能集成,以降低系统设计成本。

我之所以选择epm570作为核心器件是基于以下几个方面:

(1)低功耗,和前一代3.3VMAX器件相比只有十分之一的功耗;拥有CPLD业界最低的待机规范,大大延长了电池供电时间;同时具有自动启动/停止功能,CPLD不使用时关断。

(2)低成本体系结构,以一半的价格实现四倍的密度;通过设计,减小了管芯面积,单位I/O引脚成本在业界是最低的。

(3)高性能,支持高达300MHz的内部时钟频率。

(4)独特的特性,板上振荡器和用户闪存;不需要分立振荡器或者非易失存储器,减少了芯片数量。

(5)实时在系统可编程能力(ISP)

(6)片内电压稳压器支持3.3-V、2.5-V和1.8-V供电;减少了电源数量,简化了电路板设计。

(7)I/O能力,MultiVoltI/O支持和1.5-V、1.8-V、2.5-V以及3.3-V逻辑电平器件的接口;施密特触发器、可编程摆率和可编程驱动能力提高了信号完整性。

考虑到以上全部条件,我最终选择拥有144个引脚的EPM570T144C5作为此次系统的核心部件。

3.3液晶显示模块

3.3.1主要功能

液晶显示模块是为了显示用户的实时信息,其实时显示功能是由CPLD的内部实现的,显示的用户余额数是由三位数字和一位小数点组成,因此选择LED或者是LCD都是可以的,但是考虑到显示的清晰度,以及以后显示的可拓展性和显示位数的需要,我选择的是价格低廉且可以显示多位的LCD1602.

3.3.2引脚分布及连接

LCD1602液晶模块是用5*7点阵图形来显示字符的液晶显示器。

其引脚数总共有16个,其中1脚和2脚分别是地和电源,3脚为液晶显示器对比度调整端,4脚为RS寄存器选择端,5脚为RW读写信号线,6脚为使能端(下降沿有效),第7-14脚为D0-D7八位双向数据线。

,15、16脚为空脚。

LCD1602同EPM570的连接图如下图所示:

图3-2LCD1602电路连接图

3.44*4键盘模块

3.4.1主要功能

4*4键盘模块是用于用户拨号的主要部分,总共由16个按键组成,行、列线分别连接到按键开关的两端,且每行和每列都由数据线连接到CPLD,按键设置在行列线交叉点。

列线通过上拉电阻接+5V的电压,即列线的输出被嵌位在高电平状态。

判断按键中有无键按下是通过行线不停输入扫描信号,然后从列线读取到状态实现的。

其方法是依次给行线送低电平,检查列线的输入。

如果列线信号全为高电平,则代表低电平所在的行中无按键按下;如果列线有输入为低电平,则低电平信号所在的行和出现低电平的列的交点处有按键按下。

3.4.2引脚分布及连接

图3-3CPLD及4*4键盘电路连接图

3.5JTAG接口模块

3.5.1主要功能

JTAG是一种国际标准测试协议(IEEE1149.1兼容),主要用于芯片内部测试。

现在多数的高级器件都支持JTAG协议。

标准的JTAG接口是4线:

TMS、TCK、TDI、TDO,其功能如下:

 TCK——测试时钟输入;

TDI——测试数据输入,数据通过TDI输入JTAG口;

TDO——测试数据输出,数据通过TDO从JTAG口输出;

TMS——测试模式选择,TMS用来设置JTAG口处于某种特定的测试模式。

3.5.2引脚分布及连接

JTAG接口电路如下图所示:

图3-4JTAG接口电路

第4章系统软件实现、仿真及结果分析

根据实物观察、设计要求以及开发条件,基于CPLD的核心控制系统主要由键盘输入、启动控制、分频、计时、计费提示及显示驱动等5个模块组成。

4.1键盘输入模块

4.1.1键盘输入实现过程

该模块主要完成对用户拨号过程的控制,一般来说,用户的通讯号码是通过三部分总共15位十进制数据来记录的(即拨出号码),前四位为国家号,如中国为:

0086,通过该四位数据可以区分通话类型是国内通话还是国际长途;第二个四位为区号,通过该四位可以区分为市话还是国内长途亦或是特殊通话;后七位则不再考虑。

该模块实现的具体功能就是对用户的拨号进行统计,在通话按键start为有效时,将16位有效号码存储并传递给启动控制模块。

通过以上分析可以得知,我们需要的有效的通话信号只有8位,经过系统分析,采取16位输入的方式,即由4*4键盘输入16位数(拨号),通过键盘输入模块取钱8位信号作为有效信号传递给启动控制模块,并且在通话结束前都一直处于锁存状态。

当通话结束后,应当将锁存的有效信号清除,以满足用户下一次拨号重新计费的需求。

我们知道,在进行按键的过程中经常会产生抖动,因此在程序设计的过程中需要对按键信号进行抖动消除,我通过以下程序进行抖动消除:

IF(clk'EVENTandclk='1')THEN

reg4:

=reg4(2DOWNTO0)&en;

ENDIF;

key<=reg4;

ENDPROCESS;

fnq<=key(0)andkey

(1)andkey

(2)andkey(3);

通过将行扫描使能信号en不断的赋值给一个4为二进制变量reg4,再将其赋值给4位二进制信号key,以此达到对按键状态记录的目的,然后通过对key信号各位进行与运算来生成消抖信号fnq。

en使能信号是对行扫描信号进行或非运算得到的,一旦有按键按下,则en=‘0’,有了按键消抖部分后,如果按键是在抖动的,key中则至少有1位数值为0,此时fnq=‘0’,不能对其进行有效读取;只有将按键在连续的4个时钟周期内都保持在按键弹起状态,则此时key中各数值全为‘1’,fnq=‘1’产生一个上升沿,从而触发读取当前按键数值信号,并将之存入32位二进制数值寄存器信号temp,数值寄存器temp通过将原有数值的第0-27为左移到第4-31为,并将所得数值存储到第0-3位,来实现4为输入输入的存储。

通过一个计数信号a对输入的四位数据进行计数,每当计数器值达到4时,就对另一个计数信号count进行加一操作,同时对a进行清除操作,于此同时,通过if语句对count的值进行判断,以区分输出到启动控制模块的是8位有效数据的第几位。

当计数信号count值为4时,就将输出数据进行锁存操作,知道通话截止信号,即start信号的下降沿来临时,对当前输入信号进行清零操作。

4.1.2键盘输入模块及其仿真

键盘输入模块外观如下所示:

图4-1键盘输入模块外观图

键盘输入模块功能仿真测试图如下:

图4-2键盘输入模块功能仿真图

4.1.3键盘输入模块仿真结果分析

通过以上分析我们可以得知,键盘输入模块主要实现的目的是统计用户拨号信息,同时将有效拨号数据锁存输出至通话截止。

为满足系统要求,同时测试模块的功能是否完善,我们在输入数据端d

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1