25.11.2014 Views

o_197jmc471vk31iah1ofmlto10toa.pdf

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

教 材 大 綱<br />

血 壓 訊 號 原 理 及 特 性<br />

血 壓 的 介 紹<br />

正 常 的 血 壓<br />

血 壓 計 的 分 類 與 比 較<br />

共 振 法 原 理 介 紹<br />

聽 診 法 (Auscultation Method)<br />

血 壓 訊 號 量 測 實 作<br />

心 跳 計 算 與 壓 力 顯 示


實 驗 一 :<br />

血 壓 訊 號 原 理 及 特 性<br />

實 驗 目 的 :<br />

(1) 了 解 血 壓 訊 號 產 生 的 原 理 。<br />

(2) 認 識 血 壓 波 形 。


1. 血 壓 的 介 紹<br />

血 壓 , 是 血 液 流 經 血 管 壁 時 的 壓 力 。 心 臟 藉 著 不 停 的 收 縮 、<br />

放 鬆 , 將 血 液 送 到 全 身 各 處 。 心 臟 周 期 分 為 收 縮 期 、 弛 緩 期 和 休<br />

止 期 。 心 臟 周 期 之 間 主 要 作 用 大 致 分 為 二 種 : 一 是 將 血 液 送 到 全<br />

身 , 由 左 心 房 和 左 心 室 負 責 。 二 是 將 全 身 各 部 位 經 靜 脈 回 流 的 血<br />

液 , 運 輸 到 肺 部 , 由 右 心 房 和 右 心 室 負 責 。 換 句 話 說 , 左 心 房 和<br />

左 心 室 負 責 體 循 環 , 而 右 心 房 和 右 心 室 負 責 肺 循 環 。<br />

血 液 從 肺 部 流 入 肺 靜 脈 , 先 儲 藏 在 左 心 房 , 而 後 流 入 左 心 室 。<br />

當 左 心 室 充 滿 血 液 時 , 心 臟 收 縮 , 血 液 輸 入 大 動 脈 , 此 時 的 血 壓<br />

最 強 , 稱 為 最 高 血 壓 或 收 縮 壓 。<br />

將 血 液 從 左 心 室 輸 送 到 大 動 脈 後 , 心 臟 繼 續 將 來 自 肺 部 的 血<br />

液 儲 藏 在 左 心 室 , 而 右 心 室 也 開 始 儲 存 由 身 體 各 部 位 流 回 的 血 液 。<br />

因 此 , 當 身 體 的 部 分 血 液 儲 存 在 心 臟 內 時 血 壓 最 小 , 稱 為 最 低 血<br />

壓 或 舒 張 壓 。


2. 正 常 的 血 壓<br />

血 壓 正 常 的 人 , 平 均 血 壓 值 隨 年 歲 增 長 而 上 升 。 而 同 齡<br />

的 男 性 和 女 性 的 平 均 血 壓 也 會 有 差 異 。 根 據 WHO 的 基 準 ,<br />

正 常 最 高 血 壓 上 限 是 在 一 百 三 十 九 毫 米 以 下 , 最 低 血 壓 在 八<br />

十 九 毫 米 以 下 。 同 時 , 明 顯 區 分 高 血 壓 的 範 圍 為 , 最 高 血 壓<br />

一 百 六 十 毫 米 以 上 , 最 低 血 壓 九 十 五 毫 米 以 上 。 而 介 乎 正 常<br />

血 壓 和 高 血 壓 的 血 壓 值 範 圍 , 稱 之 為 境 界 高 血 壓 。 即 最 高 血<br />

壓 一 百 四 十 至 一 百 五 十 九 毫 米 , 最 低 血 壓 九 十 至 九 十 四 毫 米<br />

, 這 個 範 圍 就 是 境 界 高 血 壓 。


3. 血 壓 計 的 分 類 與 比 較<br />

1733 年 , 英 國 史 蒂 芬 霍 爾 (Stephen Hales) 開 創 了 量 血 壓<br />

的 先 例 , 他 以 兩 端 開 口 的 垂 直 黃 銅 管 插 入 馬 匹 的 動 脈 , 再 從<br />

銅 管 上 之 玻 璃 窗 口 查 看 血 液 爬 升 的 高 度 八 呎 三 吋 ( 約 251.46 公<br />

分 ), 測 出 平 均 壓 。 這 種 以 插 管 ( 導 管 ) 插 入 體 內 量 取 血 壓 方 式<br />

, 我 們 稱 它 為 侵 入 式 血 壓 (InvasiveBlood Pressure, 簡 稱 IBP)。<br />

到 1828 年 波 意 斯 路 (Poiseuille) 以 水 銀 柱 取 代 了 不 方 便 的 長 銅<br />

管 ,20 公 分 的 水 銀 柱 即 可 量 馬 匹 的 動 脈 平 均 壓 ,25l.46 公 分<br />

除 以 水 銀 比 重 13.6 約 為 18.5 公 分 等 於 185 毫 米 汞 柱 (mmHg)。


一 直 到 十 九 世 紀 末 , 立 法 - 洛 希 (Riva-Rocci) 及 巴 南 德<br />

(Barnard) 不 約 而 同 的 發 明 了 以 壓 脈 袋 (cuff) 作 成 的 非 侵 入 式 血<br />

