Chip123 科技應用創新平台
標題:
簡單卻不同思維的系統應用問題
[打印本頁]
作者:
Chamberplus
時間:
2010-5-6 10:23 AM
標題:
簡單卻不同思維的系統應用問題
本帖最後由 Chamberplus 於 2010-5-6 10:24 AM 編輯
3 a1 `3 O1 |6 P$ F4 b3 X
# l$ N( _. @' s) z9 J
大家在系統應用上會常用到A/D 的問題,但也常常是用十根手指頭的觀念在寫程式。
+ a2 {$ j3 }1 ~1 {: g( Z
. @( B! K* R+ R6 Q( l- Q r& `; [+ J
來講一個系統應用的觀念,如果您也是常寫一些MCU 韌體程式的話,或許,會有一些幫助吧。
0 d7 S5 Y( Y% d7 G# Z! L
! _4 t! K n! P" |$ V! k
尤其是作一些機電整合的韌體程式,
, x' w3 D5 ^. y2 E- m; @, A R' i
3 Y9 z8 V9 A ~
寫這種程式,您就不要把那一般寫LED 跑馬燈的程式觀念拿來湊合。
) }7 q$ E Y. ~" `; h7 \
" p. N4 \6 `/ }. `7 S- b* S
我個人覺得:如果,只是要您寫個簡單的I/O 控制程式,或是一個簡單的步進馬達控制程式,
D- a; t! B8 S& `5 }
' o. h( q2 ]1 O3 g4 D
您可能就是把我們手指頭上的十個手指拿出來湊合的寫。反正是程式嘛,就是幫我們人腦做事的嘛!
- F( j$ o2 @" C) \
" Y+ B3 R0 f4 w* K
...(略)
4 @3 i' y: _! K! Q! L
& s4 c* W O& m8 W# w' T
今天我們來講一個一般系統輸入參數的處理問題,譬如說是一個類比輸入參數(A/D Parameter)。
' z+ d4 x; }& K" m/ M4 e: _ u
8 E" n5 A* K' e( X2 ^
我們都知道:雖然是類比輸入,但是我們在韌體程式的讀取過程,
. u$ X/ J& o t
8 n& L" F% d/ Q |; p5 x& ?! B0 K
卻仍然是數位分時處理方式(Discrete)。還是得一個、一個值慢慢讀進來。
y; E- [" P1 |" c
; O. x$ T( r+ u; c2 n. x
難免就會發生所謂多久取一個值?!(連續性)...還有一個很重要的觀念:軟體濾波處理。(Filter)
3 h6 e0 d4 e; U" |+ Z& x6 }0 k! e
3 V% e7 d1 {- ?5 R
硬體電路上的濾波電路是鐵定有的(一般都只是低通濾波),
$ z1 D' X+ ^8 O
) S, f0 f' {; W. F7 {2 A5 W
但您怎麼知道輸入的值會不會有波動峰值呢?瞬間的變化時合理嗎?!
" X" c8 n% B4 W# z5 D; z. x E, F
$ J6 |# U# _# S$ b
尤其是一些屬於比較機械特性的參數,譬如環境溫度、電瓶電壓等...
( I$ b" n. h7 b/ u+ S$ `4 j* w: [
6 Y) R7 i5 r% T( g5 l2 u
這些東西都是屬於自然現象的參數。(廢話...這種東西才需要A/D啊)
0 q6 j# Z1 n7 K0 t( ~; Y* H
D& `6 E9 L" I! c- v% Y! A
所以,在軟體上也必須有一些軟體濾波作法,,,我相信如果您幸運一點的話,
% w: |$ X$ D2 l4 u/ i
2 x6 p+ Q1 E& K! J
剛好有個老鳥工程師願意帶您,而也願意傾囊相授教您...
: {; y# s" E3 w/ D( O. w
) v4 S# t) d0 e3 H4 S, h' p6 X
您可能就知道這個東西就是:讀個十遍或二十遍,然後取平均就好了!????????
) \% p$ }6 e- S8 ]% K$ h- p
/ T- W3 J' Q* M+ J! O$ }
是嗎?!
, \- d6 Z+ Y5 ~ `: n* O& m
& E% M7 H* `$ @+ T8 T
---
9 S0 Q0 `& K& m+ L7 L
tw.myblog.yahoo.com/chamberplus-taiwan/article?mid=1905&prev=1925&next=1901
歡迎光臨 Chip123 科技應用創新平台 (http://www.chip123.com.tw/)
Powered by Discuz! X3.2