《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于國產CPU的嵌入式醫療電子無線網絡設計
基于國產CPU的嵌入式醫療電子無線網絡設計
來源:互聯網
摘要: 傳統的醫療電子設備并不具備無線功能,不能實現隨時隨地的醫療監控。文中提出一個基于IPV6 的用于醫療電子無線網絡的路由協議,并基于國產CK610 CPU 和TI 公司的CC2520射頻芯片實現了基本無線通信,并在PC 上通過圖形界面顯示出醫療檢驗結果。
Abstract:
Key words :

   摘要: 傳統的醫療電子設備并不具備無線功能,不能實現隨時隨地的醫療監控。文中提出一個基于IPV6 的用于醫療電子無線網絡的路由協議,并基于國產CK610 CPU 和TI 公司的CC2520射頻芯片實現了基本無線通信,并在PC 上通過圖形界面顯示出醫療檢驗結果。

  0 引言

  醫療電子領域中,在嵌入式處理器方面,目前使用最廣泛和主流的象ARM.MIPS 都是國外廠商生產的CPU,而國內的具有自主知識產權的CPU 卻很少被人注意。

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

  本文主要為醫療電子設計了一個基于IPV6 的網絡協議,為實現該協議編寫了路由協議程序和射頻適配程序,實現了醫療電子的無線功能。

  1 系統概述

  主要系統架構如圖1 所示: 單個節點由CK610開發板與醫療電子板和CC2520 射頻芯片組成,控制器為普通節點與PC 相連接.Linux 用作CK610 的操作系統,CK610 通過操作FPGA IP 核模擬的SPI 來控制CC2520,CC2591 由CC2520 的管腳控制。

  

  在整個醫療電子應用的網絡系統中,可以有多個節點,但是只有一個控制器。所有節點數據發送的終點是控制器,距離較遠的節點可以通過其他節點轉發來傳輸數據。

  2 網絡協議設計

  為了實現圖1 的系統架構,需要為系統設計一個基于IPV6 的網絡協議。

  2. 1 路由算法設計

  建立和維護無線網絡,必須要發送和處理三種形式的數據包,分別是路由請求包。路由廣播包和路由匯報包。

  網絡中的每個節點都維護一個路由表,路由表的每項都是與本節點相鄰的節點。一個典型節點路由表內容如表1所示。

  

  每個節點會對路由表中的每項根據總鏈路代價進行排序,總鏈路代價最小的對應的節點會被選為默認路由,只要節點有數據要發送或者轉發,都會將數據發往默認路由。

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

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

  ( 1) 避免長期發送數據包總數LT 和長期發送數據包成功數LS 無限增大到無法存儲。

  ( 2) 離當前時間越遠的統計值對計算鏈路代價的影響越小,符合自然規律。

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

  

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

  2. 2 網絡節點的加入

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

  同時,節點1 會立即啟動TTIMER 和RTIMER 兩個定時器,當TTIMER 到期時,節點1 就會向控制器發送路由匯報包,控制器收到該包及時更新網絡拓撲。

  而控制器的RTIMER 到期之時,也會給節點1 發送路由廣播,節點1 立即更新路由表。

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

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

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

  節點2 的RTIMER 定時器到期之時發送路由廣播包,節點1 接收到該包之時更新路由表。

  2. 3 網絡的維護與更新

  網絡運行過程中,信道都是隨時變化的。為了使整個網絡工作正常,必須要及時更新網絡參數。

  網絡的維護和更新是通過每個節點的RTIMER 定時器實現的,每當該定時器到期,節點都會廣播路由廣播包,所有接收到該廣播包的節點都會更新自己的路由表信息,這樣整個網絡的信道信息得到了更新。


  3 軟件和硬件設計

  3. 1 硬件結構

  圖1 中的硬件主要包括CK610 開發板.CC2591和

  CK610 為杭州中天微系統有限公司生產的CPU,主要特性有: 八級流水線; 雙發射超標量流水線技術,提升性能近50%; 非阻塞指令發射。投機執行和按序退休; 返回地址預測( 4 – entry returnstack) ; 哈佛結構數據/指令Cache 和SPM,大小可配置; 數據Cache Write – back /Write – through 動態可配置; 內部雙通用數據總線; AHB /AXI 總線接口,和可擴展的協處理器接口。

  CC2520 為TI 公司生產的一款低功耗射頻芯片,主要特性有: 發射功率可達到5dBm; 數據傳輸速率最大可達250kbps; 工作在2. 4GHz ISM 頻段;4 – 線SPI; 6 個可配置

  CC2591 為TI 公司生產的一款高性能低成本前端,適用于如ZigBee 網絡等2. 4GHz 無線系統,可以改善RF 性能。

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

  3. 2 網絡系統架構

  為了實現在第3 節中定義的網絡協議,需要在Linux 之上編寫一個應用程序,該程序需要實現網絡協議中的規則。除此以外,還需要根據協議,選擇合適的路由,該程序稱為路由協議程序。此外,為了使IPV6 運行在CC2520 射頻芯片上,移植了6LoWPAN協議到Linux 系統中,大大減小了包頭的字節,減少了能量消耗。

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

  3. 3 射頻適配程序的設計

  當內核有數據要發送之時,要使用正確的方法驅動CC2520 芯片無線發送出去,負責這部分內容的程序稱為射頻適配程序。

  在實現過程中,使用CC2520 芯片作為無線網絡收發設備。在Linux 內核中,并無CC2520 作為網絡設備的驅動。為了實現使用CC2520 收發數據的功能,可以建立一個虛擬網絡設備tun.字符設備tun 是內核空間和用戶空間的數據接口,內核將數據包發送到虛擬網絡設備上,數據包會被保存到設備的隊列中,此時用戶空間可以通過打開字符設備tun 并調用read 函數讀取其中的數據,此時數據傳遞到了用戶空間,程序可以對這些數據進行處理。

  同樣,用戶空間程序可以通過write 函數將收到的數據包交給內核。這樣就可以在上層有數據來的時候先經過6LoWPAN 的處理壓縮,再通過驅動CC2520發送數據,在CC2520 收到數據的時候,將數據經過6LoWPAN 還原之后交給Linux 內核,實現無線收發數據包的功能。

  4 系統測試

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

  

  5 結束語

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


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产欧美日韩在线不卡第一页 | fc2成年手机免费共享视频 | 久久精品国内一区二区三区 | 国产亚洲精品yxsp | 日本韩国一区二区三区 | 国产特黄特色的大片观看免费视频 | 天码毛片一区二区三区入口 | 亚洲第三区 | 影院成人区精品一区二区婷婷丽春院影视 | 免费中文字幕在线 | 亚洲精品日韩在线一区 | 精品国产自 | 九九精品视频一区在线 | 日韩欧美亚洲综合久久99e | 俄罗斯黄色一级片 | 国产精品亚洲精品日韩已方 | 色毛片 | 精品成人一区二区三区免费视频 | 国产精品午夜免费观看网站 | 男女国产 | 暴操美女 | 久久精彩视频 | 爽爽在线 | 乱子伦xxxx | 国产精品国产三级国产专区5o | 久9这里精品免费视频 | 在线看片欧美 | 免费乱码中文字幕网站 | 国产美女三级做爰 | 亚洲a级片在线观看 | 成年网在线观看免费观看网址 | 久草在线视频网站 | 久久精品道一区二区三区 | www.三级| 亚洲第99页| 交性视频免费看 | 69中国xxxxxxxx18| 久久毛片免费看 | 国产在线一区观看 | 99亚洲| 爽爽窝窝午夜精品一区二区 |