• 沒有找到結果。

具備多工排程功能之無線嵌入式腦機介面系統及其在即時汽車駕駛員疲勞狀態偵測與提醒之應用

N/A
N/A
Protected

Academic year: 2021

Share "具備多工排程功能之無線嵌入式腦機介面系統及其在即時汽車駕駛員疲勞狀態偵測與提醒之應用"

Copied!
99
0
0

加載中.... (立即查看全文)

全文

(1)

國 立 交 通 大 學

電機與控制工程學系

碩 士 論 文

具備多工排程功能之無線嵌入式腦機介面

系統及其在即時汽車駕駛員疲勞狀態

偵測與提醒之應用

Development of Wireless Brain Computer Interface

with Embedded Multi-task Scheduling and its

Application on Real-time Driver’s Drowsiness

Detection and Warning

研 究 生:謝弘義

指導教授:林進燈 博士

(2)

具備多工排程功能之無線嵌入式腦機介面系統及其在即時

汽車駕駛員疲勞狀態偵測與提醒之應用

Development of Wireless Brain Computer Interface with

Embedded Multi-task Scheduling and its Application on

Real-time Driver’s Drowsiness Detection and Warning

研 究 生:謝弘義 Student:Hung-Yi Hsieh

指導教授:林進燈 博士

Advisor:Dr. Chin-Teng Lin

國立交通大學

電機與控制工程學系

碩士論文

A Thesis

Submitted to Department of Electrical and Control Engineering

College of Engineering and Computer Science

National Chiao Tung University

in Partial Fulfillment of the Requirements

for the Degree of Master

in

Electrical and Control Engineering

June 2006

Hsinchu, Taiwan, Republic of China

(3)

具備多工排程功能之無線嵌入式腦機介面系統及其在即時

汽車駕駛員疲勞狀態偵測與提醒之應用

學生:謝弘義

指導教授:林進燈 博士

國立交通大學電機與控制工程研究所

中文摘要

近年來,有許多高速公路車禍發生的原因是由於駕駛者精神狀態不佳所造 成;而在精神狀態不佳或是疲勞時,腦電位會產生一些特徵訊號,因此可以利用 這些生理特徵訊號進行其精神狀態之估測。以往的生理訊號監控系統大多只做到 訊號記錄部分,再藉由電腦進行後續離線處理,而缺乏即時分析的功能,因此, 本論文提出一套具備即時分析能力的腦機介面系統以改善以往生理訊號監控系 統的缺點,並實際應用於汽車駕駛員疲勞狀態偵測與提醒。我們以雙核心處理 器,搭配無線傳輸模組、生理訊號放大器,來實現一套即時無線腦機介面系統, 包含三大發展主軸,分別為「無線傳輸與腦電位訊號量測」、「嵌入式多工排程」 及應用於「即時汽車駕駛員疲勞狀態偵測與提醒」並即時運作於嵌入式系統上。 首先,我們開發一套嵌入式多工排程系統與雙核心處理系統來增加系統於接收資 料以及訊號處理的即時處理效能,並利用可切換式無線訊號傳輸系統來克服系統 接線以及傳輸距離的問題。接著提出一即時的駕駛員疲勞狀態偵測的演算法,最 後整合提醒訊號回饋以喚醒精神狀態不佳的駕駛員。實際線上測試顯示,本論文 所提出的系統在即時處理效能以及疲勞狀態偵測的準確度上,都有非常好的效 果。 關鍵字:無線傳輸,即時雙核心嵌入式系統,嵌入式多工排程,腦機介面, 腦波訊號處理,疲勞狀態偵測與提醒

(4)

Development of Wireless Brain Computer Interface with

Embedded Multi-task Scheduling and its Application on

Real-time Driver’s Drowsiness Detection and Warning

Student: Hung-Yi Hsieh

Advisor: Dr. Chin-Teng Lin

Department of Electrical and Control Engineering

National Chiao Tung University

Abstract

Recently, many traffic accidents on the highway are caused by the drivers’ drowsiness. If the driver is drowsy, there are some features in EEG signals. We can use these features to estimate the driver’s drowsiness. But the past bio-signal monitor system usually can only record the signals and is unable of real-time signal processing. We propose the Brain Computer Interface (BCI) system in this thesis, which can process bio-signal real-time, and we apply it to detect the driver’s drowsiness and warn the driver when the driver’s drowsiness occurs. The goal of this thesis is to build up a real-time wireless Brain Computer Interface, which include wireless transmission and bio-signal measurement, an embedded multi-task scheduling system, and its application on real-time driver’s drowsiness detection and warning. We propose the embedded multi-task scheduling system and the dual-core processing system to improve the ability of real-time processing, including receiving data and processing data, and use a selectable wireless transmission system to overcome the problems of routing and transmission distance. Finally, we propose a real-time driver’s drowsiness detection algorithm and integrate the warning signal to warn the drowsiness driver. The practical online test shows that the system we propose is effective with the ability of real-time processing and drowsiness detection.

KEYWORD:wireless transmission, real-time dual-core embedded system, embedded multi-task scheduling, Brain Computer Interface, Brain Signal Processing, drowsiness detection and warning

(5)

誌 謝

本論文的完成,學生首先要感謝指導教授林進燈博士在過去兩年研究期間提 供豐富的實驗資源、研究環境以及本校生物科技系梁勝富教授從旁指導協助,讓 學生受益良多。此外,學生要感謝口試委員台灣大學陳永耀教授、亞洲大學蔡文 祥校長以及美國加州大學聖地牙哥分校鍾子平教授在百忙中抽空參與學生的口 試,並提供許多寶貴的意見,使得本論文更加完善。 其次,我要感謝腦科學研究中心的全體成員,沒有他們也就沒有我個人的成 就。特別感謝的黃騰毅學長和柯立偉學長給予我在各方面的指導,無論是研究上 疑難的解答、研究方法、寫作方式以及經驗分享等惠我良多,很慶幸在研究生涯 上能遇到如此的學長。另外,要感謝梅庭瑋、蕭力碩以及謝宗哲同學在過去兩年 研究生活中同甘共苦,相互扶持。此外,也要感謝陳玉潔學姊、趙文鴻學長在研 究上的幫助以及生活中的開導,還有感謝林玫學妹過去一年在實務上以及實驗測 試中的協助。再者,我要感謝陳明達、林弘章、黃俊傑學弟在過去這一年中的相 助,在生活中多一些調劑。另外,我要感謝遠在加拿大的的鄭吉泰學長在求學的 過程中引導我,並讓我創造許多重要而且美好的回憶。 最後,我要想感謝我的父親謝本松先生、母親張素霞女士以及兩個弟弟,由 於他們長久的栽培和照顧,才有今天的我,在此我要說一聲,真的非常地謝謝你 們,還有三舅舅王國順先生一家人,謝謝你們的鼓勵與幫助。謹將本論文獻給我 的家人以及一路上陪伴我以及幫助過我的所有人,包括大學的社團夥伴、專題戰 友,尤其是郭于禎小姐以及孫將瓴同學,常常在我最孤單無助的時候給我協助, 在我最徬徨、困擾的時候,願意傾聽我的心聲、開導我,在人生的路程中能認識 你們這些好朋友讓我有勇氣面對未來的挑戰繼續前進。

(6)

錄

誌 謝...iv 錄 ...v 圖目錄...vii 表目錄...x 縮寫對照...xi 第一章 緒論 ...1 1.1 研究背景...1 1.2 研究動機與研究目的...2 1.3 腦機介面系統簡介...3 1.4 即時可攜式無線腦機介面系統整體架構...4 1.5 論文架構...6 第二章 腦電位訊號感測與無線傳輸系統 ...7 2.1 簡介...7 2.2 腦電位訊號感測...8 2.2.1 腦電位訊號簡介...8 2.2.2 腦電位訊號量測電路設計...10 2.3 無線傳輸系統...17 2.3.1 藍芽無線傳輸簡介...17 2.2.2 RF3100/3105 簡介 ...18 2.2.3 無線通訊系統比較...19 2.2.4 CPLD 與 VHDL 硬體描述語言 ...20 2.2.5 類比/數位訊號轉換與無線傳輸模組控制程式開發 ...22 2.2.6 以半雙工通訊機制實現雙向資料傳輸...27 第三章 嵌入式多工排程系統設計 ...29 3.1 嵌入式系統開發環境簡介...29 3.1.1 嵌入式硬體開發環境...30 3.1.2 嵌入式軟體開發環境...33 3.1.3 雙核心處理器之內部溝通機制...36 3.2 嵌入式軟體系統架構與簡介...39 3.3 高效率嵌入式多工排程系統之設計與實現...40 3.3.1 工作切割與基本排程架構...40 3.3.2 多重處理程序之溝通機制...41

(7)

3.3.3 基於嵌入式多工排程之系統架構設計...47 3.3.4 ARM 處理器端周邊裝置控制程式設計與實現 ...49 第四章 汽車駕駛員疲勞狀態偵測與提醒系統之設計 ...52 4.1 疲勞狀態偵測與提醒系統架構...52 4.2 駕駛員疲勞狀態估測實驗設計...53 4.3 疲勞狀態偵測演算法設計...54 4.3.1 腦電位訊號處理流程...55 4.3.2 訊號之前處理...57 4.3.3 主成分分析...58 4.3.4 線性回歸分析...59 4.4 疲勞狀態偵測與提醒系統實現...60 4.4.1 DSP 處理器端運算系統實現 ...60 4.4.2 ARM 處理器端與 DSP 溝通及訊號後處理系統實現 ...63 4.4.3 疲勞提醒系統之實現...64 第五章 測試結果與討論 ...66 5.1 系統測試結果...66 5.1.1 生理量測電路驗證測試...68 5.1.2 多工排程效能比較...69 5.1.3 腦波訊號處理系統正確性測試...71 5.2 系統整合與討論...75 5.3 相關研究比較與討論...78 第六章 結論與未來展望 ...80 參考文獻...82

(8)

圖目錄