壓 計 (Sphygmomanometer), 就 是 我 們 目 前 所 使 用 的 水 銀 血 壓<br />

計 ,1905 年 克 羅 特 克 夫 (N.S. Korotkoff) 才 定 義 脈 搏 音 與 收 縮<br />

壓 及 舒 張 壓 之 間 的 關 係 。 首 先 把 壓 脈 袋 綁 在 手 臂 上 然 後 充 氣<br />

, 其 壓 力 超 過 收 縮 壓 約 20-30mmHg。 如 此 , 可 擠 壓 動 脈 , 完<br />

全 阻 止 血 液 的 流 動 , 然 後 慢 慢 的 洩 放 壓 脈 袋 內 的 氣 壓 , 當 壓<br />

脈 袋 壓 力 稍 低 於 血 管 內 壓 力 , 此 時 血 壓 即 可 把 血 管 撐 一 些 ,<br />

形 成 小 通 道 , 血 液 即 以 噴 射 方 式 通 過 , 如 圖 1 所 示 。<br />

圖 1:<br />

( 上 ) 血 管 內 層 流 ( 下 ) 血 管 內 亂 流


雖 然 此 時 血 管 通 道 還 小 , 血 流 量 小 , 但 聽 診 器 放 於 血 管<br />

上 方 , 仍 可 聽 到 血 液 噴 射 及 亂 流 所 合 成 的 微 小 聲 音 。 這 第 一<br />

音 是 因 為 血 壓 幾 乎 等 於 壓 脈 袋 的 壓 力 才 產 生 的 聲 音 , 是 血 管<br />

內 的 最 大 壓 力 , 此 時 壓 力 計 上 的 讀 值 , 為 收 縮 壓 。<br />

之 後 再 逐 漸 洩 放 壓 脈 袋 壓 力 , 血 管 通 道 漸 大 , 血 液 噴 流<br />

量 與 亂 流 越 大 故 聽 到 的 聲 音 也 越 強 。 壓 脈 袋 壓 力 小 於 某 一 階<br />

段 後 , 血 管 通 道 漸 大 , 此 時 噴 射 效 應 慢 慢 就 消 失 , 因 此 聲 音<br />

又 逐 漸 轉 弱 , 當 壓 脈 袋 壓 力 小 於 舒 張 壓 就 無 法 再 擠 壓 血 管 ,<br />

就 不 會 產 生 亂 流 , 也 就 不 會 產 生 聲 音 了 。 為 了 紀 念 克 羅 特 克<br />

夫 (N.S. Korotkoff) 這 偉 大 的 發 現 , 就 把 這 些 音 效 稱 為 克 羅 特<br />

克 夫 音 效 (Korotkoff sounds)。


4. 血 壓 計 的 分 類<br />

測 量 血 壓 的 方 法 可 分 為 直 接 測 量 法 (Direct measurement<br />

method) 或 稱 為 侵 入 式 (invasive) 及 間 接 測 量 法 (Indirect<br />

measurement method) 或 稱 為 非 侵 入 式 (noninvasivemethod) 兩 種<br />

。<br />

直 接 測 量 法 : 主 要 是 將 動 脈 導 管 接 在 感 測 器 部 分 的 前 端 , 經 排 氣<br />

及 對 大 氣 歸 零 後 , 將 動 脈 導 管 直 接 插 入 動 脈 血 管 , 再 利 用 壓 電<br />

轉 換 感 測 器 的 轉 換 而 量 得 血 壓 。<br />

間 接 測 量 法 : 以 各 種 非 侵 入 式 (Non-invasive) 之 量 測 為 主 , 大 部 分<br />

間 接 式 量 測 法 是 利 用 壓 脈 帶 壓 迫 血 管 , 再 用 聽 診 器 或 其 他 感 測<br />

器 ( 如 麥 克 風 、 超 音 波 感 測 器 、 壓 力 感 測 器 …) 來 量 得 血 壓 。


依 操 作 方 式 , 亦 可 分 成 手 動 式 及 自 動 式 , 依 儀 器 分 類 又<br />

可 分 成 :<br />

1. 水 銀 血 壓 計 (sphygmomanometer)<br />

2. 無 液 式 血 壓 計 (aneroid) 或 稱 為 錶 式 血 壓 計<br />

由 量 測 方 式 可 分 成<br />

1. 觸 診 法 (palpation method)、<br />

2. 聽 診 法 (auscultation method)<br />

3. 貫 注 法 (flush method)<br />

而 自 動 是 依 量 測 方 式 可 分 成<br />

聽 診 法 (auscultation method)、 共 振 法 (Oscillationmethod)、 超<br />

音 波 法 (ultrasound method)、 紅 外 線 法 (infrared method) 等 。


5. 共 振 法 原 理 介 紹<br />

測 量 時 , 儀 器 會 先 把 壓 脈 袋 充 氣 擠 壓 動 脈 完 全 阻 止 血 液<br />

的 流 動 , 再 慢 慢 的 洩 壓 , 靈 敏 的 壓 力 感 應 器 , 可 感 應 到 壓 脈<br />

袋 上 方 動 脈 的 脈 動 , 繼 續 慢 慢 洩 放 壓 脈 袋 內 壓 力 , 則 脈 動 漸<br />

