国产在线中文字幕亚洲,一区视频国产精品观看,欧美日韩国产高清片,久久久久久AV无码免费网站,亚洲无码一二三四五区,日韩无码www.,sese444

您好,歡迎來到維庫電子市�(chǎng)�(wǎng) 登錄 | 免費(fèi)注冊(cè)

適配�
閱讀�17183�(shí)間:2010-10-28 13:29:45

  適配器通俗一�(diǎn)說就是一種起中間連接作用的配�,使用這種配件的作用在于簡化主�(jī)的硬件設(shè)�(jì),增加主�(jī)的通用性和靈活性�

�(guān)于USB的CAN總線�(shè)�(jì)

  �(xiàn)�(chǎng)總線作為二十世紀(jì)80年代�(fā)展起來的新興技�(shù),在工業(yè)�(xiàn)�(chǎng)已有了廣泛的�(yīng)�。在比較有影響力的幾種現(xiàn)�(chǎng)總線�,CAN總線以其突出的優(yōu)�(diǎn)不僅大量�(yīng)用于工業(yè)�(xiàn)�(chǎng),而且在樓宇自�(dòng)�、智能終端設(shè)備等民用�(lǐng)域也有了長足的發(fā)��

  �(xiàn)�(chǎng)總線�(wǎng)�(luò)技�(shù)的實(shí)�(xiàn)需要與�(jì)算機(jī)相結(jié)�。以往CAN總線�(wǎng)�(luò)與計(jì)算機(jī)的連接采用RS232、ISA或PCI接口。但是隨著計(jì)算機(jī)接口技�(shù)的發(fā)�,ISA接口已經(jīng)逐漸被淘�;RS232接口�(shù)�(jù)傳輸率太�;PCI雖然仍是高速外�(shè)與計(jì)算機(jī)接口的主要渠�,但其主要缺�(diǎn)是占用有限的系統(tǒng)資源、設(shè)�(jì)�(fù)雜、需有高�(zhì)量的�(qū)�(dòng)程序保證系統(tǒng)的穩(wěn)�,且無法用于便攜式計(jì)算機(jī)的擴(kuò)展。隨著USB1.1、USB2.0�(guī)范的相繼制定,為外設(shè)與計(jì)算機(jī)的接口提出了新的�(fā)展方�。USB的主要特�(diǎn)有:外設(shè)安裝簡單,可�(shí)�(xiàn)熱插�;通訊速率�,USB1.1全速傳送速率�12Mbps,與�(biāo)�(zhǔn)串行端口相比,大約快100�;支持多�(shè)備連接;提供內(nèi)置電源�

  本文給出一種在Windows2000下使用USB1.1�(xié)議實(shí)�(xiàn)CAN總線適配器的�(shè)�(jì)方法。整�(gè)�(shè)�(jì)主要開發(fā)適配器的固件及計(jì)算機(jī)的驅(qū)�(dòng)程序、應(yīng)用程序,以達(dá)到用USB接口連接�(xiàn)�(chǎng)CAN總線�(wǎng)�(luò)的目��

