免费色播,亚洲国产欧美国产第一区二区三区,毛片看,日本精品在线观看视频,国产成人精品一区二区免费视频,日本黄色免费网站,一级毛片免费

基于國產(chǎn)CPU的嵌入式醫(yī)療電子無線網(wǎng)絡(luò)設(shè)計

來源:網(wǎng)絡(luò)

點擊:1147

A+ A-

所屬頻道:新聞中心

關(guān)鍵詞: 國產(chǎn)CPU,嵌入式設(shè)計,醫(yī)療電子,無線網(wǎng)絡(luò)

      傳統(tǒng)的醫(yī)療電子設(shè)備并不具備無線功能,不能實現(xiàn)隨時隨地的醫(yī)療監(jiān)控.文中提出一個基于IPV6的用于醫(yī)療電子無線網(wǎng)絡(luò)的路由協(xié)議,并基于國產(chǎn)CK610CPU和TI公司的CC2520射頻芯片實現(xiàn)了基本無線通信,并在PC上通過圖形界面顯示出醫(yī)療檢驗結(jié)果.

      0引言

      醫(yī)療電子領(lǐng)域中,在嵌入式處理器方面,目前使用最廣泛和主流的象ARM.MIPS都是國外廠商生產(chǎn)的CPU,而國內(nèi)的具有自主知識產(chǎn)權(quán)的CPU卻很少被人注意.

      此外,隨著無線技術(shù)的進步和無線設(shè)備成本的降低,醫(yī)療電子無線化必將是未來發(fā)展的趨勢.目前已經(jīng)有一些企業(yè)和團體在醫(yī)療電子無線化的方向上作出了研究和開發(fā),但是目前的無線醫(yī)療電子使用的網(wǎng)絡(luò)協(xié)議基本都是基于IPV4的,將更加先進的IPV6網(wǎng)絡(luò)運用到無線醫(yī)療電子是未來發(fā)展必須面臨的問題.

      本文主要為醫(yī)療電子設(shè)計了一個基于IPV6的網(wǎng)絡(luò)協(xié)議,為實現(xiàn)該協(xié)議編寫了路由協(xié)議程序和射頻適配程序,實現(xiàn)了醫(yī)療電子的無線功能.

      1系統(tǒng)概述

      主要系統(tǒng)架構(gòu)如圖1所示:單個節(jié)點由CK610開發(fā)板與醫(yī)療電子板和CC2520射頻芯片組成,控制器為普通節(jié)點與PC相連接.Linux用作CK610的操作系統(tǒng),CK610通過操作FPGAIP核模擬的SPI來控制CC2520,CC2591由CC2520的管腳控制.

    基于國產(chǎn)CPU的嵌入式醫(yī)療電子無線網(wǎng)絡(luò)設(shè)計

      在整個醫(yī)療電子應用的網(wǎng)絡(luò)系統(tǒng)中,可以有多個節(jié)點,但是只有一個控制器.所有節(jié)點數(shù)據(jù)發(fā)送的終點是控制器,距離較遠的節(jié)點可以通過其他節(jié)點轉(zhuǎn)發(fā)來傳輸數(shù)據(jù).

      2網(wǎng)絡(luò)協(xié)議設(shè)計

      為了實現(xiàn)圖1的系統(tǒng)架構(gòu),需要為系統(tǒng)設(shè)計一個基于IPV6的網(wǎng)絡(luò)協(xié)議.

      2.1路由算法設(shè)計

      建立和維護無線網(wǎng)絡(luò),必須要發(fā)送和處理三種形式的數(shù)據(jù)包,分別是路由請求包.路由廣播包和路由匯報包.

      網(wǎng)絡(luò)中的每個節(jié)點都維護一個路由表,路由表的每項都是與本節(jié)點相鄰的節(jié)點.一個典型節(jié)點路由表內(nèi)容如表1所示.(點擊可查看大圖)

    基于國產(chǎn)CPU的嵌入式醫(yī)療電子無線網(wǎng)絡(luò)設(shè)計

      每個節(jié)點會對路由表中的每項根據(jù)總鏈路代價進行排序,總鏈路代價最小的對應的節(jié)點會被選為默認路由,只要節(jié)點有數(shù)據(jù)要發(fā)送或者轉(zhuǎn)發(fā),都會將數(shù)據(jù)發(fā)往默認路由.

      總鏈路代價表示的是這條鏈路信道的質(zhì)量,該值越小越好,它是本地鏈路代價和前驅(qū)節(jié)點鏈路代價兩者之和.前驅(qū)節(jié)點鏈路代價是從本節(jié)點定期發(fā)送的路由廣播包中獲取的.如果前驅(qū)節(jié)點是控制器,那么前驅(qū)節(jié)點鏈路代價是0.本地鏈路代價指的是自身節(jié)點同前驅(qū)節(jié)點之間信道的鏈路代價,表示的是通信信道質(zhì)量,該值越小越好.為了計算本地鏈路代價,必須要維護長期發(fā)送數(shù)據(jù)包總數(shù)LT.長期發(fā)送數(shù)據(jù)包成功數(shù)LS.近期發(fā)送數(shù)據(jù)包總數(shù)ST和近期發(fā)送數(shù)據(jù)包成功數(shù)SS這四個數(shù)據(jù).

      ST和SS從零開始計數(shù),節(jié)點每發(fā)送一次數(shù)據(jù)(包括重傳),近期發(fā)送數(shù)據(jù)包總數(shù)ST就會加1,而近期發(fā)送數(shù)據(jù)包成功數(shù)SS則是每成功發(fā)送一次數(shù)據(jù)就加1.這兩個值會在RTIMER定時器到期之時更新完長期發(fā)送數(shù)據(jù)包總數(shù)LT和長期發(fā)送數(shù)據(jù)包成功數(shù)LS之后清零.長期發(fā)送數(shù)據(jù)包總數(shù)LT和長期發(fā)送數(shù)據(jù)包成功數(shù)LS在RTIMER定時器到期之時更新,更新的規(guī)則是將當前長期發(fā)送數(shù)據(jù)包總數(shù)LT加上近期發(fā)送數(shù)據(jù)包總數(shù)ST作為新的長期發(fā)送數(shù)據(jù)包總數(shù)LT,將長期發(fā)送數(shù)據(jù)包成功數(shù)LS加上近期發(fā)送數(shù)據(jù)包成功數(shù)SS作為新的長期發(fā)送數(shù)據(jù)包成功數(shù)LS,如果此時長期發(fā)送數(shù)據(jù)包總數(shù)LT大于0XF000,那么將長期發(fā)送數(shù)據(jù)包總數(shù)LT和長期發(fā)送數(shù)據(jù)包成功數(shù)LS右移一位.這樣做有兩個好處:

     ?。?)避免長期發(fā)送數(shù)據(jù)包總數(shù)LT和長期發(fā)送數(shù)據(jù)包成功數(shù)LS無限增大到無法存儲.

     ?。?)離當前時間越遠的統(tǒng)計值對計算鏈路代價的影響越小,符合自然規(guī)律.

      本地鏈路代價的計算公式如下:

    基于國產(chǎn)CPU的嵌入式醫(yī)療電子無線網(wǎng)絡(luò)設(shè)計

      節(jié)點會在收到鄰居節(jié)點的路由廣播包和RTIMER定時器到期的時候更新路由表鏈路代價信息.

      2.2網(wǎng)絡(luò)節(jié)點的加入

      當節(jié)點1要加入網(wǎng)絡(luò)中時首先要發(fā)送一個路由請求包,申請加入無線網(wǎng)絡(luò).控制器接收到這個請求之后,向節(jié)點1發(fā)送一個路由廣播包.節(jié)點1接收到該路由廣播包之后,將網(wǎng)絡(luò)地址前綴加上自己的節(jié)點ID組成自己的網(wǎng)絡(luò)地址,并且將控制器加入自己的路由表.此時節(jié)點1的默認路由是控制器.

      同時,節(jié)點1會立即啟動TTIMER和RTIMER兩個定時器,當TTIMER到期時,節(jié)點1就會向控制器發(fā)送路由匯報包,控制器收到該包及時更新網(wǎng)絡(luò)拓撲.

      而控制器的RTIMER到期之時,也會給節(jié)點1發(fā)送路由廣播,節(jié)點1立即更新路由表.

      網(wǎng)絡(luò)運行的過程中,有新的節(jié)點要加入這個網(wǎng)絡(luò),且該節(jié)點能夠直接同控制器通信,此時的情況比第一個節(jié)點加入網(wǎng)絡(luò)的情況復雜些.節(jié)點2啟動時,首先發(fā)送一個路由請求包,控制器和節(jié)點1接收到該包后會先后發(fā)送路由廣播包,節(jié)點2收到這些包之后修改自己的網(wǎng)絡(luò)地址,并且將控制器和節(jié)點1都加入自己的路由表中.當RTIMER定時器到期時,會發(fā)送路由匯報包給控制器,經(jīng)過一段時間穩(wěn)定之后,路由匯報包的內(nèi)容應該包括節(jié)點1和控制器.

      之后節(jié)點1的RTIMER定時器到期,發(fā)送路由廣播包,控制器和節(jié)點2都能收到,節(jié)點2更新其路由表,節(jié)點2的RTIMER定時器到期也會發(fā)送路由廣播包,此時節(jié)點1將節(jié)點2加入自己的路由表.

      如果新加入的節(jié)點無法直接同控制器通信,即節(jié)點1已經(jīng)存在于網(wǎng)絡(luò)中,節(jié)點2無法同控制器通信.節(jié)點2啟動的時候也會發(fā)送路由請求包,這個包只有節(jié)點1可以收到,于是節(jié)點1給節(jié)點2回復一個路由廣播包,節(jié)點2和控制器都可以收到.節(jié)點2收到這個包之后,會設(shè)置好自己的網(wǎng)絡(luò)地址,同時將節(jié)點1加入自己的路由表中.此時節(jié)點2的路由表只有節(jié)點1這一項,因此節(jié)點2的默認路由是節(jié)點1.節(jié)點2的TTIMER定時器到期時會向默認路由,即節(jié)點1發(fā)送路由匯報包,節(jié)點1收到路由匯報包之后將其轉(zhuǎn)發(fā)給控制器.節(jié)點1的RTIMER定時器到期,發(fā)送路由廣播包,節(jié)點2更新其路由表.

      節(jié)點2的RTIMER定時器到期之時發(fā)送路由廣播包,節(jié)點1接收到該包之時更新路由表.

      2.3網(wǎng)絡(luò)的維護與更新

      網(wǎng)絡(luò)運行過程中,信道都是隨時變化的.為了使整個網(wǎng)絡(luò)工作正常,必須要及時更新網(wǎng)絡(luò)參數(shù).

      網(wǎng)絡(luò)的維護和更新是通過每個節(jié)點的RTIMER定時器實現(xiàn)的,每當該定時器到期,節(jié)點都會廣播路由廣播包,所有接收到該廣播包的節(jié)點都會更新自己的路由表信息,這樣整個網(wǎng)絡(luò)的信道信息得到了更新.

      3軟件和硬件設(shè)計

      3.1硬件結(jié)構(gòu)

      圖1中的硬件主要包括CK610開發(fā)板.CC2591和CK610為杭州中天微系統(tǒng)有限公司生產(chǎn)的CPU,主要特性有:八級流水線;雙發(fā)射超標量流水線技術(shù),提升性能近50%;非阻塞指令發(fā)射.投機執(zhí)行和按序退休;返回地址預測(4–entryreturnstack);哈佛結(jié)構(gòu)數(shù)據(jù)/指令Cache和SPM,大小可配置;數(shù)據(jù)CacheWrite–back/Write–through動態(tài)可配置;內(nèi)部雙通用數(shù)據(jù)總線;AHB/AXI總線接口,和可擴展的協(xié)處理器接口.

      CC2520為TI公司生產(chǎn)的一款低功耗射頻芯片,主要特性有:發(fā)射功率可達到5dBm;數(shù)據(jù)傳輸速率最大可達250kbps;工作在2.4GHzISM頻段;4–線SPI;6個可配置

      CC2591為TI公司生產(chǎn)的一款高性能低成本前端,適用于如ZigBee網(wǎng)絡(luò)等2.4GHz無線系統(tǒng),可以改善RF性能.

      CC2520與CC2591結(jié)合使用可以使得輸出功率范圍擴大到-24dBm~22dBm,接收靈敏度增加到-90dBm,傳輸距離可達到幾百米甚至上千米.

      3.2網(wǎng)絡(luò)系統(tǒng)架構(gòu)

      為了實現(xiàn)在第3節(jié)中定義的網(wǎng)絡(luò)協(xié)議,需要在Linux之上編寫一個應用程序,該程序需要實現(xiàn)網(wǎng)絡(luò)協(xié)議中的規(guī)則.除此以外,還需要根據(jù)協(xié)議,選擇合適的路由,該程序稱為路由協(xié)議程序.此外,為了使IPV6運行在CC2520射頻芯片上,移植了6LoWPAN協(xié)議到Linux系統(tǒng)中,大大減小了包頭的字節(jié),減少了能量消耗.

      在用戶應用程序中,當有數(shù)據(jù)要發(fā)送時,Linux內(nèi)核會查找內(nèi)核路由表,找到下一跳的地址,然后將數(shù)據(jù)交給相應的設(shè)備以發(fā)送數(shù)據(jù).系統(tǒng)所用的網(wǎng)絡(luò)設(shè)備是CC2520射頻芯片,但是Linux并沒用為CC2520開發(fā)對應的網(wǎng)絡(luò)驅(qū)動,因此可以虛擬一個網(wǎng)絡(luò)設(shè)備tun,將網(wǎng)絡(luò)層傳過來的數(shù)據(jù)都交給tun,讀取tun接口便能夠得到要發(fā)送的網(wǎng)絡(luò)數(shù)據(jù).射頻適配層得到該數(shù)據(jù)之后,經(jīng)過適配層6LoWPAN協(xié)議的壓縮之后,然后再通過SPI操作CC2520芯片發(fā)送數(shù)據(jù).對應從底層來的數(shù)據(jù),其處理過程跟上述方式類似.

      3.3射頻適配程序的設(shè)計

      當內(nèi)核有數(shù)據(jù)要發(fā)送之時,要使用正確的方法驅(qū)動CC2520芯片無線發(fā)送出去,負責這部分內(nèi)容的程序稱為射頻適配程序.

      在實現(xiàn)過程中,使用CC2520芯片作為無線網(wǎng)絡(luò)收發(fā)設(shè)備.在Linux內(nèi)核中,并無CC2520作為網(wǎng)絡(luò)設(shè)備的驅(qū)動.為了實現(xiàn)使用CC2520收發(fā)數(shù)據(jù)的功能,可以建立一個虛擬網(wǎng)絡(luò)設(shè)備tun.字符設(shè)備tun是內(nèi)核空間和用戶空間的數(shù)據(jù)接口,內(nèi)核將數(shù)據(jù)包發(fā)送到虛擬網(wǎng)絡(luò)設(shè)備上,數(shù)據(jù)包會被保存到設(shè)備的隊列中,此時用戶空間可以通過打開字符設(shè)備tun并調(diào)用read函數(shù)讀取其中的數(shù)據(jù),此時數(shù)據(jù)傳遞到了用戶空間,程序可以對這些數(shù)據(jù)進行處理.

      同樣,用戶空間程序可以通過write函數(shù)將收到的數(shù)據(jù)包交給內(nèi)核.這樣就可以在上層有數(shù)據(jù)來的時候先經(jīng)過6LoWPAN的處理壓縮,再通過驅(qū)動CC2520發(fā)送數(shù)據(jù),在CC2520收到數(shù)據(jù)的時候,將數(shù)據(jù)經(jīng)過6LoWPAN還原之后交給Linux內(nèi)核,實現(xiàn)無線收發(fā)數(shù)據(jù)包的功能.

      4系統(tǒng)測試

      整個系統(tǒng)的工作流程為:醫(yī)療板首先采集醫(yī)療檢驗結(jié)果,將其傳遞給CK610開發(fā)板,開發(fā)板通過操作CC2520進行無線發(fā)送.而當CC2520接收到數(shù)據(jù)時,通過讀取CC2520SO管腳獲得收到的數(shù)據(jù),通過UART輸出給PC,PC運行C#編寫的圖形界面將檢驗結(jié)果顯示出來,如圖2所示.

    基于國產(chǎn)CPU的嵌入式醫(yī)療電子無線網(wǎng)絡(luò)設(shè)計

      5結(jié)束語

      本文主要提出了一種基于國產(chǎn)CPU的SOC醫(yī)療電子無線網(wǎng)絡(luò)的路由協(xié)議以及整個平臺的軟件架構(gòu)和射頻適配程序,并實現(xiàn)了醫(yī)療電子板的點對點無線通信,實驗結(jié)果證明,系統(tǒng)運行正常,達到預期效果.在后期工作中,將加入更多節(jié)點來驗證系統(tǒng)性能.
     

    (審核編輯: 智匯李)

    聲明:除特別說明之外,新聞內(nèi)容及圖片均來自網(wǎng)絡(luò)及各大主流媒體。版權(quán)歸原作者所有。如認為內(nèi)容侵權(quán),請聯(lián)系我們刪除。