一、系統(tǒng)概述
(1)高度集成化。該終端一個突出特點是便攜,那么在設(shè)計該終端時應(yīng)該選用集成度高的設(shè)計芯片。ALTERA公司的可編程邏輯器件正好符合這一要求,尤其是可編程邏輯的固有優(yōu)勢集成到嵌入處理器的開發(fā)流程中,我們就會擁有非常成功的產(chǎn)品。基于PLD的處理
器恰恰具有應(yīng)用所需的特性。一旦定義了處理器之后,設(shè)計者就“具備”了體系結(jié)構(gòu),可放心使用。因為PLD和嵌入處理器隨即就生效了,可以馬上開始設(shè)計軟件原型。CPU周邊的專用硬件邏輯可以慢慢地集成進(jìn)去,在每個階段軟件都能夠進(jìn)行測試并解決遇到的問題。另外,軟件組町以對結(jié)構(gòu)方面提出一些建議,改善代碼效率和/或處理器性能,這些軟、硬件權(quán)衡可以在硬件設(shè)計過程中完成。
器件相似的結(jié)構(gòu),有著和StartiX相似的性能,但去掉DSP塊、。MegaRAM,降低LVDS接口速率等指標(biāo),以適應(yīng)大多數(shù)設(shè)計的要求,同時分擔(dān)用戶所面臨的成本壓力。
商品條形碼GPRS信息查詢終端要完成的主要功能是對商品的條形碼掃描,并通過以太網(wǎng)或者GPRS與相應(yīng)服務(wù)器連接以讀取該商品信息,最終在監(jiān)視器上顯示該商品的生產(chǎn)商、生產(chǎn)日期、批準(zhǔn)文號、有效期等全部或者部分商品信息。實現(xiàn)方法是通過激光掃描手柄掃描讀取商品條形碼或者在沒有激光掃描手柄的時候手動輸入商品條形碼,在有以太網(wǎng)連接網(wǎng)絡(luò)的情況下通過以太網(wǎng)接口連接到商品條形碼信息服務(wù)器。如果沒有以太網(wǎng)連接則采用GPRS連接服務(wù)器,將掃描得到的信息送到服務(wù)器驗證,并且在監(jiān)視器上顯示服務(wù)器返回的關(guān)于該商品的各種信息。
嵌入式32位Nios II微處理器。
1M字節(jié)(可擴展)系統(tǒng)RAM。
2M字節(jié)的Flash存儲器。
10BASE—T以太網(wǎng)控制接口。
AV接口支持LCD監(jiān)視器、CRT監(jiān)視器和普通電視機作為顯示設(shè)備。
通用數(shù)字I/O,PS2鍵盤接口。
軟硬件結(jié)合實現(xiàn)’TCP/IP或UDP協(xié)議,使網(wǎng)絡(luò)速度更快;支持Web Server等網(wǎng)絡(luò)應(yīng)用方案。12V±5%直流電源供電,工作溫度一lO℃~65℃。
本系統(tǒng)的構(gòu)成如圖1所示。

五、設(shè)計描述
設(shè)計描述分硬件和軟件兩個部分。硬件部分主要包括GPRS功能模塊、IC卡讀卡器模塊、SRAM和Flash芯片以及各種接口等;軟件部分主要完成檢測IC卡,連接網(wǎng)絡(luò)服務(wù)器,通過人機界面進(jìn)行實時信息交互等。
整個系統(tǒng)通過Nios II軟核處理器控制,SOPC Builder’負(fù)責(zé)添加各種外設(shè)、邏輯模塊,并分配地址空問、中斷優(yōu)先級,采用全新的具有Windows界面風(fēng)格的Nios II集成環(huán)境IDE開發(fā)和調(diào)試軟件程序,極大地簡化了系統(tǒng)設(shè)計。
1.硬件部分
(1)GPRS功能的實現(xiàn):采用了市售的通用帶GPRS功能的GSM模塊,具體為Telit公司的GM862模塊;GSM模塊和Nios處理器之間的通信采用AT命令,這樣可以簡化產(chǎn)品設(shè)計。
(2)SRAM和:Flash的選用:SRAM選用了SOPC Builder標(biāo)準(zhǔn)配置的兩片IDT71V416,F(xiàn)lash也選用SOPC Builder中原有的AMD系列的AM291N017D。
(3)以太網(wǎng)芯片的選用:以太網(wǎng)芯片采用DVICOM的DM9000,這與SOPC Builder。中提供的以太網(wǎng)接口芯片不兼容,為此.我們自行編寫了該芯片的驅(qū)動程序。
(4)IC卡讀卡器及顯示接口:使用FPGA中的邏輯單元自行設(shè)計硬件接口模塊,其中讀卡器接口模塊中成功地設(shè)計了曼切斯特解碼模塊;顯示接口電路也采用通用邏輯單元設(shè)計,包括對顯示器接口已有字庫的處理。
(5)掃描手柄及鍵盤:掃描手柄使用UART接口,鍵盤采用PIO接口,這些都是通過SOPC BuildeI軟件提供的IP核來實現(xiàn)的。
2.軟件部分

