<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于PSoC單片機的燃氣變頻輸配與精確計量實(shí)現

基于PSoC單片機的燃氣變頻輸配與精確計量實(shí)現

作者: 時(shí)間:2012-06-06 來(lái)源:網(wǎng)絡(luò ) 收藏

本文引用地址:http://dyxdggzs.com/article/171346.htm

3.3 一器多控電路的設計

該部分電路用以“手動(dòng)/自動(dòng)”和“工頻/狀態(tài)的切換”。這里選用日本富士FRN75P11S-4CX風(fēng)機專(zhuān)用變頻器,切換電路采用傳統的接觸器—繼電器控制。變頻加/減速,手動(dòng)控制通過(guò)一個(gè)1-5kll的可調電阻器;自動(dòng)控制通過(guò)0~5V的DC變化輸入。構成如圖4所示。

3.4 信號的輸入與輸出

設計系統應用在行業(yè),安全防護十分重要。壓力、溫度、差壓信號的采集,現場(chǎng)的一次儀表全部采用一體化防曝類(lèi)型,現場(chǎng)引入的信號采用隔離型安全柵。輸出信號全部采用繼電器控制,與現場(chǎng)控制器件隔離。

4 測控系統的設計

4.1 的資源使用與配置

11位A/D轉換器,選用DelSigll用戶(hù)模塊(△—∑型A/D),占用一模擬模塊、一PSoC數字模塊和專(zhuān)用的采樣抽取器,為增強實(shí)時(shí)性與精度而取其最大采樣率7.8ksps(即每次采樣需128.2μs)。

6位A/D轉換器,選用SAR6用戶(hù)模塊(逐次逼近型A/D),轉換時(shí)間25μs,占用一PSoC模擬模塊。

8位D/A轉換器,選用DAC8用戶(hù)模塊(電壓輸出型D/A),其時(shí)鐘更新率為125kHz(即每次變換需31μs)。

A/D與D/A的參考電壓設定:AGnd=0V,AVdd=5V。

切換控制輸出I/O口,選定內部上拉電阻輸出,以得到大的驅動(dòng)能力。取工/變頻切換控制為5個(gè)。

LCD模塊接口,選定LCD用戶(hù)模塊,該模塊使用標準HD44780LCD顯示驅動(dòng)協(xié)議,占用7個(gè)I/O口,驅動(dòng)顯示2x16個(gè)8x8點(diǎn)陣字符。

E2ROM,選用E2PROM用戶(hù)模塊。這是使用內部Flash memory模擬的E2ROM,不限容量大小,取為2KB。

串行通信口, 選用UART用戶(hù)模塊(8位通用UART),占用2個(gè)PSoC數字模塊和2個(gè)I/O口,設定其初始值為96-N-8-1,為將來(lái)擴展連接Modem預留一個(gè)I/O口。

定時(shí)器,選用Timer8用戶(hù)模塊(8位減計數型),占用一PSoC數字模塊;一定時(shí)器周期設定為變頻器“工/變頻切換”的時(shí)間值;一定時(shí)器周期取最大值,以用于流量累計。

OSC振蕩器全部選定用內部模塊,外圍不再配備晶體。啟用內部看門(mén)狗和實(shí)時(shí)時(shí)鐘(RTC)功能。

確定采用4個(gè)中斷:壓力轉換中斷(11AD_ISR)、鍵盤(pán)操作中斷(6AD—ISR)、工/變頻切換中斷(Tliner8—ISR)、串行接收中斷(Uart_ISR)。 中斷優(yōu)先級編排如下:11AD_ISR、Timer8_ISR、6AD_ISR、Uart_ISR。

打開(kāi)PSoC Designer IDE應用軟件,選用CY8C26443器件,指定編程語(yǔ)言(匯編或C語(yǔ)言),創(chuàng )建項目工程;在軟件的器件編輯器窗口中,按上述選擇,配置各個(gè)用戶(hù)模塊。本設計共使用8個(gè)PSoC數字模塊、5個(gè)PSoC模擬模塊、24個(gè)I/O口。器件編輯器的使用,大多是圖形和文本選擇操作,十分簡(jiǎn)易直觀(guān),這里不再贅述。

用戶(hù)模塊配置完成后,在IDE環(huán)境中,點(diǎn)擊“GenerateApplication Files”按鈕,產(chǎn)生boot.sam和PSoCconfig.a(chǎn)sm文件,并生成應用程序接口函數(APl)與中斷服務(wù)程序、主程序框架文件,以便填寫(xiě)應用代碼、編制用戶(hù)程序。

boot.sam和PSoCconfig.a(chǎn)sm文件,是所有程序的基礎,boot.sam文件定義了系統啟動(dòng)和執行的次序,PSoCconfig.a(chǎn)sm文件包含了進(jìn)入系統的配置。

4.2 軟件設計的整體構思

主程序完成初始化設置并循環(huán)采樣溫度、壓力、差壓,選擇適當量程計算流量并累計、存儲與顯示。

壓力轉換中斷程序(11AD_ISR)據壓力實(shí)測值與要求值,確定變頻加/減速和工/變頻轉換中斷的啟停。

鍵盤(pán)操作中斷(6AD_ISR),識別操作的按鈕,進(jìn)行參數預置、狀態(tài)顯示、記錄查看等。