圖1.1、系統方塊圖...4 圖1.2、生理訊號放大電路方塊圖...4 圖1.3、無線訊號傳輸架構圖...5 圖2.1、腦電位訊號感測與無線傳輸系統架構圖...7 圖2.2、10-20 系統電極擺設位置圖 ...9 圖2.3、腦波量測電路方塊圖...10 圖2.4、前置放大器電路圖...10 圖2.5、前置放大器訊號模擬圖...11 圖2.6、訊號隔離器電路圖...11 圖2.7、高通濾波器電路圖...12 圖2.8、低通濾波器電路圖...13 圖2.9、帶通濾波器頻率響應圖...14 圖2.10、增益放大器電路圖...14 圖2.11、模擬結果...15 圖2.12、各頻率模擬圖...15 圖2.13、帶拒濾波頻率響應圖...16 圖2.14、無線訊號傳輸架構圖...17 圖2.15、藍芽無線傳輸模組實體圖...17 圖2.16、RF3100 無線傳輸模組實體圖...19 圖2.17、RF3105 無線傳輸模組實體圖...19 圖2.18、FLEX 系列發展版...21 圖2.19、Max+plusⅡ軟體介面...21 圖2.20、無線訊號傳輸架構圖...22 圖2.21、RF3100 控制模組架構圖...22 圖2.22、AD570 內部架構圖...23 圖2.23、AD570 控制時序圖...23 圖2.24、無線訊號接收程式流程圖...24 圖2.25、無線藍芽控制模組架構圖...25 圖2.26、傳輸資料對照表示意圖...26 圖2.27、無線藍芽模組交握溝通流程圖...26 圖2.28、雙向傳輸示意圖...28 圖3.1、OMAP 1510 微處理器架構圖 ...31

圖3.2、Innovator Development Kit 外觀圖 ...32

圖3.3、GCC 編譯流程圖 ...34

圖3.4、CCS 程式發展設計流程...35

(9)

圖3.6、DSP Gateway 系統架構圖 ...37 圖3.7、ARM/DSP 內部傳輸說明圖...38 圖3.8、嵌入式系統架構圖...39 圖3.9、嵌入式系統排程示意圖...41 圖3.10、記憶體運用說明圖...43 圖3.11、共享記憶體連接示意圖...45 圖3.12、資料處理狀態圖...48 圖3.13、周邊控制程序流程圖...49 圖3.14、區域網路共享架構圖...50 圖3.15、遠端電腦使用者圖形介面...50 圖3.16、TCP/IP 網路連線流程圖...51 圖4.1、疲勞狀態偵測與提醒系統架構圖...52 圖4.2、以虛擬實境產生的快速道路場景...53 圖4.3、實際實驗場景與動感模擬平台...54 圖4.4、實驗電極黏貼示意圖...54 圖4.5、估測模型建立流程圖...55 圖4.6、腦電位訊號處理流程圖...55 圖4.7、訊號之前處理...57 圖4.8、訊號處理流程圖...60 圖4.9、DSP 訊號處理程式流程圖 ...60 圖4.10、訊號處理程式流程圖...62 圖4.11、腦電波訊號的頻率分布圖...63 圖4.12、DSP 程式啟動流程 ...63 圖4.13、資料後處理程式流程...64 圖4.14、用於雙向資料傳輸的 RF3100 控制模組架構圖...65 圖4.15、雙向傳輸資料辨識流程...65 圖5.1、系統實體圖...66 圖5.2、即時無線生理訊號分析系統系統細部說明圖...67 圖5.3、生理訊號放大電路板...68 圖5.4、α 腦電波圖 ...68 圖5.5、眼動腦電波圖...69 圖5.6、程序排程示意圖...69 圖5.7、不用多工排程的執行過程...70 圖5.8、使用多工排程的執行過程...71 圖5.9、不含 PCA 的演算法測試...72 圖5.10、含 PCA 的演算法測試...72 圖5.11、PCA 矩陣處理驗證流程...73 圖5.12、PCA 矩陣處理驗證測試...73

(10)

圖5.13、PCA 維度與預測精確度的關係...74

圖5.14、在 OMAP 上做系統測試...75

圖5.15、以方法三在 OMAP 上做預測測試 ...75

圖5.16、系統整合架構圖...76

(11)

表目錄

表2.1、腦電波分類表...9 表2.2、帶通濾波器輸入輸出表...13 表2.3、帶拒濾波器輸入輸出表...16 表2.4、藍芽無線通訊協定...18 表2.5、無線傳輸格式傳輸功率比較表...20 表2.6、無線傳輸模組規格表...20 表2.7、RF3100 控制模組接腳表...22 表2.8、無線封包...24 表2.9、無線藍芽控制模組接腳表...25 表3.1、旗標對照表...44 表3.2、ARM 和 DSP 工作分配表 ...47 表4.1、RF3100 控制模組接腳表...65 表5.1、效能比較表...70 表5.2、DSP 處理測試比較表 ...73 表5.3、演算法於 OMAP 上測試比較表 ...74 表5.4、相關研究比較表...79

(12)

縮寫對照

(按字母排序)

縮寫 原文 中文翻譯

A/D Analog to Digital 類比數位訊轉換 API Application Program Interface 應用程式介面 ARM Advance RSIC Machines

BCI Brain Computer Interface 大腦人機介面 CPLD Complex Programmable Logic Device

DMA Direct Memory Access 直接記憶體存取 DSP Digital Signal Processor 數位訊號處理器 ECG electrocardiogram 心電圖

EEG electroencephalogram 腦電波

EMG electromyogram 肌電圖

EOG electro-oculogram 眼電圖 FHSS Frequency Hopping Spread Spectrum 跳頻展頻 FPGA Field Programmable Array

FSK Frequency Shift Keying 頻率鍵移 GCC GNU Compiler Collection

GSM Global System for Mobile Communication 全球行動通訊系統 GPRS General Packet Radio Service 通用分組無線服務 HCI Host Control Interface 主機控制介面 IDE Integrated Development Environment 整合發展環境

(13)

縮寫 原文 中文翻譯

IP Internet Protocol 網際網路通訊協定 IPC inter-process communication 處理程序之間的溝通機制 L2CAP Link Layer Control & Adaptation Protocol

LCD Liquid Crystal Display 液晶平面顯示器 LMP Link Manager Protocal

LSE least – square – error 誤差的最小平方 MMU Memory Management Unit 記憶體管理單元 MPU Micro Processor Unit

OMAP Open Multimedia Architecture Platform

OS Operating System 作業系統 PCA Principle component analysis 主成分分析 PDA Personal Digital Assistant 個人數位助理

PLD Programmable Logic Device 可程式邏輯邏輯元件 QoS Quality of Service 服務品質

RF Radio Frequency 射頻

RISC Reduce Instruction Set Computer 精簡指令集電腦 SDP S ervice Discovery Protocol 服務發現協定 SoC System on Chip 系統晶片

(14)

縮寫 原文 中文翻譯

STFFT Short-Time FFT 短時快速傅立葉轉換 TCP Transmission Control Protocol 傳輸控制協定

TCS Telephone Control Service 電話傳送控制協定 UART Universal Asynchronous Receiver Transmitter 通用異步收發器 USB Universal Serial Bus 通用串列匯流排 Verilog HDL Verilog Hardware Description Language

(15)

第一章

緒論

1.1 研究背景

人類腦電位訊號分析研究起源於1920 年代,Berger 等人發現人類的腦波是 由大腦皮質下許多神經細胞後端的突觸電流所累積產生。經過數十年的研究結果 發現[1][6],藉由腦波的量測分析可以得知受測者的認知精神狀態。然而進行腦 波相關研究通常需要長時間的訊號量測與分析,如此大量且複雜的腦波訊號將耗 費許多人力與時間,直到近年來電腦運算速度日益進步,以及各種分析處理方法 之改良,才足以即時處理量測到的腦波訊號。傳統上的腦波儀器是利用工業電腦 之類的大型主機來做監測,將其腦波記錄後經過人工方式來分析其生理意義。現 今軟硬體發展迅速,雖然大型主機腦波訊號即時分析的應用已不是個問題,但是 大型主機,空間大且昂貴,在實用上十分不方便。因此,如何發展一個攜帶方便 又可以即時分析腦波訊號的系統變成一個很重要的課題。

大腦人機介面(Brain Computer Interface, BCI)是利用腦部訊號,讓使用者可以 直接與外界溝通。這項技術的基礎在於,當大腦在進行某一項特定活動的時候, 會產生特定的腦波變化,因此透過監測與辨認此特定的腦波變化,來達到利用腦 波直接控制儀器或輸出訊號之目的。此種技術最主要的貢獻在於幫助因神經肌肉 損傷而行動受到阻礙的人(如肌肉萎縮、中樞神經系統損傷、重度中風的病人 等),使他們可以不需要依靠周邊神經和肌肉,能夠使用腦部的訊號,就能達到 與外界溝通、傳達訊息、自主行動,以及自我照顧等目的。在這方面的研究中, 大多著重於病患的研究,而且因為腦波量測與分析的儀器非常龐大,所以使用上 非常不方便。正如同腦電波量測與即時分析所遇到的問題,在腦機介面的發展 中,如何縮小量測、分析系統的體積以及簡化使用上的困難變成為將大腦人機介 面時用於日常生活中所需克服的難題。 在相關的研究中,國內一直停留在訊號紀錄的階段[7]-[13],較少應用於即 時的分析與預測受試者的行為。國外則有一些實驗室從事大腦人機介面相關的研 究,包括北京清華大學高上凱教授實驗室與奧地利Graz-BCI 實驗室[14]-[16]。而 在可攜式系統的研究上,高上凱教授實驗室研究藉由視覺刺激並透過數位訊號處 理器分析腦電波,用以無線控制家電[17];Graz-BCI 實驗室發展可攜式的人腦與 電腦介面系統[18];美國賓州州立大學發展一套失神性癲癇的腦波偵測系統 [19] 。 另 外 , 在 嵌 入 式 系 統 於 大 腦 人 機 介 面 的 研 究 上 較 為 少 見 , 而 較 多

(16)

ECG(electrocardiogram,心電圖)處理採用嵌入式系統的方式[20]-[22],處理系統 則以單一處理器為主[23-25]。 由於單一處理器的處理能力不足,因此在傳統中極少有利用嵌入式系統來進 行大腦人機介面的研究。因此,本論文提出以一雙核心處理器為處理核心的嵌入 式系統來解決大腦人機介面系統中最複雜的即時運算部份,因為嵌入式系統強調 體積小與省電,其特色非常適合用於大腦人機介面的開發。透過精簡的腦電位訊 號分析演算法搭配強大的嵌入式運算處理器來讓腦機介面有即時紀錄、處理能 力,並結合無線傳輸系統,強化本系統的實用性與方便性,以達到即時處理與分 析之目的。

1.2 研究動機與研究目的

近年來,有越來越多高速公路車禍發生的原因,是由於駕駛者精神狀態不佳 所造成。許多研究發現在精神狀態不佳或是疲勞時,大腦電位會產生一些特徵訊 號,因此可以利用這些生理特徵訊號進行其精神狀態之估測[26][27]。然而,若 能發展一套攜帶方便且可即時估測駕駛者精神狀態之腦波分析與疲勞警示系 統,來降低駕駛者因精神狀態不佳而發生意外的機率,將具有重要意義的貢獻。 因此,本論文的研究目的為實現一套可以即時偵測駕駛員精神狀態的腦機介面系 統,當駕駛員的精神狀態不佳時,系統會自動偵測到相對應之特徵腦波,並即時 發出警告訊號來警示駕駛員,達到降低意外發生之目的。本研究利用生理訊號放 大器擷取受測者的電生理訊號,藉由無線傳輸的方式將資料傳至嵌入式處理器, 並透過我們所發展的雙核心溝通機制以及自動分析演算法來實現這樣一套即時 可攜式無線腦機介面系統。 本論文主要研究的目的可分為下列五點,分別為「多訊號生理訊號量測」、「可 切換式無線通訊系統」、「改善式嵌入式訊號處理流程」、「嵌入式多工排程系統」 以及「即時分析演算法」,分別描述如下: 一、多訊號生理訊號量測:本論文所實現的生理訊號量測系統可用於多種不同訊 號,例如:EEG(electroencephalogram,腦電波)、ECG(electrocardiogram,心 電圖)、EMG (electromyogram,肌電圖)、EOG(electro-oculogram,眼電圖) 等電生理訊號。 二、可切換式無線通訊系統:根據不同的距離需求與環境需求,本系統提供不同 的傳輸介面作為切換選擇。此外,本系統亦提供長距離的資料傳輸與接收。

(17)

三、改善式嵌入式訊號處理流程:由於硬體空間的限制,當在訊號處理時,便無 法完全將電腦上所使用的即時訊號處理流程來實現,而必須根據硬體的限制 做一些修改。 四、嵌入式多工排程系統:本研究在嵌入式系統中架設了一套多工排程系統,除 了可加強其即時運算與顯示的能力外,此多工分離流程,未來亦可方便且快 速的加入其他新的處理程序。

五、即時分析演算法:在OMAP(Open Multimedia Architecture Platform)中利用 DSP Gateway 機制將腦波分析演算法交由 ARM(Advance RSIC Machines)和 DSP(Digital Signal Processor,數位訊號處理器)分工處理,建構一駕駛員精 神認知狀態系統,以驗證即時駕駛員精神認知狀態估測之能力。

1.3 腦機介面系統簡介

大腦人機介面是利用腦部訊號,讓使用者可以直接與外界溝通。這項技術的 基礎在於,當大腦活動的時候,會產生特定的腦波變化,因此我們可以利用腦電 波儀對腦波進行監測與辨識,最後用來控制儀器或輸出訊號。此種技術的目的在 於幫助因神經肌肉損傷而行動受到阻礙的人(如肌肉萎縮、中樞神經系統損傷、 重度中風的病人等),使他們可以不需要依靠周邊神經和肌肉,能夠使用腦部的 訊號,就可以達到與外界溝通、傳達訊息、自主行動,以及自我照顧等目的。腦 波人機介面的發展,一方面不但能夠節省社會成本的支出,減輕病人家庭的負 擔,另一方面,又能夠讓病人自我行動,建立病人與外界溝通的橋樑,提昇病人 的生活品質。所以腦波人機介面在近幾年來受到國外各研究團體的廣泛重視。 在 過去的十年裡,研究腦波人機介面的研究團隊已經從五個以下增加到二、三十個 以上,由此可見世界各國對腦波人機介面的重視。 大腦人機介面的架構可以簡單劃分為兩個部分,前端為腦波訊號的特徵擷取 與辨識,後端則為與其他硬體的結合與應用,例如手部義肢,電腦(利用腦波控 制滑鼠)等等。而發展成功的大腦人機介面系統決定於兩個重要的部分,包括可 辨識之腦波特徵及辨識率高的分類器[28]。本論文針對大腦人機介面系統,從前 端的腦波訊號擷取到後端與其他硬體的結合與應用,提出一套完整的系統,並將 這個系統應用在日常生活中。

(18)

1.4 即時可攜式無線腦機介面系統整體架構

本論文提出的即時可攜式無線腦機介面系統方塊圖如圖1.1 所示,此系統可 分為五大區塊:(1)生理訊號放大、(2)無線訊號傳輸、(3)即時記錄與分析、(4)資 訊顯示介面與(5)回授提醒訊號。 圖1.1、系統方塊圖 以下針對此即時可攜式無線腦機介面系統所具有的五大區塊分別概述如下: (1) 生理訊號放大 一般而言,人體電生理訊號的振幅都非常小,例如:腦電位訊號的振幅大約 只有幾十到一百五十微伏(μV),在後端處理上非常不易。因此,要先利用放大電 路將訊號放大。如圖1.2 所示,本論文所完成的放大器電路除了放大的功能外, 針對生理訊號的特性,我們另外加入濾波器以及隔離電路等設計。由於生理訊號 比較容易受到雜訊的干擾,所以,我們在電路中加入濾波電路來降低雜訊的干 擾,以方便擷取的真正的生理訊號。此外,我們除了設計一個帶通濾波器濾掉高 頻與低頻的雜訊外,為了降低室內配電的干擾,我們還加了一個帶拒濾波器。由 於本系統將實際應用於人體,考量實用時電流藉由頭皮逆流進入人體造成傷害, 本論文在設計上加上隔離電路來保護受測者。 圖1.2、生理訊號放大電路方塊圖

(19)

(2) 無線訊號傳輸功能 在無線訊號傳輸中,數位訊號抗雜訊的能力比較強,所以如圖1.3 所示,我 們先將放大電路輸出的類比訊號轉成數位訊號,再以無線傳輸的方式傳至後端。 在無線訊號傳輸模組的選擇上,我們考慮到傳輸功率對受測者的影響,我們選擇 兩種功率較低的模組,可以根據所需的傳輸距離作選擇。 圖1.3、無線訊號傳輸架構圖 (3) 即時記錄與分析 本論文的重點設計便在於我們所提出的即時可攜式無線腦機介面系統具備 個即時訊號分析的功能。由於腦電波是一個較為複雜的訊號,因此,在計算需要 比較複雜的運算,所以,我們需要一個擅於比較複雜的數學運算的處理器來負 責,例如:DSP。但由於一般的 DSP 周邊溝通的能力較弱,因此,我們使用 ARM 來 負 責 與 週 邊 裝 置 溝 通 。 因 此 , 我 們 選 擇 結 合 DSP 與 ARM 的 TI(Texas Instruments,德州儀器) OMAP1510 來做為處理核心。OMAP 雙核心處理器所扮 演的角色便是圖1.1 中的 Data processing unit,由圖可知,OMAP 除了負責生理 訊號分析運算外,還須與無線模組、網路介面以及回授提醒模組做溝通。所以, 在OMAP 上必需執行許多工作,包括:(1)無線模組裝置控制與 EEG 原始資料接 收、(2)系統初始狀態配置、(3)EEG 訊號處理與資料分析、(4)數位訊號處理器之 使用與管理、(5)與資料顯示介面溝通等工作。為了加強這些工作的管理與增加 其即時性,本論文提出一套嵌入式多工排程系統來對這些工作做排程與管理的工 作。 (4) 資料顯示介面 為了能及時顯示處理的結果與腦電位訊號,我們利用區域網路資訊共享的方 式實現一套圖形化的資料顯示介面。這樣一項功能可以讓遠端的醫生或照護者可 以即時掌握受測者現在的狀態。我們以網路通訊的方式來實現這一項功能,因為 這種方法較為便利,而遠端不需要加裝一些特製的硬體裝置,只需要使用我們所 設計的介面軟體即可,如此一來便可大幅提升其便利性。

(20)

(5) 回授提醒訊號 當系統處理完腦電位訊號後,除了偵測出其精神狀態外並藉由網路將結果顯 示在遠端的電腦外,為了讓整套系統的應用價值提升,本研究在系統中加入一回 授提醒訊號來即時提醒及警告駕駛員,讓系統不僅僅能做即時偵測,亦能提供即 時警告的機制。另外,在回授提醒訊號的實現上,我們以聲音及燈號來實現,主 要還是以聲音提醒為主。

1.5 論文架構

本論文共分為六個章節,第一章旨在說明本論文的動機、目標、研究背景及 系統整體架構的介紹。第二章針對腦電位訊號量測與無線傳輸系統的部份進行說 明,第三章著重於本研究在 OMAP 嵌入式系統上所設計的嵌入式排程系統,於 第四章將說明本論文所開發腦波分析系統的實驗設計與實現方式。第五章將針對 第二、三、四章的設計作測試與驗證,並對我們所實現的系統做討論且跟其他的 相關研究做一些比較。第六章中,則是對本論文作一個總結,並對未來的研究方 向作一說明。

(21)

第二章

腦電位訊號感測與無線傳輸系統

