| <!-- 廣告位 --><!-- $sign哪個(gè)頁(yè)面$digit位置$way等h不循環(huán)TR;X循環(huán)TR;$num顯示個(gè)數(shù) --> |
<!--→關(guān)鍵CH(開(kāi)始)--> 關(guān)鍵詞:基金會(huì)現(xiàn)場(chǎng)總線;PCI;PC接口卡;無(wú)線收發(fā)芯片<!--關(guān)鍵CH(結(jié)束)←--><!--→標(biāo)題EN(開(kāi)始)--> 0 引言
基金會(huì)現(xiàn)場(chǎng)總線(FF,F(xiàn)oundation FieldBus)是現(xiàn)場(chǎng)總線基金會(huì)為適應(yīng)自動(dòng)化系統(tǒng),特別是過(guò)程自動(dòng)化系統(tǒng)在功能、環(huán)境與技術(shù)上的需要而專(zhuān)門(mén)設(shè)計(jì)的,它作為一種全數(shù)字信號(hào)的現(xiàn)場(chǎng)總線協(xié)議,在國(guó)際上獲得了廣泛的支持[1]。基金會(huì)現(xiàn)場(chǎng)總線支持多種傳輸介質(zhì),包括雙絞線、電纜、光纖以及無(wú)線介質(zhì),目前應(yīng)用較廣泛的是前兩種。但是,對(duì)于控制結(jié)點(diǎn)分布廣、敷設(shè)通信線路困難的生產(chǎn)裝置或者有移動(dòng)對(duì)象的工業(yè)現(xiàn)場(chǎng),則必須考慮以無(wú)線方式進(jìn)行數(shù)據(jù)通信[2、3]。因此,開(kāi)發(fā)基于FF協(xié)議的無(wú)線通信產(chǎn)品具有重大的現(xiàn)實(shí)意義。
1 基于FF協(xié)議的無(wú)線PC接口卡的硬件設(shè)計(jì)
基于FF現(xiàn)場(chǎng)總線協(xié)議的無(wú)線PC接口卡的基本功能是能夠自主地與符合FF協(xié)議的無(wú)線通信設(shè)備進(jìn)行通信。無(wú)線PC接口卡的總體結(jié)構(gòu)框圖如圖 1所示,其硬件電路包括CPU與PC主機(jī)CPU的通信接口、CPU與通信控制器的硬件接口、通信控制器與數(shù)據(jù)緩沖存儲(chǔ)器的接口、通信控制器與無(wú)線收發(fā)單元的接口等4個(gè)部分。其中雙口RAM采用CY7C09449PV-AV芯片;CPU選用嵌入式控制中最常用的Intel80188CPU;通信控制器選用SMAR公司的FB3050;無(wú)線收發(fā)單元由單片無(wú)線收發(fā)芯片nRF401及其外圍電路構(gòu)成。
1.1 接口卡CPU與PC的接口
隨著計(jì)算機(jī)技術(shù)的發(fā)展,PC總線日新月異。 PCISIG(Peripheral Component Interconnect Special Inter-est Group)因其具有32/64位寬度、最高傳輸率在64業(yè)標(biāo)準(zhǔn)結(jié)構(gòu))總線的趨勢(shì),考慮到當(dāng)前需求及今后發(fā)展,在宿主總線的選擇上采用PCI總線。硬件接口芯片為Cypress Semiconductor公司的PCI總線雙口RAM。CY7C09449PV-AC是一款適于PCI2.2總線規(guī)范的功能完善、價(jià)格低廉的雙端口RAM接口芯片,其中一個(gè)端口是PCI接口,適合與PC機(jī)通信,另一個(gè)端口是本地接口,適合與各類(lèi)本地CPU通信,其總線通信時(shí)鐘速率可達(dá)50MHz,兩個(gè)端口均可以獨(dú)立讀/寫(xiě)靜態(tài)存儲(chǔ)器SRAM。其主要特點(diǎn)如下:①完全兼容PCI規(guī)范2.2版本;②128 k雙向靜態(tài)SRAM;③可作為主/從設(shè)備進(jìn)行數(shù)據(jù)的傳輸,支持PCI突發(fā)方式工作及DMA操作;④具有I2O(Intelligent Input/Output)功能,當(dāng)I2O單元工作時(shí)包含4組32位FIFO(FirstIn First Out)、中斷寄存器及部分SRAM,其余SRAM用于一般存儲(chǔ)目的;⑤支持3V、5V電壓工作;⑥可通過(guò)I2O總線對(duì)芯片進(jìn)行初始化設(shè)置,并把設(shè)置參數(shù)存于非易失性NVRAM中;⑦160腳扁平方形塑封[4]。
CY7C09449PV-AC可以采用總線仲裁加等待的方式,允許兩邊CPU在指令級(jí)共享SRAM,允許兩邊的CPU相互通過(guò)中斷交換信息,還允許通過(guò)狀態(tài)信號(hào)相互同步。在此采用狀態(tài)寄存器及中斷的方式進(jìn)行通信握手并快速傳遞數(shù)據(jù)。
1.2 接口卡CPU與通信控制器FB3050的接口
FB3050是SMAR公司推出的第三代基金會(huì)現(xiàn)場(chǎng)總線通信控制器芯片,該芯片符合ISASP50-2- 1992,PART2中所規(guī)定的現(xiàn)場(chǎng)物理層標(biāo)準(zhǔn)。FB3050芯片功能框圖如圖2所示。從圖中可以看出FB3050通過(guò)3總線與CPU相連接,右邊部分是FB3050輸出的存儲(chǔ)器總線,CPU和FB3050二者都能夠通過(guò)存儲(chǔ)器總線訪問(wèn)掛接在該總線上的存儲(chǔ)器。下邊部分是FB3050通過(guò)介質(zhì)存取單元和現(xiàn)場(chǎng)總線網(wǎng)絡(luò)相連接,中間部分是FB3050的內(nèi)部功能塊。FB3050的主要功能是實(shí)現(xiàn)總線上的信號(hào)驅(qū)動(dòng)與接收、傳輸數(shù)據(jù)的串并行轉(zhuǎn)換、串行數(shù)據(jù)的編碼與解碼、信息幀的打包和解包、幀校驗(yàn)序列的產(chǎn)生和驗(yàn)證等[5]。
FB3050的對(duì)外信號(hào)主要可分為如下4組:
①時(shí)鐘和定時(shí)功能信號(hào)。3個(gè)輸入分別用于FB3050的系統(tǒng)時(shí)鐘、傳輸數(shù)據(jù)速率時(shí)鐘以及規(guī)定FB3050的系統(tǒng)同步沿。一個(gè)125kHz輸出信號(hào)供用戶(hù)線路中使用。
②CPU接口信號(hào)。CPU接口信號(hào)線用于連接接口卡微處理器,包括16位地址線,8位數(shù)據(jù)線,可采用數(shù)據(jù)/地址復(fù)用方式連接,也可直接連接,當(dāng)采用數(shù)據(jù)/地址復(fù)用方式連接時(shí),低8位地址線PI-AD-DR[7∶0]接信號(hào)地,包括兩條片選線,兩條讀寫(xiě)控制線,中斷請(qǐng)求輸出線;另外包括一條PO-READY線,可與微處理器的WAIT線連接,使得FB3050的DMA和CPU能夠共享FB3050的局部存儲(chǔ)器總線。
、鄞鎯(chǔ)器總線信號(hào)。本組信號(hào)是通過(guò)FB3050對(duì)CPU的地址總線進(jìn)行變換后所產(chǎn)生的一組存儲(chǔ)器總線,變換后的存儲(chǔ)器總線增加了8條擴(kuò)展存儲(chǔ)器地址線,配合使用FB3050內(nèi)部增加的段地址寄存器,使得存儲(chǔ)器總線的尋址范圍大大超出了原CPU的64KB容量,另外還輸出6條可編程的片選信號(hào)。因此這組存儲(chǔ)器總線和所掛接的存儲(chǔ)器是CPU和FB3050共享的。
、墁F(xiàn)場(chǎng)總線接口信號(hào)。FB3050共有8條現(xiàn)場(chǎng)總線接口線,一條接收數(shù)據(jù)的信號(hào)線PI-PHPDU,接收來(lái)自介質(zhì)存取單元的總線信號(hào),接收的數(shù)據(jù)信號(hào)格式符合總線曼徹斯特編碼規(guī)則,一條發(fā)送數(shù)據(jù)的信號(hào)線PO-PHPDU,發(fā)送數(shù)據(jù)到介質(zhì)存取單元,一條控制總線發(fā)送器工作狀態(tài)的控制線PO-TACT,5條狀態(tài)信號(hào)線用于指示FB3050的發(fā)送接收情況。
由于FB3050的接口設(shè)計(jì)上已經(jīng)充分考慮了和Intel系列CPU接口的問(wèn)題,因此FB3050和In-tel80188的接口是非常簡(jiǎn)單的。Intel 80188的地址總線數(shù)據(jù)總線可以直接和FB3050的地址數(shù)據(jù)總線相連接,4條片選線MCS0~MCS3中的任一條都可以作FB3050的存儲(chǔ)器片選線。7條I/O片選線PCS0~ PCS6中的任一條都可以作為FB3050的內(nèi)部存儲(chǔ)器片選線;FB3050內(nèi)部共需要38個(gè)I/O口地址,而In-tel 80188每條I/O片選線可以提供128個(gè)I/O口地址,因此完全可以滿足要求。FB3050的中斷輸出為低電平有效,而Intel80188CPU的中斷輸入線需要高電平或上升沿信號(hào),因此需要加一反向器。FB3050的READY輸出線可以直接接到Intel80188的AREADY引腳上,使得FB3050的DMA和CPU能夠共享FB3050的局部存儲(chǔ)器總線。Intel80188的時(shí)鐘輸出信號(hào)可以直接作為FB3050的系統(tǒng)時(shí)鐘輸入。
1.3 FB3050與無(wú)線收發(fā)單元的接口
無(wú)線PC接口卡的無(wú)線收發(fā)單元的基本功能是發(fā)送和接收符合FF規(guī)范的無(wú)線信號(hào),它是FF信號(hào)能否實(shí)現(xiàn)正常通信的關(guān)鍵。其主要器件是單片無(wú)線收發(fā)芯片nRF401。nRF401是NORDIC公司最新推出的工作于ISM頻段(433MHz)的單片無(wú)線收發(fā)一體芯片。它是目前集成度最高的無(wú)線數(shù)傳產(chǎn)品,20腳雙列直插封裝。nRF401內(nèi)部包含高頻接收/發(fā)射、PLL合成、FSK調(diào)制/解調(diào)和雙頻切換等單元。
該芯片有如下特點(diǎn):FSK調(diào)制方式,直接數(shù)據(jù)輸入輸出,抗干擾能力強(qiáng),特別適合工業(yè)場(chǎng)合;采用DSS+PLL頻率合成技術(shù),頻率穩(wěn)定性極好;靈敏度高,達(dá)到-105dBm;無(wú)需曼徹斯特編碼;工作速率最高可達(dá)20kb/s;最大發(fā)射功率達(dá)+10dBm;開(kāi)闊地的使用距離最遠(yuǎn)可達(dá)1000m;工作在ISM頻段433MHz和雙信道頻率433.92MHz/433.34MHz,使用不需要申請(qǐng)?jiān)S可證[6]。
利用nRF401實(shí)現(xiàn)的無(wú)線收發(fā)單元與FB3050接 口電路原理圖如圖3所示。其中,無(wú)線收發(fā)單元的天線設(shè)計(jì)采用環(huán)形差分天線。nRF401的時(shí)鐘輸入要與CPU和FB3050同步,因此nRF401必須與CPU和FB3050共用一個(gè)時(shí)鐘源。nRF401芯片的數(shù)據(jù)輸出(DOUT)/輸入(DIN)與FB3050的接收輸入(PI-PHPDU)、發(fā)送輸出(PO-PHPDU)信號(hào)線相連接;接FB3050的數(shù)據(jù)發(fā)送允許信號(hào)引腳PO-TACT,當(dāng)PO-TACT輸出為高電平時(shí)為發(fā)送模式,反之為接收模式;CS為頻率選擇引腳,接PCB跳線,由高低電平選擇所使用的頻率;PWR-UP為節(jié)電模式選擇信號(hào)引腳,也接PCB跳線,高電平時(shí)為工作模式,低電平時(shí)為待機(jī)模式。
2 軟件設(shè)計(jì)
無(wú)線PC接口卡的軟件采用嵌入式設(shè)計(jì)方法進(jìn)行設(shè)計(jì)。其基本工作過(guò)程為:當(dāng)外部有信號(hào)時(shí),無(wú)線收發(fā)單元首先接收信號(hào)并發(fā)送給通信控制器FB3050,通信控制器接收并發(fā)給接口卡上的接收緩沖區(qū),然后通過(guò)接口卡上的CPU進(jìn)行應(yīng)答。能處理的命令、數(shù)據(jù)立即處理,其余內(nèi)容通過(guò)PCI雙口RAM接口傳給上位機(jī)處理。反之,當(dāng)上位機(jī)需要發(fā)送信息到基于FF的無(wú)線網(wǎng)絡(luò)時(shí),信號(hào)先通過(guò)PCI雙口RAM,再經(jīng)接口卡CPU傳遞至通信卡發(fā)送緩沖區(qū),最后由通信控制器將發(fā)送緩沖區(qū)中的內(nèi)容通過(guò)無(wú)線收發(fā)單元發(fā)送給無(wú)線網(wǎng)絡(luò)。
其中FF通信控制器FB3050經(jīng)無(wú)線收發(fā)單元接收?qǐng)?bào)文以及將報(bào)文發(fā)送給無(wú)線收發(fā)單元均采用DMA方式。FB3050擁有一個(gè)直接內(nèi)存存取表,從而極大地方便了接收及發(fā)送工作。利用這個(gè)DMA表,F(xiàn)B3050能夠?qū)⒔邮招畔⒅苯哟嫒雰?nèi)存,或從內(nèi)存中發(fā)送信息,而不需要CPU的干預(yù)。
在接收時(shí)使用者只需要指定接收緩存區(qū)的內(nèi)存區(qū)域,F(xiàn)B3050自動(dòng)將信息按順序存入緩沖區(qū)。緩沖區(qū)是一個(gè)循環(huán)連續(xù)空間,所以當(dāng)數(shù)據(jù)(信息)存入緩沖區(qū)末尾時(shí),F(xiàn)B3050將返回到緩沖區(qū)起始位指針并繼續(xù)寫(xiě)下一個(gè)已接收字節(jié)。緩沖區(qū)需要4 KB或更大空間。在發(fā)送時(shí)使用者只需要指定信息的開(kāi)始指針的長(zhǎng)度,F(xiàn)B3050在接收到發(fā)送命令的同時(shí)發(fā)送此信息到無(wú)線收發(fā)單元,再通過(guò)無(wú)線收發(fā)單元傳送到FF無(wú)線網(wǎng)絡(luò)上。
3 結(jié)束語(yǔ)
根據(jù)以上方案設(shè)計(jì)的基于FF協(xié)議的無(wú)線PC接口卡,很好地解決了控制結(jié)點(diǎn)分布廣、敷設(shè)通信線路困難的生產(chǎn)裝置或者有移動(dòng)對(duì)象的工業(yè)現(xiàn)場(chǎng)的局 部網(wǎng)絡(luò)通信問(wèn)題。在抗干擾能力、實(shí)時(shí)性、可靠性等方面基本滿足工業(yè)控制要求。隨著技術(shù)的成熟和更加廣泛的應(yīng)用,工業(yè)控制系統(tǒng)的發(fā)展趨勢(shì)必定是由有線網(wǎng)絡(luò)向有線無(wú)線混合網(wǎng)絡(luò)發(fā)展;贔F的無(wú)線網(wǎng)絡(luò)產(chǎn)品的軟硬件的開(kāi)發(fā),必將推動(dòng)工業(yè)控制網(wǎng)絡(luò)的廣泛應(yīng)用,并將產(chǎn)生巨大的社會(huì)及經(jīng)濟(jì)效益。
<!--→參考文獻(xiàn)CH(開(kāi)始)-->





