《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > 基于USB的CAN總線智能適配卡的軟硬件設計

基于USB的CAN總線智能適配卡的軟硬件設計

2009-02-12
作者:季厭浮

  摘 要: 采用SJA1000作為CAN控制芯片,使用PDIUSBD12作為USB的控制芯片,并利用AT89C52作為微控制器,設計了基于USB的CAN總線智能適配卡的硬件結構。在此基礎上,設計了適配卡的軟件實現方案。針對CAN總線容易受到外界干擾的弱點,使用6N137進行信號隔離。
  關鍵詞: USB接口;CAN總線;微控制器;智能適配卡

?

  隨著信息技術的飛速發展,各種數據的實時采集和處理在現代工業控制中已經成為必不可少的部分,這就要求現場設計的接口簡單靈活且具有較高的數據傳輸率。控制器局域網CAN(Controller Area Network)總線屬于現場總線的范疇,是一種具有高可靠性、支持分布式控制和實時控制的串行通信總線標準。傳統的適配卡設計方案中,CAN總線網絡與計算機的連接通常采用的是RS232、ISA或者PCI接口,但是隨著計算機接口技術的迅速發展,ISA接口已經逐漸被淘汰。RS232接口數據傳輸率太低,PCI接口雖然可以實現高速傳輸,但其主要缺點是占用有限的系統資源,設計復雜,并且無法用于便攜式計算機的擴展,必須有高質量的驅動程序保證系統的穩定。USB技術正是順應接口技術發展而提出的一種快速、雙向、同步傳輸、廉價的并且可以進行熱插拔的通用串行總線。
  本文設計了基于USB接口的CAN總線適配卡的硬件結構和軟件實現方案。該適配卡既可以對數據起到轉發的作用,即收集CAN總線上各個節點的數據,轉發給上位機,并把上位機的命令和數據發給各節點;也可以完成對CAN總線上的用戶系統的部分監控管理工作,故又被稱為智能適配卡[1]。通過在礦井等特殊現場環境下的實踐應用,證明該適配卡具有良好的抗干擾能力和高速的傳輸性能。
1 智能適配卡的硬件結構
  適配卡的硬件電路主要由微控制器、CAN總線接口、USB總線接口和信號隔離模塊等部分組成,如圖1所示。

?


1.1 AT89C52微控制電路
  AT89C52是一個低電壓、高性能CMOS 8位單片機,片中內置有8KB可反復擦寫的Flash存儲單元和256B隨機存取數據存儲器RAM,功能強大。AT89C52是該接口電路的控制核心,其中P0、P2口用作16位數據I/O口,P1、P3口用作控制。
  微控制器負責對USB設備控制器和CAN控制器進行控制。在微控制器內部駐留有USB通信協議和CAN通信協議,完成USB通信協議和CAN總線通信協議轉換,實現USB接口和CAN接口通信數據的透明傳輸[2]
1.2 USB接口電路
  本設計中USB控制芯片采用Philips公司的PDIUSBD12。該芯片是一款性價比很高的USB器件,內部集成了串行接口引擎SIE、存儲器管理單元MMU、集成RAM、模擬收發器以及電壓調整器,可與任何外部微控制器實現高速數據傳輸的并行接口(2MB/s)。提供3個端點,其中主端點(端點2)的雙緩沖配置增加了數據吞吐量并輕松實現實時數據傳輸。
  PDIUSBD12與微控制器的接口有二種方式:多路地址/數據總線方式、單地址/數據總線方式。在本設計中,采用的是前一種方式,即使用了AT89C52的INT0、ALE、WR、RD和P0口,A0腳接地,當PDIUSBD12接收到主機的有效信息時,會產生一個中斷通知AT89C52進行處理。若微控制器的輸出地址為奇數,則表示對PDIUSBD12發送指令;若輸出地址為偶數,則表示對PDIUSBD12進行數據傳輸。AT89C52將數據經PDIUSBD12的并行接口送入FIFO存儲器。對微控制器而言,PDIUSBD12看起來就像1個帶8位數據總線和1個地址位的存儲器件。由于在USB的信號傳遞過程中會摻雜進瞬間的高壓噪聲,這些噪聲對USB口的收發電路將產生致命的危害,因此需要對這些噪聲電壓進行抑制。在USB接口電路設計中,使用了SN75240,它可以對USB接口中的不正常電壓進行有效的抑制,以保證硬件設備的安全[3]。
