摘 要:可編程片上系統PSoC的出現,使得在單個芯片上可以實現模擬和數字系統的混合設計。本文基于PSoC4器件,結合6100LCD液晶屏,以PSoC Creator軟件為平臺,實現一個簡易的數字示波器。經過測試,可以成功顯示幅度為0-3.3V,頻率達到20KHz的波形。
關鍵詞:PSoC可編程片上系統;數字;示波器
引言
隨著半導體技術的發展和芯片集成度的提高,越來越多的廠商開始提供在單芯片上實現復雜系統的解決方案,即基于SoPC的解決方案[1]。這種解決方案由于將模擬和數字系統集成在單個芯片內,使得設計靈活度更高,可靠性更高,更方便,同時還可縮短系統設計周期,節省設計成本。
本設計采用PSoC4芯片CY8CKIT-042作為微控制器,通過配置具體的模擬和數字模塊資源實現一個可以在128*128的彩色LCD顯示振幅為0~3.3V頻率不大于20KHz波形的示波器。
1系統設計
1.1 PWM模塊
本設計利用TCPWM具有多樣的工作模式及計數方式,并可與ADC同步的特點,自定義在PWM周期內任一時刻觸發ADC轉換。PWM中時鐘頻率設為400kHz。在PSoC Creator中選擇TCPWM模塊的工作模式為“PWM”,PWM align設置為Left align ,即左對齊,PWM mode為PWM,將周期寄存器period值設為2,比較寄存器中值設為1。
1.2 ADC模塊
在該設計中,ADC對輸入的要顯示的信號進行采樣離散化,設置如下。采樣模式:硬件觸發;VERF選擇:vdda;信號輸入結束:vss;結果數據格式:unsigned;交替協議:8 ;信道:0;Resolution:ALT;模式:single。
1.3 SPI模塊
SPI模塊是進行PSoC4與LCD通信的模塊,將經過板子處理過的信號,經過SPI,顯示在LCD上。SPI用戶模塊包括SPI Master模塊(SPIM)和SPI Slave模塊(SPIS)。設計中板子相當于MASTER,LCD相當于SLAVE,因此需要SPIM模式。它執行全雙工同步8-bit 數據傳輸。可設定SCLK 的相位、極性,以適應大多數SPI 的SLAVE器件。DIO就是ADC_IN,就是進行信號輸入(LCD)的腳,SCK輸入時鐘,CS是片選引腳,LCD_RES就是LCD初始化引腳。
1.4 按鍵部分
按鍵有三個,當按下S1時,觸發中斷,對信號進行縱向大小的調整(變高或者變矮);當按下S2時,進行時間掃描,對信號進行橫向大小的調整(變寬或者變窄),當按下S3時,將信號的峰峰值和周期值同時顯示出來。Debouncer部件用來消除抖動,isr_Time_Scale,isr_Voltage_Scale,isr_Parameters是三個按鍵對應的中斷,用來觸發相應的事件。
1.5 液晶顯示器顯示
使用帶有LCD6100的Color LCD Shield來作為顯示器。Color LCD Shield除了帶有大小為128*128 LCD6100外,還帶有三個按鍵和一個可以增加到7V的電子驅動器。LCD6100是通過9比特的SPI接口來驅動的。LCD的控制腳連接到Arduino 的硬件SPI腳上(D13 -SCK, D11 - DIO),CS腳連接到D9 ,復位(reset)腳連接到D8。Arduino引腳的電壓從5V提升到7V作為背光燈的電源。Color LCD Shield可以使用Epson S1D15G10或者PCF8833的控制器,我們使用PCF8833。在程序中,首先將LCD初始化,顯示等函數加入,在Header Files中引入頭文件ColorLCDShield.h[2]。LCD的全部相關函數的具體實現和字庫的值在Souce Files中的ColorLCDShield.c中。
2 系統測試
測試使用儀器與設備:信號發生器一臺、電源連接線、液晶屏、PSoC4開發板。將各部分電路連接起來,使用信號發生器產生0-3.3V信號,作用于PSoC4,在液晶屏顯示波形,頻率在20KHz以內時波形顯示正常,通過按鍵可以調節波形在水平方向和垂直方向的大小,可以讀出波形的峰峰值(Vp-p),頻率值(f)參數。
3 結語
本文根據應用需求設計并實現了基于PSoC的簡易示波器,經過測試,可以成功顯示幅度為0-3.3V,頻率達到20KHz的波形。具有使用靈活,設計成本低,開發周期短等優勢。
參考文獻:
[1]百度百科. PSoC.http://baike.baidu.com/view/955531.htm?fr=aladdin.
[2]SPI. Serial Peripheral Interface (SPI) Master(version 2.40)[K].Cypress Corporation.
作者簡介:
耿家國(1965.4—),男,漢族,大專,工程師。