擁有USB的PSoC應(yīng)用于風(fēng)扇控制
出處:wszqw 發(fā)布于:2011-07-21 10:34:46
PSoC 是一種對(duì)于標(biāo)準(zhǔn)的"全數(shù)字式"微控制器設(shè)計(jì)、純粹的模擬設(shè)計(jì)以及介乎此二者之間的所有設(shè)計(jì)而言具有同等的高適用性的器件,是一種具有極端靈活且完全可編程的混合信號(hào)SOC 的基本原理的全新一代器件。PSoC系列單片機(jī)是在一個(gè)專有的MCU(Microprogrammed Control Unit)內(nèi)核周圍集成了可配置的模擬和數(shù)字外圍器件陣列PSoC塊,利用芯片內(nèi)部的可編程互聯(lián)陣列,有效地配置芯片上的模擬和數(shù)字塊資源,達(dá)到可編程片上系統(tǒng)的目的。賽普拉斯的PSoC(TM)混合信號(hào)陣列是可編程的片上系統(tǒng)(SOC),其集成了微控制器以及嵌入式系統(tǒng)中通常圍繞微控制器周圍的模擬及數(shù)字組件。采用一個(gè)微控制器,一個(gè)PSoC器件多可集成100種外設(shè)功能,從而幫助客戶節(jié)約設(shè)計(jì)時(shí)間和板上面積,降低了功耗,系統(tǒng)成本也可降低5美分到10美元不等。方便易用的開發(fā)工具使設(shè)計(jì)人員能夠準(zhǔn)確選擇所需的外設(shè)功能,包括放大器、ADC、DAC、濾波器及比較器等模擬功能以及定時(shí)器、計(jì)數(shù)器、PWM、SPI和UART等數(shù)字功能。
靈活的PSoC資源令設(shè)計(jì)人員可以在設(shè)計(jì)、確認(rèn)、生產(chǎn)過程中現(xiàn)場(chǎng)進(jìn)行基于固件的改動(dòng),從而防止產(chǎn)品過時(shí)。PSoC的靈活性大大縮短了設(shè)計(jì)周期,從而可以實(shí)現(xiàn)臨上市前的性能改進(jìn)。所有的PSoC器件都是可動(dòng)態(tài)重配置的,使得設(shè)計(jì)人員能夠隨意在運(yùn)行過程中改變內(nèi)部資源形式,使用較少的元件完成既定任務(wù)。
賽普拉斯(CYPRESS)半導(dǎo)體公司日前宣布推出業(yè)界首款同時(shí)集成非易失性靜態(tài)隨機(jī)訪問存儲(chǔ)器(nvSRAM)與可編程片上系統(tǒng)的器件PSoC NV。該全新的PSoC NV產(chǎn)品系列將賽普拉斯旗艦PSoC架構(gòu)的高度設(shè)計(jì)靈活性與nvSRAM的耐用性集于一身。PSoC NV器件集成了可由片上微控制器控制的可配置模擬和數(shù)字線路,更加便于設(shè)計(jì)修改,又可節(jié)約元件數(shù)。這款安全存儲(chǔ)數(shù)據(jù)記錄器件的目標(biāo)市場(chǎng)包括計(jì)算、網(wǎng)絡(luò)、電信、汽車和工業(yè)市場(chǎng)等。
在選擇微控制器(將微型計(jì)算機(jī)的主要部分集成在一個(gè)芯片上的單芯片微型計(jì)算機(jī))的過程中,一個(gè)重要的特征是其與周圍環(huán)境的全面連接能力?;谖⒖刂破鞯南到y(tǒng)必須具有一個(gè)至傳感器的簡(jiǎn)易型廉價(jià)接口以及通信接口等等。賽普拉斯公司的可編程系統(tǒng)級(jí)芯片(PSoC)架構(gòu)提供了適合各種應(yīng)用且靈活性和經(jīng)濟(jì)性的解決方案。

