国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的電話計(jì)費(fèi)器的設(shè)計(jì)

2022-01-22 09:23周鼎舜覃秋榮王穎
電子測(cè)試 2021年23期
關(guān)鍵詞:計(jì)數(shù)器通話余額

周鼎舜,覃秋榮,王穎

(大連理工大學(xué)城市學(xué)院,遼寧大連,116000)

關(guān)鍵字:FPGA;Verilog HDL;電話計(jì)費(fèi)器

0 引言

隨著社會(huì)經(jīng)濟(jì)的快速發(fā)展,電話計(jì)費(fèi)器在相關(guān)通信領(lǐng)域以及社交場(chǎng)景具有廣泛的使用需求,歷史上對(duì)于電話計(jì)費(fèi)功能還不完善,現(xiàn)在的需求不滿足,所以本文進(jìn)行電話計(jì)費(fèi)器的設(shè)計(jì)。

1 原理

FPGA簡(jiǎn) 介:FPGA(Field Programmable Gate Array)即現(xiàn)場(chǎng)可編程門陣列,于1985年由xilinx創(chuàng)始人之一Ross Freeman發(fā)明,雖然有其他公司宣稱自己最先發(fā)明可編程邏輯器件PLD,但是真正意義上的第一顆FPGA芯片XC2064為xilinx所發(fā)明,它具有可編程可隨時(shí)修改設(shè)計(jì)、開發(fā)周期短、靈活、風(fēng)險(xiǎn)小且成本低等優(yōu)點(diǎn),使用非常廣泛。用FPGA驗(yàn)證IP核,可以隨時(shí)修改設(shè)計(jì),大大降低了成本,減少了風(fēng)險(xiǎn),同時(shí)FPGA工藝不斷進(jìn)步,性能也不斷提高,除了極少數(shù)對(duì)速度、功耗非常高的集成電路(如當(dāng)今主流的通用處理器)外,一般都可以用FPGA來驗(yàn)證或?qū)崿F(xiàn)。一般而言,F(xiàn)PGA的基本結(jié)構(gòu)由以下幾個(gè)部分構(gòu)成:(1)可編程邏輯功能模塊(Configurable Logic Blocks,CLB); (2)可編程輸入輸出模塊(Programmable Input/Output Blocks,IOB);(3)可編程內(nèi)部互連資源(Programmable Interconnection PI)。

Verilog簡(jiǎn)介:Verilog HDL是一種硬件描述語言(HDL:Hardware Description Language),以文本形式來描述數(shù)字系統(tǒng)硬件的結(jié)構(gòu)和行為的語言,用它可以表示邏輯電路圖、邏輯表達(dá)式,還可以表示數(shù)字邏輯系統(tǒng)所完成的邏輯功能。

2 系統(tǒng)的總體設(shè)計(jì)

包括外部輸入、內(nèi)部處理和輸出顯示等部分。其中,LED報(bào)警信號(hào)和數(shù)碼管輸出為輸出信號(hào),其余為輸入信號(hào)。Reset使系統(tǒng)復(fù)位清零,EN信號(hào)作為系統(tǒng)的使能信號(hào);Menu用于菜單和功能的選擇,Call End是通話結(jié)束的按鍵,相當(dāng)于掛機(jī)鍵,Add和Sub作為各種功能的調(diào)節(jié)鍵,實(shí)現(xiàn)了復(fù)用;數(shù)碼管可以按照預(yù)先定義的輸出方式,輸出菜單和相應(yīng)的信息,報(bào)警信號(hào)作為余額不足時(shí)的提示信號(hào)。

3 主要模塊介紹

主控模塊:telephone菜單模塊,完成各個(gè)子模塊的協(xié)調(diào)工作和相互之間的數(shù)據(jù)傳輸。

時(shí)間模塊:調(diào)用下屬的計(jì)數(shù)器模塊,使得整體結(jié)構(gòu)較好,方便調(diào)試和修改。同時(shí),可以將調(diào)節(jié)小時(shí)和分鐘的信號(hào)分別接到add和sub上,以實(shí)現(xiàn)資源合理利用。而counter10,counter24和counter6相同,三個(gè)模塊實(shí)現(xiàn)了10進(jìn)制,24進(jìn)制和6進(jìn)制的計(jì)數(shù)器制作。

