1, 先得了解MCU 的功能及每一個管腳的作用,確定用什么樣的電源輸入,有無大電流負載及一些安規方面的要求,體積封裝大小有無規定.
2, 采用電池供電時是否要考慮做一些省電低功耗線路
3, 帶檢測功能的產品是否用到A/D功能,有無必要用到一些精密參考源,主要針對測量及充電電路,或是可否直接采用RC充放電線路來做模擬量檢測, A/D通道轉換需要一定的穩定時間,在軟件設計時需要作考量。為了保證每次A/D轉換的穩定與正確,最好在每次A/D轉換前都重新確定A/D轉換通道、A/D轉換分辨率、A/D時鐘源選擇位,而且根據所應用場合對所取得數據進行合理的處理。A/D轉換在硬件設計方面的注意事項:信號源要盡量與A/D轉換輸入端接近,而且要視芯片輸入阻抗添加合適的電容并入信號源輸入端。此外需保證A/D轉換基準電壓的穩定,模擬地與數字地要分開或隔離。
4, 操作時有多少個按鍵,能否采用跟其他I/O口復用,按鍵是否采用喚醒功能,即采用帶有喚醒功能的I/O口,按鍵輸入可否采用矩陣掃描,以便節省單片機的I/O
5, 輸出指示能否跟輸出控制I/O復用,這樣可以節省I/O,但要考慮到輸出電流的大小,不能影響負載的正常輸出控制
6, 有無精確度要求較高的定時,用來確定采用什么樣的振蕩源( 晶振,陶振及RC)
7, 復位電路的選取,I/O不夠時能否采用內部復位, 芯片的上電復位時間與系統電壓上升速度,外部振蕩器頻率、種類及外部Reset 電路造成的delay都有關聯。
8, 有無顯示電路,是LED還是LCD,是否必要采用外掛驅動IC 或直接采用i/o推動,一般采用I/O推動的 LCD都采用1/2 偏壓
9, 大電流負載輸出采用mos管,繼電器還是可控硅控制,當輸出為可控硅時,是否采用共地或共電源控制,或是直接用耦合或用光電耦合,同時得考慮是否要用到到同步信號做一些調速、調光、調功、調溫度待可調的功能(同時些交流同步信號也可以做一些定時產品的參考)
10, 輸入盡可能放在同一I/O,輸出放在同一I/O,同時應該考慮到PCB布線,輸入輸出保護電阻應盡可能靠近I/O口
11, I/O口內部有無上拉電阻,有些I/O只能做單一的輸入且無上拉電阻
12, 對空閑口的設置,空閑口一般設定為輸入上拉或輸出低電平。對ADC I/O通道,應用P4CON的設定,可以避免I/O口的漏電流。對于不同的外部硬件電路,考慮I/O的狀態設置,設定不當,會有漏電流,特別 注意上拉電阻的正確設定,若 I/O 在 outputlow level, 又將pull-up enable會造成漏電, 例如: VDD=5V 會有約 5V / 100K = 50uA 漏電.
輸入部分電路的設計
按鍵部分硬件電路部分應用實例
普通獨立按鍵:
圖中S1、S2、S3為常用的三種按鍵,其中S3接在U1第4腳為低電平觸發腳有效,因為U1第4腳內部沒有上拉電阻,所以得在U1第4腳外面接一上拉電阻以確保在不按下按鍵時讓U1第4腳維持在高電平狀態,采用S2接法時,為高電平觸發有效,因這顆IC內部沒有下拉電阻,所以得在U1第4腳外面接一下拉電阻以確保在不按下按鍵時讓U1第4腳維持在低電平狀態,S1因Ic內部有上拉電阻,則不要外加器件。
純按鍵矩陣描按鍵:
電路中掃描口都得為雙向的I/O口,如此電路是用電池供電需要省電功能(讓ic進睡眠模式),則將COM1、COM2或SEG口用到具有喚醒功能的I/O口即可。
LED矩陣描復用按鍵:
加二極管的按鍵復用1:
加二極管的按鍵復用2:
加二極管的按鍵復用3:
加電阻并聯型復用:
加電阻的按鍵復用:
上圖中按鍵同樣可以復用在COM口上!
采用移位寄存器的按鍵復用:
采用A/D功能的按鍵:
觸摸式按鍵:
在目前MCU應用領域里,很多場合都離不開開關信號,這些開關信號的實現都是通過按鍵操作實現。而傳統的按鍵應用最廣最普遍的就是機械式按鍵(或稱為B鍵),這一類按鍵的共同點就是透過金屬觸點來得到開關信號,也正是這些共同點決定了機械式按鍵的應用場合和使用壽命。如在一些帶有油煙或腐蝕性氣體的應用場合;另外,在很多小家電應用領域,也都是在模具表面開孔,使用PVC膠來做按鍵觸摸點,這些PVC膠隨著使用時間的增加也很容易損壞。因此,目前市場上出現了一種新型的按鍵輸入方式——觸摸式按鍵(或稱感應型按鍵)。
顧名思義,這種按鍵輸入方式與傳統機械式按鍵不同,它不需要金屬觸點,取而代之的是感應人體的觸摸動作。目前市場上常見的觸摸按鍵方案中,多為采用MCU+專用IC以及只用MCU實現兩種,在MCU+專用IC方案中,具有代表性的觸摸信號專用IC是英國昆騰(QUANTUM)公司的QT系列IC,如QT1080就是帶有8路獨立觸摸按鍵輸入的處理芯片。但是使用MCU+專用IC方案面臨的一大挑戰就是其抗干擾能力不強以及其成本較高的問題,也正是這一缺陷決定了在很多MCU應用場合這種方案顯得有些無能為力了。下面就從應用的角度對采用獨立MCU方案開發感應型按鍵的原理進行討論。
一、 感應型按鍵的電氣原理
這種感應型按鍵的實現原理是基于電容對高頻脈沖信號的耦合特性,通常稱該電容為耦合電容。當該耦合電容的容值發生改變時,經過該電容耦合得到的高頻脈沖的高電平幅值將發生改變。如圖所示:
如圖所示,高頻信號OSC經過電容C1耦合,再經過電容C2濾波,這樣在K1點可以得到一直流信號;A點為按鍵電極連接點,電極的表面可以是一些如玻璃或塑料的絕緣物質。當人體透過電極表面的介質觸摸按鍵時,此時人體、電極和這些介質就等效成一個電容,該等效電容與耦合電容C1并聯,最終就相當與改變了耦合電容的容值,從而經由C1耦合得到的高頻脈沖的高電平幅值就將發生變化,在K1點得到的直流信號也將隨之發生改變。當人體接觸按鍵時,K1點的電壓將降低。由MCU的AD口讀取K1點的電壓變化,便可知道按鍵與否。K1點的電壓變化范圍一般在幾十至一百毫伏范圍變化,這與電極表面的介質和高頻信號的頻率有關。 在有些應用中,由于K1點的電壓變化太小,通常還會在K1點接一級放大器,這樣MCU AD口端的電平變化范圍將相應變大。由于SONiX 8bit MCU,至少提供12bit 的AD,所以在采用SONiX 8bit MCU開發時并不需要增加一級放大電路。
針對上圖所示的參數,下面將給出A點在人體觸摸前后的波形變化(電極表面的介質為壓克力板)。
人體觸摸前A點的波形
人體觸摸時A點的波形
對于高頻脈沖的產生,通常都在幾百KHz,根據具體的應用可以有不同的選擇。常見的電路形式有采用NE555和CD4069:
通常SONiX的MCU都有提供至少一路PWM功能,根據應用的需求,也可以采用該PWM功能作為
高頻脈沖發生器。對于應用中可能會出現按鍵數量超出MCU提供的AD通道數的情形,此時可以增加一模擬開關,如CD4051。
一、 感應型按鍵的軟件實現
從上述電氣原理的討論中,可以看出,到達MCU AD口的直流信號并不是十分理想的直流信號,由于是經由104電容濾波直接得到,其紋波系數很大,因此,在軟件的實現中,應充分考慮AD口信號的正常波動。其次,程序判斷按鍵與否的根據是AD口信號變化的大小,當AD值負變化達到給定量時,認為有鍵按下;反之,AD值正變化達到給定量時,則認為是按鍵彈起。
由于程序判定按鍵的根據是AD值的變化量,所以在程序中,還應確定一個基準值,所有的變化量都應相對這個基準值,一般情況下,在上電時應將這個基準值確定,或通過實驗計算出一個基準值保存在程序中,但后者隨著使用時間的增加,可能會出現基準值變化而導致按鍵失靈,最好的做法是將兩者都考慮進去。
在程序中應充分考慮對AD值做數字濾波處理,常見的數字濾波如滑動平均值濾波和中位值濾波,在此不討論具體的濾波算法,可以參考相關的書籍。此外,程序中還應做好按鍵去抖動的動作,這是任何形式的按鍵處理程序都應考慮的。
通過以上對感應型按鍵的原理的討論,重點在于如何使得整個系統穩定可靠,即抗干擾能力要強,這主要與程序編制有關。所以,關鍵的還是強調程序處理。本人按照上面討論的原理,有做一跑馬燈DEMO,可以輕松通過EFT日規2000V測試。
一種簡易的接觸式觸摸電路:
直接采用人體感應電壓去改變輸入檢測口的電平做按鍵檢測,此電路穩定性比較差,但成本低,圖中的觸摸開關為一導體。
常見的單片機輸入部分線路:
風扇外殼觸摸保檢測電路:
高靈敏度MIC聲控線路:
R9可以調節靈敏度
單管mic放大電路:
壓電陶瓷蜂鳴片聲控電路:
帶自動增益控制的隨音樂變化轉換電路:
-
單片機
+關注
關注
6043文章
44621瀏覽量
638564 -
mcu
+關注
關注
146文章
17319瀏覽量
352650 -
硬件電路
+關注
關注
39文章
244瀏覽量
29318
原文標題:單片機硬件電路設計實例分析
文章出處:【微信號:eet-china,微信公眾號:電子工程專輯】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論