• 
    <ul id="auswy"><sup id="auswy"></sup></ul>
  • <ul id="auswy"></ul>
    ABB
    關(guān)注中國(guó)自動(dòng)化產(chǎn)業(yè)發(fā)展的先行者!
    CAIAC 2025
    2025工業(yè)安全大會(huì)
    OICT公益講堂
    當(dāng)前位置:首頁 >> 案例 >> 案例首頁

    案例頻道

    基于ARM7與uclinux的嵌入式全自動(dòng)生化分析儀控制系統(tǒng)模型
    • 企業(yè):控制網(wǎng)     行業(yè):輸配電    
    • 點(diǎn)擊數(shù):1682     發(fā)布時(shí)間:2006-07-23 22:02:54
    • 分享到:
    提出了一種新的基于ARM的嵌入式全自動(dòng)生化分析儀系統(tǒng)的設(shè)計(jì),該設(shè)計(jì)采用ARM處理器為主CPU,運(yùn)動(dòng)控制器為從CPU,并采用實(shí)時(shí)的uclinux操作系統(tǒng),使得系統(tǒng)很好地進(jìn)行多任務(wù)處理,并保證了運(yùn)動(dòng)控制的實(shí)時(shí)性。

    1.引言  
         
    隨著現(xiàn)代電子計(jì)算機(jī)技術(shù)的迅猛發(fā)展及普及,各式各樣的自動(dòng)化分析儀日新月異,而臨床生化檢驗(yàn)是實(shí)現(xiàn)自動(dòng)化最早也最有成效的部分。大部分已裝備的全自動(dòng)生化分析儀無論其同時(shí)檢測(cè)的項(xiàng)目多少還是其速度的快慢,其核心部分仍是建立在比色分析基礎(chǔ)上的自動(dòng)比色系統(tǒng),其附屬設(shè)備的增加及由計(jì)算機(jī)控制自動(dòng)化程度的提高使分析儀具有了許多功能。
     
      市場(chǎng)上每小時(shí)1501200個(gè)測(cè)試的全自動(dòng)生化分析儀的基本組成如下:


        從框圖可以看出,全自動(dòng)生化分析儀是在計(jì)算機(jī)的程序控制下,圍繞著比色分析而進(jìn)行的一系列工作,同手工操作的化學(xué)反應(yīng)一樣,只不過是各個(gè)操作步驟都由相應(yīng)的執(zhí)行機(jī)構(gòu)在計(jì)算機(jī)的控制下有序的完成。


    2
    基于ARMUCLINUX的控制系統(tǒng)模型


    2
    1 系統(tǒng)結(jié)構(gòu)模型及優(yōu)點(diǎn)

       
    采用ARMUCLINUX具有以下好處:

       
    (1)提高控制性能。采用成熟32位的ARM處理器來控制,可以提高系統(tǒng)可測(cè)的反應(yīng)類型和相應(yīng)的項(xiàng)目。

       
    (2)提高系統(tǒng)可靠性。S3C4510B是一款基于ARM7內(nèi)核的32RISC架構(gòu)的處理器,其體積小、低功耗、低成本、性能高,支持Thumb(16)ARM(32)雙指令集,能很好的兼容8位/16位器件,采用此芯片后,控制器的硬件器件大為減少,軟件程序大為縮短,均有助提高可靠性。

       
    (3)提高系統(tǒng)實(shí)時(shí)性,采用UCLIMNUX操作系統(tǒng)可以提高系統(tǒng)反應(yīng)時(shí)間,如減少試劑臂下降過程中觸底的反應(yīng)時(shí)間等等。
     
        (4)降低軟件研發(fā)成本。軟件開發(fā)簡(jiǎn)單、快速,可以由更少的軟件研發(fā)人員花更少的時(shí)間完成復(fù)雜的運(yùn)動(dòng)控制編程。

       
    因此,采用采用ARMUCLINUX能夠提高系統(tǒng)性能,并得到更優(yōu)秀的控制特性。且采用了運(yùn)動(dòng)控制芯片MCX314,由運(yùn)動(dòng)控制芯片來完成復(fù)雜的運(yùn)動(dòng)控制,而ARM處理器用來管理調(diào)度。


    1表示了基于這種思想開發(fā)的數(shù)控系統(tǒng)的結(jié)構(gòu)。




    22 數(shù)控系統(tǒng)的硬件結(jié)構(gòu)
       
        系統(tǒng)硬件采用ARM處理器加運(yùn)動(dòng)控制芯片結(jié)構(gòu)模式。ARM處理器選用SANSUM公司的4510B處理芯片,用于鍵盤、顯示,網(wǎng)絡(luò)通訊等管理工作,而運(yùn)動(dòng)控制芯片采用了NOVA電子有限公司的MCX314芯片,專門負(fù)責(zé)運(yùn)動(dòng)控制的處理工作, MCX314芯片是一款能夠同時(shí)控制4個(gè)伺服馬達(dá)或步進(jìn)馬達(dá)的運(yùn)動(dòng)控制芯片,它以脈沖串形式輸出,能對(duì)伺服馬達(dá)或步進(jìn)馬達(dá)進(jìn)行位置控制、插補(bǔ)驅(qū)動(dòng)、速度控制等。該芯片輸出的脈沖速度范圍為1PPS4MPPS,可以滿足高速驅(qū)動(dòng)的需求,并且脈沖的頻率精確度小于01%。??刂葡到y(tǒng)硬件結(jié)構(gòu)如圖2所示。



    23 ARM 處理器與運(yùn)動(dòng)控制芯片的連接

     


     

        MCX314CPU的連接如圖3所示。其中:CLK是啟動(dòng)MCX314的內(nèi)部同步電路的主時(shí)鐘信號(hào)輸入端,其頻率16.000MHz。驅(qū)動(dòng)速度、加/減速度、加速度/減速度的變化率都根據(jù)此頻率設(shè)定。A0-A2MCX314/寫寄存器的地址信號(hào)。CSN為片選信號(hào),低電平有效。INTN是供CPU使用的中斷請(qǐng)求信號(hào),由任何中斷因素引發(fā)中斷,INTN都為低電平,中斷解除后,返回高阻態(tài)。WRNRDN分別是寫使能和讀使能。PLSPulse/DIR模式下的脈沖輸出端,占空比為50%,復(fù)位后為低電平。DIRPulse/DIR模式下的方向信號(hào)輸出端,占空比為50%,復(fù)位后為低電平。LMTPLMPM分別是正方向和負(fù)方向的越限信號(hào)輸入端,在正、負(fù)方向驅(qū)動(dòng)脈沖輸出過程中,此信號(hào)有效就執(zhí)行減速停止或立即停止,在方式選擇中,可設(shè)定減速停止或立即停止和邏輯電平。IN0~IN3用于立即停止或減速運(yùn)動(dòng)中的軸,這里接原點(diǎn)和各工位的光電開關(guān)輸入信號(hào)。EMGN信號(hào)常用于緊急停車,低電平會(huì)立即停止所有輸出。



    3 控制系統(tǒng)軟件設(shè)計(jì)


    3
    1控制系統(tǒng)軟件構(gòu)架

       
    uClinux是控制領(lǐng)域的嵌入式操作系統(tǒng),其優(yōu)勢(shì)在于開源,免費(fèi).穩(wěn)定及強(qiáng)大的網(wǎng)絡(luò)功能,其內(nèi)核的功能結(jié)構(gòu)與Linux基本相同. 只是對(duì)內(nèi)存管理和進(jìn)程管理進(jìn)行改寫。uClinux不支持MMU.不能使用處理器的虛擬內(nèi)存技術(shù),它采用的是實(shí)存儲(chǔ)器管理策略uClinux采用romfs文件系統(tǒng).這種文件系統(tǒng)相對(duì)于一般的ext2文件系統(tǒng)占有更少的空間。uClinux重寫了應(yīng)用程序庫。相對(duì)于大而全的glibc庫,uclibc 對(duì)libc做了精簡(jiǎn)

       
    為了最大的利用系統(tǒng)硬件資源,并且還要保證實(shí)時(shí)性,所以使用了uClinux這個(gè)多任務(wù)實(shí)時(shí)操作系統(tǒng),通過它實(shí)現(xiàn)多任務(wù)實(shí)時(shí)控制。程序的編程語言為C語言以及ARM匯編語言。uClinux的所有源代碼都作為本程序的一部分,并與其它代碼一起進(jìn)行編譯和鏈接。系統(tǒng)的軟件構(gòu)架如圖4所示。



        程序運(yùn)行時(shí)將會(huì)先后創(chuàng)建如下任務(wù):


        (1) TaskStart
    系統(tǒng)運(yùn)行后創(chuàng)建的第一個(gè)任務(wù),完成一些初始化工作以及創(chuàng)建其它任務(wù),所有工作完成后此任務(wù)將會(huì)被刪除。

    (2) TaskMainMenu 主任務(wù),系統(tǒng)的菜單、網(wǎng)絡(luò)下載以及測(cè)試等都在此任務(wù)中完成,進(jìn)入運(yùn)動(dòng)控制任務(wù)后此任務(wù)會(huì)被掛起。

    (3) TaskContml 運(yùn)動(dòng)控制任務(wù),負(fù)責(zé)編織過程中命令發(fā)送、運(yùn)動(dòng)芯片狀態(tài)讀取、IO口操作等控制。

    (4)TaskErrorControl 異常處理任務(wù),負(fù)責(zé)運(yùn)動(dòng)過程中的異常處理。

    (5)TaskStatusControl 運(yùn)動(dòng)狀態(tài)任務(wù),負(fù)責(zé)運(yùn)動(dòng)過程中的狀態(tài)顯示以及參數(shù)設(shè)置。

    (6)TaskKeyInt 按鍵處理任務(wù),負(fù)責(zé)對(duì)鍵盤輸入的接收。

    (7)TaskNetHandle 網(wǎng)絡(luò)任務(wù),負(fù)責(zé)對(duì)網(wǎng)絡(luò)數(shù)據(jù)包的處理。

        (8)Taskstatus 系統(tǒng)狀態(tài)任務(wù),負(fù)責(zé)顯示CPU利用率、編碼器值等系統(tǒng)狀態(tài)。

    22 UClinux的移植和驅(qū)動(dòng)程序的編寫

      
    操作系統(tǒng)采用目前比較流行的嵌入式Linux操作系統(tǒng)UClinux。移植UClinuxS3C4510B上主要需要解決以下一些問題:

    交叉編譯環(huán)境的建立:在宿主機(jī)上安裝armelftool工具包,建立基于ARM體系結(jié)構(gòu)的編譯器、鏈接器、調(diào)試器以及一些實(shí)用程序,編譯UClinux內(nèi)核、制作文件系統(tǒng)都需要依賴此交叉編譯環(huán)境。

    加載方式:UClinux的內(nèi)核有兩種運(yùn)行方式,可以在Flash上直接運(yùn)行;也可以加載到RAM 中運(yùn)行。我們采用了boot-loader來執(zhí)行設(shè)置開機(jī)寄存器的配置、內(nèi)核與文件系統(tǒng)的加載以及傳遞硬件與啟動(dòng)參數(shù)給內(nèi)核的方式加載UClinux內(nèi)核。

    配置、編譯:在編譯UClinux內(nèi)核之前,首先要進(jìn)行內(nèi)核的系統(tǒng)類型、通用選項(xiàng)、塊設(shè)備、文件系統(tǒng)、字符設(shè)備的選擇和配置。最后用make zlmage命令生成壓縮好的內(nèi)核Zlmage。

    UClinux的根文件系統(tǒng)的加載:系統(tǒng)內(nèi)核啟動(dòng)成功之后便會(huì)試圖加載根文件系統(tǒng)。UClinux采用的romfs根文件系統(tǒng),

    romfs中需要保證基本目錄和基本應(yīng)用程序的存在,這樣操作系統(tǒng)才能正常工作。

    此外,還必須為各外部硬件設(shè)備編寫UClinux的驅(qū)動(dòng)程序,如IIC總線驅(qū)動(dòng)、LCD驅(qū)動(dòng)、打印機(jī)驅(qū)動(dòng)等。UClinux的驅(qū)動(dòng)程序結(jié)構(gòu)和標(biāo)準(zhǔn)Linux驅(qū)動(dòng)程序結(jié)構(gòu)類似。大部分的標(biāo)準(zhǔn)Linux驅(qū)動(dòng)都是采用模塊化的方式,以支持動(dòng)態(tài)加載/卸載的功能;而嵌入式系統(tǒng)都是針對(duì)具體應(yīng)用的,一般不需要此功能,所以UClinux的驅(qū)動(dòng)程序都是直接編譯到內(nèi)核中去的。


    3
    2 運(yùn)動(dòng)控制芯片的控制

    MCX314進(jìn)行數(shù)據(jù)交換主要通過以WR開頭的8個(gè)寫寄存器和以RR開頭的8個(gè)讀寄存器。MCX314既可以用16位數(shù)據(jù)總線訪問,也可以用8位數(shù)據(jù)總線訪問。當(dāng)用8位數(shù)據(jù)總線訪問時(shí),需要使用A0、A1、A2A3。系統(tǒng)初始化時(shí)皆應(yīng)預(yù)先設(shè)施寄存器初始制。

    通過32位邏輯、實(shí)時(shí)位置計(jì)數(shù)器和比較寄存器實(shí)現(xiàn)位置反饋和控制;通過中斷端口向主控制器發(fā)出中斷請(qǐng)求;提供32個(gè)輸出端口和48個(gè)輸入端口,這些端口的功能各具特色。

    本系統(tǒng)中運(yùn)動(dòng)控制芯片主要用于對(duì)4個(gè)軸(X.Y.Z.U)進(jìn)行控制,X軸初始化程序流程圖如下所示。




    4 結(jié)論

       
    采用基于ARM7S3C451OB嵌入式微處理器,可以使系統(tǒng)小型化,便于提高性能以及與各種外設(shè)連接擴(kuò)展,同時(shí)降低了成本。uclinux作為一個(gè)源代碼公開的操作系統(tǒng),在具體應(yīng)用種穩(wěn)定可靠。本系統(tǒng)采用ARM7+ uclinux開發(fā)設(shè)計(jì),具有精度高、運(yùn)行穩(wěn)定、實(shí)時(shí)性好、抗干擾能力強(qiáng)、性價(jià)比高的特點(diǎn),通過實(shí)驗(yàn)證明,這種設(shè)計(jì)方案是可行的,如果接入網(wǎng)絡(luò)接口應(yīng)用,將取得更好效果。

    參考文獻(xiàn):

    [1].馬忠梅,馬廣云等.ARM嵌入式處理器結(jié)構(gòu)與應(yīng)用基礎(chǔ).北京:北京航空航天大學(xué)出版社,2002

    [2].Samsung Electronics。CPUS3C4510BREV1pdf

    [3].李駒光 聶雪媛等.ARM應(yīng)用系統(tǒng)開發(fā)詳解-基于S3C4510B的系統(tǒng)設(shè)計(jì)清華大學(xué)出版社 2003

    [4].Linux與嵌入式系統(tǒng),李善平等,清華大學(xué)出版社,2003

    [5].[]Hollabaugh C,陳雷,鐘書毅等譯.嵌入式linux―― 硬件、軟件與接口.北京:電子工業(yè)出版社,2003

    [6].葉佩青,汪勁松. MCX314運(yùn)動(dòng)控制芯片與數(shù)控系統(tǒng)設(shè)計(jì). 北京航空航天大學(xué)出版社,2002

    熱點(diǎn)新聞

    推薦產(chǎn)品

    x
    • 在線反饋
    1.我有以下需求:



    2.詳細(xì)的需求:
    姓名:
    單位:
    電話:
    郵件: