路和生,婁小平,賀 慶,郭陽寬
(北京信息科技大學 光電測試技術北京市重點實驗室,北京 100192)
基于CAN總線的全自動凝血分析儀通信系統*
路和生,婁小平,賀 慶,郭陽寬
(北京信息科技大學 光電測試技術北京市重點實驗室,北京 100192)
針對傳統凝血分析儀通信系統的實時性差、可靠度低等問題,依據全自動凝血分析儀特點,設計一套基于CAN總線的通信系統。系統采用CAN總線實現分布式多節點間的參數傳輸;與PC端通過USB進行通信,通過既定的通信協議實現對整機的協同控制。經現場測試和驗證,通信數據的正確率高、實時性好,大幅度提高了全自動凝血分析儀連續運行的性能。
CAN總線;凝血分析;通信系統
Abstract: Owing to the traditional blood coagulation analyzer has the features of bad real-time and low reliability, this paper proposes a new communication system based on CAN bus for full-automated blood coagulation analyzer. This system realizes distributed parameters transmission among multiple nodes with CAN bus, which communicates with PC using USB, and realizes the cooperative control of the entire system with the designed communication protocol. By field-testing, it proves that the new communication system has high correct rate and good real-time, and has greatly improved the performance of the system for continuous operation.
Key words:CAN bus; coagulation analyzing; communication system
全自動凝血分析儀包括血樣輸送模塊、試劑位管理模塊、測試杯輸送模塊、檢測模塊、三維運動模塊、氣液路模塊等[1]。通信系統的主要作用是將各模塊連接起來組成通信網絡,結合機械結構,通過PC端發送不同的命令組合,實現對凝血分析儀的整個工作流程控制與監測[2-3]。隨著凝血分析儀的自動化程度不斷提高,在工作過程中,各個模塊之間有大量的數據需要交換處理,所以通信系統的性能直接影響凝血分析儀的工作效率。
傳統方式中,主要基于RS-485總線搭建通信系統,RS-485總線結構是一主多從的方式,主站和從站用地址編碼區分。其處理數據沖突的機制是主機輪詢,下位機應答。相對來說,其實時性不強,總線的利用率低,尤其是當整個網絡通信節點較多時,實時性問題更加突出,當某個節點出現錯誤時,經常會導致整個系統通信癱瘓[4]。
本文提出基于CAN總線[5-7]的全自動凝血分析儀通信系統。CAN總線拋棄了站地址編碼,工作于多主方式,網絡中的各個節點都可以廣播數據,通過不同的報文標識符,采用無損結構的逐位仲裁方式競爭確定總線訪問優先權,這樣可以使各節點同時接收到數據;CAN節點具有自動關閉輸出功能,不會因個別節點出問題而導致整體系統癱瘓。這些優勢大大提高了全自動凝血分析儀通信系統的實時性[8]和穩定性。
本設計中全自動凝血分析儀系統包括PC客戶端、USB-CAN模塊、血樣輸送模塊、測試杯輸送模塊、試劑位模塊、三維運動控制模塊、氣液模塊以及檢測模塊等。通過PC客戶端,實現對待測血樣、測試試劑、三維運動控制等的管理。各個模塊都可以作為一個獨立的設備,模塊之間采用CAN總線通信。USB-CAN模塊與PC之間采用USB線通信。系統總體結構如圖1所示。

圖1 凝血分析儀系統總體結構圖
系統啟動后,首先對各個模塊進行復位,讀取試劑位、測試杯等信息;之后控制試管托架裝載好血樣,運送至指定位置,由三維運動模塊控制機械臂,分別吸取血樣和試劑,放入測試杯,測試杯運送到檢測位置開始檢測;最后將檢測結果上傳至PC客戶端。整個流程均通過CAN總線傳遞上位機指令和各模塊的響應信號。
2.1芯片選型
各功能模塊的主處理器采用STM32F407VGT6芯片[9]。該芯片以CortexTM-M4為內核,集成了單周期DSP指令和浮點單元,主頻可達168 MHz;支持USB2.0協議,通信速率可達480 Mb/s;集成了兩路CAN控制器接口,支持CAN2.0A、CAN2.0B等協議。由于該芯片支持USB和CAN兩種通信方式,適合本方案設計。
CAN收發器使用VP230芯片[10],它有如下特點:
(1)兼容ISO11898標準;
(2)最大可以接入120個節點;
(3)傳輸速率最高可達1 Mb/s,相對于RS-485總線,具有更快速的傳輸速率;
(4)使用差分信號,具有較強的抗干擾能力。
2.2 CAN總線接口設計
CAN總線通信接口是整個通信系統設計最重要的部分。使用STM32F407VGT6的CAN1控制器接口,發送、接收兩個引腳(CANTX與CANRX)連接到CAN收發器上(VP230芯片),即可構成一個CAN通信節點接入CAN總線中。硬件電路如圖2所示。使用VP230芯片連接主處理器的收發引腳,將數據轉化為差分信號傳輸到CAN總線上去,VP230和主處理器均采用3 V供電。

圖2 CAN接口硬件電路圖
2.3 CAN總線的物理信號
CAN收發器通過CANL和CANH兩根信號線的電位差來判斷總線電平[6]。總線電平有隱性電平和顯性電平。發送節點通過CAN收發器使得總線電平發生變化,將數據發送給接收節點。邏輯0對應顯性電平,CANH和CANL之差為2 V左右,而邏輯1對應隱性電平,CANH和CANL之差為0 V。CAN總線的邏輯電平如圖3所示。

圖3 CAN總線邏輯電平圖
3.1軟件設計整體思路