本文將著重介紹CY8C24794 PSoC芯片。如上述示意圖1所示,即為CY8C24794 PSoC芯片。它具有四個(gè)主要部分:PSoC內(nèi)核、數(shù)字系統(tǒng)、模擬系統(tǒng)和包括一個(gè)全速USB端口的系統(tǒng)資源。這種架構(gòu)使得用戶能夠創(chuàng)建與各應(yīng)用的要求相吻合的定制外設(shè)配置。USB接口再加上可配置模擬和數(shù)字外設(shè),使得CY8C24794在與其外部環(huán)境的連接中擁有了的通用性。
PSoC內(nèi)核包括:
·一個(gè)8位、4MIPS CPU
·16kbytes程序快速擦寫ROM
·1Kbytes數(shù)據(jù)RAM
·達(dá)±0.25%的內(nèi)部24MHz振蕩器(在USB應(yīng)用中)
·睡眠和看門狗定時(shí)器
·低速32kHz振蕩器
·通用型輸入/輸出引腳IO(GPIO)允許把任何引腳用作數(shù)字輸入或輸出,并將大多數(shù)引腳用作模擬輸入或輸出。每個(gè)引腳均可被用作一個(gè)數(shù)字或模擬中斷。

如上述示意圖2所示,即為PSoC的數(shù)字系統(tǒng)。它由4個(gè)數(shù)字PSoC塊組成,每個(gè)塊都是一個(gè)8位資源,既可單獨(dú)使用,也可與其他塊相組合以形成外設(shè)。
PSoC可能的外設(shè)包括:
·PWM(脈寬調(diào)制,是利用微處理器的數(shù)字輸出來對(duì)模擬電路進(jìn)行控制的一種非常有效的技術(shù),廣泛應(yīng)用在從測(cè)量、通信到功率控制與變換的許多領(lǐng)域中。)(8位~32位)
·具有不工作區(qū)的PWM(8位~24位)
·計(jì)數(shù)器(8位~32位)
·具有可選奇偶性的8位UART(Universal Asynchronous Receiver/Transmitter,通用異步接收/發(fā)送裝置,UART是一個(gè)并行輸入成為串行輸出的芯片,通常集成在主板上)
·SPI(高速同步串行口,是一種標(biāo)準(zhǔn)的四線同步雙向串行總線)主控器和從動(dòng)器
·循環(huán)冗余校驗(yàn)器/發(fā)生器(8位~32位)
·偽隨機(jī)序列發(fā)生器(8位~32位)
以上這些數(shù)字塊可以通過一系列通用總線與任何相連。同時(shí),這些總線還為進(jìn)行信號(hào)多路復(fù)用和邏輯運(yùn)算創(chuàng)造了條件。

