0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何利用I/O設(shè)備和PLD芯片實現(xiàn)數(shù)字日歷的設(shè)計?

冬至子 ? 來源:吃小竹子丫 ? 作者:吃小竹子丫 ? 2023-08-25 17:00 ? 次閱讀

1 系統(tǒng)設(shè)計

1.1 設(shè)計要求

1.1.1 設(shè)計任務(wù)

設(shè)計并制作一臺數(shù)字日歷。

1.1.2 性能指標要求

① 用EDA實訓(xùn)儀的I/O設(shè)備和PLD芯片實現(xiàn)數(shù)字日歷的設(shè)計。

② 數(shù)字日歷能夠顯示年、月、日、時、分和秒。

③ 用EDA實訓(xùn)儀上的8只八段數(shù)碼管分兩屏分別顯示年、月、日和時、分、秒,即在一定時間段內(nèi)顯示年、月、日(如20080101),然后在另一時間段內(nèi)顯示時、分、秒(如00123625),兩個時間段能自動倒換。

④ 數(shù)字日歷具有復(fù)位和校準年、月、日、時、分、秒的按鈕,但校年和校時同用一個按鈕,即在顯示年、月、日時用此按鈕校年,在顯示時、分、秒時則用此按鈕校時,依此類推。

1.2 設(shè)計思路及設(shè)計框圖

1.2.1設(shè)計思路

根據(jù)萬年歷的實際特點,本設(shè)計最基礎(chǔ)的部分就是24小時計數(shù)器部分。它由兩片60進制計數(shù)器和一片24進制計數(shù)器構(gòu)成,輸入clk為1Hz(秒)的時鐘,經(jīng)過60分頻后產(chǎn)生1分鐘的時鐘信號,再經(jīng)過60分頻后,產(chǎn)生1小時的時鐘信號,最后進行24分頻,得到1天的脈沖送cout輸出。

當計時器設(shè)計完成后,可以為它產(chǎn)生一個元件符號,作為萬年歷設(shè)計的基本元件。除了基礎(chǔ)的計時器模塊(day),萬年歷電路還包括年月日模塊(nyr2013),控制模塊(contr),校時選擇模塊(mux_4)和顯示選擇模塊(mux_16)。

在基礎(chǔ)計數(shù)器完成的天計數(shù)脈沖完成之后,送入年月日模塊中進入進一步的計數(shù),最終進一步得到日,月,年的計數(shù)結(jié)果。由于設(shè)計要求8只八段數(shù)碼管分兩屏分別顯示年、月、日和時、分、秒,所以控制模塊便通過控制信號k來控制數(shù)碼管是顯示時、分、秒還是年、月、日,或者自動輪流顯示。

相應(yīng)的顯示選擇模塊也是通過k信號來控制是選擇將計時器模塊的時、分、秒結(jié)果信號,還是將年月日模塊的年、月、日結(jié)果信號送到數(shù)碼管顯示。設(shè)計還要求數(shù)字日歷具有復(fù)位和校準年、月、日、時、分、秒的按鈕,但校年和校時同用一個按鈕,所以應(yīng)運而生有校時選擇模塊,同樣也是在k信號的控制下,對j1、j2、j3這三個公共校時按鈕所產(chǎn)生的校時信號選擇是送到計時器模塊的校時端,還是年月日模塊的校年端,從而實現(xiàn)校時選擇功能。以上就是大體的設(shè)計思路,各個模塊相輔相成,最終滿足設(shè)計要求。

1.2.2總體設(shè)計框圖

2 各個模塊程序的設(shè)計

2.1 控制模塊contr的設(shè)計

控制模塊的元件符號如上圖所示。由于設(shè)計要求8只八段數(shù)碼管分兩屏分別顯示年、月、日和時、分、秒,因此需要通過在控制模塊中通過分頻電路來實現(xiàn),在此模塊中采用了一個16秒的分頻電路,占空比為50%,即8秒高電平,8秒低電平,因此很容易實現(xiàn)萬年歷年、月、日和時、分、秒的自動切換顯示功能。其中clk是1秒脈沖信號輸入端,k1和k2是控制輸入端:當{k1,k2}=00或11時即進入自動切換顯示模式,當{k1,k2}=01時,數(shù)碼管僅顯示時、分、秒,當{k1,k2}=10時,數(shù)碼管僅顯示年、月、日。{k1,k2}的值決定了控制信號k的輸出。

