在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 一種基于ARM920T的現(xiàn)場總線控制系統(tǒng)

            一種基于ARM920T的現(xiàn)場總線控制系統(tǒng)

            作者: 時間:2014-01-17 來源:網絡 收藏

              getc函數(shù):unsigned char (*getc)(can_bus *priv)該函數(shù)從設備接口讀取一個字符,它只用于非中斷方式,通過查詢設備是否處于準備(ready)狀態(tài)來等待一個字符。

              set_config函數(shù):bool (*set_config)(can_bus *priv,cyg_can_info_t *config)該函數(shù)用于對指定的端口配置。如果對硬件配置成功,則返回true;如果端口不支持給定的配置參數(shù),則返回false。

              start_xmit函數(shù):void (*start_xmit)can_bus *priv)在中斷方式下,該函數(shù)使能發(fā)送端,允許發(fā)送中斷的產生。

              stop_xmit函數(shù):void (*stop_xmit)(can_bus *priv)在中斷方式下,當數(shù)據(jù)發(fā)送結束后,該函數(shù)進制發(fā)送端,進制發(fā)送中斷產生。

              start_recv函數(shù):void (*stop_xmit)(can_bus *priv)

              stop_recv函數(shù):void (*stop_xmit)(can_bus *priv)

              4.3 發(fā)送中斷處理函數(shù)

              CAN總線在中斷方式下的負責對中斷進行處理函數(shù)是中斷服務程序ISR和中斷滯后服務程序DSR。對中斷的處理主要有三種模式,第一種模式是在中斷服務程序ISR內完成所有設備處理工作,第二種是在中斷滯后服務程序DSR內實現(xiàn),第三中是將對設備的處理推遲到中斷線程內進行。在驅動程序的設計中采用的是第二種模式。

              在這種模式中,中斷處理程序ISR只是簡單的通過對設備進行編程或者直接調用cyg_drv_interrupt_mask()函數(shù)防止新中斷的產生,然后將調用DSR作進一步的處理。DSR完成大部分的硬件處理工作,并有可能對某個條件變量產生一個信號來喚醒新的中斷。最后,DSR調用cyg_drv_interrupt_unmask(),重新使能中斷。中斷處理過程如圖所示:

              44.jpg

              4.4 綁定設備中斷

              設備驅動程序的初始化函數(shù)在系統(tǒng)初始化過程或者設備初始使用時被調用,初始化函數(shù)不僅要設置設備的參數(shù),還要為設備分配相應的數(shù)據(jù)結構:例如輸入輸出緩沖區(qū)等,最后還將設備中斷進行綁定。

              每一個設備在初始化時會產生一個對應的中斷對象,所有的中斷對象存儲在系統(tǒng)的中斷向量鏈表中。當某個中斷發(fā)生時,系統(tǒng)根據(jù)中斷碼到中斷向量鏈表中尋找相應的中斷對象,再跳轉到中斷對象記錄的中斷處理程序的位置執(zhí)行。

              宏cyg_drv_interrupt_create(vector,priority,data,isr,dsr,handle,intr)用于產生設備的中斷對象。其中,vector是中斷向量,priority中斷優(yōu)先級,data是數(shù)據(jù)指針,isr是中斷處理程序ISR的地址,dsr是中斷滯后處理程序DSR的地址,handle是返回句柄,intr是中斷對象存放的位置。

              宏cyg_drv_interrupt_attach(interrupt)用于將中斷向量加入到中斷向量鏈表。參數(shù)interrupt是將要連接的中斷的句柄。

              設備中斷綁定后,當設備產生中斷時系統(tǒng)會找到相應的中斷向量,然后把控制權交給中斷處理程序,進行中斷的處理。

              5、兩種擴展方式比較

              對于兩種不同的CAN與ARM9連接方式,IO口連接直觀簡單;而利用數(shù)據(jù)信號線連接能節(jié)省IO口,給CPU更多開發(fā)空間。兩者在驅動程序上差異不大,主要體現(xiàn)在底層數(shù)據(jù)讀寫時序實現(xiàn)上。前者簡單易于編寫和理解,后者只是在對時序的理解上略有難度,并不會使代碼更加冗長。

              6、結束語

              本文通過在上擴展CAN總線模塊,詳細講解了如何在ARM9上擴展CAN總線模塊,給出了全IO口擴展和利用數(shù)據(jù)信號線擴展兩種方式;并詳細說明如何在高實時性操作系統(tǒng)eCos上開發(fā)CAN驅動程序;最后對兩種擴展方式做了簡單的比較。該在國家十一五某國防項目中得到了很好的應用。同時也為大中型國有企業(yè)自動化生產線的建設和改造,電力系統(tǒng)自動化的實現(xiàn)提供很好的借鑒。

            陀螺儀相關文章:陀螺儀原理



            上一頁 1 2 3 下一頁

            評論


            相關推薦

            技術專區(qū)

            關閉