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

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

  0 引言

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

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

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

  1 系統(tǒng)概述

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

  

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

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

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

  2. 1 路由算法設(shè)計

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

  網(wǎng)絡(luò)中的每個節(jié)點(diǎn)都維護(hù)一個路由表,路由表的每項都是與本節(jié)點(diǎn)相鄰的節(jié)點(diǎn)。一個典型節(jié)點(diǎn)路由表內(nèi)容如表1所示。

  

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

  總鏈路代價表示的是這條鏈路信道的質(zhì)量,該值越小越好,它是本地鏈路代價和前驅(qū)節(jié)點(diǎn)鏈路代價兩者之和。前驅(qū)節(jié)點(diǎn)鏈路代價是從本節(jié)點(diǎn)定期發(fā)送的路由廣播包中獲取的。如果前驅(qū)節(jié)點(diǎn)是控制器,那么前驅(qū)節(jié)點(diǎn)鏈路代價是0.本地鏈路代價指的是自身節(jié)點(diǎn)同前驅(qū)節(jié)點(diǎn)之間信道的鏈路代價,表示的是通信信道質(zhì)量,該值越小越好。為了計算本地鏈路代價,必須要維護(hù)長期發(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é)點(diǎn)每發(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ī)則是將當(dāng)前長期發(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 右移一位。這樣做有兩個好處:

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

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

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

  

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

  2. 2 網(wǎng)絡(luò)節(jié)點(diǎn)的加入

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

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

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

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

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

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

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

  2. 3 網(wǎng)絡(luò)的維護(hù)與更新

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

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


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

  3. 1 硬件結(jié)構(gòu)

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

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

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

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

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

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

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

  在用戶應(yīng)用程序中,當(dāng)有數(shù)據(jù)要發(fā)送時,Linux內(nèi)核會查找內(nèi)核路由表,找到下一跳的地址,然后將數(shù)據(jù)交給相應(yīng)的設(shè)備以發(fā)送數(shù)據(jù)。系統(tǒng)所用的網(wǎng)絡(luò)設(shè)備是CC2520 射頻芯片,但是Linux 并沒用為CC2520 開發(fā)對應(yīng)的網(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ù)。對應(yīng)從底層來的數(shù)據(jù),其處理過程跟上述方式類似。

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

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

  在實(shí)現(xiàn)過程中,使用CC2520 芯片作為無線網(wǎng)絡(luò)收發(fā)設(shè)備。在Linux 內(nèi)核中,并無CC2520 作為網(wǎng)絡(luò)設(shè)備的驅(qū)動。為了實(shí)現(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ù)進(jìn)行處理。

  同樣,用戶空間程序可以通過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)核,實(shí)現(xiàn)無線收發(fā)數(shù)據(jù)包的功能。

  4 系統(tǒng)測試

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

  

  5 結(jié)束語

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


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 国产丝袜视频一区二区三区| 日韩欧美国产电影| 国产91免费在线观看| 欧美日韩一区二区三区麻豆 | 日本免费一区二区在线观看| 国内精品久久久久精品| а√天堂中文资源| 我和麻麻的混乱生活| 久久国产精彩视频| 李丽莎1分37钞视频最大尺度| 亚洲欧美日韩中文无线码| 神马重口味456| 同人本里番h本子全彩本子| 香蕉视频污网站| 国产男人的天堂| 69tang在线观看| 天堂а√在线地址| 一本大道香蕉大无线视频| 无人在线观看视频高清视频8| 久久精品国产自在一线| 欧美一欧美一区二三区性 | 天天躁日日躁aaaaxxxx| 三级毛片在线看| 日日碰狠狠添天天爽五月婷| 久久精品国产精品国产精品污| 欧美人与性动交α欧美精品| 亚洲欧美一区二区三区九九九 | 国产熟女AA级毛片| 24小时日本电影免费看| 大香大香伊人在钱线久久下载| 一级毛片一级毛片一级毛片aaav| 无码中文av有码中文a| 久久国产精品无码网站| 日韩精品无码一区二区三区不卡| 亚洲一区二区免费视频| 欧美激情精品久久久久久久九九九| 人妻中文无码久热丝袜| 精品99在线观看| 午夜一级免费视频| 经典三级在线播放| 啊用力太猛了啊好深视频|