新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 用EDA設計LED漢字滾動顯示器

        用EDA設計LED漢字滾動顯示器

        作者:哈爾濱工程大學電子工程系 付永慶,水聲工程系 張林 時間:2001-07-04 來源: 收藏

        采用傳統方法設計的漢字滾動顯示器,通常需要使用單片機、存儲器和制約邏輯電路來進行PCB(印制電路板)板級的系統集成。盡管這種方案有單片機軟件的支持較為靈活,但是由于受硬件資源的限制,未來對設計的變更和升級,總是難以避免要付出較多研發經費和較長投放市場周期的代價。

        本文引用地址:http://www.104case.com/article/3036.htm

        隨著電子設計自動化()技術的進展,基于可編程ASIC器件的數字電子系統設計的完整方案越來越受到人們的重視,并且以技術為核心、的能在可編程ASIC器件上進行系統芯片集成的新設計方法,也正在快速地取代基于PCB板的傳統設計方式。

        如何使用工具設計電子系統是人們普遍關心的問題。在EDA工具軟件MAX+PLUSⅡ的支持下,本設計通過了編譯、適配和軟件仿真驗證。最后用載入真實實驗系統的硬件實驗證明了它的正確性。

        為了簡化討論,本文只研究在單個8×8 LED 發光二極管點陣上滾動顯示多漢字信息的問題。

        1給出的就是一個使用美國ALTERA公司10K系列FPGA設計的可支持滾動顯示多漢字信息的通用硬件電路。

        在圖中,標準JTAG接口與PC機并口相連,用于下載設計數據至FPGA中;LED點陣的data線由FPGAI/O線串300Ω限流電阻后驅動,而sw線直接由FPGAI/O線驅動。LED點陣采用掃描式工作方式,控制sw線的循環掃描信號為低電平有效,顯示數據data為高電平有效。

        由于ALTERA10K10LC84-4芯片內部有足夠的RAM資源,所以本設計沒有采用外部RAM

        另外,圖中的配置EPROM為可選件,只有當要求漢字滾動顯示器脫機運行時才需要采用。

        為在8×8 LED 發光二極管點陣上顯示漢字,首先要把漢字表示成為如圖2所示的8×8像素點圖。

        在圖2中,data0data7分別為按列抽取依序排列的漢字像素信息,均具有8位字長。

        然后,依次對多漢字抽取像素信息,并按序排隊存放于ROM之中,便可得到一個待顯示數據序列。進一步通過尋址的方法來控制該數據序列的釋放過程,就可實現在8×8 LED 發光二極管點陣上滾動顯示多漢字信息的目的。圖3給出的就是實現滾動顯示多漢字信息的原理示意圖。

        由圖3可知,某一時刻能在顯示數據序列中定位待顯示數據的地址指針可用下式計算:

        addr=n+m 1

        顯然,n的取值范圍應為0N,并由它控制漢字顯示的滾動速度;m的取值范圍應為07,并由它決定LED點陣的列開關sw的掃描速度。因此,控制n掃遍全部待顯示數據的時間,可調節漢字信息的滾動速度;改變m的重復掃描周期,可改善在LED點陣上顯示完整漢字信息的穩定性。

        另外還需指出,由于式(1)的運算要靠硬件實現,故地址指針addr的模應取為N,而且為實現全部漢字信息滾過LED點陣,必須在數據N前補充8個空數據字節。

        根據圖3給出的顯示原理,我們可以構造出它所對應的硬件實現結構如圖4所示。

        根據圖4示出的原理,我們設計了描述FPGA內核硬件功能的VHDL語言程序。本設計使用了ALTERA公司的MAX+PLUSⅡ PLD研發工具中的參數化模型庫,并采取了結構化的描述方式。

        下面就是我們設計的VHDL程序:

        VHDL設計中,ROM單元的初始化數據要由顯示數據文件data.hex提供,而且該文件的數據存放要符合Intel HEX格式。由于從漢字直接抽取的顯示數據為二進制代碼,故不能直接用于生成data.hex文件,因此需要借助其它EDA工具來幫助加工data.hex文件。下面就給出加工顯示數據文件data.hex的具體步驟:

        1、 對多漢字抽取像素信息,形成按序排列的待顯示數據序列;

        2、使用河洛公司的萬用編程器ALL03或ALL07的應用軟件,將待顯示數據加工成為BIN格式的二進制數據文件data.bin;

        3、使用萬利公司的單片機仿真器軟件,將二進制數據文件data.bin轉換成為Intel HEX格式的顯示數據文件data.hex。

        當然,我們也可以使用單片機仿真器的應用軟件來直接加工顯示數據文件data.hex,但是這需要對具有二進制代碼的顯示數據進行軟件編程,因此不如上述方法簡潔。

        為了驗證設計的正確性,我們使用EDA工具軟件MAX+PLUSⅡ中的模擬仿真器,對通過編譯的漢字滾動顯示器的VHDL設計進行了模擬仿真驗證, 實驗證明漢字滾動和顯示掃描情況均正常,也就是說FPGA的內核硬件工作良好,可以正確地實現設計功能。

        此外,漢字滾動顯示器的VHDL軟核設計也被載入了根據圖1建造的真實硬件系統之中。對硬件系統的實驗驗證也獲得了與軟件模擬仿真結論相吻合的結果。

        因此,我們可以得出下列結論:

        1、 EDA技術不僅能降低數字電子系統設計的復雜性和難度,而且也能顯著地增強設計的靈活性;

        2、多種EDA工具的聯合應用,有助于提高設計效率和縮短設計周期;

        3、 利用EDA工具獲取的軟件模擬仿真結果具有同傳統硬件實驗數據一樣的重要性和可信度。■

         

        參考文獻

        1 Neil G. Jacobson. 用PLD器件增強嵌入式系統功能[J].電子工程專輯,2000(3)

        2 孟憲元. 可編程ASIC集成數字系統[M].北京:電子工業出版社,1998

        3 王曉軍. VHDL簡明教程[M]. 北京: 清華大學出版社, 1997

        led顯示器相關文章:led顯示器原理


        存儲器相關文章:存儲器原理




        關鍵詞: EDA IC設計

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 太仓市| 宝山区| 阳曲县| 清镇市| 景德镇市| 宝坻区| 桐柏县| 峨眉山市| 桂平市| 时尚| 军事| 连山| 宁城县| 龙南县| 福安市| 恩施市| 仪陇县| 合川市| 青神县| 潮州市| 伊川县| 淮安市| 商都县| 昌江| 洪湖市| 洞头县| 金昌市| 巫溪县| 巢湖市| 云龙县| 泗洪县| 华宁县| 昔阳县| 嘉禾县| 花莲市| 额济纳旗| 泸溪县| 巴塘县| 赫章县| 腾冲县| 金阳县|