《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 一種CAN總線轉換USB接口的設計方案
一種CAN總線轉換USB接口的設計方案
電子市場
摘要: 為實現CAN總線與計算機的通信,便于CAN總線系統調試,提出一種基于FPGA的CAN總線轉換USB接口設計方案。利用USB總線與計算機通信,詳細論述了FPGA對SJA1000與CY7C68013A的具體控制過程以及CAN總線的通信實現。這種方法數據傳輸速率高,設計靈活,可擴展成多路總線的通信接口。目前已成功應用于空間相機下位機系統的地面檢測設備中。
Abstract:
Key words :

     摘要:為實現CAN總線與計算機的通信,便于CAN總線系統調試,提出一種基于FPGA的CAN總線轉換USB接口設計方案。利用USB總線與計算機通信,詳細論述了FPGA對SJA1000與CY7C68013A的具體控制過程以及CAN總線的通信實現。這種方法數據傳輸速率高,設計靈活,可擴展成多路總線的通信接口。目前已成功應用于空間相機下位機系統的地面檢測設備中。

  CAN總線是現場總線的一種,因為其成本低、容錯能力強、支持分布式控制、通信速率高等優點在汽車、工業控制、航天等領域得到廣泛應用。但是計算機沒有CAN總線接口,為了進行CAN總線的調試,必須具有專用的適配卡才能實現與計算機的通信。目前常用的CAN轉換器是基于單片機設計的,一般只適用于單路CAN總線的數據轉換,可擴展性差。

  在小衛星相機下位機系統中使用了多種總線,如CAN總線與衛星管理計算機的通信;RS422(或RS485)總線與成像單元等下行單元的通信。在進行相機下位機系統地面調試時,可能需要多種總線轉換器。采用FPGA將不同總線協議轉換成USB2.0、RS232等可與計算機直接交換數據的協議,可增強設計的靈活性,降低設計的成本和復雜性,且可實現多路總線的數據通信接口。

  這里以CAN總線通信接口為例,詳細論述了基于FPGA的CAN總線轉換USB接口的設計方案。

  1 系統硬件組成

  實現CAN總線與計算機雙向通信接口的核心是FPGA。它首先接收來自CAN總線的數據,保存在FPGA內部設計的FIF0緩存中,經過內部數據格式的轉換后,由USB控制器讀取并上傳給計算機。而總線數據注入過程的數據流向與之相反。FPCA選用Xilinx公司的Spartan3的XC3S200,系統硬件結構如圖1所示。

硬件結構框圖

圖1 硬件結構框圖

  1.1 USB接口電路

  USB是一種支持即插即用及熱插拔的串行總線,它具有傳輸速率高、連接靈活、使用方便等優點。CYPRESS公司的EZ-USB芯片CY7C68013A支持USB2.0協議,通信可靠,傳輸速率可達480 Mb/s。CY7C68013A工作在SLAVE FIF0異步通信方式下,接口電路如圖2所示。

CY7C68013A接口電路

圖2 CY7C68013A接口電路

  SLAVE FIFO異步寫周期中,高電平需維持70ns,低電平需維持50ns,理論最高傳輸速率為8Mb/s,而CAN總線的最高傳輸速率為1Mb/s,符合通信要求。端口PA0~PA1用作USB控制器端向FPGA發送讀寫命令的控制線,由USB固件程序配合上位機端自定義請求代碼產生PA端口的控制信號。另外使用了EEPROM芯片24LC128存放USB固件程序。

  1.2 CAN總線接口電路

  選用Philips公司的SJA1000作為CAN控制器,采用PCA82C250作為CAN收發器,并在CAN控制器與收發器之間使用6N137進行光電隔離,以增強抗干擾能力。將MODE引腳接高電平即SJA1000工作在INTEL模式,引腳與復位芯片MAX706T的RESET引腳相連,進行全局復位。在FPGA與SJA1000連接時需要使用741V164245電平轉換器完成CAN總線5 V TTL電平向3.3 V FPGA I/O電平的轉換。另外,SJA1000的RX1引腳與PCA-82C 250的VREF引腳相連,使用輸入比較器旁路功能,可減少內部延時,增加正常通信的總線長度。具體的接口電路如圖3所示。

SJA1000接口電路