1.3 CAN總線電路
  在本設計中,CAN總線控制器采用Philips公司生產的SJA1000,它作為一個發送、接收緩沖器,實現主控制器和總線之間的數據傳輸。CAN總線控制器接口芯片采用PCA82C250,它是CAN總線控制器和物理總線的接口,可以對總線提供不同的發送能力和對CAN控制器提供不同的接收能力。為了增強CAN總線的抗干擾能力,SJA1000的TX0和RX0并不是直接與PCA82C250的TXD和RXD相連,而是通過高速光電耦合器6N137后與PCA82C250相連。這樣就很好地實現了總線上各CAN節點間的電氣隔離,如圖2所示。不過應注意:光耦部分電路所采用的兩個電源Vcc和Vdd必須完全隔離,否則采用光耦就會失去意義。電源的完全隔離可采用小功率電源隔離模塊,或帶+5V隔離輸出的開關電源模塊實現。

?

2 智能適配卡的軟件設計
  適配卡的軟件設計主要包括CAN通信軟件設計、USB設備端通信軟件設計、USB設備驅動程序設計和應用程序設計四大部分。
2.1 CAN通信軟件設計
  CAN通信軟件設計主要包括三大部分:初始化CAN控制器SJA1000、發送數據模塊和接收數據模塊。同時還包括一些數據溢出中斷及幀出錯的處理。初始化CAN控制器SJA1000主要用來實現CAN控制器工作時的參數設置,這些初始化的內容包括硬件使能CAN控制器、設置CAN報警界限、設置CAN總線波特率、設置中斷工作方式、設置CAN驗收過濾器的工作方式、設置CAN控制器的工作模式等[4]。這些功能主要是通過設置各寄存器予以實現。
  微控制器AT89C52將USB總線送來的數據轉換為符合CAN發送幀格式的數據,通過調用CAN發送數據模塊將該數據從CAN控制器SJA1000轉發。微控制器AT89C52調用CAN接收數據模塊接收來自CAN總線的數據,并把數據轉換為符合USB發送幀格式的數據,將該數據通過PDIUSBD12進行轉發[5]。CAN通信軟件整體工作流程如圖3所示。

?


2.2 USB設備端通信軟件設計
  USB設備端通信軟件設計主要包括PDIUSBD12的硬件驅動層、USB接口控制驅動層、USB協議層和USB應用層軟件設計[6]。
2.2.1 PDIUSBD12的硬件驅動層軟件設計
  PDIUSBD12硬件驅動層主要任務是初始化PDIUSBD12與AT89C52連接的配置,復位PDIUSBD12并建立PDIUSBD12與AT89C52的通信函數。
2.2.2 USB接口控制驅動層軟件設計
  USB接口控制驅動層的主要任務是實現PDIUSBD12的各種功能,包括地址使能、讀取端點數據、向端點寫入數據和設置DMA等,該層中的功能函數通過調用PDIUSBD12硬件驅動層的各函數予以實現。
2.2.3 USB協議層軟件設計
  USB協議層的主要任務是處理標準的USB設備請求以及特殊的廠商請求。USB主機通過標準USB設備請求,可設定和獲取USB設備的有關信息,完成USB設備的枚舉。所有的請求都是通過PDIUSBD12的端點0接收和發送SETUP包來完成。
2.2.4 USB應用層軟件設計
  PDIUSBD12支持所有的四種USB數據傳輸方式。本文適配卡的設計中使用了控制傳輸、中斷傳輸和批量傳輸。控制傳輸只用來傳遞控制信息,固定使用端點0;中斷傳輸使用端點1,用來傳送CAN網絡狀態信息;批量傳輸使用端點2,用來實現主機和CAN網絡節點之間的數據傳送。
  PDIUSBD12具有完善的中斷機制,微控制器AT89C52可以通過讀PDIUSBD12的中斷寄存器獲得總線事件。為了提高USB應用層軟件的運行效率,主程序對系統進行初始化后開放中斷,在中斷服務程序中對事件進行分析和必要的處理,并設置相應的變量標志和數據緩沖區。主程序則循環查詢變量標志,調用相應的子程序進行處理。這種程序結構使得主程序能夠在前臺處理各種數據傳送任務,同時又可以通過中斷在后臺及時處理總線事件,有力地確保了最佳的傳輸速率和更好的軟件結構,同時簡化了編程和調試[7]。PDIUSBD12中斷服務程序如圖4所示。

?

