季國華
摘 要:在嵌入式系統(tǒng)中接入以太網(wǎng)包含了PC機+以太網(wǎng)+嵌入式設備的集中式方案、嵌入式系統(tǒng)+以太網(wǎng)控制模塊的分布式方案、RTOS+嵌入式系統(tǒng)微控制器方案、虛擬軟件包+嵌入式微控制器方案、EMIT協(xié)議和MCU+emgateway協(xié)議方案5種。文章使用的DSP芯片為TMS320F2812,選擇93C46以太網(wǎng)適配器,RTL8019AS作為以太網(wǎng)控制器芯片,將DSP芯片與以太網(wǎng)連接后,使用TCP/IP協(xié)議棧,從而完成了硬件系統(tǒng)的連接。之后進行軟件程序的設計,對DSP芯片和以太網(wǎng)控制芯片驅動數(shù)據(jù)執(zhí)行初始化,設計好中斷服務程序,以配合數(shù)據(jù)接收程序的運行,通過數(shù)據(jù)接收程序讀取網(wǎng)卡內部緩存幀,并最終存儲到內存中,再由數(shù)據(jù)發(fā)送程序將數(shù)據(jù)包發(fā)送到以太網(wǎng)中,從而完成了DSP與遠程PC機的網(wǎng)絡通信。
關鍵詞:DSP嵌入式系統(tǒng);DSP芯片;以太網(wǎng)適配器;以太網(wǎng)控制器芯片
嵌入式系統(tǒng)是一種以控制、監(jiān)控或輔助各種操作機器與設備為目的的裝置,是運用計算機技術,圍繞應用需求,對軟件硬件進行相應裁剪,使功能、成本、體積、功耗以及可靠性等都能適應相應要求的專用計算機系統(tǒng)。傳統(tǒng)的基于數(shù)字信號處理(Digital Signal Processing,DSP)的嵌入式系統(tǒng),主要是由DSP和微控制單元(Micro Control Unit,MCU)共同組成的[1]。MCU是一種主處理器,能夠發(fā)揮控制功能,進而完成系統(tǒng)內外的網(wǎng)絡傳輸,DSP則是一種協(xié)處理器,主要用以計算各類密集數(shù)值。隨著工控技術的發(fā)展,這些功能都能夠整合到一個單片處理器中,DSP芯片執(zhí)行數(shù)據(jù)處理功能,再運用網(wǎng)絡完成傳輸,成為一種更有適應性的應用工藝。將DSP嵌入式系統(tǒng)與以太網(wǎng)技術結合后,就能夠將數(shù)字化和網(wǎng)絡化相結合,從而提升DSP系統(tǒng)的應用價值。
1 嵌入式系統(tǒng)與以太網(wǎng)的連接方案
1.1 集中式
集中式嵌入是由一臺PC機前段接入以太網(wǎng),后端通過USB,CAN,RS-485,RS-232等接口連接嵌入式設備。網(wǎng)關上以TCP/IP協(xié)議棧為主,也可接入RS-485和RS-232等總線協(xié)議,從而使以太網(wǎng)能夠連接各個不同的子網(wǎng)和嵌入式設備,并進行通信。這一方案對于存儲器大小與設備運行速度要求不高,接口程序軟件設計數(shù)量也較少,軟件設計工作量低。但該方案需要通過計算機轉化網(wǎng)關協(xié)議,在嵌入式設備的分布范圍較大時,網(wǎng)絡通信而終會面臨較大的難度,同時計算機上需要有專用的協(xié)議轉換程序,而此程序軟件購自專門的開發(fā)商手中,成本較高。
1.2 分布式
分布式通信是在嵌入式系統(tǒng)中接入以太網(wǎng)控制模塊,使嵌入式設備能夠和以太網(wǎng)直接連接。要實現(xiàn)這種通信模式,可以通過3種方式:(1)實時操作系統(tǒng)(Real Time Operating System,RTOS)與TCP/IP協(xié)議棧結合,在嵌入式微處理器中運行以太網(wǎng)控制模塊,這種方式運行靈活、功能強大,但要求有極高的嵌入式微處理器性能,其中RTOS能夠滿足這一要求,但由于價格較高,因此導致連接成本高。(2)MCU與裁減TCP/IP協(xié)議棧相連接。在嵌入式微處理器中直接連接TCP/IP協(xié)議棧,通過輪詢和終端的方式控制外部設備,不需要再使用RTOS系統(tǒng),因此能夠降低成本。(3)MCU與TCP/IP硬件芯片相結合的方式。將搭載了TCP/IP協(xié)議棧的以太網(wǎng)控制芯片作為MCU的外圍設備,進行連接,對MCU性能要求較低,但較難完成MCU和TCP/IP控制芯片之間的網(wǎng)絡通信。
1.3 RTOS和嵌入式系統(tǒng)微控制器相結合
使用RTOS-32作為高檔單片機系統(tǒng)的開發(fā)設計軟件,處理嵌入式系統(tǒng)執(zhí)行TCP/IP協(xié)議的問題,WindowsCE與Linux是兩種使用較多的系統(tǒng)。這一方案需要以高檔單片機作為基礎,成本較高,開發(fā)周期也較長,且RTOS開發(fā)軟件和TCP/IP協(xié)議之間的針對性較差,會造成代碼冗余。
1.4 虛擬軟件包與嵌入式微控制器相結合
這種方案是將MCU和TCP/IP協(xié)議棧固定到嵌入式系統(tǒng)中,系統(tǒng)就能夠直接連接以太網(wǎng),不需要復雜的硬件電路,但需要較大容量的存儲器,當TCP/IP協(xié)議棧虛擬軟件包為固化模式時,還需要MCU有足夠快的運行速度。這一方案也是單片機系統(tǒng)與以太網(wǎng)直接連接的一種模式,計算機接入互聯(lián)網(wǎng)后就直接控制單片機系統(tǒng),單片機系統(tǒng)能夠直接利用互聯(lián)網(wǎng)直接發(fā)送數(shù)據(jù)信息到計算機上,從而實現(xiàn)遠程交互。
1.5 EMIT協(xié)議、MCU與emgateway協(xié)議相結合
通過以太網(wǎng)的EMIT協(xié)議、MCU的emnet協(xié)議相結合,最后由emateway協(xié)議連接以太網(wǎng),使嵌入式系統(tǒng)連接到以太網(wǎng)中。emgateway軟件應用廣泛,并且能夠支持TCP/IP協(xié)議,各種嵌入式設備中所搭載的程序都能夠獨立提供網(wǎng)絡通信服務,并準確識別emgateway中的通信指令,使嵌入式系統(tǒng)能夠準確高度設備的各種變量,并控制部分操作。
2 基于DSP嵌入式系統(tǒng)的網(wǎng)絡通信技術的硬件設計
嵌入式系統(tǒng)在接入以太網(wǎng)時,首要問題在于接口問題,選擇合適的網(wǎng)絡適配器是首要任務。以DSP芯片作為嵌入式系統(tǒng),通過RTL8019以太網(wǎng)控制器接入到以太網(wǎng)中[2]。
2.1 硬件設計總體方案
DSP芯片選擇TMS320F2812,該芯片中包含了四大模塊,分別為:主CPU模塊、以太網(wǎng)通信接口模塊、信號采集模塊以及人機接口模塊。主CPU負責運算與處理AD轉換后的外部設備信號;信號采集模塊則負責過濾并處理外部設備的數(shù)據(jù)信號,并利用AD轉換信號,再傳送到CPU模塊;以太網(wǎng)通信接口模塊則負責傳送CPU處理過的數(shù)據(jù)信號至上機位,再將上位機傳送過來的反饋信號或者人機接口指令傳輸?shù)紺PU模塊;人機接口模塊則負責實時顯示、查詢或修正數(shù)據(jù)。系統(tǒng)中包含了RJ45接口、RS-232接口、音頻輸入接口以及聯(lián)合測試工作組(Joint Test Action Group,JTAG)接口,有豐富的基礎功能。endprint
音頻信號采集電路由前置放大濾波、媒體接口連接器(Media Interface Connector,MIC)音頻輸入及抗混疊被3部分電路組成,DSP芯片中的AD收集通道負責輸入音頻信號,并通過DSP信號采集模塊分析頻譜并儲存分析數(shù)據(jù)。
以太網(wǎng)適配器選擇93C46,以太網(wǎng)通信接口模塊包含了RJ45接口、RTL8019AS控制器芯片、以太網(wǎng)適配器和信道隔離濾波器4個部分。適配器設置8位數(shù)據(jù)總線,能夠儲存嵌入式系統(tǒng)中的各類IP地址、物理地址以及子網(wǎng)掩碼等信息。
2.2 以太網(wǎng)芯片
以太網(wǎng)芯片使用RTL8019AS。該芯片有24位地址接口,還包含了16位數(shù)據(jù)接口,能夠執(zhí)行以太網(wǎng)媒介訪問層(Media Access Control,MAC)與物理層(Physical Layer,PHY)的全部功能,能夠滿足Ethernet II、10Bases、IEEE 802.3等多個標準,能夠在物理幀上實現(xiàn)檢驗和、幀頭以及幀起始定界符的功能,可以支持8位、16位兩種數(shù)據(jù)總線,最高速度可達10 MBPs,其睡眠模式能夠顯著降低功耗優(yōu)勢??刂破鲀炔考虞d了16 K靜態(tài)隨機存取存儲器(Static Random Access Memory,SRAM),能夠實現(xiàn)緩沖收發(fā),降低了對處理器的速率要求,可以連接到同軸電纜與雙絞線兩種電纜上,自動識別連接介質。
3 基于DSP嵌入式系統(tǒng)的網(wǎng)絡通信技術的軟件設計
3.1 初始化數(shù)據(jù)
接收傳送數(shù)據(jù)前,要先檢查RTL8019AS以太網(wǎng)芯片,并完成數(shù)據(jù)的初始化,使芯片能夠維持相應的工作模式。初始化工作主要是包含網(wǎng)卡物理地址的設置、緩沖區(qū)數(shù)據(jù)起始與結束頁地址的接收、中斷屏蔽寄存器、配置數(shù)據(jù)寄存器、接收與發(fā)送配置寄存器以及頁邊界指針寄存器BNRY等。
3.2 中斷服務程序設計
中斷服務程序關系到數(shù)據(jù)接收程序的運行,兩者互相配合才能有效運行。以太網(wǎng)控制芯片接收到網(wǎng)絡數(shù)據(jù)首幀數(shù)據(jù)包后,就會自動進行循環(huán)冗余碼校驗(Cyclic Redundancy Check,CRC),加快了中端程序處理速率。網(wǎng)卡成功接收到一幀完整的數(shù)據(jù)后,接收計數(shù)器加1,并向DSP系統(tǒng)發(fā)出中斷請求[3]。DSP在收到請求后,就會進入中斷服務程序,并接收網(wǎng)卡傳送過來的數(shù)據(jù)包。DSP出現(xiàn)錯誤時,就會丟失已經(jīng)接收到的數(shù)據(jù)包,并且使中斷請求無法發(fā)送至DSP。
3.3 數(shù)據(jù)接收程序設計
主程序檢查網(wǎng)卡時,當接收計數(shù)器顯示非0時,就會將數(shù)據(jù)接收程序調用至網(wǎng)卡內部緩存中,并開始讀取數(shù)據(jù),數(shù)據(jù)傳送到主機后,主機就會開始處理數(shù)據(jù)。幀的接收包含了兩個環(huán)節(jié),首先需要運用本地直接存儲器存?。―irect Memory Access,DMA),將幀放到接收緩存中,并由DMA從內在中讀取緩存數(shù)據(jù),接收網(wǎng)絡信道中的數(shù)據(jù)幀,同時由緩存接收網(wǎng)卡緩存,通過數(shù)據(jù)接收程序讀取緩存幀,最終存儲到內存中。
3.4 數(shù)據(jù)發(fā)送程序設計
網(wǎng)卡需要在發(fā)送狀態(tài)處于空閑時進行,發(fā)送程序中的主循環(huán)包含了多個循環(huán),每個循環(huán)可以多發(fā)送一個數(shù)據(jù)包,從而完成數(shù)據(jù)的發(fā)送,進而提高了程序發(fā)送效率。在傳送數(shù)據(jù)包時,首先要進行封裝,之后由DMA將數(shù)據(jù)包發(fā)送至網(wǎng)卡,并儲存在緩沖區(qū)中,再由網(wǎng)卡中的DMA將數(shù)據(jù)發(fā)送至先入先出(First In First Out,F(xiàn)IFO)存儲器,再將數(shù)據(jù)發(fā)送到以太網(wǎng)中。
4 結語
在嵌入式系統(tǒng)中接入以太網(wǎng)有多個不同的方案,在選擇方案時,要結合成本、傳輸速率要求、數(shù)據(jù)包大小等因素選擇,以TMS320F2812DSP芯片為基礎,選擇93C46以太網(wǎng)適配器,將RTL8019AS作為以太網(wǎng)控制器芯片,在主程序的控制下,通過初始化、中斷服務程序、數(shù)據(jù)接收與發(fā)送程序的運行,就能夠完成數(shù)據(jù)網(wǎng)絡通信工作。
[參考文獻]
[1]鄭珩.基于以太網(wǎng)接入嵌入式系統(tǒng)的DSP設計[J].信息安全與技術,2015(8):45-47.
[2]顧六平.嵌入式系統(tǒng)以太網(wǎng)接入中DSP的設計與實現(xiàn)[J].電子測試,2013(5s):64-65.
[3]劉一萱.基于DSP嵌入式系統(tǒng)網(wǎng)絡通信技術應用[J].科學與財富,2017(15):133.
Abstract:In the embedded system to access Ethernet includes five kinds of solutions, namely centralized solutions of PC + Ethernet + embedded devices, distributed solutions of embedded systems + Ethernet control module, microcontroller solutions of RTOS + embedded system, microcontroller solutions of Virtual Packages + Embedded, EMIT protocols and MCU + emgateway protocols. This article chooses TMS320F2812 DSP chip, 93C46 Ethernet adapter and RTL8019AS Ethernet controller chip, after connecting the DSP chip with Ethernet, the TCP / IP protocol stack is used to complete the hardware system connection. After this, the article carries on the software program design, carries on the initialization to the DSP chip and the Ethernet control chip driver data, designs the interrupt service program to cooperate with the data receiving program operation, through the data receiving procedure reads the network card internal cache frame, and eventually the data is stored in memory, and then the data sending program sends the data packet to the Ethernet to complete the network communication between the DSP and the remote PC.
Key words:DSP embedded system; DSP chip; Ethernet adapter; Ethernet controller chipendprint