原理框圖

  

  1 適配器硬件接口設(shè)�(jì)

  適配器硬件電路由微控制器、CAN總線接口、USB總線接口和DC-DC隔離電源模塊等組�。原理框圖如�1所示�

  微控制器P89C51RD2是Philips公司生產(chǎn)的增�(qiáng)型MCS-51兼容單片�(jī),片�(nèi)集成64KB閃存�1KB�(kuò)展RAM,雙�(shù)�(jù)指針�4�(jí)中斷�(yōu)先級(jí)�7�(gè)中斷�,內(nèi)置看門�,可編程�(shí)鐘輸�,在6�(shí)鐘模式下工作,速度是標(biāo)�(zhǔn)51單片�(jī)的兩�。此�(shí)外部頻率可達(dá)20MHz。在高�、大程序容量、中小規(guī)模數(shù)�(jù)處理�(chǎng)合是一款非常理想的單片�(jī)型�

  CAN總線接口使用Philips公司的獨(dú)立CAN總線控制器SJA1000,并由光�6N136�(jìn)行總線隔�。SJA1000是一種獨(dú)立控制器,用于移�(dòng)目標(biāo)和一般工�(yè)�(huán)境中的區(qū)域網(wǎng)�(luò)控制,符合CAN2.0A�2.0B�(guī)范,速率可在�(dá)1Mbps。CAN總線收發(fā)器采用PCA82C250�

  PDIUSBD12是Philips公司推出的全速USB接口器件,完全兼容USB1.1�(guī)�。圖1中D+引腳信號(hào)電平通過器件SoftConnect命令�(nèi)部上�,從而向主機(jī)表示為一�(gè)全速設(shè)�。EOT引腳自動(dòng)檢測(cè)USB接口的VBUS電壓以確定USB電纜是否連接到了主機(jī)。SUSPEND是雙向引�,用以向微控制器指示器件是否掛起。當(dāng)有USB總線事件�(fā)生時(shí),引腳向微控制器�(fā)出中斷信�(hào)。PDIUSBD12支持總線�(fù)用和非復(fù)用兩種并行接口模�,以方便連接不同類型的微控制器。圖1中采用總線復(fù)用方�,當(dāng)用奇�(shù)地址訪問PDIUSBD12�(shí)被認(rèn)為是命令,偶�(shù)地址訪問則被�(rèn)為是�(shù)�(jù)讀��

  各器件都需要外部時(shí)鐘信�(hào),而且它們自身也都有可編程的�(shí)鐘輸出功�,這就給系�(tǒng)的時(shí)鐘設(shè)�(jì)帶來了便利。圖1中微控制�6�(shí)鐘運(yùn)行模式下,外部為12MHz晶振。P89C51RD2的P1.1引腳�(chǎn)�6MHz方波作為PDIUSBD12的輸入時(shí)�;通過PDIUSBD12的SetMode寄存器編程使CLKOUT輸出�(shí)鐘頻率為24MHz,作為SJA1000的外部輸入時(shí)��

  2 軟件�(shè)�(jì)

  軟件�(shè)�(jì)包括微控制器的固件設(shè)�(jì)和計(jì)算機(jī)端USB�(qū)�(dòng)程序兩部分�

  2.1 微控制器固件編程

  固件編程是USB�(shù)�(jù)傳輸系統(tǒng)中終端設(shè)備程序設(shè)�(jì)的一�(gè)重要概念。微控制器通過固件是程序與�(jì)算機(jī)�(jìn)行數(shù)�(jù)交換。固件設(shè)�(jì)的目的是:使PDIUSBD12在USB上達(dá)到的傳輸速率;增加系�(tǒng)的可�(kuò)展性和硬件無關(guān)��

  固件要實(shí)�(xiàn)的內(nèi)容:一是對(duì)SJA1000初始�,接收CAN總線送來的數(shù)�(jù),收集CAN�(wǎng)�(luò)狀�(tài)信息,并將主�(jī)的數(shù)�(jù)下發(fā)到CAN�(wǎng)�(luò);二是對(duì)PDIUSBD12初始化,完成USB總線連接過程,并組織CAN�(wǎng)�(luò)和主�(jī)之間的數(shù)�(jù)傳�。設(shè)�(jì)中采用KeilC51軟件編譯�(huán)境,C51和ASM混合編程方式�

  SJA1000和PDIUSBD12都有完善的中斷機(jī)�,微控制器可以通過讀它們的中斷寄存器獲得總線事�。為了提高固件的�(yùn)行效�,主程序?qū)ο到y(tǒng)�(jìn)行實(shí)始化后開放中�,在中斷服務(wù)程序中對(duì)事件�(jìn)行分析和必要的處�,并�(shè)置相�(yīng)的變量標(biāo)志和�(shù)�(jù)緩沖區(qū)。主程序則循�(huán)查詢變量�(biāo)�,調(diào)用相�(yīng)的子程序�(jìn)行處理。這種程序�(jié)�(gòu)使得主程序能夠在前臺(tái)處理各種�(shù)�(jù)傳送任�(wù),同�(shí)又可以通過中斷在后�(tái)及時(shí)處理總線事件�

  2.1.1 CAN�(xié)議實(shí)�(xiàn)

  SJA1000支持BasicCAN和PeliCAN兩種�(xié)議模�。在適配器設(shè)�(jì)中采用了BasicCAN模式。中斷設(shè)為電平中斷方式,SJA1000中斷服務(wù)程序框圖如圖2所��

中斷服務(wù)程序框圖

  2.1.2 USB1.1�(xié)議實(shí)�(xiàn)

  PDIUSBD12支持所有的四種USB�(shù)�(jù)傳輸方式。在適配器的�(shè)�(jì)中使用了控制傳輸、中斷傳輸和批量傳輸??刂苽鬏斨兄挥脕韨鬟f控制信息,固定使用端�(diǎn)0;中斷傳輸使用端�(diǎn)1,用來傳送CAN�(wǎng)�(luò)狀�(tài)信息;批量傳輸用來實(shí)�(xiàn)主機(jī)和CAN�(wǎng)�(luò)節(jié)�(diǎn)之間的數(shù)�(jù)傳送,使用端點(diǎn)2。圖3是PDIUSBD12中斷服務(wù)程序框圖�

中斷服務(wù)程序框圖

  2.2 �(qū)�(dòng)程序�(shè)�(jì)

  USB�(qū)�(dòng)程序?qū)儆赪DM(Windows driver module)類型。WDM�(qū)�(dòng)程序是分層的,引入了FDO(Function Device Object)和PDO(Physical Device Object)兩�(gè)新類來描述硬�,每一�(gè)物理硬件有一�(gè)PDO,但是可以有多�(gè)FDO,在�(qū)�(dòng)程序中直接操作的是PDO和FDO。系�(tǒng)通過全局�(biāo)�(shí)符GUID�(shí)�(xiàn)�(qū)�(dòng)程序的識(shí)別。應(yīng)用程序和WDM�(qū)�(dòng)程序通信�(shí),系�(tǒng)為每�(gè)用戶�(qǐng)求打包形成一�(gè)I/O�(qǐng)求包�(fā)送到�(qū)�(dòng)程序�

