17. 在ARM編程中又應當如何?
9 F6 ~" K* a4 Y# H1 Q3 b5 R答:就以嵌入式系統觀念為例,一般嵌入式處理器可以分為三類:嵌入式微處理器、嵌入式微控制器、嵌入式DSP(Digital Signal Processor)。
) r1 G& ^6 u1 ^5 g4 _
# s" e. `8 j0 W' f6 h: C嵌入式微處理器就是和通用計算機的微處理器對應的CPU。在應用中,一般是將微處理器裝配在專門設計的電路板上,在母板上只保留和嵌入式相關的功能即可,這樣可以滿足嵌入式系統體積小和功耗低的要求。目前的嵌入式處理器主要包括:PowerPC、Motorola 68000、ARM系列等等。 ' g; M8 n+ Y% `, X! Y6 j* ?2 `& w
; p) x# e3 e* e3 \. I: c- i$ L& S) P嵌入式微控制器又稱為單片機,它將CPU、存儲器(少量的RAM、ROM或兩者都有)和其它接口I/O封裝在同一片集成電路里。常見的有HOLTEK MCU系列、Microchip MCU系列及8051等。
. n3 A) Z% ?, J5 G/ y3 C+ m
. P7 Y T$ N; U5 b) f0 P5 P6 E8 y9 R嵌入式DSP專門用來處理對離散時間信號進行極快的處理計算,提高編譯效率和執行速度。在數字濾波、FFT(Fast Fourier Transform)、頻譜分析、圖像處理的分析等領域,DSP正在大量進入嵌入式市場。
! i; Z5 @! X+ c) R8 h. n# x4 t% c
% w# v8 [7 p# v6 V, \2 \18. MCU在射頻控制時,MCU的時鐘(晶振)、數據線會輻射基頻或基頻的倍頻,被低噪放LNA放大后進入混頻,出現帶內的Spur,無法濾除。除了用layout、選擇低輻射MCU的方法可以減少一些以外,還有什么別的方法?
7 Y1 k' Y0 v& D( k( C答:在設計高頻電路用電路板有許多注意事項,尤其是GHz等級的高頻電路,更需要注意各電子組件pad與印刷pattern的長度對電路特性所造成的影響。最近幾年高頻電路與數位電路共享相同電路板,構成所謂的混載電路系統似乎有增加的趨勢,類似如此的設計經常會造成數位電路動作時,高頻電路卻發生動作不穩定等現象,其中原因之一是數位電路產生的噪訊,影響高頻電路正常動作所致。為了避免上述問題除了設法分割兩電路block之外,設計電路板之前充分檢討設計構想,才是根本應有的手法,基本上設計高頻電路用電路板必需掌握下列三大原則:
' a& {3 |; R* i, g& D$ o n% |4 f( K, X5 o1 v O+ k
 高質感。