強 , 經 實 驗 証 明 當 壓 脈 袋 內 壓 力 等 於 平 均 壓 時 , 壓 脈 袋 內 壓<br />

力 振 幅 最 大 , 之 後 , 因 壓 脈 袋 內 壓 力 降 低 , 使 血 管 內 障 礙 區<br />

減 小 , 噴 射 效 應 漸 小 而 使 脈 動 振 幅 漸 小 , 直 到 壓 脈 袋 內 壓 力<br />

小 於 舒 張 壓 而 無 法 產 生 脈 動 為 止 。<br />

經 實 驗 室 統 計 測 得 壓 脈 袋 內 共 振 幅 度 最 大 時 , 袋 內 的 壓<br />

力 相 當 於 動 脈 的 平 均 壓 , 再 以 最 大 振 幅 為 中 心 , 往 前 找 出 振<br />

動 波 幅 約 為 最 大 振 幅 的 50% 時 , 壓 脈 袋 內 壓 力 約 相 當 於 收 縮<br />

壓 , 再 以 最 大 振 幅 為 中 心 往 後 找 出 振 動 波 約 為 最 大 振 幅 的<br />

80% 時 , 壓 脈 袋 內 壓 力 約 相 當 於 舒 張 壓 如 圖 2 所 示 。


圖 2: 血 壓 波 形


因 為 共 振 法 是 測 一 連 串 的 脈 動 並 尋 找 出 最 大 振 幅 後 , 再<br />

以 0.5 及 0.8 的 最 大 振 幅 分 別 定 出 收 縮 壓 與 舒 張 壓 。 故 而 它 比<br />

較 不 受 心 律 , 血 管 阻 抗 等 的 影 響 , 而 且 在 非 侵 入 血 壓 計 中 唯<br />

一 可 同 時 測 得 收 縮 壓 、 舒 張 壓 與 平 均 壓 的 , 因 此 近 代 的 自 動<br />

非 侵 入 血 壓 計 都 採 用 此 法 。 為 防 止 被 測 者 因 移 動 而 干 擾 壓 脈<br />

袋 內 壓 力 變 化 , 如 偵 測 脈 動 時 , 病 患 移 動 過 大 , 干 擾 壓 脈 袋<br />

內 壓 力 , 超 過 容 許 範 圍 ; 儀 器 會 放 棄 該 次 測 量 , 或 重 新 測 量 。<br />

各 廠 商 的 防 干 擾 及 洩 壓 方 法 , 都 稍 有 不 同 。


6. 聽 診 法 (Auscultation Method)<br />

聽 診 法 為 目 前 使 用 最 廣 泛 的 方 式 , 其 結 構 組 成 包 含 了 壓<br />

脈 袋 (Cuff)、 手 動 加 壓 球 (Hand Bulb)、 聽 診 器 和 水 銀 壓 力 計 ,<br />

使 用 時 將 壓 脈 袋 包 裹 住 受 測 者 上 臂 , 並 將 聽 診 器 置 於 壓 脈 袋<br />

內 側 靠 近 肘 部 肱 動 脈 處 , 如 圖 3 所 示 。 將 壓 脈 袋 充 氣 , 當 壓<br />

脈 袋 內 的 壓 力 大 於 人 體 的 收 縮 壓 時 , 動 脈 血 管 會 因 壓 脈 袋 的<br />

擠 壓 作 用 而 達 到 完 全 閉 塞 的 現 象 , 動 脈 血 管 內 將 無 血 液 流 動<br />

, 如 圖 4 所 示 。 接 著 以 大 約 每 秒 3mmHg 的 洩 氣 速 率 放 氣 , 當<br />

施 測 者 藉 由 聽 診 器 聽 到 一 低 沈 的 衝 擊 聲 , 此 一 聲 響 稱 之 為 克<br />

羅 特 克 夫 音 效 (Korotkoff Sounds), 當 偵 測 到 第 一 音 時 , 讀 取<br />

壓 力 計 上 的 讀 值 , 此 即 為 收 縮 壓 ; 當 壓 脈 袋 壓 力 小 於 血 管 壓<br />

力 無 法 擠 壓 血 管 形 成 障 礙 區 , 如 圖 5 所 示 , 就 不 產 生 聲 音 ,<br />

此 時 記 下 壓 力 計 上 的 讀 值 即 為 舒 張 壓 。


圖 3: 聽 診 法 示 意 圖


圖 4: 受 壓 血 管 形 成 障 礙 區 圖 示<br />

圖 5: 血 管 無 法 形 成 障 礙 區 圖 示


實 驗 二 :<br />

醫 用 電 子 實 習 - 血 壓 訊 號 量 測 實 作<br />

實 驗 目 的 :<br />

(1) 明 瞭 血 壓 訊 號 量 測 電 路 架 構 並 實 作 。<br />

(2) 明 瞭 如 何 將 血 壓 訊 號 放 大 , 並 降 低 外 界 的<br />

影 響 。<br />

(3) 進 一 步 了 解 血 壓 心 跳 率 之 判 讀 。


電 路 方 塊 圖 :<br />

儀 表 放 大 器 :<br />

人 體 的 血 壓 訊 號 很 小 (mV 範 圍 ), 容 易 受 到 外 界 雜 訊<br />

