目前,電子產品的生命周期越來越短,許多消費類電子產品的生命周期只有一年左右,所以必須縮短產品的開發(fā)周期,而可編程邏輯器件與固定邏輯器件相比,可大大縮短開發(fā)周期。可編程邏輯器件將逐漸替代大部分的固定邏輯器件。軟核處理器的出現(xiàn)以及可編程邏輯器件片上存儲容量的增大,使得可編程邏輯器件可以覆蓋數(shù)字電子領域中的所有應用。
SOPC是在一個可編程芯片上實現(xiàn)一個電子系統(tǒng)的技術。SOPC是基于可編程邏輯器件PLD(FPGA或CPLD)可重構的SOC。SOPC集成了硬核或軟核CPU、DSP、鎖相環(huán)(PLL)、存儲器、I/O接口及可編程邏輯功能,可以靈活高效地解決SOC方案,而且設計周期短,設計成本低。基于SOPC的設計在很大程度上依賴于利用集成電路IP(Intellectual Property,知識產權的簡稱)。Nios II是一種軟核(Soft-Core)處理器,是指未被固化在硅片上,使用時需要借助EDA軟件對其進行配置并下載到可編程芯片(比如FPGA)中的IP核。軟核最大的特點就是可由用戶按需要進行配置。
本設計構建了一個功能全面的多媒體娛樂平臺,集SD卡音樂播放、卡拉OK、圖片瀏覽和電子鐘等功能于一身。
音樂播放和卡拉OK功能都是由DE2開發(fā)板的音頻輸入/輸出實現(xiàn)。DE2的音頻輸入/輸出由Wolfson公司的低功耗立體聲24位音頻編/解碼芯片WM8731完成。WM8731包含了線路輸入、麥克風輸入及耳機(音響)輸出。兩路線路左、右聲道能以1.5dB的步距在+12~-34.5dB范圍內進行對數(shù)音量調節(jié),完成A/D轉換后,還可以進行高通數(shù)字濾波,有效濾除輸入信號中的直流成分。一路麥克風輸入可以在-6~34dB范圍內進行音量調節(jié)。這三路輸入都有單獨的靜音功能。D/A轉換器輸入、線路輸入旁路及麥克風輸入經過側音電路后可相加作為輸出以驅動耳機(RHPOUT和LHPOUT)。DE2平臺上的LINE OUT可以直接驅動耳機。LINE IN經過隔直電容輸入,而MIC IN則直接輸入。充分利用了24位立體聲音頻編/解碼芯片WM8731高性能、低功耗的優(yōu)點,可聽到音質較好的音樂。
SD卡作為大容量的存儲器,已經成為數(shù)碼產品首選的存儲設備,用于存儲圖像、音頻等數(shù)據(jù)。本設計是將wav格式的音樂保存在SD卡中,Nios II處理器從SD卡中讀取音樂數(shù)據(jù),并通過CD音質的音頻編/解碼器WM8731播放音樂。音頻編/解碼器被配置為從模式,需要外部電路為其提供A/D轉換器(D/A轉換器)串行時鐘(BCK)及左/右通道時鐘(LRCK),如圖1所示。圖中用一個音頻DAC控制器產生時鐘及數(shù)據(jù)控制信號,然后將該音頻DAC控制器集成在Avalon總線上,Nois II處理器通過Avalon總線來控制音頻DAC控制器。
在本設計中,用DE2平臺的LINE IN、LINE OUT和麥克風實現(xiàn)卡拉OK機的功能。由FPGA將WM8731配置為主模式工作,即由音頻解碼器WM8731自動產生A/D轉換器(D/A轉換器)、串行數(shù)據(jù)位時鐘BCK及左/右聲道時鐘LRCK。FPGA通過I2C接口配置音頻編/解碼器WM8731,通過配置從LINE IN輸入的音頻數(shù)據(jù)與從MIC IN輸入的音頻數(shù)據(jù)混合后通過LINE OUT輸出,音頻采樣速率為48kHz。
圖片瀏覽功能由彩色液晶顯示模塊實現(xiàn)。本設計的TFT_LCD采用Terasic公司設計的一款名為TRDB_LTM的彩色液晶顯示子開發(fā)板。該子開發(fā)板是針對DE2開發(fā)板設計的一款液晶顯示模塊。主要參數(shù)為:4.3英寸屏,點陣為480×800,長寬比15∶9,有效顯示面積93.6×56.16mm。可以接收RGB格式的數(shù)據(jù),支持RGB24位并行數(shù)據(jù)接口,通過3線串行接口與LTM內部的寄存器交換數(shù)據(jù)來實現(xiàn)顯示控制和功能選擇。
電子鐘由系統(tǒng)板所帶50MHz時鐘信號經分頻作為時鐘源,輸入至電子鐘模塊進行計數(shù),分別輸出年月日時分秒的BCD碼信號,再經過定義DE2_Card_Audio的NiosII處理器處理之后,由16x2字符型帶背光液晶顯示模塊LCD1602作為顯示輸出。三個按鍵分別控制當前時鐘的模式和時鐘的加減調節(jié)。所以,電子鐘是由軟硬件協(xié)同設計的。
16×2液晶顯示模塊LCD1602中16×2內部的字符發(fā)生存儲器(CGROM)已經存儲了160個不同的點陣字符圖形,這些字符有阿拉伯數(shù)字、英文字母的大小寫、常用的符號和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母“A”。電子鐘時、分、秒、年、月、日由VHDL所描述的硬件電路實現(xiàn)。
圖1 SD卡音樂播放器原理框圖
本設計是完全基于FPGA/NiosⅡ的全新開發(fā)概念。充分采用了軟核處理器的開發(fā)思想以及Altera DE2開發(fā)平臺,使系統(tǒng)具有開發(fā)周期短、易于維護、功能模塊化等特點。通過設計控制模塊,減少了硬件電路的復雜性,即兼顧功能,又降低了設計成本。載入更新的軟核系統(tǒng)就能夠實現(xiàn)硬件升級。
本設計可以依據(jù)不同的需求,選取不同的功能,并利用NiosII占用FPGA資源少和可裁剪性等特點,完全做到了系統(tǒng)體系的精簡化和作品的低成本。使其在目前的多媒體娛樂市場上具有很高的競爭力,并且應用前景廣泛。用基于FPGA的SOPC技術提高系統(tǒng)穩(wěn)定性,使用NiosII提供的多種硬件加速方式,如自定義用戶指令,自定義用戶外設等大大提高運算速度,使算法和控制的實時性得到了有效的保證。
[1]王誠,吳繼華,范麗珍等.Altera FPGA/CPLD設計(基礎篇)[M].北京:人民郵電出版社,2005.
[2]Altera Corporation.Cyclone II Device Handbook,Volume 1.2008.
[3]張志剛.FPGA與SOPC設計教程——DE2實踐[M].西安:西安電子科技大學出版社,2007.
[4]DE2 Development and Education Board User Manual.Altera Corporation,2009.
[5]Altera Corporation.Nios II Software Developer's Handbook.2009.
[6]Altera Corporation.Nios II Flash Programmer User Guide.2009.
[7]蔡偉綱.NIOS II軟件架構解析[M].西安:西安電子科技大學出版社,2007.