基于PSoC的精簡(jiǎn)尺寸型LED點(diǎn)陣系統(tǒng)設(shè)計(jì)方案
摘 要:介紹了傳統(tǒng)采用單片機(jī)控制的LED 顯示屏的設(shè)計(jì)方法與基于PSoC 技術(shù)的LED 顯示屏的設(shè)計(jì)方法的區(qū)別;闡述了PSoC 技術(shù)在LED 點(diǎn)陣顯示系統(tǒng)設(shè)計(jì)中的優(yōu)勢(shì);以PSoC 系列的CY8C27443 芯片為核心的LED 點(diǎn)陣顯示系統(tǒng)為例,具體描述了PSoC 多功能精簡(jiǎn)尺寸型LED 點(diǎn)陣系統(tǒng)的硬件設(shè)計(jì)、PSoC 配置和軟件功能的具體設(shè)計(jì)實(shí)現(xiàn)方法。由于CY8C27443 芯片的內(nèi)部資源更加豐富所以進(jìn)行LED 點(diǎn)陣系統(tǒng)的設(shè)計(jì)比51 單片機(jī)電路更加簡(jiǎn)單,性能更加穩(wěn)定,軟件設(shè)計(jì)也更加簡(jiǎn)單方便,所以大大節(jié)省了開(kāi)發(fā)周期和成本。
本文引用地址:http://www.ex-cimer.com/article/167826.htm傳統(tǒng)采用51 單片機(jī)控制LED 點(diǎn)陣的顯示屏功能相對(duì)比較單一若要使其實(shí)現(xiàn)功能的多樣化,則往往需要花費(fèi)大量的時(shí)間和精力設(shè)計(jì)復(fù)雜的外圍電路,故其系統(tǒng)設(shè)計(jì)中使軟件、硬件的設(shè)計(jì)更為復(fù)雜,增加了開(kāi)發(fā)難度;增大了顯示屏的體積和重量,不易于運(yùn)輸和安裝;更重要的是產(chǎn)品生產(chǎn)成本也較為高昂。與傳統(tǒng)LED 顯示屏相比,基于PSoC 技術(shù)所開(kāi)發(fā)的多功能精簡(jiǎn)尺寸型LED 點(diǎn)陣顯示屏是利用片上系統(tǒng)的技術(shù)優(yōu)點(diǎn)將各個(gè)不同功能的模塊集成在同一芯片上,由于其僅僅通過(guò)添加和減少芯片上的模塊就可以實(shí)現(xiàn)相應(yīng)功能的增減,這就在很大程度上彌補(bǔ)了傳統(tǒng)LED 顯示屏的不足,縮短了開(kāi)發(fā)周期,使產(chǎn)品更容易升級(jí)更新。
1 系統(tǒng)工作原理
1.1 PSoC 系列單片機(jī)介紹
PSoC:(Programmable System-On-Chip)可編程系統(tǒng)級(jí)芯片,是新一代片上系統(tǒng)單片機(jī)。由賽普拉斯公司的PSoC(TM)混合信號(hào)陣列是可編程的片上系統(tǒng)(SOC),該芯片集成了微控制器及嵌入式系統(tǒng)中常需擴(kuò)充的模擬及數(shù)字組件。同時(shí),也可將PSoC 視為8 位微控制器,即8 位單片機(jī)。但是和一般單片機(jī)不同的是它幾乎不需要外圍電路,一片PSoC 芯片就可實(shí)現(xiàn)一個(gè)電子系統(tǒng),而且PSoC 具有比一般單片機(jī)更多的內(nèi)部資源。國(guó)外專(zhuān)家把它的發(fā)展喻為第二次電子學(xué)革命。本系統(tǒng)使用的PSoC 芯片是CY8C27443,CY8C27xxx 是PSoC 混合信號(hào)陣列中在模擬量中處理最為強(qiáng)的一個(gè)系列[1],下表1 是28 管腳的CY8C24533和AT89C51 之間的比較。從上表中我們不難看到CY8C27443 芯片的內(nèi)部資源更加豐富所以進(jìn)行LED點(diǎn)陣系統(tǒng)的設(shè)計(jì)比51 單片機(jī)電路更加簡(jiǎn)單,性能更加穩(wěn)定。該芯片價(jià)格很廉價(jià)而且還增加A/D 模塊,D/A模塊,SPI 接口模塊,PWM 模塊,溫度傳感器等都可以集成在芯片內(nèi)部這樣就使得外圍電路大大減少,硬件電路尺寸更加精簡(jiǎn)、可靠。軟件設(shè)計(jì)也更加簡(jiǎn)單方便大大節(jié)省了開(kāi)發(fā)周期。CY8C27443 芯片價(jià)格相比51單片機(jī)來(lái)說(shuō)雖然高出了2-3 倍但是內(nèi)部有其豐富的資源可供配置所以該系統(tǒng)成本可以節(jié)省50%~60%左右。
表1 CY8C24533 和AT89C51 之間的比較
1.2 基于PSoC 的精簡(jiǎn)尺寸LED 點(diǎn)陣系統(tǒng)的硬件設(shè)計(jì)
基于PSoC 的多功能精簡(jiǎn)尺寸型LED 點(diǎn)陣系統(tǒng)的硬件設(shè)計(jì)如圖1 所示,以PSoC 為控制器的LED 點(diǎn)陣系統(tǒng)通過(guò)TG202 煙霧傳感器傳感器,HM1500 濕度傳感器,以及PSoC 片內(nèi)集成的溫度傳感器。分別采集到空氣中的煙霧濃度,濕度和溫度情況后及時(shí)發(fā)布到LED 顯示屏上顯示,當(dāng)出現(xiàn)異常情況時(shí)還可以通過(guò)蜂鳴器發(fā)出報(bào)警。采集到的數(shù)據(jù)也可以通過(guò)Si4432 無(wú)線收發(fā)模塊送入PC 機(jī)進(jìn)行外部環(huán)境監(jiān)測(cè)。同時(shí)也可以在PC 機(jī)上輸入字符后通過(guò)無(wú)線收發(fā)模塊發(fā)送到LED顯示屏來(lái)發(fā)布廣告和通知等信息。由于PSoC 同時(shí)具有片內(nèi)和片外系統(tǒng)時(shí)鐘源。從而且顯示屏掃描速度可以提高,使得產(chǎn)品硬件設(shè)計(jì)性能更加可靠,加之PSoC可以動(dòng)態(tài)重構(gòu)所以產(chǎn)品更加靈活多變,功能更加齊全;軟件設(shè)計(jì)方面有廠商提供的API 函數(shù)可供調(diào)選,編程者無(wú)須向使用51 單片機(jī)那樣在底層驅(qū)動(dòng)上大費(fèi)心思,這樣使底層驅(qū)動(dòng)程序開(kāi)發(fā)周期大大縮短,從而可把精力更多的應(yīng)用程序開(kāi)發(fā)上,提高了開(kāi)發(fā)效率。
圖1 基于PSoC 的多功能精簡(jiǎn)尺寸型LED 點(diǎn)陣系統(tǒng)的硬件設(shè)計(jì)
1.2.1 TGS202 作為氣體傳感器
本系統(tǒng)采用TGS202 作為氣體傳感器來(lái)檢測(cè)空氣中含有的CO,CO2,煤氣,甲烷等氣體來(lái)檢測(cè)環(huán)境中的煙霧,當(dāng)探測(cè)到這些氣體時(shí)TG202 的內(nèi)阻變小,從而使得輸出端電壓快速上升,以達(dá)到檢測(cè)火災(zāi)的功能。
通過(guò)配置PSoC 中的放大器和8 位8 通道A/D 轉(zhuǎn)換模塊,并且該內(nèi)部采用了sinc2 濾波器是硬件電路來(lái)實(shí)現(xiàn)減少了CPU 的開(kāi)銷(xiāo),并可以進(jìn)行64 倍過(guò)采樣,從而降低了對(duì)前端濾波器的抗混疊要求該濾波器。實(shí)現(xiàn)把氣體傳感器的模擬量轉(zhuǎn)化成數(shù)字量,并且重復(fù)測(cè)試三次以上將得到的數(shù)據(jù)的平均值送到指定的單元存儲(chǔ)。
一旦發(fā)現(xiàn)氣體超標(biāo)則PWM 模塊輸出口就輸出1KHz的方波來(lái)驅(qū)動(dòng)蜂鳴器以達(dá)到報(bào)警的目的。
1.2.2 溫度傳感器
PSoC 微控制器內(nèi)部自帶溫度傳感器,其絕對(duì)溫度成正比即線性的輸出電壓。Flash Temp 應(yīng)用程序接口(API)把溫度傳感器轉(zhuǎn)換為每攝氏度一個(gè)計(jì)數(shù)。PSoC內(nèi)部的溫度傳感器Flash Temp 為戶(hù)模塊提供了一項(xiàng)bFlashWriteBlock 函數(shù)的初略溫度測(cè)量功能,它的測(cè)量范圍在-40 - +80 度之間,單位是攝氏度。
1.2.3 濕度傳感器
濕度是表示空氣中水蒸氣的含量的物理量[2],本系統(tǒng)采用HUMIREL 公司的HM1500 濕度送變器,HM1500 的測(cè)濕元件選用濕敏電容HS1101,當(dāng)外界相對(duì)濕度變化時(shí),感濕膜能吸附和釋放水汽分子,引起其介電常數(shù)發(fā)生變化,從而使元件電容量改變。利用電容量與相對(duì)濕度的函數(shù)關(guān)系即可測(cè)量濕度[3].
HM1500 內(nèi)置放大電路,并采用了恒壓源供電能夠輸出和相對(duì)濕度呈比例的伏級(jí)電壓信號(hào)。由于溫度會(huì)影響濕敏電阻的延遲性,所以根據(jù)電壓和相對(duì)濕度的關(guān)系在PSoC 內(nèi)部添加PGA 模塊進(jìn)行電路補(bǔ)償?shù)姆绞絹?lái)對(duì)誤差進(jìn)行補(bǔ)償,然后連接12 位A/D 轉(zhuǎn)換器。
1.2.4 LED 點(diǎn)陣顯示屏
該顯示屏的實(shí)現(xiàn)過(guò)程如圖2 所示,LED 點(diǎn)陣顯示屏是由128 個(gè)1.9mm 的8×8 的LED 點(diǎn)陣塊組成,每八塊形成32×32 矩形點(diǎn)陣。采用逐行掃描方式因?yàn)閽呙钑r(shí)間很快及人眼的視覺(jué)暫留效應(yīng),就可看到LED 點(diǎn)陣顯示的是完整的圖形或文字。行驅(qū)動(dòng)使用ULN2803高電壓大電流達(dá)林頓晶體管陣列集成芯片, 由于ULN2803 單腳最大輸出灌電流500mA,為使驅(qū)動(dòng)電平匹配所以在PSoC27443 里面配置反相器模塊而且單塊列驅(qū)動(dòng)電路由集成電路74HC595,它構(gòu)成一個(gè)8 位串入并出的移位寄存器和一個(gè)8 位輸出鎖存器,而且移位寄存器和輸出鎖存器的控制是各自獨(dú)立的,通過(guò)74HC595 的級(jí)聯(lián)可實(shí)現(xiàn)在顯示本行各列數(shù)據(jù)的同時(shí),傳送下一行的列數(shù)據(jù),即達(dá)到重疊處理的目的。從單片機(jī)I/O 口串行輸出的點(diǎn)陣數(shù)據(jù)隨著移位時(shí)鐘的作用逐位移動(dòng)到對(duì)應(yīng)位置,在接收到鎖存信號(hào)后,將數(shù)據(jù)并行輸出至LED 的列線,最后在行驅(qū)動(dòng)信號(hào)的作用下點(diǎn)亮一行LED 象素。
評(píng)論