( k" g) {/ _' x: W& U5 e 不可取巧。 : n/ n* v+ w @
 不可倉促搶時間。
3 I5 {1 Y; ]" Z) h# W, {
6 p' f+ g& e$ S9 r0 x以下是設計高頻電路板的一些建議:
/ u0 ~+ J8 b g# c- j
3 m1 k( }. L$ T3 y( k4 j% }. U* I(1)印刷pattern的長度會影響電路特性。尤其是傳輸速度為GHz高速數位電路的傳輸線路,通常會使用strip line,同時藉由調整配線長度補正傳輸延遲時間,其實這也意味著電子組件的設置位置對電路特性具有絕對性的影響。 - _( `. w6 [) u" O7 _2 s# M3 B @
(2)Ground作大better。銅箔面整體設置ground層,而連接via的better ground則是高頻電路板與高速數位電路板共同的特征,此外高頻電路板最忌諱使用幅寬細窄的印刷pattern描繪ground。
0 p4 b U# ]4 ]! s1 P/ C9 l
; J/ C" _1 Z- Y+ R8 D(2)電子組件的ground端子,以最短的長度與電路板的ground連接。具體方法是在電子組件的ground端子pad附近設置via,使電子組件能以最短的長度與電路板的ground連接。 $ l, N/ J# O$ w5 H2 o
8 Q8 i# ^$ N$ F% K3 A(3)信號線作短配線設計。不可任意加大配線長度,盡量縮短配線長度。
& i. C$ j1 p9 |& R, X3 }3 F2 y
9 |# A# M' i& B! }% _(4)減少電路之間的結合。尤其是filter與amplifier輸出入之間作電路分割非常重要,它相當于audio電路的cross talk對策。
4 k4 l! o! |! E) P
% x9 v( V( e- [7 d(5)MCU回路Layout考量:震蕩電路僅可能接近IC震蕩腳位;震蕩電路與VDD & VSS保持足夠的距離;震蕩頻率大于1MHz時不需加 osc1 & osc2 電容;電源與地間要最短位置并盡量拉等寬與等距的線,于節點位置加上104/103/102等陶瓷電容。 3 C ~, M) |6 `% _; n2 b, d% {+ R
; a3 T7 V# k& f/ I
19. Intel系列的96單片機80c196KB開發系統時,都有那些注意事項?
* F5 C. z% W) s答:一個即時系統的軟體由即時操作系統加上應用程序構成。應用程序與作業系統的接口通過系統調用來實現。用80C196KB作業系統的MCU,只能用內部RAM作為TCB和所有系統記憶體(含各種控制表)以及各個任務的工作和資料單元。因此一定要注意以下幾點: _1 I, Q2 P3 p4 y1 R- _
: p# _% B5 | s
(1)對各個任務分配各自的堆迭區,該堆迭區既作為任務的工作單元,也作為任務控制塊的保護單元。
. B, R9 P/ U/ f! x8 q: z
0 p; |: N+ }7 y7 T2 D(2)系統的任務控制塊只存放各任務的堆迭指標,而任務的狀態均存放于任務椎棧中。在一個任務退出運行時,通過中斷把它的狀態進棧,然后把它的堆迭指標保存于系統的TCB中;再根據優先取出優先順序最高的已就緒任務的堆迭指標SP映象值送入SP中;最后執行中斷返回指令轉去執行新任務。
4 k' Y, i; V- D- ~* D p+ f: \; @) ^/ x' I) Z" N
(3)各任務的資料和工作單元盡量用堆迭實現,這樣可以允許各任務使用同一個子程序。使用堆迭實現參數傳遞并作為工作單元,而不使用絕對地址的RAM,可實現可重入子程序。該子程序既可為各個任務所調用,也可實現遞回調用。
8 k- m2 J( ~9 k) S5 d' j- `, U6 q4 W7 t& S! |
20. 在demo板上采樣電壓時,不穩定,采樣結果有波動,如何消除?
# H! D$ b: F1 n# ~7 W8 N; r: n答:一般來說,仿真器都是工作在一個穩壓的環境(通常為5V)。如果用仿真器的A/D時,要注意其A/D參考電壓是由仿真器內部給出,還是需要外部提供。A/D轉換需要一個連續的時鐘周期,所以在仿真時不能用單步調試的方法,否則會造成A/D采樣值不準。至于A/D采樣不穩定,可以在A/D輸入口加一電容,起到濾波作用;在軟件處理時采用中值濾波的方法。 % X- Y' E4 X. V3 J1 K, Q, ^: H
1 U4 V2 a P- L B" Z% l* s# E; ^
21. 在車載DVD系統中,如何設計電子防震系統?
! {, |+ w! E3 {( P1 D$ ?答:在車載DVD系統,最好選擇高檔DVD機,因為高檔DVD機都采用電子防震系統(ADVANCEDESP),當記憶緩沖區內的讀數降低,先進的電子防震設計會以雙速讀數系統,做出比正常速度快兩倍的讀數速率,以減低噪聲,即使連續震蕩仍可避免跳線情況出現,現在就說說什幺叫電子防震。簡單地說:電子防震就是一個信號的儲存--釋放過程,首先CD要先把信號進行提前讀取,也就是我們見到機子的加速,再把信號儲存在RAM中,而我們在開防震的時候所聽到的就是經過RAM的聲音,這樣就是它的過程。當沒有防震時是由于信號是1比1讀取的,所以當受到沖擊后,就會出現跳音。而當開了防震時,機子受到沖擊后,由RAM釋放出來的聲音使音樂不停地播放,而與此同時,光頭迅速進行復位檢索,當檢索到信號后立即補充,所以不會出現跳音。大概的情況就是這樣。但是這樣還沒有滿足用家的要求,由于這種的方法帶來的時間短,通常只有3秒,所以跳音的機會還是蠻高,如果增大RAM又帶來造價的增高因為RAM這東西價格較貴,尤其是質量好的。
3 ^1 R, z7 B( ^& ?
( {, ?, g0 g6 U5 `' a% Y, F+ ^/ |: z9 A22. 在電子防震技術中,有那些IC或器件可供選擇? 4 P! b; K1 ?0 Z' G9 H
答:在電子防震技術中,最重要的技術之一要數是RAM技術,而一直以來都是因為它的成本問題,所以防震時間都一直不能增加,也就是說RAM本身就有限制,RAM的容量越大,造價就越高。而許多廠家就如何在RAM的限制里得到最大限度的記憶時間展開了開發研究。
% D4 p: Z5 T/ G8 E4 y+ ?, K; Q" F; I3 j7 l, U
23. 如何進行編程可以減少程序的bug?
, S4 R- F, R4 E* ^8 @答:在此提供一些建議,因系統中實際運行的參數都是有范圍的。系統運行中要考慮的超范圍管理參數有:
# j. X7 `2 @) `6 b" H6 z1 z; [ 0 m* i; ]- I4 I/ o5 l4 o
 物理參數。這些參數主要是系統的輸入參數,它包括激勵參數、采集處理中的運行參數和處理結束的結果參數。合理設定這些邊界,將超出邊界的參數都視為非正常激勵或非正?;貞M行出錯處理。
Q% I/ x4 @! e, ~% U
! N- \* p, g. [: T- J/ T) k+ z# G: Q 資源參數。這些參數主要是系統中的電路、器件、功能單元的資源,如記憶體容量、存儲單元長度、堆迭深度。在程序設計中,對資源參數不允許超范圍使用。 7 X: } D& v5 M: S" j
0 Y" x+ i; i4 J- H* N 應用參數。這些應用參數常表現為一些單片機、功能單元的應用條件。如E2PROM的擦寫次數與資料存儲時間等應用參數界限。
; t) y1 C+ G# ~9 p+ `6 N( a- {( v6 Y" j% P! ^- r; Z
 過程參數。指系統運行中的有序變化的參數。
& G! |4 k* i. F& Z6 U; ^/ \2 |9 W" N2 u- `: r) ^; A
在上述參數群對一程序編寫者而言,須養成良好習慣,在程序的開頭,有順序的用自己喜歡文字參數對應列表來替代,然后用自己定義的文字參數來編寫程序,這樣在做程序的修改及維護時只在程序的開頭做變動即可,不用修改到程序段,才比較容易且不會出錯。 |