Windows中USB的通信層次結(jié)構(gòu)模型

  �4是Windows中USB的通信層次�(jié)�(gòu)模型。圖4系統(tǒng)軟件方塊中的底部是Windows系統(tǒng)提供的驅(qū)�(dòng)程序,包括主控制器驅(qū)�(dòng)程序(OPENHCI.SYS或者UHCD.SYS�、HUB�(qū)�(dòng)程序(USBHUB.SYS)是一�(gè)類驅(qū)�(dòng)程序(USBD.SYS)�

  Windows2000下驅(qū)�(dòng)程序的設(shè)�(jì)工具是VC++和Win2000DDK,但是直接使用DDK編程有相�(dāng)大的難度。目前有第三方軟件廠商提供了一些驅(qū)�(dòng)程序開發(fā)工具,如Jungo公司的WinDriver、Compuware公司的DriverStudio等。這些工具仍然是基于WindowsDDK�,但是�(jìn)行了新的封裝,提供了�(qū)�(dòng)程序�(shè)�(jì)�?qū)А?/FONT>

  適配器設(shè)�(jì)中采用了DriverStudio作為�(qū)�(dòng)程序開發(fā)工具。利用其中的DriverWorks一步步地作出選擇并修改少量參數(shù),即可生成驅(qū)�(dòng)程序框架和測(cè)試臺(tái)�(yīng)用程序框�,對(duì)USB�(shè)備的通用性部分支持得很好。在程序框架,對(duì)USB�(shè)備的通用性部分支持得很好。在VC++中對(duì)�?qū)傻拇a作修�,并�(duì)�(shè)備特殊功能部分添加處理代�,然后用VC++編譯�*.SYS文件,就是一�(gè)完整的驅(qū)�(dòng)程序。SoftIce是DriverStudio的另一�(gè)�(diào)試工�,可以對(duì)�(qū)�(dòng)程序�(jìn)行操作系�(tǒng)�(nèi)核級(jí)的跟蹤與�(diào)��

  生成�(qū)�(dòng)程序后,編寫相應(yīng)的INF文件是重要的一�。INF文件在操作系�(tǒng)�(fā)�(xiàn)新硬件之后向系統(tǒng)指明�(yīng)該安裝的�(qū)�(dòng)程序、系�(tǒng)向設(shè)備提供的服務(wù)以及注冊(cè)表項(xiàng)要修改的�(nèi)��

  基于USB接口的CAN總線適配器經(jīng)過試�(yàn)�(yùn)行證明:在中小規(guī)模和短時(shí)大數(shù)�(jù)塊傳送時(shí),能夠很好地完成�(wǎng)�(luò)通信任務(wù)。USB接口是計(jì)算機(jī)外設(shè)的發(fā)展趨�(shì),目前主要用在中低速場(chǎng)�。隨著USB2.0�(guī)范的推出,又逐漸向高速應(yīng)用發(fā)�。因此將�(xiàn)�(chǎng)總線�(wǎng)�(luò)和計(jì)算機(jī)接口相連的適配器具有廣泛的�(yīng)用前��

DeVicoNet的無線節(jié)�(diǎn)�(shè)�(jì)

  DeviceNet是一種連接工業(yè)底層控制�(shè)備的開放式網(wǎng)�(luò),自1994年提出以�,得到了廣泛的應(yīng)�。然�,組建控制系�(tǒng)�(wǎng)�(luò)�(shí)都面臨著布線的問�,雖然采用以太網(wǎng)的現(xiàn)�(chǎng)總線相對(duì)來說成本低、維�(hù)方便,但在實(shí)際的�(yīng)用中仍然�(huì)受到客觀條件的限�,特別是在環(huán)境惡劣的條件下,不能采用布線來解決問�。在這種情況�,將無線技�(shù)引入到工�(yè)控制�(lǐng)域就顯得很有必要�?;谶@一目的,在�(shè)�(jì)適配器過程中,以無線局域網(wǎng)�(xié)議IEEE802�1lb為基�(chǔ),結(jié)合DevlceNet�(yīng)用層�(xié)議和適用于工�(yè)�(xiàn)�(chǎng)�(shè)備間通信的通信方式,提出實(shí)�(xiàn)無線功能的DeviceNet從站適配器的�(shè)�(jì)方法�

  1 DOViceNet總線與IEEE802.11b

  1.1 DeviceNet總線

  DevlceNet是一種連接工業(yè)底層控制�(shè)備的開放式網(wǎng)�(luò),采用先�(jìn)的網(wǎng)�(luò)通信技�(shù),具有低成本、高效率、高可靠�、高性能的特�(diǎn)。它可以提供底層�(wǎng)�(luò)�(shè)備互連的低成�、高效率的解決方案,�(xiàn)�(chǎng)�(shè)備的智能化,主從和對(duì)等通信能力。兩�(gè)主要的用途為:傳送與�(xiàn)�(chǎng)�(shè)備相�(guān)的控制和狀�(tài)信息:傳送與被控制系�(tǒng)相關(guān)的診�。配置等其他信息�

  1.2 IEEE802.11b

  1999�9�,電子和電氣工程師協(xié)�(huì)(IEEE)批準(zhǔn)了IEEE 802.11b�(guī)范。此�(guī)范稱為wi—Fi。IEEEE 802.11b定義了用于在共享的無線局域網(wǎng)(WLAN)�(jìn)行通信的物理層和媒體訪問控�(MAC)子層,是目前的WLAN�(xié)議,使用2.4 GHz頻段;速率11 Mbps,實(shí)際使用速率根據(jù)距離和信�(hào)�(qiáng)度可�(150 m�(nèi)1�2 Mbps�50 m�(nèi)可達(dá)�11 Mbps)�802.11b的較低速率使得無線�(shù)�(jù)�(wǎng)的使用成本能夠被大眾接受(目前接入節(jié)�(diǎn)的成本僅�10�30美元);具有增�(qiáng)物理層,可以�1 Mbps�2 Mbps�802.11bps DSSS系統(tǒng)互操�;編碼方式采用CCK(Complementary Code Keylng)技�(shù)�

  2 系統(tǒng)總體框架和無線從站設(shè)�(jì)思路

  2.1 無線�(wǎng)�(luò)總體框架

  整�(gè)�(wǎng)�(luò)分為三�(gè)部分:組�(tài)軟件(上位�(jī))、主節(jié)�(diǎn)(一般為PLC)和從�。基于無線技�(shù)的DeviceNet�(wǎng)�(luò)如圖1所�。其中網(wǎng)�(luò)組態(tài)軟件包括RockweU公司的RSIinx和RSworks�(shí)�(shí)�(jiān)控網(wǎng)�(luò)的狀�(tài),并可對(duì)主從節(jié)�(diǎn)的信息�(jìn)行配�。PC通過無線�(wǎng)卡與各節(jié)�(diǎn)�(jìn)行通信,在無主節(jié)�(diǎn)的情況下可直接對(duì)各從站�(jìn)行直接控�。在通信過程�,各節(jié)�(diǎn)模塊均需要相�(yīng)的接收和�(fā)送模塊。在�(duì)�、從節(jié)�(diǎn)之間配置后,可實(shí)�(xiàn)主從的控制過��

基于無線技術(shù)的DeviceNet網(wǎng)絡(luò)圖

  2�2�(shè)�(jì)思路

  基于802.11b的DeviceNet無線�(wǎng)�(luò),實(shí)際上是將原來通過CAN�(wǎng)�(luò)�(jìn)行通信的過程交給無線收�(fā)器來完成。這里,網(wǎng)�(luò)接口采用物理層接口,即指使用無線信道替代通常的有線信�,而物理層以上各層不變。這樣做的�(yōu)�(diǎn)是上層的�(wǎng)�(luò)操作系統(tǒng)及相�(yīng)的驅(qū)�(dòng)程序可不做任何修�。這種接口方式在使用時(shí)一般作為有線網(wǎng)的集線器和無線轉(zhuǎn)�(fā)器,以實(shí)�(xiàn)有線局域網(wǎng)間互連或�(kuò)大有線局域網(wǎng)的覆蓋面�。無線節(jié)�(diǎn)由適配器和從站構(gòu)�,根�(jù)物理層接口的原理,設(shè)�(jì)中無線收�(fā)完成信號(hào)的傳�,而鏈路層的功能交給FPGA完成�

  3 從站適配器的�(shè)�(jì)

  3.1 適配器系�(tǒng)定位

  某系列變頻器具備Modbus通信能力,但不具備DeviceNet通信能力。適配器位于從站和DeviceNet�(wǎng)�(luò)之間,使變頻器能夠運(yùn)行于基于無線技�(shù)的DeviceNet�(wǎng)�(luò)上�

  3.2硬件�(shè)�(jì)

  系統(tǒng)使用ADI公司16位定�(diǎn)DSP。Blackfin531。該款芯片可以實(shí)�(xiàn)400 MHz的連續(xù)工作,系�(tǒng)支持片外同、異步存�(chǔ)�,具�2�(gè)雙通道全雙工同步串行接口和1�(gè)支持IrDA的通行串行�。其中DeviceNet端口使用FPGA+802.11b無線收發(fā)器與DeviceNet�(wǎng)�(luò)連接�

  802.1lb無線收發(fā)電路主要由MAX2820和MAX2242等組合實(shí)�(xiàn)。MAX2820是單片零中頻收發(fā)器.專為工作�2.4�2.5 GHz ISM(工作/科學(xué)/�(yī)�)波段�802.11b�(yīng)用而設(shè)�(jì),內(nèi)部包含實(shí)�(xiàn)802.11b射頻到基帶傳輸所需的所有電�,加上功率放大器MAX2242、RF開關(guān)和帶通濾波器等就可以�(gòu)建完整的前端電路。FPGA選用Xilinx公司的XCV50E,硬件電路如�2所��

硬件電路

  3.3�(shù)�(jù)鏈路�

  �(shù)�(jù)鏈路層主要包括邏輯鏈接子�(LLC)和媒體訪問控制子�(MAC)。另外,由于無線�(wǎng)�(luò)和DeviceNet�(wǎng)�(luò)頻率有差�,故�(yīng)有頻率轉(zhuǎn)換的功能�

  (1)硬件選擇

  �(shù)�(jù)鏈路功能由FPGA�(shí)�(xiàn)。本�(shè)�(jì)選用Xilinx公司VirtexE系列系統(tǒng)�(jí)XcV50E。其主要資源�71 693�(gè)系統(tǒng)門�65 536位塊�(nèi)存和176�(gè)用戶I/O�(其中包括83�(duì)差分I/o�)。主要特性有�1.8 V超低核心電壓,支�20種高速總線標(biāo)�(zhǔn)�8�(gè)全數(shù)字延遲鎖定環(huán)�0.18μm 6層金屬工�,支持IEEE 1149.1邊界掃描;具有卓越的整體性能和高速特�,是�(shí)�(xiàn)高速系�(tǒng)�(jí)�(shè)�(jì)的優(yōu)選芯��

  (2)�(shù)�(jù)幀格式和仲裁的�(shí)�(xiàn)

  �(shù)�(jù)幀分為長幀�(jié)�(gòu)和短幀�(jié)�(gòu),前者用于節(jié)�(diǎn)間的�(bào)文交�,結(jié)�(gòu)如圖3所�;后者用于仲裁,無數(shù)�(jù)區(qū)�

結(jié)構(gòu)

  短幀�(shí)�(xiàn)仲裁正是利用到標(biāo)�(shí)符的11�。當(dāng)總線開放�(shí),任何單元均可開始發(fā)送報(bào)文。若同時(shí)由兩�(gè)或者更多的單元開始�(fā)�,總線訪問沖突運(yùn)用逐位仲裁�(guī)則,借助�(biāo)�(shí)符ID解決。這種仲裁�(guī)則可以使信息和時(shí)間均無損失。標(biāo)�(shí)符包含兩�(gè)具體含義:一是在�(bào)文交換時(shí),代表邊接的生產(chǎn)�/消費(fèi)者關(guān)�;二是代表報(bào)文本身的�(yōu)先級(jí)(越小�(yōu)先級(jí)越高)。無線網(wǎng)�(luò)中節(jié)�(diǎn)�(shù)�64,掃描器(主站)地址定義為O,仲裁的過程如圖4所示�

仲裁的過程圖

  3.4 �(yīng)用層�(shè)�(jì)

  本節(jié)從對(duì)象建模與尋址、事件驅(qū)�(dòng)與消息響�(yīng)兩�(gè)方面,簡要介紹無線從節(jié)�(diǎn)的應(yīng)用層�(shè)�(jì)�

  (1)�(duì)象建模與尋址

  本設(shè)�(jì)�(duì)適配器建立圖5所示的�(duì)象關(guān)�。圖5中可以看�,適配器包含10�(gè)�(duì)�,其�4�(gè)為DeviceNet節(jié)�(diǎn)必須包含的對(duì)象,5�(gè)與應(yīng)用相�(guān)的對(duì)��1�(gè)組裝�(duì)�。DeviceNet�(yīng)用面�?qū)ο蟮募夹g(shù),將�(wǎng)�(luò)節(jié)�(diǎn)抽象為若干�(gè)�(duì)象類的集�,每�(gè)�(duì)象有特定的功�,具有自己的屬性和服務(wù),表�(xiàn)出一定的行為。網(wǎng)�(luò)尋址的過程是:根�(jù)節(jié)�(diǎn)的MACID值確定當(dāng)前被訪問的設(shè)�,并由對(duì)象、實(shí)�、屬性為路徑定位具體的操��

適配器建立

 ?�?)事件驅(qū)�(dòng)與消息響�(yīng)

  事件是指改變系統(tǒng)�(yùn)行狀�(tài)和運(yùn)行流程的系統(tǒng)外部或內(nèi)部的變化,消息是表示事件是否�(fā)生的�(biāo)志。當(dāng)系統(tǒng)一有事件發(fā)�,系�(tǒng)并不立即處理,而是�(fā)送一�(gè)事件�(duì)�(yīng)的消�,系�(tǒng)的后�(tái)不停地捕捉消�。根�(jù)收到的消息執(zhí)行相�(yīng)的任�(wù)。這樣盡管系統(tǒng)事件的觸�(fā)是隨�(jī)、分散的,但是事件的處理是集中的,程序思路清晰,管理簡�。圖6是基于這種思想的軟件結(jié)�(gòu)�

基于這種思想的軟件結(jié)構(gòu)

  適配器采用這種程序組織思路,定義了十多�(gè)事件。將這些事件分為6�,即故障事件、DeviceNet事件、Modbus事件、RS232事件、定�(shí)器事�、設(shè)備更新事件和空閑事件,每一類事件中又包含若干�(gè)子事�。利用全局變量Global[_]Event來定義各事件的優(yōu)先級(jí),優(yōu)先級(jí)高的事件先處理,�(yōu)先級(jí)低的事件后處��

  4 � �(jié)

  �(shè)�(jì)將無線技�(shù)�(yīng)用于DevieNet�(wǎng)�(luò)的從站適配器的設(shè)�(jì)�,使得無線領(lǐng)域的�(fā)展惠及傳�(tǒng)的控制領(lǐng)�。其主要特點(diǎn)為:物理層使用了802.11b�(xié)議通信,傳送距離遠(yuǎn),突破了傳統(tǒng)的鋪線環(huán)節(jié)的局限�;利用FPGA�(shí)�(xiàn)鏈路層功能,而對(duì)象建模和事件�(qū)�(dòng)與消息響�(yīng)則是�(xié)議軟件設(shè)�(jì)中的重點(diǎn)??傊?,基于無線技�(shù)是當(dāng)前總線技�(shù)�(lǐng)域中研究的重要方向,�802.11b具備�(yīng)用廣�、價(jià)格低廉的特點(diǎn),成為其中的熱點(diǎn)�

基于智能�(yīng)用平�(tái)的設(shè)�(jì)

  �(yīng)急聯(lián)�(dòng)要求整�(gè)系統(tǒng)快�、靈�、高效地�(yùn)作,因此,必然要求這些子系�(tǒng)能夠�(xié)同工作,目前雖然各�(gè) 子系�(tǒng)的技�(shù)都已�(jīng)比較成熟,但都自成體�,往往由于接口、架�(gòu)的不�(tǒng)一使得這些本應(yīng)緊密集成的子系統(tǒng)� 為了一�(gè)�(gè)的“信息孤島�,相互間的協(xié)�(diào)配合往往在兩�(gè)系統(tǒng)之間單一�(jìn)�,每�(gè)系統(tǒng)要維�(hù)多�(gè)接口,系�(tǒng) 整合程度很低且存在瓶頸。各子系�(tǒng)間的信息整合基本上是基于�(diǎn)�(duì)�(diǎn)方式開發(fā)完成,沒有統(tǒng)一的標(biāo)�(zhǔn)接口;對(duì) 系統(tǒng)�(lián)�(dòng)缺乏�(tǒng)一的控制機(jī)�,并且開放性差,難以隨著應(yīng)急聯(lián)�(dòng)�(yè)�(wù)要求的變化而靈活應(yīng)�(duì)�

  智能�(yīng)用平�(tái)(Intelligent Application Platform,IAP)是以智能網(wǎng)技�(shù)為基�(chǔ),結(jié)合計(jì)算機(jī)輔助� �,多種信息綜合處理的平臺(tái)。IAP 平臺(tái)就是為了解決前述的系�(tǒng)集成問題,作為粘合劑來連接系統(tǒng)�(nèi)外各種業(yè) �(wù)相關(guān)的異�(gòu)系統(tǒng)、應(yīng)用以及數(shù)�(jù)源,從而滿足各�(gè)子系�(tǒng)之間無縫共享和交換數(shù)�(jù)的需�。其中適配器為各� 市應(yīng)急子系統(tǒng)接入到IAP 提供了適配轉(zhuǎn)換橋梁� 1. 智能�(yīng)用平�(tái)(IAP�

  智能�(yīng)用平�(tái)(IAP)完成后應(yīng)用于城市�(yīng)急聯(lián)�(dòng)系統(tǒng)中的理想�(jié)�(gòu)�(yīng)如圖1 所�,系�(tǒng)中各�(gè)功能子系�(tǒng)� 過對(duì)�(yīng)的適配器接入到智能應(yīng)用平�(tái)(IAP)中,各子系�(tǒng)之間通過平臺(tái)�(shí)�(xiàn)了客戶請(qǐng)求與服務(wù)提供的關(guān)�,即 一�(gè)子系�(tǒng)向平�(tái)注冊(cè)并提供其自身�(shí)�(xiàn)的功能(服務(wù)提供),同時(shí)它也可以向平�(tái)查詢其需要的功能,并借助 平臺(tái)使用該功能(客戶�(qǐng)求);這樣的客�/服務(wù)�(guān)系由IAP 來統(tǒng)一管理,IAP �(duì)建立在其之上的各�(gè)系統(tǒng)來說� 透明�。通過這樣�(tǒng)一的系�(tǒng)交換集成平臺(tái),以取代原有系統(tǒng)間多�(duì)多的�(wǎng)狀�(lián)��

城市應(yīng)急系統(tǒng)IAP 示意圖

  �1 城市�(yīng)急系�(tǒng)IAP 示意�

  2. 基于IAP 的適配器�(shè)�(jì)

  IAP 適配器位于結(jié)�(gòu)模型的接入層,它是各城市�(yīng)急子系統(tǒng)與平�(tái)�(jìn)行交互的橋梁,實(shí)�(xiàn)各�(gè)子系�(tǒng)與IAP 平臺(tái)之間共享和交換數(shù)�(jù)。目前連接到IAP 的各子系�(tǒng)大部分以微軟的視窗操作系�(tǒng)為工作平�(tái),因此IAP � 配器也是基于Windows 平臺(tái)下的�

  2.1 IAP 適配器設(shè)�(jì)方案概述

  Windows 下的適配器實(shí)�(xiàn)為ActiveX 控件的方式,適配器在系統(tǒng)中所處的位置如圖2 所示:

IAP 適配器示意圖

  �2 IAP 適配器示意圖

  適配器嵌入到各子系統(tǒng)�(yīng)用中,提供調(diào)用方�,代理各子系�(tǒng)�(yīng)用向 IAP 平臺(tái)�(fā)送消�,同�(shí)在收到消� 的時(shí)候,通過觸發(fā)事件,將消息傳遞給各子系�(tǒng)�(yīng)�。在IAP 平臺(tái)�(cè)以接入服�(wù)的形式供適配器連接,適配器 與IAP 平臺(tái)之間的消息采用XML �(guī)范實(shí)�(xiàn),便于靈活擴(kuò)�。因此適配器必須�(shí)�(xiàn)XML 文檔的解析和XML � 檔的生成。適配器與IAP 平臺(tái)的接入服�(wù)間采用Socket 連接,以后可以考慮采用SOAP(Simple Object Access Protocal,簡單對(duì)象接受協(xié)議),這是�?yàn)橛捎谙⒁呀?jīng)定義為XML 方式,可以比較方便地向SOAP 過渡�

  2.2 IAP 適配器模塊結(jié)�(gòu)

  適配器內(nèi)部可分為三�(gè)模塊,分別為通訊模塊、消息轉(zhuǎn)換模�、子系統(tǒng)接口模塊,其�(jié)�(gòu)如圖 3 所示:

 IAP 適配器內(nèi)部結(jié)構(gòu)圖

  � 3 IAP 適配器內(nèi)部結(jié)�(gòu)�

  各模塊功能敘述如下: 通訊模塊:處理與IAP 平臺(tái)接入服務(wù)之間的底層通訊,數(shù)�(jù)包的收發(fā)。通訊層包含收�(fā)一�(duì)線程,確保通訊 層不成為性能瓶頸。通訊層與接入服務(wù)間建立并維護(hù)一條Socket 連接,適配器作為客戶��

  消息�(zhuǎn)換模塊:包含一�(gè)工作線程,通訊模塊完成消息包的接收�,即把包�(fā)往消息�(zhuǎn)換模塊的工作線程� XML 消息的解析是在工作線程中完成�。同�(shí)也處理將�(shù)�(jù)�(zhuǎn)換為XML 格式�(shù)�(jù)包發(fā)給通訊模塊� 子系�(tǒng)接口模塊:接收消息轉(zhuǎn)換模塊發(fā)來解析后的消息,并觸�(fā)ActiveX 事件。同�(shí),接收各子系�(tǒng)�(yīng)用對(duì) 其接口方法的�(diào)用,并將有關(guān)�(shù)�(jù)�(fā)送給消息�(zhuǎn)換模塊處��

  2.3 適配器消息處理機(jī)�

  適配器的消息處理分為� IAP 接收及向IAP �(fā)送兩�(gè)方向。從IAP 接收�(qǐng)求的消息處理流程如圖4 所示:

