日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀]本文以電力系統(tǒng)故障診斷終端的基本構件為應用背景,論述了在以C8051F040單片機為核心的硬件平臺基礎上移植實時操作系統(tǒng)small RTOS51的軟件方法,對提高配電自動化水平有著重要的現(xiàn)實意義和經(jīng)濟價值

0.引 言

目前,我國對于大部分供電電力設備的監(jiān)控和管理上基本還停留在人工巡查這種比較原始的管理方式下(例如鐵路道口的信號電源),不但管理效率低下,而且供電質量和水平都得不到有效的保證。本文以實時操作系統(tǒng)small RTOS51為基礎,主要探討了一個用于電力系統(tǒng)現(xiàn)場監(jiān)控終端單元的設計過程,希望能夠為提高配電自動化水平提供一些思路,盡一點微薄之力。

1.Small RTOS51多任務實時操作系統(tǒng)

Small RTOS51是一個源代碼公開的多任務實時操作系統(tǒng),它可以簡化那些復雜而且對時間要求嚴格的工程軟件設計工作。它具有公開源代碼、可移植、可固化、占先式、中斷管理及RAM 需求小等特點。

2.系統(tǒng)功能描述

本故障診斷終端主要應用在鐵路道口信號燈電源的監(jiān)控與管理,針對該故障診斷終端應用的具體場合,在設計時主要考慮以下幾個方面:實用性,由于本故障診斷終端主要用于監(jiān)控鐵路道口信號電源的工作情況,所以以實用性為原則,一般情況下只要具有以下功能即可滿足需要:遠程檢測、分合控制、遠程開合控制、越限報警及故障錄波;實時性,本故障診斷終端要求在信號電源的每個工頻周期內(20毫秒)不間斷的、均勻采集20個點離散數(shù)據(jù),及時運算,發(fā)生故障時能夠及時報警,以便及時進行處理,故對實時性有一定要求;可靠性,本故障診斷終端主要應用于各鐵路道口,工作地點多為野外,工作環(huán)境十分惡劣,必須有足夠的可靠性才能保證系統(tǒng)穩(wěn)定運行。

3.系統(tǒng)硬件模塊

系統(tǒng)從總體上分成主控模塊,交流電信號輸入及調理模塊,人機接口模塊,CAN總線通信模塊以及開關量輸入輸出通道5大模塊。系統(tǒng)的主控CPU選用Cygnal公司的C8051F040 SoC型單片機(以下簡稱040單片機)。系統(tǒng)液晶顯示LCD采用長沙太陽人公司生產(chǎn)20×04字符型液晶顯示模塊。實時時鐘模塊經(jīng)過綜合比較,考慮到在設計中同時需要采用NVRAM和實時時鐘,我們設計中選用了非易失性的時間管理RAM-DS1743,以提高系統(tǒng)的集成度,增加系統(tǒng)的可靠性。系統(tǒng)CAN總線驅動器在本設計中選用PHILIP公司生產(chǎn)的TJA1050T總線驅動器。

4. 實時操作系統(tǒng)的軟件設計

根據(jù)系統(tǒng)實現(xiàn)的功能以及CygnalF040微處理器的特性,對系統(tǒng)進行任務分割,確定每個任務的優(yōu)先級,并修改SmallRTOS51與硬件相關的部分內核代碼。

4.1任務的劃分

根據(jù)上述故障診斷終端所需實現(xiàn)的功能,劃分系統(tǒng)為故障檢測、采樣計算、CAN總線通信、人機交互界面、容錯設計等六個任務。實時內核SmallRTOS51提供任務調度、任務管理、任務間的通信、中斷管理和內存管理等功能。

