關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > BRDF測量系統(tǒng)中高速串行接口的設(shè)計

BRDF測量系統(tǒng)中高速串行接口的設(shè)計

作者: 時間:2008-04-23 來源:網(wǎng)絡(luò) 收藏
摘要:本文探討了中利用串行接口芯片EZ-USBFX2實現(xiàn)PC機與光譜儀之間的通訊。給出了系統(tǒng)組成原理,USB接口芯片EZ-USBFX2CY7C68013的功能介紹和基于“SlaveFIFOs”方式實現(xiàn)通訊的軟硬件設(shè)計方法。
關(guān)鍵詞串口通訊光譜儀EZ-USBFX2

Abstract: The paper primarily discusses high-speed serial communication between personal computer and radiometer based on serial interface EZ-USB FX2 in measuring system. System principle,the description of EZ-USB FX2 CY7C68013, the hard ware design and the software design have been present.

Key Words: BRDF,Serial Communication,Radiometer,EZ-USB FX2

1. 引言

在遙感領(lǐng)域中,遙感信息定量化及多角度遙感的發(fā)展都要求獲取測量目標的BRDF(雙向反射比分布函數(shù))。這就需要一種可同時測量陽光入射輻照度和樣品反射輻亮度的,而一個好的通訊將會在很大程度上提高整個系統(tǒng)的工作效率,也會給使用者帶來極大方便。傳統(tǒng)的主機與外設(shè)的通訊接口一般是基于PCI總線、ISA總線或者是RS-232C串行總線。PCI總線插拔麻煩,且擴展槽有限(一般為5~6個),ISA總線存在同樣的問題,RS-232C串行總線傳輸速度慢(56kbps),且主機的串口數(shù)目也有限。通用串行總線(Universal Serial Bus,簡稱USB)具有安裝方便、高帶寬、易擴展等優(yōu)點。本文探討一下在BRDF中利用EZ-USB FX2實現(xiàn)通訊的軟硬件設(shè)計方法。

2. 系統(tǒng)組成

2.1 測量系統(tǒng)的特點

測量系統(tǒng)可以在室外自然條件下完成樣品上半球BRDF數(shù)據(jù)的測量和采集。模塊化設(shè)計,使其可拆卸運輸,組裝方便。系統(tǒng)中的光譜輻亮度計和輻照度計均可作為獨立的儀器使用,配備主動光源后,可在室內(nèi)進行BRDF測量。它可同時測量陽光入射輻照度和樣品反射輻亮度,顯著降低測量周期內(nèi)太陽高度角和大氣條件改變對測量結(jié)果的影響,提高了測量精度。

2.2系統(tǒng)總體框圖

圖1測量系統(tǒng)總體框圖

測量系統(tǒng)總體框圖如圖1所示。該系統(tǒng)由光學探測頭和控制箱兩個主要部分組成,光學探測頭安裝于天頂弧小平臺上,二者由電纜進行連接。測量系統(tǒng)工作時,光輻射信號經(jīng)光柵分光后,由線陣探測器接收所得到的在一定波長范圍內(nèi)的光譜輻射信號,轉(zhuǎn)換成相應(yīng)大小的模擬電信號。所得到的模擬電信號通過長電纜傳輸至控制箱里,再由單片機控制進行A/D轉(zhuǎn)換、多條曲線平均、插值等處理,完成后將多條光譜數(shù)據(jù)存入大容量的靜態(tài)存儲器中。最后,控制箱再通過USB2.0高速串行接口將數(shù)據(jù)傳輸至系統(tǒng)控制主機(PC機)。

3. 通訊接口硬件設(shè)計方案

3.1 EZ-USB FX2 CY7C68013功能介紹

EZ-USB FX2 CY7C68013是世界上第一款集成USB2.0的微處理器,它集成了USB2.0收發(fā)器、SIE(串行接口引擎)、增強的8051微控制器和可編程的外圍接口。該芯片的結(jié)構(gòu)圖如圖2所示。

圖2 EZ-USB FX2模塊

