《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于CAN和CCll00的嵌入式遠程測控系統(tǒng)的設(shè)計
基于CAN和CCll00的嵌入式遠程測控系統(tǒng)的設(shè)計
摘要: 在工業(yè)控制中,需要將多個獨立工作的設(shè)備所產(chǎn)生的數(shù)據(jù)進行匯總,,傳統(tǒng)的通信方式,,主要是采用固定的點與點之間的有線通信,但使用工業(yè)中常用的RS-485總線或者CAN總線進行數(shù)據(jù)傳輸,,需要把各設(shè)備利用網(wǎng)線連接起來,不僅施工麻煩,,而且費用很高,。在每個采集數(shù)據(jù)的終端使用無線的方式進行數(shù)據(jù)匯總,去掉通信設(shè)備之間的物理線路連接,,不僅簡化了施工難度和系統(tǒng)復(fù)雜度,,還可以降低成本。文中提出了一種基于無線測控的工業(yè)通信分布式網(wǎng)絡(luò)模型,,它將嵌入式技術(shù),、無線通信技術(shù)和自動控制技術(shù)有機地結(jié)合起來,采用兩級組網(wǎng)方式,,將有線與無線技術(shù)結(jié)合起來,,并結(jié)合嵌入式硬件平臺和無線通信模塊,解決了數(shù)據(jù)采集系統(tǒng)和控制設(shè)備的數(shù)據(jù)傳輸問題,。該系統(tǒng)實時性強,、可靠性高、結(jié)構(gòu)小巧,、開發(fā)費用低廉,,在現(xiàn)代工業(yè)測控系統(tǒng)已經(jīng)發(fā)揮了經(jīng)濟效益。
Abstract:
Key words :

引言

  在工業(yè)控制中,,需要將多個獨立工作的設(shè)備所產(chǎn)生的數(shù)據(jù)進行匯總,,傳統(tǒng)的通信方式,,主要是采用固定的點與點之間的有線通信,但使用工業(yè)中常用的RS-485總線或者CAN總線進行數(shù)據(jù)傳輸,,需要把各設(shè)備利用網(wǎng)線連接起來,,不僅施工麻煩,而且費用很高,。在每個采集數(shù)據(jù)的終端使用無線的方式進行數(shù)據(jù)匯總,,去掉通信設(shè)備之間的物理線路連接,不僅簡化了施工難度和系統(tǒng)復(fù)雜度,,還可以降低成本,。文中提出了一種基于無線測控的工業(yè)通信分布式網(wǎng)絡(luò)模型,它將嵌入式技術(shù),、無線通信技術(shù)和自動控制技術(shù)有機地結(jié)合起來,,采用兩級組網(wǎng)方式,將有線與無線技術(shù)結(jié)合起來,,并結(jié)合嵌入式硬件平臺和無線通信模塊,,解決了數(shù)據(jù)采集系統(tǒng)和控制設(shè)備的數(shù)據(jù)傳輸問題。該系統(tǒng)實時性強,、可靠性高,、結(jié)構(gòu)小巧、開發(fā)費用低廉,,在現(xiàn)代工業(yè)測控系統(tǒng)已經(jīng)發(fā)揮了經(jīng)濟效益,。

  1,、系統(tǒng)總體設(shè)計方案

  分布式網(wǎng)絡(luò)模型實際方案如圖1所示,。

