摘要:本文詳細(xì)介紹了一種基于TMS320VC5509A DSP和W5100芯片的視覺傳感器的設(shè)計(jì)。提出了一種TCP/IP視覺傳感器的研究方案。并詳細(xì)分析了這一方案的硬件模塊設(shè)計(jì),基于DSP/BIOS軟件模塊設(shè)計(jì)和實(shí)現(xiàn)。
關(guān)鍵詞:TCP/IP;DSP/BIOS;DSP;視覺傳感器;W5100
引言
檢測技術(shù)是現(xiàn)代工業(yè)生產(chǎn)的基礎(chǔ)技術(shù)之一,是保證產(chǎn)品質(zhì)量的關(guān)鍵。機(jī)器視覺檢測采用了大量的自動(dòng)化、智能化技術(shù),整個(gè)檢測過程可以自動(dòng)地完成。由于機(jī)器視覺高精度、非接觸性、高速性、自動(dòng)化程度高等優(yōu)點(diǎn),使其在現(xiàn)代工業(yè)生產(chǎn)的檢測領(lǐng)域得到了廣泛的應(yīng)用。而這一切都依賴于高性能的視覺傳感器的研究。
視覺傳感器的通信接口種類比較少,多為傳統(tǒng)的RS-232,RS485接口。數(shù)據(jù)交換速度慢,已經(jīng)不能滿足日益增長的數(shù)據(jù)傳輸要求。然而基于Internet的遠(yuǎn)程控制系統(tǒng)能夠通過Internet進(jìn)行數(shù)據(jù)采集、遠(yuǎn)程控制、快速的上傳/下載數(shù)據(jù)文件。從而極大的提高了視覺傳感器的性能。為此本文提出了一種基于W5100芯片的TCP/IP視覺傳感器設(shè)計(jì)方案,并給予了實(shí)現(xiàn)。

基于TCP/IP的視覺傳感器的設(shè)計(jì)
硬件模塊設(shè)計(jì)
TMSVC5509A是TI公司推出的一款高性能、低功耗定點(diǎn)DSP芯片。其最高時(shí)鐘可以達(dá)到200MHz,內(nèi)部有兩個(gè)MAC和兩個(gè)ALU,使最快操作數(shù)達(dá)到400MIPS,具有一條32位程序數(shù)據(jù)總線,5條16位的數(shù)據(jù)總線和6條24位的程序和數(shù)據(jù)地址總線。在存儲(chǔ)空間上,TMSVC5509A具有128K×16的片上RAM和64K Bytes片上ROM。外部最大可擴(kuò)展16M Bytes的SDRAM的存儲(chǔ)容量。TMSVC5509A的這些性能已經(jīng)滿足了一般視覺傳感器的需求。
目前,我們常用的嵌入式TCP/IP基本上是采用軟件來實(shí)現(xiàn)TCP/IP協(xié)議棧。這種設(shè)計(jì)開發(fā)周期長,且比較消耗片上資源。為此筆者提出了一種直接采用TCP/IP硬件協(xié)議棧芯片W5100的設(shè)計(jì)方案。如圖1所示,系統(tǒng)由采集模塊、存儲(chǔ)模塊、DSP和通信模塊組成。采集模塊由CMOS、FIFO和CPLD組成。存儲(chǔ)模塊外擴(kuò)了FLASH和SDRAM,而通信模塊主要是由串口和以太網(wǎng)組成。

本設(shè)計(jì)采用的是WIZnet公司最新推出的固件網(wǎng)絡(luò)芯片W5100,它是在W3150A+的基礎(chǔ)上,集成了以太網(wǎng)物理層RTL8201CP核,因此W5100集TCP/IP協(xié)議棧、以太網(wǎng)MAC和PHY為一體。W5100支持TCP,UDP,ICMP,IGMP,IPv4,ARP,PPPoE,Ethernet等網(wǎng)絡(luò)協(xié)議;支持4個(gè)獨(dú)立的Socket通信,最大通信速率可達(dá)25Mbps。
W5100具有Direct、Indirect BUS和SPI三種接口模式,用戶可以根據(jù)自己的實(shí)際情況選擇合適的模式。本系統(tǒng)針對(duì)系統(tǒng)的速度要求,采用的是Direct Bus模式與DSP系統(tǒng)的并行總線相連。系統(tǒng)連接框圖如圖2所示。由于5509A(LQFP)只有14條地址線,而W5100有15條地址線,所以需要地址線擴(kuò)展,在本系統(tǒng)中采用GPIO線擴(kuò)展地址線A14。
W5100與主MCU采用中斷的方式進(jìn)行通信,以太網(wǎng)模塊被客戶端喚醒,接收到控制命令,則通過中斷觸發(fā)啟動(dòng)對(duì)W5100的接收數(shù)據(jù)讀取和數(shù)據(jù)的發(fā)送。
以太網(wǎng)接口設(shè)計(jì)需要網(wǎng)絡(luò)隔離變壓器起信號(hào)傳輸、阻抗匹配、波形修復(fù)、雜波抑制以及高電壓隔離等作用,以保護(hù)系統(tǒng)的安全。傳統(tǒng)的設(shè)計(jì)將RX+/RX-、TX+/TX-接到網(wǎng)絡(luò)隔離變壓器上,再由變壓器引出相應(yīng)信號(hào)連接到RJ45接口上,網(wǎng)絡(luò)模塊以標(biāo)準(zhǔn)RJ45接口與以太網(wǎng)相連。而在本系統(tǒng)的設(shè)計(jì)中采用的FGYDFNW2是一個(gè)帶有變壓器的RJ45,這樣又使設(shè)計(jì)變得更為小巧,使結(jié)構(gòu)更緊湊。