影 響 , 因 此 在 前 級 設 計 上 通 常 會 加 上 儀 表 放 大 器 , 因 為 儀 表<br />

放 大 器 有 增 益 無 限 大 、 輸 入 阻 抗 無 限 大 、 輸 出 阻 抗 無 限 小 、<br />

CMRR 值 無 限 大 、 頻 寬 無 限 大 等 五 項 特 點 , 非 常 適 合 在 前 級<br />

將 人 體 訊 號 耦 合 進 入 電 路 。 血 壓 線 路 的 儀 表 放 大 器 倍 率 設 計<br />

為 50 倍 。


濾 波 器 :<br />

在 生 理 訊 號 的 測 量 上 , 使 用 濾 波 電 路 是 必 然 需 要 的 。 在<br />

血 壓 線 路 的 濾 波 電 路 是 由 一 個 二 階 帶 通 濾 波 與 一 個 二 階 低 通<br />

濾 波 器 所 組 成 。 組 成 血 壓 波 的 訊 號 頻 帶 大 約 在 1Hz ~ 40Hz,<br />

另 外 為 了 要 消 除 60Hz 雜 訊 的 干 擾 , 故 將 帶 通 濾 波 器 截 止 頻<br />

率 設 計 在 60Hz 以 下 。 而 低 通 濾 波 器 的 截 止 頻 率 設 計 在 1Hz 之<br />

下 , 可 以 排 除 呼 吸 造 成 的 1Hz 左 右 的 低 頻 訊 號 。 兩 線 路 之 濾<br />

波 器 放 大 倍 率 如 下 圖 所 示 。 加 上 前 級 儀 表 放 大 器 放 大 倍 率 ,<br />

擷 取 之 訊 號 總 共 約 放 大 1000 倍 。


實 作 目 錄<br />

• 注 意 事 項<br />

• 生 理 訊 號 量 測 平 台 簡 介<br />

• 如 何 安 裝 USB Windows 驅 動 -PC<br />

• PC 、 WINCE6.0<br />

• 生 理 訊 號 量 測 模 組 開 放 接 腳<br />

• 血 壓 量 測 平 台<br />

• API 畫 面 簡 介 及 操 作 流 程<br />

• 血 壓 量 測 平 台<br />

• 封 包 格 式


注 意 事 項<br />

• 本 產 品 為 教 學 模 組 請 勿 做 為 醫 療 器 材 使 用 。<br />

• 請 勿 在 運 動 後 及 任 何 身 體 不 適 狀 況 下 使 用 本 產 品 。<br />

• 請 勿 任 意 拆 卸 或 是 更 換 產 品 零 件 , 避 免 有 觸 電 資 危 險 。<br />

• 電 池 座 僅 能 使 用 電 池 切 勿 使 用 其 他 電 源 代 替 ( 血 氧 濃 度<br />

偵 測 平 台 及 血 壓 量 測 平 台 可 使 用 USB 供 電 ), 避 免 有 觸<br />

電 之 危 險 。<br />

• 不 可 與 胸 外 去 顫 器 同 時 使 用 。<br />

• USB 線 材 請 使 用 A 公 對 A 公 2.0 之 線 材 。<br />

如 違 反 以 上 原 則 , 本 公 司 不 負 任 何 法 律 責 任 及 保 固 。


生 理 訊 號 量 測 平 台 簡 介 - 血 壓 量 測<br />

• 雙 通 道 血 壓 數 位 波 形 輸 出 。<br />

• 過 度 加 壓 保 護 , 無 人 體 傷 害 危 險 。<br />

• 線 性 式 快 速 洩 壓 。<br />

• 類 比 電 路 輸 出 接 腳 , 方 便 實 驗 量 測 。<br />

• 24 位 元 高 解 析 度 類 比 至 數 位 轉 換 , 可 提 高 後 續 數 位 訊 號 處 理 與 辨 識 的<br />

精 確 度 。<br />

• 自 動 基 準 電 位 飄 移 去 除 , 可 去 除 外 在 干 擾 影 響 。<br />

• 自 動 計 算 平 均 壓 、 收 縮 壓 及 舒 張 壓 。<br />

• RS232 或 USB 輸 出 , 可 連 接 不 同 類 型 嵌 入 式 主 機 。


生 理 訊 號 量 測 平 台 簡 介 血 壓 量 測


如 何 安 裝 USB Windows 驅 動 -PC<br />

• 步 驟 一 : 將 USB 插 入 電 腦 , 會 出 現 以 下 的 畫 面 , 請 依<br />

照 紅 色 框 選 之 選 項 進 行 操 作 。


如 何 安 裝 USB Windows 驅 動 -PC<br />

• 步 驟 二 : 選 擇 VISTA & XP 的 資 料 夾 , 底 下 的 CDM<br />

2.04.06 WHQL Certified 。


如 何 安 裝 USB Windows 驅 動 -PC<br />

• 步 驟 三 : 等 待 安 裝 完 成 , 完 成 USB Serial Converter 的<br />

驅 動 程 式 安 裝 。


如 何 安 裝 USB Windows 驅 動 -PC<br />

• 步 驟 四 : 按 下 完 成 後 會 立 即 出 現 在 一 次 安 裝 USB Serial<br />