FX2這種獨創(chuàng)性結(jié)構(gòu)可使數(shù)據(jù)傳輸率達到56Mbytes/s,即USB2.0允許的最大帶寬。在FX2中,智能SIE可以處理許多USB1.1和USB2.0協(xié)議,從而減少了開發(fā)時間和確保了USB的兼容性。GPIF(General Programmable Interface)和主/從端點FIFO(8位或16位數(shù)據(jù)總線)為ATA、UTOPIA、EPP、PCMCIA和DSP等提供了簡單和無縫連接接口。

其主要特性如下:

●帶有加強的8051內(nèi)核性能,可達到標準8051的5~10倍,且與標準8051的指令完全兼容;

●集成度高,芯片內(nèi)部集成有微處理器、RAM、SIE(串行接口引擎)等多個功能模塊,從而減少了多個芯片接口部分需要時序配合的麻煩;

●具有易用的軟件開發(fā)工具,該芯片開發(fā)系統(tǒng)的驅(qū)動程序和固件的開發(fā)和調(diào)試相互獨立,可加快開發(fā)的速度。

3.2 方案選擇

FX2有三種可用的接口模式:端口模式、GPIF主控模式和Slave FIFOs模式。

在“端口”模式下,所有I/O引腳都可作為8051的通用I/O口?!癎PIF主控”接口模式使用PORTB和PORTD構(gòu)成通向四個FX2端點FIFO( EP2 EP4?EP6 EP8)的16位數(shù)據(jù)接口。GPIF作為內(nèi)部的主控制器與FIFO直接相連,并產(chǎn)生用戶可編程的控制信號與外部接口進行通信。同時,GPIF還可以通過RDY引腳采樣外部信號并等待外部事件。在Slave FIFOs模式下,外部邏輯或外部處理器直接與FX2端點FIFO相連。在這種模式下,GPIF不被激活,因為外部邏輯可直接控制FIFO。這種模式下,外部主控端既可以是異步方式,也可以是同步方式,工作時鐘可選為內(nèi)部產(chǎn)生或外部輸入,其它控制信號也可靈活地設(shè)置為高有效或低有效。為了充分利用EZ-USB FX2內(nèi)部的特殊機制來達到更高的傳輸速率,我們采用Slave FIFO模式。在整個傳輸過程中,并不要求8051對數(shù)據(jù)進行處理,采用自動打包的方式(置AUTOIN=1),數(shù)據(jù)經(jīng)過FIFO直接發(fā)送到PC機。圖3所示是EZ-USB FX2在Slave FIFOs模式下與外部電路連接的示意圖。

圖3 EZ-USB FX2在“Slave FIFOs模式”

4. 系統(tǒng)軟件設(shè)計

4.1 設(shè)備固件(Firmware)設(shè)計

CYPRESS公司的EZ-USB FX2開發(fā)套件提供給用戶一個固件函數(shù)庫(Ezusb.lib)和固件框架(Frame work),兩者均是基于KEIL C51進行開發(fā)的。固件函數(shù)庫提供了一系列的函數(shù)來加速USB固件程序的開發(fā),使用時只需在程序中包含EZUSB.H和EZREGS.H兩個頭文件,并在項目中鏈接Ezusb.lib就可以直接使用固件庫中的各個函數(shù)了。

在使用固件框架來進行特定的固件開發(fā)時,固件框架已經(jīng)幫我們實現(xiàn)了初始化、重枚舉、源管理等功能。對用戶而言,只需要在固件架構(gòu)的預(yù)留位置處添加代碼,就可以完成特定的功能,從而開發(fā)出一個功能完善的USB外設(shè)。在TD_init()函數(shù)中添加功能代碼,完成初始化以及端點配置等工作,并在TD_poll()函數(shù)中添加其它代碼來完成各種輔助功能。

固件初始化代碼如下:?

void TD_Init(void)

