在工業(yè)控制中,需要將多個(gè)獨立工作的設備所產(chǎn)生的數據進(jìn)行匯總,傳統的通信方式,主要是采用固定的點(diǎn)與點(diǎn)之間的有線(xiàn)通信,但使用工業(yè)中常用的RS-485總線(xiàn)或者CAN總線(xiàn)進(jìn)行數據傳輸,需要把各設備利用網(wǎng)線(xiàn)連接起來(lái),不僅施工麻煩,而且費用很高。在每個(gè)采集數據的終端使用無(wú)線(xiàn)的方式進(jìn)行數據匯總,去掉通信設備之間的物理線(xiàn)路連接,不僅簡(jiǎn)化了施工難度和系統復雜度,還可以降低成本。文中提出了一種基于無(wú)線(xiàn)測控的工業(yè)通信分布式網(wǎng)絡(luò )模型,它將嵌入式技術(shù)、無(wú)線(xiàn)通信技術(shù)和自動(dòng)控制技術(shù)有機地結合起來(lái),采用兩級組網(wǎng)方式,將有線(xiàn)與無(wú)線(xiàn)技術(shù)結合起來(lái),并結合嵌入式硬件平臺和無(wú)線(xiàn)通信模塊,解決了數據采集系統和控制設備的數據傳輸問(wèn)題。該系統實(shí)時(shí)性強、可靠性高、結構小巧、開(kāi)發(fā)費用低廉,在現代工業(yè)測控系統已經(jīng)發(fā)揮了經(jīng)濟效益。 1、系統總體設計方案 分布式網(wǎng)絡(luò )模型實(shí)際方案如圖1所示。 圖1 分布式網(wǎng)絡(luò )模型實(shí)際方案 該方案中,服務(wù)器采用嵌入式硬件平臺,基于Linux操作系統,建立嵌入式Web服務(wù)器和分布式現場(chǎng)的測控應用程序。測控應用程序通過(guò)驅動(dòng)CAN總線(xiàn)模塊,以輪詢(xún)方式實(shí)現嵌入式平臺與終端節點(diǎn)之間的通信。數據采集器使用無(wú)線(xiàn)通信與各終端設備連接,通過(guò)無(wú)線(xiàn)傳輸方式負責對測控應用程序發(fā)出命令進(jìn)行響應,啟動(dòng)無(wú)線(xiàn)通信過(guò)程,完成分布式現場(chǎng)的數據采集和控制動(dòng)作執行。 系統采用了分級組網(wǎng)的方式,由有線(xiàn)和無(wú)線(xiàn)通信兩級網(wǎng)絡(luò )組成?紤]到工業(yè)干擾比較嚴重,以及通信范圍能有較大的冗余,嵌入式服務(wù)器與數據采集器之間使用有線(xiàn)網(wǎng)絡(luò ),采用CAN總線(xiàn)傳輸。另外,系統使用了數據采集器作為中間媒介,將無(wú)線(xiàn)終端和ARM主控機連接在一起,解決了無(wú)線(xiàn)系統因受通信距離、空闖布局、外部干擾等因素的限制,致使無(wú)線(xiàn)通信的節點(diǎn)無(wú)法直接與主控機通信的問(wèn)題。對附近的無(wú)線(xiàn)終端,數據采集器使用無(wú)線(xiàn)信道通信,對主控機,使用CAN連接,這樣就較好地解決了應用環(huán)境對無(wú)線(xiàn)通信網(wǎng)絡(luò )的不利影響。而且,更為重要的是,可根據實(shí)際需要使用你N個(gè)數據采集器分別掛在CAN總線(xiàn)上,采用N個(gè)頻段傳輸,減少了無(wú)線(xiàn)通信中的沖突,增加了通信的可靠性。 系統由客戶(hù)端瀏覽器、嵌入式服務(wù)器平臺、無(wú)線(xiàn)通信模塊3部分組成?蛻(hù)端瀏覽器是運行在桌面計算機中的通用瀏覽器應用程序;嵌入式服務(wù)器是以S3C2410A芯片為核心組建的網(wǎng)絡(luò )服務(wù)平臺;無(wú)線(xiàn)通信模塊由數據采集器和終端節點(diǎn)2部分構成,是以CCll00無(wú)線(xiàn)通信芯片和8051F310單片機為核心構成的測控執行部件。其中嵌入式服務(wù)器平臺是系統的核心部件,基于Linux操作系統,負責對現場(chǎng)設備進(jìn)行測控數據的處理、存儲、轉發(fā)及與遠程客戶(hù)端瀏覽器的數據交互。 通過(guò)公共網(wǎng)關(guān)接口CGI(Common Gateway Interface)實(shí)現嵌入式Web服務(wù)器和分布式現場(chǎng)的測控應用程序接口。CGI使編寫(xiě)的程序處理wwW上客戶(hù)端送來(lái)的表單和數據,并對此做出響應,這樣可使編寫(xiě)的程序和Web服務(wù)器間的接口標準化。 嵌入式服務(wù)器正常工作要引入文件系統。Linux操作系統可以提供文件系統;同時(shí)利用Linux操作系統自身所帶的TCP/IP協(xié)議棧,只要在應用層上利用操作系統提供的網(wǎng)絡(luò )API編寫(xiě)服務(wù)器端程序即可,從而節省了開(kāi)發(fā)時(shí)間。 2、系統硬件設計 對于一個(gè)嵌入式系統,硬件系統設計相當重要,一方面要考慮所選擇的器件是否適合應用要求,硬件資源是否足夠用來(lái)編程調試并保證系統性能優(yōu)良;另一方面硬件資源要在滿(mǎn)足系統需求前提下盡可能降低成本?紤]以上因素,服務(wù)器的硬件采用模塊化設計,分為嵌入式服務(wù)器模塊、CAN通信接口模塊、無(wú)線(xiàn)測控模塊3部分。 2.1 嵌入式服務(wù)器模塊設計 該系統的嵌入式服務(wù)器平臺的設計如圖2所示。 圖2 嵌入式服務(wù)器設計方案 基于S3C2410A擴展了CAN接口模塊、sD卡等,CPU采用$3C2410A微處理器作為整個(gè)系統的控制核心。S3C2410A是基于A(yíng)RM920內核開(kāi)發(fā)的32位RISC微處理器,集成了豐富的外圍功能模塊,如以太網(wǎng)接121,便于低成本設計嵌入式應用系統。S3C2410A主要功能就是通過(guò)控制以太網(wǎng)接口芯片CS8900A及CAN通信接口芯片MCP2510的工作,實(shí)現CAN通信協(xié)議與以太網(wǎng)通信協(xié)議的轉換,使遠端用戶(hù)借助瀏覽器經(jīng)由Intemet對現場(chǎng)設備實(shí)施遠程監控。 2.2 CAN通信接口模塊設計 由于多數嵌入式處理器都不帶CAN總線(xiàn)控制器,在嵌入式處理器的外部總線(xiàn)上擴展CAN總線(xiàn)接口芯片是通用的解決方案。設計采用了MCP2510芯片作為CAN總線(xiàn)的控制器,該芯片支持CAN2.0B標準。TJAl050作為CAN總線(xiàn)的收發(fā)器。 MCP2510可在3-5.5 V范圍內供電,因此能直接與3.3V I/0口的嵌入式處理器連接。系統結構簡(jiǎn)單,與處理器之間的SPI串行接口,減少了總線(xiàn)的物理連接,提高了系統的可靠性。 S3C2410A帶有SPI總線(xiàn)控制器,可直接與MCP2510連接。如圖3所示。 圖3 嵌入式節CAN節電設計方案 相關(guān)的資源有:在電路中使用了2410的一個(gè)擴展的L/O口作為片選信號,低電平有效;使用了2410的外部中斷0作為中斷引腳,低電平有效;16 MHz晶體作為輸入時(shí)鐘,MCP2510內部有振蕩電路,用晶體可直接起振。 中心模塊端,可對C,8051F310采用模擬SPI口的方式與MCP2510連接。 2.3 無(wú)線(xiàn)測控模塊設計 典型的無(wú)線(xiàn)結構包括一個(gè)無(wú)線(xiàn)發(fā)射器(包括數據源、調制器、RF源、RF功率放大器、天線(xiàn)、電源)和一個(gè)無(wú)線(xiàn)接收器BJ(包括數據接收電路、RF解調器、譯碼器、RF低噪聲放大器、天線(xiàn)、電源)。發(fā)射器的數據通過(guò)無(wú)線(xiàn)發(fā)射出去,接收器天線(xiàn)接收后進(jìn)行處理,得到經(jīng)過(guò)校驗的正確數據。 系統中選用了CC1100射頻芯片作為無(wú)線(xiàn)收發(fā)器,理由如下: (1) 該器件有著(zhù)極為優(yōu)秀的傳輸能力,空曠傳輸距離可以達到500m,加了PA的模塊則可以達到1200m,完全滿(mǎn)足了一般的工廠(chǎng)測控距離要求。 (2) 2-FSK,GFSK和MSK支持,抗干擾能力極強,適用于工廠(chǎng)環(huán)境惡劣的生產(chǎn)車(chē)間。 (3) CC1100是一種低成本、真正單片的UHF收發(fā)器,可以根據自己的需要配置MCU,使用靈活,且功耗很低,完全可以采用電池供電。 (4) 它具有433/868/915 MHz3個(gè)波段載波頻率,也可以容易地設置在300—348 MHz、400—464 MHz和800—928 MHz的其他頻率上。 該系統選用了C8051F310作為CCI 100的微控制器。它具有一個(gè)增強型外設接口(SPIO),具有訪(fǎng)問(wèn)一個(gè)全雙工同步串行總線(xiàn)的能力,具有29個(gè)I/O端口、lO位逐次逼近型的ADC和一個(gè)25通道差分輸入多路選擇器,滿(mǎn)足了作為數據采集的通常需求。 CC1100模塊與CPU是采用SPI口進(jìn)行通信的,只需把CCll00的SPI口接到CPU的硬件SPI口上,另外,再將CCll00的GD00或GD02也接在CPU的任意引腳上。如果想要用中斷處理收發(fā)數據或是想做無(wú)線(xiàn)喚醒的話(huà),該引腳必須接在CPU的外部中斷引腳上。如圖4所示。 圖4 現場(chǎng)測控C8051F310與CC1100連接示意圖 微控制器除了完成基本的芯片初始化工作、數據的發(fā)送和接收之外,還需要根據需要在CCll00的引腳產(chǎn)生中斷,并由所編寫(xiě)的中斷管理程序進(jìn)行狀態(tài)檢測以及切換,并執行相應的中斷操作,使得無(wú)線(xiàn)通信可以在發(fā)射和接收以及待機之間切換。 3、軟件設計 軟件設計主要包括了CAN總線(xiàn)通信程序模塊、無(wú)線(xiàn)通信部分等,其中驅動(dòng)程序的設計是在LINUX下多任務(wù)操作系統下實(shí)現的,多任務(wù)系統中的CAN總線(xiàn)通信程序結構設計流程圖。如圖5所示。 圖5 多任務(wù)系統中的CAN總線(xiàn)通信程序結構 CAN總線(xiàn)通信程序的設計可分為發(fā)送數據、接收數據和中斷處理3個(gè)模塊來(lái)實(shí)現。系統中CAN總線(xiàn)的數據發(fā)送和接收是兩個(gè)不同的線(xiàn)程。在驅動(dòng)程序中建立數據發(fā)送和接收緩沖區。中斷處理程序只負責填充(或者讀取)緩沖區中的數據,然后喚醒等待接收(或發(fā)送)數據的任務(wù)。數據的發(fā)送和接收都通過(guò)獨立的緩沖區由中斷來(lái)實(shí)現。操作系統的中斷響應時(shí)間在軟件上決定了CAN總線(xiàn)數據的最快收發(fā)速度。 MCP2510的初始化,通過(guò)函數static int MCP-device-init(void)實(shí)現?赏ㄟ^(guò)設置MCP2510中的CNFl、CNF2、CNF3 3個(gè)寄存器,實(shí)現不同時(shí)鐘下CAN總線(xiàn)通信波特率的設置。 對于無(wú)線(xiàn)通信模塊,軟件設計主要包括09051F310的初始化和CCI 100的初始化以及接收數據程序、發(fā)送數據程序,通過(guò)寄存器的配置實(shí)現其頻率、通道、通信速率等的設置。函數void halRfWritePdSettings(RF SETHNGS木pRtSettings)即實(shí)現配置CCll00的寄存器的功能。發(fā)送數據通過(guò)函數void halRf-SendPacket(unsigned char譬txBuffer,unsigned char size)實(shí)現,接收數據通過(guò)函數unsigned char halRfBeceivePacket(unsigned char rxBuffer,unsigned char length)實(shí)現。在采集模塊中為了做到低功耗還采用了隨機定時(shí)喚醒功能,這樣加上CCll00自帶的CCA功能,可以最大限度地防止信息相撞,從而達到穩定可靠的通信狀態(tài)。 4、結束語(yǔ) 該系統把短距離無(wú)線(xiàn)通信技術(shù)與嵌入式技術(shù)結合在一起,并且采用兩級組網(wǎng)方式,將有線(xiàn)與無(wú)線(xiàn)技術(shù)結合起來(lái),與傳統技術(shù)相比,該方案的成本更低、功耗更低、抗干擾能力更強、軟件開(kāi)發(fā)簡(jiǎn)易,可廣泛應用于工廠(chǎng)自動(dòng)監控、生物信號采集、水文氣象監控等領(lǐng)域;贑AN總線(xiàn)和無(wú)線(xiàn)技術(shù)的遠程集中監控系統是數據采集、網(wǎng)絡(luò )傳輸、計算機軟件等多種技術(shù)的綜合應用,適用于對遠端現場(chǎng)環(huán)境進(jìn)行實(shí)時(shí)監控,自動(dòng)化管理,保障工業(yè)生產(chǎn)的安全穩定運行。而隨著(zhù)網(wǎng)絡(luò )及通信技術(shù)的飛速發(fā)展,短距離無(wú)線(xiàn)通信以其特有的抗干擾能力強、可靠性高、安全性好、受地理條件限制較少、安裝施工簡(jiǎn)便靈活等特點(diǎn),在測控系統中的應用越來(lái)越廣泛,如何根據實(shí)際需要選擇合適的網(wǎng)絡(luò )拓撲結構,開(kāi)發(fā)自己的測控系統成為一個(gè)越來(lái)越廣泛的課題。在該設計中采用的CCll00芯片有其局限性,只能實(shí)現星形組網(wǎng),如果需要組建Mesh網(wǎng)絡(luò ),可考慮把方案中的CCll00換成適用于ZIGBEE協(xié)議的CC2420芯片。 |