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