菜單模塊:四進(jìn)制計(jì)數(shù)器實(shí)現(xiàn)了menu的狀態(tài)轉(zhuǎn)換,用這個(gè)計(jì)數(shù)器來控制整個(gè)系統(tǒng)的工作。

翻譯顯示模塊:對(duì)計(jì)費(fèi)系統(tǒng)顯示的文字做至少兩種語言以上的翻譯并顯示。

通話種類模塊:該模塊實(shí)現(xiàn)通話種類的選擇,實(shí)際上是實(shí)現(xiàn)了一個(gè)四進(jìn)制的計(jì)數(shù)器,同時(shí)根據(jù)計(jì)數(shù)器的值來確定一個(gè)通話種類,最終計(jì)數(shù)器的數(shù)值是通話種類的代號(hào)。十進(jìn)制計(jì)數(shù)器仿真波形圖是滿十進(jìn)一的過程,communicate是實(shí)現(xiàn)了對(duì)于通話過程的模擬即話費(fèi)的計(jì)算。

圖2 設(shè)計(jì)模塊圖

圖3 軟件設(shè)計(jì)圖

設(shè)置通話模塊:這部分實(shí)現(xiàn)了對(duì)于通話過程的模擬,程序中,實(shí)現(xiàn)了花費(fèi)的計(jì)算,考慮到實(shí)際情況是在1s的時(shí)候開始減少的,所以當(dāng)second=1的時(shí)候,話費(fèi)才算做1minute之內(nèi)。

LED調(diào)試模塊:這個(gè)模塊主要是在我們調(diào)試的時(shí)候用來模擬一下各個(gè)LED的顯示狀況是不是符合系統(tǒng)預(yù)先設(shè)定的情況。在這個(gè)調(diào)試的過程中,將輸出的32位調(diào)到十六進(jìn)制,就能夠模擬在真實(shí)的實(shí)驗(yàn)開發(fā)板上面的狀況。

分頻模塊:分頻可以合理地進(jìn)行各單元功率分配,使各單元之間具有恰當(dāng)?shù)南辔魂P(guān)系以減少各單元在工作中出現(xiàn)的聲干涉失真。

4 軟件設(shè)計(jì)

由系統(tǒng)框圖和相應(yīng)的輸入輸出,結(jié)合相應(yīng)的條件,可以得到系統(tǒng)的ASM圖。

(1)能夠通過選擇增減的方式設(shè)置卡內(nèi)余額(最大顯示為200元 )。

(2)能夠設(shè)置通話的種類(1~4),并能夠根據(jù)電話的種類和通話時(shí)間進(jìn)行金額的扣除:1為市話(0.1元/分鐘),2為國內(nèi)長途(1元/分鐘),3為國際長途(2元/分鐘),4為特殊電話(1.6元/分鐘)。

(3)能夠進(jìn)行余額不足的報(bào)警:市話低于0.5元報(bào)警,國內(nèi)長途低于5元報(bào)警,國際長途低于10元報(bào)警,特殊電話低于8元報(bào)警。然后返回菜單進(jìn)行相應(yīng)的話費(fèi)充值。

5 仿真

部分模塊的電路模塊圖和波形仿真圖如下。

圖4 系統(tǒng)的部分模塊設(shè)計(jì)

說明:

(1)counter6模塊是實(shí)現(xiàn)了六進(jìn)制計(jì)數(shù)器的操作,從0~5反復(fù)循環(huán)計(jì)數(shù)。

(2)counter10模塊是實(shí)現(xiàn)了六進(jìn)制計(jì)數(shù)器的操作,從0~9反復(fù)循環(huán)計(jì)數(shù)。

(3)counter24模塊是實(shí)現(xiàn)了六進(jìn)制計(jì)數(shù)器的操作,從00~23反復(fù)循環(huán)計(jì)數(shù)。