圖1 分布式網(wǎng)絡(luò)模型實際方案

  該方案中,,服務(wù)器采用嵌入式硬件平臺,,基于Linux操作系統(tǒng),,建立嵌入式Web服務(wù)器和分布式現(xiàn)場的測控應(yīng)用程序,。測控應(yīng)用程序通過驅(qū)動CAN總線模塊,,以輪詢方式實現(xiàn)嵌入式平臺與終端節(jié)點之間的通信,。數(shù)據(jù)采集器使用無線通信與各終端設(shè)備連接,,通過無線傳輸方式負責(zé)對測控應(yīng)用程序發(fā)出命令進行響應(yīng),,啟動無線通信過程,完成分布式現(xiàn)場的數(shù)據(jù)采集和控制動作執(zhí)行,。

  系統(tǒng)采用了分級組網(wǎng)的方式,,由有線和無線通信兩級網(wǎng)絡(luò)組成,??紤]到工業(yè)干擾比較嚴重,,以及通信范圍能有較大的冗余,,嵌入式服務(wù)器與數(shù)據(jù)采集器之間使用有線網(wǎng)絡(luò),,采用CAN總線傳輸,。另外,,系統(tǒng)使用了數(shù)據(jù)采集器作為中間媒介,將無線終端和ARM主控機連接在一起,,解決了無線系統(tǒng)因受通信距離,、空闖布局,、外部干擾等因素的限制,,致使無線通信的節(jié)點無法直接與主控機通信的問題。對附近的無線終端,,數(shù)據(jù)采集器使用無線信道通信,,對主控機,使用CAN連接,,這樣就較好地解決了應(yīng)用環(huán)境對無線通信網(wǎng)絡(luò)的不利影響,。而且,更為重要的是,,可根據(jù)實際需要使用你N個數(shù)據(jù)采集器分別掛在CAN總線上,,采用N個頻段傳輸,減少了無線通信中的沖突,,增加了通信的可靠性,。

  系統(tǒng)由客戶端瀏覽器、嵌入式服務(wù)器平臺,、無線通信模塊3部分組成??蛻舳藶g覽器是運行在桌面計算機中的通用瀏覽器應(yīng)用程序,;嵌入式服務(wù)器是以S3C2410A芯片為核心組建的網(wǎng)絡(luò)服務(wù)平臺,;無線通信模塊由數(shù)據(jù)采集器和終端節(jié)點2部分構(gòu)成,,是以CCll00無線通信芯片和8051F310單片機為核心構(gòu)成的測控執(zhí)行部件,。其中嵌入式服務(wù)器平臺是系統(tǒng)的核心部件,基于Linux操作系統(tǒng),,負責(zé)對現(xiàn)場設(shè)備進行測控數(shù)據(jù)的處理,、存儲、轉(zhuǎn)發(fā)及與遠程客戶端瀏覽器的數(shù)據(jù)交互,。

  通過公共網(wǎng)關(guān)接口CGI(Common Gateway Interface)實現(xiàn)嵌入式Web服務(wù)器和分布式現(xiàn)場的測控應(yīng)用程序接口,。CGI使編寫的程序處理wwW上客戶端送來的表單和數(shù)據(jù),,并對此做出響應(yīng),這樣可使編寫的程序和Web服務(wù)器間的接口標(biāo)準(zhǔn)化。

  嵌入式服務(wù)器正常工作要引入文件系統(tǒng)。Linux操作系統(tǒng)可以提供文件系統(tǒng),;同時利用Linux操作系統(tǒng)自身所帶的TCP/IP協(xié)議棧,只要在應(yīng)用層上利用操作系統(tǒng)提供的網(wǎng)絡(luò)API編寫服務(wù)器端程序即可,,從而節(jié)省了開發(fā)時間,。

  2,、系統(tǒng)硬件設(shè)計

  對于一個嵌入式系統(tǒng),,硬件系統(tǒng)設(shè)計相當(dāng)重要,,一方面要考慮所選擇的器件是否適合應(yīng)用要求,硬件資源是否足夠用來編程調(diào)試并保證系統(tǒng)性能優(yōu)良,;另一方面硬件資源要在滿足系統(tǒng)需求前提下盡可能降低成本,。考慮以上因素,,服務(wù)器的硬件采用模塊化設(shè)計,,分為嵌入式服務(wù)器模塊、CAN通信接口模塊,、無線測控模塊3部分,。

  2.1 嵌入式服務(wù)器模塊設(shè)計

  該系統(tǒng)的嵌入式服務(wù)器平臺的設(shè)計如圖2所示,。