{

CPUCS = ((CPUCS bmCLKSPD) | bmCLKSPD1) ; //設(shè)置CPU時鐘為48Mhz

EP2CFG = OxAO; // EP2為bulk傳輸方式,方向OUT,尺寸512,4倍緩沖

EP4CFG = 0x00; // EP4 未使用

EP6CFG = OxEO; // EP6為bulk傳輸方式,方向IN,尺寸512,4倍緩沖

FIFORESET=0x80;//設(shè)置NAKALL bit

FIFORESET=0x02;

FIFORESET=0x06;//復(fù)位EP6 FIFO

FIFORESET=0x00;//清空NAKALL位,恢復(fù)至一般操作模式

EP2FIFOCFG=0x01;//設(shè)置EP2 FIFO

EP2FIFOCFG = 0x11; //設(shè)置EP2 FIFO自動輸出模式

EP6FIFOCFG = 0x09; //設(shè)置EP6 FIFO自動輸入模式

EP6AUTOINLENH=0x06;//EP6每次自動傳輸1024字節(jié)

……

}

void TD_Poll(void)

{

//因為設(shè)置為自動傳輸模式,所以此函數(shù)中不必添加任何代碼

}

4.2主機應(yīng)用程序設(shè)計

應(yīng)用程序設(shè)計由兩個部分組成:動態(tài)鏈接庫和應(yīng)用程序。動態(tài)鏈接庫負責與內(nèi)核態(tài)的USB功能驅(qū)動程序通信并接收應(yīng)用程序的各種操作請求,而應(yīng)用程序則負責對所采集的數(shù)據(jù)進行實時顯示、分析和存盤。應(yīng)用程序使用VC++6.0進行開發(fā)。

EZ-USB FX2開發(fā)套件提供了主機端驅(qū)動程序(ezusb.sys),可適用于絕大多數(shù)實際應(yīng)用。在編寫主機應(yīng)用程序的時候,只需調(diào)用相應(yīng)的WIN32 API函數(shù)向驅(qū)動程序提交各種申請,就能由驅(qū)動程序來完成相應(yīng)的讀、寫數(shù)據(jù)等各種功能。

void TransferThread(PTHREAD_CONTROL threadControl)

{

threadControl->status = DeviceIoControl (threadControl->hDevice,

threadControl->Ioctl,

threadControl->InBuffer,

threadControl->InBufferSize,

threadControl->OutBuffer,

threadControl->OutBufferSize,

threadControl->BytesReturned,

NULL);

// 調(diào)用DeviceIocontrol()函數(shù)

if (threadControl->completionEvent)

SetEvent(threadControl->completionEvent);

return;

}

應(yīng)用程序首先調(diào)用API函數(shù)Createfile()打開設(shè)備,并返回設(shè)備的句柄,然后調(diào)用DeviceIocontrol()函數(shù),通過返回的句柄把申請服務(wù)的代碼(IOCTL)和相應(yīng)的輸入輸出緩沖區(qū)提交給驅(qū)動程序,由驅(qū)動程序完成相應(yīng)的服務(wù)。

5. 結(jié)論

本文介紹了BRDF測量系統(tǒng),給出了在此系統(tǒng)中利用串行接口芯片EZ-USB FX2實現(xiàn)PC機與光譜儀之間高速串行通訊的軟硬件設(shè)計方法。經(jīng)調(diào)試運行證明,該設(shè)計方案可以實現(xiàn)PC機與光譜儀之間的高速串行通訊。

本文作者創(chuàng)新點:

BRDF測量系統(tǒng)對遙感信息定量化及多角度遙感的發(fā)展都有很大幫助.在此系統(tǒng)中,利用Cypress公司提供的開發(fā)套件開發(fā)USB2.0高速串行接口可以在很大程度上節(jié)省學習時間,加快開發(fā)速度。所開發(fā)的高速串行接口具有可靠性高、抗干擾性強、連接簡單,便于數(shù)據(jù)傳輸和處理等優(yōu)點,因而具有良好的應(yīng)用前景和很大的實用價值。

參考文獻:

[1] 栗兆劍,高岳,白力?;赩isual C++.NET的照度信號串口通信[J].微計算機信息, 2004,20-8:66-67,32。

[2] 馬明建。數(shù)據(jù)采集與處理技術(shù)[M].西安交通大學出版社。2005(3)。

[3] 龔建偉,熊光明。Visual C++/Turbo C串口通信編程實踐[M].電子工業(yè)出版社。2004(10)

[4] 王宇明.遙感技術(shù)及其應(yīng)用[M].人民交通出版社。1991(7)。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