(4)clock模塊是時(shí)間模塊,其調(diào)用了下屬的counter6、10、24這三個(gè)計(jì)數(shù)器模塊用來顯示時(shí)間為:

時(shí)時(shí):分分:秒秒

即00:00:00到23:59:59的輪回計(jì)時(shí)方式

這使得整體結(jié)構(gòu)較好,方便調(diào)試和修改。同時(shí),調(diào)節(jié)小時(shí)和調(diào)節(jié)分鐘的信號(hào)分別連接到add和sub上面,實(shí)現(xiàn)了資源的合理利用。

(5)counter4是菜單模塊,這四進(jìn)制計(jì)數(shù)器實(shí)現(xiàn)了menu的狀態(tài)轉(zhuǎn)換,用這個(gè)計(jì)數(shù)器來控制整個(gè)系統(tǒng)的工作。當(dāng)該計(jì)數(shù)器為4’b0000時(shí)控制了clock時(shí)間模塊工作,為4'b0001時(shí)控制了SetBalance設(shè)置余額模塊工作,為4'b0010時(shí)控制了SetFee設(shè)置通話種類模塊工作,為4'b0011時(shí)控制了communicate通話模塊工作。

(6)trad_1是分頻模塊,可以通過硬件描述語言進(jìn)行時(shí)鐘分頻。通過該分頻器設(shè)計(jì)可以實(shí)現(xiàn)節(jié)省鎖相環(huán)資源,達(dá)到對(duì)系統(tǒng)時(shí)鐘操作的目的。

(7)SetBalance設(shè)置余額模塊,能夠通過選擇增減的方式設(shè)置卡內(nèi)余額(最大顯示為200元)。

(8) communicate通話模塊,實(shí)現(xiàn)了對(duì)通話過程的模擬,在程序中,實(shí)現(xiàn)了話費(fèi)的計(jì)算,考慮到實(shí)際情況話費(fèi)是在1s的時(shí)候開始減少的,所以當(dāng)second=1的時(shí)候,話費(fèi)才算做一分鐘之內(nèi)的。

(9)SetFee設(shè)置通話種類模塊,該模塊實(shí)現(xiàn)了通話種類的選擇,在這個(gè)模塊中,實(shí)際上是實(shí)現(xiàn)了一個(gè)四進(jìn)制的計(jì)數(shù)器,同時(shí)根據(jù)計(jì)數(shù)器的值來確定一個(gè)通話種類,最終計(jì)數(shù)器的數(shù)值是通話種類的代號(hào)。sort是8’d1為市話、是8'd2為國內(nèi)長途、是8'd3為國際長途、是8'd4為特殊電話。

(10)led調(diào)試模塊,這個(gè)模塊主要是在調(diào)試的時(shí)候用來模擬各個(gè)led的顯示狀況是不是符合預(yù)先設(shè)定的那種情況,在調(diào)試的過程中,將輸出的32位調(diào)到十六進(jìn)制,就能夠模擬在真實(shí)的實(shí)驗(yàn)板子上面的狀況。Menu=4’b0000顯示時(shí)間,Menu=4’b0001實(shí)現(xiàn)調(diào)整話費(fèi)的顯示,Menu=4'b0010實(shí)現(xiàn)通話種類的選擇顯示,Menu=4’b0011實(shí)現(xiàn)通話過程中的時(shí)間和余額的顯示,Menu= default默認(rèn)顯示時(shí)間。

(11)SEG7_LUT翻譯顯示模塊,實(shí)現(xiàn)4位十六進(jìn)制和8位二進(jìn)制之間的轉(zhuǎn)換,便于通過led部分顯示。

圖5 communicate通話模塊的仿真波形圖

說明:

包含余額、時(shí)鐘信號(hào)、菜單、分鐘信號(hào)、秒鐘信號(hào)、報(bào)警信號(hào)、返回信號(hào)、清零信號(hào)的波形。

圖6 SetFee設(shè)置通話種類模塊仿真波形圖

說明:

包含時(shí)鐘信號(hào)、使能信號(hào)、菜單、價(jià)格、種類、加、減、清零信號(hào)的波形。

圖7 counter10模塊波形仿真圖