圖2 嵌入式服務(wù)器設(shè)計方案

  基于S3C2410A擴展了CAN接口模塊,、sD卡等,,CPU采用$3C2410A微處理器作為整個系統(tǒng)的控制核心。S3C2410A是基于ARM920內(nèi)核開發(fā)的32位RISC微處理器,,集成了豐富的外圍功能模塊,,如以太網(wǎng)接121,便于低成本設(shè)計嵌入式應(yīng)用系統(tǒng),。S3C2410A主要功能就是通過控制以太網(wǎng)接口芯片CS8900A及CAN通信接口芯片MCP2510的工作,,實現(xiàn)CAN通信協(xié)議與以太網(wǎng)通信協(xié)議的轉(zhuǎn)換,使遠端用戶借助瀏覽器經(jīng)由Intemet對現(xiàn)場設(shè)備實施遠程監(jiān)控,。

  2.2 CAN通信接口模塊設(shè)計

  由于多數(shù)嵌入式處理器都不帶CAN總線控制器,,在嵌入式處理器的外部總線上擴展CAN總線接口芯片是通用的解決方案。設(shè)計采用了MCP2510芯片作為CAN總線的控制器,,該芯片支持CAN2.0B標(biāo)準(zhǔn),。TJAl050作為CAN總線的收發(fā)器。

  MCP2510可在3-5.5 V范圍內(nèi)供電,,因此能直接與3.3V I/0口的嵌入式處理器連接,。系統(tǒng)結(jié)構(gòu)簡單,與處理器之間的SPI串行接口,,減少了總線的物理連接,,提高了系統(tǒng)的可靠性。

  S3C2410A帶有SPI總線控制器,,可直接與MCP2510連接,。如圖3所示。

圖3 嵌入式節(jié)CAN節(jié)電設(shè)計方案

  相關(guān)的資源有:在電路中使用了2410的一個擴展的L/O口作為片選信號,,低電平有效,;使用了2410的外部中斷0作為中斷引腳,低電平有效,;16 MHz晶體作為輸入時鐘,,MCP2510內(nèi)部有振蕩電路,用晶體可直接起振,。

  中心模塊端,,可對C,8051F310采用模擬SPI口的方式與MCP2510連接。

  2.3 無線測控模塊設(shè)計

  典型的無線結(jié)構(gòu)包括一個無線發(fā)射器(包括數(shù)據(jù)源,、調(diào)制器,、RF源、RF功率放大器,、天線,、電源)和一個無線接收器BJ(包括數(shù)據(jù)接收電路、RF解調(diào)器、譯碼器,、RF低噪聲放大器,、天線、電源),。發(fā)射器的數(shù)據(jù)通過無線發(fā)射出去,,接收器天線接收后進行處理,得到經(jīng)過校驗的正確數(shù)據(jù),。

  系統(tǒng)中選用了CCll00射頻芯片作為無線收發(fā)器,,理由如下:

  (1) 該器件有著極為優(yōu)秀的傳輸能力,空曠傳輸距離可以達到500m,,加了PA的模塊則可以達到1200m,,完全滿足了一般的工廠測控距離要求。

  (2) 2-FSK,,GFSK和MSK支持,,抗干擾能力極強,適用于工廠環(huán)境惡劣的生產(chǎn)車間,。

  (3) CCll00是一種低成本,、真正單片的UHF收發(fā)器,可以根據(jù)自己的需要配置MCU,,使用靈活,,且功耗很低,完全可以采用電池供電,。

  (4) 它具有433/868/915 MHz3個波段載波頻率,,也可以容易地設(shè)置在300—348 MHz、400—464 MHz和800—928 MHz的其他頻率上,。

  該系統(tǒng)選用了C8051F310作為CCI 100的微控制器,。它具有一個增強型外設(shè)接口(SPIO),具有訪問一個全雙工同步串行總線的能力,,具有29個I/O端口,、lO位逐次逼近型的ADC和一個25通道差分輸入多路選擇器,滿足了作為數(shù)據(jù)采集的通常需求,。

  CCll00模塊與CPU是采用SPI口進行通信的,,只需把CCll00的SPI口接到CPU的硬件SPI口上,另外,,再將CCll00的GD00或GD02也接在CPU的任意引腳上,。如果想要用中斷處理收發(fā)數(shù)據(jù)或是想做無線喚醒的話,該引腳必須接在CPU的外部中斷引腳上,。如圖4所示,。

圖4 現(xiàn)場測控C8051F310與CC1100連接示意圖

  微控制器除了完成基本的芯片初始化工作,、數(shù)據(jù)的發(fā)送和接收之外,還需要根據(jù)需要在CCll00的引腳產(chǎn)生中斷,,并由所編寫的中斷管理程序進行狀態(tài)檢測以及切換,,并執(zhí)行相應(yīng)的中斷操作,使得無線通信可以在發(fā)射和接收以及待機之間切換,。

  3、軟件設(shè)計

  軟件設(shè)計主要包括了CAN總線通信程序模塊,、無線通信部分等,,其中驅(qū)動程序的設(shè)計是在LINUX下多任務(wù)操作系統(tǒng)下實現(xiàn)的,多任務(wù)系統(tǒng)中的CAN總線通信程序結(jié)構(gòu)設(shè)計流程圖,。如圖5所示,。