如上述示意圖3所示,即為PSoC模擬系統(tǒng)。它包括6個(gè)可配置塊,每個(gè)塊由一個(gè)運(yùn)算放大器電路組成,從而實(shí)現(xiàn)了復(fù)雜模擬信號(hào)流的生成。模擬外設(shè)具有非常高的靈活性,并可通過客戶化設(shè)計(jì)來支持特定的應(yīng)用要求。
下面例舉了一些更加常用的PSoC模擬部件:
·濾波器(雙極點(diǎn)和四極點(diǎn)帶通、低通和陷波濾波器)
·放大器(多達(dá)2個(gè),具有至48倍的可選增益)
·儀表放大器(1個(gè),具有至93倍的可選增益)
·比較器(多個(gè)2個(gè),具有16種可選門限)
·DAC(數(shù)模轉(zhuǎn)換器)(多達(dá)2個(gè),具有6位~10位分辨率)
·SAR型ADC(多達(dá)2個(gè),具有6位分辨率)
當(dāng)PSoC的模擬塊與數(shù)字塊組合時(shí),用戶還能夠生成額外的部件,它包括:
·增量型ADC(多達(dá)2個(gè),具有6位~14位分辨率)
·增量-累加(ΔΣ)型ADC(1個(gè),在62.5ksps采樣速率條件下具有8位分辨率)
附加的系統(tǒng)資源可提供適用于完整系統(tǒng)設(shè)計(jì)的更多功能。這些資源包括:
·具有5個(gè)可配置端點(diǎn)和256bytes RAM的全速USB(12Mbps),只需要2個(gè)外部串聯(lián)電阻器。
·硬件I2C通過兩根電纜提供了100kHz和400kHz通信。支持從模式、主模式和多主模式。
·數(shù)字時(shí)鐘分頻器提供了三種適合不同應(yīng)用的可定制時(shí)鐘頻率。可通過布線使時(shí)鐘與數(shù)字和模擬系統(tǒng)相連。
·兩個(gè)乘法累加單元(MAC)提供了具有16位結(jié)果的快速帶符號(hào)8位乘法和32位累加運(yùn)算功能,旨在幫助進(jìn)行通用數(shù)學(xué)和數(shù)字信號(hào)處理。
·抽取器提供了一個(gè)針對(duì)數(shù)字信號(hào)處理應(yīng)用(包括ΔΣ型ADC的形成)的定制硬件濾波器。
·低電壓檢測(cè)(LVD)中斷能夠指示電壓電平的下降,而先進(jìn)的POR(上電復(fù)位)電路則免除了增設(shè)一個(gè)系統(tǒng)監(jiān)控器的需要。
·內(nèi)部1.3V基準(zhǔn)提供了一個(gè)用于模擬系統(tǒng)(包括ADC和DAC)的基準(zhǔn)。
·通用型模擬多路復(fù)用器系統(tǒng)。
圖4:CY8C24794 I/O模擬多路復(fù)用器總線/系統(tǒng)連接
當(dāng)選擇一個(gè)控制器時(shí),設(shè)計(jì)師必須了解需要多少個(gè)模擬輸入。對(duì)于只需要6個(gè)輸入的系統(tǒng),8個(gè)輸入是否足夠?需求會(huì)不會(huì)進(jìn)一步提高?一個(gè)特殊的控制器系列能夠處理多少個(gè)模擬輸入?CY8C24794通過允許將其多達(dá)6個(gè)I/O端口與一個(gè)模擬多路復(fù)用器相連的方法(從而可將48個(gè)引腳用于模擬信號(hào))解決了該問題。上述示意圖4就對(duì)此問題進(jìn)行了詳細(xì)的分析。
一個(gè)I/O模擬多路復(fù)用器(復(fù)用器是一種綜合系統(tǒng),通常包含一定數(shù)目的數(shù)據(jù)輸入,n個(gè)地址輸入(以二進(jìn)制形式選擇一種數(shù)據(jù)輸入))實(shí)際是兩根總線,如果需要的話,可在內(nèi)部進(jìn)行連接。它實(shí)質(zhì)上就是一個(gè)大型交叉開關(guān),允許將 任何引腳連接至一個(gè)模擬控制系統(tǒng)的模擬陣列。每個(gè)引腳都具有一個(gè)開關(guān),當(dāng)被選擇時(shí)則與一根模擬總線相連。如果模擬陣列和數(shù)字塊被配置成一個(gè)ADC,則將能夠檢測(cè)多達(dá)48個(gè)輸入信號(hào)的電壓。
與模擬多路復(fù)用器總線相連的還有一個(gè)電流源。該電流DAC是可選的,并具有兩個(gè)調(diào)節(jié)范圍,即:0μA~20μA或0μA~400μA。如欲讀出一個(gè)電阻值,則只需以下四個(gè)步驟即可:
?。?) 將電阻連接至一個(gè)引腳
?。?) 把該引腳連接至模擬總線
?。?) 啟動(dòng)電流
?。?) 利用同樣連接至該總線的ADC來測(cè)量負(fù)載電壓(該電壓是電阻與電流的乘積)
為了獲得超高準(zhǔn)確度,一種方法是犧牲一個(gè)引腳來換取一個(gè)基準(zhǔn)電阻器。將該電阻器連接至總線,并測(cè)量其兩端的負(fù)載電壓。然后,斷開該電阻器、連接所需的電阻器并測(cè)量其負(fù)載電壓。這兩個(gè)電壓讀數(shù)之比就等于兩個(gè)電阻器的阻值之比。電流準(zhǔn)確度中的任何誤差都將下降。此時(shí),測(cè)量的準(zhǔn)確度完全取決于基準(zhǔn)電阻器的準(zhǔn)確度。
加至模擬多路復(fù)用器上的一個(gè)放電開關(guān)可被用來測(cè)量電容。當(dāng)受到的激勵(lì)時(shí),與電阻器將產(chǎn)生一個(gè)DC(直流)負(fù)載電壓
不同,生成的是一個(gè)。該斜坡速率與激勵(lì)電流成正比,而與測(cè)量電容成反比。為了方便該轉(zhuǎn)換速率的測(cè)量,模擬部分被配置成一個(gè)采樣比較器。電容器(由兩片接近并相互絕緣的導(dǎo)體制成的電極組成的儲(chǔ)存電荷和電能的器件)被連接至總線,從而產(chǎn)生一個(gè)轉(zhuǎn)換信號(hào)。當(dāng)該信號(hào)達(dá)到比較器的調(diào)整點(diǎn)時(shí),放電開關(guān)進(jìn)入工作狀態(tài),導(dǎo)致電容器放電回零。開關(guān)隨后釋放,該循環(huán)繼續(xù)進(jìn)行。這個(gè)過程被稱為弛張振蕩。顯然,這種循環(huán)的頻率與施加的電流成正比,而與電容成反比。比較器輸出被饋至數(shù)字部分,這里已經(jīng)配置了一個(gè)頻率計(jì)數(shù)器或周期定時(shí)器。電容可從測(cè)量數(shù)字信號(hào)推導(dǎo)出來。
有多種換能器可將信號(hào)轉(zhuǎn)換成電容,比如顯微機(jī)械加工加速器。電容的一項(xiàng)重要應(yīng)用是測(cè)量手指的存在與否。該技術(shù)可被用于電容性觸摸開關(guān)的移植,這種觸摸開關(guān)正在逐漸取代消費(fèi)類電子產(chǎn)品(比如:MP3播放器、筆記本電腦和移動(dòng)電話)中的按鈕和開關(guān)。電容性觸摸開關(guān)提供了一種獨(dú)特的用戶體驗(yàn),而且不易受到潮濕以及其他環(huán)境因素的損壞。
風(fēng)扇控制應(yīng)用
風(fēng)扇模塊概述:大型電信、網(wǎng)絡(luò)系統(tǒng)經(jīng)常使用高性能處理器,從而在一個(gè)簡(jiǎn)單的機(jī)架上實(shí)現(xiàn)更多功能。例如,一個(gè)曾經(jīng)支持12條ADSL的線卡現(xiàn)在可以支持64條,之前能夠耗散24W (每條ADSL為2W)功率的電路板現(xiàn)在必須耗散128W的功率。用強(qiáng)勁的冷空氣氣流降低相關(guān)熱阻,以達(dá)到散熱要求。大多數(shù)電信系統(tǒng)包含很多風(fēng)扇。為保證在一個(gè)風(fēng)扇出現(xiàn)故障的情況下系統(tǒng)仍能正常工作,系統(tǒng)經(jīng)常放置超過理論所需數(shù)目的風(fēng)扇(N+1結(jié)構(gòu))。這樣,一個(gè)系統(tǒng)可能會(huì)用到6至8個(gè)風(fēng)扇。每個(gè)風(fēng)扇都有自己的電源,使風(fēng)扇可以很容易地替換而不需要關(guān)閉整個(gè)系統(tǒng)。
PSoC器件的常見應(yīng)用之一便是風(fēng)扇控制。PSoC架構(gòu)的超群集成度使得實(shí)際風(fēng)扇控制應(yīng)用的元件數(shù)量減少了25個(gè)以上。

