• 
    <ul id="auswy"><sup id="auswy"></sup></ul>
  • <ul id="auswy"></ul>
    最新廣告
    關(guān)注中國自動化產(chǎn)業(yè)發(fā)展的先行者!
    工業(yè)智能邊緣計算2025年會
    CAIAC 2025
    2025工業(yè)安全大會
    OICT公益講堂
    當(dāng)前位置:首頁 >> 案例 >> 案例首頁

    案例頻道

    基于ARM7與uclinux的嵌入式全自動生化分析儀控制系統(tǒng)模型
    • 企業(yè):控制網(wǎng)     領(lǐng)域:儀器儀表     行業(yè):輸配電    
    • 點擊數(shù):1383     發(fā)布時間:2005-09-21 12:20:57
    • 分享到:
    提出了一種新的基于ARM的嵌入式全自動生化分析儀系統(tǒng)的設(shè)計,該設(shè)計采用ARM處理器 為主CPU,運動控制器為從CPU,并采用實時的uclinux操作系統(tǒng),使得系統(tǒng)很好地進行多任務(wù)處理,并保證了運動控制的實時性。



    1.引言 

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

        市場上每小時150―1200個測試的全自動生化分析儀的基本組成如下: 


        從框圖可以看出,全自動生化分析儀是在計算機的程序控制下,圍繞著比色分析而進行的一系列工作,同手工操作的化學(xué)反應(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)可靠性。S3C4510B是一款基于ARM7內(nèi)核的32位RISC架構(gòu)的處理器,其體積小、低功耗、低成本、性能高,支持Thumb(16位)/ARM(32位)雙指令集,能很好的兼容8位/16位器件,采用此芯片后,控制器的硬件器件大為減少,軟件程序大為縮短,均有助提高可靠性。
        (3)提高系統(tǒng)實時性,采用UCLIMNUX操作系統(tǒng)可以提高系統(tǒng)反應(yīng)時間,如減少試劑臂下降過程中觸底的反應(yīng)時間等等。
        (4)降低軟件研發(fā)成本。軟件開發(fā)簡單、快速,可以由更少的軟件研發(fā)人員花更少的時間完成復(fù)雜的運動控制編程。

        因此,采用采用ARM及UCLINUX能夠提高系統(tǒng)性能,并得到更優(yōu)秀的控制特性。且采用了運動控制芯片MCX314,由運動控制芯片來完成復(fù)雜的運動控制,而ARM處理器用來管理調(diào)度。
    圖1表示了基于這種思想開發(fā)的數(shù)控系統(tǒng)的結(jié)構(gòu)。

     
    2.2 數(shù)控系統(tǒng)的硬件結(jié)構(gòu)

        系統(tǒng)硬件采用ARM處理器加運動控制芯片結(jié)構(gòu)模式。ARM處理器選用SANSUM公司的4510B處理芯片,用于鍵盤、顯示,網(wǎng)絡(luò)通訊等管理工作,而運動控制芯片采用了NOVA電子有限公司的MCX314芯片,專門負(fù)責(zé)運動控制的處理工作, MCX314芯片是一款能夠同時控制4個伺服馬達(dá)或步進馬達(dá)的運動控制芯片,它以脈沖串形式輸出,能對伺服馬達(dá)或步進馬達(dá)進行位置控制、插補驅(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%,復(fù)位后為低電平。DIR是Pulse/DIR模式下的方向信號輸出端,占空比為50%,復(fù)位后為低電平。LMTP和LMPM分別是正方向和負(fù)方向的越限信號輸入端,在正、負(fù)方向驅(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ù)責(zé)編織過程中命令發(fā)送、運動芯片狀態(tài)讀取、IO口操作等控制。
        (4)TaskErrorControl 異常處理任務(wù),負(fù)責(zé)運動過程中的異常處理。
        (5)TaskStatusControl 運動狀態(tài)任務(wù),負(fù)責(zé)運動過程中的狀態(tài)顯示以及參數(shù)設(shè)置。
        (6)TaskKeyInt 按鍵處理任務(wù),負(fù)責(zé)對鍵盤輸入的接收。
        (7)TaskNetHandle 網(wǎng)絡(luò)任務(wù),負(fù)責(zé)對網(wǎng)絡(luò)數(shù)據(jù)包的處理。
        (8)Taskstatus 系統(tǒng)狀態(tài)任務(wù),負(fù)責(zé)顯示CPU利用率、編碼器值等系統(tǒng)狀態(tài)。

    2.2 UClinux的移植和驅(qū)動程序的編寫

        操作系統(tǒng)采用目前比較流行的嵌入式Linux操作系統(tǒng)UClinux。移植UClinux到S3C4510B上主要需要解決以下一些問題:
    交叉編譯環(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)和標(biāo)準(zhǔn)Linux驅(qū)動程序結(jié)構(gòu)類似。大部分的標(biāo)準(zhǔn)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ù)總線訪問。當(dāng)用8位數(shù)據(jù)總線訪問時,需要使用A0、A1、A2和A3。系統(tǒng)初始化時皆應(yīng)預(yù)先設(shè)施寄存器初始制。

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

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

     
    4 結(jié)論

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

    熱點新聞

    推薦產(chǎn)品

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



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