?
????? 所以選擇合適的單片機十分重要,在多年的家電產品設計中,經常用盛群半導體(holtek)的48系列及46系列8bit單片機設計微波爐控制器,無論在適應工作環境還是抗干擾等方面都完全滿足要求,在成本及供貨等方面比國外芯片也有更明顯的優勢。
功能要求
設計產品首先了解產品的要求,了解越詳細設計反復修改就越少,特別是關于影響芯片選型及輸出控制等跟硬件直接相關的部分。本文介紹的微波爐控制器的主要功能如下:
微波加熱,功率有10檔。
燒烤加熱,功率有2檔。
熱風烘烤加熱,溫度多檔。
混合加熱,有三種組合模式:燒烤加微波、烘烤加微波、烘烤加燒烤。
自動解凍,重量選擇有20檔。
自動菜單,6大類,各類分別有重量選擇。
顯示:88:88數碼管,四周帶14個圖標。
按鍵:有功能選擇鍵、啟動鍵、取消鍵、熱風烘烤鍵,時鐘及定時鍵,自動菜單各功能鍵,總共11個。
編碼開關:調節加熱時間。
另有蜂鳴器、門檢測和門燈控制。
熱風烘烤加熱,溫度多檔。
混合加熱,有三種組合模式:燒烤加微波、烘烤加微波、烘烤加燒烤。
自動解凍,重量選擇有20檔。
自動菜單,6大類,各類分別有重量選擇。
顯示:88:88數碼管,四周帶14個圖標。
按鍵:有功能選擇鍵、啟動鍵、取消鍵、熱風烘烤鍵,時鐘及定時鍵,自動菜單各功能鍵,總共11個。
編碼開關:調節加熱時間。
另有蜂鳴器、門檢測和門燈控制。
方案確定和芯片選型
了解產品的詳細要求后,需要確定具體的實現方案,首先是選擇合適的單片機。選擇合適的型號主要要看兩個方面:硬件資源和軟件資源。要選擇合理的單片機首先必須了解單片機的各系列及各款的資源,再了解需要什么樣的資源,下面分別從硬件和軟件來說明怎樣根據要求選擇單片機。在選擇單片機時,整個產品的方案也基本確定。
硬件相關資源
硬件相關的資源是指外圍硬件相關的如i/o數量、特殊驅動、工作電壓等。
首先,選擇合適的單片機系列。看供電電壓及工作溫度抗干擾能力等是否滿足要求。盛群的mcu在系統振蕩頻率小于4mhz時供電電壓供電范圍為2.2v~5.5v,當8mhz時則為3.3v~5.5v,要提高系統的抗干擾能力,最好用5v電壓供電,當供電電壓較高時,mcu內部所有邏輯電平幅值較高,容差電壓大,干擾更強才能改變其邏輯狀態。工作溫度,選擇holtek的48和46系列工業級單片機,工作溫度范圍為-40℃~85℃,完全能滿足微波爐控制器工作溫度的要求。
?
在選擇合適的系列時,還要看特殊資源的要求,如中斷口、pwm、蜂鳴器驅動、a/d轉換等;在此產品的具體要求中,需要檢測爐腔的溫度以及在產品中需要對交流風扇調速,溫度檢測需要a/d轉換,交流風扇調速控制需要有過零中斷,所以,在這個產品中選擇了46系列單片機。但此產品不需要lcd驅動、高精度a/d轉換及比較器等資源,則不選擇ht46r6x、ht46r5x、ht46r1x等系列,而選擇ht46r2x系列。
再就是選擇的具體i/o要求和什么樣封裝的單片機,在holtek單片機中同型號的單片機有多種封裝,如ht46r23有dip28或sop28封裝,也有dip24或sop24封裝,其i/o分別為23個和19個。
根據前面提到的功能要求,其i/o的需求列舉如下:
?
繼電器驅動:微波、燒烤、熱風烘烤、門燈/轉盤、散熱風扇共5個輸出ports。
蜂鳴器驅動:1個輸出ports
按鍵有11個:11個輸入port
門狀態檢測:1個輸入port
編碼開關檢測:2個輸入port
顯示數碼管:5個com,9個段,需14輸出port
過零中斷檢測:1個中斷輸入port
溫度檢測:1個a/d輸入port
蜂鳴器驅動:1個輸出ports
按鍵有11個:11個輸入port
門狀態檢測:1個輸入port
編碼開關檢測:2個輸入port
顯示數碼管:5個com,9個段,需14輸出port
過零中斷檢測:1個中斷輸入port
溫度檢測:1個a/d輸入port
簡單加起來總共需要20個輸出port,16個輸入port。考慮復用i/o,將9個數碼驅動段和5個公共端同時做輸入檢測;溫度檢測只能用a/d口pb.0,過零檢測只能用單獨的中斷pa.5來檢測,所以總共需要22個i/o,所以選擇28pin的ht46r2x可以滿足要求。
軟件相關資源
軟件相關的資源主要包括程序空間即rom的大小和數據空間ram的多少,當功能較多且復雜時需要更多的rom和ram;當然還有定時器、中斷、以及其它某些特殊的資源;前面已經選擇了28pin封裝的46r2x系列單片機,此產品功能相對比較豐富,程序空間要求比較多,選擇4k的rom和192byteram的ht46r23應該能夠滿足要求,同樣封裝可以選擇28pin的ht46r24,它有8k rom和384byteram,可以做后備選擇,這樣不必擔心資源不夠時換ic,反復修改硬件就很麻煩。
總之,在選擇資源時,要軟硬兼顧,如果程序簡單,硬件資源要求高,則可以選擇封裝小、i/o少的單片機,另外增加擴展ic來擴展i/o;當程序復雜,硬件資源要求少時,則選擇較小封裝、軟件資源多的單片機。
?
硬件電路設計
在選擇主芯片時,已經在考慮部分電路設計了,顯示、按鍵檢測、輸出驅動等都考慮好了,由于篇幅有限,只簡單介紹幾個關鍵問題:
門檢測電路:給單片機檢測的門開關信號的同時,還要控制微波、燒烤、熱風烘烤繼電器的電源。
供電部分:考慮數碼管顯示內容較多,驅動電流大,變壓器盡量選擇繼電器和單片機獨立供電,一方面降低變壓器功率,同時可以讓單片機的電源不受繼電器的工作狀態影響。