本章節將對本論文所提出的腦機介面中的腦電位訊號感測與無線傳輸系統 二方面加以說明。首先,將介紹腦電位訊號的量測。說明腦電位訊號(EEG)是如 何產生?有哪些類型?量測方式為何?以及放大腦電位訊號的電路設計等等。另 一方面,在無線傳輸系統上,我們依據傳輸距離遠近的需求,我們選擇兩種無線 傳輸模組來做實現。在硬體的實現上,我們選擇 CPLD(Complex Programmable Logic Device)及 VHDL(Very High Speed Integrated Circuit Hardware Description Language)硬體描述語言來控制無線傳輸模組。

2.1 簡介

腦電位訊號感測與無線傳輸系統的架構如圖2.1 所示,包含三大部分: (1) 腦電位訊號感測:主要是以放大器電路及電極所組成,負責腦電位序號的擷 取與放大。 (2) 無線傳輸系統:由 CPLD 主控,負責控制數位類比轉換(A/D converter)、無線 傳輸封包編碼與解碼、訊號格式轉換等與無線傳輸相關的工作。 (3) 回授訊號提醒裝置:由 CPLD 主控,當嵌入式運算系統運算出結果後,判斷 有 發 出 回 授 提 醒 訊 號 的 必 要 性 時 , 會 將 提 醒 訊 號 利 用 無 線 傳 輸 回 傳 至 CPLD,CPLD 做完解碼的動作後,會啟動回授提醒裝置。 圖2.1、腦電位訊號感測與無線傳輸系統架構圖

(22)

2.2 腦電位訊號感測

本節首先簡介腦電位訊號的特徵與量測方式,接著,介紹我們所實現的腦電 位訊號量測電路的設計、模擬與實現特色以及一些詳細的電路規格。

2.2.1 腦電位訊號簡介

大腦皮層有大量的神經元,這些神經元的活動有某種程度的規律性,因此置 於頭皮上的成對電極可用來記錄自大腦皮層上產生的電位變化,此電位變化是由 有節奏的電訊號(Electrical Rhythms)與暫態放電(Transient Discharge)所組成, 這些變化波形就是所謂的腦電位訊號,不同的 EEG 測量位置、頻率範圍、振幅 大小、訊號波形、週期性和產生方式可以區分不同的EEG。 EEG 的紀錄有其困難所在,主要在於 EEG 的波形很微小,腦波訊號經過腦 膜、腦脊髓液、腦殼到達頭皮時,其振幅峰對峰值大約只有 1~100μV,頻率大 約在 0.1~100HZ。其次,不同材質的電極與電極跟頭皮的接觸程度都會影響量 測記錄的結果,實驗操作時容易受到雜訊干擾。根據不同頻率範圍,大致上將 EEG 分為五類,如表 2.1 所示,以下針對 Alpha(α)、Beta(β)、Theta(θ)、Delta(δ) 等波形做介紹: (1) Alpha(α): 頻率為8-12Hz,一般正常人在處於安靜、身體放鬆、大腦休息的狀態下, 會出現這樣的週期波,是「意識與潛意識層面」之間的橋樑,其電位約為 50μV,在腦枕葉部(occipital region)及頂葉部(parietal region)最明顯。

(2) Beta(β): 頻率為12Hz 以上,但一般很少高於50Hz。清醒及警覺時尤其明顯,也 是邏輯思考、計算、推理時需要的波,屬於「意識層面」的波。在頂葉部及 額葉部(frontal region)會較明顯,電位約20μV。 (3) Theta(θ): 頻率介於4-8Hz,主要在兒童的頂葉部及顳葉部(temporalregion)會出現, 在深睡作夢、深度冥想時特別明顯,屬於「潛意識層面」的波,許多的腦疾 病患者,可以找到θ波。

(23)

(4) Delta(δ): 頻率低於4Hz 的腦波頻段,在一歲大嬰兒睡眠時,以及有嚴重器官性疾 病的患者身上尤其明顯,主要出現在兒童的枕葉部,及成人的額葉部。 表 2.1、 腦 電 波 分 類 表 腦波 頻帶範圍 說明 β 波 12-30Hz 平常活動(緊張及激怒時 25-30 赫) α 波 8-12 Hz 放鬆的身心 θ 波 4-8 Hz 靜坐進入深度冥想 δ 波 4Hz 以下 熟睡 在臨床實驗上,EEG 訊號會依據電極擺設的位置而影響其振幅、相位與頻 率。一般最常用的架構是由 International Federation of EEG Societies 所建立的 10-20 EEG 電極擺設系統[29]。如圖 2.2 所示其位置是以枕骨突出部分和鼻樑為 界線將頭部分成左右兩塊,再以雙耳上緣為界將頭部分為前後兩塊。記錄方式基 本上可分為單極式、平均式、與雙極式,本論文是採用單極式記錄。

(24)

2.2.2 腦電位訊號量測電路設計

腦波量測電路方塊圖如圖 2.3 所示,先藉由電極將 EEG 訊號量出再做後續 放大處理。在生理訊號量測上,我們採用單極式量測,所實現的電路可分為五個 部份:(1)前置放大電路、(2)隔離電路、(3)帶通濾波電路、(4)增益放大器、(5) 帶拒濾波電路[29][30]。 圖2.3、腦波量測電路方塊圖 (1) 前置放大電路 這一級主要為放大作用,由儀表放大器AD620 為主體所構成,AD620 為一 低功率,有高準確度的放大器(Amplifier),而其增益(Gain)範圍可從 1 到 10000, 電路圖如圖2.4 所示。 圖2.4、前置放大器電路圖 其增益設計如式子(2.1)所示, 1 49.5k Av R Ω = (2.1)

(25)

由圖 2.4 中,得知R1 = 500Ω,代入上式中,可得增益Av=100,藉由模擬,我 們輸入一個 1mV 的弦波,看其輸出的狀況:圖 2.5 其中淡藍色為輸入波,其一 格為1mV;紅色為輸出波,其一格為 100mV。另外,改變了其輸入源的頻率, 結果從低頻到 10kHz 間,皆沒有變化。因此,我們可以得知,這一級僅做放大 的動作。在圖中,輸出訊號與輸入訊號有一個反相的關係,這是儀表放大器一般 的特性。 圖2.5、前置放大器訊號模擬圖 (水平軸為時間;垂直軸為電壓大小) (2) 隔離電路 在前置放大電路與帶通濾波電路之間,有一個訊號隔離器,主要是將一、二 級的電源隔離開,以避免受測者因為電源漏電而有所危險。訊號隔離器採用 ISO122JP,為光學式隔離,如圖 2.6 所示。 圖2.6、訊號隔離器電路圖

(26)

(3) 帶通濾波電路 由於在受測期間,接收到的腦波可能會存在著不可避免的雜訊,因此必必須 有濾波器的存在。腦波的頻寬大小大約從 Delta 波的 0.5~4Hz 到 Gamma 波的 22~100Hz,因此希望其濾波器的頻帶位於 1 到 100Hz 之間。在帶通濾波電路的 設計上,我們使用一組高通濾波器以及一組低通濾波器所組成。如圖2.7 所示, 為主動式二階高通濾波,轉折頻率為1Hz。其頻率設計由 C1、C2、R2 和 R3 所 組成,如式子(2.2)。 圖2.7、高通濾波器電路圖 2 3 1 2 1 2 H f R R C C π = (2.2) 其極點設計如式子(2.3) 4 5 4 ( ) 1.52 R R R + = (2.3) 而低通濾波器的部分是採用主動式二階低通濾波器(如圖 2.8 所示),轉折頻率為 100Hz。其頻率設計由 R7、R8、C3、C4 決定,如式子(2.4) 7 8 3 4 1 2 L f R R C C π = (2.4)

(27)

其極點設計如公式(2.5) 9 10 9 ( ) 1.52 R R R + = (2.5) 圖2.8、低通濾波器電路圖 依照電路圖,我們利用模擬程式去模擬,記錄下其各個的振幅。表2.2 即為 模擬的結果: 表 2.2、 帶 通 濾 波 器 輸 入 輸 出 表 頻率 輸入振幅(VPP) 輸出振幅(VPP) dB 值 1Hz 2V 1.997V -0.01 2Hz 2V 1.999V -0.004 5Hz 2V 2V 0 10Hz 2V 1.997V -0.01 20Hz 2V 1.984V -0.06 50Hz 2V 1.817V -0.83 100Hz 2V 0.940V -6.56 200Hz 2V 0.117V -24.67 500Hz 2V 0.003V -55.7 1kHz 2V 0

(28)

利用上表,我們用Excel 畫出其頻率響應圖,如圖 2.9 所示 頻率響應圖 -120 -100 -80 -60 -40 -20 0 20 0 0.5 1 1.5 2 2.5 3 3.5 LogHz dB 圖2.9、帶通濾波器頻率響應圖 因此,我們得知其3dB 點大約在 80Hz 左右,然而最重要的腦波為 Alpha 以 及Beta 波,而其頻率約於 8Hz~22Hz,因此這部份可完整地通過濾波器。 (4) 增益放大器 此級主要也為放大的功能。在此級的後端,有一個switch,其主要功能是切 換此放大器的放大倍率。所用的IC 為 TL082,為基本的非反向放大器,其增益 調整如式子(2.6),電路如圖 2.10 所示。 6 2 6 (R VR ) Av R + = (2.6) 圖2.10、增益放大器電路圖

(29)

圖2.11 即為此級電路的模擬結果,其中綠色為輸入波,其一格為 5mV;紅 色為輸出波,其一格為50mV。改變其輸入波的頻率,我們發現頻率的改變並不 會影響輸出的振幅,因此可確保此級的頻率響應不造成任何的問題。 Ω k 10 50kΩ 圖2.11、模擬結果(水平軸為時間,垂直軸為電壓大小) (5) 帶拒濾波器 為避免60Hz 室內配電干擾可能造成的訊號失真問題,加入帶拒濾波器,讓 干擾降到最低。此級的功能為帶拒濾波器,圖2.12 為模擬結果的波形圖,圖中 淺藍色為輸入訊號,而深藍色則為輸出訊號,圖2.13 則為頻率響應圖。依照電 路圖,我們利用模擬程式去模擬,記錄下其各個的振幅,表2.3 即為模擬的結果。 10Hz 60Hz 100Hz 圖2.12、各頻率模擬圖(水平軸為時間,垂直軸為電壓大小)

(30)

表 2.3、 帶 拒 濾 波 器 輸 入 輸 出 表 頻率 輸入振幅(VPP) 輸出振幅(VPP) dB 值 10 20V 18.196V -0.821 20 20V 14.335V -2.892 30 20V 10.061V -5.968 40 20V 5.905V -10.596 50 20V 3.349V -15.522 60 20V 5.227V -11.656 70 20V 8.306V -7.633 80 20V 10.921V -5.255 90 20V 12.922V -3.794 100 20V 14.408V -2.848 200 20V 18.856V -0.512 300 20V 19.522V -0.210 400 20V 19.737V -0.115 500 20V 19.831V -0.074 1000 20V 19.958V -0.018 頻率響應圖 -18 -16 -14 -12 -10 -8 -6 -4 -2 0 0 0.5 1 1.5 2 2.5 3 3.5 Log(Hz) dB 圖2.13、帶拒濾波頻率響應圖 根據圖 2.12、2.13 所示,我們發現 1~100Hz 之間的輸入波只有在低頻以及 高頻時,其輸入與輸出相同,只有在60Hz 會有比較明顯削減的現象。所以,可 以證明此級有助於率掉電源交流頻率60Hz 的雜訊。

(31)

2.3 無線傳輸系統

在無線訊號傳輸模組的選擇上,由於考慮到傳輸功率對受測者的影響,本論 文選擇藍芽(Bluetooth)無線傳輸以及一種低功率的無線射頻(Radio Frequency,RF) 模組來作為無線傳輸的介面,可以根據所需的傳輸距離作選擇。在實作上,本論 文以CPLD 將 A/D(Analog to Digital)轉換器所轉出來的數位訊號包裝成無線傳輸 模組所需的封包格式,傳至後端由嵌入式系統做解碼與分析的動作,架構圖如圖 2.14 所示。 圖2.14、無線訊號傳輸架構圖

2.3.1 藍芽無線傳輸簡介

藍芽是一種保密性高、低功率、低成本和抗雜訊能力高的無線通訊技術,已 被廣泛討論與應用[32]。醫療設備無線化需要低干擾、抗雜訊能力高及保密性佳 的無線通訊設備,而藍芽恰好符合這些需要。藍芽為短距離的無線區域網路傳輸 標準,藍芽技術運作的原理主要是運用跳頻展頻技術(Frequency Hopping Spread Spectrum,FHSS)方式。藍芽技術不但傳輸量每秒鐘可達 1MB,同時可以設定加 密保護,每分鐘變換頻率一千六百次,因而很難截收,也不受電磁波干擾。如表 2.4 所示,藍芽系統的基本架構可分為四個層次類別[33]。本論文所採用的藍芽 無線傳輸模組如圖2.15 所示,所使用的為 HCI(Host Controller Interface,主機控 制介面)這一層,而控制介面為 RS232。

(32)

表 2.4、 藍 芽 無 線 通 訊 協 定 [33]

通訊協定層別 說明

Link Manager & L2CAP

底層通訊協定的功能,Link Manager 負責 Baseband 連結的設 定,釋放及管理;L2CAP(Link Layer Control & Adaptation Protocol)負責包割與組裝、通訊協定多工處理、服務品質 (Quality of Service ,QoS)等服務功能。

Radio & Baseband 硬體模組的設計,具有射頻處理和基頻調變的功能。其中, Radio 射頻模組(RF Module)負責頻率合成、資料轉換和雜訊 過濾;Baseband(基頻)處理則負責訊息編碼及加解密編碼、跳 頻以及封包處理等。

Application

Framework & Support

可依據語音、數據、控制等不同之需求,提供應用軟體所需 的通訊協定功能與相對應之應用程式介面。在此層面下又包 括 有 RF Comm 、 SDP(Service Discovery Protocol) 、 TCS (Telephone Control Service)等三種架構,分屬不同的技術任 務。

Host Controller Interface (HCI)

負責界定藍芽與Host 設備間之連結界面的控制指令,在 HCI 這部份一般可以分為USB(Universal Serial Bus,通用串列匯 流 排) 、 RS232 、 UART(Universal Asynchronous Receiver Transmitter,通用異步收發器)等三種介面。

2.2.2 RF3100/3105 簡介

在長距離的無線傳輸模組方面,我們選擇研廣科技無線模組RF3100/3105 來 做為傳輸的介面。我們選擇這個模組的主要原因在於其耗電量低、傳輸距離長以 及其模組體積小的優點。其控制模式是以 RS232 的方式來控制,所以在模組切 換跟使用上也比較有利於開發與使用。另外,由於藍芽無線傳輸上需要許多協定 上的編解碼,因此,在使用上反而消耗一些額外的傳輸,而造成使用上比較麻煩。 而在RF3100/3105 則是用 RS232 即可控制,而在安全性上,RF3100/3105 的模組 上有控制器做編解碼的動作。最重要的一點就在於其適用於長距離的傳輸,其傳 輸的距離可達 200~600 公尺。RF3100/3105 有三種頻率可供選擇: 433~435Hz、 868~870Hz、902~928Hz,我們所使用的頻帶是 902~928Hz[34][35]。

(33)

圖2.16、RF3100無線傳輸模組實體圖 圖2.17、RF3105無線傳輸模組實體圖

2.2.3 無線通訊系統比較

在藍芽技術中,無線電的發射功率為0dBm (1mW),傳輸範圍約為 10 公尺。 傳輸功率的範圍為1mW 到 100mW,100mW 的傳輸功率可到達 100 公尺的傳輸 距離,但是要達到100mW 功率的傳輸時,則須在射頻前再加上一個射頻放大器 (Power Amp)裝置。所以,藍芽無線傳輸技術並不適用於長距離的傳輸,而 RF3100/3105 的傳輸距離則可達 200~600 公尺,可以解決傳輸距離的問題。根據 表 2.5 所示,藍芽無線模組的傳輸功率最低僅有 0dBm,而 RF3100 的傳輸功率 為12dBm 遠比手機 GSM(Global System for Mobile Communication,全球行動通 訊系統)1800 的 24dBm 為小。相較之下,RF3100 的傳輸功率小的多。因此,在 需要比較遠的傳輸距離(例如:室內)的時候就可以利用 RF3100,而當傳輸距離 比較短(例如:汽車內)時,便可利用藍芽無線傳輸模組做為傳輸介面。

(34)

表 2.5、 無 線 傳 輸 格 式 傳 輸 功 率 比 較 表 [32] 傳輸模式 Bluetooth RF3100 GSM1800 傳輸功率 0dBm(最小值) 12dBm 24dBm(最小) 這兩種無線傳輸模組的詳細比較如表2.6 所示,藍芽無線的頻帶是無線網路 所使用的 2.4GHz;而 RF3100/3105 則是 915MHz。雖然,藍芽無線模組使用的 傳輸鮑率(57600bps)較 RF3100/3105(38400bps)高,但由於其封包較複雜使得其最 高取樣頻率反而不如RF3100/3105。但藍芽無線傳輸模組可以提供全雙工的傳模 組,這造成其於雙向傳輸的應用會比半雙工的RF3100/3105 來的方便。 表 2.6、 無 線 傳 輸 模 組 規 格 表 傳輸模式 Bluetooth RF 3100/3105 頻帶 2.4GHz 915MHz 傳輸頻率 57600bps 38400bps 傳輸距離 10/100m(1/100mW) 200-600m 取樣頻率(2 channel) 343Hz 914Hz 傳輸方向 全雙工 半雙工 調變方式 FSK** FSK** Transmission Power 0/20dBm(1/100mW) 12dBm 連接介面 UART、USB UART

**:FSK-- Frequency Shift Keying,頻率鍵移

2.2.4 CPLD 與 VHDL 硬體描述語言

近年來由於大型可程式邏輯閘(如 CPLD、FPGA(Field Programmable Array)) 的迅速興起,提供使用者可以利用其協助使用者在短時間內開發自己所需的控制 器。本論文便是利用 CPLD 與 VHDL 硬體描述語言來開發前端控制無線模組與 A/D converter 的系統。CPLD 的全名是 Complex Programmable Logic Device,是 可程式邏輯邏輯元件(Programmable Logic Device ,PLD)的一種。可程式邏輯元件 是一種可讓使用者組成特定邏輯功能的數位積體電路,並可快速協助邏輯IC 的 設計與驗證工作。CPLD 是由許多個邏輯方塊所組成,各邏輯方塊均類似一個簡

(35)

單的 PLD 元件。邏輯方塊間的相互關係則由可編程的連線架構,將整個邏輯電 路合成而成[36]。本論文所使用的 CPLD 是由 ALTERA 公司生產的 FLEX 系列 的CPLD,其發展板如圖 2.18 所示。

圖2.18、FLEX系列發展版

程式上,我們是以 VHDL 來撰寫我們所設計的系統。VHDL 的全名是 Very High Speed Integrated Circuit Hardware Description Language。VHDL 與 Verilog HDL 一樣是一種描述數位電路的標準語言,是由美國國防部開始發展的,其優 點在於功能強大、設計靈活、多種不同的描述風格。而我們所使用的軟體是由 ALTERA 所提供的 Max+plusⅡ,這套軟體提供一套完整的設計工具,包括文字 編輯、圖形編輯、模擬、腳位配置、程式燒錄等設計流程一應俱全,其介面如圖 2.19 所示。 圖2.19、Max+plusⅡ軟體介面

(36)

2.2.5 類比/數位訊號轉換與無線傳輸模組控制程式開發

