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

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

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





