專利名稱:高速浮點dsp處理器的以太網接口與tcp/ip協議實現技術的制作方法
技術領域:
本發明涉及電子與通訊技術領域,尤其是高速浮點DSP處理器的以太網接 口與TCP/IP協議實現技術。
背景技術:
自十多年前浮點數字信號處理器(Digital Signal Processors)誕生以來,便為 實時信號處理提供了運算上更為先進的備選方案。
浮點DSP處理器較之于定點DSP處理器,有如下優勢(1)浮點DSP比定 點DSP的動態范圍大。32位浮點運算DSP的動態范圍可以達到1536dB,不僅 得到了極高的運算精度,還大大節省了運算時間和存儲空間。減少了移位、溢出 等問題的檢查。(2)由于浮點DSP處理器可以在單周期內完成一條浮點運算。 因而其處理速度遠高于定點DSP。這一優點在實現高精度復雜算法時尤為突出, 為復雜算法的實時處理提供了保證。(3)浮點DSP處理器也可以支持定點數據 的存儲于運算,其操作更為靈活。
鑒于以上優勢,浮點DSP處理器備越來越多的應用于語音識別、實時視頻 信號處理、雷達和聲納信號處理等領域。然而,工程師們更多的關注于浮點DSP 的高速運算能力,而忽略了發掘其對數據的高速傳輸功能。國內大部分浮點DSP 應用系統,都是釆用串口、 USB 口等接口進行數據傳輸的,在一定程度上限制 了高速浮點DSP處理器的應用。
以太網接口是一種先進的儀器接口,其傳輸速度從20世紀90年代的 10Mbps,迅速發展到了現在的10Gbps,但其硬件引線定義一直不變,為接口的 更新換代提供了極大的便利。其高速、便利、遠距離、即插即用等優勢,更使國 際上很多著名儀器公司將其作為最佳接口方案。
高速浮點DSP處理器雖然可以實現高精度和高速度運算,但其驅動能力較 弱,不易實現以太網接口。而且,由于一般的TCP/IP代碼未考慮到在浮點處理 器上運行的特殊性,故不適宜移植到高速浮點DSP處理器中。國內只有極少數 在浮點DSP處理器外圍架設以太網接口的實例,但其控制邏輯處理不夠,不能移植到其他處理器中,且未考慮TCP/IP協議的高效實現。
發明內容
本發明的目的是提供一種高速浮點DSP處理器的以太網接口與TCP/IP協議 實現技術,針對現有技術的問題,從硬件設計上解決通用高速浮點DSP處理器 外圍假設以太網接口問題,并實現TCP/IP協議在浮點DSP處理器上的高效運行, 從而使高速浮點DSP系統可以達到高速運算、高精度運算、高速傳輸的特性。
為了達到上述目的,本發明所采用的技術方案為
高速浮點DSP處理器的以太網接口與TCP/IP協議實現技術,其特征在于-所述技術步驟為
(1) 采用以太網適配器和高速浮點DSP處理器,將高速浮點DSP處理器 的低16位數據線與以太網適配器的數據線引腳一一對接,高速浮點DSP處理器 的五根地址線引腳與以太網適配器的五根地址線引腳一一對接,所述高速浮點 DSP處理器與以太網適配器的其他地址線引腳接地,所述以太網適配器的O號中 斷引腳與所述高速浮點DSP處理器的5號中斷引腳對接,所述以太網適配器通 過數據線與上位機連接;
(2) 將以太網適配器設置成采用中斷模式和査詢模式相結合的通信方式, 首先將以太網適配器設置成停止模式,經過一定的延時后,清除以太網適配器中 寄存器的標志位,然后依次配置接收緩沖區起始頁、配置接收緩沖區結束頁、配 置讀指針寄存器、配置寫指針寄存器、配置中斷屏蔽寄存器、配置DMA寄存器 和設置多點播送參數,最后將以太網適配器設置成正常工作模式;
(3) 在高速浮點DSP處理器中采用C語言與匯編語言混合編寫實現TCP/IP 協議的程序,所述實現TCP/IP協議的程序流程如下首先令高速浮點DSP處理 器接收中斷信號,如接收到中斷信號,則高速浮點DSP處理器判斷當前指針寄 存器的值是否等于邊界指針寄存器的值,如果等于,則跳回開始重新接收中斷信 號,如果不等,則高速浮點DSP處理器判斷有新數據;高速浮點DSP處理器判 斷有新數據后,則判斷新數據是否為ARP協議,如果是ARP協議,則高速浮點 DSP處理器提取協議中信息,如果不是ARP協議,高速浮點DSP判斷新數據是 否為UDP協議,如果是UDP協議,則處理UDP報文并提取光譜信息,處理UDP 報文并提取光譜信息后,等待下一個中斷信號,如果不是UDP協議,則高速浮點DSP處理器重新接收中斷信號;
(4)在上位機中用Visual 。++語言首先調用Windows下的網絡編程規范 Windows Sockets,再在上位機中調用Windows Sockets中針對Windows的擴展庫 函數,并利用Windows的消息驅動機制,通過操作套接字Sockets來編寫實現 TCP/IP協議的程序,首先在上位機中調用Socket ()函數,在函數中建立流式 套接字,完成后返回套接字號,其次調用bind()函數,將套接字與遠程主機相 連,然后調用send () /recv ()函數,在套接字上讀寫數據,直到數據交換完成, 最后調用closesocket ()函數,關閉套接字,結束通信。
所述的高速浮點DSP處理器的以太網接口與TCP/IP協議實現技術,其特征 在于所述以太網適配器的型號為RTL8019AS,所述高速浮點DSP處理器的型 號為TMS320C6713,所述以太網適配器與所述高速浮點DSP處理器之間還連接 有型號為SN74LVTH16245的雙向總線驅動器。
本發明設計了 DSP控制以太網適配器的邏輯電路;實現了以太網適配器的 底層驅動;將TCP/IP協議在浮點DSP處理器上高效實現;設計了作為網絡客戶 端的上位機的通信程序。本發明經過試驗驗證,當作為客戶端的上位機向浮點 DSP系統發送數據時,DSP處理器通過以太網適配器響應中斷并讀取數據,中 斷響應時間小于lms。當DSP處理器通過以太網適配器向外部發送數據時,上 位機可以正確讀取數據,以太網接口的通信能力可達80M bit/s。
圖1為本發明系統構造示意圖。
圖2為JTAG信號增強模塊原理示意圖。
圖3為TCP/IP協議中的數據報格式示意圖。
圖4為本發明一個具體實施例示意圖。
圖5為以太網適配器的底層驅動流程圖。
圖6為TCP/IP協議在浮點DSP處理器上高效實現的程序流程圖。 圖7為上位機的通信程序流程圖。
具體實施方式
高速浮點DSP處理器的以太網接口與TCP/IP協議實現技術,所述技術步驟
為
(1) 參見附圖1和附圖2。采用以太網適配器和高速浮點DSP處理器,所 述以太網適配器的型號為RTL8019AS,所述高速浮點DSP處理器的型號為 TMS320C6713,所述以太網適配器與所述高速浮點DSP處理器之間還連接有型 號為SN74LVTH16245的雙向總線驅動器。將高速浮點DSP處理器的低16位數 據線與以太網適配器的數據線引腳一一對接,高速浮點DSP處理器的五根地址 線引腳與以太網適配器的五根地址線引腳一一對接,所述高速浮點DSP處理器 與以太網適配器的其他地址線引腳接地,所述以太網適配器的0號中斷引腳與所 述高速浮點DSP處理器的5號中斷引腳對接,所述以太網適配器通過數據線4 與上位機連接;
本發明中,高速浮點DSP處理器控制以太網適配器的邏輯電路,以太網適 配器選用REALTEK公司的RTL8019AS,該芯片是一款高集成的IOM全雙工以 太網接口控制器。RTL8019AS可以按16位總線模式讀取。高速浮點DSP處理 器一般使32位處理器,因此,需將其低16位與RTL8019AS的數據線一一對接。 RTL8019AS地址線有20根,高速浮點DSP處理器為達到運行高速,可采用DMA 方式發送數據,因此,地址線只連接了5根,其他地址線固定拉至低電平。采用 RTL8019AS的0號中斷與DSP的中斷5對接,即當RTL8019AS有數據流時, 高速浮點DSP處理器將會通過5號中斷響應。RTL8019AS為5V器件,而 TMS320C6713工作電壓是3.3V,所以二者之甜所有連接均通過SN74LVTH16245 進行隔離轉換。
(2) 參見附圖5。將以太網適配器設置成采用中斷模式和査詢模式相結合 的通信方式,首先將以太網適配器設置成停止模式,經過一定的延時后,清除以 太網適配器中寄存器的標志位,然后依次配置接收緩沖區起始頁、配置接收緩沖 區結束頁、配置讀指針寄存器、配置寫指針寄存器、配置中斷屏蔽寄存器、配置 DMA寄存器和設置多點播送參數,最后將以太網適配器設置成正常工作模式;
本發明中,DSP處理器啟動后,首先控制RTL8019AS,將其置于停止模式。 經過一定的延時后,清除寄存器的標志位。然后對RTL8019AS的寄存器位進行 配置,其中包括中斷寄存器、DMA寄存器等。最后,將芯片配置為正常工作模式,與外部網絡連接,從而實現以太網適配器的底層驅動。RTL8019AS提供兩 種通信模式,即中斷模式與査詢模式中斷模式是指,在新數據到達時,控制 RTL8019AS的處理器響應RTL8019AS相應管腳發出的中斷,從而得知有數據到 達并處理數據;査詢模式是通過CURR和BNRY兩個寄存器的值來判斷是否有 新數據,即當這兩個值不等時,表明接收到了新數據。為了提高光譜數據傳輸的 準確率,本設計采用了兩種模式相結合的方式。當有新數據到達時,DSP處理器 首先響應RTL8019AS的中斷,進入中斷服務子程序。在中斷服務子程序中,DSP 對CURR和BNRY兩個寄存器的值進行判斷,當兩個值不等時,認為有新數據 到達。
(3)參見附圖3和附圖6。在高速浮點DSP中采用C語言與匯編語言混合 編寫實現TCP/IP協議的程序,所述實現TCP/IP協議的程序流程如下首先令高 速浮點DSP接收中斷信號,如接收到中斷信號,則高速浮點DSP判斷當前指針 寄存器的值是否等于邊界指針寄存器的值,如果等于,則跳回開始重新接收中斷 信號,如果不等,則高速浮點DSP判斷有新數據;高速浮點DSP判斷有新數據 后,則判斷新數據是否為ARP協議,如果是ARP協議,則高速浮點DSP提取 協議中信息,如果不是ARP協議,高速浮點DSP判斷新數據是否為UDP協議, 如果是UDP協議,則處理UDP報文并提取光譜信息,處理UDP報文并提取光 譜信息后,等待下一個中斷信號,如果不是UDP協議,則高速浮點DSP重新接 收中斷信號;
本發明中TCP/IP協議在浮點DSP處理器上高效實現。嵌入式TCP/IP協議 族是一組不同層次上的協議組合。其層次由底而上分別為鏈路層、網絡層、傳輸 層和應用層。在TCP/IP協議中,以太網數據報的封裝是在RFC894中規定的。 同時,考慮到浮點DSP處理器數據運算格式的特殊性,將數據報中的數據內容 按照浮點格式打包。嵌入式TCP/IP主要包括實現IP地址到物理地址動態映射的 ARP協議,其中包括ARP請求和ARP應答;實現網際傳輸的IP協議;檢測主 機是否可達的ping應答和端口不可達的ICMP協議;實現數據快速簡單傳輸的 UDP協議;實現數據可靠傳輸的TCP協議。其中UDP和TCP兩種不同傳輸層 協議應用于不同的場合,在不同的應用中可以只加載一種協議模塊,也可以同時 支持這兩種協議。實現協議的代碼采用C語言和匯編語言混合編程的方式,匯編語言參考TI公司的TMS320C6000的匯編指令結構。所有代碼在TI公司提供 的DSP開發環境CCS中調試,并最終燒錄到DSP外圍的FLASH存儲器中。系 統上電時,將自動從FLASH存儲器中引導程序。
(4)參見附圖7。在上位機中用Visual C+十語言首先調用Windows下的網 絡編程規范Windows Sockets,再在上位機中調用Windows Sockets中針對 Windows的擴展庫函數,并利用Windows的消息驅動機制,通過操作套接字 Sockets來編寫實現TCP/IP協議的程序,首先在上位機中調用Socket ()函數, 在函數中建立流式套接字,完成后返回套接字號,其次調用bind ()函數,將套 接字與遠程主機相連,然后調用send () /recv ()函數,在套接字上讀寫數據, 直到數據交換完成,最后調用closesocket ()函數,關閉套接字,結束通信。
本發明中上位機中編寫通信程序。Windows操作系統已經將TCP/IP協議做了 適當封裝,所以,在PC機上實現TCP/IP協議較為方便。在Visual 。++可以直接 調用Windows下的網絡編程規范——Windows Sockets。 Windows Sockets是一種 支持多種協議的網絡編程接口,本設計調用其中包含的針對Windows的擴展庫 函數,并利用Windows的消息驅動機制進行編程。協議的實現過程是通過操作 套接字(Sockets)來完成的。
參見附圖4。在實際的系統中,根據需要用計算機產生模擬高精度光譜數據, 并將光譜數據進行運算處理,將其高速發送給某處理器控制的雙口RAM中,可 將本發明應用在系統中。在實施例中,本發明采用TMS320C6713 DSP為CPU, 即高速浮點DSP處理器。采用RTL8019為以太網適配器。計算機直接與DSP實 現的以太網接口通過網線相接。計算機實時產生模擬高精度光譜數據,并以UDP 協議將光譜數據發送給DSP處理器。數據格式按照浮點格式打包。TMS320C6713 以TCP/IP協議接收數據,并進行運算處理,將處理后的數據通過共享雙口RAM 的方式發送給外部處理器。以太網接口的通信能力可達80Mbit/s。
9
權利要求
1、高速浮點DSP處理器的以太網接口與TCP/IP協議實現技術,其特征在于所述技術步驟為(1)采用以太網適配器和高速浮點DSP處理器,將高速浮點DSP處理器的低16位數據線與以太網適配器的數據線引腳一一對接,高速浮點DSP處理器的五根地址線引腳與以太網適配器的五根地址線引腳一一對接,所述高速浮點DSP處理器與以太網適配器的其他地址線引腳接地,所述以太網適配器的0號中斷引腳與所述高速浮點DSP處理器的5號中斷引腳對接,所述以太網適配器通過數據線與上位機連接;(2)將以太網適配器設置成采用中斷模式和查詢模式相結合的通信方式,首先將以太網適配器設置成停止模式,經過一定的延時后,清除以太網適配器中寄存器的標志位,然后依次配置接收緩沖區起始頁、配置接收緩沖區結束頁、配置讀指針寄存器、配置寫指針寄存器、配置中斷屏蔽寄存器、配置DMA寄存器和設置多點播送參數,最后將以太網適配器設置成正常工作模式;(3)在高速浮點DSP處理器中采用C語言與匯編語言混合編寫實現TCP/IP協議的程序,所述實現TCP/IP協議的程序流程如下首先令高速浮點DSP處理器接收中斷信號,如接收到中斷信號,則高速浮點DSP處理器判斷當前指針寄存器的值是否等于邊界指針寄存器的值,如果等于,則跳回開始重新接收中斷信號,如果不等,則高速浮點DSP處理器判斷有新數據;高速浮點DSP處理器判斷有新數據后,則判斷新數據是否為ARP協議,如果是ARP協議,則高速浮點DSP處理器提取協議中信息,如果不是ARP協議,高速浮點DSP判斷新數據是否為UDP協議,如果是UDP協議,則處理UDP報文并提取光譜信息,處理UDP報文并提取光譜信息后,等待下一個中斷信號,如果不是UDP協議,則高速浮點DSP處理器重新接收中斷信號;(4)在上位機中用Visual C++語言首先調用Windows下的網絡編程規范Windows Sockets,再在上位機中調用Windows Sockets中針對Windows的擴展庫函數,并利用Windows的消息驅動機制,通過操作套接字Sockets來編寫實現TCP/IP協議的程序,首先在上位機中調用Socket()函數,在函數中建立流式套接字,完成后返回套接字號,其次調用bind()函數,將套接字與遠程主機相連,然后調用send()/recv()函數,在套接字上讀寫數據,直到數據交換完成,最后調用closesocket()函數,關閉套接字,結束通信。
2、根據權利要求1所述的高速浮點DSP處理器的以太網接口與TCP/IP協 議實現技術,其特征在于所述以太網適配器的型號為RTL8019AS,所述高速 浮點DSP處理器的型號為TMS320C6713,所述以太網適配器與所述高速浮點 DSP處理器之間還連接有型號為SN74LVTH16245的雙向總線驅動器。
全文摘要
本發明針對高速浮點DSP處理器的特點,為其設計了一種以太網接口方案,并將TCP/IP協議在DSP高速浮點處理器上高效實現。發明內容包括接口的硬件邏輯設計、以太網適配器的底層驅動實現、TCP/IP協議在浮點DSP處理器上的實現,以及上位機通訊程序設計。本發明解決了高速浮點DSP處理器往往不能高速傳輸數據的問題。本發明具有很強的通用性,適用于任何浮點處理器。
文檔編號H04L29/10GK101594364SQ20091011712
公開日2009年12月2日 申請日期2009年6月23日 優先權日2009年6月23日
發明者蘭天鴿, 方勇華, 偉 熊, 董大明 申請人:中國科學院安徽光學精密機械研究所