4.2任務的創(chuàng)建及調度

    SmallRTOS51使用靜態(tài)方法建立任務,節(jié)省RAM的開銷,使得SmallRTOS51可以在小RAM的CPU中運行,而每一個任務必須是一個無限的循環(huán)。當系統(tǒng)啟動多任務環(huán)境時,通過調用OSStart()以初始化所有任務的堆棧,并將堆棧指針指向ID為0的任務堆??臻g;每個任務的堆棧結構如圖1所示。在任務調度方面,SmallRTOS51采用固定優(yōu)先級(亦稱靜態(tài)優(yōu)先級)的分配策略,任何兩個任務的優(yōu)先級不能相同,允許用戶改變任務的優(yōu)先級。

4.3 系統(tǒng)軟件需求

根據(jù)系統(tǒng)功能要求,在SmallRTOS51平臺下需要實現(xiàn)下列API函數(shù),并且需要使用SmallRTOS51提供的系統(tǒng)服務,例如時間延時功能、信號量等。      

4.3.1 人機界面

(1)鍵盤驅動。

本系統(tǒng)采用獨立式鍵盤設計,菜單驅動程序設計的實質就是對鍵盤進行周期性處理,使用消息隊列傳遞鍵盤消息來處理按鍵問題;解析鍵值,執(zhí)行功能模塊同時刷新畫面。在中斷發(fā)生后,首先獲取鍵值void getkey (void);應用系統(tǒng)函數(shù)完成去抖延時;當確認有鍵按下時,發(fā)送DOWNKEY消息;松開時發(fā)送UPKEY消息,并依據(jù)鍵值的不同來進行解析:未按鍵:在沒有按鍵的情況下,直接跳過鍵盤解析模塊,其鍵值為0x79;方向鍵:依照當前系統(tǒng)所處的工作狀態(tài)分成兩種情況,如果當前顯示畫面為菜單選擇狀態(tài),則上下方向鍵用來移動游標,達到改變選項的目的。如果是設定畫面,則左右方向鍵用來移動游標,改變設定選項,而上下鍵用來改變對應選項設定值,其鍵值為0xe9、0xd9,0xb9、0xf1;確認鍵:這里也分成兩種情況,如果當前顯示畫面為菜單選擇狀態(tài),則確認鍵用來進入下一級子菜單或者功能模塊。而當前畫面為設定畫面時,確認鍵用來確認存儲所更改的設定值,其鍵值為0xf1;返回鍵:返回鍵用來返回上一級菜單,返回鍵值為0xf8。鍵盤流程圖如圖2所示,人機界面軟件框圖如圖3所示。

(2)LCD液晶顯示部分。LCD的API函數(shù)實現(xiàn)如下功能:LCD的初始化配置;顯示ASCII字符串。圖6為LCD模塊的接口框圖。應用程序通過下面8個函數(shù)完成對LCD接口的操作LcdPos()、LcdRead()、LcdWDat()、LcdInit()、DisANum()、LcdWrite()、DisAStr()、LCDWFont()、BcdToDec()、DecToBcd()。LcdInit()是模塊的初始化代碼。由于使用SmallRTOS51提供的服務,LcdInit()必須在使用其它函數(shù)之前激活,并且在多任務啟動之后調用,LcdInit()初始化硬件端口配置、創(chuàng)建信號量、設置LCD的工作模式。另外,通過LCDWFont函數(shù)可以自定義8個5×8像素的字符或符號。例如定義一個下向箭頭“↓”,程序清單為:                               

void XLCDWFont(void)

{     uint8 i;

       uint8 font[ ]= {0x04,0x04,0x04,0x04,0x15,0x0e,0x04,0x00};

       for ( i=0;i<8;i++ )

              {

LcdWCmd ( 0x40+I ) ;

LcdWDat ( font[i] )  ;

              }

}

圖2 鍵盤流程圖                        

 

圖3  人機界面軟件框圖

4.3.2  實時時鐘