如圖2.20 所示,以 CPLD 為中心的無線訊號傳輸部分主要是接收放大電路 適當放大後的類比訊號,將其轉換為數位訊號,接者將其轉換為無線傳輸模組所 需的訊號格式,再利用無線模組將訊號送出。以下針對使用不同無線模組的實現 細節作說明,以下將分別針對如何應用RF3100/3105 傳輸模組以及藍芽無線傳輸 模組來實現無線訊號傳輸的功能作介紹。 圖2.20、無線訊號傳輸架構圖

(1) RF3100/3105 傳輸模組

在RF3100/3105 的控制上,是利用 RS232 界面,所以在 CPLD 上我們必須 實現一將訊號轉換成RS232 封包格式的模組。以兩個頻道為例,我們利用 CPLD 所實現的模組其內部架構如圖2.21 所示,表 2.7 則為模組接腳表。其中鲍率產生 器、UART 傳送模組[37]負責將數位訊號以 RS232 的訊號格式送出,而傳送值產 生模組則為本模組的核心部份,其主要負責兩項工作: 圖2.21、RF3100控制模組架構圖 表 2.7、 RF3100 控 制 模 組 接 腳 表 信號名稱 屬性 作用極性 功能 Clkin input 系統之震盪頻率

CH1_datain[7..0] input A/D converter 頻道 1 數位資料輸出 CH2_datain[7..0] input A/D converter 頻道 2 數位資料輸出 TXDout output 傳送資料至RF3100 無線模組 BC_B output High A/D converter 致能訊號

(37)

控制 A/D converter 以取得其轉換得到的數位訊號。在 A/D converter 方面,我們採用 ANALOG DEVICE 的 AD570,其內部架 構圖與控制波形圖分別如圖2.22 及圖 2.23 所示。 圖2.22、AD570內部架構圖 圖2.23、AD570控制時序圖 (b) 產生送入 RS232 傳送模組的資料:產生送入 RS232 傳送模組的資 料並驅動該模組藉以將資料以 RS232 的訊號格式送入無線傳輸模 組。此外,本論文所完成的傳輸系統中,同一個傳輸通道必須傳送 多個頻道(channel)的資料,所以,除了欲傳送的頻道資訊外,我們

(38)

還加上識別碼藉以告知接收端目前收到的訊號是哪一個頻道,封包 形式如表2.8 所示。如圖 2.24 所示,當接收到識別碼後,會隨即讀 取五個頻道的資訊,因此,識別碼的數值便不能出現在資料中,而 針對這點,我們在傳送值產生模組會對這些值做一些修改,以便傳 輸時不會有問題發生。 表 2.8、 無 線 封 包

Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte6 識別碼 Data 1 Data 2 Data 3 Data 4 Data 5

圖2.24、無線訊號接收程式流程圖 為了簡化整個資料傳輸的流程,我們採用單向的資料傳輸,也就是傳送端 與接收端不做交握的動作,而是傳送端不斷的傳送資料,而接收端只負責取接收 資料。實現上,我們讓傳送值產生模組每隔一段時間去驅動 UART 傳送模組, 使其將 RS232 訊號送出,如此一來我們只要控制這一個驅動訊號的頻率便可改 變訊號的取樣頻率,例如:使用鮑率為38400 的 RF3100/3105 模組傳送 5 個頻道 的資訊最高可以到達457Hz 的取樣頻率。為了確保 RS232 的資料順利被送出, 所以,驅動訊號的時間間隔必須要大於傳送一筆完整資料所需的時間。

(39)

(2) 藍芽無線傳輸

在利用藍芽無線模組做傳輸的動作之前,必須先跟藍芽無線模組建立溝通連 線,因此必須先做一連串交握(hand-shake)的動作,將彼此溝通的橋樑建立起來。 之後,才開始進行資料傳輸的動作。圖2.25 為所實現模組的內部結構圖,表 2.9 則為其接腳表。依功能可將此模組區分為三塊:(a)RS232 傳送與接收模組[37]、 (b) 傳送資料產生模組以及(c)接收資料判斷模組,以下針對資料傳送模組以及接 收資料判斷模組做介紹。 圖2.25、無線藍芽控制模組架構圖 表 2.9、 無 線 藍 芽 控 制 模 組 接 腳 表 信號名稱 屬性 作用極性 功能 rst_n Input Low 重置信號 Clkin Input 系統之震盪頻率 RXDin Input 從藍芽模組收取回傳值

CH1_datain[7..0] Input A/D converter 頻道 1 數位資料輸出 CH2_datain[7..0] Input A/D converter 頻道 2 數位資料輸出 TXDout Output 傳送資料至藍芽模組

BC_B Output High A/D converter 致能訊號

(a) 傳送資料產生模組:由於在交握的過程中會需要多次的資料傳輸, 為了節省 FPGA 的硬體空間以及簡化程式的結構,我們建立如圖 2.26 所示的對照表,以查表的方式來決定輸出值,動作流程如圖 2.27 所示。當系統重置時,會啟動這個模組,開始做交握(hand-shake) 的動作,當該封包(package)完整送出後,該模組會進入閒置狀態, 等待接收資料判斷模組收到正確無誤的回傳值後會再次驅動這個 模組,傳送下一個封包。

(40)

圖2.26、傳輸資料對照表示意圖

(41)

(b) 接收資料判斷模組:既然是做交握(hand-shake)的動作,自然除了 傳送資料給藍芽無線模組外,藍芽無線模組也會有回傳值送出,所 以必須要等待其傳出正確的回傳資料後才能再送下一筆值,而這個 模組便是在做這樣的工作,必須確定 RS232 接收模組所收到的值 正確無誤,才能驅動下一筆資料的傳輸。 在實現上,我們使用查表法的方式來實現傳送資料產生模組以及接收資料判 斷模組,由於,利用這種方法在實現上比較快速,而實境使用時速度也比較快, 但缺點就在於其所消耗的面積會較大。因此,在嘗試過一些方法後,我們找到面 積消耗較小方法以節省CPLD 的面積。

2.2.6 以半雙工通訊機制實現雙向資料傳輸

訊號傳輸可以分為並列與串列兩種,一般通訊系統都是使用串列資料傳輸。 而在串列通訊中,依資料流程的方向,可分為單工、雙工兩種。單工是指其資料 傳輸的流向,僅允許單方向傳輸,例如:收音機。而雙工則是允許做資料雙向的 傳輸,而雙工又可分為半雙工與全雙工兩種: ™ 全雙工(Full-Duplex):當在「全雙工」的資料交換模式下,資料可以在 交換資料的雙方以雙向同時傳輸;就像講電話一般,你說話的同時,你 的朋友也可以隨時插話而不會影響到你說話的功能。 ™ 半雙工(Half-Duplex):如果是使用「半雙工」時,則一次僅能有一方傳 輸資料,另一方須,等到對方傳送完後才能傳送;就像使用無線電時, 必須等對方講完,你才可以講話。 而本系統所使用的RF3100/3105 模組便是採用半雙工的方式,因此,在雙向 傳輸時便需作切換的動作。在不加入回授訊號之前,前端生理訊號量測系統為發 射端,將生理訊號即時傳送至後端的嵌入式系統做處理,而後端的無線模組則為 接收端,接收無線訊號。而在回授訊號的運用中,傳送與接收的角色正好互換, 由嵌入式系統作為傳送端,而前端生理訊號量測系統則為接收端。因此,在角色 互換之前,原本的傳送端必須先出傳輸通道等待另一端作傳輸的動作。以下我們 以A 代稱生理訊量測系統,而 B 則為嵌入式系統,如圖 2.28 所示,在單向傳輸 時,由於資料僅做單方向的傳輸,所以,在傳輸時可縮短資料與資料間的時間間 隔,盡可能的加快傳輸速度。但由於在半雙工中,如要接收資料,則必須先不傳

(42)

送資料,所以,我們必須在傳送資料的過程中,保留一些通訊時間,讓另外一端 有機會利用這個時間將資料傳送過來。所以,如圖 2.28 所示,我們降低傳送的 頻率以獲得一些空檔可讓另一端可利用這個時候送值過來。 圖2.28、雙向傳輸示意圖 這種作法沒有複雜的握手動作,而其每筆資料所需要的時間也相同,因此, 在實現上比較合乎即時(real-time)的要求。在實現上僅對原本的系統做一些修 改,並不影響原本的單方向的資料傳輸。由於傳送與接收是在同一個通道上,為 了確保回傳值的正確性,我們做了以下幾個工作: ™ 在 A 送至 B 中取適當的傳送頻率,使其有足夠的時間接收資料。 ™ 在 A 中加入一些暫存器,以確保所收到資料的合理性。 ™ 對傳送的資料做編解碼的動作,以確保其資料的正確性。

(43)

第三章

嵌入式多工排程系統設計

雖然,利用嵌入式系統來開發即時無線腦機介面系統可以縮小體積,以及方 便攜帶,但為了這些優點將造成在系統開發過程中會遇到許多挑戰: ™ 一般的嵌入式系統所使用的處理器其運算速度勢必比不上電腦,為了加 強系統運算的能力,本論文採用具備 ARM 與 DSP 的雙核心處理器 OMAP1510 來增加系統運算能力,但由於這是個雙核心處理器,所以, 如何讓這兩個處理器溝通以減少溝通時的時間浪費,便變的非常重要。 首先,我們建立一套雙核心處理器的溝通機制以解決溝通的問題;再 者,我們建立一套多工排程機制來減少溝通時間的浪費。 ™ 在 嵌 入 式 系 統 中 所 搭 載 的 記 憶 體 往 往 不 像 個 人 電 腦 中 動 則 幾 百 MB(Mega Bytes)甚至上 GB(Giga Bytes),而儲存的空間也不像電腦的硬 碟這麼大,所以,在程式設計的實現上我們會針對這些考量對演算法與 程式做適當的修改,以其在有限的硬體環境下,能發揮最大的成效。另 外,我們利用網路存取的方式來解決資料存取空間不足的問題。 ™ 在即時無線腦機介面系統中強調的就是即時,而在處理速度不如電腦這 麼快的嵌入式系統中,如何讓系統於運算與周邊溝通上都能保持”即 時”,便變的非常困難,因此往往許要花很多時間來做工作的規劃,本 論文提出一套嵌入式多工排程系統來減少程式規劃的時間與加強即時 訊號接收的能力。 本章分別針對 OMAP1510 的嵌入式系統發展環境、雙核心處理器之內部溝 通機制以及嵌入式多工排程系統做一個完整的介紹。

