中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于Lonworks總線的嵌入式智能節(jié)點(diǎn)的設(shè)計(jì)

        基于Lonworks總線的嵌入式智能節(jié)點(diǎn)的設(shè)計(jì)

        作者:王振臣,顏旭斌,王樹賢 時(shí)間:2008-08-27 來源:微計(jì)算機(jī)信息 收藏

          OS_CPU_C.C要求編寫六個(gè)簡(jiǎn)單的c函數(shù):OSTaskSiklnit();OSTaskCreateHook();OSTaskDelHook();OSTaskSwHook();OSTaskStatHook();OSTimeTickHook()唯一必要的函數(shù)是OSTaskStklnit(),其它五個(gè)函數(shù)必須聲明但沒必要包含。對(duì)于OSTaskStklnit()而言,OSTaskCreate()和OSTaskCreateExt()通過調(diào)用OSTaskStkInit()來初始化任務(wù)的堆棧結(jié)構(gòu),OSTaskStkInit()返回堆棧指針?biāo)傅牡刂?,OSTaskCreate()會(huì)獲得該地址并將它保存到任務(wù)控制塊(OS TCB)中。

        本文引用地址:http://www.antipu.com.cn/article/87438.htm

          CPU_ A.ASM要求編寫四個(gè)簡(jiǎn)單的匯編語言函數(shù):OSStartHighRdy();OSCtxSw();

          OSIntCtxSw();OSTickISR()。將所有與處理器相關(guān)的代碼放到OS_CPU_C.C文件中,而不必放在一些分散的匯編語言文件中。

          (1)OSStartHighRdy():運(yùn)行高優(yōu)先級(jí)就緒任務(wù)函數(shù)OSStartHighRdy()必須調(diào)用OSTaskSwHook(),因?yàn)镺STaskSwHook()可以通過檢查OSRunning而確定是OSStartHighRdy()在調(diào)用它(OSRunning為FALSE)還是正常的任務(wù)切換在調(diào)用它(OSRunning為TRUE)。OSStartHighRdy()還必須在最高優(yōu)先級(jí)任務(wù)恢復(fù)之前和調(diào)用OSTaskSwHook()之后設(shè)置OSRunning為TRUE。

          (2)OSCtxSw()、OSIntCtxSw():上下文切換函數(shù)任務(wù)級(jí)的切換是通過發(fā)軟中斷命令來完成的,其中斷向量地址必須指向OSCtxSw()。中斷級(jí)的切換由OSIntExit()通過調(diào)用OSintCtxSw()來執(zhí)行切換功能。

          (3)OSTickISR():定時(shí)中斷函數(shù)OSTickISR()函數(shù)主要負(fù)責(zé)進(jìn)人中斷時(shí)保存處理器寄存器內(nèi)容,完成任務(wù)切換退出時(shí)恢復(fù)處理器寄存器內(nèi)容并返回,相當(dāng)于中斷服務(wù)程序的入口。

          4   μc/os_Ⅱ與的結(jié)合

            因?yàn)?mu;c/os_Ⅱ操作系統(tǒng)代碼和應(yīng)用程序代碼的固有的特征,兩者可以有機(jī)的結(jié)合在一起。μcos_Ⅱ由系統(tǒng)服務(wù),如郵箱、內(nèi)存管理、消息隊(duì)列、信號(hào)量管理等,對(duì)于這些服務(wù)是在OS_CFG.h定義了的,當(dāng)設(shè)計(jì)的系統(tǒng)要使用這些服務(wù)時(shí)只需要將定義的值改為1即可。將應(yīng)用程序中的常量定義全部放在OS_CFG.h中。這樣可以同時(shí)對(duì)操作系統(tǒng)各種服務(wù)函數(shù)和ShortStack 的API和APP函數(shù)實(shí)現(xiàn)了裁減。

           將ShortStack應(yīng)用程序當(dāng)作μcos_Ⅱ操作系統(tǒng)的一個(gè)任務(wù)運(yùn)行。先定義堆棧,以便保存本任務(wù)在任務(wù)切換時(shí)單片機(jī)的寄存器的當(dāng)前值,當(dāng)μcos_Ⅱ下次調(diào)度到該任務(wù)運(yùn)行時(shí)就可以從堆?;謴?fù)CPU的值,從而該任務(wù)繼續(xù)運(yùn)行。程序如下:

          OS_STK TaskStartStk[TASK_STK_SIZE];  //任務(wù)Task1的任務(wù)堆棧

          OS_STK ShortStackStk[TASK_STK_SIZE];  //ShortStack的任務(wù)堆棧

          …  //其他任務(wù)堆棧

          Void main(void)

          {

          OSInit();

          OSTaskCreat(Task1,(void *)0,& TaskStartStk[TASK_STK_SIZE-1],0);

          OSTaskCreat(ShortStack,(void *)0,& ShortStackStk[0],2);

          …  //創(chuàng)建其他任務(wù)

          OSStart();

          return 0;

          }

          void ShortStack(void)

          {

          lonInit();

          for(; ; )

          {

            lonEventHandler();//周期性調(diào)用檢查是否有任何LonWorks事件要處理

          }

          }

          由于μc/os_Ⅱ操作系統(tǒng)沒有任何的硬件驅(qū)動(dòng),所以用戶自己將ShortStack串口驅(qū)動(dòng)、輸入輸出隊(duì)列操作部分?jǐn)U展為該操作系統(tǒng)的一部分。此外,系統(tǒng)可以添加其他特定的任務(wù),通過系統(tǒng)調(diào)度,實(shí)現(xiàn)節(jié)點(diǎn)的合理利用,增加節(jié)點(diǎn)的實(shí)用性。如圖4所示。

          最后,將帶有TP/FT-10F控制模塊的MSP430F149芯片接入Gizmo4開發(fā)板,通過Nodebuilder開發(fā)工具編譯,進(jìn)入調(diào)試界面,利用LonMaker連接為兩節(jié)點(diǎn)網(wǎng)絡(luò),測(cè)試兩節(jié)點(diǎn)是否通訊。


        圖4  軟件結(jié)構(gòu)圖

          5  結(jié)束語

           MSP430F149是16bit的RISC微處理器,該處理器特別適用于手持式設(shè)備以及高性價(jià)比、低功耗的網(wǎng)絡(luò)設(shè)備,它集成了中斷控制、功率控制、存儲(chǔ)控制、UART、PWM、ADC等豐富的資源。由于工業(yè)、家庭網(wǎng)絡(luò)化的需求,以及LonWorks總線便捷的入網(wǎng)方式,可以使該分散自制,每個(gè)節(jié)點(diǎn)一方面分散地解決其特定的任務(wù),另一方面通過點(diǎn)對(duì)點(diǎn)、點(diǎn)對(duì)多點(diǎn)的通訊,解決節(jié)點(diǎn)之間的信息傳輸,實(shí)現(xiàn)分散基礎(chǔ)上的融合。上位機(jī)要完成對(duì)LON 網(wǎng)絡(luò)的監(jiān)控與管理功能,二者之間必須能進(jìn)行動(dòng)態(tài)數(shù)據(jù)交換。LON 總線技術(shù)還提供了DDE Server 軟件。DDE Server 能夠?qū)崿F(xiàn)LON網(wǎng)絡(luò)和任何具有DDE 功能的Windows 應(yīng)用程序間交換網(wǎng)絡(luò)變量和信息。系統(tǒng)提供給用戶一個(gè)十分友好的人機(jī)界面,用戶可通過上位機(jī)設(shè)置各節(jié)點(diǎn)實(shí)時(shí)運(yùn)行情況以及歷史運(yùn)行記錄、打印等。

            本文作者創(chuàng)新點(diǎn):運(yùn)用ShortStack技術(shù),設(shè)計(jì)了以MSP149為主處理器,Neuron芯片為微處理器的通用節(jié)點(diǎn),與Lonworks總線實(shí)現(xiàn)通訊連接,并可擴(kuò)展多種用途,具有很好的實(shí)用和經(jīng)濟(jì)價(jià)值。

          參考文獻(xiàn)

          [1] David E.Simon著,陳向群等譯,系統(tǒng)軟件教程[M].北京:機(jī)械工業(yè)出版社,2005

          [2] ShortStack User’s Guide,Echelon, 2002

          [3] Jean J.Labrosse著,邵貝貝譯,μC/OS_II源碼公開的實(shí)時(shí)操作系統(tǒng)[M].北京:中國(guó)電力出版社,2001

          [4] 胡大可 MSP430系列FLASH型超低功耗16位單片機(jī)[M].北京:北京航空航天大學(xué)出版社 ,2001

          [5] 賈慧瀟,王振臣.基于LonWorks 的高性能溫濕度測(cè)控系統(tǒng)[J].微計(jì)算機(jī)信息,2006,8-1:30-34。

        linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

        上一頁 1 2 下一頁

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