《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > CAN總線的PCI接口通信卡設計

CAN總線的PCI接口通信卡設計

2008-07-09
作者:高 強, 任恩恩, 張 濤

??? 摘 要: 介紹了CAN總線的PCI接口通信卡的硬件電路和通信主控程序的設計以及驅動程序的開發,利用PCI接口芯片" title="接口芯片">接口芯片和雙口" title="雙口">雙口RAM以及微控制器實現工業現場總線CAN總線節點與工控機之間的通信,設備驅動程序" title="設備驅動程序">設備驅動程序在實時嵌入式操作系統Vxworks下開發。
??? 關鍵詞: PCI? CAN總線? CPLD? Vxworks

?

???CAN總線是目前最流行的工業現場總線之一,而PCI總線是目前應用最廣泛的一種高速同步總線,具有32bit寬度,總線時鐘頻率為0~33MHz,最大傳輸速率可達132MBps,廣泛應用于數字圖形、圖像、語音處理以及高速數據實時采集與處理等領域。本設計利用通用PCI接口芯片PCI9052和微控制器AVR128輔以CPLD xc9536和雙口RAM實現CAN總線上各節點與工業控制計算機之間的通信。
1 系統概述
?? PCI接口通信卡主要功能是完成上位機(工業控制計算機)與CAN總線上各節點之間的信息和數據交換。本設計通過PCI接口芯片將來自上位機的數據信息暫時保存于雙口RAM中,由單片機控制通過CAN控制器將這些信息數據下發給CAN總線上各個節點,同時CAN總線上各節點的狀態信息上傳" title="上傳">上傳給總線控制器,由單片機控制將其送入雙口RAM中,再經PCI接口上傳至上位機作進一步數據處理分析。整個過程可看作是數據的下發和上傳過程。而CPLD完成對接口芯片、雙口RAM以及單片機三者之間的邏輯控制、總線仲裁等任務。
2 硬件實現
2.1 硬件框圖及實現過程

?? 系統框圖如圖1所示。圖中,PCI接口芯片采用PLX公司的PCI9052,該芯片實質上是PCI總線與局部總線設備之間的橋梁,以保證局部總線一端的設備在符合PCI 總線的規范時連接到PCI總線上。