圖4 通信軟件總體流程圖
通信系統軟件主要由PC客戶端軟件[11-13]、USB-CAN模塊[14-15]軟件以及各個子節點CAN通信軟件構成。客戶端軟件直接面對用戶,位于整個通信系統的最上層,提供人機交互界面,用戶通過該界面發送指令來控制整機工作,同時客戶端還監測各個模塊的運行狀態和數據。USB-CAN模塊主要完成USB協議和CAN協議轉換,是銜接PC和功能模塊的橋梁。各個子節點分別對應不同的功能模塊,實現各個模塊的實際功能。
3.2 CAN通信軟件設計
首先要對CAN控制器進行初始化,配置相關引腳的復用功能,使能內部CAN時鐘,設置CAN工作模式、波特率、濾波器。之后分別配置CAN發送和接收中斷。通信軟件總體流程圖如圖4所示。
全自動凝血分析儀的執行部件包括直流電機、步進電機、限位開關、槽型光耦、電磁閥、氣泵等,根據這些部件的特點,結合CAN總線通信結構,設定數據段長度為8字節,數據格式如表1所示[13-14]。

表1 單包通信數據格式
通信系統上位機采用VS2010編寫,首先設定好VID、PID和PVN,點擊打開設備,軟件提示打開設備成功之后,點亮LED指示燈,驗證了基本通信功能是正常的。然后可以對凝血分析儀進行整機復位、狀態查詢等控制操作,調試界面如圖5所示。

圖5 上位機調試界面
在測試過程中,還接入了CAN總線分析儀進行監測。單次命令發送可以最低縮減至5 ms,通信系統能正常收發數據,如圖6所示。

圖6 CAN總線分析儀監測界面
用Tektronix dpo2024B型號示波器測量CAN總線的CANH和CANL電平,符合CAN總線電平的協議要求,且通信波形正常,如圖7所示。

圖7 示波器測量CAN總線電平圖
本文設計且實現了一套基于CAN總線的全自動凝血分析儀通信系統。以STM32F407VGT6為主處理器,利用芯片的CAN外設和CAN收發器,搭建了基于CAN總線的通信系統。詳細介紹了CAN總線的硬件設計以及通信過
程。實驗證明:在相同的通信數據量對比下,單次控制命令可以在5 ms內完成,大大提高了整體的通信效率,同時也降低了系統故障可能性,達到了預期的效果。
[1] 彭黎明,王鴻利,顏存糧. 全自動凝血分析儀[J]. 血栓與止血學,2006,12(4):188-192.
[2] 張勇,董浩斌. 基于STM32和LabVIEW的地震數據采集卡的設計[J]. 電子技術應用,2012,38(10):72-74,80.
[3] 劉曉文,王龍,王存. 基于井下廣播系統的CAN轉以太網網關設計[J]. 電子技術應用,2014,40(2):16-18,22.
[4] 紀峰,周超,鮑進,等. 集中抄表系統中多節點RS 485總線通信失敗率的研究[J]. 電氣應用,2015(11):36-38.
[5] 李向如,俞建定,汪沁. 基于CANopen協議的機械手的實現[J]. 微型機與應用,2015,34(13):7-8,16.
[6] 高煒. 基于CAN總線的汽車中央接線盒耐壓測試[J]. 儀表技術,2016(8):14-17,22.
[7] 亢雪琳.基于STM32的CAN總線通信設計[D].長春:吉林大學,2013.
[8] BROSTER I, BURNS A, RODRGUEZ-NAVAS G. Timing analysis of real-time communication under electromagnetic interference[J]. Real-Time Systems,2005,30(1-2):55-81.
[9] 方浩,李艾華,王濤,等. 基于STM32單片機的智能槍柜系統設計[J]. 電子技術應用,2014,40(2):12-14,18.
[10] 胡敦利,張春曉. 基于C8051F040和CAN總線的液位控制器設計[J]. 儀表技術與傳感器,2009(7):63-65.
[11] 來鑫,陳辛波,方淑德. 基于LabVIEW的雙橫臂獨立懸架運動特性測試系統[J]. 儀表技術與傳感器,2016(7):64-67.
[12] PONCE P, PONCE H, MOLINA A, et al. Soft computing based on LabVIEW[J]. IFAC Proceedings Volumes,2013,46(9):975-981.
[13] RAJ J R, RAHMAN S M K, ANAND S. Microcontroller USB interfacing with MATLAB GUI for low cost medical ultrasound scanners[J]. Engineering Science and Technology, an International Journal,2016,19(2): 964-969.
[14] 劉純虎,付斌,盛慶華. 基于STM32的微型USB-CAN適配器開發[J]. 計算機測量與控制,2013,21(4):996-998,1007.
[15] DAVIS R I, KOLLMANN S, POLLEX V, et al. Schedulability analysis for Controller Area Network (CAN) with FIFO queues priority queues and gateways[J]. Real-Time Systems,2013,49(1):73-116.
Communication system of full-automated blood coagulation analyzer based on CAN bus
Lu Hesheng, Lou Xiaoping, He Qing, Guo Yangkuan
(Beijing Key Laboratory for Optoelectronics Measurement Technology, Beijing Information Science & Technology University, Beijing 100192, China)
TP273+.2
A
10.19358/j.issn.1674- 7720.2017.18.019
路和生,婁小平,賀慶,等.基于CAN總線的全自動凝血分析儀通信系統[J].微型機與應用,2017,36(18):63-65.
北京市屬高等學校創新團隊建設發展計劃項目(IDHT20130518);教育部長江學者和創新團隊發展計劃資助(IRT1212)
2017-02-28)
路和生(1987-),男,碩士研究生,主要研究方向:生物醫學檢測技術及儀器。