以雙核心處理器為基礎之即時嵌入式無線腦波訊號感測與處理系統及其在駕駛員瞌睡偵測之應用
80
0
0
全文
(2) 以雙核心處理器為基礎之即時嵌入式無線腦波訊號感測 與處理系統及其在駕駛員瞌睡偵測之應用 Development of Dual-Core-Processor based Real-Time Wireless Embedded Brain Signal Acquisition / Processing System and its Application on Driver’s Drowsiness Estimation 研 究 生:高 士 政 指導教授:林 進 燈 教授. Student:Shir-Cheng Gau Advisor:Prof. Chin-Teng Lin. 國立交通大學 電機與控制工程學系 碩 士 論 文. A Thesis Submitted to Institute of Electrical and Control Engineering College of Electrical Engineering and Computer Science National Chiao Tung University in partial Fulfillment of the Requirements for the Degree of Master in Electrical and Control Engineering July 2005 Hsinchu, Taiwan, Republic of China. 中華民國九十四年七月.
(3) 國. 立. 交. 通. 大. 學. 博碩士論文全文電子檔著作權授權書 (提供授權人裝訂於紙本論文書名頁之次頁用). 本授權書所授權之學位論文,為本人於國立交通大學 電機與控制 系所 _資訊智慧_組, 九十三 學年度第 二 學期取得碩士學位之論文。 論文題目:以雙核心處理器為基礎之即時嵌入式無線腦波訊號感測與處理系統 及其在駕駛員瞌睡偵測之應用. 指導教授:林進燈教授 ■ 同意 □不同意 本人茲將本著作,以非專屬、無償授權國立交通大學與台灣聯合大學系統圖 書館:基於推動讀者間「資源共享、互惠合作」之理念,與回饋社會與學術 研究之目的,國立交通大學及台灣聯合大學系統圖書館得不限地域、時間與 次數,以紙本、光碟或數位化等各種方法收錄、重製與利用;於著作權法合 理使用範圍內,讀者得進行線上檢索、閱覽、下載或列印。 論文全文上載網路公開之範圍及時間: 本校及台灣聯合大學系統區域網路. ■ 中華民國 年 月 日公開. 校外網際網路. ■ 中華民國 年 月 日公開. 授 權 人:高士政 親筆簽名:______________________ 中華民國 九十四 年 七 月 二十七. 日.
(4) 國. 立. 交. 通. 大. 學. 博碩士紙本論文著作權授權書 (提供授權人裝訂於全文電子檔授權書之次頁用). 本授權書所授權之學位論文,為本人於國立交通大學 電機與控制 系所 _資訊智慧_組, 九十三 學年度第 二 學期取得碩士學位之論文。 論文題目:以雙核心處理器為基礎之即時嵌入式無線腦波訊號感測與處理系統 及其在駕駛員瞌睡偵測之應用. 指導教授:林進燈教授 ■ 同意 本人茲將本著作,以非專屬、無償授權國立交通大學,基於推動讀者間「資 源共享、互惠合作」之理念,與回饋社會與學術研究之目的,國立交通大學 圖書館得以紙本收錄、重製與利用;於著作權法合理使用範圍內,讀者得進 行閱覽或列印。 本論文為本人向經濟部智慧局申請專利(未申請者本條款請不予理會)的附 件之一,申請文號為:____________________,請將論文延至____年____ 月____日再公開。. 授 權 人:高士政 親筆簽名:______________________ 中華民國 九十四 年 七. 月. 二十七 日.
(5) 國家圖書館博碩士論文電子檔案上網授權書 ID:GT00(9212544) 本授權書所授權之學位論文,為本人於國立交通大學 電機與控制 系所 _ 資訊智慧_組, 九十三 學年度第 二 學期取得碩士學位之論文。 論文題目:以雙核心處理器為基礎之即時嵌入式無線腦波訊號感測與處理系統 及其在駕駛員瞌睡偵測之應用. 指導教授:林進燈教授 茲同意將授權人擁有著作權之上列論文全文(含摘要) ,非專屬、無償授權國家 圖書館,不限地域、時間與次數,以微縮、光碟或其他各種數位化方式將上列 論文重製,並得將數位化之上列論文及論文電子檔以上載網路方式,提供讀者 基於個人非營利性質之線上檢索、閱覽、下載或列印。. ※ 讀者基於非營利性質之線上檢索、閱覽、下載或列印上列論文,應依著作權法相關規定辦理。. 授權人:高士政 親筆簽名:_______________ 民國 九十四 年 七 月 二十七 日 1. 本授權書請以黑筆撰寫,並列印二份,其中一份影印裝訂於附錄三之二(博碩士紙本 論文著作權授權書)之次頁﹔另一份於辦理離校時繳交給系所助理,由圖書館彙總寄 交國家圖書館。.
(6) 國立交通大學 論文口試委員會審定書 本校 電機與控制工程 學系碩士班 高士政 君 所提論文 以雙核心處理器為基礎之即時嵌入式無線腦波訊號感測 與處理系統及其在駕駛員瞌睡偵測之應用 Development of Dual-Core-Processor based Real-Time Wireless Embedded Brain Signal Acquisition / Processing System and its Application on Driver’s Drowsiness Estimation. 合於碩士資格標準、業經本委員會評審認可。. 口試委員:. 指導教授:. 教授. 系 主 任:. 教授. 中 華 民 國 九十四 年 七 月. 日.
(7) 以雙核心處理器為基礎之即時嵌入式無線腦波 訊號感測與處理系統及其在駕駛員 瞌睡偵測之應用 研究生:高. 士 政. 指導教授:林. 進. 燈. 教授. 國立交通大學電機與控制工程學系碩士班. 中文摘要 摘. 要. 以往多通道腦波量測記錄儀存在著面積龐大、使用不便以及攜帶不易等問題,且這 些系統大多只做到記錄部分,再 藉由電腦進行後續離線處理。本論文結合腦波訊號放大. 器、無線傳輸及嵌入式系統等技術,開發一套可攜式即時嵌入式無線腦波訊號感測與處 理系統以實際應用於日常生活當中。 本系統之開發流程分為三個階段,分別為「腦電位訊號量測與藍芽無線傳輸」、 「OMAP 嵌入式系統平台建構」、「腦波訊號處理之實現與應用」。首先是以藍芽協定做 為傳輸介面,並整合生理量測放大器電路,將所量測的腦電位訊號進行無線傳輸。其次, 以 OMAP 為發展平台,並於上開發一套適合用於雙核心架構處理器- OMAP 的即時嵌 入式作業系統來無線接收腦電位訊號。最後,本論文在此嵌入式系統中利用 DSP Gateway 機制將腦波分析演算法交由 ARM 和 DSP 分工處理,建構一駕駛員精神認知狀態系統, 以驗證其即時進行駕駛員精神認知狀態估測之能力。. 關鍵字:Embedded System,BlueTooth,OMAP,DSP Gateway,ARM,DSP 大腦人機介面(BCI),腦波訊號處理(BSP). ─i ─.
(8) Development of Dual-Core-Processor based Real-Time Wireless Embedded Brain Signal Acquisition / Processing System and its Application on Driver’s Drowsiness Estimation Student:. Shir-Cheng Gau. Advisor:. Prof. Chin-Teng Lin. Institute of Electrical and Control Engineering. 英文摘要 ABSTRACT In this thesis, a portable Real-Time Wireless Embedded Brain Signal Acquisition / Processing System is developed. It combines electroencephalogram signal amplifier technique, wireless transimission technique, and embedded real-time system. This system is convenient for people used in daily life. The developed strategy contain three parts: First, the bluetooth protocol is used as a transmission interface and integrated with the bio-signal amplifier to transmit the measured physiological signals wirelessly. Then, the OMAP is used as a development platform and an embedded operating system for OMAP is also designed. Finally, DSP Gateway is developed as the mechanism in the embedded system to deal with the brain- signal analyzing tasks shared by ARM and DSP. An driver’s cognitive-state estimation has been developed and implementation on the proposed dual-core-processor based real time wireless embedded system for demonstration.. KEYWORD:Embedded System, BlueTooth, ARM, DSP, Linux, DSP Gateway, Brain Computer Interface, Brain Signal Processing. ─ ii ─.
(9) 誌. 謝. 本論文的完成,首先要感謝我的指導教授林進燈博士在過去兩年研究期間提供豐富 的實驗資源、研究環境以及梁勝富博士從旁指導協助,讓學生能有高度的自主性決定自 我的研究方向。. 其次,我要感謝智慧型控制實驗室的全體成員,沒有他們也就沒有我個人的成就。 特別感謝已畢業的王耀聰學長和黃冠智學長給予我在各方面的指導,無論是研究上疑難 的解答、研究方法、寫作方式、經驗分享以及生活上壓力調適等惠我良多,很慶幸在研 究生涯上能遇到如此的學長。另外要感謝陳俞傑、董行偉以及李欣泓同學,在過去兩年 研究生活中同甘共苦,相互扶持。此外,也要感謝博班黃騰毅學長、陳玉潔學姊、吳瑞 成學長、趙文鴻學長在研究上的幫助以及生活中的開導,還有感謝謝弘義、蕭力碩、謝 宗哲和梅庭瑋學弟,在過去這一年中的相助。感謝實驗室助理們在事務上的幫忙。. 另外,感謝許多朋友的鼓勵,陳右穎博士、許駿飛博士、張嘉誠、林家輝學長,讓 我在研究路途上站穩腳步,還有感謝我的一些好友建丞、志彬,讓我的研究生活增添許 多色彩。. 最後,我最想感謝的是我的父親高慎重先生、母親潘淑嬌女士、姊姊高歆怡、女友 羅淑婷,由於他們長久的栽培和照顧,才有今天的我,在此我要說一聲,真的非常地謝 謝你們。還有我的親人,謝謝你們的鼓勵,謹在此將本論文獻給我的家人,共享這份榮 耀與喜悅。. ─ iii ─.
(10) 目. 錄. 中文摘要 .....................................................................................................................................i 英文摘要 ....................................................................................................................................ii 誌. 謝 .......................................................................................................................................iii. 目. 錄 .......................................................................................................................................iv. 圖目錄 .......................................................................................................................................vi 表目錄 .....................................................................................................................................viii 縮寫對照 ...................................................................................................................................ix 第一章 緒論 ..............................................................................................................................1 1.1 研究動機..........................................................................................................................1 1.2 研究背景..........................................................................................................................2 1.3 研究目標..........................................................................................................................3 1.4 研究方法..........................................................................................................................3 1.5 論文架構..........................................................................................................................4 第二章 腦電位訊號量測與藍芽無線傳輸 ..............................................................................5 2.1 腦電位訊號量測..............................................................................................................5 2.1.1 腦電位訊號簡介 ..............................................................................................5 2.1.2 腦電位訊號量測電路設計 ..............................................................................7 2.2 藍芽無線傳輸腦電位訊號之開發 ................................................................................11 2.2.1 藍芽無線傳輸簡介 ........................................................................................ 11 2.2.2 Master 與 Slave 連線建立程序 ......................................................................13 2.2.3 傳輸程式開發 .................................................................................................15 2.2.4 硬體裝置與實作 ............................................................................................20 第三章 OMAP 處理器軟硬體開發環境與系統設計...........................................................24 3.1 硬體開發環境................................................................................................................24 3.1.1 OMAP 處理器.................................................................................................24 3.1.2 Innovator Development Kit .............................................................................26 3.2 軟體開發環境................................................................................................................28 3.2.1 程式開發環境於 ARM 架構 ..........................................................................28. ─ iv ─.
(11) 3.2.2 程式開發環境於 DSP 架構............................................................................29 3.3.3 OMAP 內部溝通機制.....................................................................................31 3.3 嵌入式系統設計與軟硬體平台應用............................................................................34 3.3.1 以平台為基礎之嵌入式系統設計 ................................................................34 3.3.2 軟硬體平台應用 ............................................................................................35 3.3.4 網路傳輸串流資料 ........................................................................................38 第四章 嵌入式腦波訊號處理系統之設計 ............................................................................41 4.1 駕駛員精神狀態估測實驗設計....................................................................................41 4.1.1 實驗分析處理 ................................................................................................42 4.1.2 訊號之前處理 ................................................................................................43 4.1.3 線性回歸分析方法(Linear regression) ....................................................45 4.2 腦波訊號分析系統設計................................................................................................46 4.2.1 系統演算法架構設計 ....................................................................................46 4.2.2 系統演算法資料傳送機制 ............................................................................47 第五章 研究成果與討論 ........................................................................................................53 5.1 研究成果........................................................................................................................53 5.1.1 生理量測電路驗證測試 ................................................................................53 5.1.2 藍芽無線傳輸測試 ........................................................................................55 5.1.3 腦波訊號處理系統正確性測試 ....................................................................57 5.2 系統整合與討論............................................................................................................59 第六章 結論與未來展望 ........................................................................................................62 參考文獻 ..................................................................................................................................63. ─v─.
(12) 圖目錄 圖 1-1 論文章節關係圖.............................................................................................4 圖 2-1 10-20 系統電極擺設位置圖 .........................................................................6 圖 2-2 腦波量測電路方塊圖....................................................................................7 圖 2-3 前置放大器電路圖........................................................................................8 圖 2-4 高通濾波器電路圖........................................................................................9 圖 2-5 低通濾波器電路圖......................................................................................10 圖 2-6 增益放大器電路圖......................................................................................10 圖 2-7 藍芽網路單元說明圖.................................................................................. 11 圖 2-8 藍芽裝置干擾示意圖..................................................................................12 圖 2-9 Master 與 Slave 連線建立程序圖.............................................................15 圖 2-10 藍芽系統架構圖........................................................................................16 圖 2-11 HCI ACL Data Packet Format .....................................................16 圖 2-12 程式連線流程圖......................................................................................17 圖 2-13 L2CAP Profile.......................................................................................18 圖 2-14 藍芽程式流程圖......................................................................................19 圖 2-15 放大器電路實體圖..................................................................................20 圖 2-16 藍芽無線裝置實體圖..............................................................................20 圖 2-17 FPGA 程式流程圖...................................................................................22 圖 2-18 資料對照表示意圖..................................................................................23 圖 2-19 FPGA 模組外觀圖...................................................................................23 圖 2-20 FPGA 模組內部結構圖...........................................................................23 圖 3-1 OMAP 1510 微處理器架構圖 ...............................................................25 圖 3-2 Innovator Development Kit 外觀圖...........................................................27 圖 3-3 GCC 編譯流程圖.......................................................................................29 圖 3-4 CCS 程式發展設計流程 ...........................................................................30 圖 3-5 CCS 整合發展環境 ...................................................................................30 圖 3-6 DSP Gateway 系統架構圖 ........................................................................32 圖 3-7 ARM/DSP 內部傳輸說明圖 .....................................................................32 圖 3-8 Embedded Linux 系統設計流程圖 ..........................................................35 圖 3-9 Specification model....................................................................................36 圖 3-10 Architecture Model ..................................................................................37 圖 3-11 Data Stream、Data Source 與 Data Sink 間的關係圖............................38 圖 3-12 TCP/IP 網路連線流程圖.........................................................................40 圖 4-1 以虛擬實境產生的快速道路場景..............................................................42 圖 4-2 分析流程圖..................................................................................................43 圖 4-3 訊號之前處理..............................................................................................44 圖 4-4 資料處理狀態圖..........................................................................................47 圖 4-5 IPBUF 所有權的轉移 ...............................................................................48 圖 4-6 DSP gateway Mailbox................................................................................49 圖 4-7 資料傳送順序圖..........................................................................................50 圖 4-8 資料接收順序圖..........................................................................................51 圖 4-9 腦波訊號處理架構圖..................................................................................52. ─ vi ─.
(13) 圖 5-1 圖 5-2 圖 5-3 圖 5-4 圖 5-5 圖 5-6 圖 5-7 圖 5-8. 放大電路雜訊測試圖..................................................................................54 α 腦電波圖.................................................................................................54 眼動腦電波圖..............................................................................................55 藍芽裝置傳輸過程示意圖..........................................................................56 藍芽裝置接收過程示意圖..........................................................................56 訓練資料之估測..........................................................................................57 測試資料之估測..........................................................................................58 系統整合架構圖..........................................................................................59. ─ vii ─.
(14) 表目錄 表 2-1 腦波分類表....................................................................................................6 表 2-2 藍芽規格......................................................................................................13 表 3-1 輸入資料串流函示說明..............................................................................39 表 3-2 輸出資料串流函示說明..............................................................................39 表 4-1 ARM 和 DSP 工作分配表............................................................................47. ─viii─.
(15) 縮寫對照 縮寫. 原文. API. Application Program Interface. BCI. Brain-Computer Interface. BT. BlueTooth. CISC. Complex Instruction Set Computer. DSP. Digital Signal Processing. EEG. Electroencephaloram. FHSS. Frequency Hopping Spread Spectrum Communication. HCI. Host Control Interface. ISM. Industry Science and Medical band. LART. Linux Advanced Radio Terminal. LMP. Link Manager Protocal. L2CAP. Link Layer Control & Adaptation Protocol. MPU. Micro Processor Unit. OMAP. Open Multimedia Architecture Platform. QOS. Quality of Service. RISC. Reduce Instruction Set Computer. RTOS. Real Time Operation System. SDP. Service Discovery Protocol. STFFT. Short-Time Fast Fourier Transform. VR. Virtual Reality. ─ ix ─.
(16) 第一章 緒論 本論文主旨著重於嵌入式系統發展與腦波訊號處理應用的探討,開發整合腦電位訊 號擷取、無線傳輸、嵌入式即時系統之即時腦訊號處理系統,以下分就「研究動機」、 「研究背景」、「研究方法」及「相關研究」四部分加以說明。. 1.1 研究動機 隨著嵌入式系統多元的發展,訊號處理演算法不斷的更新。將嵌入式系統應用於人 腦與電腦介面(Brain Computer Interface, BCI)系統,已是不可檔的趨勢。所謂人腦與電腦 介面是利用腦部訊號,讓使用者可以直接與外界溝通。這項技術的基礎在於,當大腦活 動的時候,會產生特定的腦波變化,因此我們可以利用腦電波儀對腦波進行監測與辨 識,最後用來控制儀器或輸出訊號。傳統上的腦波儀器是利用工業電腦之類的大型主機 來作監測,將其腦波記錄後經過人工處理來分析其意義。現今軟硬體發展迅速,雖然大 型主機對於腦機介面的應用已不是個問題,但是大型主機,空間大且昂貴,為了縮小體 積,嵌入式系統的發展勢必是個趨勢,強調小與省電。透過精簡的腦電位訊號分析演算 法搭配強大的嵌入式運算處理器來讓腦機介面有即時紀錄、處理能力,亦是新的發展方 向。 對於即時腦波腦電位訊號處理應用而言,在腦電位訊號分析技術上,以及運算時序 的要求均相當嚴苛,這除了需要一個好的演算法與良好的計算程序外,硬體的處理器運 算能力亦是關鍵。一般常見的嵌入式系統的微處理器架構如 ARM、StrongARM、MIPS 等。雖然這些微處理器相當省電、運算能力不錯且支援多種作業系統,但還是不足以用 來處理大量的腦電位訊號。因此,有廠商引入了 DSP 處理器概念來提升嵌入式微處理 器的運算能力以滿足大量運算。有鑑於此,本論文也選擇此類具有 DSP 核心的嵌入式 微處理器應用於腦機介面系統中進行整合。 就傳輸方式而言,一般的腦波量測系統,其傳輸方式不外乎 ISA、RS-232、Print Port、 PCI 等匯流排介面,雖然提供了不同的傳輸速率,但卻有連接使用不便以及資源配置的 問題。為此,本論文將利用無線傳輸方式來解決,提供應用上的便利性。. ─1─.
(17) 1.2 研究背景 人類腦電位訊號分析研究起源於 Berger 等人在 1920 年代,他們提出人類的腦波是 由於大腦皮質下許多神經細胞後端的突觸電流所累積產生的,經過數十年的研究結果發 現[1-6],經由腦波的量測分析可以得知受測者的精神狀態是否清醒,然而這樣複雜的腦 波訊號卻少有研究可進行近似處理,直到最近幾年電腦運算速度越來越快,以及演算法 的精進,這才足以即時的去處理所量測到的腦波訊號,而人類精神狀態資訊之探討與應 用才逐漸受到重視。 腦電波的量測是透過電極置於頭皮上,將微弱的腦電波放大後輸出,此類腦機介 面,國內從事相關研究者有台灣大學詹國禎教授實驗室於 1997~1998 年的腦波機系統設 計[7-8],該實驗室利用串列通訊介面或紅外線傳輸腦電位訊號訊號,並發展圖控介面與 離線分析[9];交通大學羅佩禎教授實驗室於 2000 年的 32 通道腦波記錄儀設計製作 [10];台灣大學趙福杉教授實驗室於 2001 年的可攜式智慧型腦波記錄器[11],電源由電 池提供;中原大學蔡育秀教授實驗室於 2002 年的 USB 介面之模組化腦波記錄儀[12]; 台北科技大學李仁貴教授實驗室於 2003 年的研製無線化多通道腦波量測系統[13],這些腦 機介面大多是做到記錄部分,再藉由電腦作後續離線處理。本論文強調的除了前端腦波記. 錄外,並經過無線傳輸給後端嵌入式系統作即時處理,得到人類精神狀態資訊。 至於國外相關研究,雖然無類似功能的腦機介面,但透過人腦量測,再經過演算法 處理後去作應用的確有不少例子:Birbaumer et al, (2001)[14]等人發展的選英文字裝置; Ming Cheng et al , (2002)[15]等人實現以腦波控制電話按鈕裝置,並以打出電話與否來 決定成敗;Graze-BCI 實驗室發展的一系列虛擬鍵盤裝置[16-17],來讓癱瘓病人能夠打 字等等。 本實驗室最早採用以 StrongARM 為微處理器的嵌入式單板取代原來的電腦和 DSP 控制卡。有了 Linux 作業系統支援後,在許多資料整合上都能得到協助。但隨著演算法 複雜度的增加,其在運算處理速度上漸漸不合所需。目前採用德州儀器(TI)所發展出的 雙核心處理器 OMAP。它結合了 ARM 和 DSP 的優點。因此使得整個系統容易移植開發, 並且加上運算能力的長處。. ─2─.
(18) 1.3 研究目標 本論文研究目標是要實現『即時嵌入式藍芽無線傳輸腦波處理系統』,使用以 DSP Linux 為作業系統搭配 OMAP 嵌入式單板做為硬體發展平台來開發。其次,再整合腦波 量測裝置輔以藍芽協定無線傳輸,最後建立一個運算能力強,快速、可靠度、精確度高 的系統。. 1.4 研究方法 在研究的動機與背景皆明確之後,還需要訂定一個明確的研究方向,確認主軸。本 論文主要分為三個部分,分別為「腦電位訊號量測與藍芽無線傳輸裝置」、「OMAP 嵌 入式系統」、「腦訊號處理之實現與應用」。 z. 腦電位訊號量測與藍芽無線傳輸裝置:主要在說明腦電位訊號是如何產生?有 哪些類型?量測方式為何?以及放大腦電位訊號的電路如何設計等等。在傳輸 腦訊號上,採用藍芽無線方式來傳送。藍芽無線傳輸,主要是以藍芽協定做為 開發,並針對藍芽協定原理、HCI 開發設計、並整合前端腦量測放大器電路等 部分來做說明。. z. OMAP 嵌入式系統:在描述關於使用 OMAP 雙核心處理器以及介紹其軟硬體 發展平台。利用 DSP/BIOS 建立 ARM/DSP 之間的通訊基礎,再使用 DSP Gateway-ARM/DSP 通訊架構描述 ARM 與 DSP 兩顆處理器之間的流程分析及 設計方式。以及說明如何在系統上設計 JAVA 網路傳輸,以便將嵌入式單版與 其他電腦連接。. z. 腦波訊號處理的實現與應用:說明如何利用本研究所開發的即時嵌入式藍芽無 線傳輸腦波處理系統來進行駕駛者精神認知狀態之腦波分析,藉由腦波量測資 料之時頻分析,以及運用線性回歸的方法,估計受測者之精神認知狀態。. 關於三個研究主軸內容,本論文將分別於第二、三、四章中詳細說明。. ─3─.
(19) 1.5 論文架構 本論文共分為五個章節,第一章旨在說明本論文的動機、主軸、目標、研究背景及 相關研究的介紹。第二章則針對「腦電位訊號量測與藍芽無線傳輸裝置」加以介紹,第 三章則是發展 OMAP 嵌入式系統。於第四章將說明本論文所開發腦波分析系統的實驗 設計與實現方式,並且將系統做實際的測試討論。最後於第五章中,則是對本論文作一 個總結,展示腦波分析的結果,並且做整合性的探討,並對於系統給予總結。各章節之 間的關係,如圖 1-1 所示。. 2.1 腦電位訊號量 測 第二章 腦電位訊號量測與 藍芽無線傳輸. 4.1 駕駛員精神狀 態估測實驗設計 2.2 藍芽無線傳輸 腦電位訊號之開發 4.2 腦波訊號分析 系統設計. 3.3 嵌入式系統設 計與. 第三章 OMAP處理器軟硬體 開發環境與系統設 計. 3.2.3 DSP Gateway 架構 3.1 硬體開發環境. 3.2.1 程式開發於 ARM架構. 3.2 軟體開發環境. 3.2.2 程式開發於 DSP架構. 圖1-1 論文章節關係圖. ─4─. 第四章 嵌入式腦波訊號 處理之設計.
(20) 第二章 腦電位訊號量測與藍芽無線傳輸 本論文主要是完成一個即時腦機介面(Brain Computer Interface)系統。為此目的, 本章節將對此腦機介面分成二方面加以說明。首先,將介紹腦電位訊號的量測。說明腦 電位訊號(Electroencephalogram EEG)是如何產生?有哪些類型?量測方式為何?以及 放大腦電位訊號的電路設計等等。另一方面,在傳輸腦電位訊號上,為因應受測者量測 上方便的需求,採用無線方式來傳送。藍芽無線傳輸,主要是以藍芽協定做為開發,並 針對藍芽協定原理、HCI 開發設計、以及整合前端生理量測放大器電路等部分來做說明。. 2.1 腦電位訊號量測 在腦電位訊號量測部分,本論文是針對腦電位訊號來作說明。接下來的章節會說明 腦電位訊號的特徵、量測方式,以及此腦電位訊號放大器設計、實作、驗證等步驟。並 將此 EEG 訊號量出、以作後續腦機介面開發的應用。. 2.1.1 腦電位訊號簡介 大腦皮層有大量的神經元,這些神經元的活動有某種程度的規律性,因此置於頭皮 上的成對電極可用來記錄自大腦皮層上產生的電位變化,此電位變化是由有節奏的電訊 號(Electrical Rhythms)與暫態放電(Transient Discharge)所組成,這些變化波形就是所 謂的腦電位訊號,不同的 EEG 測量位置、頻率範圍、振幅大小、訊號波形、週期性和 產生方式可以區分不同的 EEG。 EEG 的紀錄有其困難所在,主要在於 EEG 的波形很微小,腦波訊號經過腦膜、腦 脊髓液、腦殼到達頭皮時,其振幅峰對峰值大約只有 1~100μV,頻率大約在 0.1~ 100HZ。其次,不同材質的電極與電極跟頭皮的接觸程度都會影響量測記錄的結果,實 驗操作時容易受到雜訊干擾。根據不同頻率範圍,大致上將 EEG 分為五類:. ─5─.
(21) 表 2-1 腦波分類表[18] 腦波. 頻帶範圍. 說明. γ波. 30Hz 以上. 無. β波. 13-30Hz. 平常活動(緊張及激怒時 25-30 赫). α波. 8-13 Hz. 放鬆的身心. θ波. 4-8. δ波. 4Hz 以下. Hz. 靜坐進入深度冥想 熟睡. 在臨床實驗上,EEG 訊號會依據電極擺設的位置而影響其振幅、相位與頻率。一般 最常用的架構是由 International Federation of EEG Societies 所建立的 10-20 EEG 電極擺 設系統[19]。如圖所示其位置是以枕骨突出部分和鼻樑為界線將頭部分成左右兩塊,再 以雙耳上緣為界將頭部分為前後兩塊。記錄方式基本上可分為單極式、平均式、與雙極 式。本論文是採用雙極式記錄。. 圖2-1 10-20 系統電極擺設位置圖. ─6─.
(22) 2.1.2 腦電位訊號量測電路設計 腦波量測電路方塊圖如圖 2-2 所示,先藉由電極將 EEG 訊號量出再作後續放大處 理。由於是採用雙極式量測,所以設計上先用儀表放大器將兩電極訊號相減再放大 50 倍。考量人體實驗時電流藉由頭皮逆流進入人體造成傷害,本研究在設計上加上隔離電 路來保護受測者。根據書上記載[18],人的腦波約在 100HZ 以下且大小約為幾十到一百 五十微伏(μV),是故設計上加入 1~100HZ 帶通濾波器,並透過增益放大器將訊號放大 至所要的電位大小。 在此量測電路的設計上,還要考量電源產生的 60HZ 雜訊對整個量測系統的干擾, 為此在電路加上帶拒濾波器來做為電源屏蔽措施。最後本電路可透過一顆八位元的 A/D 來將類比訊號轉換成數位訊號,讓後端微算器(FPGA)應用。因為 FPGA 採用 RS-232 通訊介面跟藍芽裝置作溝通,所以用八位元的 A/D 將可減少在傳送封包上程式開發的時 間。以下將針對各個電路方塊圖進行細部說明。. 腦部電極. FPGA. 儀表 放大器. 隔離電路. 帶拒 濾波器. A/D. 帶通 濾波器. 增益 放大器. 圖2-2 腦波量測電路方塊圖. 1. 前置放大器 前置放大器如圖 2-3 所示,為 AR1 之儀表放大器 AD620 為主體所構成,其增益設. ─7─.
(23) 計如公式(1)所示,第五腳為參考端,可利用 VR1 產生補償電位,用以調整輸出之漂 移電壓,使其歸為零。. 圖2-3 前置放大器電路圖. Av =. 49.5k Ω R1. (1). 2.隔離電路 隔離電路由訊號隔離器與電源隔離器所組成。訊號隔離器採用 ISO122JP,為光學 式隔離。電源隔離器採用 SB1R5-12-12D,為變壓器式隔離。. 3.帶通濾波器 在腦波圖擷取電路設計上,為降低隔離過後的準位差,由 AR2a 為主動式二階高通 濾波(如圖 2-4 所示) ,轉折頻率為 1HZ。其頻率設計由 C1、C2、R2 和 R3 所組成,如 公式(2). ─8─.
(24) 圖 2-4 高通濾波器電路圖. fH =. 1 2π R2 R3C1C2. (2). 其極點設計如公式(3). ( R4 + R5 ) = 1.52 R4. (3). 而 AR2b 為主動式二接低通濾波器(如圖 2-5 所示),轉折頻率為 20HZ。其頻率設計由. R7、R8、C3、C4 決定,如公式(4) fL =. 1 2π R7 R8C3C4. (4). 其極點設計如公式(5). ( R9 + R10 ) = 1.52 R9. (5). ─9─.
(25) 圖 2-5 低通濾波器電路圖. 4.增益放大器 如圖 2-6 所示 AR3B 為非反向放大器,其中 VR2 可調整增益如公式(6). Av =. ( R6 + VR2 ) R6. (6). 圖 2-6 增益放大器電路圖. ─ 10 ─.
(26) 2.2 藍芽無線傳輸腦電位訊號之開發 藍芽是一種保密性高、低功率、低成本和抗雜訊能力高的無線通訊技術,已被廣泛 討論與應用[20]。醫療設備無線化需要低干擾、抗雜訊能力高及保密性佳的無線通訊設 備,因為醫生及病人都不希望無線傳輸的過程會影響到正在使用的醫療設備。而藍芽符 合這些需要,本系統將藍芽技術運用在醫學上。接下來章節將對藍芽無線傳輸腦電位訊 號之開發作說明。. 2.2.1 藍芽無線傳輸簡介 所有藍芽裝置都可作為 Master 和 Slave,進行連接設定初始化與開始傳輸的一方稱. Master,反之接收 Master 所傳來的要求並傳送回應的一方稱 Slave。構成藍芽單元網路 ,當兩 的微網(Piconet)是由最多八個具有藍芽功能的電子裝置組成(如圖 2-11 所示) 個具有藍芽功能的電子裝置以無線通訊進行通聯時,一個 Piconet 即可形成。其中一個 藍芽裝置將決定這個 Piconet 通訊的頻道與參數,其被視為是該 Piconet 的 Master,另一 個藍芽裝置及後續加入此 Piconet 的藍芽裝置,則視為 Slave,一個 Master 最多可以連接. 7 個 Slave,一個 Slave 在同一時間則可以連接數個 Master,也就是同時加入數個 Piconet, 而同一 Piconet 中的藍芽裝置皆使用相同的頻道與通聯參數做資訊傳輸。. Scatternet Slave. Master Master. Slave. Piconet A. Slave. Slave. Piconet B. 圖 2-7 藍芽網路單元說明圖. ─ 11 ─.
(27) 每一個藍芽裝置可以是 Master 或 Slave 狀態,但同一時間只能擔任其中一種角色。 每一 Piconet 的 Master 在做資訊傳輸時會對網內的 Slave 發出訊號,在接收到由 Master 所發出的訊號之後,Slave 才會對 Master 發出訊號。依此順序,在同一 Piconet 內才不致 發生訊號傳輸阻塞的狀況。有些時候,一個區域可能會有幾個 Piconet 同時存在,這些. Piconet 則被稱之為疊網(Scatternet) 。依據藍芽設計,最多同時有八個 Piconet 可以同時 存在一個 Scatternet 中。 由於藍芽裝置一個 Master 最多可以連接 7 個 Slave,一個 Slave 在同一時間則可以 連接數個 Master,這在一般多媒體應用上是一大優點,但在傳輸腦電位訊號之開發上會 造成不小的困擾。如圖 2-8 所示,當兩個藍芽裝置在作通訊交握(Master 準備搜尋 Slave) 期間,若有其他具有藍芽傳輸功能的電子產品靠近時,Master 將會對每個 Slave 裝置採 取輪尋(polling)方式,一一詢問有否資料傳遞,增加傳輸時間上的浪費。對於這個問 題,採用的解決方法是讓 Master 與 Slave 各自主動去搜尋彼此的 ID 編號,這樣可確保 其他裝置不會被搜尋,進而縮短搜尋時間。. BT. BT. 7e 4a 03 b7. 7e 4a 03 d0. BT BlueTooth host. BlueTooth client. 圖 2-8 藍芽裝置干擾示意圖. ─ 12 ─.
(28) 藍芽的主要特色,如表 2-2 所示。. 表 2-2 藍芽規格 頻帶寬度. 2.400~2.497 GHz (ISM Band). 頻道寬度. 1 MHz. 傳輸協定方式. 展頻--跳頻. 跳頻頻率. 1600 次/秒 (625us/slot). 傳輸功率/距離. 1mW/10 公尺,100mW/100 公尺. 接收靈敏度. Bit Error Rate 0.1%@ -70dBm. 調變方式. Frequency Shift Keying (FSK). 最高訊號傳輸速度. 720Kbit/sec. 傳輸內容. 語音、數據. 傳輸方式. 對稱/非對稱、同步/非同步. 2.2.2 Master 與 Slave 連線建立程序 對一個 Master 藍芽裝置來說,當其連接超過兩個 Slave 裝置時,將會對每個 Slave 裝置採取輪尋(polling)方式,一一詢問有否資料傳遞。由於一次僅容許一個 Slave 裝 置接收資料,故當有兩個 Slave 裝置時,則要排班機制來輪流傳送封包給 Master。此時 為避免某些封包延遲時間過長,排程便非常重要。 藍芽裝置在不同環境中,有不同的工作狀態(Link Controller State) ,主要有三種狀. ─ 13 ─.
(29) 態,當與其他藍芽裝置互相連接時,稱連結狀態(Connection State),當不與其他藍芽 裝置互相通訊時(Interaction) ,稱為等待狀態(Standby State) 。藍芽元件剛啟動時,並 不知道周圍有哪些藍芽元件可以連線,必須先透過一詢問(Inquiry)的動作,收尋周圍 元件並獲取其資料。當它要與某元件建立連線時,再透過呼叫(Page)的動作與對方取 得聯繫。這種由等待狀態到連結狀態的過程稱中間狀態(Intermediate State)。 呼叫(Page)和查詢(Inquiry)的差別在於當Master不知周邊有否其他藍芽裝置(Slave) 時,必需以Inquiry狀態來得知周邊所有Slave的BD_ADDR位址和Native Clock時序,接著 才進到Page狀態與Slave互相通訊。其中Master和Slave在中間狀態的連線建立程序,如圖. 2-12所示。. 步驟 1~3:此時 Master 進入到查詢狀態,周遭的 Slave 進入 InquiryScan 狀態並會隨時 監聽來自 Master 發出的查詢訊號。. 步驟 4~5:此時 Slave 收到 Master 的 Inquiry 訊號,並進入到 Inquiry Response 狀態去 傳送 FHS 封包告知 Master 有關自己的 BD-ADDR 與時序。當查詢結束後,Master 會得 到 Slave 回應的 BD-ADDR 與時序。. 步驟 6~7:Master 從 FHS 封包得到 Slave 的 BD-ADDR 與時序後,會進入到 Page 狀態 與特定的 Slave 連結。. 步驟 8~10:此時 Slave 以處於 PageScan 狀態,當 Slave 收到呼叫訊息後進入 Page. Response 狀態,傳回 ID 封包作回應。. 步驟 10~13:當 Master 收到 ID 封包的回應後也進入 Master Response 狀態,再傳送一 個 FHS 封包到 Slave,此時 FHS 封包上的訊號有 Master 的時序,Master 的 BD-ADDR 等資訊,當 Slave 收到 FHS 封包上的資訊,傳回一個 ID 封包作回應,Master 和 Slave 間的連線建立完成。. ─ 14 ─.
(30) 圖 2-9 Master 與 Slave 連線建立程序圖. 2.2.3 傳輸程式開發 軟體系統也是基於圖 2-10 架構來作為開發依據。以 Host Control Interface(HCI) 來區分,HCI 以下稱為硬體部分,包括射頻、基頻及 Link Manager 等;HCI 以上稱為軟 體部分,包括 L2CAP 以及一些上層的 Protocol 所組成。其中,TCS、SDP、L2CAP 與. LMP、Baseband 間的介面是經由 HCI 下控制指令間接控制而成。藍芽架構各層的協定 是利用函示的呼叫與其傳回值作為介面開發。. HCI 介面是一個讓使用者可程式規劃 Micro processor 的一個介面,Micro processor 接收指令是透過封包的方式傳遞,並且以 UART 做為對藍芽晶片下指令的管道。透過. HCI 下指令給 Bluetooth 的 Host 端,如此,使用者就可以很快的上手,不用在去鑽研那. ─ 15 ─.
(31) 些 LMP 層的動作情形,而拖慢了研發的速度。使用者可以用自己最熟悉的語言去開發 藍芽科技的應用。在此,本論文以 C 及 VHDL 兩種語言撰寫 Host Driver,以配合不同 的 HOST 的使用需求,均達到控制藍芽裝置的目的。. PPP. WAP. TCP/IP. WAE. OBEX. Higher Layers ( SDP,TCS,RFCOMM ). HCI. Logical Link Control and Adapation Protocol (L2CAP). Link Manager Protocol (LMP). Baseband Radio 圖 2-10 藍芽系統架構圖. 兩個具備有藍芽裝置的電子設備,在溝通的時候,藍芽裝置首先要透過 HCI Driver,. HCI Firmware 對藍芽的硬體下指令,讓藍芽的硬體可以正確的執行使用者的動作,如: Inquiry, Reset, Connection…等等的指令,HCI 有三種資料格式:HCI Command Packet、 HCI Event Packet、HCI Data Packet。在進行腦電位生理訊號資料傳輸時,使用 ACL 資 料封包。格式如圖 2-11 所示。. 圖 2-11 HCI ACL Data Packet Format. ─ 16 ─.
(32) 在軟體開發的過程當中,為了能有效的讓上層 SDP 與下層的 L2CAP 分開發展。可 以採用 Bluetooth Module 配合軟體的開發,其好處是開發完成可直接連線使用,不需擔 心更改架構後的問題。然而,在開發過程當中每次測試都要經過進行硬體初始化的問 題,這會花費較多的時間,造成程式開發人員的困擾。另一種方法為利用模擬下層傳輸 的方式開發,可減少藍芽模組的使用以及節省測試上所耗費的時間,但缺點為硬體不一 定會像模擬結果般的完美,需要多作些額外的除錯動作。 另外,由於本論文目的是要開發一嵌入式 Linux 系統,是故必須將藍芽協定實現在. Linux 作業系統,最好的方式是整合到 Embedded Linux kernel 當中,只是在開發初期為 了除錯上的方便,將分為兩階段進行,先在 Linux 使用者模式下開發,最後完成之後將 所有的協定模組化,由作業系統核心來掛載。如此,作業系統的核心要越精簡越好,以 便讓嵌入式 Linux 系統與藍芽裝置整合在一起。嵌入式系統整合 Client 端的藍芽裝置, 其連線流程如圖 2-12 所示。. client 端程式開始. 初始化 Bluetooth 裝置. 詢問有否未連線 裝置. 否. 完成裝置搜尋。等 待使用者選擇進一 步連線。. 是 與其中之一建立連線. 圖 2-12 程式連線流程圖. 要想利用 HCI 開發軟體建立 Cliet 端的連線必須要透過 L2CAP 協議。L2CAP 對 Host 端藍芽裝置進行搜尋檢索後得到的 Host 端的位址(BD_ADDR)。L2CAP 接著到 Buffer. ─ 17 ─.
(33) 查看該位址的通道(CH)是否存在。如果存在通道而且没有設置標誌位,那麼 L2CAP 就進一步和 Host 端藍芽裝置的 L2CAP 建立邏輯連結(Logic link),方式是向低層的. HCI 發 送 L2CAP_Connect_Req 事 件 。 如 果 没 有 鍊 結 , 則 L2CAP 會 去 觸 發 LP_Connect_Req 事件而要求 HCI 創建一個鍊結。HCI 即可發出 HCI_Create_Connection 命令數據封包给 LMP。LMP 接着觸發命令狀態事件 Command Status ,這表示命令已 經收到,LMP 正執行 HCI_Create_Connection 命令指派的任務。這事件的操作是必需 的,這樣 Host 端才可以同時間做其他事情而無須等待到命令完成才動作。 接下來,收到連接請求的 LMP 會查看該連接的對應通道是否存在,以防止緩衝區 溢出或者因為其他原因導致 L2CAP 没有在缓衝區找到。如果通道存在,LMP 即向 HCI 觸發通道的 Connection Complete 事件。如果没有 Host 端藍芽裝置的通道, LMP 則會 發出 LMP_host_connection_req PDU(協議數據單元)給 Host 端裝置建立兩設備間的. LMP 通道。但在 LMP 通道建立之前,兩台藍芽設備之間將在 Baseband 建立物理連接通 道。上述說明如圖 2-13 所示。. 圖 2-13 L2CAP Profile 當 Client 端與 Host 端的藍芽裝置連線建立時,則要對封包的格式作一解碼動作, 確定現在是哪種協定,並依據解碼來呼叫 HCI 相關的函示。如圖 2-14 所示。. ─ 18 ─.
(34) Host Client 連線建立 傳輸開始. 將資料存入 buffer 若為完整的 HCI. 對 HCI packet 解碼. 解碼並呼叫對應的函數。 是 HCI Event Packet. 是 HCI ACL Data Packet. HCI_CommandCompleteEvent HCI_CommandStatusEvent HCI_InquiryResultEvent HCI_InquiruCompleteEvent. 將 Data Packet 進行. HCI_ConnecCompleteEvent. L2CAP PDU 重組。. HCI_ConnectionRequestEvent HCI_DisconnectionCompleteEven. L2CAP_ConnectReq. 對 L2CAP PDU 解碼. 是 L2CAP signaling. 是 Connection. 對 L2CAP signaling. L2CAP_ConnectRsp. command 解碼並呼. L2CAP_Config_Req. 叫對應的函數。. L2CAP_Config_Rsp L2CAP_Discon_Req. Oriented L2CAP. L2CAP_Discon_Rsp. PDU 對 L2CAP CO PDU 解碼. 解碼並呼叫對應的函數。 是 SDP PDU SDP_ErrorResponse SDP_ServiceSearchRequest SDP_ServiveSearchResponse. 返回. SDP_ServiceAttributeRequest SDP_ServiceAttributeResponse SDP_ServiceSearchAttributeRequest SDP_ServiceSearchAttributeRespon. 圖 2-14 藍芽程式流程圖. ─ 19 ─.
(35) 2.2.4 硬體裝置與實作. 圖 2-15 放大器電路實體圖. 圖 2-16 藍芽無線裝置實體圖. ─ 20 ─.
(36) 圖 2-15 為 2-1 節內容所提到的放大器電路,圖 2-16 為 2-2 節所提到的藍芽無線裝 置。本章節的重點,藍芽無線傳輸腦電位訊號量測電路即是利用這兩個硬體來完成,然 而光是只有這兩者是不足以完成這項目的。因為腦電位訊號量測經過 A/D 轉換之後成數 位訊號,但藍芽裝置溝通介面是 RS-232 或者 USB 介面等 PC 標準 I/O 格式,於是我們 還需要一個微控器來將量測放大器封包成標準 IO 介面能接收的格式,才能使這兩種裝 置能相互連結起來運作。 由於藍芽裝置的協定,我們是先用軟體開發完成之後,接著會用硬體模擬協定傳輸 去和 HCI 溝通方式運作。如此,在選微控器時,就要考量到是否可以配合硬體模擬傳輸 去控制藍芽裝置。基於上述兩點需求,我們選擇以 FPGA 來完成。簡單來說,我們只要 透過 FPGA 這個微控器將之前軟體開發完成的協定數據透過 RS-232 去告知 HCI 作哪些 事情,等連線建立之後,再將腦電位訊號的封包送出去傳輸即可。 為了利用藍芽無線模組傳送 A/D Converter 的資料到另一端的藍芽模組,因此必須 先做一連串交握(hand-shake)的動作,將彼此溝通的橋樑建立起來之後才開始進行資料傳 輸的動作,動作流程如圖 2-17 所示。由於在交握的過程中會需要多次的資料傳輸,為 了節省 FPGA 的硬體空間以及簡化程式的結構,我們建立如圖 2-18 所示的對照表,以 查表的方式來決定輸出值。我們所實現的模組外觀如圖 2-19 所示,模組內部結構如圖. 2-20 可以依功能區分為三塊:(1)RS-232 送收模組、(2)資料傳送模組以及(3)接收資料判 斷模組。. (1) RS-232 送收模組:由於我們是利用 RS-232 的方式與藍芽無線模組溝通,因此建 立這個模組來把並列訊號轉成 RS-232 串列訊號以及把 RS-232 串列訊號轉成並列訊號, 這個部份包括(1)鮑率產生器、(2)UART 傳送模組以及(3)UART 接收模組。. (2) 資料傳送模組:利用前述的查表法產生欲傳送給藍芽無線模組的資料,當系統 重置時,會啟動這個模組,開始做交握(hand-shake)的動作,當該封包(package)完整送出 後,該模組會進入閒置狀態,等待接收資料判斷模組收到正確無誤的回傳值後會再次驅 動這個模組,傳送下一個封包。此外,由於資料傳輸時間約 10 個鮑率時脈的長短,所 以我們以 12 個鮑率時脈的時間長短為一個 frame,以確保傳送資料的時間是夠用的。當 每一個 frame 的時間結束就傳送下一個值。. (3) 接收資料判斷模組:作交握(hand-shake)的動作時,除了傳值給藍芽無線模組. ─ 21 ─.
(37) 外,藍芽無線模組也會有回傳值送出,所以必須要等待正確的回傳值後才能再送下一筆 值,以確定 RS232 接收模組所收到的值正確無誤。. 圖 2-17 FPGA 程式流程圖. ─ 22 ─.
(38) 圖 2-18 資料對照表示意圖. 圖 2-19 FPGA 模組外觀圖. 圖 2-20 FPGA 模組內部結構圖. ─ 23 ─.
(39) 第三章 OMAP 處理器軟硬體開發環境與系統設計 本論文主要使用 OMAP1510 微處理器為發展嵌入式作業系統的核心,並搭配德州 儀器(Texas Instruments)的開發單板 Innovator Development Kit 為實驗平台。本章節將對. OMAP1510 微處理器系統做個探討,主要分成二方面加以說明。首先,將介紹 OMAP1510 微處理器的軟硬體架構進行規格介紹。說明硬體的設備有哪些可用,以及如何搭配軟 體,進而發展出一套軟硬體相容的系統。另一方面,在程式開發上,主要有 Linux 平台 下的跨平台環境(Cross Compiler)開發與 ARM 微處理器相容的應用程式。. 3.1 硬體開發環境 在硬體環境部分本節將介紹 OMAP 處理器與使用的平台 PSI Innovator; OMAP 為. Open Multimedia Architecture Platform 的縮寫,是一個有雙核心的微處理器,結合 TI-enhanced ARM925微處理器與TMS320C55x DSP 核心。PSI Innovator為TI OMAP 處 理器的手持式可展開的OMAP 開發平台。本小節將簡述OMAP處理器以及實驗平台的硬 體規格。. 3.1.1 OMAP 處理器 德州儀器公司(Texas Instruments,TI)近年來推出一項由 RISC 整合 DSP 的 SOC 嵌 入式系統微處理器:OMAP。其最大的特點在整合了 TI DSP 核心及 ARM 的 RISC 架構 和各種週邊控制器的設計,其應用定位於即時的多媒體影音資料處理、語音辨識系統、 網際網路通訊及無線通訊等訊號分析應用。TI 的 OMAP 1510 硬體結構圖,如圖 3-1 所 示。 從圖 3-1 上可知 OMAP 處理器除了包含 175MHz 的 ARM925 和 200MHz 的. TMS320c55x 外,還整合了多功能的周邊控制元件,例如 LCD 控制器、記憶體擴充介面、 紅外線介面、觸控式面版擴充介面及 USB 介面等。由於可以彈性的讓兩個處理器分工,. ─ 24 ─.
(40) 所以它具有高處理效能與較低的耗電量。藉由 ARM 與 DSP 存取相同的記憶體空間(含. SRAM 與其它記憶媒介)可以讓 OMAP 處理器中的 ARM 與 DSP 資料交互傳遞。. 圖 3-1 OMAP 1510 微處理器架構圖[21]. 以下就雙核心架構整合TI TMS320C55x DSP核心和TI925T ARM 核心這兩項不同 的技術來作說明。. 1.. TMS320C55x DSP Core:. C55x DSP內含5組數據匯流排,在一個周期內允許三次讀取作業和兩次寫入作業。算術 邏輯單元有兩組,一為40-bit 另一為16-bit。綜上所述,C55x DSP是高效能,低耗電的 處理器,專為多媒體的即時應用而設計。 DSP 多用於處理多媒體應用。以下介紹. TMS320C55x規格: . 可達 200MHz(最大處理頻率),且電壓在 1.5v(一般情況). ─ 25 ─.
(41) . 一個 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 等硬 體加速器. 2.. TI925T ARM9TDMI Core: TI925T 是一顆使用精簡指令集(RISC)的32-bit 處理器,也支援16位元(Thumb模式). 指令集,它的核心使用管線(pipeline)的機制讓指令可以連續執行。ARM925用於執行作 業系統(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. . 處理器內部有自己的記憶體管理單元. 3.1.2 Innovator Development Kit Innovator Development Kit 是 TI 為 OMAP 推出的可展開之手持式開發平台,如圖 3-2 所示, Innovator Development Kit 是很有彈性的發展與展示平台,不但支援所有主 要無線標準,並能協助使用者在常用作業系統下開發各種應用。界面模組包含多項獨特 界面功能,可以讓廠商對發展套件進行客製設定;另外還有可選用擴充模組,它們會支 援 GSM/GPRS、802.11b 和藍芽,一張附加電路板(breakout board)則包含其它外部硬 體和一組 10Mb 乙太網路連線。OMAP1510 處理器內含 TI 功能強大的 DSP 核心,應用. ─ 26 ─.
(42) 軟體設計工程師只需透過 Innovator Development Kit 電路基板的協助,就能利用高階作 業系統發展工具,獲得 DSP 所提供的媒體處理加強功能。. 圖 3-2 Innovator Development Kit 外觀圖. 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 螢幕,及四個控制按鈕,Daul RS232 的埠. ─ 27 ─.
(43) 3.2 軟體開發環境 在前面將 OMAP 微處理器硬體和環境選擇簡單的說明之後,接下來要進入軟體應 用的開發環境部分。因為 OMAP 是由 ARM 和 DSP 兩種架構所組成的, 在本節將會針對 ARM 和 DSP 的程式開發環境做個說明。. 3.2.1 程式開發環境於 ARM 架構 自從1991 年Linux 由Linux Torvalds 將第一版Linux 公開在網路上後,這套作業系 統已經受到世界普遍的歡迎[22]。現在的Linux 支援相當多的處理器核心,由高階的伺 服器、工作站,到常見的個電腦中都有它的蹤跡,甚至是一些手持式裝置例如手機、PDA 等一些現代人常用的嵌入式系統上都看得到Linux 的存在。 所謂的嵌入式系統指的就是為了提高產品的穩定性、可攜性,或者是降低產品成 本、增加特定功能等不同的目的,對一般的標準系統進行修改以符合特殊設計上的需 求。在硬體方面靠的主要就是被稱為系統單晶片(SOC - System On a Chip)的半導體整 合技術,而嵌入式作業系統則是軟體方面的技術核心。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 廣為流傳散佈的主要原因[23]。儘 管 GCC 是自由軟體計畫開發出來的,但其所編譯出來的程式品質並不輸給商業版的編 譯器,甚至所編譯出來程式在特定平台有更好的執行效能。. ─ 28 ─.
(44) 嵌入式系統開發也需要用到編譯器(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) 圖 3-3 GCC 編譯流程圖. 3.2.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 應用程式。. ─ 29 ─.
(45) 圖 3-4 為 CCS 開發 DSP 程式流程。在設計程式前,先有個設計概念,再開始建立 專案來編寫程式碼,編寫過程中如遇到錯誤時需要除錯時,CCS 可以用來對程式編碼做 除錯以及即時的分析,甚至整個程式執行過程都可以追蹤。. 圖 3-4 CCS 程式發展設計流程[23]. 利用 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 的多執行緖能力。. 圖 3-5 CCS 整合發展環境[23]. ─ 30 ─.
(46) DSP/BIOS 主要被設計出來針對某些應用層面,其中包含:即時排程( Real – Time scheduling )、同步( Synchronization ),以及 HOST 和 TARGET 之間的通訊(如圖 3-5 所 示)。DSP/BIOS 核心提供了(1)強制性的多執行緒(Preemptive Multi-Thread),也就是在. DSP 中有許多 Task 時,優先權高的工作可以將優先權低的工作中斷,並搶得執行權。 (2)硬體抽象化(Hardware Abstraction),即完全由硬體抽象層控制系統的硬體中斷。使用 者可以利用硬體抽象層給予的硬體描述來控制硬體,(3)即時分析(Real-Time Analysis)的 功能。除此之外,DSP/BIOS Configuration 工具可將程式的大小作最佳化處理。圖中表 示了 DSP/BIOS 在 CCS 上所扮演的角色。. 3.3.3 OMAP 內部溝通機制 OMAP 雖然是一個雙核心元件,但一般 ARM 的開發者有時候並不需要 DSP 核心。 他們可能希望 OMAP 開發環境仍然和單核心處理器時相同。換句話說,當只需要 ARM 獨立運作時,DSP 部分可以暫時先抽離出來不用。於是,為了使元件中 DSP 的存在變 得透明,TI 引入了 DSP Gateway 的概念。DSP Gateway 讓 ARM 和 DSP 建立連結,可 將 DSP Gateway 看作同時存在於兩個核心中的軟體層。DSP Gateway 主要用來向 ARM 上執行的多媒體引擎導出一組 API,以便其存取 DSP 資源。在 DSP 端,DSP Gateway 用於管理 DSP 資源和數據流,並向 DSP 演算法提供介面。有鑑於此,我們將在 ARM 的架構上建立一個 Linux 作業系統,同時又有 DSP 的運算能力。 圖3-6表示DSP Gateway架構的關係圖。從圖中看出DSP Gateway 包含兩部份,ARM 上所執行的Linux 裝置驅動程式與DSP 上的函式庫,靠著這兩者合作完成通訊的功能。. Linux 裝置驅動程式提供介面讓ARM 上的程式可以以system call呼叫使用DSP。DSP 的函式庫提供函式讓DSP task 可以被ARM 透過驅動程式使用。DSP Driver與Linux APIs 是ARM環境下提供與DSP溝通操作方式的介面。DSP Gateway BIOS與DSP APIs,主要是 與DSP溝通和DSP系統管理機制有關。. ─ 31 ─.
(47) 圖 3-6 DSP Gateway 系統架構圖[24]. DSP Gateway 中ARM 與DSP 處理器之間的溝通是靠著OMAP1510 中mailbox 機 制完成。OMAP1510 中有三組Mailbox 暫存器,一組是給ARM 用,當ARM 有資料寫 入Mailbox 時,會送出中斷(INT5)給DSP;其他兩組則是當DSP 有資料寫進時,才會送 出中斷(IRQ10/11)給ARM。在DSP Gateway 中只使用一組DSP 用的Mailbox。每一組. Mailbox 是包含兩個16位元暫存器與一個1位元旗標暫存器。當中斷發生時,中斷的處 理器會用兩個16位元的暫存器各自將命令與資料傳到被中斷的處理器上。. 圖 3-7 ARM/DSP 內部傳輸說明圖. ─ 32 ─.
(48) 圖3-7表示,Mailbox和IPBUF在ARM和DSP之間的關係。其流程為ARM端使用者開 發的程式要將資料交給DSP task處理時,也要將資料傳給DSP端。傳送過程中,一開始 要傳送Mailbox command和data的BID資訊給DSP,同時將要傳送的資料寫入IPBUF,此 時在傳送的data資訊中將知道IPBUF的BID,並且和命令一起傳送給DSP task,如此DSP. task便會知道要去取那一個BID的資料來進行處理。 在 OMAP 處理器中的 ARM 與 DSP 資料交互傳遞的方法除了透過 Mailbox 外還可 利用 MPU Interface(MPUI)與 Share Memory 達成。MPUI 可以讓 ARM 和系統的 DMA 控制器與 DSP 和 DSP 的週邊互相通訊。MPUI 可以存取整個 DSP 的記憶體空間與. DSP 的週邊匯流排。因此 ARM 與系統的 DMA 可以有 DSP 輸出入空間的完整存取權 限。至於透過 Share Memory 這樣的架構則是靠 OMAP 上的 Traffic Controller 達成,藉 由 ARM 與 DSP 存取相同的記憶體空間。ARM 可以控制 DSP 的 MMU 讓 DSP 可以 存取這些記憶媒介。. ─ 33 ─.
(49) 3.3 嵌入式系統設計與軟硬體平台應用 在之前的章節,已經詳細的介紹軟硬體平台的開發環境、內部通訊架構、與說明為 何選擇這樣的軟硬體架構。接下來就要利用這些概念,設計出我們的系統。首先,我們 會介紹所使用的抽象設計方法設計系統,這樣的目的是為了降低發展的複雜度,並會以. platform-based design(以平台為基礎之設計)的設計方法與簡單流程講解此系統。再來, 會說明此嵌入式系統如何即時無線接收串流資料;經演算法運算處理後,如何透過 Java. Server 應用的建立,傳給其他裝置去作後續處理。. 3.3.1 以平台為基礎之嵌入式系統設計 Plateform-Based Design 亦即以現成的軟硬體平台為基礎的嵌入式系統設計方法,目 前有相當多的平台能與 Embedded Linux 搭配使用,如工業上的單版電腦與所謂的 SOC 解決方案(如 ARM 系列處理器所設計的實驗版) ,本論文軟硬體的選擇如前面章節所介 紹的,是以 OMAP 為硬體平台來發展。圖 3-8 為 Embedded Linux 系統設計流程。圖中 每個方塊都代表一個設計過程,一般的設計流程只包含三個設計過程: z. Specification Model:規格模型的設計,如系統需求評估、功能描述、軟硬體規 格、平台選擇等等稱之。. z. Architecture Model:模型架構的設計,如通訊架構、匯流排、輸出入介面等等稱 之。. z. Implementation:系統實作。. 然而本嵌入式系統加上優良化的觀念。首先,根據需求、設計要求等等考量來建立. specification model,然後在利用其他分析方法(analysis model)來將 specification model 轉 換成 architecture model,亦即優良化後的模型會較之前來的具體。. ─ 34 ─.
(50) Specification Model. N. Refine Model. Analysis Model. Y. Architecture Model. Implementation 圖 3-8 Embedded Linux 系統設計流程圖 在優良化的過程當中,我們考慮到加入 real-time 的模型作為 Analysis Model,以期 望系統達到時序要求。這對於嵌入式系統來說相當重要。由於作業系統是抽象層次很高 的觀念,因此 Embedded Linux 若採用 Platform-based design 之策略,整個系統的設計將 會單純許多,並且計算模型也會較少。. 3.3.2 軟硬體平台應用 本節將利用上述的設計理論實際運用,發展一項 Java Server 應用在此軟硬體平台 上,同時也希望藉由此應用整合幾項技術: z. 使用 OMAP 處理器為核心與 Innovator Development Kit 為實驗平台。. z. 使用 DSP Gateway 來為 Arm 與 DSP 間的溝通. z. 配合 DSPLinux 作系統整合。其中,DSPLinux 是以 ARMLinux 為本體,再加 上 OMAP 架構和 DSP 核心架構來作修正而成。. z. Embedded Linux (DSPLinux)+Java 技術+Bluetooth 技術的應用. ─ 35 ─.
(51) Application Software Platform. System Libraries. Linux kernel. Hardware Platform (OMAP). Bluetooth (Client). 圖 3-9 Specification model 接下來,我們會將重點放在整個系統應用上,對於細節只作補充說明。圖 3-9 所示 為 Specification Model 過程中的系統規格,描述軟體平台與硬體平台之間的溝通系統規 格,空心箭號為訊息傳送方向。軟體平台包含作業系統核心、系統函示庫與應用等;硬 體平台包含 OMAP 處理器為核心、Innovator Development Kit 實驗板與藍芽裝置。 圖 3-10 Architecture Model 是 Specification model 經過優良化後的結果,明顯看出在 架構與通訊上作了明確的說明。架構優良化的重點在系統實作表達的分析,如不同系統 層間的關係、系統層理模組得分割與配置、模組間的介面、CPU 或記憶體使用的評估等; 通訊優良化指的是各個軟體元件間的溝通方式,如協定或匯流排等。. ─ 36 ─.
(52) Byte code. Software. JVM. Java App. (Native). Application Utilities. posix. Platform. thread. TCP/IP. System NFS. (Linux). Libraries Linux kernel. System call Interface OS. Bus Driver Flash Mem Bus Driver Ethernet Driver PCI BUS. Hardware Platform (OMAP) UART1. UART2. Ethernet. Bluetooth (Client) 圖 3-10 Architecture Model. 至於為何會這樣設計系統規格?主要是由需求而來。本論文的重點在建立一嵌入式 系統,如何即時無線接收串流資料?演算法運算如何處理?是否會有效能上的浪費?如 何透過 Java Server 應用的建立,傳給其他裝置去作後續動作?這些都是我們的系統需 求。因為要無線接收,所以得在硬體平台外接藍芽裝置,是故需要標準 I/O 介面來控制 藍芽裝置,這裡選擇 UART。因為有演算法在處理 EEG 訊號,所以需要 DSP Gateway 機制來讓 ARM 與 DSP 分工運作節省效率,這裡 ARM 專司接送資料,會用到 System Call. Interface;DSP 處理資料,會用到 POSIX 介面。因為要將結果能透過網路傳送出去給其 他裝置作後續處理,以及 JAVA 有跨平台的優勢,因此選擇來開發網路傳輸。接下來的 一小節將用來說明,如何透過 JAVA 來網路傳送串流資料。這可以和 OMAP 演算法算 出來的結果相結合,亦即可以透過此項技術來網路傳輸演算法結果給其他周邊電腦去使 用。. ─ 37 ─.
(53) 3.3.4 網路傳輸串流資料 Stream 是串流的意思,Data Stream 可翻譯成資料串流,亦即是抽象的描述資料在 資料來源端(Data Source)與資料目的端(Data Sink)之間流動的概念。資料的傳輸是具方向 性的,因此 Data Stream 也會有不同的來源端(Data Source)與目的端(Data Sink)。. Data Source Stream 又稱為 Input stream 或 Reader,用途是初始資料流。Data Source Sink 又稱為 Output stream 或 Writer,作用為接收資料流。Java 支援二種 Stream 資料型 態分別是 byte 與 character。當傳輸的資料是 Byte 時,使用 Input stream 類別與 Output. stream 類別;傳輸的資料若為 Character,則用 Reader 類別與 Writer 類別。. 圖 3-11 Data Stream、Data Source 與 Data Sink 間的關係圖. Input Stream 與 Output Stream 是用來輸入與輸出 byte 資料串列,Input Stream 的輸 入可以是 File、String、bytes array、pipe、internet 與其他的 stream;Output Stream 的輸 出則包括 File、bytes array、pipe。InputStream 類別與 OutputStream 類別分別繼承自 Object。. InputStream 以 read()方法讀取單一 byte 資料或一連串 bytes(a bytes array)資料,如表 3-1 所列。read()方法的傳回值若為-1,表示已到檔尾。利用 read()方法可讀取 InputStream 物件的資料,但是 InputStream 物件無法做寫入的動作。. ─ 38 ─.
(54) 表 3-1 輸入資料串流函示說明 方法名稱. read(). 傳回值. int. 說明 從 InputStream 物件中讀取一個 byte,並傳回下一組位元組資 料。. static. 將從 InputStream 物件中讀取某些數量的資料填到 b 中,並傳. File. 回已經讀取的位元組數目。. read(byte[] b, int. static. 在 InputStream 物件中從 off 位置開始讀取 len 個位元組資料. off, int len). File. 並填入到 b 中,再傳回已經讀取的位元組數目。. read(byte[] b). OutputStream 以 write()方法寫入單一 byte 資料或一連串 bytes(a bytes array)的資料, 如表 3-2 所列。利用 write()方法可寫入 OurputStream 物件的資料,但 OutputStream 物件 無法做讀取的動作。 表 3-2 輸出資料串流函示說明 方法名稱. write(byte[ ] b). 傳回值. 說明. void. 將 b 中所有的資料寫入。. void. 將 b 中 off 位置開始的 len 個位元組的資料寫入。. void. 寫入一個指定的 byte(也就是 b 的位元組資料)。. write(byte[ ] b, int off, int len) write(int b). ─ 39 ─.
(55) 接下來說明如後透過通訊協定,讓 OMAP 與遠端電腦來作溝通,本論文是應用於 將 OMAP 所開發的演算結果,透過網路傳送給遠端電腦去作展示,未來可以利用這樣 的模式,將遠端電腦展示替換成為本實驗室虛擬實境場景當中。 通訊協定的種類有很多種方式,最常見的是以 TCP /IP 和 HTTP 兩種協定,HTTP 是建構在 TCP/IP 協定之上,是瀏覽器主要支援的通訊協定,在 TCP/IP 協定下網路中的 每一台電腦都有一個主機位置,例如:192.168.0.1 除此之外,如要進一步通訊傳輸的話,還得替主機開啟一個連線插座(socket)。當 A 電腦與 B 電腦之間要通訊時,雙方必須各開一個 SOCKET 來通訊,猶如家中電話或電 源插座。 實際上的方式為當 A 電腦在主機上的 6633 建立一個連線接口,則 B 電腦就要透過. 6633 接口連線傳輸,所謂接口就是 Socket 在主機上的明確位置。當 Socket 建立完成後, 接下來就能透過 Socket 這 I/O 管道來傳輸資料。接著 B 電腦可將輸出串流資料寫到指定 的連線主機接口,A 電腦可自指定的接口將連線主機的資料讀回。連線流程如圖 3-12 所示。. Server socket() bind() Client. listen(). socket(). accept(). connect() write(). read(). read(). write() 圖 3-12 TCP/IP 網路連線流程圖. ─ 40 ─.
數據
+3
相關文件
SPCE061A 的開發是通過線上調試器 PROBE 實現的。它既
2.核對該場地懸掛之評鑑合格崗位 數證明文件,如發現場地、崗位 數或崗位配置不符時,應立即反
當長者於午休時躺在床上,將三軸感測器設於長者腰 間,並在床的附近放置 IP Camera 以便在長者起床時 可拍攝到臉;當長者在午休時未告知護理人員情況下
§§§§ 應用於小測 應用於小測 應用於小測 應用於小測、 、 、統測 、 統測 統測、 統測 、 、考試 、 考試 考試
Hanning Window 可用來緩和輸入訊號兩端之振幅,以便使得訊號呈現 週期函數的形式。Hanning Window
首先考慮針對 14m 長之單樁的檢測反應。如圖 3.14 所示為其速 度反應歷時曲線。將其訊號以快速傅立葉轉換送至頻率域再將如圖
本計畫會使用到 Basic Stamp 2 當作智慧型資源分類統的核心控制單元,以 BOE-BOT 面板接收感測元件的訊號傳送給 Basic Stamp 2 判斷感測資料,再由
針對 WPAN 802.15.3 系統之適應性柵狀碼調變/解調,我們以此 DSP/FPGA 硬體實現與模擬測試平台進行效能模擬、以及硬體電路設計、實現與測試,其測 試平台如圖 5.1、圖