六、系統(tǒng)特點
(1)SOPC Builder中IP核的使用。我們在設(shè)計過程中,盡量使用SOPC Builder中已有的標(biāo)準(zhǔn)配置IP核,如UART、Flash、SRAM等,這樣可以縮短開發(fā)時間,提高系統(tǒng)可靠性。但考慮到實際情況,我們又不得不參照SOPC中提供的類似IP來自行設(shè)計一些自己需要的IP核,如以太網(wǎng)接口部分、顯示接口部分。從設(shè)計成果來看,自行設(shè)計的IP核還是比較成功的。
(2)輕便和便攜特性。采用AITERA公司的嵌入了Nios軟核處理器的FPGA開發(fā)的產(chǎn)品具備高度集成的特點,在一塊Cyclone芯片中我們不僅集成了一個CPU,而且CPU周邊的硬件邏輯也可以一塊集成進(jìn)去。我們還利用該芯片內(nèi)的邏輯單元設(shè)計了曼切斯特解碼模塊以及顯示接口模塊等,從而使該芯片的外圍接口電路盡可能減少,達(dá)到高度集成的日的使該產(chǎn)品突出了便于攜帶的特性。
(3)低成本,高性價比特性。由于我們在產(chǎn)品的FPGA中采用了性價比極高的Cyclone芯片,再加上NiosII嵌入式處理器的完美結(jié)合,大大降低了該產(chǎn)品核心處理器部分的成本,而且該產(chǎn)品其他模塊及芯片同樣采用高性價比產(chǎn)品,這樣就能在不改變設(shè)備功能的基礎(chǔ)上降低設(shè)備成本,提高整機性價比。
(4)有線和無線通信方式兼?zhèn)洹T谠O(shè)計之初,我們考慮了兩種與服務(wù)器的通信方式,即以太網(wǎng)方式和GPRS方式,以方便用戶因地制宜,擇優(yōu)選用。在有以太網(wǎng)的條件下選用以太網(wǎng)連接,可以提供相對較高的傳輸速率和可靠的連接;在沒有以太網(wǎng)連接的條件下選用GPRS連接進(jìn)行通信,可以使該產(chǎn)品在有移動網(wǎng)絡(luò)信號覆蓋的區(qū)域內(nèi)隨時隨地進(jìn)行通信,突破了該產(chǎn)品使用地點的限制。
(5)良好的系統(tǒng)擴展和升級空間。我們采用的ALTERA公司的可編程邏輯器件本身就具有易于擴展和升級的固有特性,現(xiàn)在我們把可編程邏輯的固有優(yōu)勢集成到嵌入式處理器的開發(fā)流程中,于是開發(fā)出了非常成功的產(chǎn)品。這些特性為該產(chǎn)品的升級和擴展提供了廣闊的窄問。我們不僅可以對系統(tǒng)集成的軟件程序進(jìn)行更新升級,而且還可以根據(jù)我們的需要在條件允許的情況下更改FPGA內(nèi)部的設(shè)計,更有利于產(chǎn)品的更新。
七、總結(jié)
在參加這次比賽之前,我們一直使用ALTERA公司的FPGA和CPLD開發(fā)相關(guān)的產(chǎn)品,對Nios處理器的了解只停留在ALTERA公司的網(wǎng)站以及駿龍公司的宣傳卜。本次Nios設(shè)計大賽給我們創(chuàng)造了一個良好的增強對Nios處理器感性認(rèn)識的機會。通過本次比賽,我們對Nios的全新的設(shè)計理念和特性有了深刻的體會。
1.處理器體系和開發(fā)流程
基于Nios處理器的系統(tǒng)采用新的處理器和新的設(shè)計流程。嵌入設(shè)計者采用C指令集作為嵌入設(shè)計的事實標(biāo)準(zhǔn)。ALTERA和Cygnus(現(xiàn)歸RedHat所有)密切合作定義指令集體系,這樣Cygnus可以很容易地導(dǎo)入和優(yōu)化他們的GNUPro Toolkit,這是絕大部分設(shè)計者非常熟悉的標(biāo)準(zhǔn)GNU環(huán)境。
現(xiàn)成的微控制器提供了定義明確的外設(shè)組,由制造商集成處理器和外設(shè)。町配置處理器讓設(shè)計者自行創(chuàng)建總線體系,定義存儲器映射和分配中斷優(yōu)先級,非常自由地完成更多的T作。ALTERA相信SOPC的優(yōu)勢會吸引嵌入設(shè)計者,條件是它的需求最小,風(fēng)險很低。
2.SOPC BUilder
我們認(rèn)為減輕設(shè)計者負(fù)擔(dān)的最佳途徑是把所有與處理器子系統(tǒng)相關(guān)的底層詳細(xì)資料集中到單個工具中,這個工具就是SOPC Builder’,它必須:第一,具有直觀的圖形用戶接口(GUI),便于設(shè)計者準(zhǔn)確地添加和配置系統(tǒng)所需的外設(shè),包括存儲器、定制外設(shè)和IP模塊:第二,自動完成系統(tǒng)集成工作,這樣我們就可以不必拘泥于定義存儲器映射、中斷控制和總線控制這樣的“制造商工作”。
GUI是更大的問題。它必須是直觀的,允許設(shè)計者配置復(fù)雜的系統(tǒng)。除了提供軟件和集成的OS之外,還包括定義具有多總線主設(shè)備、總線仲裁和DMA控制的系統(tǒng)。我們幽默地稱之為“庫一表接口”,它能自動地把部件添加到系統(tǒng)中,用戶從有效外設(shè)厙中進(jìn)行選擇。
3.自動生成和集成軟、硬件
當(dāng)用戶點擊“Generate”按鈕時,SOPC Builder會生成每個硬件部件以及連接部件的片內(nèi)總線結(jié)構(gòu)、仲裁和中斷邏輯。SOPC Builder’也會產(chǎn)生系統(tǒng)可仿真的RTL描述,以及為特定硬件配置設(shè)計的測試平臺,能夠(可選)把硬件系統(tǒng)綜合到單個網(wǎng)表中。
擁有了這些合適的部件,我們對自動硬件生成過程基本滿意,但是我們還需要滿足軟件設(shè)計者的要求。利用設(shè)計過程中采集的信息,我們設(shè)計的SOPC Builder?能夠生成C和匯編頭文件,這些頭文件定義了存儲器映射、中斷優(yōu)先級和每個外設(shè)寄存器窄間的數(shù)據(jù)結(jié)構(gòu)。這樣的自動生成過程幫助軟件設(shè)計者處理硬件潛在的變化性。如果硬件改變了,SOPC Builder會自動更新這些頭文件。SOPC Builder也會為系統(tǒng)中現(xiàn)有的每個外設(shè)生成定制的C和匯編函數(shù)庫。例如,如果系統(tǒng)包括一個UART,SOPC Builder-就會訪問UART的寄存器定義一個C結(jié)構(gòu),生成通過UART發(fā)送和接收數(shù)據(jù)的C和匯編例程。
4.系統(tǒng)擴展
為了允許第三方(如提供Nios相關(guān)產(chǎn)品的產(chǎn)商)像ALTERA一樣有效地管理SOPC部件,ALTERA不是把處理器簡單地接到SOPC Builder提供的標(biāo)準(zhǔn)外設(shè)上,而是開放了SOPCBuilder流程的硬件和軟件接口。
ALTERA圍繞著開放可擴展標(biāo)準(zhǔn)重新設(shè)計SOPC Builder,這個標(biāo)準(zhǔn)能夠生成和連接定制模塊,我們稱之為“部件”。在這個標(biāo)準(zhǔn)下,ALTERA定義了系統(tǒng)配置文件格式,叫做System PTF文件。該文件是系統(tǒng)的配方,它定義了SOPC Builder生成完整系統(tǒng)必需的詳細(xì)信息。ALTERA還定義了部件專用信息的文件格式,叫做Class PTF文件。Class PTF包含SOPC Builder配置和生成部件所需的詳細(xì)信息。
配置的另一部分是系統(tǒng)配置,用戶提供的有關(guān)處理器配置、外設(shè)連接等數(shù)據(jù)寫入System PTF中。當(dāng)這兩部分配置都完成后,SOPC Builder進(jìn)入到生成階段,生成設(shè)計的輸出文件。SOPC Builder查閱每個Class PTF文件,允許相關(guān)的部件生成程序,它們會正確地輸出特定系統(tǒng)配置的硬件和/或軟件文件。
簡單的部件生成程序可能每次都會輸出相同的文件:更多的可配置部件根據(jù)用戶輸入會生成完全不同的結(jié)構(gòu)。例如,Nios處理器中包括的UART可以配置為軟件控制波特率,以更多門換取更大的靈活性。這種配置選項由用戶在部件配置階段進(jìn)行設(shè)置,根據(jù)這個設(shè)計,UART生成程序產(chǎn)生所需UART。的硬件描述。在生成階段的最后一步,SOPC Builder創(chuàng)建適合于系統(tǒng)部件的總線結(jié)構(gòu),把所有的部件連接在一起。
5.Nios II集成環(huán)境(IDE)的應(yīng)用
本次設(shè)計采用全新的Nios II集成環(huán)境IDE,與原先的開發(fā)環(huán)境相比,所有的寄存器操作更簡單明了,使用和調(diào)試環(huán)境更加方便。而且原來的開發(fā)工具下載、調(diào)試過程不方便,一是程序通過串口下載速度太慢:二是不具備圖形化的編譯、調(diào)試環(huán)境。Nios lI IDE就可以通過JTAG—UART下載和調(diào)試,兼具Windows界面風(fēng)格。