工/變頻切換中斷(Timer8a_ISR),完成指定端口的工頻與變頻的切換,并設置相關(guān)標記。

串行接收中斷(Uart_ISR),連接PC或做遠程通信。

在PSoC Designer IDE環(huán)境的應用程序編輯器窗口中編制程序,編譯所有文件,生成可下載或仿真的.rom文件。

4.3 軟件仿真與測試

使用Cypress的PSoC仿真器(1CE)及其Designer IDE調試器窗口環(huán)境,進(jìn)行程序仿真和測試。重點(diǎn)說(shuō)明兩點(diǎn):

(1)斷點(diǎn)調試和動(dòng)態(tài)事件點(diǎn)調試

斷點(diǎn)調試,與很多常用器件調試工具功能類(lèi)似,在此不再贅述,著(zhù)重說(shuō)明動(dòng)態(tài)事件點(diǎn)調試。動(dòng)態(tài)事件點(diǎn)調試是Cypress很有特色的工具。動(dòng)態(tài)事件點(diǎn)是定義的可滿(mǎn)足許多條件的復雜斷點(diǎn),可控制調試在動(dòng)態(tài)事點(diǎn)到來(lái)時(shí)停止、開(kāi)/關(guān)跟蹤文件或觸發(fā)一外部引腳。使用動(dòng)態(tài)事件點(diǎn)調試,可觀(guān)察到很多斷點(diǎn)調試得不到的程序邏輯設計錯誤。

(2)各個(gè)程序段執行時(shí)間的調試

關(guān)掉所有中斷,測定主程序中流量計算循環(huán)程序的執行時(shí)間;一次開(kāi)放一個(gè)中斷,測定每個(gè)設計中斷的執行時(shí)間。適當設置斷點(diǎn),正常執行程序,測定每個(gè)中斷與主程序流量計算循環(huán)的執行周期。

PSoC的各種中斷功能能很好地滿(mǎn)足現代嵌入應用,這里構建一個(gè)PSoC單片機的實(shí)時(shí)操作系統(RTOS)的雛形,是有任務(wù)中斷的單調比例調度類(lèi)型。因此,可以在無(wú)法預知軟件整體邏輯設計是否滿(mǎn)足工業(yè)測控實(shí)際的情況下,用有任務(wù)中斷的單調比例調度的條件要求和上述測量時(shí)間值,在理論上,去恒量一下軟件整體邏輯設計的合理性,并進(jìn)行適當調整。

有任務(wù)中斷的單調比例調度的條件公式:

式中,n是最大任務(wù)數,E是任務(wù)j的執行時(shí)間,P是任務(wù)j的周期,B是任務(wù)j的阻塞時(shí)間。

4.4 程序的ISSP下載

PSoC單片機支持在系統串口編程(1SSP),可以通過(guò)UART串口,輕易完成程序的ISSP下載。PSoC單片機Flash中內含不能被覆蓋的ISP例程,只要復位重啟時(shí)硬件電路的ISP例程觸發(fā)按鈕有效,PSoC單片機就轉而ISSP編程操作。完成ISSP后,器件自動(dòng)從Flash的0x0址處執行用戶(hù)代碼。ISSP例程的觸發(fā),即將器件PO.5口有效上拉。

4.5 軟件設計的注意事項

(1)SRAM空間的分配:用戶(hù)模塊配置信息、編程變量參數、上下文切換堆棧等,都占用SRAM空間。SRAM空間只有256B,雖然比傳統MCS51單片機擴大了一倍,但還是十分有限。一定要合理選好開(kāi)辟堆??臻g的大小和位置,以避免極端情況下程序跑飛。

(2)看門(mén)狗的使用:為防程序“跑飛”或“死機”。程序中,要及時(shí)“喂狗”(清零看門(mén)狗計數器)。關(guān)閉看門(mén)狗,調試好各個(gè)程序段,然后再打開(kāi)看門(mén)狗調試。

(3)11位AD用戶(hù)模塊的動(dòng)態(tài)配置:輪流采樣現場(chǎng)壓力、溫度、差壓信號,AD轉換器通常定位在壓力通道不斷地采樣壓力信號,并在A(yíng)D轉換中斷中完成變頻調速控制,只有在需要時(shí)才切換到溫度或差壓通道采樣。信號通道的切換,采用動(dòng)態(tài)用戶(hù)模塊配置完成,即在需要時(shí)改變用戶(hù)模塊配置寄存器值,定向到需要的信號通道。

使用PSoC單片機CY8C26443組成測控系統,以一個(gè)28Pin微控器加上極少外圍器件,成功地把“變頻控制與大流量范圍”合二為一,構成電路簡(jiǎn)單,免除了芯片選型和搭建復雜外圍電路之煩,明顯地增強了系統的穩定可靠性,降低了生產(chǎn)成本。應用所提供的開(kāi)發(fā)工具,直接為設計生成API函數,屏蔽了繁瑣的寄存器操作,方便了對器件內部資源的調用,大大縮短了項目開(kāi)發(fā)時(shí)間。同時(shí)因PSoC單片機CPU速度的自增強,系統的數學(xué)運算功能明顯提高,工業(yè)測控的實(shí)時(shí)性更強了。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>