2.2 校時選擇模塊mux_4v的設(shè)計

校時選擇模塊的元件符號如上圖所示。k是控制信號的輸入端,由控制模塊輸出,控制對j1、j2、j3這三個公共校時按鈕所產(chǎn)生的校時信號選擇是送到計時器模塊的校時端,還是年月日模塊的校年端,其中當k=0時,將j1、j2、j3產(chǎn)生的信號送到計時器模塊的jm(校秒)、jf(校分)、js(校時)端;其中當k=1時,將j1、j2、j3產(chǎn)生的信號送到年月日模塊的jr(校日)、jy(校月)、jn(校年)端,從而校年和校時可以同用一組按鈕。

2.3 年月日模塊nyr2020的設(shè)計

年月日模塊的元件符號如上圖所示。k是控制信號的輸入端,由控制模塊輸出。其中,clrn是異步清除輸入端,低電平有效;clk是時鐘輸入端,上升沿有效;jn、jy、jr分別是校年、校月。校日的輸入端,qn、qy、qr則分別是年、月、日的狀態(tài)輸出端。

2.4 顯示選擇模塊mux_16v的設(shè)計

顯示選擇模塊的元件符號如上圖所示。k是控制信號的輸入端,由控制模塊輸出。因為控制模塊決定了數(shù)碼管有多中不同的顯示模式,所以當k=0時,將計時器模塊輸出的qm、qf、qs的狀態(tài)信號送到數(shù)碼管顯示;而當k=1時,將年月日模塊輸出的qr、qy、qn的狀態(tài)信號送到數(shù)碼管顯示。其中我加入了擴展功能,在數(shù)碼管只顯示時、分、秒的時候,有2個數(shù)碼管并沒有數(shù)值顯示,因此我將其中一個數(shù)碼管選擇顯示A或F,當時間在12點之前是顯示A,代表上午(AM),當時間在12點之后時顯示F,代表下午(FM)。

2.5 計時器模塊jsq的設(shè)計

計時器模塊的元件符號如上圖所示。clk是秒時鐘輸入端;clrn是清除輸入端,低電平有效;jm、jf、js分別是校秒、校分、校時的輸入端,下降沿有效;qm、qf、qs分別是秒、分、時的輸出端;day是“天”脈沖輸出端。計時器模塊是萬年歷電路最基礎(chǔ)的組成部分。它由分頻器、兩片60進制計數(shù)器和一片24進制計數(shù)器構(gòu)成,具體構(gòu)成如下圖:

2.6 LED顯示模塊LED1的設(shè)計(擴展功能的實現(xiàn))

qy和qr和nyr模塊中的輸出相連,LED是輸出,在實驗時用一個LED燈把管腳鎖住鎖住,每到節(jié)日來的脈沖便會使LED燈亮。加入的擴展功能,能讓萬年歷在節(jié)日的時候能亮一盞LED燈,比如在元旦節(jié)、情人節(jié)一些比較重要的節(jié)日,起到提醒的作用,也可以從而使萬年歷的顯示內(nèi)容更為完整。

3 調(diào)試過程

把寫好的程序經(jīng)驗證仿真確認無誤并且鎖定好管腳后經(jīng)下載端口下載到EDA實訓(xùn)儀上,通過實際操作來驗證是否能實現(xiàn)相應(yīng)功能。

4 功能測試

4.1 測試儀器與設(shè)備

① EDA實訓(xùn)儀 1臺

電腦 1臺

4.2 性能指標測試

① 數(shù)字日歷能夠正確顯示年、月、日、時、分和秒。

② EDA實訓(xùn)儀上的8只八段數(shù)碼管能夠分兩屏分別顯示年、月、日和時、分、秒。