2.3 USB設備驅動程序設計
  USB設備驅動程序采用的是WDM( Windows Driver Mode)
  類型。WDM屬于操作系統的內核模式,其驅動程序由運行于內核模式的系統代碼組成。WDM設備驅動模型與先前的VXD型驅動程序相比,降低了所需驅動程序的數量和復雜性,簡化了驅動程序的開發[8]。
  本文采用DriverStudio開發工具進行開發。DriverStudio包含VtoolsD、softICE和DriverWork等工具,通過DriverWorks的開發向導Driver Wizard生成驅動程序框架,在其生成的代碼框架中再加入對設備上LED燈的控制操作,實現一個完整的USB設備驅動程序。在生成驅動程序的同時,可以同時生成驅動程序的測試程序。編譯運行DriverWorks生成的驅動測試程序,能夠發現此設備驅動運行是否良好,并能夠實現對設備上的LED燈的控制。
2.4 應用程序設計
  對于廣大用戶而言,與系統的交互是通過應用程序實現,而且整個系統的主要數據處理都在這里完成。因此,運行效率高、界面友好、具有強大數據分析和處理的應用程序的設計,也是系統設計上一個不容忽視的關鍵因素。應用程序設計的關鍵是實現從USB外設讀取或發送特定數量的數據,本設計中采用Visual C++6.0作為應用程序的開發環境。
  CAN總線與USB總線作為流行的、先進的總線技術都具有廣泛的應用和發展前途。本設計通過結合USB與CAN的優點連接擴展了USB在工業控制中的功能,同時大大簡化了工業控制與PC機之間的數據通信,具有十分廣泛的應用價值。本設計已經完成,并在礦井下數據傳輸中得到應用,取得了良好的現場應用效果。