圖3 SJA1000接口電路

  2 FPGA邏輯控制程序

  2.1 SJA1000邏輯控制

  由于SJA1000地址線與數據總線復用,FPGA不僅僅要產生SJA1000讀寫控制引腳的信號邏輯,還需要模擬單片機等處理器產生對SJA1000的尋址信號,實際上是一個向SJA1000寫地址的過程。根據SJA1000技術手冊的時序要求,要完成對SJA1000內寄存器的正確讀寫,接口邏輯必須在地址鎖存信號ALE為高電平時將SJA1000的寄存器地址當作數據寫入,然后在ALE和片選信號為低電平后使能SJA1000的讀寫控制信號(WR或RD)。SJA1000的邏輯控制采用狀態機的方式完成,狀態機流程圖如圖4所示。起始態為IDLE態,當接收到數據讀寫等命令時,進入ADDR-ESS態,向SJA1000寫入相應寄存器的地址值。然后根據命令類型決定下一個態是寫寄存器狀態(WR1~WR3)還是讀寄存器狀態(RD1~RD4)。以寫寄存器為例,在WR1態ALE、等信號置為非有效態。將置為有效狀態;在WR2態ALE、為非有效態.而將信號置為有效態,在時鐘的下降沿將數據寫入寄存器。WR3狀態保持有效,WR信號變為無效,進入IDLE態,一次寫周期完成。

SJA1000邏輯控制狀態機流程圖

圖4  SJA1000邏輯控制狀態機流程圖

  2.2 SJA1000讀寫數據流程控制

  FPGA對SJA1000控制程序包括SJA1000初始化、SJA1000讀數據、SJA1000寫數據等部分。SJA1000的初始化是在復位模式下進行的,在復位模式下分別設置時鐘分頻器CDR、總線定時器(BTR0、BTR1)、輸出控制寄存器(OCR)等重要寄存器。SJA1000通信波特率由總線定時器決定,需要與后端節點的波特率相同才能進行節點間的正常通信。FPGA上電后需要延時一段時間.等待SJA1000復位完成才能進行SJA1000初始化。初始化仿真波形如圖5(a)所示。SJA1000內部有一個接收緩沖器和一個發送緩沖器。FPGA對SJA1000的讀寫操作,實際上對這兩個緩沖器的讀寫控制。當FPGA接收CAN總線數據時首先讀取SJA1000中斷寄存器IR判斷是否有接收中斷。如果有接收中斷到來則開始讀取緩沖器內的8字節數據,然后釋放接收緩沖器(寫命令寄存器CMR)。使用Xilinx公司的Chipseope軟件進行板上測試,測試數據為(E0,E1,……E7),抓取到的波形如圖5(b)所示。FPGA讀寫SJA1000的流程控制圖如圖6所示。

SJA1000邏輯控制波形圖

圖5  SJA1000邏輯控制波形圖

SJA1000讀寫控制程序流程圖

圖6 SJA1000讀寫控制程序流程圖

  2.3 CY7C68013A通信控制程序

  CY7C68013A提供一種量子FIFO的處理架構,使USB接口和應用環境直接共享內部含有的4 K FIF0空間。本文CY7C68013A的控制是以異步SLAVE FIFO方式實現的,FPGA對CY7C68013A的邏輯控制實際上是對CY7C68013A內部FIFO的異步讀寫控制。設置CY7C68013A端點2為批量輸入端點(FIF0地址為00),端點6為批量輸出端點(FIF0地址為1O)。FPGA判斷CY7C68013A的PA[1:0]端口電平,當PA[1:0]為01時,FPGA將接收到的CAN總線數據寫入端點2對應的FIF0空間并上傳給上位機,PA[1:0]為10時,FPGA讀取端點6對應的FIFO內數據。FPGA對CY7C68013A的時序控制嚴格按照芯片手冊完成。

  由于USB數據包與CAN數據幀是基于兩種不同協議的數據格式,因此在FPGA內開辟了2個512x8bit的FIFO緩存,并要進行必要的格式轉換。例如,當從USB總線端注入的數據大于8字節時,需要將數據分成多幀傳送給CAN總線;當數據小于8字節時則在數據后填充0。另外,在數據傳送給CAN總線之前還需要添加適當的幀信息與幀識別碼。

  3 軟件設計

  3.1 USB固件程序

  USB固件程序是在Keil工具上開發完成的,除了進行必要的端點及寄存器配置外,程序中使用了自定義請求命令。自定義請求碼通過USB控制傳輸的方式傳送給固件,固件程序需要響應自定義請求碼的請求信息。本文使用的自定義請求碼為Oxa8,在響應代碼中設置端口PA[1:0]電平值,產生USB控制命令,代碼如下所示。SETUPDAT對應控制傳輸端點的Value值,由上位機應用程序設定。

  3.2 USB驅動程序及應用程序

  使用Cypress公司提供的CY7C68013A通用驅動程序CyUSB.sys。上位機應用程序使用VC編寫,也是基于Cypress提供的C++類庫文件CyAP-I.lib設計完成的。使用的主要函數包括:BeginDataXfer、FinishDataXfer、XferData等函數。應用程序中設計了獨立的數據接收線程,線程函數中不斷地發送USB數據讀命令,并完成批量輸人端點的讀操作。當有數據讀入時,與主線程之間采用事件的線程同步方式,將數據讀入計算機內存并保存。以下是線程函數中用于發送USB控制命令的控制傳輸代碼:

  4 實驗調試與結果

  為驗證設計的正確性,使用了周立功公司的USBCAN-I產品,與目標電路板組成雙節點通信,2個節點設置相同波特率500 Kb/s(BTRO= 00,BTR1=1Ch)和相同幀格式,由測試軟件ZLGCANTest發送一組數據(e0h,e1h,……,e7h),上位機應用程序接收到的數據如圖7所示。反過來由上位機應用程序注入指令數據e0h,a8h,周立功軟件接收到的數據為e0h,a8h,00h,00h……。經實驗表明,數據收發正確,近距離通信時,通信速率可高達1 Mb/s。

上位機應用程序圖

圖7 上位機應用程序圖

  5 結論

  使用該方法設計的CAN總線轉換器優點在于:使用USB總線完成CAN總線與計算機的數據交換,不會影響CAN總線的整體通信速率;通過FPGA控制完成通信接口的設計,可擴展性好,靈活性強,穩定性高。作為空間相機下位機地檢設備的一部分,FPGA同時還可以完成RS422等總線的通信控制。

此內容為AET網站原創,未經授權禁止轉載。
热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>
          国产精品自拍小视频| 狂野欧美激情性xxxx欧美| 久久青青草原一区二区| 国内欧美视频一区二区| 久久精品视频播放| 欧美激情精品久久久久久免费印度| 欧美日韩在线一区二区| 欧美了一区在线观看| 免费欧美日韩国产三级电影| 欧美日韩精品一区二区三区四区| 一本久道久久综合婷婷鲸鱼| 久久久噜噜噜久久狠狠50岁| 亚洲国产欧美日韩另类综合| 国产精品免费久久久久久| 国产一区二区高清视频| 亚洲国产高清视频| 久久亚洲综合色一区二区三区| aa级大片欧美| 欧美理论电影在线播放| 国产欧美日韩麻豆91| 亚洲在线视频| 翔田千里一区二区| 欧美一区观看| 亚洲视频在线播放| 亚洲一本大道在线| 欧美婷婷六月丁香综合色| 牛人盗摄一区二区三区视频| 一区二区三区高清视频在线观看| 国产精品伊人日日| 久久精品国产久精国产思思| 亚洲午夜久久久| 午夜精品三级视频福利| 欧美精品一区二区在线播放| 国产精品久久久久久久久借妻| 欧美美女日韩| 久久国产一区| 一区二区三区国产在线观看| 欧美一级大片在线观看| 久久久999精品视频| 99视频热这里只有精品免费| 亚洲国产裸拍裸体视频在线观看乱了中文| 亚洲欧美日韩国产一区二区| 久久电影一区| 国语自产精品视频在线看抢先版结局| 午夜亚洲福利在线老司机| 欧美成人精品影院| 樱桃成人精品视频在线播放| 欧美一区二区三区免费大片| 亚洲国产高清高潮精品美女| 国产在线精品一区二区中文| 亚洲欧美日韩一区二区三区在线观看| 黄色日韩网站| 亚洲一级黄色av| 国外成人在线| 一区二区三区免费在线观看| 狠狠色噜噜狠狠色综合久| 欧美国产日产韩国视频| 在线观看日韩国产| 欧美偷拍一区二区| 亚洲人成网站色ww在线| 一区二区欧美精品| 欧美激情精品久久久久久蜜臀| 国产视频一区在线观看| 最近中文字幕mv在线一区二区三区四区| 欧美精品一区二区久久婷婷| 亚洲成人在线视频播放| 亚洲韩国日本中文字幕| 亚洲精品一区二区三区99| 亚洲国产成人午夜在线一区| 亚洲日本精品国产第一区| 夜夜躁日日躁狠狠久久88av| 激情偷拍久久| 亚洲精品久久久久久久久久久久| 国产精品福利在线观看| 国产精品男女猛烈高潮激情| 亚洲精品美女在线观看| 国产视频一区免费看| 一区二区三区精品视频| 国模套图日韩精品一区二区| 91久久夜色精品国产网站| 亚洲欧洲日产国码二区| 中国成人在线视频| 一区二区三区久久久| 亚洲人成网在线播放| 亚洲第一精品夜夜躁人人躁| 欧美图区在线视频| 精品动漫一区二区| 欧美日韩不卡视频| 亚洲无线一线二线三线区别av| 一本一道久久综合狠狠老精东影业| 国产精品美腿一区在线看| 欧美—级在线免费片| 小黄鸭精品aⅴ导航网站入口| 欧美韩日一区| 国产精品久久久久999| 亚洲精品一区在线观看| 亚洲欧美日韩综合一区| 久久aⅴ乱码一区二区三区| 欧美婷婷六月丁香综合色| 久久精品视频一| 国产精品成人观看视频免费| 亚洲欧美久久久| 欧美日本一区二区高清播放视频| 亚洲五月六月| 久久国产精品网站| 国内久久婷婷综合| 免费成人在线视频网站| 日韩一级二级三级| 欧美华人在线视频| 久久久人成影片一区二区三区| 欧美aⅴ99久久黑人专区| 久久亚洲私人国产精品va| 欧美日韩在线播放三区| 欧美日韩精品一区视频| 久久一区中文字幕| 欧美在线你懂的| 亚洲精品视频啊美女在线直播| 中国成人亚色综合网站| 欧美影院精品一区| 裸体丰满少妇做受久久99精品| 久久久爽爽爽美女图片| av成人免费在线| 亚洲国产另类久久久精品极度| 国产午夜精品久久久久久久| 欧美成人久久| 欧美日韩国产片| 老司机精品视频一区二区三区| 欧美日韩你懂的| 国产精品美女久久福利网站| 国产精品久久久久久av下载红粉| 亚洲欧美自拍偷拍| 国产日韩一区二区三区在线播放| 美女精品自拍一二三四| 91久久久久久国产精品| 黄色亚洲免费| 亚洲综合精品自拍| 亚洲人成小说网站色在线| 国产亚洲欧洲一区高清在线观看| 午夜精品福利视频| 99re视频这里只有精品| 国产精品久久久久免费a∨| 麻豆国产精品一区二区三区| 国产精品一卡二卡| 久久久久一本一区二区青青蜜月| 一区免费观看视频| 99pao成人国产永久免费视频| 国产精品久久久久久久久动漫| 一区二区不卡在线视频 午夜欧美不卡在| 欧美日本高清视频| 亚洲天堂激情| 久久精品视频导航| 欧美日韩播放| 欧美午夜大胆人体| 午夜精品久久一牛影视| 欧美午夜在线视频| 午夜日韩电影| 日韩一区二区电影网| 欧美电影电视剧在线观看| 久久久久久久久久久久久女国产乱| 久久亚洲欧美国产精品乐播| 欧美日韩视频一区二区| 黄色综合网站| 亚洲专区一二三| 亚洲电影在线看| 亚洲丁香婷深爱综合| 久久福利电影| 99爱精品视频| 亚洲专区在线| 国内精品写真在线观看| 欧美一区二区三区日韩| 久久成人18免费观看| 欧美一区2区视频在线观看| 国产精品久久久免费| 久久午夜视频| 99在线视频精品| 国产欧美一区二区三区沐欲| 欧美激情综合五月色丁香小说| 葵司免费一区二区三区四区五区| 一区二区视频免费在线观看| 国产精品久久久久久久久免费樱桃| 99视频精品| 亚洲视频一区二区在线观看| 亚洲人午夜精品| 亚洲视频国产视频| 日韩午夜精品视频| 国产精品亚洲不卡a| 亚洲视频狠狠| 国产一区二区三区在线观看免费视频| 亚洲午夜精品国产| 91久久在线视频| 国产日产亚洲精品系列| 亚洲午夜激情网站| 韩国精品主播一区二区在线观看| 欧美极品一区| 欧美在线播放一区二区| 欧美伦理影院| 久久久激情视频| 在线观看视频免费一区二区三区| 欧美破处大片在线视频| 久久久国产精彩视频美女艺术照福利| 午夜精品国产精品大乳美女| 国产精品高潮呻吟久久av黑人| 久久久精品国产免费观看同学| 国内精品久久久久伊人av| 亚洲欧美色婷婷| 麻豆9191精品国产| 怡红院av一区二区三区| 蜜臀av性久久久久蜜臀aⅴ| 亚洲国产第一页| 欧美一区二区免费视频| 国产亚洲亚洲| 久久精品视频一| 亚洲乱码日产精品bd| 极品尤物一区二区三区| 欧美日韩国产大片| 亚洲视频日本| 欧美日本亚洲韩国国产| 奶水喷射视频一区| 欧美一区二区三区四区在线观看地址| 久久综合伊人77777蜜臀| 国产自产精品| 国产精品一区免费在线观看| 国产精品久久激情| 亚洲欧美日韩精品久久久久| 久久久久国产精品一区| 国产精品男人爽免费视频1| 欧美成人a∨高清免费观看| 激情六月综合| 国内精品写真在线观看| 亚洲在线国产日韩欧美| 亚洲深夜影院| 欧美亚洲一区二区在线观看| 亚洲精品一区二区三区婷婷月| 激情久久五月天| 国产精品草草| 久久久噜久噜久久综合| 亚洲一区在线直播| 久久久一二三| 性娇小13――14欧美| 久久综合999| 亚洲国产综合在线看不卡| 麻豆av福利av久久av| 国产精品无码永久免费888| 亚洲美女在线一区| 在线精品视频一区二区三四| 亚洲精品中文字幕女同| 午夜天堂精品久久久久| 一区二区日韩伦理片| 欧美日韩免费在线| 国产精品久久波多野结衣| 日韩写真视频在线观看| 美日韩精品免费| 亚洲激情女人| 一本在线高清不卡dvd| 国产精品网站视频| 欧美日韩高清在线播放| 欧美精选午夜久久久乱码6080| 国产精品视频福利| 国产精品hd| 免费观看一级特黄欧美大片| 欧美无砖砖区免费| 国产亚洲日本欧美韩国| 亚洲欧洲精品一区二区| 一本色道**综合亚洲精品蜜桃冫| 在线观看欧美亚洲| 亚洲国产欧美一区二区三区丁香婷| 国产欧美日本一区视频| 欧美激情视频一区二区三区在线播放| 久久国产日韩| 午夜视频在线观看一区二区| 国内成人在线| 夜夜嗨av一区二区三区免费区| 亚洲精品乱码久久久久久按摩观| 国产欧美一区二区在线观看| 久久精品国产欧美亚洲人人爽| 欧美一区二区精品久久911| 国产欧美欧洲在线观看| 亚洲高清在线精品| 99国产欧美久久久精品| 玖玖精品视频| 亚洲福利国产精品| 亚洲午夜羞羞片| 性一交一乱一区二区洋洋av| 欧美mv日韩mv亚洲| 黑人极品videos精品欧美裸| 亚洲精品激情| 国产精品日韩高清| 亚洲激情视频在线播放| 夜夜嗨av一区二区三区免费区| 欧美日韩精品免费在线观看视频| 欧美一站二站| aa国产精品| 最新日韩在线视频| 欧美人与性动交a欧美精品| 中文在线资源观看视频网站免费不卡| 欧美一级淫片播放口| 亚洲国产精品女人久久久| 久久视频在线视频| 久久av一区| 亚洲一区二区三区国产| av成人黄色| 国内自拍一区| 日韩系列欧美系列| 亚洲精品免费一区二区三区| 欧美丝袜一区二区三区| 亚洲午夜电影在线观看| 午夜久久电影网| 亚洲一区二区免费在线| 黄色资源网久久资源365| 狠狠操狠狠色综合网| 玉米视频成人免费看| **网站欧美大片在线观看| 欧美精品久久久久久久| 欧美乱妇高清无乱码| 欧美伦理一区二区| 久久精品系列| 国产精品久久久久影院亚瑟| 宅男精品视频| 亚洲自拍三区| 欧美久久久久中文字幕| 亚洲精品日韩综合观看成人91| 国产精品亚洲аv天堂网| 亚洲国产精品一区二区www在线| 亚洲美女福利视频网站| 亚洲视频中文| 久久久久久久久综合| 亚洲影音一区| 久久一区二区三区国产精品|