0 引言
隨著信息科學(xué)的快速發(fā)展,人們對數(shù)據(jù)采集后的信號形式的要求越來越多,單一的信號形式已經(jīng)沒有辦法滿足實際工程的需要。網(wǎng)絡(luò)信號、USB總線信號、RS232總線信號以及CAN總線信號等形式是目前應(yīng)用比較廣的總線形式,但它們之間的互換仍然存在問題,一直受到復(fù)雜的網(wǎng)絡(luò)協(xié)議所限。而對于網(wǎng)絡(luò)信號的轉(zhuǎn)換,都得通過復(fù)雜的算法才能實現(xiàn),因而無法滿足對時實性要求較高的場合。
1 系統(tǒng)總體設(shè)計
本文給出的基于CO2128器件的網(wǎng)絡(luò)信號轉(zhuǎn)換平臺主要通過CO2128提供的端口來實現(xiàn)CAN總線、RS232總線、USB總線及網(wǎng)絡(luò)端口間的相互
轉(zhuǎn)換。該設(shè)計在保證數(shù)據(jù)準(zhǔn)確的前提下,減少系統(tǒng)開銷和提高速度是本設(shè)計的重點。通過設(shè)計,進而能夠構(gòu)成一個中型/大型的遠程監(jiān)控/數(shù)據(jù)傳輸網(wǎng)絡(luò),其中CAN-以太網(wǎng)設(shè)備的功能是實現(xiàn)從CAN總線數(shù)據(jù)到以太網(wǎng)數(shù)據(jù)的“透明”傳輸。本設(shè)計的總體結(jié)構(gòu)如圖1所示。
2 硬件設(shè)計
2.1 CO2128簡介
CO2128SEC固件可支持10個同時主動的TCP/UDP Socket連接、兩個偵聽Socket和一個加密SSL3/TLS1 Socket。其加密特性包括一個硬件隨機數(shù)字產(chǎn)生器、SHA-1/256加密Hash加速器、AES-128/192/256加密加速器、3DES和SSL3/TLSI、WEP、WPA以及WPA2 WiFi加密。同時還配置了在LAN/WiFi和PSTN/GRPS/CDMA間的路由IP包。在這種稱為iRouter的模式下,多個iChip可在沒有AP的情況下組成一個ad-hoc網(wǎng)絡(luò)。
CO2128SEC可以在主處理器的內(nèi)存中保存Intemet協(xié)議棧和配置參數(shù)。該固件能夠從CO2128SEC外部SPI Flash運行。也可以通過RS-232、兩線制接口、SPI或USB來裝載固件。該芯片內(nèi)部包括一個32位ARM7TDMI RISC處理器內(nèi)核、256KB的SRAM以及可訪問外部存儲器或通訊設(shè)備的BUS,同時集成了BootLoader,能通過接口從主處理系統(tǒng)裝載固件。CO2128SEC的外圍設(shè)備包括帶有RMII的10/100BaseT以太網(wǎng)MAC、USART、兩個SPI、兩線制接口、HPI和EBI高速并行接口。此外,還具有多種節(jié)能工作模式。
iChipSec CO2128器件克服了加密的端對端IP通訊的所有復(fù)雜障礙。它不需要大量地改編程序,因為CO2128使用.AT+i API,因而從主機設(shè)備卸載了WiFi驅(qū)動、安全加密和網(wǎng)絡(luò)協(xié)議等荷載,從而大大減輕了主處理器的負擔(dān)。CO2128可支持LAN、WiFi和所有撥號上網(wǎng)/無線網(wǎng)絡(luò)接入類型,它內(nèi)置充分安全的TCP/IP協(xié)議棧和上層協(xié)議(如SMTP、POP3、MIME、HTTP、WAP、FTP和Telnet)。同時包含一個完整的Web服務(wù)器,可用于芯片參數(shù)配置和簡單的應(yīng)用程序管理。該芯片可利用十個同時的TCP/UDP Socket和二個偵聽的Socket以及POP3、SMTP、MIME、FTP、Telnet、HTTP/HTTPS客戶端,支持SerialNET模式。而且在此模式下,iChip可截取AT+i命令并讓主設(shè)備進入Intemet模式。此后,iChip將透明發(fā)送主設(shè)備發(fā)來的任何AT命令到通訊設(shè)備。
2.2 DM9161收發(fā)器
DM9161是一種100/10M自適應(yīng)快速以太網(wǎng)物理層單片收發(fā)器,可支持自動路由功能和自動的協(xié)議選擇功能。同時,由于其內(nèi)部具有需延修整功能的網(wǎng)絡(luò)濾波器,所以,其外圍電路不需要增加濾波器,這樣可以減小外部輔助電路。
2.3 DSP芯片
本設(shè)計中使用的DSP是TI司的TMS320LF2407,這款DSP具有SCI和CAN總線接口,并可以通過簡單的程序快速地實現(xiàn)兩種信號的轉(zhuǎn)換。TMS3 20LF2407采用高性能靜態(tài)CMOS技術(shù),供電電壓為3.3 V,故可減小控制器的功耗。30MIPS的執(zhí)行速度使得指令周期縮短到33 ns,從而提高了控制器的實時控制能力。
但在設(shè)計網(wǎng)絡(luò)接口時,要十分注意PCB板的信號線布局。通常要把網(wǎng)絡(luò)變壓器放在距離DM9161和RJ45插座盡量近的地方,且距離DM9161不能超過20 mm;把50Ω的終端電阻放在離網(wǎng)絡(luò)變壓器和DM9161的RX+-,TX+-引腳盡量近的地方。50歐電阻和RX、TX的接地電容需放在DM9161附近,不能超過10 mm;25 MHz晶體不能放在重要信號周圍。從DM9161的RX到網(wǎng)絡(luò)變壓器和RJ45的走線必須對稱、直接、平行并靠攏。不要走直角、走45度。布RX和TX時,應(yīng)避免使用過孔。RX、TX、CLK和電源走線要求盡量短。RX和TX不能交叉,相距要在3 mm以上,最好在之間布根地線。從DM9161的RX和TX對到RJ45之間不要走任何數(shù)字線路。要保持這兩對信號遠離其它信號和大地。在網(wǎng)絡(luò)變壓器和RJ45下面決不能有地平面或電源平面。所有RJ45的終端引腳(4,5,7,8)和網(wǎng)絡(luò)變壓器必須緊靠在一起并通過一顆電阻和0.01 μF/2 kV電容接地。BANDGAP電阻必須布在盡量靠近47和48腳旁邊(不超過3 mm)。應(yīng)避免讓任何高速信號位于這個電阻附近(到晶振必須大于3 mm)。圖2所示是本系統(tǒng)物理層和網(wǎng)絡(luò)接口的硬件電路。
3 系統(tǒng)軟件設(shè)計
利用程序可以完成二部分功能。一是驅(qū)動CO2128,這部分通常由專用軟件來完成;另一部分就是DSP的信號轉(zhuǎn)換程序,其具體程序流程
如圖3所示。
3.1 CO2128驅(qū)動及網(wǎng)絡(luò)參數(shù)設(shè)置
驅(qū)動CO2128及IP/TCP參數(shù)的設(shè)置均可由iehip提供的專用程序來實現(xiàn),該程序的操作界面簡單,操作靈活方便。修改后的網(wǎng)絡(luò)參數(shù)都由一個FLASH存儲,每次開機自動調(diào)入到CO2128內(nèi)部的存儲器中,無須重新設(shè)置,其參數(shù)設(shè)置界面示意圖如圖4所示。
3.2 DSP驅(qū)動及轉(zhuǎn)換程序
DSP初始化程序如下:
*SCSR1=0X81FE;*WDCR=0X0a8;∥啟動看門狗
asm (“SETC INTM”);∥禁止總中斷
*IMR=0X0017;∥11,65.4321,SCI接收中斷在intl,定時器1中斷在int2,CAN中斷在int5,ADC中斷在int6
*IFR=0XOFFFF;
*EVAIFRA=*EVAIFRA|0x0ffff;∥清除定時器1中斷標(biāo)志
*EVAIMRA=*EVAIMRA|0x0ffff;∥允許定時器1中斷
*T1CON=0x1700;∥預(yù)分頻值為128,*T1PER=0x0f424;∥200ms
*T1CNT=0x00;∥定時器清零 *T2CON=0x1700;∥預(yù)分頻值為128
*T2PER=0x0006;∥5-16微秒*T2CNT=0x00;∥定時器清零
*MCRA=0x7;∥*MCRA=(*MCRA) |0X3;*XINT1CR=0x0005;∥外部中斷控制寄存器
asm(“CLRCINTM”);∥開中斷
4 結(jié)束語
通過實際測試證明,該設(shè)計的串口的速度可以達到20 kb/s,誤碼率小于10-9,完全可以滿足實際工程需要。本設(shè)計中的網(wǎng)絡(luò)信號接收模塊電路和RS232轉(zhuǎn)CAN總線模塊電路還可以分別將信號處理后的數(shù)據(jù)直接送到顯示設(shè)備輸出。另外。本設(shè)計的可移植性較強,各個模塊電路可以分別安裝調(diào)試,因而具有很好的靈活性。