亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于實時操作系統(tǒng)的ATmega128串行通信驅(qū)動程序設(shè)計*

        2016-12-09 12:26:11陳宇珂潘澤森丁效軍張興安
        中國醫(yī)學(xué)裝備 2016年11期
        關(guān)鍵詞:信號量服務(wù)程序緩沖區(qū)

        陳 ?!£愑铉妗∨藵缮《⌒к姟埮d安

        基于實時操作系統(tǒng)的ATmega128串行通信驅(qū)動程序設(shè)計*

        陳 海①陳宇珂②*潘澤森②丁效軍②張興安③

        目的:基于實時操作系統(tǒng)uCOS-II進(jìn)行ATmega128串行通信驅(qū)動程序設(shè)計,作為智能化靜脈麻醉靶控模塊通信的一部分,與藥物注射機(jī)械控制系統(tǒng)協(xié)同運行,以提高整個藥代動力學(xué)目標(biāo)控制注射系統(tǒng)的運行效率和實時性。方法:根據(jù)ATmega128微處理器USART特點,采用信號量、消息郵箱及環(huán)形緩沖隊列,設(shè)計串口通信驅(qū)動模塊。結(jié)果:串口驅(qū)動通信模塊采用信號量、消息郵箱及環(huán)形緩沖區(qū)解決CPU快速處理和外部慢速通信接口的速度配合問題,并利用信號量和消息郵箱,實現(xiàn)串口通信中斷服務(wù)與數(shù)據(jù)處理任務(wù)間數(shù)據(jù)傳輸?shù)耐叫院蛯崟r性。結(jié)論:通過實驗驗證了在多種不同通信速率下串行通信驅(qū)動模塊數(shù)據(jù)傳輸?shù)目煽啃?,該傳輸模塊數(shù)據(jù)傳輸具有誤碼率低、傳輸穩(wěn)定可靠的特點。

        實時操作系統(tǒng)uCOS-II;信號量;消息郵箱;串行通信;驅(qū)動程序;靜脈麻醉輸注系統(tǒng)

        [First-author’s address] Department of Radiation Oncology, General Hospital of Guangzhou Military Command of PLA, Guangzhou 510010, China.

        醫(yī)療設(shè)備在嵌入式應(yīng)用中,使用實時操作系統(tǒng)(real time operator system,RTOS)可以加快系統(tǒng)程序的開發(fā)速度,更加合理和有效地使用系統(tǒng)各類資源,縮短系統(tǒng)開發(fā)時間,使得整個系統(tǒng)的實時性、可靠性得到極大的保證。據(jù)EEtimes雜志統(tǒng)計,目前嵌入式市場常用的RTOS有FreeRTOS、Microsoft XP Embedded、VxWorks、Linux以及RTX等數(shù)十種,其中uCOS是一個輕量級的實時操作系統(tǒng)內(nèi)核,具有任務(wù)管理、時間管理、信號量及內(nèi)存管理等功能,可以根據(jù)系統(tǒng)開發(fā)需要移植裁剪,方便地移植到各種嵌入式系統(tǒng)上使用[1-3]。為此,本研究基于實時操作系統(tǒng)uCOS-II進(jìn)行ATmega128串行通信驅(qū)動程序設(shè)計。

        1 技術(shù)與方法

        1.1實時操作系統(tǒng)uCOS-II

        根據(jù)相關(guān)微處理器的特點對實時操作系統(tǒng)uCOSII的源代碼根據(jù)功能需要進(jìn)行合適的裁減,設(shè)置與處理器及編譯器相關(guān)代碼,可以非??旖莸卦诓煌蚣芪⑻幚砥?、微控制器和數(shù)字信號處理器上應(yīng)用。自1992年以來,uCOS以其高度的可靠性、魯棒性以及安全性,在家用電子設(shè)備、醫(yī)療儀器及航空航天電子產(chǎn)品各種應(yīng)用中被廣泛使用[4-6]。

        1.2串口通信驅(qū)動模塊設(shè)計

        隨著嵌入式系統(tǒng)的發(fā)展,系統(tǒng)間的數(shù)據(jù)通信越來越頻繁和重要,尤其是串口通信所需接口數(shù)少,接線簡單,可實現(xiàn)遠(yuǎn)距離通信。但是uCOS-II僅是一個實時多任務(wù)操作系統(tǒng)內(nèi)核,需要根據(jù)嵌入式微處理器與各種外設(shè)擴(kuò)展的實際情況,利用實時內(nèi)核提供的功能,結(jié)合硬件特點,編寫應(yīng)用程序接口函數(shù),進(jìn)行硬件接口驅(qū)動模塊程序設(shè)計。ATmega128通用異步同步串行通信接口USART是單片機(jī)與外部設(shè)備進(jìn)行串行信息交換的重要組件,基于USART的RTOS串口通信驅(qū)動模塊,需結(jié)合uCOS-II嵌入式操作系統(tǒng),基于信號量、消息郵箱,利用環(huán)形緩沖區(qū)數(shù)據(jù)結(jié)構(gòu)特點進(jìn)行設(shè)計。

        2 ATmega128微處理器和uCOS-II實時操作系統(tǒng)

        本研究組以臨床國人靜脈麻醉藥代動力學(xué)參數(shù)研究為基礎(chǔ),結(jié)合微機(jī)電、嵌入式新技術(shù)設(shè)計便攜式靜脈麻醉智能儀器。系統(tǒng)主要從嵌入式系統(tǒng)的硬件設(shè)計、系統(tǒng)軟件設(shè)計和應(yīng)用層軟件設(shè)計三個方面開展研發(fā)工作,系統(tǒng)硬件結(jié)構(gòu)如圖1所示。

        2.1系統(tǒng)構(gòu)建

        2.1.1ATmega128微處理器及其USART硬件模塊

        美國ATMEL公司ATmega128是一款基于AVR RISC(精簡指令集)結(jié)構(gòu)的CMOS微處理器,具有低成本、低功耗及高性能的特點[7-8]。ATmega128單片機(jī)穩(wěn)定性極高,應(yīng)用非常廣泛,在工業(yè)控制電子設(shè)備領(lǐng)域、通信網(wǎng)絡(luò)設(shè)備以及智能化電子醫(yī)療儀器等嵌入式領(lǐng)域中得到廣泛應(yīng)用[9-16]。

        ATmega128具有2個可編程的通用同步、異步串行接收器和轉(zhuǎn)發(fā)器:USART0和USART1,USART0和USART1具有不同的I/O寄存器。ATmega128串行通訊硬件的主要特點有:①串行接收寄存器和發(fā)送寄存器互相獨立,可以非常方便地進(jìn)行全雙工操作;②可靈活選擇異步傳輸和同步傳輸模式,支持多個數(shù)據(jù)位;③奇偶校驗操作、數(shù)據(jù)過速及幀錯誤檢測得到硬件支持,可提高數(shù)據(jù)傳輸?shù)臏?zhǔn)確性;④硬件提供發(fā)送結(jié)束中斷、發(fā)送數(shù)據(jù)寄存器空中斷和接收結(jié)束中斷[17]。

        2.1.2uCOS-II實時操作系統(tǒng)

        uCOS-II是開放的占先式實時系統(tǒng)內(nèi)核,通過已經(jīng)準(zhǔn)備就緒的高優(yōu)先級任務(wù),剝奪正在運行的低優(yōu)先級任務(wù)的CPU使用權(quán),保證了高優(yōu)先級任務(wù)的實時運行。uCOS-II將信號量、消息隊列、消息郵箱、事件標(biāo)志組和互斥信號量統(tǒng)一看作事件,系統(tǒng)根據(jù)以上事件發(fā)生與否決定各個任務(wù)的狀態(tài),事件可以是系統(tǒng)中斷發(fā)出的,也可以由其他任務(wù)發(fā)出。uCOS-II事件來自中斷服務(wù)函數(shù)、系統(tǒng)延時時間到達(dá)設(shè)置時間值和其他任務(wù)發(fā)送三個方面,信號量和消息郵箱是系統(tǒng)設(shè)計中常用的事件,在中斷與任務(wù)和任務(wù)與任務(wù)同步以及數(shù)據(jù)傳遞過程中應(yīng)用最為廣泛[18-19]。

        2.1.3信號量

        uCOS-II的信號量(semaphores)廣泛用于任務(wù)間對共享資源的互斥訪問,任務(wù)與中斷服務(wù)程序間、任務(wù)與任務(wù)間的同步,其提供了行為同步時刻的信息。uCOS-II的信號量包括互斥信號量和計數(shù)信號量兩種:①互斥信號量是一個二值信號,只能是0或1,用于資源同步,在程序中實現(xiàn)對共享資源的互斥訪問;②計數(shù)信號量取值是一個16位無符號整形數(shù),計數(shù)范圍為0~65535,計數(shù)信號量不僅可用于資源同步,還可實現(xiàn)任務(wù)之間、中斷與任務(wù)之間的同步。計數(shù)信號量標(biāo)志同步事件的發(fā)生次數(shù)或者已發(fā)生事件的數(shù)量,表達(dá)資源的可用數(shù)量。

        圖1 ATmega128微處理器和uCOS-II實時操作系統(tǒng)硬件結(jié)構(gòu)圖

        uCOS-II信號量相關(guān)函數(shù)包括OSSemCreate()、OSSemPend()和OSSemPost()3個。OSSemCreate()函數(shù)初始化信號量,OSSemPend()函數(shù)由于任務(wù)中等待信號量,OSSemPost()函數(shù)在任務(wù)或中斷服務(wù)程序中發(fā)送信號量。信號量最好在系統(tǒng)初始化過程中創(chuàng)建,并根據(jù)需要給信號量賦初值。

        2.1.4消息郵箱

        消息用于任務(wù)之間傳遞信息,當(dāng)同步過程中需要傳輸具體內(nèi)容時就不能使用信號量,可以選擇消息郵箱通過內(nèi)核服務(wù)發(fā)送消息。uCOS-II的消息郵箱(message mail boxes)基于事件控制塊結(jié)構(gòu)OS_ EVENT,是事先定義好的數(shù)據(jù)結(jié)構(gòu),包含需要傳遞的參數(shù),一個郵箱存放一條信息。uCOS系統(tǒng)中OSMboxCreate()進(jìn)行郵箱初始化(initialize),或者稱為建立郵箱(create),初始值為NULL,也可以包含一條信息,使其最開始就初始化為包含一條消息;OSMboxPost()函數(shù)將消息放入郵箱,如果該郵箱已有數(shù)據(jù),則返回郵箱已滿錯誤碼;如果郵箱為空,有任務(wù)在等待消息郵箱的消息,則馬上通過內(nèi)核服務(wù)將消息傳遞給等待消息的任務(wù)列表中優(yōu)先級最高的任務(wù),然后進(jìn)行任務(wù)調(diào)度,判斷當(dāng)前運行的任務(wù)是否仍為處于最高優(yōu)先級就緒態(tài),否則將消息發(fā)送給最先等待的任務(wù)。OSMboxPend()函數(shù)允許用戶定義超時等待時間,避免無休止等待。

        2.1.5環(huán)形隊列緩沖區(qū)

        在計算機(jī)語言中隊列是常用的一種數(shù)據(jù)結(jié)構(gòu),在數(shù)據(jù)傳輸和處理中應(yīng)用廣泛,將隊列采用環(huán)形緩沖技術(shù)構(gòu)造為首尾相互連接的結(jié)構(gòu)形式,形成環(huán)形緩沖區(qū)。環(huán)形緩沖區(qū)在嵌入式系統(tǒng)中具有重要作用,尤其是在多任務(wù)系統(tǒng)中,運用信號量實現(xiàn)緩沖區(qū)的互斥訪問,可以有效提高程序效率,避免任務(wù)間競爭,防止數(shù)據(jù)讀寫錯誤[20]。

        2.2串口通信模塊軟件設(shè)計

        在完成uCOS-II實時系統(tǒng)基于ATmega128移植的基礎(chǔ)上,根據(jù)靜脈麻醉靶控模塊與輸注控制模塊之間以串行通信進(jìn)行數(shù)據(jù)交換的需求,進(jìn)行USART設(shè)備驅(qū)動程序設(shè)計。由于uCOS-II作為實時內(nèi)核,提供了實時操作系統(tǒng)內(nèi)核基本功能,但在進(jìn)行項目系統(tǒng)整體設(shè)計時,需要根據(jù)硬件結(jié)構(gòu)和功能需求進(jìn)行驅(qū)動及應(yīng)用程序設(shè)計[21-22]。

        在實時操作系統(tǒng)中,串行通信接口是一種異步通訊設(shè)備,在進(jìn)行接收發(fā)送程序設(shè)計時,加入軟件緩沖區(qū),在串口發(fā)送和接收數(shù)據(jù)時,系統(tǒng)有更重要任務(wù)需要處理時,來不及處理這些數(shù)據(jù),可先將數(shù)據(jù)存入緩沖區(qū),使數(shù)據(jù)不會發(fā)生丟失。為此,從內(nèi)存中開辟2個定義為環(huán)形隊列的數(shù)據(jù)結(jié)構(gòu)作為緩沖區(qū),分別作為串口數(shù)據(jù)收發(fā)的發(fā)送緩沖區(qū)和接收緩沖區(qū)。發(fā)送和接收環(huán)形緩沖區(qū)由首尾相接的數(shù)據(jù)隊列、環(huán)形緩沖區(qū)字節(jié)計數(shù)器、指向環(huán)形緩沖器中將被放置下個字節(jié)的指針和指向環(huán)形緩沖區(qū)將被讀取的下一字節(jié)的指針4個要素。

        本研究采用uCOS-II實時操作系統(tǒng)信號量實現(xiàn)串口通信發(fā)送、接收任務(wù)和中斷服務(wù)程序的同步,用戶任務(wù)使用串口通信時不必關(guān)心串口的實現(xiàn),只需將需要發(fā)送的數(shù)據(jù)寫入發(fā)送緩沖區(qū),串口自行從發(fā)送緩沖區(qū)取出數(shù)據(jù),調(diào)用中斷發(fā)送程序送出數(shù)據(jù)。串口接收到的數(shù)據(jù)通過接收中斷服務(wù)程序接收存入接收緩沖區(qū)中,每接收到一個字節(jié),向等待接收緩沖區(qū)數(shù)據(jù)的應(yīng)用程序發(fā)信號。

        2.2.1USART初始化

        實時系統(tǒng)中USART通信模塊初始化包括了模塊中所有變量的初始值設(shè)置,在系統(tǒng)調(diào)用用戶任務(wù)創(chuàng)建函數(shù)前的調(diào)用,一般可以在串口任務(wù)創(chuàng)建時調(diào)用。初始化時環(huán)形緩沖區(qū)讀寫指針一般初始化為0,指向環(huán)形緩沖區(qū)隊列頭部。數(shù)據(jù)接收任務(wù)中的接收信號量在初始化時設(shè)置為0,數(shù)據(jù)發(fā)送信號量初始化值可以根據(jù)發(fā)送環(huán)形緩沖隊列的大小進(jìn)行設(shè)置。

        完成所有相關(guān)變量的初始化后,進(jìn)行USART硬件初始化設(shè)置,設(shè)定傳輸模式、波特率、數(shù)據(jù)幀格式以及開啟發(fā)送接收中斷。USART0的控制和狀態(tài)寄存器有UCSR0A,UCSR0B,UCSR0C,波特率寄存器為UBRR0,即UBRR0H和UBRR0L,數(shù)據(jù)收發(fā)寄存器為UDR0。初始化時,或者在改變USART的設(shè)置時必須在無數(shù)據(jù)傳輸?shù)那闆r下進(jìn)行,TXC標(biāo)志位檢驗一個數(shù)據(jù)幀發(fā)送是否完成,RXC標(biāo)志位檢驗接收緩沖器是否還有數(shù)據(jù)未讀出,在每次發(fā)送數(shù)據(jù)即寫發(fā)送數(shù)據(jù)寄存器UDR前,TXC標(biāo)志位必須清零。

        2.2.2USART串行通信模塊讀取操作

        串口通信數(shù)據(jù)接收過程包括:USART接收器接收到一個數(shù)據(jù)幀后觸發(fā)接收中斷,中斷服務(wù)程序ISR讀取接收到的內(nèi)容并保存,經(jīng)過一次或若干次ISR完成通信幀的接收(拼裝數(shù)據(jù)幀),發(fā)送信號觸發(fā)處理和解釋通信內(nèi)容的任務(wù),然后根據(jù)處理結(jié)果觸發(fā)其他相關(guān)任務(wù)。

        ATmega128啟動USART接收器通過置位UCSRB寄存器的接收允許標(biāo)志位RXEN完成,如果USART接收器接收檢測到有效起始位,便啟動數(shù)據(jù)接收,直到接收到一幀數(shù)據(jù)的第一個停止位為止,然后將接收到的數(shù)據(jù)傳入接收移位寄存器。如有第二個停止位,則會被接收器忽略。這時移位寄存器中的內(nèi)容將轉(zhuǎn)移到USART硬件接收緩沖器中。USART接收器通過接收結(jié)束標(biāo)志RXC表明硬件接收緩沖器中是否含有未讀出的數(shù)據(jù)。RXC為1時,緩沖器中有數(shù)據(jù),為0時接收緩沖器為空。在USART硬件初始化中置位UCSRB的接收結(jié)束中斷使能位RXCIE后,只要RXC標(biāo)志位置1,在全局中斷使能的情況下,將產(chǎn)生USART接收結(jié)束中斷,在中斷服務(wù)程序中讀取UDR寄存器就可以獲得接收緩沖器的內(nèi)容并清除RXC標(biāo)志。ATmega128微處理器USART接收器具有的幀錯誤FE、數(shù)據(jù)溢出DOR、奇偶檢驗錯UPE標(biāo)志位于寄存器UCSRA中,在中斷服務(wù)程序中必須在接收緩沖區(qū)讀取之前先讀取,通過這3個錯誤標(biāo)志位的判斷,可以更好地保證接收數(shù)據(jù)的準(zhǔn)確性。

        基于uCOS-II的串口讀寫模塊由接收數(shù)據(jù)讀取任務(wù)和接收中斷服務(wù)程序兩部分組成。在串口硬件接收數(shù)據(jù)完成后,串口數(shù)據(jù)接收中斷服務(wù)程序ISR首先讀取寄存器UCSRA后,再讀取數(shù)據(jù)寄存器UDR中接收到的數(shù)據(jù)。判斷有無數(shù)據(jù)幀、奇偶檢驗及溢出錯誤,同時通過比較環(huán)形隊列緩沖區(qū)中當(dāng)前字節(jié)數(shù)的變量RxBuffer,判斷環(huán)形隊列接收緩沖區(qū)是否已存滿。如果未滿,則將接收數(shù)據(jù)寫入串口通信模塊數(shù)據(jù)接收環(huán)形緩沖區(qū)寫入指針指向的位置,數(shù)據(jù)寫入后環(huán)形緩沖區(qū)寫入指針和指示變量RxBuffer加1,如果寫入指針等于緩沖區(qū)大小,則置0。完成上述操作后,通過發(fā)送接收完成信號量啟動接收數(shù)據(jù)讀取任務(wù)。接收數(shù)據(jù)讀取任務(wù)啟動后處于等待狀態(tài),等候數(shù)據(jù)接收完成信號量的到來,此時OSSemPend()函數(shù)中的超時等待量設(shè)為0,表示無限期等待。任務(wù)接收到接收完成信號量后,將環(huán)形緩沖區(qū)當(dāng)前讀取指針指向的數(shù)據(jù)讀出,隨后指針加1,如果指針數(shù)等于緩沖區(qū)大小,則重新置0,重新指向環(huán)形緩沖區(qū)頭。串行通信數(shù)據(jù)讀取任務(wù)流程和中斷服務(wù)程序如圖2、圖3所示。

        圖2 串行通信數(shù)據(jù)讀取任務(wù)流程圖

        圖3 讀取中斷服務(wù)程序流程圖

        在整個接收過程中,USART一旦接收到數(shù)據(jù),硬件將觸發(fā)接收中斷,如果這個時候環(huán)形緩沖區(qū)數(shù)據(jù)已滿,需要丟棄接收到的字符,所以在緩沖區(qū)的大小設(shè)置時,需要根據(jù)實際合理設(shè)置,這樣可以降低數(shù)據(jù)丟失,又避免設(shè)置太大導(dǎo)致內(nèi)部存儲空間的浪費,增加系統(tǒng)開銷。

        2.2.3USART串行通信模塊發(fā)送操作

        ATmega128微處理器通過置位UCSRB寄存器的發(fā)送允許位TXEN使能USART數(shù)據(jù)發(fā)送,任務(wù)根據(jù)需要寫入數(shù)據(jù)到發(fā)送緩沖器,啟動數(shù)據(jù)發(fā)送。USART在移位寄存器空閑或前一幀數(shù)據(jù)的最后一個停止位傳送結(jié)束,將發(fā)送緩沖器中的數(shù)據(jù)加載到移位寄存器,完成數(shù)據(jù)發(fā)送。

        USART發(fā)送器有數(shù)據(jù)寄存器空標(biāo)志UDRE和數(shù)據(jù)傳輸結(jié)束標(biāo)志TXC,這2個標(biāo)志位都可以產(chǎn)生中斷,在進(jìn)行發(fā)送模塊設(shè)計時,本研究通過數(shù)據(jù)傳輸結(jié)束中斷發(fā)送數(shù)據(jù)。帶環(huán)形緩沖區(qū)和超時信號量的串口發(fā)送模塊包括串口數(shù)據(jù)發(fā)送任務(wù)TxTask和串口數(shù)據(jù)發(fā)送中斷服務(wù)程序TxISR兩部分。在初始化時將發(fā)送信號量值設(shè)為緩沖區(qū)大小,環(huán)形隊列緩沖區(qū)中無數(shù)據(jù),并且關(guān)閉發(fā)送中斷。系統(tǒng)功能模塊啟動TxTask任務(wù)用于發(fā)送數(shù)據(jù)時,串口數(shù)據(jù)發(fā)送任務(wù)在信號量上等待。如果發(fā)送信號量不為零表示緩沖區(qū)未滿,用戶任務(wù)可以向發(fā)送緩沖區(qū)中寫入數(shù)據(jù)。如果寫入的是發(fā)送緩沖區(qū)中的第一個字節(jié),則UCSRB中TXCIE標(biāo)志置1,允許發(fā)送中斷,并將數(shù)據(jù)寫入UDR寄存器。ATmega128串口數(shù)據(jù)發(fā)送完成后自動置位TXC,觸發(fā)數(shù)據(jù)傳輸結(jié)束中斷。然后,數(shù)據(jù)傳輸結(jié)束中斷服務(wù)程序TxISR通過OSSemPost()發(fā)送信號量。當(dāng)信號量事件塊中信號量計數(shù)小于環(huán)形緩沖區(qū)設(shè)置值減1時,將發(fā)送緩沖區(qū)當(dāng)前讀取指針位置的數(shù)據(jù)寫入UDR,否則結(jié)束數(shù)據(jù)傳輸,關(guān)閉中斷。數(shù)據(jù)寫入UDR后環(huán)形緩沖區(qū)讀取指針加1,如果指針到達(dá)環(huán)形緩沖區(qū)尾端,則指針置為0重新指向緩沖區(qū)首端。TxISR從發(fā)送緩沖區(qū)中取出數(shù)據(jù)字節(jié)輸出至UDR,數(shù)據(jù)傳輸完成操作,緩沖區(qū)中有數(shù)據(jù)的話將觸發(fā)了下一次的發(fā)送中斷,這樣循環(huán)下去直到發(fā)送緩沖區(qū)中最后一個字節(jié)被發(fā)送任務(wù)取走。在TxISR服務(wù)程序向USART輸出數(shù)據(jù)的同時,向發(fā)送信號量發(fā)信號,發(fā)送任務(wù)通過信號量事件塊中的計數(shù)值,可以判斷環(huán)形隊列發(fā)送緩沖區(qū)中是否還有空間可寫入數(shù)據(jù)。串行通信發(fā)送任務(wù)和中斷服務(wù)程序如圖4、圖5所示。

        圖4 串行通信發(fā)送任務(wù)流程圖

        圖5 發(fā)送中斷服務(wù)程序流程圖

        3 結(jié)語

        基于uCOS-II實時操作系統(tǒng)的ATmega128串口通信模塊,通過利用實時內(nèi)核的任務(wù)調(diào)度功能以及信號量機(jī)制,實現(xiàn)串口收發(fā)接口模塊化封裝,使用方便,其設(shè)計思路和方法可以用于ATmega128其他外圍硬件接口程序設(shè)計。該串口通信模塊已作為智能化靜脈麻醉靶控模塊通信的一部分,與藥物注射機(jī)械控制系統(tǒng)協(xié)同運行,可提高整個藥代動力學(xué)目標(biāo)控制注射系統(tǒng)的運行效率和實時性[22]。

        [1]張文君,陳香蘭,李曦.嵌入式實時操作系統(tǒng)的分析評測方法[J].計算機(jī)系統(tǒng)應(yīng)用,2014,24(1):28-34.

        [2]呂阿璐.基于RTX的大容量實時數(shù)據(jù)管理系統(tǒng)設(shè)計[J].計算機(jī)與現(xiàn)代化,2013(7):235-238.

        [3]潘應(yīng)進(jìn),朱子元.基于ThreadX實時操作系統(tǒng)的USB設(shè)備驅(qū)動開發(fā)[J].工業(yè)控制計算機(jī),2016,29(2):30-32.

        [4]郝玉勝,逯玉蘭.基于嵌入式網(wǎng)絡(luò)通信模塊[J].計算機(jī)與現(xiàn)代化,2014(2):142-146.

        [5]李化云.嵌入式實時操作系統(tǒng)在航天器軟件中的應(yīng)用研究[J].微計算機(jī)信息,2012,28(8):73-74.

        [6]謝檬,張一寧,王娟.基于AVR單片機(jī)的電動執(zhí)行器控制模塊檢測儀的設(shè)計[J].計算機(jī)測量與控制,2015,23(10):3570-3573.

        [7]李運堂,吳進(jìn)田,梁宏民,等.基于AVR的靜壓氣體軸承性能檢測裝置控制系統(tǒng)設(shè)計[J].計算機(jī)測量與控制,2015,23(1):113-114.

        [8]趙春雷,孫會琴.基于AVR單片機(jī)的肌電信號生物反饋測試儀的設(shè)計[J].醫(yī)學(xué)裝備,2012,25(12):6-9.

        [9]劉曉軍,蔡玉文,蔡玉武,等.基于AVR左心室磁懸浮輔助裝置的轉(zhuǎn)子測量系統(tǒng)[J].北京生物醫(yī)學(xué)工程,2014,33(4):412-414.

        [10]陳倩,嚴(yán)榮國,葛斌,等.基于玻意耳定律的模擬肺及其溫度補償系統(tǒng)[J].中國醫(yī)學(xué)物理學(xué)雜志,2016,33(1):83-87.

        [11]陳曉艷,高娜娜,黃華芳.數(shù)字式生物電阻抗與電阻抗斷層成像測量系統(tǒng)[J].生物醫(yī)學(xué)工程學(xué)雜志,2015,32(3):575-580.

        [12]陳宇珂,張興安,張延武,等.智能化靜脈麻醉靶控系統(tǒng)的研制[J].中國醫(yī)學(xué)裝備,2005,2(8):22-23.

        [13]潘佚,邱蕾.國產(chǎn)便攜式血糖儀功能改進(jìn)及低功耗設(shè)計[J].現(xiàn)代儀器與醫(yī)療,2013,19(1):38-40.

        [14]孟倩,鄭利星,郭紅蕊,等.胎心聲音存儲回放系統(tǒng)設(shè)計[J].生物醫(yī)學(xué)工程與臨床,2013,17(2):184-186.

        [15]吳北江,王洋,孫文橋,等.網(wǎng)絡(luò)化平戰(zhàn)兩用數(shù)字心電信息系統(tǒng)的設(shè)計與實現(xiàn)[J].醫(yī)療衛(wèi)生裝備,2010,31(6):48-50.

        [16]耿德根,宋建國,馬潮,等.AVR高速嵌入式單片機(jī)原理與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2003.

        [17]晨風(fēng).嵌入式實時多任務(wù)軟件開發(fā)基礎(chǔ)[M].北京:清華大學(xué)出版社,2004.

        [18]羅蕾.嵌入式實時操作系統(tǒng)及應(yīng)用開發(fā)[M].北京:北京航空航天大學(xué)出版社,2005.

        [19]林銳,韓永泉.高質(zhì)量C程序設(shè)計指南[M].2版.北京:電子工業(yè)出版社,2003.

        [20]袁家棟,殷興輝.基于串口的高速信號傳輸[J].微電腦應(yīng)用,2015,31(12):1-2.

        [21]劉亞兵,馬瑞卿,張慶超,等.基于FIFO的串口通信模式研究[J].計算機(jī)測量與控制,2014,22(7):2301-2303.

        [22]陳宇珂,李爽,袁凱,等.基于LPC2478的三通道靜脈麻醉輸注系統(tǒng)設(shè)計[J].中國醫(yī)學(xué)裝備,2014,11(9):6-8.

        Design of serial communication driver of ATmega 128 based on RTOS

        CHEN Hai, CHEN Yu-ke, PAN Ze-sen, et al// China Medical Equipment,2016,13(11):98-103.

        Objective: Based on real-time OS uCOS II, to design the serial communication driver module of ATmega128. Methods: Based on the characteristics of microprocessor ATmega128 USART, we use semaphores, message mailbox and circular buffer queue to design serial communication module. Results: serial port driver communication module use semaphores, message mailbox and circular buffer solution to handle the problems of speed matching between CPU and external communication interface, and also use the semaphores, mailbox to realize synchrony and real time between serial communication interrupt service and data processing tasks. Conclusion: Experiments verify the reliability of data transmission of the driver module for serial communication in a variety of different communication rate. The experiment shows that the transmission module with the characteristics of low error rate, stable and reliable transmission of data transmission.

        Real time operation system uCOS-II; Semaphores; Message mailbox; Serial communication; Driving program; Intravenous anesthesia infusion system

        陳海,男,(1968- ),本科學(xué)歷,主管技師。解放軍廣州總醫(yī)院放射腫瘤科,從事醫(yī)療設(shè)備維修及研發(fā)工作。

        1672-8270(2016)11-0098-06

        R197.324

        A

        10.3969/J.ISSN.1672-8270.2016.11.029

        廣東省科技計劃(2012A032200023)“HL7標(biāo)準(zhǔn)三通道靜脈麻醉輸注系統(tǒng)關(guān)鍵技術(shù)研究”;廣東省科技計劃(2013B090500113)“智能化靜脈麻醉靶控輸注工作站的研制及產(chǎn)業(yè)化”

        ①解放軍廣州總醫(yī)院放射腫瘤科 廣東 廣州 510010

        ②解放軍廣州總醫(yī)院醫(yī)學(xué)工程科 廣東 廣州 510010

        ③解放軍廣州總醫(yī)院麻醉科 廣東 廣州 510010

        chenyuke@hotmail.com

        2016-08-30

        猜你喜歡
        信號量服務(wù)程序緩沖區(qū)
        嵌入式系統(tǒng)環(huán)形緩沖區(qū)快速讀寫方法的設(shè)計與實現(xiàn)
        基于STM32的mbedOS信號量調(diào)度機(jī)制剖析
        基于移動終端的人事信息員工自助服務(wù)系統(tǒng)設(shè)計
        基于C#的進(jìn)程守護(hù)程序的設(shè)計
        視聽(2020年3期)2020-06-11 14:28:18
        Nucleus PLUS操作系統(tǒng)信號量機(jī)制的研究與測試
        水利工程施工監(jiān)理服務(wù)程序及質(zhì)量控制
        關(guān)鍵鏈技術(shù)緩沖區(qū)的確定方法研究
        μC/OS- -III對信號量的改進(jìn)
        Linux操作系統(tǒng)信號量機(jī)制的實時化改造
        地理信息系統(tǒng)繪圖緩沖區(qū)技術(shù)設(shè)計與實現(xiàn)
        国产免费网站在线观看不卡| 国产成年无码V片在线| 欧美久久中文字幕| 亚洲中文乱码在线观看| 欧美怡春院一区二区三区| 九九精品国产亚洲av日韩| 无码 制服 丝袜 国产 另类 | av一区二区三区高清在线看| 青青草在线免费视频播放| 亚洲春色在线视频| 国产精品公开免费视频| 少妇被搞高潮在线免费观看| 亚洲成人福利在线视频| 黑色丝袜秘书夹住巨龙摩擦| 欧美精品久久久久久久久| 国产一区二区三区免费小视频| 日韩三级一区二区三区| 朝鲜女人大白屁股ass| 久久亚洲国产中v天仙www| 国产精品女人一区二区三区| 日本强伦姧人妻一区二区| 毛片大全真人在线| 欧美 亚洲 国产 日韩 综AⅤ| 久久精品国产亚洲av夜夜| 亚洲一区二区三区小说| 亚洲乱码国产一区三区| 日本一区免费喷水| 国产在线观看视频一区二区三区| 亚欧色一区w666天堂| 日韩在线不卡免费视频| 中文亚洲第一av一区二区 | 波多野42部无码喷潮在线| 正在播放一区| 午夜日本理论片最新片| 国产极品少妇一区二区| 人禽伦免费交视频播放| 国产精品久久久亚洲第一牛牛 | 午夜秒播久久精品麻豆| 毛片24种姿势无遮无拦| 9丨精品国产高清自在线看| 蜜桃视频一区二区三区四|