如上述方框示意圖5即為一種速度受控型風(fēng)扇的實(shí)例。我們將對(duì)其進(jìn)行研究PSoC器件對(duì)其帶來的作用。
我們對(duì)所需的溫度進(jìn)行測(cè)量,并將測(cè)量值用于定義期望的風(fēng)扇速度(調(diào)整點(diǎn))。初,對(duì)于20℃以下的溫度,該參數(shù)為2000RPM;對(duì)于70℃以及更高的溫度,該參數(shù)則為7000RPM,并且隨著這些極限值之間的溫度呈線性變化。這些是初始值;它們必須能夠由主機(jī)通過I2C接口來改變。輸送至風(fēng)扇的功率由一個(gè)脈寬調(diào)制器(PWM)來控制。其頻率應(yīng)接近1kHz。一個(gè)轉(zhuǎn)速計(jì)被連接至風(fēng)扇,用于測(cè)量其速度??刂扑惴ㄇ蟮闷谕俣扰c測(cè)量速度之差(誤差),并用它來確定PWM的合適占空比。與溫度一樣,這些控制參數(shù)的設(shè)定值也必須能夠通過I2C主機(jī)來改變。

如上述示意圖6所示,PWM(脈沖調(diào)制器)是利用一個(gè)數(shù)字塊來實(shí)現(xiàn)的。所做的一項(xiàng)改進(jìn)是采用了另一個(gè)數(shù)字塊來生成一個(gè)具有50.2%(128/255)占空比的偽隨機(jī)脈沖流。當(dāng)把該信號(hào)連接至PWM啟動(dòng)引腳時(shí),PWM的工作頻率將是一個(gè)連續(xù)啟動(dòng)的PWM的50.2%。
這種PWM實(shí)現(xiàn)方案的好處是輸出頻率現(xiàn)在擁有了一個(gè)±3%的高頻抖動(dòng),這樣可以顯著地降低了峰值諧波EMI輻射。
脈沖寬度的改變將在軟件的控制之下進(jìn)行。
轉(zhuǎn)速計(jì)電路由兩個(gè)數(shù)字塊(被配置為一個(gè)16位定時(shí)器)和一個(gè)連續(xù)模擬塊(被配置為一個(gè)比較器)組成,用于調(diào)節(jié)風(fēng)扇的轉(zhuǎn)速計(jì)信號(hào)。
風(fēng)扇速度是通過測(cè)量?jī)蓚€(gè)脈沖之間的時(shí)間長(zhǎng)度來確定的。比較器與列比較器總線0相連,后者又與定時(shí)器的捕獲信號(hào)相連。風(fēng)扇的標(biāo)稱轉(zhuǎn)速為2000rpm~7000rpm。選定的風(fēng)扇具有4個(gè)極點(diǎn),因此標(biāo)稱范圍將具有133Hz(2000×4/60)和467Hz的標(biāo)稱頻率。當(dāng)采用一個(gè)用于實(shí)現(xiàn)定時(shí)器同步的2MHz系統(tǒng)時(shí)鐘時(shí),可以測(cè)量長(zhǎng)達(dá)328mS或31Hz的脈沖寬度。

