基于PSoC的V/F轉(zhuǎn)換器實現(xiàn)
摘要:介紹一種可編程系統(tǒng)芯片PSoC(Programmable System on-Chip)的主要功能,邏輯結(jié)構(gòu)及其系統(tǒng)實現(xiàn)。分析了V/F轉(zhuǎn)換器的基本原理,提出了在傳統(tǒng)V/F轉(zhuǎn)換器的基礎(chǔ)上,通過使用PSoC上的數(shù)?;旌闲盘栮嚵行酒瑢崿F(xiàn)壓頻轉(zhuǎn)換的功能。相比傳統(tǒng)技術(shù),新設(shè)計方式易于多功能集成,簡化了外圍電路,具有成本低廉,精度高,功耗低,可靠性好的優(yōu)點。
關(guān)鍵字:PSoC V/F轉(zhuǎn)換器 數(shù)模混合信號陣列芯片
1 引言
由美國賽普拉斯(CYPRESS)公司推出的可編程片上系統(tǒng)(PSoC)混合信號陣列是一款完整的系統(tǒng)級解決方案。該芯片包括可配置的數(shù)字和模擬外設(shè),8位微控制器和三種嵌入式存儲器。與傳統(tǒng)單片機的根本區(qū)別在于PSoC內(nèi)部集成的數(shù)字和模擬模塊是可配置的,可以根據(jù)不同設(shè)計要求調(diào)用不同的數(shù)字和模擬模塊,完成芯片內(nèi)部的功能設(shè)計,實現(xiàn)使用一塊芯片就可以配置成具有多種不同外圍元器件的微控制器,真正實現(xiàn)了微控制器的通用可配置。PSoC最大限度的將設(shè)計的靈活性與易用性相結(jié)合,大大提高了開發(fā)效率,降低了系統(tǒng)開發(fā)的復(fù)雜性和費用,同時增強了系統(tǒng)的可靠性和抗干擾能力。
1.1 PSoC內(nèi)部結(jié)構(gòu)
PSoC微控制器集成了一個快速8比特的CPU,8~16KB的Flash程序存儲器,SRAM數(shù)據(jù)存儲器,以及數(shù)字和模擬模塊。
PSoC有8個數(shù)字模塊(4通訊能力)和12個模擬模塊(4連續(xù)時間型和8開關(guān)電容式)。數(shù)字模塊可被配置為計時器,控制器或串行通訊端口。模擬模塊可以通過連接需要的寄存器,設(shè)置合適的運算放大器電路,編程實現(xiàn)放大器,濾波器,比較器,模數(shù)轉(zhuǎn)換器等功能。入圖一所示。
1.2 PSoC軟件工具
PSoC Desinger是基于Windows的軟件開發(fā)工具。包括器件編輯器,應(yīng)用程序編輯器,調(diào)試器。器件編輯器:選擇,放置和配置用戶模塊,資源和引腳;應(yīng)用程序編輯器:包括C編譯程序,匯編程序,庫管理程序;調(diào)試器:支持在線仿真,設(shè)置斷點并進行跟蹤。
(圖一)
2 工作原理
V/F轉(zhuǎn)換是將被測物理量經(jīng)傳感器轉(zhuǎn)換成與被測信號成比例的連續(xù)變化的電壓(或電流)量,再轉(zhuǎn)換為電壓〔或電流)的脈沖頻率(f)或周期(T)。根據(jù)電荷平衡式可知,輸出頻率 ,說明輸人電壓 與f存在線性函數(shù)關(guān)系。在PSoC中,使用連續(xù)時間模塊(CT)和一個開關(guān)電容模塊(SC)就可以實現(xiàn)V/F轉(zhuǎn)化。
V/F 轉(zhuǎn)換器的原理圖如圖二所示。
(圖二)
圖中包括一個積分器和一個施密特觸發(fā)器。積分器可由帶模擬模塊的SC模塊建立,施密特觸發(fā)器可由帶內(nèi)部電阻的CT模塊建立。積分器的輸出電壓由前一個采樣的輸出電壓和施密特觸發(fā)器的狀態(tài)決定。在SC模塊中將Sign位置為1,可使積分器的增益為負。施密特觸發(fā)器的輸出狀態(tài)隨著積分器的輸出極性的變化而變化。當施密特觸發(fā)器的輸出為負時,每個采樣時鐘會使積分器的輸出 ,A和電容(F)的比值決定(公式1)。
(2)
3 軟件實現(xiàn)
3.1 模塊設(shè)置
采用PSoC Desinger作為PSoC的集成開發(fā)環(huán)境(IDE)。轉(zhuǎn)換器被放置在PSoC Desinger的Column-O 中,可編程比較器用來生成施密特觸發(fā)器,反饋電阻與放大器的同相端連接,反相端直接和積分器的輸出相連。因為積分器使用的是自動歸零的模式,在每個時鐘里SC的輸出在需要的輸出值和AGND間變化。由于施密特觸發(fā)器的遲滯現(xiàn)象,因此就使積分器對轉(zhuǎn)換器沒有影響。
積分器放置在ASC10中,可配置的SC模塊用來生成積分器,Comparator Bus作為輸入源,F(xiàn)Cap被置為32, ACap被置為1,這樣就可以在每個給定輸入電壓里得到最大可能的積分過程。為了處理來自PSoC的Vss接地輸入信號,PSoC Desinger中的ARefMux被置為REFLO,RefMux被置為Vdd/2 Vdd/2。如果要使用以AGND為參考的輸入信號,就得把ARefMux參數(shù)置為AGND,同時設(shè)置好輸入和輸出管腳。
3.2 程序結(jié)構(gòu)
void main()
{
CMPPR_COMP_CRO|=BIT (2); //連接放大器RTopMux端
CMPPR_COMP_CR1=(CMPPR_COMP_CR1& OxCO)|Ox2F; //設(shè)置NMux和Pmux的連接
CMPPR_COMP_CR2&=BIT(6); //將輸出鎖存
CMPPR_start (CMPPR_HIGHPOWER);
AMD_CR0|=0x04;
INTEGR_Start(INTEGR_HIGHPOWER);
BYPASS_FUNC_REG=BYPASS_FUNC_REG&OxFC|0x02;
BYPASS_control_REG|=0x03;
BYPASS_Start();
While(1); //一直循環(huán)下去
}
3.3 測試結(jié)果
輸入電壓(V) | 理論輸出頻率 (KHZ) | 實際輸出頻率 (KHZ) | 誤差率 |
0.5 | 1.0 | 0.980 | -2.0% |
1.0 | 2.0 | 2.030 | 1.5% |
1.5 | 3.0 | 3.064 | 2.13% |
2.0 | 4.0 | 4.113 | 2.82% |
2.5 | 5.0 | 4.912 | -1.76% |
3.0 | 6.0 | 5.886 | -1.9% |
3.5 | 7.0 | 7.225 | 3.21% |
4.0 | 8.0 | 7.748 | -3.15% |
4.5 | 9.0 | 8.837 | -1.81% |
5.0 | 10.0 | 10.306 | 3.06% |
(圖四)
從圖中可看出,用PSoC實現(xiàn)的V/F轉(zhuǎn)換器線性度比較良好,誤差小,具有廣泛的應(yīng)用范圍。
4 結(jié)束語
本文介紹了應(yīng)用PSoC設(shè)計實現(xiàn)V/F轉(zhuǎn)換器。從中可以看到PSoC設(shè)計靈活,開發(fā)簡單,能大大提高開發(fā)效率,降低系統(tǒng)開發(fā)的復(fù)雜性和費用,縮短產(chǎn)品開發(fā)周期,具有廣闊的應(yīng)用前景。
5 本文作者創(chuàng)新點
應(yīng)用PSoC高度集成的硬件模塊和完善的軟件開發(fā)平臺,根據(jù)需要實時動態(tài)地配置輸入電壓和輸出頻率的比值,具有很大的靈活性。