????????????????????????????
?? 在設計中,PCI9052的局部總線設計是較為復雜的環節。PCI9052內部提供了兩種配置寄存器" title="配置寄存器">配置寄存器:PCI configuration registers 和local configuration registers。PCI9052本地端提供了26根地址線(27:2)、32根數據線和4根LBE線(可以翻譯成不同的地址線),本卡用的LOCAL端是8位數據,在這種模式下,LBE1和LBE0提供地址線[1:0]。PCI配置寄存器提供了6個基地址寄存器,這些基地址是在系統中的物理地址,其中,BASE1和BASE2都是用來訪問LOCAL 配置寄存器的基地址,BASE1是映射到內存的基地址,BASE2是映射到I/O的基地址,所以可以通過內存和I/O來訪問LOCAL 配置寄存器。BASE2~5四個空間提供了訪問本地端所接的四個芯片,它們將本地的芯片映射到系統的內存或I/O口。本設計使用的是內存映射,如果本地端的芯片地址是0x0cc000,本卡設計中將此地址放入local配置寄存器的相應位置space0,同時配置此空間的大小,這樣在PCI總線端,系統會根據這個大小分配相應的內存空間(或I/O空間)供PCI9052使用,以映射LOCAL上所接的芯片,且系統分配的內存空間的信息會寫入PCI配置寄存器中,讀出即可。PCI9052工作時需一片配置芯片EEPROM,本設計中選用93CS46。EEPROM會在PCI卡上電的時候配置PCI9052,主要配置PCI卡的vendorID和deviceID(實質上是對該通信卡的標識)LOCAL端的四個space的LOCAL基地址和大小,以及每個space的其他一些參數。
??? 在該通信卡中,CPLD完成的主要功能包括:地址控制、譯碼以及地址數據線的分離,雙口RAM操作權的獲取和釋放控制。當有信息數據從PCI接口下發時,CPLD的控制邏輯首先讓PCI9052 取得雙口RAM的控制權(在這之前,雙口RAM已映射為PCI9052的某一內存空間),數據存入雙口RAM的過程可看成對PCI本身內存空間的操作。數據下發完畢后,PCI9052則釋放控制權,由CPLD通知AVR128獲取雙口RAM控制權,AVR128與雙口RAM的連接采用地址數據復用方式,由CPLD控制其地址數據的分離,AVR128將下發數據首先搬移至自己內存空間,并將這些數據按照CAN通信協議打包,從SJA1000發送至各節點。
??? 當各種狀態信息數據從CAN 總線上各節點上傳時,其功能與數據下發過程中CPLD所起的作用基本相同,不過應注意一個問題:對于雙口RAM的操作,PCI9052和AVR128都有可能要執行。但雙口RAM的同一個地址單元不能同時進行寫操作,為解決地址競爭問題,需要CPLD附加上總線仲裁功能。CAN總線上各節點的信息中有可能包括某節點的故障信息,一般情況下,應該是信息數據的上傳優先。采用VHDL語音較易實現該邏輯功能。
2.2 地址空間分配問題
??? 從整個系統來看,雙口RAM要同時映射為PCI9052和AVR128的內存空間,而AVR128要同時將雙口RAM和兩片SJA1000映射進自己的可尋址空間,所以:(1)在數據下發過程中又突然有數據上傳時,應由CPLD保證總線不沖突。(2)映射到AVR128的可尋址空間的三塊地址,最好分配時留有一定的間隔,以避免沖突。
3 軟件設計
??? 軟件設計包括單片機數據收發主控程序設計、工控機的PCI總線設備驅動程序開發以及CPLD的邏輯控制程序設計。
3.1 設備驅動程序開發
??? 設備驅動程序的開發是軟件設計中比較復雜的工作。Vxworks中設備驅動程序有查詢方式和中斷方式兩種。中段方式下,事件發生是由中斷信號確定的,在中斷信號沒有出現時,驅動程序處于空閑狀態;查詢方式下,驅動程序需生成一個任務不斷地查詢相關寄存器以確定事件的發生。但無論在何種方式下,設備驅動程序的基本流程是相同的。首先應獲取硬件接口參數,包括內存映射地址、端口和系統中斷控制器的輸入(IRQ)。而獲取參數的方法由硬件接口方式決定PCI作為一種即插即用的總線結構,在BIOS和操作系統支持下,可自動為設備分配合適的硬件接口參數。本設計中基于PCI總線的系統采用內存映射訪問寄存器,接口函數中實現中斷服務子程序,且該子程序不能有運行時間過長的代碼,以避免死鎖而且應該盡快返回。驅動程序框架如下:
??? //定義常量和全局變量
????????? #define VENDOR_ID xxx
??? //定義信息數據結構
????????? Typedef struct xxx_info
???????? {
????????? UNIT pciBus,pciDevice
????????? Char irq;
    }XXX_INFO;