DS1743內部集成的實時時鐘相關寄存器位于RAM中的最高八個地址,即控制寄存器位于地址1FF8,年,月,日,星期,時,分,秒寄存器位于地址1FF9-1FFF。控制寄存器有兩個位,讀取位和寫入位,通過對這兩個位寫入1中止外部時鐘寄存器的更新動作,以預防在更新過渡期間讀到錯誤的時鐘數(shù)據(jù)。主函數(shù)體共有兩個:Ds1743GetTime()、Ds1743SetTime(),其中uint8 DecToBcd (uint8 number) 與uint8 BcdTDeco (uint8 number)為十進制與BCD碼相互轉換函數(shù)。

4.3.3  CAN總線驅動程序

一般情況下最基本的CAN總線節(jié)點的通信軟件包括三個部分:CAN節(jié)點的初始化,消息的傳送,消息的接收。首先建立緩沖區(qū),對CAN節(jié)點進行初始化,主要包括以下幾個部分:CAN引腳輸出方式的設置,波特率參數(shù)的設置,消息對象的初始化,以及當允許接收或發(fā)送中斷時對相應中斷允許位的設置。要進入初始化狀態(tài),必須設定CAN控制寄存器中的Init位為1。設定完成后再復位Init位退出初始化狀態(tài)。初始化程序主要完成對所有的報文對象進行初始化(一般將所有值置零),對CAN 控制寄存器(CAN0CN)、位定時寄存器(BITREG)進行設置,還要對發(fā)送報文對象和接收報文對象分別進行初始化。主程序中規(guī)定對象初始化、發(fā)送和接收初始化,啟動CAN 處理機制(對BITREG 和CAN0CN 初始化),下面為CAN 啟動程序:

void StartCAN (uint8 count)

{

    WORD bps;

    Switch (count)                                   // 波特率參數(shù)設置

       {……………………………………...} 

       EIE2 | = 0x20;                               // 開中斷

}

CAN 報文發(fā)送是由CAN 控制器自動完成的,用戶只需根據(jù)接收到的遠程幀的識別符,將對應的數(shù)據(jù)轉移到發(fā)送緩沖寄存器,然后將此報文對象的編碼寫入命令請求寄存器啟動發(fā)送即可,而發(fā)送由硬件來完成。這里,我們使用定時更新發(fā)送報文對象中的數(shù)據(jù),數(shù)據(jù)的發(fā)送有控制器自動完成,當其收到一個遠程幀時,就將具有相同識別符的數(shù)據(jù)幀發(fā)送出去。

CAN 報文的接收與發(fā)送一樣,是由CAN 控制器自動完成的,接收程序只需從接收緩存器中讀取接收的數(shù)據(jù),再進行相應的處理即可。其基本方法與發(fā)送程序一致,只是接收程序采用中斷方式。在此應用中,接收程序主要接收上位機對下位機的參數(shù)設置數(shù)據(jù),只有當修改時才需要接收數(shù)據(jù),所以采用中斷方式處理比較合適。在對緩沖區(qū)進行讀寫過程中,引入讀、寫兩個信號量分別對緩沖區(qū)兩端的操作進行同步。這樣設計的優(yōu)點在于:當用戶任務想寫但緩沖區(qū)滿時,在信號量上睡眠,讓CPU運行別的任務,待ISR從緩沖區(qū)讀走數(shù)據(jù)后喚醒此睡眠的任務;類似地,當用戶任務想讀但緩沖區(qū)空時,也可以在信號量上睡眠,待外部設備有數(shù)據(jù)來了再喚醒。由于SmallRTOS51的信號量提供了超時等待機制,CAN口當然也具有超時讀寫能力。

4.3.4開關量輸入輸出模塊

開關量輸入部分模塊的作用是為故障診斷終端正確監(jiān)測開關量的狀態(tài)提供輸入通道。開關量輸入輸出部分模塊的底層驅動函數(shù)主要包括兩個函數(shù),分別是:

uchar SwitchStausGet(void) //獲取開關量的狀態(tài)

void SwitchStausSet(uchar dat) //設定開關量的狀態(tài)

5.結語