說明:

包含時(shí)鐘信號(hào)、使能信號(hào)、Q寄存器計(jì)數(shù)、清零信號(hào)波形。

6 驗(yàn)證功能

報(bào)警說明: 能夠進(jìn)行余額不足的報(bào)警:1市話低于0.5元報(bào)警,2國內(nèi)長話低于5元報(bào)警,3國際長話低于10元報(bào)警,4特殊電話低于8元報(bào)警。

(元) 種類 序號(hào) 時(shí)間(分鐘)充值(元) 報(bào)警 余額(元)0 市內(nèi)0.1元/分鐘 1 0 0 報(bào)警 0<0.5 1 市內(nèi)0.1元/分鐘 1 3 0.3 不報(bào)警 0.7>0.5 5 國內(nèi)長途1元/分鐘 2 2 2 報(bào)警 3<5 10 國內(nèi)長途1元/分鐘 2 3 3 不報(bào)警 7>5 20 國際長途2元/分鐘 3 7 14 報(bào)警 6<10耗費(fèi)

100 國際長途2元/分鐘 3 10 20 不報(bào)警 80 30 特殊電話1.6元/分鐘 4 15 24 報(bào)警 6<8 200封頂特殊電話1.6元/分鐘 4 20 32 不報(bào)警 168

7 總結(jié)

經(jīng)過實(shí)踐操作,以及系統(tǒng)的研究,本設(shè)計(jì)實(shí)現(xiàn)了以下功能。對(duì)我們的生活具有一定的使用價(jià)值和推廣意義。(1)能夠通過選擇增減的方式設(shè)置卡內(nèi)余額(最大顯示為200元)。(2)能夠設(shè)置通話的種類(1~4),并能夠根據(jù)電話的種類和通話時(shí)間進(jìn)行金額的扣除:1為市話(0.1元/分鐘),2為國內(nèi)長話(1元/分鐘),3為國際長話(2元/分鐘),4為特殊電話(1.6元/分鐘)。(3)能夠進(jìn)行余額不足的報(bào)警:市話低于0.5元報(bào)警,國內(nèi)長話低于5元報(bào)警,國際長話低于10元報(bào)警,特殊電話低于8元報(bào)警。

通過本次設(shè)計(jì),從系統(tǒng)設(shè)計(jì),代碼的編寫和程序的調(diào)試,波形仿真到最終硬件電路圖實(shí)現(xiàn)全過程。使我對(duì)Verilog HDL語言有了更加進(jìn)一步的掌握,同時(shí)對(duì)程序的調(diào)試能力和耐心都得到了很大的鍛煉。深入了解到FPGA功能的強(qiáng)大,以及對(duì)軟件熟練程度有進(jìn)一步提升。

猜你喜歡
計(jì)數(shù)器通話余額
央行:2022年三季度末個(gè)人住房貸款余額38.91萬億元
煤氣與熱力(2022年2期)2022-03-09
2020,余額不足
《戊戌元日與友人通話》
余額寶的感知風(fēng)險(xiǎn)
計(jì)數(shù)器競(jìng)爭(zhēng)冒險(xiǎn)及其處理的仿真分析
滬港通一周成交概況 (2015.5.8—2015.5.14)
視頻通話在煤礦井下的應(yīng)用
2013年11月通信業(yè)主要指標(biāo)完成情況(一)
三值絕熱多米諾可逆計(jì)數(shù)器設(shè)計(jì)
镇原县| 滦南县| 鄂伦春自治旗| 定西市| 栖霞市| 朝阳区| 年辖:市辖区| 德兴市| 奇台县| 淳安县| 洛宁县| 策勒县| 佳木斯市| 绥阳县| 日喀则市| 达日县| 若羌县| 乐都县| 托里县| 金塔县| 隆德县| 德令哈市| 米易县| 罗定市| 建昌县| 喀喇沁旗| 冀州市| 兴义市| 武邑县| 拉萨市| 杭锦后旗| 淮阳县| 合作市| 新蔡县| 华蓥市| 略阳县| 斗六市| 新平| 高台县| 武胜县| 灵川县|