3.1 嵌入式系統開發環境簡介

本論文主要使用 OMAP1510 微處理器為發展嵌入式作業系統的核心,並搭 配德州儀器(Texas Instruments,TI)的開發單板 Innovator Development Kit 為實驗平 台。本節將對 OMAP1510 微處理器系統做個探討,主要分成二方面加以說明。 首先,將介紹 OMAP1510 微處理器的軟硬體架構進行規格介紹。說明硬體的設 備有哪些可用,以及如何搭配軟體,進而發展出一套軟硬體相容的系統。另一方

(44)

面,在程式開發上,主要有 Linux 平台下的跨平台環境(Cross Compiler)開發與 ARM 微處理器相容的應用程式。

3.1.1 嵌入式硬體開發環境

在硬體環境部分本節將介紹 OMAP 處理器與使用的平台 PSI Innovator; OMAP 為 Open Multimedia Architecture Platform 的縮寫,是一個有雙核心的微處 理器,結合 TI-enhanced ARM925 微處理器與 TMS320C55x DSP 核心。PSI Innovator 為 TI OMAP 處理器的手持式可展開的 OMAP 開發平台。OMAP 是德 州儀器公司近年來推出一項由RISC(Reduce Instruction Set Computer,精簡指令 集電腦)整合 DSP 的 SoC(System on Chip,系統晶片)嵌入式系統微處理器,其應 用定位主要是在於即時的多媒體影音資料處理、語音辨識系統、網際網路通訊及 無線通訊等訊號分析應用。OMAP 的最大特點在整合了 TI DSP 核心及 ARM 的 RISC 架構和各種週邊控制器的設計,而這也是本論文利用 OMAP 的原因,我們 需要ARM 對周邊控制以及支援嵌入式作業系統的能力,也需要數位訊號處理器 的數學運算能力。 TI 的 OMAP 1510 硬體結構圖,如圖 3.1 所示。從圖 3.1 上可知 OMAP 處理 器除了包含175MHz 的 ARM925 和 200MHz 的 TMS320c55x 外,還整合了多功 能的周邊控制元件,例如LCD(Liquid Crystal Display,液晶平面顯示器)控制器、 記憶體擴充介面、紅外線介面、觸控式面版擴充介面及 USB 介面等。由於可以 彈性的讓兩個處理器分工,所以它具有高處理效能與較低的耗電量。藉由 ARM 與DSP 存取相同的記憶體空間(含 SRAM(Static Random-Access Memory,靜態隨 機存取記憶體) 與其它記憶媒介)可以讓 OMAP 處理器中的 ARM 與 DSP 資料 交互傳遞。

(45)

圖3.1、OMAP 1510微處理器架構圖[38]

以下就雙核心架構整合TI TMS320C55x DSP核心和TI925T ARM 核心這兩 項不同的技術來作說明。 (1) TMS320C55x DSP Core: C55x DSP 內含 5 組數據匯流排,在一個周期內允許三次讀取作業和兩次 寫入作業。算術邏輯單元有兩組,一為40-bit 另一為 16-bit。綜上所述,C55x DSP 是高效能,低耗電的處理器,專為多媒體的即時應用而設計。DSP 多用 於處理多媒體應用。以下介紹TMS320C55x 規格: ™ 可達 200MHz(最大處理頻率),且電壓在 1.5v(一般情況) ™ 一個 cycle 可執行一到二個命令

™ 32K x 16-bit on-chip dual-access RAM (DARAM) (64 KB) ™ 48K x 16-bit on-chip single-access RAM (SARAM) (96 KB)

™ 含有兩個乘累加器(MAC),每一個 MAC 可以在一個週期內將 17-bit 的 乘法完成。

™ 16 KB I-cache, 8 KB D-cache

™ 內建三種影像處理硬體加速器:DCT 、Motion Estimation、 Pixel Interpolation 等硬體加速器

(46)

(2) TI925T ARM9TDMI Core: TI925T 是 一 顆 使 用 精 簡 指 令 集(RISC)的32-bit 處理器,也支援16位元 (Thumb模式)指令集,它的核心使用管線(pipeline)的機制讓指令可以連續執行。 ARM925用於執行作業系統(Operating System,OS)。以下為ARM925的規格: ™ 可達 175MHz(最大處理頻率),且電壓在 1.5v(一般情況) ™ 16KB I-cache; 8KB D-cache

™ 192-KB of shared internal SRAM - frame buffer

™ Support for 32-bit and 16-bit (Thumb mode) instruction sets ™ 處理器內部有自己的記憶體管理單元

Innovator Development Kit 是 TI 為 OMAP 推出的可展開之手持式開發平台, 如圖3.2 所示, Innovator Development Kit 是很有彈性的發展與展示平台,不但 支援所有主要無線標準,並能協助使用者在常用作業系統下開發各種應用。界面 模組包含多項獨特界面功能,可以讓廠商對發展套件進行客製設定;另外還有可 選用擴充模組,它們會支援GSM/GPRS(General Packet Radio Service,通用分組 無線服務)、802.11b 和藍芽,一張附加電路板(breakout board)則包含其它外部 硬體和一組10Mb 乙太網路連線。OMAP1510 處理器內含 TI 功能強大的 DSP 核 心,應用軟體設計工程師只需透過Innovator Development Kit 電路基板的協助, 就能利用高階作業系統發展工具,獲得DSP 所提供的媒體處理加強功能。

(47)

Innovator Delopment Kit 硬體包含三個部分,處理器模組、介面模組和,擴 充模組。處理器模組是 OMAP 微處理器的模組部分,除了處理器之外,一些系 統記憶體。其中含32Mbytes 的 SDRAM 供系統程式運作資料運算使用。處理器 與外界溝通的I/O 介面都放在介面模組上,本論文主要用兩個 UART 作為與外界 的溝通橋樑。針對 Innovator Development Kit 在發展上的便利性,TI 便開發了 Break Out Board(BOB)的套件,Break Out Board 是可以將 Innvator Development Kit 各個模組攤開平擺在 BOB 上使用,方便於開發時接線的方便性。

Innovator Delopment Kit 主要的特性如下: ™ TI OMAP1510 微處理器

™ 32Mbytes SDRAM、32Mbytes User Flash ™ 4MByte/256KBtyes Boot Flash/RAM ™ 觸控式 LCD 螢幕 ™ 四個控制按鈕 ™ Dual RS232 的埠

3.1.2 嵌入式軟體開發環境

在前面將 OMAP 微處理器硬體和環境選擇簡單的說明之後,接下來要進入 軟體應用的開發環境部分。因為OMAP 是由 ARM 和 DSP 兩種架構所組成的, 所 以在軟體開發上,我們分別針對ARM 和 DSP 的程式開發環境做介紹。 (1) 程式開發環境於ARM架構

自從1991 年Linux 由Linus Torvalds 將第一版Linux 公開在網路上後,這套 作業系統已經受到世界普遍的歡迎[39]。現在的Linux 支援相當多的處理器核 心,由高階的伺服器、工作站,到常見的個電腦中都有它的蹤跡,甚至是一些手 持式裝置例如手機、PDA(Personal Digital Assistant,個人數位助理)等一些現代人 常用的嵌入式系統上都看得到Linux 的存在。

所謂的嵌入式系統指的就是為了提高產品的穩定性、可攜性,或者是降低產 品成本、增加特定功能等不同的目的,對一般的標準系統進行修改以符合特殊設 計上的需求。在硬體方面靠的主要就是被稱為系統單晶片(SoC)的半導體整合技

(48)

術,而嵌入式作業系統則是軟體方面的技術核心。Linux 的可靠、高效能、伸縮 性、低成本,以及最重要的握有控制權等幾項特點,使得 Linux 在嵌入式作業 系統上站在非常有利的位置。

在一般PC的Linux的環境下開發程式,最常使用到的編譯器,莫過於GCC (GNU Compiler Collection),GCC可以說是 Richard Stallman 所創立的 GNU 計 畫中最重要的作品之一,它提供了自由軟體世界高品質的編譯器 (compiler),實 現了我們在自由軟體平台上開發程式的夢想。GCC 一個很大的特色是高度可移 植性,目前已知有包括了:x86、 arm、ia64、 alpha、 hppa、 m68k、Power PC 、 mips等超過三十種硬體平台與作業系統可以執行 GCC,此高度可移植性正是 GCC 廣為流傳散佈的主要原因[40]。儘管 GCC 是自由軟體計畫開發出來的, 但其所編譯出來的程式品質並不輸給商業版的編譯器,甚至所編譯出來程式在特 定平台有更好的執行效能。 嵌入式系統開發也需要用到編譯器(Compiler)、連結器(Linker)、組譯器 (Assembler),整合開發環境。以 ARM 而言,在 x86 環境下編譯產生出來的執行 檔,並不能於ARM 環境執行,若要在 x86 環境下開發 ARM 程式則需要建立一 個跨平台開發的工具(cross-platform development tool)。arm-linux-gcc 可將 x86 環境下程式碼針對ARM 的架構進行交叉編譯(cross-compiler),產生出來的執 行檔便可以於ARM 的架構上執行。GCC 編譯流程如圖 3.3 所示。

原始碼(Source Code)

編譯器編譯(Complied by Complier)

目的碼

(object code)

連結器連結程式庫

(link library by linker)

可執行檔

(executable file)

原始碼(Source Code)

編譯器編譯(Complied by Complier)

目的碼

(object code)

連結器連結程式庫

(link library by linker)

可執行檔

(executable file)

(49)

(2) 程式開發環境於DSP架構

