卡式电话计费器共27页

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10
ห้องสมุดไป่ตู้
10.03.2021
① 在卡插入,并接通线路的情况下,当通话时间 够1分钟时,采用case语句,根据 话务种类 (decide的值),进行通话计费
② 当卡已拔出,或线路未接通时,对一些信号进 行复位
➢ (3)在告警时间过长时切断通话
always (posedge clk) //当告警时间达15秒时,产生切断通话信号

话务种类

decide[1..0]
通话 disptime
卡值余额 dispmoney
写卡信号 write 读卡信号 read 告警信号
warn
切断通话
cut
6 10.03.2021
信号定义
➢ 输入信号
• 时钟信号(clk):频率为1Hz • 卡插入信号(card) • 接通信号(state) • 话务种类(decide[1..0]) • 设置卡内金额的个位(set_money_low) • 设置卡的金额的高位(set_money_high)
3 10.03.2021
实验目的
了解卡式电话计费器的工作原理。 掌握卡式电话计费器的设计方法 。
4 10.03.2021
实验要求
设计一个卡式电话计费器
➢ 计费器在话卡插入后,能将卡中的币值读出并 显示出来;在通话过程中,根据话务种类计话 费并将话费从卡值中扣除,卡值余额每分钟更 新一次;计时与计费数据均以十进制形式显示 出来。
➢ (3)将电话卡拔出、再插入后,仿真打特话
19 10.03.2021
3. 设计下载用顶层文件
文件名为account_top.bdf
➢ 为减少等待时间,使实验箱上的15秒表示现实 电话机上的一分钟。首先用Verilog 语言设计 一个分频子模块,将实验箱的20MHz系统时 钟信号分频到4Hz,则disptime每隔15s加 1计数,表示通话的分钟数。
➢ 采用LED中D1~D7分别显示输出信号write、 read、warn、cut、state_out、 decide[0]和decide[1]。
2. 对account.v进行编译与仿真
12 10.03.2021
仿真要求
➢ Tclk = 1s,Grid Size = 1s,仿真结束时 间取1000s
9 10.03.2021
10.03.2021
➢ (1)产生分时钟
always (posedge clk) //在接通线路的情况下,计数器num1以clk
(T=1s)为时钟进行计数,计到59s时,计数 器清零,并产生分时钟信号t1m。未接通线路时, num1和t1m均为0。
➢ (2)电话计费和计时
always (negedge clk) begin //首先设置卡内的金额初值 //然后进行通话计费和计时
(cut),电话局根据此信号切断通话,则接 通信号变为低电平。 //若卡已拔出或线路已断,则复位切断通话信号 cut。
11
实验内容
1. 用Verilog 语言设计卡式电话计费器的 逻辑模型(文件名为account.v)
➢ 为很快观察到卡内余额不足的现象,本实验假 定通话时间disptime最长为59分钟;
➢ 然后创建一个顶层图形设计文件 account_top.bdf;选择器件 EP1C12Q240C8,进行编译 。
20 10.03.2021
下载用顶层文件account_top.bdf
❖ 注:由于键9和键10输出为低有效,所以这里 set_money_high和set_money_low信号分别要
➢ 话务分为3类:市话、长话和特话。市话按每分 钟3角钱计费,长话按每分钟6角钱计费,特话 不收费。当卡中余额不足时产生告警信号,当 告警时间达到15s时切断当前通话。
实现设计的编程下载
5 10.03.2021
实验指导
卡式电话计费器的接口示意图
时钟
clk
卡 式
卡插入信号

card

接通信号

state
7 10.03.2021
➢ 输出信号
• 通话时间(disptime[7..0]) • 卡值余额(dispmoney[7..0]) • 写卡信号(write) • 读卡信号(read) • 告警信号(warn) • 切断通话(cut) • 接通信号(state_out) • 话务种类(decide_out[1..0])
8 10.03.2021
➢ 中间变量
• reg[7:0] money; //卡内余额
• reg[7:0] dtime; //通话计时
• reg t1m;
//分时钟,写卡的时刻
• integer num1,temp; // num1——对通话时
间计数;temp用于计告警时间
设计思路
➢ 整个设计account.v主要由3个always模块 组成,分别完成产生分时钟,电话计费和计时 以及在告警时间过长时切断通话的功能。
16 10.03.2021
打市话,通话时间达到7分钟时,卡内余额不足、产生告警、切断通话的仿真波形
17 10.03.2021
➢ (2)再给电话卡充值,仿真线路接通,打长话 的情况。观察各输出信号和中间变量的变化。 尤其注意仿真卡中余额不足的情况
打长话,卡中余额不足的仿真波形
18
10.03.2021
整体仿真波形图
13
10.03.2021
➢ (1)仿真电话卡插入后,线路接通,打市话的 情况。观察各输出信号和中间变量的变化。尤 其注意仿真卡中余额不足的情况。
14 10.03.2021
电话卡插入后,设置卡内金额为2元2角,以及线路接通后的仿真波形
15 10.03.2021
打市话,通话时间够1分钟的仿真波形
经过一个反相器后,再与account子块的相应端口相连。
21 10.03.2021
4. 引脚锁定及编程下载
➢ 对顶层图形设计文件编译,再进行引脚锁定 ➢ 引脚定义 ➢ 重新编译,生成编程文件.sof文件 ➢ 运行下载程序,将编程目标文件phone.sof
16、云无心以出岫,鸟倦飞而知还。 17、童孺纵行歌,斑白欢游诣。 18、福不虚至,祸不易来。 19、久在樊笼里,复得返自然。 20、羁鸟恋旧林,池鱼思故渊。
卡式电话计费器
卡式电话计费器
北航计算机学院 艾明晶
10.03.2021
2
内容概要
❖ 实验目的 ❖ 实验要求 ❖ 实验指导 ❖ 实验内容 ❖ 实验报告
相关文档
最新文档