<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 醫(yī)療電子 > 設(shè)計(jì)應(yīng)用 > 基于GPRS的遠(yuǎn)程心電實(shí)時(shí)監(jiān)護(hù)儀軟件系統(tǒng)設(shè)計(jì)

          基于GPRS的遠(yuǎn)程心電實(shí)時(shí)監(jiān)護(hù)儀軟件系統(tǒng)設(shè)計(jì)

          作者:清華大學(xué) 深圳研究生院 李繼明 張躍 陳可 時(shí)間:2008-05-23 來源:電子技術(shù)應(yīng)用 收藏

            3.1.2 Flash接口函數(shù)

            Flash的讀操作,首先從存儲(chǔ)單元中以頁(yè)(page)為單位把數(shù)據(jù)讀入Flash內(nèi)部的寄存器中,然后再把數(shù)據(jù)導(dǎo)入處理器的存儲(chǔ)器。讀操作的操作耗時(shí)為幾十微秒,與的指令周期大致匹配。讀操作以頁(yè)為基本單元,以讀取整頁(yè)數(shù)據(jù)效率最高。Flash頁(yè)讀取操作一般不會(huì)產(chǎn)生錯(cuò)誤,F(xiàn)lash文件系統(tǒng)會(huì)有糾錯(cuò)操作,最簡(jiǎn)單的糾錯(cuò)碼可以把非連續(xù)的單個(gè)位錯(cuò)誤改正。而對(duì)于當(dāng)前處理器上的內(nèi)存映射模型,糾錯(cuò)碼的引入將大大降低運(yùn)行效率,因此不做糾錯(cuò)處理。

          本文引用地址:http://www.ex-cimer.com/article/82972.htm

            (1)FlashPageRead():首先鎖存起始操作字節(jié)的行列地址,送入Read指令,隨后的每個(gè)讀操作時(shí)序把當(dāng)前字節(jié)讀出,當(dāng)前地址指針加1并把數(shù)據(jù)存儲(chǔ)到讀操作緩沖區(qū)中,同時(shí)調(diào)用函數(shù)時(shí)須給出讀出字節(jié)的總數(shù)。

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

            (2)FlashProgram():首先鎖存寫入數(shù)據(jù)起始字節(jié)的行列地址,隨后按照函數(shù)調(diào)用時(shí)給定的寫入數(shù)據(jù)總數(shù),每個(gè)寫操作時(shí)序向Flash寄存器存儲(chǔ)一個(gè)字節(jié)的數(shù)據(jù)。當(dāng)寄存器滿,送入Program操作指令即可把寄存器中的數(shù)據(jù)存儲(chǔ)進(jìn)入物理存儲(chǔ)單元中。

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

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

            (5)FlashLoadECGData():從數(shù)據(jù)分區(qū)中讀取一定字節(jié)數(shù)的數(shù)據(jù)。首先需要在Flash空閑狀態(tài)下獲取Flash的控制權(quán),隨后利用FlashECGDMap()獲取實(shí)際操作地址并判斷是否出現(xiàn)跨頁(yè)讀操作。如果不需跨頁(yè),則調(diào)用FlashPageRead(),讀出相應(yīng)數(shù)據(jù)到讀緩沖即可;若跨頁(yè),則分別在兩頁(yè)分兩次讀取規(guī)定字節(jié)個(gè)數(shù)的連續(xù)數(shù)據(jù)。

            3.2 網(wǎng)絡(luò)接口設(shè)計(jì)

            硬件平臺(tái)的通信模塊是Wavecom公司的2406B。又稱無線分組服務(wù),用于在GSM網(wǎng)絡(luò)上傳輸數(shù)據(jù)。在進(jìn)行數(shù)據(jù)發(fā)送的同時(shí),短消息和語音服務(wù)不會(huì)被禁止,但GPRS數(shù)據(jù)服務(wù)和GSM服務(wù)不能同時(shí)進(jìn)行。2406B模塊的GPRS上行速率可以達(dá)到10kbps,通過設(shè)置數(shù)據(jù)發(fā)送串口的波特率為9 600bps,可使數(shù)據(jù)進(jìn)出流量匹配。

            3.2.1 2406B模塊初始化

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

                 

            其次通過AT指令連接GPRS網(wǎng)絡(luò)和服務(wù)器。AT指令見表1中“AT指令序列2”。

            模塊的OpenAT程序?qū)崿F(xiàn)了TCP/IP協(xié)議,同時(shí)把漢字字模加入模塊。指令序列2 中的AT指令按照順序設(shè)置成功后即建立TCP/IP連接,模塊即進(jìn)入數(shù)據(jù)模式。此時(shí)通過串口送入的所有數(shù)據(jù)全部作為網(wǎng)絡(luò)數(shù)據(jù)送交網(wǎng)絡(luò),送入即Ctrl-C(0x03)將斷開TCP連接,若要向服務(wù)器發(fā)送0x03,須發(fā)送數(shù)據(jù)對(duì),此時(shí)保持網(wǎng)絡(luò)并向服務(wù)器發(fā)送0x03。

            3.2.2 網(wǎng)絡(luò)模型及接口函數(shù)

            數(shù)據(jù)傳輸過程分為注冊(cè)階段和數(shù)據(jù)發(fā)送階段。

            在注冊(cè)階段,向服務(wù)器發(fā)送注冊(cè)認(rèn)證數(shù)據(jù)報(bào)。內(nèi)容包括設(shè)備序列號(hào)(Machine ID)、數(shù)據(jù)格式(FMT)、采樣頻率、采樣位數(shù)、采樣環(huán)境工頻頻率、AD轉(zhuǎn)換高低電壓和直流偏置、數(shù)據(jù)壓縮方法以及采樣起始時(shí)間。服務(wù)器收到注冊(cè)數(shù)據(jù)后進(jìn)行身份驗(yàn)證,驗(yàn)證通過則發(fā)送回應(yīng)消息,即為服務(wù)接納的時(shí)間和聯(lián)系人列表。收到回應(yīng)消息即進(jìn)入數(shù)據(jù)發(fā)送階段。

            數(shù)據(jù)發(fā)送階段,向服務(wù)器發(fā)送心電數(shù)據(jù)。數(shù)據(jù)發(fā)送策略有兩種:注重“性”的發(fā)送策略,定義當(dāng)前采樣點(diǎn)至其前1分鐘的心電數(shù)據(jù)為“心電數(shù)據(jù)”,享有發(fā)送的優(yōu)先權(quán),“補(bǔ)發(fā)數(shù)據(jù)”在“實(shí)時(shí)心電數(shù)據(jù)”發(fā)送完畢以后發(fā)送;注重“連續(xù)性”的發(fā)送策略,以保持?jǐn)?shù)據(jù)完整性為目標(biāo),“補(bǔ)發(fā)數(shù)據(jù)”享有數(shù)據(jù)發(fā)送優(yōu)先權(quán),服務(wù)器申請(qǐng)的數(shù)據(jù)會(huì)被優(yōu)先發(fā)送。數(shù)據(jù)發(fā)送階段病人及設(shè)備的各種異常狀況定義為“報(bào)警消息”發(fā)送給服務(wù)器。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();