在水泥生料率值配料系統中需要監控水泥廠的多條生產線。它的硬件單元率值配料下位機硬件系統需要多個數碼管和二極管來顯示工況,并且還需要鍵盤控制。如果采用一般的顯示方案則元器件多且復雜,導致系統可靠性降低,成本加大。采用集成了鍵盤顯示功能的驅動芯片CH451后使設計方案大大簡化,更具經濟性和可靠性。 1 鍵盤顯示方案比較 很多以單片機為核心的儀器儀表都需要數碼管顯示和鍵盤掃描。在單片機的開發過程中,常常會因為資源不足而不得不大量擴展接口芯片以滿足應用系統的需要,從而造成系統龐大,同時也降低了系統的可靠性。在單片機應用系統中,鍵盤顯示通常可采用如下3種方案。 1.1 經典方案:使用8279芯片 采用并行接口的鍵盤顯示專用芯片8279,該芯片是Intel于20世紀80年代首先推出的,應用較成熟,但所需外圍元件(顯示驅動、譯碼等)多、占用電路板面積大、綜合成本高,在中小系統中常常大材小用。 1.2 自由方案:使用輔助單片機 在儀器的主控單片機之外,另外使用一個輔助的單片機專門做顯示驅動和鍵盤掃描。為了提高串行接口的速度,輔助單片機需要盡可能高的系統時鐘,而參考單片機廠商的說明,采用低成本的外部阻容振蕩很難穩定地工作在10 MHz以上。所以在工業現場,輔助單片機很可能因為阻容振蕩頻率太高而受到干擾,甚至內部程序跑飛或者意外死鎖。其優點是靈活,缺點是元器件多,速度慢,易受干擾,綜合成本高。 1.3 新方案:使用CH451芯片 CH451由南京沁恒電子公司生產,是以硬件實現的多功能外圍芯片,使用串行接口,支持顯示驅動和鍵盤掃描以及μP監控,外圍元器件極少,非常適合作為單片機的外圍輔助芯片,工作原理如圖1所示。 CH451的特點是: a) 具有大電流驅動能力,段電流不小于25 mA,字電流不小于150 mA,平均段電流是輔助單片機方案的8倍,而且非連續的電流驅動能力更高。 b) 用硬件實現,串行接口、顯示驅動、鍵盤掃描、μP監控之間相互獨立不受干擾,串行接口的位時鐘能夠支持到10 MHz,數據傳輸速度比輔助單片機方案提高40倍,即使主控單片機頻繁操作也完全不會影響顯示驅動和鍵盤掃描以及μP監控。 c) 串行接口以硬件實現,不需要時鐘;而顯示驅動和鍵盤掃描使用約0.75 MHz的全內置主時鐘多次分頻后的掃描時鐘,所以在工業現場不易受到干擾。即使受到強干擾,也能夠在干擾后立即正常工作,不會影響串行接口、顯示驅動和鍵盤掃描的后續操作。 d) 內置振蕩和上電復位以及看門狗電路,不但不需要外部提供時鐘和外部復位輸入,還能夠向外部的主控單片機提供上電復位和看門狗電路,進一步降低產品的成本,提供產品的可靠性。 現在與CH451類似的還有北京凌志比高科技的BC7281、hd7279a等,這些都是相當不錯的顯示和鍵盤接口芯片。 2 硬件設計 選用AMEG32作為主控芯片,晶振為8 MHz,因AVR單片機大多數指令僅需要1個時鐘周期,而很多MCS-51類型的單片機指令為12個時鐘周期,所以AVR單片機在同樣晶振條件下比MCS-51快得多。CH451的串行接口的位時鐘最快能支持10 MHz,所以用8 MHz的AMEGA32能夠與CH451進行通信。 CH451芯片連線簡單,一片CH451僅需要4根信號線就可以實現。4根信號線包括:串行數據輸入線DIN、串行數據時鐘線DCLK、串行數據加載線LOAD、串行數據輸出線DOUT。每增加一片CH451只需要增加一根串行數據加載線即可。在率值配料硬件系統中應用2片CH451進行并行級聯,一片用來直接驅動6個共陰極數碼管和讀取8個按鈕信息,另一片用來驅動24個發光二極管。硬件電路如圖2所示。 盡管AVR自帶SPI接口,但是考慮到CH451并不是真正意義上的SPI接口,它只是具有硬件實現的高速4線串行接口,所以必須用軟件模擬的方式對CH451進行控制。 3 軟件設計 AVR的集成開發環境種類比較多,如ICCAVR、WINAVR、BASCOM-AVR、IAR、CodeVisionAVR等,因此造成程序之間難以完全兼容,這也是目前開發的一個缺點。這里選擇ICCAVR作為開發環境,應用C語言來實現程序。因為ICCAVR在我國有廣泛的使用者,用C語言進行軟件開發可以很好地實現代碼的可讀性和移植性,大幅度加快開發進度。 CH451具有硬件實現的高速4線串行接口,包括4個信號線:串行數據輸入線DIN、串行數據時鐘線DCLK、串行數據加載線LOAD、串行數據輸出線DOUT。啟用鍵盤掃描功能時序圖如圖3示。 由圖3可知,DIN、DCLK、LOAD作為CH451的輸入其默認為高電平,DOUT作為CH451的輸出其默認也是高電平。由此,需對AMEG16單片機I/O口初始化。需要注意,AVR單片機I/O口與MCS-51單片機I/O口不同。AVR單片機是標準雙向口,復位時所有端口處于沒有上拉電阻的輸入狀態。因此,在使用AVR單片機之前一定要根據引腳功能定義相對應的端口初始化,否則端口很可能在用做輸出時不能正常工作(復位后默認為輸入狀態)。 這4根信號線雖然與SPI總線方式類似,但是不能用AMEG32自帶的SPI接口來對CH451進行控制,因為這不符合時序要求。 軟件設計包括CH451的初始化、顯示和讀按鍵3部分。初始化包括對CH451的設置,如開顯示、鍵盤功能、設置BCD譯碼方式等。顯示部分對6個數碼管分時輪流顯示,通過加載字數據命令來顯示每個數碼管的數字。讀按鍵則是加載CH451的讀取按鍵代碼命令。單片機可以通過查詢或者外部中斷方式來讀取。 6個數碼管顯示和讀取8個按鍵信息主要用到的函數如下: 顯示24個發光二極管用到的函數如下: 須注意的問題是:由于CH451驅動數碼管或者LED的電流較大,會在電源上產生較大的毛刺電壓,所以如果電源線或者地線的PCB(印制電路板)布線不合理,將有可能影響單片機或者CH451的穩定性。建議不要使用CH451的RTSI功能,在RTSI與地之間加1 000 pF電容。另外,如果由標準MCS-51單片機的I/O引腳對CH451進行較遠距離的驅動,通常要加強MCS-51單片機的I/O的上拉能力,以便在遠距離傳輸時保持較好的數字信號波形。對于強干擾應用環境,可以定期對CH451進行刷新,包括重新設定系統參數、重新設定顯示參數、重新設定閃爍控制、重新加載各個顯示數據。 4 結束語 本文詳細介紹了CH451與AMEG32的接口方案,并給出了具體的程序設計,現場實際運行穩定可靠。運用這些集成的鍵盤顯示驅動芯片可以大大簡化外圍器件,節省單片機I/O口,提高系統的可靠性。 |