1.引言
隨著現(xiàn)代電子計算機技術(shù)的迅猛發(fā)展及普及,各式各樣的自動化分析儀日新月異,而臨床生化檢驗是實現(xiàn)自動化最早也最有成效的部分。大部分已裝備的全自動生化分析儀無論其同時檢測的項目多少還是其速度的快慢,其核心部分仍是建立在比色分析基礎(chǔ)上的自動比色系統(tǒng),其附屬設(shè)備的增加及由計算機控制自動化程度的提高使分析儀具有了許多功能。
市場上每小時150―1200個測試的全自動生化分析儀的基本組成如下:
從框圖可以看出,全自動生化分析儀是在計算機的程序控制下,圍繞著比色分析而進行的一系列工作,同手工操作的化學反應(yīng)一樣,只不過是各個操作步驟都由相應(yīng)的執(zhí)行機構(gòu)在計算機的控制下有序的完成。
2 基于ARM與UCLINUX的控制系統(tǒng)模型
2.1 系統(tǒng)結(jié)構(gòu)模型及優(yōu)點
采用ARM及UCLINUX具有以下好處:
(1)提高控制性能。采用成熟32位的ARM處理器來控制,可以提高系統(tǒng)可測的反應(yīng)類型和相應(yīng)的項目。
(2)提高系統(tǒng)可靠性。S
(3)提高系統(tǒng)實時性,采用UCLIMNUX操作系統(tǒng)可以提高系統(tǒng)反應(yīng)時間,如減少試劑臂下降過程中觸底的反應(yīng)時間等等。
(4)降低軟件研發(fā)成本。軟件開發(fā)簡單、快速,可以由更少的軟件研發(fā)人員花更少的時間完成復雜的運動控制編程。
因此,采用采用ARM及UCLINUX能夠提高系統(tǒng)性能,并得到更優(yōu)秀的控制特性。且采用了運動控制芯片MCX314,由運動控制芯片來完成復雜的運動控制,而ARM處理器用來管理調(diào)度。
圖1表示了基于這種思想開發(fā)的數(shù)控系統(tǒng)的結(jié)構(gòu)。
2
系統(tǒng)硬件采用ARM處理器加運動控制芯片結(jié)構(gòu)模式。ARM處理器選用SANSUM公司的4510B處理芯片,用于鍵盤、顯示,網(wǎng)絡(luò)通訊等管理工作,而運動控制芯片采用了NOVA電子有限公司的MCX314芯片,專門負責運動控制的處理工作, MCX314芯片是一款能夠同時控制4個伺服馬達或步進馬達的運動控制芯片,它以脈沖串形式輸出,能對伺服馬達或步進馬達進行位置控制、插補驅(qū)動、速度控制等。該芯片輸出的脈沖速度范圍為1PPS一4MPPS,可以滿足高速驅(qū)動的需求,并且脈沖的頻率精確度小于0.1%。。控制系統(tǒng)硬件結(jié)構(gòu)如圖2所示。
2.3 ARM 處理器與運動控制芯片的連接
MCX314與CPU的連接如圖3所示。其中:CLK是啟動MCX314的內(nèi)部同步電路的主時鐘信號輸入端,其頻率16.000MHz。驅(qū)動速度、加/減速度、加速度/減速度的變化率都根據(jù)此頻率設(shè)定。A0-A2是MCX314讀/寫寄存器的地址信號。CSN為片選信號,低電平有效。INTN是供CPU使用的中斷請求信號,由任何中斷因素引發(fā)中斷,INTN都為低電平,中斷解除后,返回高阻態(tài)。WRN和RDN分別是寫使能和讀使能。PLS是Pulse/DIR模式下的脈沖輸出端,占空比為50%,復位后為低電平。DIR是Pulse/DIR模式下的方向信號輸出端,占空比為50%,復位后為低電平。LMTP和LMPM分別是正方向和負方向的越限信號輸入端,在正、負方向驅(qū)動脈沖輸出過程中,此信號有效就執(zhí)行減速停止或立即停止,在方式選擇中,可設(shè)定減速停止或立即停止和邏輯電平。IN0~IN3用于立即停止或減速運動中的軸,這里接原點和各工位的光電開關(guān)輸入信號。EMGN信號常用于緊急停車,低電平會立即停止所有輸出。
3 控制系統(tǒng)軟件設(shè)計
3.1控制系統(tǒng)軟件構(gòu)架
uClinux是控制領(lǐng)域的嵌入式操作系統(tǒng),其優(yōu)勢在于開源,免費.穩(wěn)定及強大的網(wǎng)絡(luò)功能,其內(nèi)核的功能結(jié)構(gòu)與Linux基本相同. 只是對內(nèi)存管理和進程管理進行改寫。uClinux不支持MMU.不能使用處理器的虛擬內(nèi)存技術(shù),它采用的是實存儲器管理策略uClinux采用romfs文件系統(tǒng).這種文件系統(tǒng)相對于一般的ext2文件系統(tǒng)占有更少的空間。uClinux重寫了應(yīng)用程序庫。相對于大而全的glibc庫,uclibc 對libc做了精簡
為了最大的利用系統(tǒng)硬件資源,并且還要保證實時性,所以使用了uClinux這個多任務(wù)實時操作系統(tǒng),通過它實現(xiàn)多任務(wù)實時控制。程序的編程語言為C語言以及ARM匯編語言。uClinux的所有源代碼都作為本程序的一部分,并與其它代碼一起進行編譯和鏈接。系統(tǒng)的軟件構(gòu)架如圖4所示。
程序運行時將會先后創(chuàng)建如下任務(wù):
(1) TaskStart 系統(tǒng)運行后創(chuàng)建的第一個任務(wù),完成一些初始化工作以及創(chuàng)建其它任務(wù),所有工作完成后此任務(wù)將會被刪除。
(2) TaskMainMenu 主任務(wù),系統(tǒng)的菜單、網(wǎng)絡(luò)下載以及測試等都在此任務(wù)中完成,進入運動控制任務(wù)后此任務(wù)會被掛起。
(3) TaskContml 運動控制任務(wù),負責編織過程中命令發(fā)送、運動芯片狀態(tài)讀取、IO口操作等控制。
(4)TaskErrorControl 異常處理任務(wù),負責運動過程中的異常處理。
(5)TaskStatusControl 運動狀態(tài)任務(wù),負責運動過程中的狀態(tài)顯示以及參數(shù)設(shè)置。
(6)TaskKeyInt 按鍵處理任務(wù),負責對鍵盤輸入的接收。
(7)TaskNetHandle 網(wǎng)絡(luò)任務(wù),負責對網(wǎng)絡(luò)數(shù)據(jù)包的處理。
(8)Taskstatus 系統(tǒng)狀態(tài)任務(wù),負責顯示CPU利用率、編碼器值等系統(tǒng)狀態(tài)。
2.2 UClinux的移植和驅(qū)動程序的編寫
操作系統(tǒng)采用目前比較流行的嵌入式Linux操作系統(tǒng)UClinux。移植UClinux到S
交叉編譯環(huán)境的建立:在宿主機上安裝arm―elf―tool工具包,建立基于ARM體系結(jié)構(gòu)的編譯器、鏈接器、調(diào)試器以及一些實用程序,編譯UClinux內(nèi)核、制作文件系統(tǒng)都需要依賴此交叉編譯環(huán)境。
加載方式:UClinux的內(nèi)核有兩種運行方式,可以在Flash上直接運行;也可以加載到RAM 中運行。我們采用了boot-loader來執(zhí)行設(shè)置開機寄存器的配置、內(nèi)核與文件系統(tǒng)的加載以及傳遞硬件與啟動參數(shù)給內(nèi)核的方式加載UClinux內(nèi)核。
配置、編譯:在編譯UClinux內(nèi)核之前,首先要進行內(nèi)核的系統(tǒng)類型、通用選項、塊設(shè)備、文件系統(tǒng)、字符設(shè)備的選擇和配置。最后用make zlmage命令生成壓縮好的內(nèi)核Zlmage。
UClinux的根文件系統(tǒng)的加載:系統(tǒng)內(nèi)核啟動成功之后便會試圖加載根文件系統(tǒng)。UClinux采用的romfs根文件系統(tǒng),
romfs中需要保證基本目錄和基本應(yīng)用程序的存在,這樣操作系統(tǒng)才能正常工作。
此外,還必須為各外部硬件設(shè)備編寫UClinux的驅(qū)動程序,如IIC總線驅(qū)動、LCD驅(qū)動、打印機驅(qū)動等。UClinux的驅(qū)動程序結(jié)構(gòu)和標準Linux驅(qū)動程序結(jié)構(gòu)類似。大部分的標準Linux驅(qū)動都是采用模塊化的方式,以支持動態(tài)加載/卸載的功能;而嵌入式系統(tǒng)都是針對具體應(yīng)用的,一般不需要此功能,所以UClinux的驅(qū)動程序都是直接編譯到內(nèi)核中去的。
3.2 運動控制芯片的控制
與MCX314進行數(shù)據(jù)交換主要通過以WR開頭的8個寫寄存器和以RR開頭的8個讀寄存器。MCX314既可以用16位數(shù)據(jù)總線訪問,也可以用8位數(shù)據(jù)總線訪問。當用8位數(shù)據(jù)總線訪問時,需要使用A0、A1、A2和A3。系統(tǒng)初始化時皆應(yīng)預先設(shè)施寄存器初始制。
通過32位邏輯、實時位置計數(shù)器和比較寄存器實現(xiàn)位置反饋和控制;通過中斷端口向主控制器發(fā)出中斷請求;提供32個輸出端口和48個輸入端口,這些端口的功能各具特色。
本系統(tǒng)中運動控制芯片主要用于對4個軸(X.Y.Z.U)進行控制,X軸初始化程序流程圖如下所示。
4 結(jié)論
采用基于ARM7的S
參考文獻:
[1].馬忠梅,馬廣云等.ARM嵌入式處理器結(jié)構(gòu)與應(yīng)用基礎(chǔ).北京:北京航空航天大學出版社,2002
[2].Samsung Electronics。CPU一S
[3].李駒光 聶雪媛等.ARM應(yīng)用系統(tǒng)開發(fā)詳解-基于S
[4].Linux與嵌入式系統(tǒng),李善平等,清華大學出版社,2003.
[5].[美]Hollabaugh C,陳雷,鐘書毅等譯.嵌入式linux―― 硬件、軟件與接口.北京:電子工業(yè)出版社,2003
[6].葉佩青,汪勁松. MCX314運動控制芯片與數(shù)控系統(tǒng)設(shè)計. 北京航空航天大學出版社,2002