Port 。<br />

選 擇 同 一 個 驅 動 程 式 資 料 夾 即 可


如 何 安 裝 USB Windows 驅 動 -PC


如 何 安 裝 USB Windows 驅 動 -PC<br />

• 至 電 腦 裝 置 管 理 員 查 看 COMPORT, 請 調 整 至 COM10<br />

以 內 及 內 部 設 定 ,Receive 及 Transmit 都 選 擇 4096,<br />

Latency Timer 選 擇 ”16”。


如 何 安 裝 USB Windows 驅 動 -<br />

WINCE6.0<br />

• 1. 將 wince6.0-ARMv4VCPDriver 資 料 夾 複 製 到 嵌 入 式<br />

系 統 中 。<br />

• 2. 開 啟 資 料 夾 , 將 裡 面 的 兩 個 檔 案 FTDI_ESR 及<br />

FTDIPORT 複 製 到 Windows 底 下 。<br />

• 3. 注 意 : 在 FTDIPORT 裡 面 原 始 設 如 下 頁 ( 在 PC 中 使 用<br />

記 事 本 開 啟 )。


如 何 安 裝 USB Windows 驅 動 -<br />

WINCE6.0<br />

• ; FTDIPORT.INF<br />

• ; Copyright (c) 2000-2008 FTDI Ltd.<br />

• ;<br />

• [Version]<br />

• DriverVer=1.1.0.2<br />

• [Manufacturer]<br />

• %FTDI%=FtdiHw<br />

• [FtdiHw]<br />

• %VID_0403&PID_6001.DeviceDesc%=FtdiPort232,FTDIBUS\COMPORT&VID_0403&PID_6001<br />

• %VID_0403&PID_6010.DeviceDesc%=FtdiPort232,FTDIBUS\COMPORT&VID_0403&PID_6010<br />

• %VID_0403&PID_6011.DeviceDesc%=FtdiPort232,FTDIBUS\COMPORT&VID_0403&PID_6011<br />

• [FtdiPort232.NT.HW.AddReg]<br />

• HKR,,"Prefix",0x00010000,"COM"<br />

• HKR,,"LatencyTimer",0x00010001,16 // LatencyTimer = 16<br />

• HKR,,"InitialIndex",0x00010001,4 // 使 用 COM4<br />

• HKR,,"ConfigData",1,01,04,3f,3f,10,27,88,13,C4,09,E2,04,71,02,38,41,9c,80,4E,C0,34,00,1A,00,0D,00,06,<br />

40,03,80,00,00,d0,80


如 何 安 裝 USB Windows 驅 動 -<br />

WINCE6.0<br />

• 4. 插 入 裝 置 , 在 螢 幕 上 會 出 現 對 話 框 。<br />

• 5. 輸 入 ftdi_ser, 之 後 按 下 ok 就 完 成 驅 動 程 式 的 安 裝 。<br />

• 6. 檢 視 驅 動 程 式 是 否 正 常 工 作 。<br />

• 7. 複 製 看 登 入 檔 資 料 夾 中 的 程 式 RegEdit.exe 至 嵌 入 式<br />

系 統 中 。<br />

• 8. 執 行 RegEdit.exe


如 何 安 裝 USB Windows 驅 動 -<br />

WINCE6.0<br />

• 9. 選 擇 HKEY_LOCAL_MACHINE 的 資 料 夾<br />

• 10. 選 擇 底 下 的 Drivers 資 料 夾<br />

• 11. 選 擇 底 下 的 USB 資 料 夾<br />

• 12. 選 擇 底 下 的 ClientDrivers 資 料 夾<br />

• 13. 選 擇 底 下 的 FTDI_DEVICE 資 料 夾<br />

• 14. 可 看 到 目 前 device 所 使 用 的 COM PORT 及 資 訊 。


如 何 安 裝 USB Windows 驅 動 -<br />

WINCE6.0


生 理 訊 號 量 測 平 台 開 放 接 腳 -<br />

血 壓 量 測<br />

AD 轉 換 輸 入<br />

RX<br />

TX<br />

RX<br />

TX<br />

隔 離 的 UART 輸 出<br />

未 隔 離 隔 離 的 UART 輸 出<br />

1 2 3 4 5 6 7 8<br />

1.3.3V 輸 出<br />

2.NC<br />

3. 數 位 供 電 3.3V 檢 測 點 4. 類 比 供 電 3.3V 檢 測 點<br />

5. 類 比 接 地 檢 測 點 6. 數 位 接 地 檢 測 點<br />

7.NC 8.VREF 2.5V 輸 出 檢 測 點


API 畫 面 簡 介 - 血 壓 量 測<br />

設 定 COMPORT<br />

及 鮑 率<br />

選 擇 有 線 或<br />

無 線 版 本<br />

開 PORT<br />

關 PORT<br />

基 準 電 位 調<br />

整<br />

無 線 模 組<br />

MAC Addr<br />

連 線<br />

斷 線<br />

血 壓 基 礎 壓 力 波 繪 圖 區<br />

收 縮 壓 顯 示<br />

舒 張 壓 顯 示<br />

血 壓 震 盪 波 繪 圖<br />

區<br />

平 均 心 跳 顯 示


API 畫 面 簡 介 - 血 壓 量 測 WINCE


