摘要:隨著數字化產品的普及,人機接口電路的地位越來越重要。本文介紹了基于TI公司的定點DSP芯片TMS320VC5402的最小系統及其相關電源、時鐘電路和復位電路的設計,數據存儲器與程序存儲器的擴展, 以及DSP與RS232C的電路連接方式。重點研究了DSP直接和3×5矩陣式鍵盤以及TCM-A0902型液晶顯示器的人機接口技術,并給出了相應模塊的匯編程序,實現了DSP處理系統的人機接口電路設計,可以直接擴展成DSP的各種應用系統。
關鍵詞:DSP;鍵盤電路;顯示電路;RS232C
隨著信息技術的發展和數字化產品的普及,DSP(數字信號處理器)作為數字信號處理領域的嵌入式處理器得到了廣泛應用,采用DSP器件來實現數字信號處理系統已成為當前的發展趨勢。大多數數字信號處理系統離不開人機交互,系統在運行時需要操作者的干預(對系統進行輸入)以及系統對干預作出響應(系統輸出)。
在DSP的應用中,有一些場合是將DSP處理系統用到工業計算機或個人機中的。有一些場合,DSP系統則需要單獨工作,DSP即使是與工業計算機或個人機發生通信也是通過串行口進行的,DSP系統并不嵌入計算機,它們有自己的鍵盤,顯示,時鐘等。本文主要討論DSP的人機接口電路,它不需要其它的MCU來實現。
1 方案的選擇與論證
目前,實現人機控制系統的方案主要有以下三種: 方案一:DSP+單片機通過雙口RAM 進行通信擴展[1]。DSP+單片機通過雙口RAM進行通信擴展,這種結構在設計上比較復雜、成本也較高。目前使用最多的雙口RAM是IDT公司生產的 IDT7133和 IDT7143。這種結構用的很少。方案二:通過8279集成芯片擴展。Intel 8279芯片是一種通用的可編程序的鍵盤、顯示接口器件,8279包括鍵盤輸入和顯示輸出兩個部分, 由于用8279芯片做液晶顯示接口不能滿足要求,故舍棄8279鍵盤接口芯片。方案三:通過DSP外擴一個并行可編程芯片[2]。通過DSP外擴并行可編程芯片8255可以很好的實現人機接口中的鍵盤和顯示。通過查閱大量的DSP資料,發現基本上采用第三種方案比較合理。如果DSP要不停地采集數據并且人機交互又要經常發生,采用 DSP+單片機模式是必要的,如果不是這樣的話,就沒有必要采用這個模式。DSP+單片機的模式有以下缺點:(1)設計復雜,(2)成本增加。經過系統分析和論證,如果只是把DSP用在一般的通信和控制領域,只需把DSP和人機接口直接相連,這樣可以有效的減少系統的成本和開發時間。因此本論文中選擇方案三。
2 系統設計
本系統由TMS320VC5402芯片,鍵盤,液晶顯示,RS232,FLASH存儲器和RAM存儲器組成,系統框圖見圖1。TMS320VC5402作為整個系統的核心,完成整個人機接口電路的所有功能。
2.1 DSP與液晶顯示器的接口電路[5]
液晶顯示模塊選用EPSON的TCM-A0902,它是單色、320×200的顯示器。它的引腳功能見表1。
TCM-A0902作為擴展的I/O設備,與TMS320VC5402的連接電路圖見圖2。液晶顯示模塊A0為數據、命令寄存器的選擇引腳與DSP的A13地址線的連接,占用兩個I/O口地址,分別為數據端口地址EFFFH和命令端口地址CFFFH。
2.2 DSP與鍵盤的接口電路[7]
鍵盤作為常用的輸入設備應用十分廣泛,它是人機接口電路不可缺少的部分,基本上都是由若干個按鍵所組成的開關陣列,分為編碼鍵盤和非編碼鍵盤。非編碼鍵盤是由一些按鍵排列成的行列式開關矩陣,按鍵的作用只是簡單地實現開關的接通和斷開,必須在相應的程序配合下才能產生按鍵的鍵碼。編碼鍵盤除了設有按鍵外,還包括識別按鍵閉合產生的鍵碼硬件電路,只要有按鍵閉合,硬件電路就能產生這個按鍵的鍵碼,并產生一個脈沖信號,以通知MCU接收鍵碼。本文選用的是非編碼3×5矩陣式鍵盤,由于TMS320VC5402芯片的I/O資源有限,常用鎖存器擴展成I/O口來組成非編碼鍵盤,常用的鎖存器是74HC573。
通過74HC573鎖存器,對TMS320VC5402芯片進行擴展的3×5的矩陣式鍵盤電路圖見圖3,并由行鎖存器,列鎖存器和3×5矩陣式鍵盤組成。由圖可以看出,該鍵盤占用兩個I/O端口,行鎖存器為輸出口,并作為寫鍵盤端口,列鎖存器為輸入口,并作為讀鍵盤端口。讀鍵盤端口地址RKEYP=7FFFH;寫鍵盤端口地址WKEYP=BFFFH。
其工作原理如下:
使用非編碼鍵盤需要用相應軟件來解決按鍵的識別,防止抖動以及產生鍵碼等工作。按鍵的識別,即確定是否有按鍵按下。首先DSP通過寫鍵盤端口輸出00000到鍵盤的行線,然后通過讀鍵盤端口輸入,檢測鍵盤的列線信號。若沒有按鍵按下,則輸入的列線信號為111。若有按鍵按下,則輸入的信號不為111。
行掃描確定按鍵的位置,行掃描是指依次給每條行線輸出0信號,而其余行線輸出1信號,并檢測每次掃描所對應的列線信號。每次給行線輸出的信號稱為行代碼Xi,而檢測到的列線信號稱為列代碼Yi。若某行有按鍵按下,并掃描到該行時,則從讀鍵盤端口檢測到的列線信號為0,否則為1。在掃描的過程中,只要記下列信號不為全1時的行代碼和列代碼,就能確定按鍵的位置。
從寫鍵盤端口依次輸出的行代碼為:
11110---X011101---X111011---X2
10111---X301111---X4
由讀鍵盤端口讀入的列代碼為:
110---Y0 101---Y1 011---Y2
按鍵防抖,檢測到有按鍵按下后,延遲到10~20ms,然后再進行行掃描。鍵碼產生,經過行掃描后,就能確定按鍵的鍵碼。鍵碼是由行代碼和列代碼組合而成,
即鍵碼=[行代碼][列代碼]
例如:圖中的X鍵,對應的行代碼為X2=11011,列代碼為Y1=101,所形成的鍵碼為[行代碼][列代碼],即X鍵碼=X2Y1=11011101=DDH。
2.3軟件設計
系統的軟件流程圖和液晶顯示驅動流程圖以及鍵盤掃描流程圖見圖4,5,6。
源程序略:
2.4系統調試[9]
整個系統的調試包括硬件調試,軟件調試和總體調試三個部分,這三部分調試都可以借助TMS320VC5402的仿真器完成。
㈠硬件調試:
①測試電源電壓是否正常。
②測試DSP芯片的輸出頻率是否正確。
③對硬件系統進行系統仿真。
④測試鍵盤電路是否達到預設目的。
⑤液晶顯示器是否開始工作。
㈡軟件調試
DSP系統的軟件調試主要是在仿真器上進行的,把部分程序調入CCS平臺調試。
㈢總體調試
系統的軟硬件調試成功后,可以通過仿真器將用戶Boot程序和整個系統程序寫入FLASH。
3 結束
本文分析了基于DSP系統的人機接口電路的設計和DSP的最小系統,介紹了擴展DSP系統外圍電路的設計方法,并給出了系統的硬件結構框圖和軟件流程圖。盡管一般高端應用的人機接口都采用觸摸屏,但價格偏高,應用難以接受。本文介紹的人機接口電路它可以很方便的應用到指紋門禁系統、POS系統(電子收款系統)、ATM(自動取款機)等嵌入式處理系統中。
參考文獻
[1] 肖宛昂,方治. DSP嵌入式系統中人機接口電路的分析與設計.電子工業專用設備,2005年6月
[2] 何泳,馬孝江,王永剛.基于DSP的人機接口技術.機床與液壓,2004年月1月
[3] Andrew Bateman, Iain Paterson-Stephen.The DSP Handbook Algorithms,Applications and Design Techniquess, China Machine Press, 2003.3
[4] 李哲英,駱麗,劉元盛. DSP基礎理論與應用技術.北京航空航天大學出版社,2001年8月
[5] 鄒彥,唐冬,寧志剛. DSP原理及應用.電子工業出版社,2006年5月
[6] 戴明楨、周建江.TMS320C54X DSP結構、原理及應用.北京航天航空大學出版社,2001年
[7] 張雄偉,陳亮,徐光輝. DSP芯片的原理與開發應用(第三版).電子工業出版社,2003年2月
[8] 趙紅怡. DSP技術與應用實例.電子工業出版社,2004年6月
[9] 彭啟琮.DSP技術的發展與應用.高等教育出版社,2004年9月
作者簡介:肖峰(1978-),男,湖南常德人,電氣工程師