路和生,婁小平,賀 慶,郭陽寬
(北京信息科技大學(xué) 光電測試技術(shù)北京市重點實驗室,北京 100192)
基于CAN總線的全自動凝血分析儀通信系統(tǒng)*
路和生,婁小平,賀 慶,郭陽寬
(北京信息科技大學(xué) 光電測試技術(shù)北京市重點實驗室,北京 100192)
針對傳統(tǒng)凝血分析儀通信系統(tǒng)的實時性差、可靠度低等問題,依據(jù)全自動凝血分析儀特點,設(shè)計一套基于CAN總線的通信系統(tǒng)。系統(tǒng)采用CAN總線實現(xiàn)分布式多節(jié)點間的參數(shù)傳輸;與PC端通過USB進(jìn)行通信,通過既定的通信協(xié)議實現(xiàn)對整機(jī)的協(xié)同控制。經(jīng)現(xiàn)場測試和驗證,通信數(shù)據(jù)的正確率高、實時性好,大幅度提高了全自動凝血分析儀連續(xù)運行的性能。
CAN總線;凝血分析;通信系統(tǒng)
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]。通信系統(tǒng)的主要作用是將各模塊連接起來組成通信網(wǎng)絡(luò),結(jié)合機(jī)械結(jié)構(gòu),通過PC端發(fā)送不同的命令組合,實現(xiàn)對凝血分析儀的整個工作流程控制與監(jiān)測[2-3]。隨著凝血分析儀的自動化程度不斷提高,在工作過程中,各個模塊之間有大量的數(shù)據(jù)需要交換處理,所以通信系統(tǒng)的性能直接影響凝血分析儀的工作效率。
傳統(tǒng)方式中,主要基于RS-485總線搭建通信系統(tǒng),RS-485總線結(jié)構(gòu)是一主多從的方式,主站和從站用地址編碼區(qū)分。其處理數(shù)據(jù)沖突的機(jī)制是主機(jī)輪詢,下位機(jī)應(yīng)答。相對來說,其實時性不強(qiáng),總線的利用率低,尤其是當(dāng)整個網(wǎng)絡(luò)通信節(jié)點較多時,實時性問題更加突出,當(dāng)某個節(jié)點出現(xiàn)錯誤時,經(jīng)常會導(dǎo)致整個系統(tǒng)通信癱瘓[4]。
本文提出基于CAN總線[5-7]的全自動凝血分析儀通信系統(tǒng)。CAN總線拋棄了站地址編碼,工作于多主方式,網(wǎng)絡(luò)中的各個節(jié)點都可以廣播數(shù)據(jù),通過不同的報文標(biāo)識符,采用無損結(jié)構(gòu)的逐位仲裁方式競爭確定總線訪問優(yōu)先權(quán),這樣可以使各節(jié)點同時接收到數(shù)據(jù);CAN節(jié)點具有自動關(guān)閉輸出功能,不會因個別節(jié)點出問題而導(dǎo)致整體系統(tǒng)癱瘓。這些優(yōu)勢大大提高了全自動凝血分析儀通信系統(tǒng)的實時性[8]和穩(wěn)定性。
本設(shè)計中全自動凝血分析儀系統(tǒng)包括PC客戶端、USB-CAN模塊、血樣輸送模塊、測試杯輸送模塊、試劑位模塊、三維運動控制模塊、氣液模塊以及檢測模塊等。通過PC客戶端,實現(xiàn)對待測血樣、測試試劑、三維運動控制等的管理。各個模塊都可以作為一個獨立的設(shè)備,模塊之間采用CAN總線通信。USB-CAN模塊與PC之間采用USB線通信。系統(tǒng)總體結(jié)構(gòu)如圖1所示。
圖1 凝血分析儀系統(tǒng)總體結(jié)構(gòu)圖
系統(tǒng)啟動后,首先對各個模塊進(jìn)行復(fù)位,讀取試劑位、測試杯等信息;之后控制試管托架裝載好血樣,運送至指定位置,由三維運動模塊控制機(jī)械臂,分別吸取血樣和試劑,放入測試杯,測試杯運送到檢測位置開始檢測;最后將檢測結(jié)果上傳至PC客戶端。整個流程均通過CAN總線傳遞上位機(jī)指令和各模塊的響應(yīng)信號。
2.1芯片選型
各功能模塊的主處理器采用STM32F407VGT6芯片[9]。該芯片以CortexTM-M4為內(nèi)核,集成了單周期DSP指令和浮點單元,主頻可達(dá)168 MHz;支持USB2.0協(xié)議,通信速率可達(dá)480 Mb/s;集成了兩路CAN控制器接口,支持CAN2.0A、CAN2.0B等協(xié)議。由于該芯片支持USB和CAN兩種通信方式,適合本方案設(shè)計。
CAN收發(fā)器使用VP230芯片[10],它有如下特點:
(1)兼容ISO11898標(biāo)準(zhǔn);
(2)最大可以接入120個節(jié)點;
(3)傳輸速率最高可達(dá)1 Mb/s,相對于RS-485總線,具有更快速的傳輸速率;
(4)使用差分信號,具有較強(qiáng)的抗干擾能力。
2.2 CAN總線接口設(shè)計
CAN總線通信接口是整個通信系統(tǒng)設(shè)計最重要的部分。使用STM32F407VGT6的CAN1控制器接口,發(fā)送、接收兩個引腳(CANTX與CANRX)連接到CAN收發(fā)器上(VP230芯片),即可構(gòu)成一個CAN通信節(jié)點接入CAN總線中。硬件電路如圖2所示。使用VP230芯片連接主處理器的收發(fā)引腳,將數(shù)據(jù)轉(zhuǎn)化為差分信號傳輸?shù)紺AN總線上去,VP230和主處理器均采用3 V供電。
圖2 CAN接口硬件電路圖
2.3 CAN總線的物理信號
CAN收發(fā)器通過CANL和CANH兩根信號線的電位差來判斷總線電平[6]??偩€電平有隱性電平和顯性電平。發(fā)送節(jié)點通過CAN收發(fā)器使得總線電平發(fā)生變化,將數(shù)據(jù)發(fā)送給接收節(jié)點。邏輯0對應(yīng)顯性電平,CANH和CANL之差為2 V左右,而邏輯1對應(yīng)隱性電平,CANH和CANL之差為0 V。CAN總線的邏輯電平如圖3所示。
圖3 CAN總線邏輯電平圖
3.1軟件設(shè)計整體思路
圖4 通信軟件總體流程圖
通信系統(tǒng)軟件主要由PC客戶端軟件[11-13]、USB-CAN模塊[14-15]軟件以及各個子節(jié)點CAN通信軟件構(gòu)成??蛻舳塑浖苯用鎸τ脩?,位于整個通信系統(tǒng)的最上層,提供人機(jī)交互界面,用戶通過該界面發(fā)送指令來控制整機(jī)工作,同時客戶端還監(jiān)測各個模塊的運行狀態(tài)和數(shù)據(jù)。USB-CAN模塊主要完成USB協(xié)議和CAN協(xié)議轉(zhuǎn)換,是銜接PC和功能模塊的橋梁。各個子節(jié)點分別對應(yīng)不同的功能模塊,實現(xiàn)各個模塊的實際功能。
3.2 CAN通信軟件設(shè)計
首先要對CAN控制器進(jìn)行初始化,配置相關(guān)引腳的復(fù)用功能,使能內(nèi)部CAN時鐘,設(shè)置CAN工作模式、波特率、濾波器。之后分別配置CAN發(fā)送和接收中斷。通信軟件總體流程圖如圖4所示。
全自動凝血分析儀的執(zhí)行部件包括直流電機(jī)、步進(jìn)電機(jī)、限位開關(guān)、槽型光耦、電磁閥、氣泵等,根據(jù)這些部件的特點,結(jié)合CAN總線通信結(jié)構(gòu),設(shè)定數(shù)據(jù)段長度為8字節(jié),數(shù)據(jù)格式如表1所示[13-14]。
表1 單包通信數(shù)據(jù)格式
通信系統(tǒng)上位機(jī)采用VS2010編寫,首先設(shè)定好VID、PID和PVN,點擊打開設(shè)備,軟件提示打開設(shè)備成功之后,點亮LED指示燈,驗證了基本通信功能是正常的。然后可以對凝血分析儀進(jìn)行整機(jī)復(fù)位、狀態(tài)查詢等控制操作,調(diào)試界面如圖5所示。
圖5 上位機(jī)調(diào)試界面
在測試過程中,還接入了CAN總線分析儀進(jìn)行監(jiān)測。單次命令發(fā)送可以最低縮減至5 ms,通信系統(tǒng)能正常收發(fā)數(shù)據(jù),如圖6所示。
圖6 CAN總線分析儀監(jiān)測界面
用Tektronix dpo2024B型號示波器測量CAN總線的CANH和CANL電平,符合CAN總線電平的協(xié)議要求,且通信波形正常,如圖7所示。
圖7 示波器測量CAN總線電平圖
本文設(shè)計且實現(xiàn)了一套基于CAN總線的全自動凝血分析儀通信系統(tǒng)。以STM32F407VGT6為主處理器,利用芯片的CAN外設(shè)和CAN收發(fā)器,搭建了基于CAN總線的通信系統(tǒng)。詳細(xì)介紹了CAN總線的硬件設(shè)計以及通信過
程。實驗證明:在相同的通信數(shù)據(jù)量對比下,單次控制命令可以在5 ms內(nèi)完成,大大提高了整體的通信效率,同時也降低了系統(tǒng)故障可能性,達(dá)到了預(yù)期的效果。
[1] 彭黎明,王鴻利,顏存糧. 全自動凝血分析儀[J]. 血栓與止血學(xué),2006,12(4):188-192.
[2] 張勇,董浩斌. 基于STM32和LabVIEW的地震數(shù)據(jù)采集卡的設(shè)計[J]. 電子技術(shù)應(yīng)用,2012,38(10):72-74,80.
[3] 劉曉文,王龍,王存. 基于井下廣播系統(tǒng)的CAN轉(zhuǎn)以太網(wǎng)網(wǎng)關(guān)設(shè)計[J]. 電子技術(shù)應(yīng)用,2014,40(2):16-18,22.
[4] 紀(jì)峰,周超,鮑進(jìn),等. 集中抄表系統(tǒng)中多節(jié)點RS 485總線通信失敗率的研究[J]. 電氣應(yīng)用,2015(11):36-38.
[5] 李向如,俞建定,汪沁. 基于CANopen協(xié)議的機(jī)械手的實現(xiàn)[J]. 微型機(jī)與應(yīng)用,2015,34(13):7-8,16.
[6] 高煒. 基于CAN總線的汽車中央接線盒耐壓測試[J]. 儀表技術(shù),2016(8):14-17,22.
[7] 亢雪琳.基于STM32的CAN總線通信設(shè)計[D].長春:吉林大學(xué),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ī)的智能槍柜系統(tǒng)設(shè)計[J]. 電子技術(shù)應(yīng)用,2014,40(2):12-14,18.
[10] 胡敦利,張春曉. 基于C8051F040和CAN總線的液位控制器設(shè)計[J]. 儀表技術(shù)與傳感器,2009(7):63-65.
[11] 來鑫,陳辛波,方淑德. 基于LabVIEW的雙橫臂獨立懸架運動特性測試系統(tǒng)[J]. 儀表技術(shù)與傳感器,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適配器開發(fā)[J]. 計算機(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總線的全自動凝血分析儀通信系統(tǒng)[J].微型機(jī)與應(yīng)用,2017,36(18):63-65.
北京市屬高等學(xué)校創(chuàng)新團(tuán)隊建設(shè)發(fā)展計劃項目(IDHT20130518);教育部長江學(xué)者和創(chuàng)新團(tuán)隊發(fā)展計劃資助(IRT1212)
2017-02-28)
路和生(1987-),男,碩士研究生,主要研究方向:生物醫(yī)學(xué)檢測技術(shù)及儀器。