上述示意圖為一個(gè)將被用來測(cè)量溫度,被選產(chǎn)品型號(hào)為muRata NTH5G16P33B103J07TH的溫度-電阻關(guān)系。

如欲測(cè)量熱敏電阻(由具有很高電阻溫度系數(shù)的固體半導(dǎo)體材料構(gòu)成的熱敏類型的溫度檢測(cè)元件)的阻值,則把一個(gè)熱敏電阻和一個(gè)10k基準(zhǔn)電阻器連接至可以使用模擬多路復(fù)用器MUX1的引腳。連續(xù)時(shí)間模擬塊被配置為一個(gè)緩沖器,其輸入與模擬MUX總線1相連。該列中剩余的兩個(gè)塊和一個(gè)數(shù)字塊被配置為一個(gè)14位ADC,如上述示意圖7所示。
該ADC的設(shè)定輸入范圍為0V~2.6V.電流DAC被接通,并針對(duì)一個(gè)200μA電流進(jìn)行了設(shè)置。即使在20℃的溫度條件下,負(fù)載電壓也為2.4V.對(duì)于ADC的輸入范圍而言這是合適的。
考慮的是4個(gè)模擬塊和5個(gè)數(shù)字塊的資源使用。這似乎超出了可用資源的范疇。PSoC資源不僅是可配置的;而且還是動(dòng)態(tài)可重構(gòu)的。由于轉(zhuǎn)速計(jì)和ADC永遠(yuǎn)不會(huì)同時(shí)使用,因此它們可以共享數(shù)字資源。配置一個(gè)ADC并加以使用。然后配置一個(gè)轉(zhuǎn)速計(jì)并使用。
在該應(yīng)用中,4個(gè)數(shù)字塊實(shí)際上起到了5個(gè)數(shù)字塊的作用,也就是說數(shù)字塊資源的利用率達(dá)到了125%。
I2C從屬用戶模塊具有的易用性。對(duì)于本例而言,端口5的靠下的7個(gè)引腳被用來設(shè)定地址。該用戶模塊只需要一個(gè)至其即將使用的RAM空間的指針。
就本例來說,下列變量將被存儲(chǔ)于I2C存儲(chǔ)空間中。
struct I2C_Space{/Memory Common to I2C
char cTem
p;
char cTempLowerLimit;
int iFanLowerRPM;
char cTempUpperLimit;
int iFanUpperRPM;
int iControlWeightFactor;
int iTachRPM;
} MyI2C_Space;
以下是使I2C接口正常運(yùn)作所需的全部代碼:
EzI2Cslave_SetAddr((PRT5DR & 0x7f0));/Port 5 controls I2C address
EzI2Cslave_SetRamBuffer( 11, 11,(BYTE *) &MyI2C_Space );
EzI2Cslave_Start(void)
這些功能調(diào)用負(fù)責(zé)設(shè)定I2C地址、定義為I2C用戶模塊和程序的其余部分所共有的存儲(chǔ)空間、并啟動(dòng)該外設(shè)。
下面的代碼列表示出了用于該風(fēng)扇應(yīng)用的控制環(huán)路:
while(1){
while(bSleepTimerTick !=0);
bSleepTimerTick = 0;
LoadConfig_ADC();
MyI2C_Space.cTemp = cGetTemp();
UnloadConfig_ADC();
LoadConfig_Tach();
MyI2C_Space.iTachRPM = iReadTach();
UnloadConfig_Tach();
UpdatePWM();
}
請(qǐng)注意,ADC和轉(zhuǎn)速計(jì)始終處于被配置和重構(gòu)的狀態(tài)之下。