API 操 作 - 以 血 壓 為 範 例<br />

• Cable 版 本<br />

• 1. 將 9V 電 池 置 入 電 池 盒 中 , 請 注 意 正 負 極 , 勿 將 其 反 裝 。<br />

• 2. 將 USB 線 連 接 至 模 組 與 PC 上 。<br />

• 3. 將 壓 脈 帶 裝 在 平 台 上 並 連 接 至 手 臂 。<br />

• 4. 開 啟 光 碟 中 NIBP_PC V2.1 (000423)\release 底 下 的 NIBP_PC.exe 檔 。<br />

• 5. 確 認 Com Port 及 Baudrate 並 在 Cable 或 Wireless 的 選 鈕 上 選 擇 Cable 。<br />

• 6. 按 下 Open ComPort , 成 功 會 出 現 ”okok” 視 窗 , 失 敗 會 出 現 Alert 視 窗 。<br />

• 7. 接 收 到 的 資 料 也 會 同 時 log 在 release 的 資 料 夾 中 , 可 以 供 離 線 時 的 資 料<br />

使 用 。<br />

• 如 需 開 發 程 式 , 請 點 選 NIBP_PC V2.1 (000423) 底 下 的 NIBP_PC.sln 專 案<br />

檔 即 可 開 啟 架 設 好 之 環 境 。


API 操 作 - 以 血 壓 為 範 例<br />

• Wireless 版 本<br />

• 1. 將 9V 電 池 置 入 電 池 盒 中 , 請 注 意 正 負 極 , 勿 將 其 反 裝 。<br />

• 2. 插 入 USB DONGLE,” 驅 動 ” 及 ” 設 定 ” 請 詳 見 如 何 安 裝 USB<br />

Windows 驅 動 , 下 圖 為 USB DONGLE。<br />

• 3. 上 電 之 後 , DONGLE 上 的 D1 為 BT 訊 號 燈 , 為 連 接 時 3 秒 閃 爍 一 次 ,<br />

如 與 裝 置 連 接 則 為 1 秒 閃 爍 一 次 。<br />

• 更 詳 細 的 藍 芽 Dongle 使 用 方 法 請 參 考 藍 芽 Dongle 使 用 手 冊 。


API 操 作 - 以 血 壓 為 範 例<br />

• 4. 將 壓 脈 帶 裝 在 平 台 上 並 連 接 至 手 臂 , 壓 脈 帶 上 有 一 個 箭 頭 , 箭 頭 朝<br />

下 , 位 置 大 概 在 脈 搏 的 地 方 。<br />

• 5. 開 啟 光 碟 中 NIBP_PC V2.1.1 (000430)\release 底 下 的 NIBP_PC.exe 檔 。<br />

• 6. 確 認 Com Port 及 BaudRate 並 在 Cable 或 Wireless 的 選 鈕 上 選 擇<br />

Wireless 。<br />

• 7. 按 下 Open ComPort , 成 功 會 出 現 ”okok” 視 窗 , 失 敗 會 出 現 Alert 視 窗 。


API 操 作 - 以 血 壓 為 範 例<br />

• 9. 輸 入 模 組 上 的 BT 模 組 的 MAC Addr , 如 右 圖 所 示 , 貼 紙 上 為<br />

000A3A2F024009W20, 輸 入 時 只 需 輸 入 前 12 位 元 000A3A2F0240 。<br />

• 10. 完 整 輸 入 後 點 選 Connect , 此 時 畫 面 如 下 所 示 出 現 Connecting… 。<br />

• 11. 之 後 按 下 模 組 上 面 的 START 鍵 即 可 量 測 血 壓 。


API 操 作 - 以 血 氧 濃 度 為 範 例<br />

• 11. 當 發 射 模 組 與 接 收 模 組 連 接 到 時 , 兩 塊 模 組 上 的 D1 LED 燈 會 1 秒<br />

閃 一 次 , 表 示 模 組 已 連 線 , 即 可 繪 出 波 形 。<br />

• 12. 接 收 到 的 資 料 也 會 同 時 log 在 release 的 資 料 夾 中 , 可 以 供 離 線 時<br />

的 資 料 使 用 。<br />

• 13. 如 須 關 閉 程 式 時 , 請 先 點 選 Disconnect , 將 藍 芽 連 線 關 閉 , 兩 塊 模<br />

組 上 的 D1 LED 燈 會 3 秒 閃 一 次 , 表 示 模 組 已 斷 線 , 在 關 閉 ComPort ,<br />

否 則 ComPort 關 閉 但 是 藍 芽 連 線 依 然 存 在 。<br />

• 如 需 開 發 程 式 , 請 點 選 NIBP_PC V2.1.1(000430) 底 下 的 NIBP_PC.sln 專<br />

案 檔 即 可 開 啟 架 設 好 之 環 境 。


封 包 格 式


實 驗 三 :<br />

心 跳 計 算 與 壓 力 顯 示<br />

實 驗 目 的 :<br />

本 實 驗 介 紹 如 何 將 RS232 所 擷<br />

取 到 的 基 礎 壓 力 與 震 盪 壓 力 換<br />

算 成 平 均 壓 、 收 縮 壓 與 舒 張 壓


程 式 流 程 圖 :