圖5 多任務(wù)系統(tǒng)中的CAN總線通信程序結(jié)構(gòu)

  CAN總線通信程序的設(shè)計可分為發(fā)送數(shù)據(jù)、接收數(shù)據(jù)和中斷處理3個模塊來實現(xiàn),。系統(tǒng)中CAN總線的數(shù)據(jù)發(fā)送和接收是兩個不同的線程,。在驅(qū)動程序中建立數(shù)據(jù)發(fā)送和接收緩沖區(qū)。中斷處理程序只負責(zé)填充(或者讀取)緩沖區(qū)中的數(shù)據(jù),,然后喚醒等待接收(或發(fā)送)數(shù)據(jù)的任務(wù),。數(shù)據(jù)的發(fā)送和接收都通過獨立的緩沖區(qū)由中斷來實現(xiàn)。操作系統(tǒng)的中斷響應(yīng)時間在軟件上決定了CAN總線數(shù)據(jù)的最快收發(fā)速度,。

  MCP2510的初始化,,通過函數(shù)static int MCP—device—init(void)實現(xiàn)??赏ㄟ^設(shè)置MCP2510中的CNFl,、CNF2、CNF3 3個寄存器,,實現(xiàn)不同時鐘下CAN總線通信波特率的設(shè)置,。

  對于無線通信模塊,軟件設(shè)計主要包括09051F310的初始化和CCI 100的初始化以及接收數(shù)據(jù)程序,、發(fā)送數(shù)據(jù)程序,,通過寄存器的配置實現(xiàn)其頻率、通道,、通信速率等的設(shè)置,。函數(shù)void halRfWritePdSettings(RF SETHNGS木pRtSettings)即實現(xiàn)配置CCll00的寄存器的功能。發(fā)送數(shù)據(jù)通過函數(shù)void halRf-SendPacket(unsigned char譬txBuffer,,unsigned char size)實現(xiàn),,接收數(shù)據(jù)通過函數(shù)unsigned char halRfBeceivePacket(unsigned char rxBuffer,unsigned char length)實現(xiàn),。在采集模塊中為了做到低功耗還采用了隨機定時喚醒功能,,這樣加上CCll00自帶的CCA功能,可以最大限度地防止信息相撞,從而達到穩(wěn)定可靠的通信狀態(tài),。

  4,、結(jié)束語

  該系統(tǒng)把短距離無線通信技術(shù)與嵌入式技術(shù)結(jié)合在一起,并且采用兩級組網(wǎng)方式,,將有線與無線技術(shù)結(jié)合起來,,與傳統(tǒng)技術(shù)相比,該方案的成本更低,、功耗更低,、抗干擾能力更強、軟件開發(fā)簡易,,可廣泛應(yīng)用于工廠自動監(jiān)控,、生物信號采集、水文氣象監(jiān)控等領(lǐng)域,?;贑AN總線和無線技術(shù)的遠程集中監(jiān)控系統(tǒng)是數(shù)據(jù)采集、網(wǎng)絡(luò)傳輸,、計算機軟件等多種技術(shù)的綜合應(yīng)用,,適用于對遠端現(xiàn)場環(huán)境進行實時監(jiān)控,自動化管理,,保障工業(yè)生產(chǎn)的安全穩(wěn)定運行,。而隨著網(wǎng)絡(luò)及通信技術(shù)的飛速發(fā)展,短距離無線通信以其特有的抗干擾能力強,、可靠性高,、安全性好、受地理條件限制較少,、安裝施工簡便靈活等特點,,在測控系統(tǒng)中的應(yīng)用越來越廣泛,如何根據(jù)實際需要選擇合適的網(wǎng)絡(luò)拓撲結(jié)構(gòu),,開發(fā)自己的測控系統(tǒng)成為一個越來越廣泛的課題,。在該設(shè)計中采用的CCll00芯片有其局限性,只能實現(xiàn)星形組網(wǎng),,如果需要組建Mesh網(wǎng)絡(luò),,可考慮把方案中的CCll00換成適用于ZIGBEE協(xié)議的CC2420芯片。


 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。