??? //獲取硬件接口參數
????????? Void xxxInit()
????????? {
????????? //利用PCIdeviceID,VavdorID及總線號功能號
???? //查找設備
????????? for ( i=0;i????????????? { if (pciFindDevice()=error)
??????????????????? {
???????????????????? 重新查找
???????????????????? }
??????????????? Else
???????????????????? {確定出映射到系統中的設備的基地址}
?????????????? }
?????????????? //確定設備的IRQ
??????????? pciConfigInbyte(busNo,deviceNo,funcNo,PCI_
????CFG_DEV_INT_LINE,&irq);?
?????????? }
?????? //中斷服務子程序
?????????? Void xxxIntr()
????????????????? {
       }
?????? //設備初始化子程序
??????????? {
????????????? //初始化設備
????????????? //連接中斷服務程序
3.2 單片機數據收發主控程序設計
??? 主控程序由兩大模塊構成:上位機的控制信息數據的下發模塊和各節點的狀態信息數據的上傳模塊。整個通信功能的實現須嚴格按照CAN通信協議,兩大模塊均須完成與雙口RAM通信接口的初始化和SJA1000的初始化。雙口RAM通信接口初始化指的是AVR128接到CPLD通知后獲取對雙口RAM的操控權,而SJA1000初始化需要將SJA1000的內部寄存器編程,且須按如下順序初始化:檢測接口→復位→輸出模式及時鐘分頻設置→通信對象設置→波特率設置→命令寄存器及終端使能寄存器設置→退出復位→工作模式。通信程序流程圖如圖2所示。

???????????????????????????????
??? 本通信卡設計采用主流芯片及總線技術,充分利用了PCI總線的優點,使其能在工業控制以及數字領域得到廣泛應用。利用嵌入式技術的高性能、硬件電路采用的雙路邏輯,并結合CAN總線的高可靠性及安全性,使工業控制設備的性能大為改善。將該通信卡應用于鐵路交通領域、智能交通等的通信系統中,完全可滿足實時性以及安全可靠性的要求,其應用前景廣闊。
參考文獻
[1] PLX Technology Inc. PCI9052 data book. 1997.
[2] Philips Semiconductors. SJA1000 Stand-alone CAN controller. 2000.
[3] Integrated Device Technology Inc. IDT7005. 1998.
[4] 姚利民,孫逢春.用雙端口RAM實現與PCI總線接口的數據通訊.電子技術應用,2006,32(8).
[5] 王軍,燕永田,白海威.基于CAN 總線車站信號微機連鎖系統的實現.鐵路計算機應用,2001,(2).

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          免费毛片一区二区三区久久久| 国产精品高潮呻吟久久av黑人| 欧美精品三级| 欧美精品成人在线| 久久这里只精品最新地址| 99国产精品国产精品久久| 久久亚洲春色中文字幕久久久| 午夜精品剧场| 欧美好吊妞视频| 欧美日韩亚洲一区二区三区在线| 夜夜爽99久久国产综合精品女不卡| 久久综合福利| 一区二区三区高清在线观看| 欧美亚洲在线视频| 黑人巨大精品欧美黑白配亚洲| 国产精品国产精品| 国产一区二区精品丝袜| 欧美日韩国产在线播放网站| 日韩午夜黄色| 亚洲免费福利视频| 国产精品亚洲一区| 欧美理论视频| 欧美一区激情| 久久精品av麻豆的观看方式| 国产精品亚洲人在线观看| 欧美裸体一区二区三区| 国产午夜精品一区二区三区欧美| 久久在线视频在线| 国产精品亚洲一区二区三区在线| 欧美在线精品免播放器视频| 国产一区二三区| 国产精品一区免费在线观看| 在线观看中文字幕亚洲| 国产精品视频大全| 亚洲精品小视频| 欧美一区在线直播| 99视频精品| 亚洲综合大片69999| 136国产福利精品导航| 免费视频一区二区三区在线观看| 老**午夜毛片一区二区三区| 91久久极品少妇xxxxⅹ软件| 国内精品久久久久久久影视麻豆| 欧美人成在线| 夜夜夜精品看看| 欧美aa在线视频| 国产精品99久久久久久www| 欧美日韩一区二区在线观看| 午夜视频一区二区| 亚洲狠狠婷婷| 国产一区深夜福利| 久久精品99无色码中文字幕| 日韩视频第一页| 亚洲美女在线一区| 国产精品久线观看视频| 久久爱www| 国产亚洲欧美日韩一区二区| 在线观看欧美日韩国产| 欧美一级专区免费大片| 极品日韩久久| 欧美精品一区二区三区很污很色的| 香蕉久久a毛片| 美女视频黄 久久| 亚洲国产精品99久久久久久久久| 亚洲美女区一区| 女人香蕉久久**毛片精品| 黄色精品在线看| 欧美成人综合| 国产午夜精品一区理论片飘花| 欧美色图五月天| 性久久久久久久| 久久婷婷久久| 久久久久久久91| 亚洲精品乱码| 欧美日韩在线免费观看| 亚洲精品永久免费精品| 欧美中文在线字幕| 影音先锋国产精品| 欧美日韩亚洲一区二区三区在线| 国产日韩一区| 午夜亚洲性色视频| 国产日韩三区| 亚洲综合大片69999| 欧美国产亚洲视频| 麻豆91精品91久久久的内涵| 亚洲自拍偷拍视频| 99视频超级精品| 亚洲福利在线看| 欧美激情欧美狂野欧美精品| 狠狠色狠狠色综合日日91app| 欧美三级小说| 久久手机免费观看| 亚洲国产美国国产综合一区二区| 久久久精品2019中文字幕神马| 欧美一区三区二区在线观看| 亚洲欧美日本精品| 亚洲午夜精品久久久久久浪潮| 亚洲美女性视频| 亚洲——在线| 亚洲国产99精品国自产| 国产精品视频你懂的| 日韩视频免费在线观看| 欧美chengren| 91久久国产综合久久91精品网站| 在线成人欧美| 国产视频一区二区在线观看| 国产精品九九久久久久久久| 中文精品视频一区二区在线观看| 亚洲国产精选| 欧美日韩精品一区视频| 欧美视频网站| 亚洲国产裸拍裸体视频在线观看乱了| 老司机67194精品线观看| 亚洲精品中文字幕在线| 国产午夜精品一区二区三区欧美| 欧美一区二区大片| 国产精品久久久99| 久久精品国产第一区二区三区最新章节| 99国产精品99久久久久久粉嫩| 久久精品国产91精品亚洲| 91久久在线视频| 久久高清国产| 免费在线欧美视频| 欧美日韩一区二区三区四区在线观看| 国产亚洲精品一区二555| 免费观看30秒视频久久| 亚洲欧美日韩国产另类专区| 欧美美女操人视频| 国产精品欧美日韩久久| 先锋影音网一区二区| 国产精品成人国产乱一区| 欧美中文字幕第一页| 国产精品美女www爽爽爽| 中文精品在线| 亚洲人体1000| 一区二区三区四区国产精品| 精品99一区二区| 亚洲精品久久久久久久久久久久| 亚洲理伦在线| 欧美三级午夜理伦三级中文幕| 亚洲第一主播视频| 午夜精彩国产免费不卡不顿大片| 国产欧亚日韩视频| 国产久一道中文一区| 在线不卡亚洲| 国产精品女主播在线观看| 欧美激情按摩| 136国产福利精品导航网址应用| 国产精品久久婷婷六月丁香| 欧美日本国产精品| 国产精品三级视频| 好看的av在线不卡观看| 亚洲精品色图| 一区二区三区高清不卡| 久久久久久免费| 久久精品中文字幕一区| 99v久久综合狠狠综合久久| 欧美日韩国产欧美日美国产精品| 亚洲无亚洲人成网站77777| 欧美v亚洲v综合ⅴ国产v| 亚洲精品一线二线三线无人区| 亚洲精品在线电影| 国产一本一道久久香蕉| 一区二区三区视频免费在线观看| 国产欧美精品一区aⅴ影院| 免费成人你懂的| 亚洲福利免费| 久久精品视频亚洲| 国产日韩一级二级三级| 欧美激情综合五月色丁香小说| 国产精品美女久久久久久久| 狠狠色狠狠色综合| 国产精品乱码妇女bbbb| 在线成人欧美| 久久亚洲高清| 欧美午夜一区二区| 国产精品亚洲аv天堂网| 性欧美暴力猛交69hd| 久久综合免费视频影院| 亚洲一区二区在线免费观看视频| 欧美精品一区在线| 亚洲图片欧洲图片日韩av| 欧美一级在线亚洲天堂| 亚洲天堂av图片| 一本一本久久| 欧美图区在线视频| 欧美成人精品一区二区| 亚洲免费在线播放| 亚洲视频播放| 国产精品视屏| 欧美日韩免费观看一区三区| 欧美激情一区二区在线| 一区在线观看视频| 亚洲无亚洲人成网站77777| 欧美精品videossex性护士| 麻豆av福利av久久av| 欧美激情精品久久久久久大尺度| 国产精品嫩草影院av蜜臀| 国产一区二区欧美日韩| 久久激情视频免费观看| 亚洲精品一区中文| 久久久激情视频| 亚洲人体影院| 国产一区二区精品丝袜| 美女视频黄 久久| 欧美国产综合| 欧美人成在线| 亚洲影视在线播放| 国产一区二区三区四区| 伊人久久大香线蕉综合热线| 国产一区二区三区在线观看免费视频| 欧美色网在线| 在线一区日本视频| 欧美精品亚洲一区二区在线播放| 久久久国产精彩视频美女艺术照福利| 欧美一区二区女人| 国产精品二区三区四区| 国内精品久久久久久久影视蜜臀| 欧美日韩国产精品成人| 一区二区三区 在线观看视频| 欧美日精品一区视频| 久久精品视频免费播放| 国产精品国产一区二区| 亚洲欧美日韩国产中文| 国产精品亚洲精品| 伊人蜜桃色噜噜激情综合| 亚洲国产日韩精品| 国产女人aaa级久久久级| 欧美a级一区二区| 久久久www成人免费无遮挡大片| 宅男噜噜噜66一区二区| 久久av一区| 欧美日韩亚洲一区二区三区四区| 国产精品成人一区二区三区夜夜夜| 欧美私人啪啪vps| 欧美日韩中文| 久久精品三级| 国产欧美日韩精品在线| 亚洲高清久久| 精品动漫3d一区二区三区免费版| 亚洲国内高清视频| 亚洲欧美另类综合偷拍| 久久成人综合视频| 亚洲第一中文字幕在线观看| 日韩视频免费在线观看| 国产精品成人午夜| 一本色道久久综合精品竹菊| 国产欧美一区二区在线观看| 欧美黄色aa电影| 久久综合色8888| 国产精品美女久久久免费| 亚洲精品九九| 亚洲免费激情| 欧美人与性动交a欧美精品| 久久成人久久爱| 亚洲无亚洲人成网站77777| 欧美日韩精品免费看| 国产精品一区免费视频| 久久久综合免费视频| 国产亚洲精品一区二555| 亚洲欧美日韩精品久久久| 一区二区三区四区在线| 欧美亚州在线观看| 久久夜色精品国产欧美乱| 欧美一级专区免费大片| 欧美三级黄美女| 一区二区视频免费完整版观看| 精品91视频| 欧美日韩亚洲高清| 亚洲专区欧美专区| 国产最新精品精品你懂的| 欧美日韩少妇| 欧美日韩视频一区二区| 亚洲一区二区视频在线| 欧美在线一二三四区| 亚洲精品综合精品自拍| 欧美专区在线观看| 国产精品九色蝌蚪自拍| 亚洲人成啪啪网站| 亚洲嫩草精品久久| 国产精品欧美日韩| 久久综合久久88| 欧美三级日本三级少妇99| 国产精品ⅴa在线观看h| 在线精品一区二区| 99成人精品| 亚洲国产精品t66y| 欧美日韩一区视频| 国产色产综合色产在线视频| 欧美视频在线视频| 国产精品亚洲综合一区在线观看| 亚洲精品亚洲人成人网| av成人动漫| 欧美色欧美亚洲另类二区| 亚洲欧洲精品一区二区三区不卡| 久热精品视频在线免费观看| 在线国产欧美| 欧美日本一区二区视频在线观看| 国产三级精品在线不卡| 国产精品二区二区三区| 国产日韩在线不卡| 国产精品99久久久久久人| 欧美激情视频一区二区三区不卡| 狠狠狠色丁香婷婷综合久久五月| 亚洲欧洲日韩在线| 欧美日韩国产小视频在线观看| 亚洲第一区色| 在线成人国产| 牛牛国产精品| 亚洲视频高清| 欧美视频专区一二在线观看| 亚洲小少妇裸体bbw| 日韩视频一区二区三区在线播放免费观看| 欧美激情一区二区三区不卡| 国产乱码精品一区二区三| 欧美视频在线一区二区三区| 亚洲在线中文字幕| 欧美午夜剧场| 美国十次了思思久久精品导航| 欧美精品啪啪| 亚洲少妇中出一区| 日韩午夜电影av| 欧美精品久久99久久在免费线| 亚洲美女少妇无套啪啪呻吟| 欧美日本国产精品| 日韩亚洲欧美精品| 国产精品高潮呻吟久久| 欧美日韩国产影片|