③ EDA實訓(xùn)儀上的8只八段數(shù)碼管能夠自動切換顯示年、月、日和時、分、秒。

④ 數(shù)字日歷具有復(fù)位和校準年、月、日、時、分、秒的按鈕,且校年和校時同用一個按鈕就能實現(xiàn)。

4.3 誤差分析

由于在程序編寫的過程中經(jīng)過了反復(fù)的思考和檢查,因此在下載到硬件電路后,所有基礎(chǔ)功能都達到了設(shè)計要求,并且自己的擴展功能也成功的實現(xiàn)。

部分程序清單

1、計算器模塊(jsq)

(1)分頻器

module fenpin(clk,cout);

input clk;

output reg cout;

reg[24:0]qq;

always @(posedge clk)

begin

if(qq==19999999) begin qq=0;cout=1;end

else begin qq=qq+1;cout=0;end

end

endmodule

(2)cnt60

module cnt60(clk,clrn,j,q,cout);

input clrn,clk,j;

output reg[7:0]q;

output reg cout;

always @(posedge clk^j or negedge clrn)

begin

if(~clrn) q=0;

else begin

if(q=='h59) q=0;

else q=q+1;

if(q[3:0]=='ha) begin q[3:0]=0; q[7:4]=q[7:4]+1;end

if(q=='h59) cout=1;

else cout=0;

end

end

endmodule

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 分頻器
    +關(guān)注

    關(guān)注

    43

    文章

    445

    瀏覽量

    49583
  • 數(shù)碼管
    +關(guān)注

    關(guān)注

    31

    文章

    1869

    瀏覽量

    90518
  • LED顯示
    +關(guān)注

    關(guān)注

    0

    文章

    355

    瀏覽量

    37836
  • 計時器
    +關(guān)注

    關(guān)注

    1

    文章

    414

    瀏覽量

    32486
  • PLD芯片
    +關(guān)注

    關(guān)注

    0

    文章

    35

    瀏覽量

    17790
收藏 人收藏

    評論

    相關(guān)推薦

    virtio I/O通信流程及設(shè)備框架的實現(xiàn)

    virtio 是一種通用的半虛擬化的 I/O 通信協(xié)議,提供了一套前后端 I/O 通信的的框架協(xié)議和編程接口。根據(jù)該協(xié)議實現(xiàn)
    的頭像 發(fā)表于 03-10 13:37 ?6072次閱讀

    基于PLD的視頻接口

    復(fù)用器被送至最終的視頻解碼器播放。u*** 2.0 phy芯片可被輕松連接至pld的任意i/o引腳。大多數(shù)pld
    發(fā)表于 12-28 07:00

    采用PLD實現(xiàn)視頻接口設(shè)計

    通過現(xiàn)有的數(shù)字編碼器(DENC)芯片播放這些視頻流。這種總線可被選通或復(fù)用輸出到DENC。 圖1給出的PLD應(yīng)用框圖將數(shù)字視頻源連接到視頻播放。一個典型的高
    發(fā)表于 05-14 07:00

    請問怎樣設(shè)計并實現(xiàn)閃存設(shè)備I/O軟件?

    閃存設(shè)備管理技術(shù)的現(xiàn)狀及存在的問題是什么?閃存設(shè)備I/O軟件的分層結(jié)構(gòu)是怎樣的?怎樣設(shè)計并實現(xiàn)閃存設(shè)備
    發(fā)表于 04-27 06:44

    什么是Super I/O?用SuperIo實現(xiàn)什么

    UEFI學習(四)-SuperIo的訪問一、什么是Super I/O?二、我們要用SuperIo實現(xiàn)什么三、NCT5581D的訪問機制一、什么是Super I/
    發(fā)表于 01-24 08:12

    數(shù)字I/O模塊在數(shù)字電路板自動測試設(shè)備中的應(yīng)用

    本文介紹了一種基于VXI總線的數(shù)字I/O模塊(型號為DIOM-64)在數(shù)字電路板ATE中的應(yīng)用,內(nèi)容包括模塊的工作原理和測試設(shè)備的組成。該
    發(fā)表于 07-15 11:20 ?37次下載

    利用FactorySuite 2000 I/O Server

    本文介紹了利用美國WONDERWARE 公司的Wonderware ® FactorySuite™2000 I/O Server Toolkit 如何開發(fā)用戶自己的I
    發(fā)表于 08-14 09:41 ?39次下載

    數(shù)字I/O介紹

    數(shù)字I/O腳有專用和復(fù)用。數(shù)字I/O腳的功能通過9個16位控制寄存器來控制??刂萍拇嫫鞣譃閮深悾?/div>
    發(fā)表于 09-16 12:20 ?18次下載

    基于PLD芯片的時序邏輯設(shè)計與實現(xiàn)

    基于PLD芯片的時序邏輯設(shè)計與實現(xiàn):原理圖輸入設(shè)計直觀、便捷、操作靈活;1-1、原理圖設(shè)計方法簡介QuartusII已包含了數(shù)字電路的基本邏輯元件庫(各類邏輯門及觸發(fā)器),宏
    發(fā)表于 10-29 22:03 ?0次下載

    利用普通I/O實現(xiàn)電容觸摸感應(yīng)方案

    利用普通I/O實現(xiàn)電容觸摸感應(yīng)方案 技術(shù)背景   現(xiàn)在電子產(chǎn)品中,觸摸感應(yīng)技術(shù)日益受到更多關(guān)注和應(yīng)用,不僅美觀
    發(fā)表于 04-22 10:16 ?1399次閱讀
    <b class='flag-5'>利用</b>普通<b class='flag-5'>I</b>/<b class='flag-5'>O</b>口<b class='flag-5'>實現(xiàn)</b>電容觸摸感應(yīng)方案

    輸入輸出設(shè)備I/O設(shè)備總結(jié)

    I/O設(shè)備又叫輸入輸出設(shè)備。對于I/O bus 包含數(shù)據(jù)總線、控制總線、地址總線;每一個
    發(fā)表于 11-24 09:28 ?3475次閱讀
    輸入輸出<b class='flag-5'>設(shè)備</b><b class='flag-5'>I</b>/<b class='flag-5'>O</b><b class='flag-5'>設(shè)備</b>總結(jié)

    Smart I/O模塊的應(yīng)用 實現(xiàn)管腳電平數(shù)字邏輯的實現(xiàn)

    芯片設(shè)計工程師常常需要根據(jù)輸入輸出信號(Input and Output, I/O實現(xiàn)管腳電平數(shù)字邏輯。例如,系統(tǒng)工程師
    發(fā)表于 04-07 10:04 ?4957次閱讀

    關(guān)于PROFINET I/O設(shè)備芯片TPS-1演示過程介紹

    PROFINET I/O設(shè)備芯片TPS-1演示
    的頭像 發(fā)表于 07-20 01:07 ?1.1w次閱讀

    采用IP模塊和PLD設(shè)計工具實現(xiàn)可編程器件輔助軟件的設(shè)計

    在基于MCU的系統(tǒng)設(shè)計中,一般采用“MCU+PLD”的系統(tǒng)結(jié)構(gòu)。PLD器件具有在系統(tǒng)現(xiàn)場可重復(fù)編程的能力,用來實現(xiàn)系統(tǒng)的I/O接口等外圍功能
    的頭像 發(fā)表于 03-12 07:59 ?2058次閱讀
    采用IP模塊和<b class='flag-5'>PLD</b>設(shè)計工具<b class='flag-5'>實現(xiàn)</b>可編程器件輔助軟件的設(shè)計

    EDA程序設(shè)計之數(shù)字日歷電路

    1? 系統(tǒng)設(shè)計1.1?設(shè)計要求1.1.1?設(shè)計任務(wù)? ?設(shè)計并制作一臺數(shù)字日歷。1.1.2?性能指標要求?① 用EDA實訓(xùn)儀的I/O設(shè)備
    發(fā)表于 04-03 09:32 ?10次下載