參考文獻
[1] 張延宇,曹云俠. 基于USB的CAN適配卡的設計與實現[J].微計算機信息,2006,22(1):6-8.
[2] ?高強,任恩恩,張濤. CAN總線的PCI接口通信卡設計[J].電子技術應用,2007,33(7):122-124.
[3] ?周立功. PDIUSBD12固件編程與驅動開發[M]. 北京:北京航空航天大學出版社,2003.
[4] ?律德才,馬峰. CAN總線控制器SJA1000的原理及應用[J].電測與儀表,2002,(4):57-59.
[5] ?CENA G, VALENZANO A.FastCAN: A high-performance?enhance CAN-like network[J]. IEEE Transactions on
Industrial? Electronics, 2000,47(4):951-952.
[6] ?高軍,劉曉莉,趙延明.基于LPC2292的CAN總線USB接口適配器的設計[J].化工自動化及儀表,2007,34(4):49-52.
[7] ?張紅彩,賴聯琨,姜學東.USB總線在CAN接口卡上的應用與設計[J].自動化與儀表,2006,(3):27-30.
[8] ?CANT C. Windows WDM 設備驅動程序開發指南[M].北京:機械工業出版社,2000.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話: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>
          国产精品极品美女粉嫩高清在线| 欧美精品久久久久a| 欧美一区二区三区喷汁尤物| 欧美一区三区三区高中清蜜桃| 久久精品官网| 久久综合九色综合网站| 午夜国产精品影院在线观看| 欧美精品电影在线| 亚洲精品一区二区在线| 激情综合视频| 欧美精品一区在线播放| 樱桃视频在线观看一区| 国产精品嫩草影院一区二区| 蘑菇福利视频一区播放| 国产精品尤物福利片在线观看| 亚洲精品国产品国语在线app| 欧美国产一区二区在线观看| 国产精品日韩在线观看| 久久久777| 在线播放中文字幕一区| 亚洲国产欧美一区| 欧美人与性动交a欧美精品| 亚洲影音一区| 亚洲欧美日韩在线综合| 亚洲人成人99网站| 蜜桃av一区| 欧美 日韩 国产在线| 午夜一区不卡| 国产精品美女久久久久aⅴ国产馆| 欧美丝袜一区二区三区| 欧美日韩视频在线一区二区观看视频| 老司机午夜精品| 久久aⅴ乱码一区二区三区| 一区二区日韩伦理片| 久久夜精品va视频免费观看| 欧美成年人视频| 国产精品亚洲网站| 亚洲激情专区| 亚洲欧美卡通另类91av| 午夜日韩在线观看| 1024精品一区二区三区| 欧美三区不卡| 91久久国产综合久久蜜月精品| 久久久.com| 欧美日韩免费观看一区=区三区| 国产精品专区一| 亚洲福利一区| 亚洲黄色在线| 国产在线一区二区三区四区| 久久激情网站| 久久久精品国产一区二区三区| 99在线精品观看| 欧美福利视频网站| 亚洲专区欧美专区| 一区二区三区鲁丝不卡| 午夜视频久久久久久| 亚洲男人天堂2024| 久久一区二区三区四区五区| 久热精品视频| 久久天天狠狠| 久久一区二区三区超碰国产精品| 国产精品视频自拍| 国产一区二区日韩| 久久激情视频久久| 欧美国产三级| 午夜精品在线视频| 欧美日韩国产综合视频在线观看中文| 久久久最新网址| 亚洲精品影院| 欧美视频在线观看视频极品| 亚洲国产日韩美| 一区精品在线播放| 国产精品久久九九| 亚洲免费成人av| 韩国三级在线一区| 国产啪精品视频| 免费视频一区二区三区在线观看| 国产色婷婷国产综合在线理论片a| 先锋影音久久久| 国产精品三上| 久久欧美中文字幕| 久久综合伊人77777尤物| 西西裸体人体做爰大胆久久久| 亚洲一区二区三区影院| 国产精品私房写真福利视频| 一区二区三区成人精品| 亚洲视频在线视频| 国产精品久久久久久久浪潮网站| 亚洲专区一区| 国产精品午夜国产小视频| 久久天堂av综合合色| 在线观看av不卡| 麻豆精品国产91久久久久久| 欧美一区二区精品久久911| 国产精品毛片a∨一区二区三区| 午夜久久tv| 欧美国产极速在线| 亚洲欧美日韩国产| 国产午夜亚洲精品羞羞网站| 亚洲视频在线看| 亚洲日本成人网| 国产偷久久久精品专区| 久久尤物电影视频在线观看| 欧美激情亚洲另类| 伊伊综合在线| 一本色道久久综合亚洲91| 免费成人av| 国产精品不卡在线| 国产精品日本欧美一区二区三区| 亚洲国产三级网| 欧美日韩一区高清| 国产精品久久久久国产精品日日| 欧美国产欧美亚州国产日韩mv天天看完整| 日韩小视频在线观看专区| 狠狠色伊人亚洲综合成人| 国产女主播视频一区二区| 欧美日韩免费精品| 久久久久国色av免费观看性色| 欧美区在线播放| 欧美精品一区二区三区视频| 亚洲国产精品999| 亚洲精品在线三区| 欧美日韩在线精品一区二区三区| 久久五月天婷婷| 中文在线不卡| 在线日韩日本国产亚洲| 欧美一站二站| 亚洲欧美国产精品桃花| 久久综合中文字幕| 亚洲人成在线播放| 噜噜噜91成人网| 亚洲综合色激情五月| 欧美刺激午夜性久久久久久久| 国产真实乱偷精品视频免| 久久九九国产精品怡红院| 一区二区av在线| 国产亚洲精品成人av久久ww| 欧美色图首页| 亚洲精品在线三区| 国内精品久久久久影院色| 国产精品h在线观看| 欧美日产国产成人免费图片| 亚洲三级毛片| 欧美激情一二区| 一区二区欧美日韩| 久久精品国产清自在天天线| 亚洲欧美久久久| 欧美在现视频| 亚洲综合视频一区| 欧美激情国产精品| 久久成人免费日本黄色| 欧美日韩不卡视频| 亚洲免费不卡| 欧美日本一区二区高清播放视频| 99精品视频一区二区三区| 香蕉久久夜色精品国产| 国产精品亚洲精品| 国产精品hd| 欧美精品国产精品| 蜜桃av一区二区在线观看| 国产亚洲视频在线观看| 国产女人水真多18毛片18精品视频| 激情校园亚洲| 亚洲综合不卡| 欧美一区二区在线视频| 欧美精品久久久久久久久老牛影院| 久久这里有精品15一区二区三区| 国产欧美日韩另类一区| 欧美性猛交xxxx乱大交蜜桃| 欧美三区在线视频| 国语对白精品一区二区| 国产性天天综合网| ●精品国产综合乱码久久久久| 欧美日韩在线播放一区二区| 欧美日韩亚洲在线| 欧美在线免费| 欧美激情亚洲自拍| 久热这里只精品99re8久| 亚洲人成亚洲人成在线观看图片| 国内伊人久久久久久网站视频| 噜噜噜在线观看免费视频日韩| 日韩视频在线观看国产| 免费成人av| 欧美精品自拍| 日韩午夜中文字幕| 久久久免费精品| 欧美午夜不卡视频| 欧美一二区视频| 正在播放欧美一区| 亚洲精品影院| 国产一区二区三区黄视频| 中文亚洲视频在线| 亚洲国产日韩欧美在线动漫| 久久人91精品久久久久久不卡| 久久精品视频一| 亚洲香蕉在线观看| 欧美一区二区私人影院日本| 欧美成人免费一级人片100| 一区二区在线视频播放| 亚洲第一天堂无码专区| 日韩视频永久免费| 欧美激情中文不卡| 影音先锋国产精品| 亚洲无亚洲人成网站77777| 亚洲一区二区在线视频| 亚洲一区免费| 狠狠网亚洲精品| 欧美成人在线影院| 欧美在线观看视频一区二区| 久久精品72免费观看| 亚洲国产小视频| 国产精品久久久久国产精品日日| 一区二区三区免费网站| 亚洲看片网站| 欧美视频日韩视频| 韩国女主播一区二区三区| 欧美三级视频在线观看| 欧美亚洲视频| 亚洲午夜精品一区二区三区他趣| 欧美在线视频不卡| 亚洲国产小视频| 玖玖玖国产精品| 亚洲一区三区电影在线观看| av成人毛片| 久久久7777| 亚洲福利视频一区二区| 国产综合久久久久久鬼色| 欧美成人国产| 久久亚洲美女| 欧美日韩一区二区在线播放| 中文久久乱码一区二区| 亚洲精品午夜| 99精品视频免费观看| 久久九九热re6这里有精品| 好吊色欧美一区二区三区视频| 欧美高清影院| 亚洲欧美综合一区| 欧美在线影院| 一区二区三区精品视频在线观看| 一二三四社区欧美黄| 欧美中文字幕在线播放| 欧美性猛交xxxx免费看久久久| 欧美裸体一区二区三区| 国产精品视频一区二区高潮| 欧美日韩一卡二卡| 久久天天躁夜夜躁狠狠躁2022| 久久岛国电影| 亚洲欧美国产精品va在线观看| 99爱精品视频| 中日韩视频在线观看| 国产在线日韩| 亚洲尤物影院| 久久成人一区二区| 久久久精品午夜少妇| 麻豆精品在线播放| 国产精品久久久久aaaa樱花| 极品尤物av久久免费看| 国产精品久久久久999| 欧美一区二区三区视频在线观看| 欧美日韩国产限制| 国产视频自拍一区| 欧美日韩午夜精品| 国产精品精品视频| 欧美日韩123| 亚洲欧美精品在线观看| 国产日韩综合一区二区性色av| 亚洲伦伦在线| 欧美日韩在线播| 影音国产精品| 亚洲精品乱码久久久久久蜜桃91| 国产婷婷一区二区| 黑人一区二区三区四区五区| 国产视频精品xxxx| 欧美久久99| 亚洲精品乱码久久久久久黑人| 国产精品一区一区三区| 国产精品久久网| 国产精品sm| 日韩午夜三级在线| 国产精品一二| 亚洲在线视频免费观看| 99re视频这里只有精品| 午夜国产精品视频免费体验区| 亚洲影院免费| 亚洲国产视频一区| 国产精品自拍小视频| 欧美影院一区| 亚洲欧美视频一区二区三区| 欧美性jizz18性欧美| 欧美一区二区视频在线| 国产精品视频免费| 亚洲一区二区三区国产| 裸体歌舞表演一区二区| 国产一区二区三区精品欧美日韩一区二区三区| 欧美日韩日日骚| 欧美日韩福利在线观看| 国产毛片一区| 国产精品va在线播放| 国产一区二区剧情av在线| 欧美日韩在线直播| 久久国产欧美精品| 国产亚洲综合在线| 欧美日韩一本到| 国产精品一区久久久| 亚洲激情视频在线播放| 亚洲欧洲免费视频| 国产精品婷婷| 亚洲国产日韩欧美在线99| 亚洲手机成人高清视频| 美女亚洲精品| 久久精品一区蜜桃臀影院| 久久久久国产一区二区三区四区| 欧美日韩精品伦理作品在线免费观看| 欧美一区二区私人影院日本| 欧美在线网站| 伊人色综合久久天天| 好看不卡的中文字幕| ●精品国产综合乱码久久久久| 国产亚洲二区| 欧美日韩国产探花| 亚洲精品中文在线| 国产精品www| 欧美精品性视频| 亚洲欧美精品一区| 美女黄网久久| 欧美国产1区2区| 国产精品久久看| 久久久精品视频成人|