基于軟核CPU技術(shù)的IP電話接口設(shè)計(jì)
2.2.2 音頻輸入及編解碼
音頻輸入及編解碼電路是通過Wolfson公司的WM8731編解碼器(編碼器和解碼器)實(shí)現(xiàn)的。它可以提供高質(zhì)量的24 b/s音頻,由一系列的I2C總線接口控制,這些接口連接到Cyclone II FPGA的引腳上。硬件電路如圖4所示。本文引用地址:http://www.ex-cimer.com/article/158140.htm
3 軟核CPU的構(gòu)建
Altera推出的Nios/NiosⅡ系列嵌入式處理器擴(kuò)展了目前世界上最流行的嵌入式軟核處理器的性能,是Altera公司為其FPGA產(chǎn)品配套開發(fā)的軟核CPU。在邏輯功能上,它們是32 b的精簡指令集CPU,用戶可以獲得超過200 DMIPS(Dhrystone Millions of Instructions Per Sec―ond,百萬條指令/秒)的性能,并從三種處理器(e型、s型、f型)以及超過60個(gè)的IP核中選擇所需要的。NiosⅡ系統(tǒng)為用戶提供了最基本的多功能性,設(shè)計(jì)師可以據(jù)此創(chuàng)建一個(gè)最適合他們需求的嵌入式系統(tǒng)。Nios及NiosⅡ處理器通過FPGA編程的方式實(shí)現(xiàn)用戶所需,這是與傳統(tǒng)的CPU的一個(gè)根本的差別。
SOPC系統(tǒng)的平臺(tái)包括:Altera的Nios處理器、Aval―on總線,片內(nèi)外存儲(chǔ)器以及外設(shè)模塊等。利用SOPCBuilder,用戶可以很方便地將處理器、存儲(chǔ)器和其他外設(shè)模塊連接起來,形成一個(gè)完整的系統(tǒng)。其中,SOPC Build―er中已包含了Nios處理器和其他一些常用的外設(shè)IP模塊。用戶也可以設(shè)計(jì)自己的外設(shè)IP。
可見,利用SOPC的軟核CPU技術(shù)在以下方面具有很大的技術(shù)優(yōu)勢:提高系統(tǒng)性能;更低的系統(tǒng)成本;應(yīng)對(duì)產(chǎn)品的生命周期;功能強(qiáng)大、易用的開發(fā)工具等。
SOPC Builder是QuartusⅡ附帶的一個(gè)用來開發(fā)基于處理器、外圍以及存儲(chǔ)器的片上可編程系統(tǒng)的開發(fā)工具。SOPC Builder可以根據(jù)用戶的編輯實(shí)時(shí)地生成.ptf文件;系統(tǒng)PTF文件類似于一個(gè)數(shù)據(jù)庫文件,它存儲(chǔ)了系統(tǒng)模塊列表,模塊信息等。
在SOPC Builder環(huán)境里,用戶可以直接調(diào)用軟件提供的用于構(gòu)建CPU的基本模塊,也可以自定義模塊。本課題需要的模塊中,網(wǎng)絡(luò)接口與語音處理接口需要自定義,在構(gòu)建前必須有二者的源文件,設(shè)計(jì)采用了Verilog HDL書寫源程序,事先寫好了DM9000A.v和Open_I2C.v兩個(gè)底層程序。
前述SDRAM接口、鍵盤輸入接口、網(wǎng)絡(luò)接口芯片接口、音頻處理接口和I2C接口均連接到Avalon總線,相當(dāng)于總線的外掛設(shè)備。構(gòu)建完成,選擇自動(dòng)生成地址,其結(jié)果如圖5所示。
構(gòu)建完成后生成(Generate).bsf格式文件system.bsf,轉(zhuǎn)到QuartusⅡ環(huán)境下可以直接調(diào)用,相當(dāng)于一個(gè)自定義的控制器芯片。
4 接口電路的軟件設(shè)計(jì)
4.1 軟件設(shè)計(jì)
作為IP網(wǎng)絡(luò)的一個(gè)端點(diǎn),IP電話必須像其他IP終端一樣,為其分配IP地址、子網(wǎng)掩碼、缺省路由器、DNS(Do―main Name System,域名系統(tǒng))等。同時(shí)它存在自動(dòng)和人-工兩種配置方式,自動(dòng)方式的IP電話必須使能DHCP(Dynamic Host Configuration Protocol,動(dòng)態(tài)主機(jī)分配協(xié)議),手動(dòng)方式由用戶對(duì)IP電話配置必要的信息。整個(gè)IP終端的軟件設(shè)計(jì)包括了主控制器、網(wǎng)絡(luò)接口、音頻輸入/輸出口和可選擇的存儲(chǔ)器等部分的設(shè)計(jì),其軟件系統(tǒng)結(jié)構(gòu)如圖6所示。
首先使用SOPC Builder系統(tǒng)工具構(gòu)建了一個(gè)NiosCPU作為整個(gè)系統(tǒng)的處理器核,它的Avalon總線對(duì)其他接口及控制器進(jìn)行指令和數(shù)據(jù)傳輸,包括:由內(nèi)部定時(shí)器控制的Avalon總線;為Nios CPU配置了JATG通用異步收發(fā)器UART;為可選擇的片外存儲(chǔ)器配備了專用存儲(chǔ)器接口;控制語音輸入輸出的音頻數(shù)據(jù)接口,實(shí)現(xiàn)語音編解碼的控制和流處理;以太網(wǎng)接口負(fù)責(zé)CPU與DM9000A的數(shù)據(jù)收發(fā)和協(xié)議轉(zhuǎn)換;
評(píng)論