国产肉体XXXX裸体137大胆,国产成人久久精品流白浆,国产乱子伦视频在线观看,无码中文字幕免费一区二区三区 国产成人手机在线-午夜国产精品无套-swag国产精品-国产毛片久久国产

關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設計應用 > 基于ARM控制器LPC2294的CAN/PCI智能通信卡設計

基于ARM控制器LPC2294的CAN/PCI智能通信卡設計

作者: 時間:2009-08-27 來源:網(wǎng)絡 收藏

若在EPlC6的“雙口RAM”中設置一個狀態(tài)與控制寄存器組(SOR),那么,上位機便可通過訪問該寄存器組查詢卡的運行狀態(tài)。為了有效管理數(shù)據(jù)傳輸,防止傳輸過程中的數(shù)據(jù)丟失,本內(nèi)部的靜態(tài)RAM區(qū)開辟了一個全局數(shù)據(jù)收發(fā)緩存區(qū)(GRTB),其示意圖如圖4所示。

圖4中,對于標準幀來說,它只有11位標識符,因此,圖中的標識符字節(jié)3和4保留不用。而幀格式用來區(qū)別此幀是標準幀(0)還是擴展幀(1)。當RTR為1時,表示此幀是遠程幀。圖中的源段號和目的段號用于表明此幀來自哪個網(wǎng)段以及將要送往哪個網(wǎng)段(此處將上位機也作為其中一段來處理)。DLC表明傳輸?shù)臄?shù)據(jù)字節(jié)數(shù)目。

2.2 卡的運行流程

系統(tǒng)上電復位后,系統(tǒng)將首先運行初始化程序。的初始化主要是初始化全局接收和發(fā)送緩沖區(qū)以及清除狀態(tài)寄存器中的值等;PCI9030的初始化主要是從EEPROM中加載初始數(shù)據(jù)以進行初始設置,初始化包括設置模式、總線時序、中斷使能、標識符表格,這些設置均可通過給芯片的內(nèi)部寄存器賦值來實現(xiàn)。初始化成功之后,卡將進行自檢,并在確定啟動正常之后進入工作狀態(tài)。這一部分的程序流程圖如圖5的A部分所示。

系統(tǒng)進入工作狀態(tài)后(圖5中的B部分)將等待中斷產(chǎn)生,如有,則進人相應的中斷服務程序。如果是數(shù)據(jù)傳輸,則轉(zhuǎn)入數(shù)據(jù)傳輸子程序,數(shù)據(jù)傳輸子程序主要包括3個部分:

(1) 下行數(shù)據(jù)傳輸

下行數(shù)據(jù)傳輸指的是上位機向網(wǎng)段發(fā)送數(shù)據(jù)。即上位機把數(shù)據(jù)寫入到“雙口RAM”中以等待將數(shù)據(jù)取走。將上位機發(fā)來的數(shù)據(jù)暫時存放在全局數(shù)據(jù)收發(fā)緩存區(qū)(GRTB)中,然后檢查匹配的目的段是否有空閑的發(fā)送區(qū)(CANSR中的TBS位為1),若有則將數(shù)據(jù)分別寫入每個網(wǎng)段的發(fā)送區(qū)并發(fā)送。如果匹配網(wǎng)段的3個發(fā)送緩沖器全為忙,則循環(huán)等待,直到有一個以上的發(fā)送緩沖器為空再進行發(fā)送。

(2) 上行數(shù)據(jù)傳輸

上行數(shù)據(jù)傳輸指的是CAN網(wǎng)段向上位機發(fā)送數(shù)據(jù)。當程序檢測到某個網(wǎng)段X的CAN中斷/捕獲寄存器(CANICR)中的接收中斷位(RI)置位后,它將進入接收中斷服務程序。此時程序?qū)⒌綐俗R符表格中查找匹配的標識符,CAN會在接收時自動搜索接收濾波器的RAM中的表格并進行匹配,只要找到匹配值則產(chǎn)生接收中斷并通知用戶保留信息,否則自動放棄這一幀信息而不產(chǎn)生接收中斷,如果它只找到一個匹配值(源網(wǎng)段中),則說明此數(shù)據(jù)是只傳輸給上位機的,此時程序會將接收到的數(shù)據(jù)信息按上面介紹的格式保存到全局數(shù)據(jù)收發(fā)緩沖區(qū)(GRTB),以等待LPC2294將其發(fā)送給EPlC6的“雙口RAM”,以便上位機讀取。

(3) 平行數(shù)據(jù)傳輸

當出現(xiàn)接收中斷時,程序也會到標識符表格中查找匹配的標識符,如果找到一個以上的匹配值,則說明還有其他網(wǎng)段需要這些數(shù)據(jù)。此時程序會將接收到的數(shù)據(jù)信息讀入到全局數(shù)據(jù)收發(fā)緩沖區(qū)(GRTB)中去,然后把數(shù)據(jù)發(fā)往匹配網(wǎng)段。

在調(diào)用相應的數(shù)據(jù)傳輸子程序后,程序?qū)⒅脴酥疚徊⒎祷亍H绻瞧渌恍┲袛?,則轉(zhuǎn)入相應的中斷服務程序。若沒有中斷產(chǎn)生,則檢查PC機是否有參數(shù)配置需要,最后進行系統(tǒng)自檢。本系統(tǒng)會在系統(tǒng)閑暇時進行自檢并上傳狀態(tài)報表,這樣可以使用戶隨時了解通信卡的工作情況,對于提高系統(tǒng)的工作可靠性以及出現(xiàn)故障時的查錯效率具有重要的意義。

2.3 上位機程序

中,上位機軟件設計程序主要包括通信卡底層驅(qū)動程序和用戶服務程序。其設計框圖圖6所示。

通信卡底層驅(qū)動程序的功能主要是配置CAN總線接口、收發(fā)CAN總線上的數(shù)據(jù)、對CAN總線進行實時監(jiān)測、執(zhí)行用戶程序的收發(fā)命令等。CAN總線和PCI總線錯誤均采用中斷處理,并通過事件(Event)內(nèi)核對象直接通知給用戶程序。

PCI的用戶服務程序則通過PCI通信程序與系統(tǒng)PCIDI (PCI device interface)進行通信,并由系統(tǒng)完成PCI協(xié)議的處理與數(shù)據(jù)傳輸。用戶可以在設計好的上位機界面上方便的設定節(jié)點參數(shù),查詢節(jié)點狀態(tài)信息。

3 結(jié)束語

本文設計的CAN/PCI通信卡采用功能強大的芯片LPC2294作為核心控制芯片,因此,該通信卡能夠同時處理4路CAN總線向上位機的數(shù)據(jù)傳輸。對于CAN網(wǎng)段之間的通信需求,本通信卡也能夠很好地滿足,并可使工業(yè)現(xiàn)場的CAN網(wǎng)絡組網(wǎng)更為簡單。


上一頁 1 2 下一頁

評論


相關(guān)推薦

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

關(guān)閉