• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      某型高炮CAN總線檢測系統(tǒng)的設計

      2019-08-12 06:15:44李旭孟晨張曉良王成劉志鵬
      現(xiàn)代電子技術 2019年15期
      關鍵詞:數(shù)據(jù)傳輸網(wǎng)絡通信程序設計

      李旭 孟晨 張曉良 王成 劉志鵬

      摘 ?要: 為實現(xiàn)對某型高炮總線數(shù)據(jù)的實時監(jiān)測,設計一種CAN總線檢測系統(tǒng)。該系統(tǒng)使用CAN收發(fā)接口電路完成對信號的采集,采用STM32F1系列單片機作為下位機對采集的數(shù)據(jù)進行處理,通過W5500網(wǎng)絡接口將數(shù)據(jù)傳輸?shù)絇C104 工控機,由工控機進行數(shù)據(jù)解析,從而實現(xiàn)CAN總線數(shù)據(jù)的檢測功能。實驗結果表明,該系統(tǒng)能夠實現(xiàn)對某型高炮CAN數(shù)據(jù)的實時檢測。

      關鍵詞: 數(shù)據(jù)檢測系統(tǒng); 信號采集; 數(shù)據(jù)處理; 數(shù)據(jù)傳輸; 網(wǎng)絡通信; 程序設計

      中圖分類號: TN915?34 ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼: A ? ? ? ? ? ? ? ? ? ? ? ? 文章編號: 1004?373X(2019)15?0013?04

      Design of CAN bus detecting system for a certain type antiaircraft gun

      LI Xu1, MENG Chen1, ZHANG Xiaoliang1, WANG Cheng1, LIU Zhipeng2

      ( 1. Army Engineering University, Shijiazhuang 050003, China; 2. Military Delegate Group Stationed in Changzhi Region, Changzhi 046000, China)

      Abstract: In order to achieve the real?time monitoring for the bus data of a certain type antiaircraft gun, a CAN bus detecting system is designed, in which the CAN transceiver interface circuit is adopted to fulfill signal acquisition, STM32F1 series SCM is used as its slave computer to process the acquired data through, and then sent to PC104 IPC (industrial personal computer) through the W5500 Ethernet interface. The processed data is analyzed by the IPC to realize the system function for detecting CAN bus data. The experimental results show that the system can realize real?time detection of CAN data of a certain antiaircraft gun.

      Keywords: data detecting system; signal acquisition; data processing; data transmission; network communication; program design

      0 ?引 ?言

      某型高炮作為新一代武器系統(tǒng),其各個分系統(tǒng)已經(jīng)實現(xiàn)了采集內部某些模擬信號或開關信號,并輸出到CAN總線的功能。各個分系統(tǒng)之間的通信采用CAN 2.0B標準總線協(xié)議,總線通信波特率[1]為500 Kb/s。因此,可以通過采集CAN總線上的數(shù)據(jù)獲取各個分系統(tǒng)的工作狀況,并對檢測出的故障進行分析和診斷,使得故障排查工作簡單化、高效化。本文以某型高炮CAN總線數(shù)據(jù)采集檢測作為研究對象,設計開發(fā)了CAN總線檢測系統(tǒng),并進行相關的測試實驗。

      1 ?系統(tǒng)總體結構設計

      CAN總線檢測系統(tǒng)結構設計框圖如圖1所示,輸入包括某型高炮的待測信號和電源,輸出為檢測結果,通過圖形界面進行顯示。檢測系統(tǒng)與某型高炮之間的電氣連接采用可靠性高的航空接頭作為連接方式。檢測系統(tǒng)包含電源轉換電路、工控機主板、CAN檢測電路、液晶屏與鍵盤鼠標等模塊組成。其中工控機主板采用PC104工控機作為上位機核心,負責數(shù)據(jù)處理與人機交互;CAN檢測電路采用STM32F1系列單片機作為下位機的控制,負責CAN信號的采集與傳輸。

      圖1 ?總線檢測系統(tǒng)結構框圖

      2 ?CAN總線檢測系統(tǒng)的硬件設計

      在CAN總線檢測電路模塊中,單片機作為主控制器,CAN接口電路將實現(xiàn)單片機與CAN總線之間的互連,W5500接口電路實現(xiàn)單片機與以太網(wǎng)之間的連接。STM32單片機自帶CAN 2.0接口控制器,通過與CAN收發(fā)器芯片連接可以進行CAN總線數(shù)據(jù)幀的收發(fā)。單片機通過W5500與PC建立TCP連接,通過SPI總線與W5500進行通信,后者將完成其轉換為以太網(wǎng)格式數(shù)據(jù)包,并通過網(wǎng)線發(fā)送給PC。該部分電路的設計框圖如圖2所示。

      圖2 ?CAN總線檢測電路設計框圖

      2.1 ?微控制器接口電路

      微控制器采用STM32F103ZET6,主頻為72 MHz,F(xiàn)LASH容量為512 KB,SRAM容量為64 KB。外部時鐘使用8 MHz晶振,VDD和VSS間的去耦電容值為100 nF,單片機的BOOT0和BOOT1直接通過100 kΩ電阻下拉接地[2]。復位電路采用阻容復位電路,下載調試電路采用SWD接口。

      2.2 ?CAN接口電路

      微控制器的CAN_RX和CAN_TX電平首先經(jīng)過磁耦隔離,然后與CAN收發(fā)器的TXD和RXD引腳相連,轉換成CAN_H和CAN_L信號與外界CAN總線相連。

      如圖3所示,U11為TJA1050芯片,該芯片是控制器區(qū)域網(wǎng)絡(CAN)協(xié)議控制器和物理總線之間的接口。TJA1050可以為總線提供差動發(fā)送性能,為CAN控制器提供差動接收性能。本系統(tǒng)采用TJA1050實現(xiàn)CAN協(xié)議控制器到CAN物理總線之間的轉換。U4為ADuM1201芯片,該芯片是ADI公司推出的新型雙通道數(shù)字磁耦隔離器,它具有諸多優(yōu)于光電隔離器件性能的地方,可滿足CAN總線的要求。

      由于現(xiàn)場情況十分復雜,各節(jié)點之間存在很高的共模電壓,雖然CAN接口采用的是差分傳輸方式,具有一定的抗共模干擾的能力,但當共模電壓超過CAN驅動器的極限接收電壓時,CAN驅動器就無法正常工作了,嚴重時甚至會燒毀芯片和儀器設備。因此,為了適應強干擾環(huán)境或是高的性能要求,必須對CAN總線各通信節(jié)點實行電氣隔離。為了防止瞬態(tài)電壓和ESD損壞CAN收發(fā)器芯片,采取兩種措施:一是采用隔離電路對大幅度瞬態(tài)干擾進行隔離,需要注意的是隔離芯片兩側要使用隔離電源進行供電否則達不到隔離效果[3],這里采用電源模塊B0505S對兩側電源進行隔離,如圖4所示;二是采用旁路元件保護隔離接口不被過高的瞬態(tài)電壓擊穿。在CAN總線的CAN_H和CAN_L與GND之間放置一個兩路的TVS瞬態(tài)抑制二極管NUP2105L。需要注意的是,輸入和輸出的電源都要加上旁路電容,并且要盡量靠近芯片的電源引腳。同時CAN_H和CAN_L信號在布線時要采用差分線布線,線的長度要一致,必要時采用蛇形走線。CAN_H和 CAN_L之間接120 Ω阻抗匹配電阻非常必要,否則會影響總線的數(shù)據(jù)傳輸距離和傳輸質量[4]。

      圖4 ?B0505S電源模塊

      2.3 ?網(wǎng)絡接口電路

      本系統(tǒng)采用W5500作為微控制器與以太網(wǎng)通信的轉換器。W5500是一款全硬件TCP/IP嵌入式以太網(wǎng)控制器,為嵌入式系統(tǒng)提供了更加方便的互聯(lián)網(wǎng)連接方案。W5500集成TCP/IP協(xié)議棧、10/100M以太網(wǎng)數(shù)據(jù)鏈路層(MAC)及物聯(lián)層(PHY),通過SPI總線與微控制器連接。W5500的SPI接口支持80 MHz的通信速率。利用W5500組成的網(wǎng)絡接口電路如圖5所示。

      3 ?網(wǎng)絡通信程序設計

      3.1 ?上位機與下位機網(wǎng)絡通信的實現(xiàn)

      下位機上電后,首先進行硬件初始化、內存初始化、調度器初始化、定時器初始化。完成初始化后,各個任務線程會輪流占用CPU處理器時間。為了防止設備接入CAN總線時由于存在CAN總線數(shù)據(jù)導致程序立刻進入CAN中斷程序,從而無法與PC建立TCP連接,這里的CAN接收線程首先需要保證與PC建立TCP連接,然后才進行CAN接口的初始化并使能接收中斷,W5500作為TCP客戶端,PC作為服務器端,W5500的socket0與PC端建立TCP連接的流程如圖6所示。

      圖5 ?網(wǎng)絡接口電路圖

      圖6 ?TCP連接建立過程

      上位機采用socket編程利用TCP/IP協(xié)議解析收到的CAN總線數(shù)據(jù)然后存儲以備后期處理分析[5]。當上位機與下位機建立TCP/IP連接后,下位機通過調用W5500提供的接口函數(shù)如recv和send實現(xiàn)與上位機之間的通信。上位機同樣也需要編寫相應的程序才能實現(xiàn)與下位機通信,上位機的TCP/IP通信流程圖如圖7所示。

      3.2 ?CAN總線數(shù)據(jù)收發(fā)程序設計

      CAN總線數(shù)據(jù)幀為短數(shù)據(jù)報文,由“幀起始”“仲裁域”“控制域”“數(shù)據(jù)域”“CRC域”“應答域”“幀結尾”等7個位域組成[6]。CAN數(shù)據(jù)發(fā)送線程用于獲取上位機通過TCP連接傳來的數(shù)據(jù)包,然后轉換為CAN數(shù)據(jù)幀并輸出到物理CAN總線,其流程圖如圖8所示。

      圖7 ?上位機TCP/IP通信流程圖

      圖8 ?CAN數(shù)據(jù)發(fā)送線程流程圖

      STM32F1系列單片機的SPI1最高時鐘可達36 MHz,SPI2的時鐘可達18 MHz。為了使CAN數(shù)據(jù)能盡快地從接收郵箱中發(fā)送到SPI總線,可以采用DMA傳輸提高數(shù)據(jù)從內存到SPI接口的傳輸速度。然而,W5500在配置或讀取其內部寄存器時只需發(fā)送4字節(jié)的數(shù)據(jù),DMA的配置也需要一定時間,采用DMA可能起不到提高速度的作用。采取以下措施可提高傳輸速度:STM32在內存與SPI外設之間大于4個字節(jié)采用DMA傳輸,否則采用正常方式傳輸。利用DMA向W5500發(fā)送數(shù)據(jù)時只需要使用發(fā)送DMA通道[6]。在利用DMA接收W5500的數(shù)據(jù)時,需要同時使能DMA發(fā)送和接收通道,發(fā)送DMA通道用來向W5500發(fā)送0x00,從而使W5500向外發(fā)送期望的數(shù)據(jù)然后通過MCU接收DMA通道存到內存中。

      CAN數(shù)據(jù)接收線程的作用:當CAN總線上出現(xiàn)數(shù)據(jù)幀時,進入接收中斷函數(shù)接收CAN數(shù)據(jù)幀,然后將數(shù)據(jù)幀發(fā)送到CAN的接收郵箱中緩存。使用信號量can_size_sem來表達已經(jīng)接收的CAN數(shù)據(jù)幀的數(shù)目。在CAN接收中斷程序中通過rt_sem_release(can_ size_sem)使信號量的值加1。CAN接收線程查看CAN的接收郵箱是否有數(shù)據(jù)幀,有,則使用W5500的socket0傳到PC。CAN接收線程流程圖如圖9所示。

      圖9 ?CAN接收線程流程圖

      4 ?實驗結果

      為了驗證所設計的CAN總線數(shù)據(jù)采集是否正常,利用模擬器給CAN總線發(fā)送數(shù)據(jù)幀,CAN總線檢測電路采集數(shù)據(jù)并發(fā)送給上位機,上位機對數(shù)據(jù)進行解碼處理并顯示,顯示界面如圖10所示。通過對發(fā)送的數(shù)據(jù)與檢測系統(tǒng)接收的數(shù)據(jù)進行比對,數(shù)據(jù)完全一致。從實驗結果來看本文提出的CAN總線檢測系統(tǒng)可以實現(xiàn)實時采集CAN總線的所有幀數(shù)據(jù)。

      圖10 ?上位機顯示接收到的數(shù)據(jù)

      5 ?結 ?語

      本文以某型高炮CAN總線數(shù)據(jù)采集檢測作為研究對象,通過STM32單片機搭配嵌入式以太網(wǎng)控制芯片W5500,將CAN總線數(shù)據(jù)轉換成以太網(wǎng)數(shù)據(jù)包并發(fā)送給上位機,完成數(shù)據(jù)的不間斷采集。實驗表明,該系統(tǒng)能夠實現(xiàn)對某型高炮CAN數(shù)據(jù)的實時檢測,為裝備的故障診斷工作提供了可靠的數(shù)據(jù)支持。

      參考文獻

      [1] 趙鑫,張振友,王長升.某型自行高炮工況分析儀的設計與實現(xiàn)[J].火力與指揮控制,2015,40(11):159?162.

      ZHAO Xin, ZHANG Zhenyou, WANG Changsheng. A design and implementation of artillery condition analyzer [J]. Fire control & command control, 2015, 40(11): 159?162.

      [2] 劉純虎,付斌,盛慶華.基于STM32的微型USB?CAN適配器開發(fā)[J].計算機測量與控制,2013,21(4):996?999.

      LIU Chunhu, FU Bin, SHENG Qinghua. ?Development of a small compact USB to CAN converter based on STM32 [J]. Computer measurement & control, 2013, 21(4): 996?999.

      [3] 張啟剛,朱維同.綜合電子技術在自行火炮中的應用研究[J].火炮發(fā)射與控制學報,1997(4):28?34.

      ZHANG Qigang, ZHU Weitong. Research on application of integrated electronic technology in self?propelled gun [J]. Gun launch & control journal, 1997(4): 28?34.

      [4] 代壽剛,干莽,宋占偉.基于FPGA的CAN總線故障分析儀[J].吉林大學學報(信息科學版),2012,30(5):503?508.

      DAI Shougang, GAN Mang, SONG Zhanwei. CAN?bus fault analyzer based on FPGA [J]. Journal of Jilin University (Information sci ed), 2012, 30(5): 503?508.

      [5] 孫海民.精通Windows Sockets網(wǎng)絡開發(fā):基于Visual C++實現(xiàn)[M].北京:人民郵電出版社,2008:80?85.

      SUN Haimin. Proficient in Windows Sockets network development: Visual C++ based implementation [M]. Beijing: The Posts and Telecommunications Press, 2008: 80?85.

      [6] STMicroelectronics. STM32F10x Standard Peripherals Library [CP]. [S.l.]: STMicroelectronics, 2011.

      [7] 馬建輝,胡代榮,郭坤.一種汽車CAN總線網(wǎng)關的報文接收和發(fā)送方法[J].現(xiàn)代電子技術,2018,41(11):5?7.

      MA Jianhui, HU Dairong, GUO Kun. A messages receiving and transmitting method of automotive CAN bus gateway [J]. Modern electronics technique, 2018, 41(11): 5?7.

      [8] 張婷,馮超,李秋妮,等.高炮武器發(fā)射目標毀傷效率優(yōu)化設計仿真[J].計算機仿真,2017,34(6):27?31.

      ZHANG Ting, FENG Chao, LI Qiuni, et al. Optimized design and simulation of anti?craft gun launch target damage effectiveness [J]. Computer Simulation, 2017, 34(6): 27?31.

      猜你喜歡
      數(shù)據(jù)傳輸網(wǎng)絡通信程序設計
      海上軍用網(wǎng)絡通信的安全控制技術
      基于Visual Studio Code的C語言程序設計實踐教學探索
      計算機教育(2020年5期)2020-07-24 08:52:56
      基于網(wǎng)絡通信的智能照明系統(tǒng)設計
      電子制作(2019年15期)2019-08-27 01:11:48
      從細節(jié)入手,談PLC程序設計技巧
      電子制作(2019年9期)2019-05-30 09:42:04
      網(wǎng)絡通信中信息隱藏技術的應用
      談計算機網(wǎng)絡通信常見問題及技術發(fā)展
      電子制作(2017年17期)2017-12-18 06:41:06
      基于Ad Hoc的微震監(jiān)測數(shù)據(jù)傳輸系統(tǒng)設計
      高職高專院校C語言程序設計教學改革探索
      網(wǎng)絡視頻監(jiān)控系統(tǒng)總體架構設計
      短波中低速數(shù)據(jù)傳輸技術
      怀安县| 苗栗市| 高安市| 双城市| 隆回县| 扶余县| 富阳市| 安福县| 涟源市| 察雅县| 亳州市| 余姚市| 花莲市| 大化| 同心县| 通海县| 万盛区| 开江县| 道孚县| 莱芜市| 壤塘县| 青神县| 淄博市| 诸暨市| 卢湾区| 镇宁| 开江县| 阿拉尔市| 新和县| 黄冈市| 和林格尔县| 达日县| 广昌县| 北川| 五莲县| 措美县| 岱山县| 梓潼县| 邢台县| 新野县| 旬阳县|