新聞中心

        EEPW首頁 > 醫療電子 > 設計應用 > 基于GPRS的遠程心電實時監護儀軟件系統設計

        基于GPRS的遠程心電實時監護儀軟件系統設計

        作者:清華大學 深圳研究生院 李繼明 張躍 陳可 時間:2008-05-23 來源:電子技術應用 收藏

          3.1.2 Flash接口函數

          Flash的讀操作,首先從存儲單元中以頁(page)為單位把數據讀入Flash內部的寄存器中,然后再把數據導入處理器的存儲器。讀操作的操作耗時為幾十微秒,與的指令周期大致匹配。讀操作以頁為基本單元,以讀取整頁數據效率最高。Flash頁讀取操作一般不會產生錯誤,Flash文件系統會有糾錯操作,最簡單的糾錯碼可以把非連續的單個位錯誤改正。而對于當前處理器上的內存映射模型,糾錯碼的引入將大大降低運行效率,因此不做糾錯處理。

        本文引用地址:http://www.104case.com/article/82972.htm

          (1)FlashPageRead():首先鎖存起始操作字節的行列地址,送入Read指令,隨后的每個讀操作時序把當前字節讀出,當前地址指針加1并把數據存儲到讀操作緩沖區中,同時調用函數時須給出讀出字節的總數。

          Flash的寫操作,又稱為對Flash的編程,即把數據存儲到Flash存儲單元中。存儲單元事先必須已擦除(Erase)過才能寫入數據。寫操作耗時為幾百微秒,擦除操作耗時最多為幾毫秒,在數量級上已大大超過了RAM的寫操作。利用內存映射模型操作Flash的難點在于合理調度使Flash存儲單個字節的耗時與處理器的指令周期相匹配。每次寫操作要盡可能多地寫入數據,一般每頁(512B)寫入一次。寫操作與擦除操作可能產生壞塊,因此須通知主程序是否產生壞塊。

          (2)FlashProgram():首先鎖存寫入數據起始字節的行列地址,隨后按照函數調用時給定的寫入數據總數,每個寫操作時序向Flash寄存器存儲一個字節的數據。當寄存器滿,送入Program操作指令即可把寄存器中的數據存儲進入物理存儲單元中。

          (3)FlashECGDMap():根據分區內頁索引和壞塊列表檢索出實際的操作頁地址。首先把分區內頁地址換算為理想實際地址,即不考慮壞塊,然后檢索壞塊列表及剔除無效地址并給出實際操作地址。

          (4)FlashStoreECGData():在數據分區中存儲數據,首先檢查Flash是否處于繁忙狀態,若空閑則立即占用Flash,把采樣數據導入Flash寫緩沖。如果寫緩沖達到存儲操作條件,則調用FlashECGDMap()獲取實際的操作地址并檢查是否Flash的該操作塊需要擦除。若需要擦除,則調用FlashErase()函數,擦除狀況檢查完畢即調用FlashProgram()保存數據。若所有操作完畢,則釋放Flash的控制權。

          (5)FlashLoadECGData():從數據分區中讀取一定字節數的數據。首先需要在Flash空閑狀態下獲取Flash的控制權,隨后利用FlashECGDMap()獲取實際操作地址并判斷是否出現跨頁讀操作。如果不需跨頁,則調用FlashPageRead(),讀出相應數據到讀緩沖即可;若跨頁,則分別在兩頁分兩次讀取規定字節個數的連續數據。

          3.2 網絡接口設計

          硬件平臺的通信模塊是Wavecom公司的2406B。又稱無線分組服務,用于在GSM網絡上傳輸數據。在進行數據發送的同時,短消息和語音服務不會被禁止,但GPRS數據服務和GSM服務不能同時進行。2406B模塊的GPRS上行速率可以達到10kbps,通過設置數據發送串口的波特率為9 600bps,可使數據進出流量匹配。

          3.2.1 2406B模塊初始化

          首先設置2406B中兩個串口的波特率、綁定的數據類型及模塊時鐘。串口1綁定GPRS數據,串口2綁定GSM數據。串口1的波特率設置為9 600即可使網絡與接口速率匹配;串口2返回模塊控制字,設置為19 200的波特率即可與處理器運行速度匹配。同時還要為模塊設置當前時間。AT指令見表1中“AT指令序列1”。

               

          其次通過AT指令連接GPRS網絡和服務器。AT指令見表1中“AT指令序列2”。

          模塊的OpenAT程序實現了TCP/IP協議,同時把漢字字模加入模塊。指令序列2 中的AT指令按照順序設置成功后即建立TCP/IP連接,模塊即進入數據模式。此時通過串口送入的所有數據全部作為網絡數據送交網絡,送入即Ctrl-C(0x03)將斷開TCP連接,若要向服務器發送0x03,須發送數據對,此時保持網絡并向服務器發送0x03。

          3.2.2 網絡模型及接口函數

          數據傳輸過程分為注冊階段和數據發送階段。

          在注冊階段,向服務器發送注冊認證數據報。內容包括設備序列號(Machine ID)、數據格式(FMT)、采樣頻率、采樣位數、采樣環境工頻頻率、AD轉換高低電壓和直流偏置、數據壓縮方法以及采樣起始時間。服務器收到注冊數據后進行身份驗證,驗證通過則發送回應消息,即為服務接納的時間和聯系人列表。收到回應消息即進入數據發送階段。

          數據發送階段,向服務器發送心電數據。數據發送策略有兩種:注重“性”的發送策略,定義當前采樣點至其前1分鐘的心電數據為“心電數據”,享有發送的優先權,“補發數據”在“實時心電數據”發送完畢以后發送;注重“連續性”的發送策略,以保持數據完整性為目標,“補發數據”享有數據發送優先權,服務器申請的數據會被優先發送。數據發送階段病人及設備的各種異常狀況定義為“報警消息”發送給服務器。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 南汇区| 承德市| 广平县| 道真| 徐汇区| 剑川县| 永善县| 临夏市| 巫溪县| 海宁市| 南和县| 临高县| 温宿县| 林芝县| 凤台县| 咸阳市| 长春市| 天等县| 土默特右旗| 吕梁市| 蒲江县| 城固县| 敖汉旗| 云和县| 郸城县| 石嘴山市| 怀仁县| 乐安县| 应城市| 太白县| 白银市| 大港区| 塘沽区| 南涧| 合作市| 镇远县| 宁津县| 锡林浩特市| 赞皇县| 黑水县| 桦川县|