Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 2691|回復: 0
打印 上一主題 下一主題

[市場探討] 無須撰寫程式碼 輕鬆將觸控與近距感測功能整合至嵌入式系統

[複製鏈接]
跳轉到指定樓層
1#
發表於 2008-2-20 12:30:25 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
無須撰寫程式碼 輕鬆將觸控與近距感測功能整合至嵌入式系統; o- k' [9 ~# I9 T. a2 X3 `
作者:Mark Lee/賽普拉斯半導體
" y+ b0 Q* O/ ^5 G' g: q6 d" G# } # Y  ^7 E' e7 {1 g1 l0 V! ?# {) u
介紹
( t0 i& R0 _: d5 r電容感測操作介面在近年來發展成一項實際且創新的技術,在許多種類的消費性產品中取代按鈕開關,例如:在平滑表面的發光區域,或是偵測手指靠近的元件,都能取代機械按鈕開關。
1 @) q# ^9 d( R & e' z( N/ C( y6 r7 |( D
電容感測模組讓業者輕易在系統中加入觸控或近接感測介面,因為它不需要撰寫程式碼也不必進行除錯,僅須把現成的模組加入系統即可。感測器模組所執行的功能都是固定的,缺乏調整彈性,可能因此限制了產品擴充功能的空間。業者需要彈性較高的解決方案,因為常常需要在最後一刻在產品中加入新功能,以提高競爭優勢。  
# ?+ w# g8 d) N  Y/ H# V  i) n3 m3 u# h4 p* B" l# Q! Z7 T
本文介紹如何把電容感測功能整合到一個簡單的嵌入型系統,過程中連一行程式碼都不必撰寫。免撰寫程式碼的模式,發揮現成模組的便利性,以及結合含有大量程式碼嵌入型控制器的彈性。完整的設計流程,涵蓋實際產品從設計理念,一直到開發出可運作原型產品等階段。
' Q1 S/ s/ q* t9 V
) C( g" a5 u9 ?" g7 [免撰寫程式碼的系統設計模式,採用Cypress提供的PSoC Express軟體以及FirstTouch評估套件。設計新產品的創意人員,不必再浪費無數心力來開發可運作的原型產品。若您能畫出系統的模塊圖表,就能利用PSoC Express的圖形化介面開發出實際產品。即使是 PSoC Express的新手,也能在數小時內完成整個設計流程,可降低開發時間與專案成本。 - Q$ G; a: L  B5 Q6 }; s/ u" E
2 S( ]6 M0 u0 C2 y/ p/ |
打造更好的捕鼠器
" }5 o( ]. i, b  i5 n, E4 w最經典的發明目標就是打造更好的捕鼠器。下面討論的設計例子很接近最後的結果。我們要設計一個嵌入型系統,在設計例子中結合電子產業的兩項趨勢: 電容感測與數位照相。我們用的例子是一個智慧型近接感測器,用來啟動一個數位攝影機。這種系統稱為 "相機陷阱"。在近幾年來,這些攝影機一直是科學新聞的頭條。許多野生動物研究人士利用相機陷阱來證明許多一度被認為絕種的動物仍在野外生存,像是亞歷桑那州的美洲豹。在像是波羅州濃密森林這類荒郊野外,科學家還利用這類攝影機發現許多新物種。現有的攝影機陷阱技術似乎相當完善。我們何必要發明新的科技? 以下扼要地比較新舊技術之間的差異,並闡述新技術如何打造出更好的陷阱。
- \2 L0 J) `$ b4 u1 x7 K9 t  Y; V0 ]% q/ s. p( h1 N9 r; z9 u# m
舊技術: 採用PIR動態感測器。在四週溫度較高的環境,在目標區域內的動物會消失在背景環境中。反射的陽光會產生偵測錯誤的狀況。笨重的硬體設備,須妥善隱藏以躲過動物的目光,並防範各種破壞因素,視線中出現任何物體,就會讓觸發裝置失效。使用者很難透過更換鏡頭的方式來調整觸發區域。 2 m/ `) A9 F% L  @7 @* B
( w& l2 k$ l- m1 r0 d# L
新技術: 以電容式近接感測器為基礎,使用一條線路作為近接感測器。隱密性高的線可綁在樹枝、岩石、或山泉水的洞口。只需一把剪線鉗就能輕易調整觸發區域。在光亮的陽光和星光的夜間,功能完全不變。背景環境的熱溫不會產生任何影響。近接感測器會定期喚醒啟動,且只有當動物出現在目標區時才會啟動攝影機,以節省電池的電力。
% w4 ~2 _! W* {& x. Q' e4 T  U% [$ ^; o, d
比較兩種設置攝影機陷阱的方式,用電容感測技術設置攝影機陷阱,在某些情況下,勝過現有的設置方法。新方法在野生動物研究的領域,可找到市場利基。
5 j4 A# f9 u+ F& g* f0 j
. T1 c& Z4 l) v設計流程簡介
0 v, F; X( g& v; Q. `' y- ^% ^0 z免撰寫程式的設計流程有六個步驟
* F2 c  T- b$ ^1. 以文字描述系統 7 _) n: A7 `1 |0 o1 d
2. 描繪系統模塊圖表 , V" `) g! i! T% v! x. ~
3. 定義狀態機器、轉換函式、以及真值表   t5 y. A/ r6 K( I/ p: |9 E
4. 執行系統模擬
0 v$ d, Q1 p: T/ v1 x5. 測試實際系統 4 s7 \/ D) \4 d, w) {
6. 微調CapSense
7 `3 Q/ l# X2 @) h% L) `  P( f% F) n3 L
步驟1. 以文字描述系統
1 ]/ A3 ^, r$ m8 ^0 ~我們從上到下觀察設計流程。這意謂著以文字定義系統運作的程序,然後再視需求加入技術細節。以下是一段對系統的非技術性簡短描述。
' o; }& T" C. A& _. \, e/ ?5 O% c. z8 u, H
系統會持續監視任何動物。當偵測到動物時,攝影機會啟動並拍攝。在沒有偵測到動物時,攝影機就會關閉。為了避免拍攝到超出攝影機陷阱設定範圍以外的內容,當系統關閉時,偵測系統會解除警戒一段時間。
; p# G$ V" u/ F* F( M- @+ z5 n6 I8 w! M( z5 A; X- m1 j
這些描述是一個很好的起點,但在開始使用PSoC Express之前,還需更詳細的描述。以下是系統運作的技術描述:
" D. @3 x4 M- U6 A
0 ]6 V- F* i0 ]) x# {' L- H' w. k8 A1. 設定攝影機 ; t( H( F% ?( k# ^& g/ T; H  h
2. 隱藏目標區的線路。例如:把線連結到樹枝或將絕緣線應融入環境之中。
5 v) Z* X; D: r( w8 v1 d& E3. 把感測器的線路與攝影機控制線連結到控制器機板。
6 ^+ D% P3 w5 j8 m" W. ~4. 打開控制器機板的電源
5 j9 B# |: U; {% S" u, A5. 紅色LED閃爍30秒,讓研究人員有時間可以從系統前走開,避免觸發照相功能。在這段時間,攝影機的觸發器會關閉,攝影機也關閉。 7 ?. i/ x5 v9 g3 S# m0 m
6. 紅色LED停止閃爍,並維持關閉狀態 & ^$ }- X! H: f3 `, N
7. 攝影機的觸發器現在開啟,等候動物移到近接感測器附近  1 b- p8 P% W* M' Q. w/ [
8. 當有動物觸發近接感測器,綠色LED就會開啟。攝影機啟動,並拍攝影像。
+ Z( S- i5 {/ `4 p' m, b9. 當動物移出目標範圍,綠色LED就會關閉。攝影機在一般時間沒有輸入時,就會關閉。
# p7 Y; K0 b/ t1 @, Y! y/ L% N  x10. 回到步驟7,重複執行步驟週期。
4 \$ g1 p- m+ \; `  |# ^2 p9 Q; ~* C; P: h4 _( K
步驟2. 描繪系統模塊圖表
& M2 Z" ^& Y: ]: c* V! `$ _這個系統的模塊圖表是用PSoC Express來描繪,如圖1所示。圖表是透過一個圖形化拖曳來定義。PSoC Express有一個零組件函式庫,名為驅動器目錄,包含許多各種功能模塊以及溫度感測器、光線感測器、以及加速器。使用者視需要用滑鼠從目錄中把模塊拉到模塊圖表。為讓流程更簡化,這個設計範例中系統唯一的輸出就是紅色與綠色LED閃燈。 使用者僅須從驅動目錄拉出兩個數位輸出端,就能將"攝影機開啟/關閉"與 "快照"輸出功能加入至相機。0 s8 g+ a% h4 I! A9 |2 o. M; I" d7 Y
( l9 o: U! R6 F! d
圖1的設計範例系統結合以下功能至模塊。
) I# ?2 G. G, d2 O* Proximity -A近接感測器採用CapSense的CSD方法。2 B+ H8 ~( v  _9 k/ X
* 綠色LED閃燈 - 當近接感測器觸發時,綠色LED就會開啟 - E7 z: _4 ^/ b; w! `
* 紅色LED閃燈 -在重置後30秒的Disarm週期內,紅色LED燈會閃爍2 v) o- [, i( F  W
* Tick1Second -時基元件會以每秒一個脈衝的頻率,輸出一個脈衝( p. t* _7 s) n+ Y# t3 @( U, i5 o# |
* RedCounter -計數器每秒遞增一個值。/ X7 E7 E8 Y3 p+ {
* RedDelay -在30秒之後變更狀態的狀態機器
' l2 L* y' C2 {  S, Z) z* Initialize -當系統被重置時,用來重置計數器的狀態機器
2 |3 D+ j2 V6 n& Y- J
6 v- j! t: O$ W  U/ b步驟3. 定義狀態機器、轉換函式、以及真值表
/ g3 {. Y1 E" `; E5 C* APSoC Express雖然不必撰寫程式碼,但必須為系統定義邏輯描述,這個作業是透過狀態機器、轉換函式、以及真值表來進行。 ) R3 m6 o$ }+ ?& T3 d  E+ X1 `
* c, N3 j+ ~7 b, b2 D. t1 u
設計中有兩個簡單的狀態機器,其基本的結構相同。狀態圖是在PSoC Express中繪製。轉換邏輯顯示在表中,已納入每個圖表。 ) V* C1 v1 D# L( A& y
* w, b9 D6 A6 k3 Z) S
系統中名為Initialize的狀態機器,讓模擬作業更加容易操作,名為ResetSim的重置開關控制這個程序。在圖2的轉換函式表中,當重置開關為ON狀態時,這個狀態機器會維持在State0狀態。其他時間狀態機器會切換至State1狀態,讓計數器的值能夠遞增。   . A3 p& L8 A( n1 R# M2 R: t9 g
8 V1 @+ H1 P) c, \9 p5 d1 Y& G) F
名為RedDelay的狀態機器被加入到系統,用來顯示系統重置後已經過30秒的時間。圖3的轉換函式表就是很好的說明。 6 i2 w  v% w- W, J
% R# Y- P* c! ~9 {7 b
設計中有三個真值表.這些真值表的特殊形態名為優先編碼器。編碼器有單一輸出端,其輸出的設定,由真值表中輸入的邏輯表示式來控制。這些邏輯規則依序進行測試,直到所有條件符合規則為止。這三個真值表用來讓計數器進行遞增,開啟與關閉LED燈。
6 Y; C0 d1 L' s+ b: m; e
8 y9 m& ]; v$ w2 k步驟4. 進行系統模擬% E1 b2 C4 R4 [5 z) \
PSoC Express諸多強悍功能之一就是模擬。設計範例的模擬檢視圖如圖7所示。這個工具讓您能測試系統是否在會適當時機進行轉換。模擬功能讓您能執行what-if條件式實驗,不必對任何部份元件進行程式開發。若所有運作都符合預期,就可開始針對一部份元件撰寫程式,然後檢查系統在實際運作時的狀況。 : ^5 Q; F- V) v- s2 g5 o6 [

% n; R8 x' b- N5 f: w- g步驟5. 測試實際系統
4 }4 b% B( t( n3 hFirstTouch評估套件的成本低廉,並整合至一個USB隨身碟中,如圖8與圖9所示。這個小巧的開發系統包含評估設計範例所需的所有工具。 3 U4 V  W: p3 u# Q8 w5 i

7 ]+ x& [/ D* l9 U& u& T3 fFirstTouch套件的程式開發流程包括選擇正確的PSoC,也就是CY8C21434,然後為每項功能選擇正確的針腳,如圖10所示。專案的hex格式檔案在PSoC Express中建立,並編寫到FirstTouch套件。實際系統的行為會對應至模擬時預測的情況,以符合先前定義的系統需求。專案成功完成,新手僅須花數個小時就執行完畢。若是有經驗的PSoC Express使用者,設計流程甚至會更快。
2 B2 y- x, `6 m) V% E, E! b / s  H: B6 a/ _: S- m5 E8 c
步驟6. 對CapSense進行微調. ^6 Y7 X9 }% I3 _# |6 b2 t' j$ k
這項模擬流程中沒有涵蓋的一項功能就是CapSense感測模塊的微調。CSD與近接屬性設定,在FirstTouch套件中運作得相當好,如圖11與12所示。 ( J- N# X# n: A

0 C: V2 m& [. g  Y8 F, u未來發展 2 W7 L$ F' a; y) E* Y* B
試想當研究人員想拍的動物靠近樹枝,而觸發裝置正好裝在樹枝上,因動物觸碰到樹枝而沒有觸發。像是蛇或蝸牛爬在樹枝上而觸發了近接感測器,但研究人員並不想研究這些生物。為了捕捉接近感測器但沒有觸碰到感測器的動物,研究人員只須在棒子上加裝觸碰感測器。要在PSoC Express進行這項變更,須在驅動器目標中選擇CapSense按鈕,然後變更開啟綠色LED的邏輯(當 Proximity_status >0 且 Button_status <1時啟動)。這樣就能建構出一個智慧型捕鼠陷阱! 9 ^: z5 O9 [6 M7 e

5 D- \  N3 [5 \( d- e# WSource: http://www.compotech.com.tw/articleinfo.php?cid=13&id=10958
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-5-16 01:40 PM , Processed in 0.100513 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表