新聞中心

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

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

        作者: 時間:2012-06-06 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/171346.htm

        3.3 一器多控電路的設計

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

        3.4 信號的輸入與輸出

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

        4 測控系統的設計

        4.1 的資源使用與配置

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

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

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

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

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

        LCD模塊接口,選定LCD用戶模塊,該模塊使用標準HD44780LCD顯示驅動協議,占用7個I/O口,驅動顯示2x16個8x8點陣字符。

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

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

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

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

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

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

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

        boot.sam和PSoCconfig.asm文件,是所有程序的基礎,boot.sam文件定義了系統啟動和執行的次序,PSoCconfig.asm文件包含了進入系統的配置。

        4.2 軟件設計的整體構思

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

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

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

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

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

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

        4.3 軟件仿真與測試

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

        (1)斷點調試和動態事件點調試

        斷點調試,與很多常用器件調試工具功能類似,在此不再贅述,著重說明動態事件點調試。動態事件點調試是Cypress很有特色的工具。動態事件點是定義的可滿足許多條件的復雜斷點,可控制調試在動態事點到來時停止、開/關跟蹤文件或觸發一外部引腳。使用動態事件點調試,可觀察到很多斷點調試得不到的程序邏輯設計錯誤。

        (2)各個程序段執行時間的調試

        關掉所有中斷,測定主程序中流量計算循環程序的執行時間;一次開放一個中斷,測定每個設計中斷的執行時間。適當設置斷點,正常執行程序,測定每個中斷與主程序流量計算循環的執行周期。

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

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

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

        4.4 程序的ISSP下載

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

        4.5 軟件設計的注意事項

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

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

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

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


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 苗栗县| 靖宇县| 城口县| 宣化县| 东莞市| 乐山市| 长海县| 蚌埠市| 灯塔市| 江都市| 武乡县| 体育| 西贡区| 陇西县| 定西市| 兰溪市| 乐都县| 太康县| 双辽市| 上高县| 察隅县| 芜湖市| 乐都县| 唐海县| 利辛县| 临高县| 嘉峪关市| 手游| 三河市| 辽源市| 襄垣县| 泗洪县| 安庆市| 青阳县| 宁安市| 佛学| 云龙县| 万年县| 家居| 雷波县| 东至县|