本設計中采用Small RTOS實時操作系統(tǒng),對于實時操作系統(tǒng),要求調度的實時性、時間響應的可確定性和系統(tǒng)的高度可靠性,最重要的指標就是內存的開銷。本設計中單片機采用Cygnal F040,內部RAM為4352字節(jié)(4K+256),程序經(jīng)過優(yōu)化調試后,RAM總共占用402字節(jié),符合系統(tǒng)內存要求,無須外擴RAM已能很好的實現(xiàn)系統(tǒng)功能。以Small RTOS51嵌入式操作系統(tǒng)為基礎開發(fā)的電力系統(tǒng)故障診斷終端系統(tǒng)具有性能穩(wěn)定、實時性能良好、擴展性強等特點。通過系統(tǒng)運行測試表明系統(tǒng)工作穩(wěn)定可靠,可以滿足各種實時性能要求,在故障診斷終端技術中有很好的應用前景。

參考文獻

[1] 張春雷,王東興 uC/OS- II 在C8051F020 單片機上的移植[J], 微計算機信息,2006.5:95-97

[2] Jean J.Labrosse. 嵌入式實時操作系統(tǒng)uC/OS-II . 第2版. 邵貝貝, 等譯. 北京:北京航空航天大學出版社, 2003.5

[3] 陳明計, 周立功. 嵌入式實時操作系統(tǒng)Small RTOS51原理及應用. 北京:北京航空航天大學出版社,2004.3

[4] 金永生, 范明鳳. 基于Small RTOS51 的數(shù)據(jù)采集器設計,單片機與嵌入式系統(tǒng)應用

    2004.5

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險積極籌備個人養(yǎng)老金的產(chǎn)品設計和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動商業(yè)養(yǎng)老保險、個人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險等產(chǎn)品供給。 搭養(yǎng)老政策東風 ...

關鍵字: 溫度 BSP 東風 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎單元,承載著生存與活動的最基本功能。而對于理想空間的解構意義卻在物理性容器之外,體現(xiàn)出人們對于空間和生活深層關系的思考,同時也塑造著人與空間的新型連接...

關鍵字: 溫度 BSP 智能化 進程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績預告。今年前三季度,公司預計實現(xiàn)營業(yè)收入7.54億元至8.33億元,同比增長60.24%至77.03%;歸母凈利潤預計為1.73億...

關鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟和信息化局發(fā)布2022年度第一批北京市市級企業(yè)技術中心創(chuàng)建名單的通知,諾誠健華正式獲得"北京市企業(yè)技術中心"認定。 北京市企業(yè)技...

關鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...

關鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團成立60周年的紀念日。趁著首都銀行集團成立60周年與首都銀行(中國)在華深耕經(jīng)營12年的“大日子”,圍繞作為外資金融機構對在華戰(zhàn)略的構想和業(yè)...

關鍵字: 數(shù)字化 BSP 供應鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團公司上海通運國際物流有限公司(Nipp...

關鍵字: 溫控 精密儀器 半導體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國進出口商品交易會("廣交會")于"云端"開幕。本屆廣交會上高新技術企業(yè)云集,展出的智能產(chǎn)品超過140,...

關鍵字: 中國智造 BSP 手機 CAN

要問機器人公司哪家強,波士頓動力絕對是其中的佼佼者。近來年該公司在機器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機器人會后空翻,自主爬樓梯等。這不,波士頓動力又發(fā)布了其機器人組團跳男團舞的新視頻,表演的機器人包括...

關鍵字: 機器人 BSP 工業(yè)機器人 現(xiàn)代汽車

南京2022年10月17日 /美通社/ -- 日前《2022第三屆中國高端家電品牌G50峰會》于浙江寧波落幕,來自兩百余名行業(yè)大咖、專家學者共同探討了在形勢依然嚴峻的當下,如何以科技創(chuàng)新、高端化轉型等手段,幫助...

關鍵字: LINK AI BSP 智能家電

單片機

21600 篇文章

關注

發(fā)布文章

編輯精選

技術子站

關閉