接收IAP 消息處理流程圖

  �4 接收IAP 消息處理流程�

  A) 通訊層收到業(yè)�(wù)�(qǐng)求消息,完成消息的接收后,將其發(fā)送到�(yè)�(wù)層的工作線程�

  B) 工作線程將消息中的XML 字串解析后,得到命令�,根�(jù)不同的命令碼�(diào)用不同的處理函數(shù),對(duì)XML 字串�(jìn)行�(jìn)一步解��

  C) 完成 XML 的解析后,將消息中的各參�(shù)提取出來,如果帶有應(yīng)用數(shù)�(jù)的附�,則將提取附�。將消息� 包成�(nèi)部數(shù)�(jù)�(jié)�(gòu),用窗口消息的方式發(fā)送給接口層的控件窗口�

  D) 控件窗口接收到業(yè)�(wù)層發(fā)來的消息,從消息中解出觸�(fā)ActiveX 事件所需要的參數(shù),如果需要生� VARIANT 則�(jìn)行參�(shù)的打�,然后觸�(fā)事件,將�(yè)�(wù)�(diào)用請(qǐng)求傳遞給各子系統(tǒng)�(yīng)�� 向IAP �(fā)送請(qǐng)求的消息處理流程則與從IAP 接收消息流程相反,敘述如下:

  a) 各子系統(tǒng)�(yīng)用通過�(diào)� ActiveX 控件的方�,將�(yè)�(wù)�(qǐng)求的參數(shù)傳遞給適配器�

  b) 適配器接口層將調(diào)用參�(shù)打包� XML 消息,如果帶有終端應(yīng)用數(shù)�(jù),則將其作為附件打包�

  c) �(diào)用通訊層的�(wǎng)�(luò)�(fā)送接�,通過通訊層的�(fā)送線程將消息�(fā)送給 IAP 的接入服�(wù)� 向IAP �(fā)送請(qǐng)求消息流程如�5 所示:

向IAP 發(fā)送消息處理流程圖

  �5 向IAP �(fā)送消息處理流程圖

  2.4 適配器各模塊�(shè)�(jì)

 ?�?)通訊模塊�(shè)�(jì)

  針對(duì)用于Windows 平臺(tái)的ActiveX 控件,考慮采用Windows 下的異步Socket �(jī)制來�(shí)�(xiàn),Socket 事件掛接 一�(gè)窗口句柄,該窗口句柄在接收線程中�(chuàng)�,因此共享該線程的消息循�(huán)。對(duì)于Socket 的寫消息,在接收� 程收到后�(zhuǎn)�(fā)�(fā)送線程處�,業(yè)�(wù)層對(duì)Socket 的寫操作也發(fā)送到�(fā)送線程處理� 以上�(jī)制封裝在基類CSocketBase �,同�(shí)它還封裝了作為服�(wù)端�(jìn)行監(jiān)聽的�(jī)制,在它的派生類中根�(jù)� 作為客戶端或服務(wù)�,初始化為不同的方式�

  �2)消息轉(zhuǎn)換模塊設(shè)�(jì)

  消息�(zhuǎn)換模塊以一�(gè)工作線程類CworkThread 來實(shí)�(xiàn),類中考慮線程池機(jī)�,即可以啟動(dòng)多�(gè)工作線程。工 作線程處理IAP 平臺(tái)�(fā)來的消息中XML 部分的解析,同時(shí)�(duì)終端�(yīng)用的�(diào)�,生成相�(yīng)的XML 文檔,并�(fā)送到� 訊層。工作線程從收到的XML 子串中解析出命令�,對(duì)不同的命令,�(diào)用不同的處理函數(shù)來�(jìn)行處�;完成XML 字串的解析后,將其轉(zhuǎn)換為�(nèi)部格�,發(fā)送到接口�。生成XML 文檔處理的流程與上述方式相反。XML �(zhuǎn)換的具體�(shí)�(xiàn)采用開放源碼的xerces �,并�(duì)其做二次封裝以方便調(diào)用�

 ?�?)子系統(tǒng)接口模塊�(shè)�(jì)

  子系�(tǒng)接口模塊放在整�(gè)適配器的主線程中,包含控件窗口的消息循環(huán)。各子系�(tǒng)�(yīng)用將�(yè)�(wù)�(qǐng)求以窗口� 息的形式�(fā)送給控件窗口,由窗口類中映射的消息�(jìn)行處理,將請(qǐng)求傳遞給�(zhuǎn)換模�。反之,接口模塊在收到消 息后,根�(jù)不同的消息觸�(fā)不同的ActiveX 事件,從而將響應(yīng)傳遞給各子系�(tǒng)�(yīng)用處�。接口層必須觸發(fā)的事� 包括�

  � IAP 平臺(tái)接入服務(wù)Socket 連接建立事件�

  � IAP 注冊(cè)并收到注�(cè)�(yīng)答消息事��

  與平�(tái)間的鏈路斷開后事件;

  收到平臺(tái)�(fā)送的�(yè)�(wù)�(qǐng)求事件(�(yīng)支持�(yīng)用數(shù)�(jù)以字符串的方式和二�(jìn)制的方式傳遞��

  收到平臺(tái)�(fā)送的�(yè)�(wù)�(qǐng)求應(yīng)答事件(�(yīng)支持�(yīng)用數(shù)�(jù)以字符串的方式和二�(jìn)制的方式傳遞��

  同時(shí),各子系�(tǒng)�(yīng)用通過�(diào)用適配器�(shí)�(xiàn)的ActiveX 方法與平�(tái)交互,方法包括:

  初始化適配器方法�

  建立� IAP 平臺(tái)間的Socket 連接方法�

  斷開與平�(tái)的網(wǎng)�(luò)連接方法�

  向平�(tái)注冊(cè)方法�

  從平�(tái)中注銷方��

  �(fā)起業(yè)�(wù)�(qǐng)求方��

  收到�(yè)�(wù)�(qǐng)求并處理�,發(fā)送處理結(jié)果方��

  考慮到ActiveX 控件需要跨語言�(huán)境使�,例如需要在Web 頁面中使�,方法與事件傳遞中需要傳遞數(shù)組的 情況均采用VARIANT 參數(shù)來傳�,為了從VARIANT 中解出數(shù)�(jù),對(duì)此操作�(jìn)行了封裝�

  3. 總結(jié)

  本文�(shè)�(jì)的基于智能應(yīng)用平�(tái)的適配器依托企業(yè)研發(fā)�(huán)�,很快地�(jìn)入實(shí)用階�,并很快體現(xiàn)出較好的�(shí)� �(jià)�。四川省開縣�(yīng)急聯(lián)�(dòng)系統(tǒng)在智能應(yīng)用平�(tái)使用前每日能�(shí)�(xiàn)的話�(wù)量小�1000 �(gè),應(yīng)用該平臺(tái)后日話務(wù) 量可�5000 多�(gè),大大提高了整體工作性能�

維庫電子通,電子知識(shí),一查百通!

已收錄詞�153979�(gè)

射洪�| 如东�| 新闻| 策勒�| 津南�| 扬州�| 深泽�| 仙游�| 静宁�| 水城�| 游戏| 贵南�| 泾川�| 济阳�| 讷河�| 肇源�| 新巴尔虎右旗| 绿春�| 平谷�| 敖汉�| 宁安�| 屏东�| 正阳�| 肥西�| 宿迁�| 潼南�| 谷城�| 玉林�| 德化�| 汉川�| 白银�| 扬州�| 南通市| 牡丹江市| 肇州�| 南川�| 海晏�| 平潭�| 封丘�| 蓬莱�| 福清�|