軟件模塊設(shè)計(jì)
BIOS是DSP開發(fā)環(huán)境CCS(CodeComposer Studio)中的一個(gè)可裁剪的可搶占式實(shí)時(shí)操作內(nèi)核,而且自帶許多分析工具,可以實(shí)現(xiàn)多線程(即多任務(wù))間的通信和同步等問題。
在本系統(tǒng)中線程的選取如圖3,因?yàn)橐曈X傳感器主要用于生產(chǎn)線上的檢測和控制,所以對(duì)其通信時(shí)間要求較為嚴(yán)格,所以我們采用HWI(HardWare Interrupts)這一具有最高優(yōu)先權(quán)的線程。由于當(dāng)命令信號(hào)給圖像處理系統(tǒng)后,必須很快進(jìn)入工作狀態(tài),對(duì)時(shí)間的要求較為嚴(yán)格,故任務(wù)初始化模塊采用優(yōu)先級(jí)僅次于HWI的SWI(SoftWareInterrupts)線程;而對(duì)圖像我們是周期性采集的,所以采用CLK(Clock)線程。CLK線程本質(zhì)上是HMI線程;由于圖像處理部分的程序結(jié)構(gòu)相對(duì)復(fù)雜一點(diǎn),為簡化設(shè)計(jì),圖像輸入模塊、圖像處理模塊、圖像輸出模塊均采用TSK(Task)線程,而且經(jīng)實(shí)驗(yàn)驗(yàn)證,采用流水優(yōu)化后,CPU還有余量,所以這樣的考慮是合理的。
在上述系統(tǒng)中,網(wǎng)絡(luò)模塊起著通信和數(shù)據(jù)傳輸?shù)碾p重作用。工作在服務(wù)器模式下的嵌入式系統(tǒng),其編程流程圖如圖4所示:對(duì)W5100初始化,初始化SOCKET,打開SOCKET后進(jìn)入監(jiān)聽狀態(tài);直到被客戶端喚醒即接收到連接信號(hào),建立連接;并收到來自客戶端的命令,根據(jù)命令完成相應(yīng)的操作,這一操作具有最高優(yōu)先權(quán)。若為FIN斷開連接命令,則斷開由客戶端至服務(wù)器SOCKET的連接;若已經(jīng)完成整個(gè)連接的命令,則發(fā)送斷開連接命令,斷開整個(gè)SOCKET的連接,得到確認(rèn)信號(hào),關(guān)閉SOCKET。
速度測試及其結(jié)果
我們采用抓包程序Ethereal對(duì)數(shù)據(jù)傳輸速度進(jìn)行了測試。我們分別對(duì)發(fā)送數(shù)據(jù)量為100kbyte,200kbyte和300kbyte進(jìn)行了測試,實(shí)驗(yàn)結(jié)果如表1所示。對(duì)于本系統(tǒng)每幀640×480像素大小的圖像。這樣的速度可以達(dá)到約10幀/s。滿足系統(tǒng)對(duì)于實(shí)時(shí)數(shù)據(jù)傳輸要求。
結(jié)語
本系統(tǒng)屬于多任務(wù)調(diào)度和同步實(shí)時(shí)系統(tǒng),DSP/BIOS多線程設(shè)計(jì)方案加快了設(shè)計(jì)開發(fā),并達(dá)到了很好的性能;硬件TCP/IP協(xié)議棧芯片的使用,可以免除對(duì)大量底層TCP/IP協(xié)議細(xì)節(jié)的了解。可以很方便的實(shí)現(xiàn)開發(fā)系統(tǒng)的網(wǎng)絡(luò)化。