開發DSP 程式是採用德州儀器所提供的軟體 CCS (Code Composer Studio), CCS 提供一個完善的整合發展環境(IDE,Integrated Development Environment), 包含了程式編譯器、程式除錯器以及模擬器。 CCS 以一致的環境來整合所有 host 與target 工具,包括 TI 的 DSP/BIOS kernel、code-generation tools、fast simulators、 debugger、與 Real-Time Data Exchange (RTDX) 技術,簡化應用程式的開發。利 用這些工具可以簡單地開發出OMAP 應用程式。 圖3.4 為 CCS 開發 DSP 程式流程。在設計程式前,先有個設計概念,再開 始建立專案來編寫程式碼,編寫過程中如遇到錯誤時需要除錯時,CCS 可以用 來對程式編碼做除錯以及即時的分析,甚至整個程式執行過程都可以追蹤。 圖3.4、CCS程式發展設計流程[40] 利用 CCS 開發 DSP 程式時,要先做好 ARM 與 DSP 於系統上的配置以及 設定CCS 編程的環境記憶體配置,如此才能跨平台開發程式。而 DSP 的編譯先 是由C/C++的原始碼經過 C/C++的編譯器後,可產生組合語言原始碼。再經過組 譯器(Assembler)產生物件(Object)檔,經由連結器(Linker)來產生最後的可執行 COFF(Common Object File Format)檔(以.out 為副檔名)。

DSP/BIOS 核心是一個事件驅動(Event-Driven)的架構,DSP 的應用程式透過 DSP /BIOS Configure 對於 DSP/BIOS 內的機制作設定。DSP/BIOS 系統配置工具 是用來幫助開發者在撰寫事件處理函式時,設定事件的特性與參數,如硬體中 斷、軟體中斷、背景執行緒、工作(TASK)等來使用 DSP/BIOS 的多執行緖能 力。

DSP/BIOS 主要被設計出來針對某些應用層面,其中包含:即時排程( Real – Time scheduling )、同步( Synchronization ),以及 HOST 和 TARGET 之間的通訊(如

(50)

圖 3.5 所 示 ) 。 DSP/BIOS 核 心 提 供 了 (1) 強 制 性 的 多 執 行 緒 (Preemptive Multi-Thread),也就是在 DSP 中有許多 Task 時,優先權高的工作可以將優先權 低的工作中斷,並搶得執行權。(2)硬體抽象化(Hardware Abstraction),即完全由 硬體抽象層控制系統的硬體中斷。使用者可以利用硬體抽象層給予的硬體描述來 控 制 硬 體 ,(3)即時分析(Real-Time Analysis)的功能。除此之外,DSP/BIOS Configuration 工具可將程式的大小作最佳化處理。圖中表示了 DSP/BIOS 在 CCS 上所扮演的角色。 圖3.5、CCS整合發展環境[40]

3.1.3 雙核心處理器之內部溝通機制

OMAP 雖然是一個雙核心元件,但一般 ARM 的開發者有時候並不需要 DSP 核心,他們可能希望OMAP 開發環境仍然和單核心處理器時相同。我們使用 DSP Gateway 的概念讓 ARM 和 DSP 建立連結,讓元件中 DSP 的存在變得透明,以 保持OMAP 運作時的彈性,讓一般 ARM 的開發者不需要 DSP 核心時,其開發 環境仍然和單核心處理器(ARM)時相同。DSP Gateway 可被看作同時存在於兩個 核 心 中 的 軟 體 層 , 其 主 要 用 來 向 ARM 上 執 行 的 多 媒 體 引 擎 導 出 一 組 API(Application Program Interface,應用程式介面),以便其存取 DSP 資源。在 DSP 端,DSP Gateway 用於管理 DSP 資源和數據流,並向 DSP 演算法提供介面。 在架設DSP Gateway 之前,由於我們需要可以呼叫與管理 DSP Gateway 的介面, 再加上我們在DSP 與 ARM 上面都有許多工作(task)需要執行,所以,我們分別 在 DSP 與 ARM 上面架設即時核心(DSP/BIOS)與嵌入式作業系統(ARM-Linux)

(51)

來管理這兩個核心的資源。圖3.6 表示 DSP Gateway 架構的關係圖。從圖中看出 DSP Gateway 包含兩部份,靠著這兩者合作完成通訊的功能:

™ Linux 裝置驅動程式:提供介面讓 ARM 的程式以系統呼叫(system call)的方式 使用DSP。

™ DSP 的函式庫:提供函式讓 DSP task 可以被 ARM 透過驅動程式使用。

圖3.6、DSP Gateway系統架構圖[41]

在 OMAP 處理器中的 ARM 與 DSP 資料交互傳遞的方法有三種,透過 Mailbox、MPU(Micro Processor Unit) Interface(MPUI)與 Share Memory(共享記憶 體)等方式來達成,在 DSP Gateway 中是以 Mailbox 以及 Share Memory 來實現 ARM 與 DSP 資料交互傳遞。以下先對 ARM 與 DSP 資料交互傳遞的三種方法 作簡介:

(1) Mailbox 機制:

OMAP1510 中有三組 Mailbox 暫存器,一組是給 ARM 用,當 ARM 有資料 寫入Mailbox 時,會送出中斷(INT5)給 DSP;其他兩組則是當 DSP 有資料寫進 時,才會送出中斷(IRQ10/11)給 ARM。每一組 Mailbox 是包含兩個 16 位元暫存 器與一個1 位元旗標暫存器。當中斷發生時,中斷的處理器會用兩個 16 位元的 暫存器各自將命令與資料傳到被中斷的處理器上。

(2) MPU Interface(MPUI)機制:

MPUI 可以讓 ARM 和系統的 DMA(Direct Memory Access,直接記憶體存取) 控制器與DSP 和 DSP 的週邊互相通訊。MPUI 可以存取整個 DSP 的記憶體空

(52)

間與 DSP 的週邊匯流排。因此 ARM 與系統的 DMA 可以有 DSP 輸出入空間 的完整存取權限。至於透過Share Memory 這樣的架構則是靠 OMAP 上的 Traffic Controller 達成,藉由 ARM 與 DSP 存取相同的記憶體空間。ARM 可以控制 DSP 的 MMU(Memory Management Unit,記憶體管理單元)讓 DSP 可以存取這些 記憶媒介。

(3) Share Memory 機制:

由於mailbox 只能傳送兩個 16 位元暫存器與一個 1 位元旗標暫存器,而無法 傳送大量的資料,所以,我們必須借由Share Memory 的方式來傳送大量的資料。 而Share Memory 這樣的架構則是靠 OMAP 上的 Traffic Controller 達成,藉由 ARM 與 DSP 存取相同的記憶體空間。ARM 可以控制 DSP 的 MMU 讓 DSP 可以存取這些記憶媒介,在DSP Gateway 中,我們稱這一塊記憶體為 IPBUF。

圖3.7表示Mailbox和IPBUF在ARM和DSP之間的關係,ARM端的程式要將資 料交給DSP task處理時,也要將資料傳給DSP端。資料傳輸的型式,所採取的方 式是block send的方式,ARM在傳送資料時的Mailbox command中下達BKSND的 命令,並且傳送BID(buffer ID)給DSP。ARM在傳送資料時,會先傳送Mailbox command,這時會有Mailbox中斷(INT5)產生,接收這個命令,經過interrupt handler 的處理DSP task收到接收資料的命令,並會到Mailbox command裡面指定的IPBUF 內取得所要處理的資料,經過在DSP運算後,將得到結果存在記憶體內。同樣的 ARM這時會送接收資料的命令過來,DSP將得到的結果送到IPBUF中,ARM可 從IPBUF取得DSP處理後的資料。 圖3.7、ARM/DSP內部傳輸說明圖

數據

圖 2.2、10-20  系統電極擺設位置圖
圖 2.11 即為此級電路的模擬結果,其中綠色為輸入波,其一格為 5mV;紅 色為輸出波,其一格為 50mV。改變其輸入波的頻率,我們發現頻率的改變並不 會影響輸出的振幅,因此可確保此級的頻率響應不造成任何的問題。  Ω10k 50 k Ω 圖2.11、模擬結果(水平軸為時間,垂直軸為電壓大小)  (5) 帶拒濾波器  為避免 60Hz  室內配電干擾可能造成的訊號失真問題,加入帶拒濾波器,讓 干擾降到最低。此級的功能為帶拒濾波器,圖 2.12 為模擬結果的波形圖,圖中 淺藍色為輸入訊號,而深藍色則為輸出訊
表 2.3、 帶 拒 濾 波 器 輸 入 輸 出 表   頻率  輸入振幅( V PP )  輸出振幅( V PP )  dB 值  10 20V  18.196V  -0.821  20 20V  14.335V  -2.892  30 20V  10.061V  -5.968  40 20V  5.905V  -10.596  50 20V  3.349V  -15.522  60 20V  5.227V  -11.656  70 20V  8.306V  -7.633  80 20V  10.921V
表 2.4、 藍 芽 無 線 通 訊 協 定 [33]
+7

參考文獻

相關文件

To convert a string containing floating-point digits to its floating-point value, use the static parseDouble method of the Double class..

In the development of data acquisition interface, matlab, a scientific computing software, was applied to acquire ECG data with real-time signal processing.. The developed

[23] Tiantong You, Hossam Hassanein and Chi-Hsiang Yeh, “PIDC - Towards an Ideal MAC Protocol for Multi-hop Wireless LANs,” Proceedings of the IEEE International Conference

This paper proposes a set of graph algorithm to improve the application of hill-climbing, Tested to speed up the program execution time is about 3.5 times speed up

The first stage is to accuse five illegal driving behaviors that include driving on freeway shoulder, without keeping safety spacing, illegal lane change, slowing vehicle driving

二、此研究可偵測出 misfire 產生的正確時間,而 misfire 對引擎所 產生的影響甚鉅,期望提供汽車工程相關的控制,如引擎的 損耗轉換成引擎剎車控制系統 (

[16] Goto, M., Muraoka, Y., “A real-time beat tracking system for audio signals,” In Proceedings of the International Computer Music Conference, Computer Music.. and Muraoka, Y.,

Measures of driver behavior and cognitive workload in a driving simulator and in real traffic environment - Experiences from two experimental studies in sweden, Poster