程 片 段 解 說 :<br />

在 執 行 緒 OnReceive 中 , 包 含 了 剩 餘 的 五 項 功 能 分 別 呼 叫<br />

讀 取 RS232 函 式 、 判 斷 封 包 是 否 正 確 、 呼 叫 繪 圖 函 式 、 計 算 心<br />

跳 率 以 及 將 血 壓 資 料 寫 入 LOG 檔 。 由 於 我 們 已 經 將 執 行 緒 程 式<br />

開 啟 , 便 會 透 過 RS232 開 始 接 收 血 壓 的 資 料 , 真 正 從 硬 體 接 收<br />

資 料 的 程 式 位 於 Serial.cpp 中 , 名 稱 為 ReadData 的 函 式 。 以 下 為<br />

上 述 程 式 片 段 :<br />

void OnReceive(CNIBP_PCDlg* w)<br />

{<br />

/* 封 包 格 式 內 容 :<br />

data[0]=0x0D data[1]=0x4E data[2]=pressure release(bit4) / QRS flag(bit0)<br />

data[3]=basic_mmhg<br />

data[4]=pulse mV data[5]=sys value data[6]=dia value data[7]=check sum data[8]=0x0A<br />

data[7] = data[2]+data[3]+data[4]+data[5]+data[6] , 其 目 的 為 可 驗 證 收 到 封 包 是 否 正 確 */<br />

CString Basic_mmhg;<br />

CString sys;<br />

CString dia;


while(w->bReceive_Flag)<br />

{<br />

unsigned char ucData[128];<br />

memset(ucData,0x0,128);<br />

w->pSerial->ReadData( ucData, 0x0D, 89 ); // 呼 叫 讀 取 RS232 函 式<br />

if(w->bReceive_Flag == 0)<br />

{<br />

w->m_edt_Heart_Value.SetWindowTextW(L"");<br />

w->m_edt_SYS_value.SetWindowTextW(L"");<br />

w->m_edt_DIA_value.SetWindowTextW(L"");<br />

break;<br />

}<br />

if(ucData[0]==0x4E)<br />

{


if(((CButton*)w->GetDlgItem(IDC_radio_Wireless))->GetCheck() == BST_CHECKED)<br />

{<br />

w->m_edt_State.ShowWindow(false);<br />

w->m_edt_State.FlashText(false);<br />

}<br />

for(int i = 0 ; i < 89 ; i+=9)<br />

{<br />

if(w->bReceive_Flag == 0)<br />

{<br />

w->m_edt_Heart_Value.SetWindowTextW(L"");<br />

w->m_edt_SYS_value.SetWindowTextW(L"");<br />

w->m_edt_DIA_value.SetWindowTextW(L"");<br />

break;<br />

}<br />

unsigned char ucTemp; // 判 斷 封 包 是 否 正 確<br />

ucTemp = ucData[i+1] + ucData[i+2] + ucData[i+3] + ucData[i+4]+ ucData[i+5];<br />

if( (ucData[i]==0x4E) && (ucTemp == ucData[i+6]) && (ucData[i+7]==0x0A) )<br />

{<br />

TCHAR RESP_LOG[256];<br />

wsprintf(RESP_LOG,L"%d,%d\r\n",ucData[i+2],ucData[i+3]); // 寫 入 log 檔<br />

w->onWriteLog1(RESP_LOG);


Basic_mmhg.Format(L"%d",ucData[i+2]);<br />

w->m_edt_SYS_value.SetWindowTextW(Basic_mmhg);<br />

if((ucData[i+1] & 0x10) == 0)<br />

{<br />

w->Draw( pDC2, 200-ucData[i+2] ,1); // 呼 叫 繪 圖 函 式 畫 基 礎 壓 波 形<br />

w->Draw( pDC1, Baseline-ucData[i+3] ,0); // 畫 振 盪 壓 波 形<br />

}<br />

if((ucData[i+1] & 0x01) == 1 && j


w->m_edt_SYS_value.SetWindowTextW(sys); // 顯 示 收 縮 壓<br />

dia.Format(L"%d",ucData[i+5]);<br />

w->m_edt_DIA_value.SetWindowTextW(dia);<br />

// 顯 示 舒 張 壓<br />

int count=0;<br />

for(int k=0;k


show_heart_rate.Format(L"%d",f2);<br />

w->m_edt_Heart_Value.SetWindowTextW(show_heart_rate); // 心 跳 率<br />

j = 0;<br />

}<br />

}<br />

}<br />

}<br />

}<br />

}<br />

//-------------------------------------------------<br />

// ReadData 埶 行 緒<br />

//-------------------------------------------------<br />

bool CSerial::ReadData( unsigned char *pData, unsigned char ucType, int iRead_Count )<br />

{<br />

char Byte;<br />

DWORD dwBytesTransferred;


if (m_hIDComDev!= INVALID_HANDLE_VALUE)<br />

{<br />

// Loop for waiting for the data.<br />

do<br />

{<br />

// Read the data from the serial port.<br />

ReadFile( m_hIDComDev, &Byte, 1, &dwBytesTransferred, 0 );<br />

// Display the data read.<br />

if(Byte == ucType)<br />

{<br />

ReadFile ( m_hIDComDev, &*pData, iRead_Count, &dwBytesTransferred, 0 );<br />

return 1;<br />

}<br />

}<br />

while (dwBytesTransferred > 0);<br />

}<br />

return 0;<br />

}


附 錄 : 如 何 建 立 VC++2005 專 案 檔<br />

步 驟 一 : 開 啟 VC++2005。


步 驟 二 : 新 建 一 個 專 案 並 選 擇 MFC 應 用 程 式 。


步 驟 三 : 在 應 用 程 式 類 型 內 容 中 設 定 如 下 , 請 參 照 設 定 。


步 驟 四 : 在 使 用 者 介 面 功 能 內 容 中 設 定 如 下 , 請 參 照 設 定 。


步 驟 五 : 在 進 階 功 能 內 容 中 設 定 如 下 , 請 參 照 設 定 。


步 驟 六 : 在 生 產 的 類 別 內 容 中 設 定 如 下 , 請 參 照 設 定 。


步 驟 七 : 完 成 後 即 可 開 啟 最 原 始 的 專 案 xxxDlg.cpp。


步 驟 八 : 可 在 xxx.rc 檔 中 Dialog 資 料 夾 內 開 啟 視 窗 介 面 。


附 錄 :VC++ RS232 接 收 程 式<br />

在 專 案 原 始 程 式 檔 中 , 有 一 支 Serial.cpp 的 程 式 , 這 支 程 式 主<br />

要 負 責 程 式 與 硬 體 的 串 列 通 訊 傳 輸 。 當 我 們 在 接 收 訊 號 時 ,<br />

外 部 輸 入 的 訊 號 會 由<br />

bool CSerial::ReadData( unsigned char *pData, unsigned char<br />

ucType, int iRead_Count ) 的 Funtion 將 資 料 接 收 進 來 , 在 主 程<br />

式 (xxxDlg.cpp) 中 必 須 先 開 啟 COMPORT 的 執 行 續 來 收 取<br />

ReadData 的 資 料 , 設 定 COMPORT 設 定 程 式 片 段 如 下 。


void CSPO2_PCDlg::Initialize_ComPort()<br />

{<br />

// TODO: Add your control notification handler code here<br />

// *********************************************************************** 預 設 初 始 值<br />

int aBaudRate[]={2400,4800,9600,19200,38400,57600,115200,128000,256000};<br />

// 清 除 cmb_ComPort,cmb_BaudRate 內 的 值<br />

this->m_cmb_ComPort.ResetContent();<br />

this->m_cmb_BaudRate.ResetContent();<br />

CString szTemp;<br />

// 建 立 Port<br />

for(int i = 1; i < 257; i++)<br />

{<br />

szTemp.Format(L"COM%d",i);<br />

this->m_cmb_ComPort.AddString(szTemp);<br />

}<br />

m_cmb_ComPort.SetCurSel(0); //Port 預 設 值<br />

for(int j = 0; j < 9; j++)<br />

{


szTemp.Format(L"%d", aBaudRate[j]);<br />

}<br />

this->m_cmb_BaudRate.AddString(szTemp);<br />

this->m_cmb_BaudRate.SetCurSel(6);<br />

//BaudRate 預 設 值<br />

m_cmb_ComPort.GetWindowText(csPort);<br />

m_cmb_BaudRate.GetWindowText(csBaud);<br />

m_cmb_SetBT_BaudRate.ResetContent();<br />

for(int j = 2; j < 7; j++)<br />

{<br />

szTemp.Format(L"%d", aBaudRate[j]);<br />

this->m_cmb_SetBT_BaudRate.AddString(szTemp);<br />

}<br />

this->m_cmb_SetBT_BaudRate.SetCurSel(4);<br />

//BaudRate 預 設 值<br />

}


附 錄 : 如 何 增 加 Log 檔 案<br />

//--------------------------------------------------------------------------<br />

// 步 驟 開 檔<br />

// 2 設 定 寫 入 位 置<br />

// 3 寫 入 檔 案<br />

// 4 釋 放 資 源<br />

//--------------------------------------------------------------------------<br />

void CSPO2_PCDlg::onWriteLog1(TCHAR * szlog1)<br />

{<br />

DWORD dwsize;<br />

if(Wirte_File != INVALID_HANDLE_VALUE)<br />

{<br />

SetFilePointer(Wirte_File, 0, NULL, FILE_END);<br />

WriteFile(Wirte_File,szlog1,wcslen(szlog1)*2, &dwsize, NULL);<br />

}<br />

}


附 錄 : 如 讀 取 .txt 檔 案<br />

void COpen_FileDlg::OnBnClickedOk()<br />

{<br />

// TODO: Add your control notification handler code here<br />

FILE *fptr;<br />

char str[300];<br />

fptr = fopen("\data.txt","r");<br />

//(1) 檔 名 , (2) 開 文 件 方 式 為 只 讀 , 文 件 指 針 指 到 開 始 處<br />

if(fptr==NULL)<br />

{<br />

exit(0);<br />

}<br />

while(fgets(str,300,fptr)) //(1) 存 放 位 置 , (2) 抓 取 長 度 , (3) 開 檔 變 數<br />

{<br />

CString er;<br />

er.Format(L"%S",str);<br />

this->m_temp.AddString(er);<br />

}<br />

}

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!