圖8:風(fēng)扇控制示意圖
上述示意圖8出了完整的風(fēng)扇控制設(shè)計(jì)方案(所有的元件都被連接到了其適當(dāng)?shù)囊_)。
該設(shè)計(jì)可以很容易地進(jìn)行修改,以增設(shè)更多的自動(dòng)調(diào)溫器。只需將每個(gè)自動(dòng)調(diào)溫器連接至其自己的引腳并讀出其電阻即可。該通信接口以往采用的是I2C,只需采用適當(dāng)?shù)挠脩裟K便可輕而易舉地改為SPI、UART或USB。
采用可編程系統(tǒng)級(jí)芯片的賽普拉斯CY8C24794微控制器為實(shí)現(xiàn)與各種傳感器和外圍設(shè)備的連接奠定了基礎(chǔ)。其動(dòng)態(tài)可重構(gòu)性有利于實(shí)現(xiàn)極高的片上資源利用率。對(duì)于我來說,它是理想的嵌入式系統(tǒng)控制器選擇。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫電子市場(chǎng)網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 什么是氫氧燃料電池,氫氧燃料電池的知識(shí)介紹2025/8/29 16:58:56
- SQL核心知識(shí)點(diǎn)總結(jié)2025/8/11 16:51:36
- 等電位端子箱是什么_等電位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重復(fù)控制的復(fù)合控制策略2025/7/29 16:58:24
- 什么是樹莓派?一文快速了解樹莓派基礎(chǔ)知識(shí)2025/6/18 16:30:52









