《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 一種基于FPGA的CAN總線通信接口的設計
一種基于FPGA的CAN總線通信接口的設計
電子設計工程
徐木水 劉金國
摘要: CAN總線是現場總線的一種,因為其成本低、容錯能力強、支持分布式控制、通信速率高等優點在汽車、工業控制、航天等領域得到廣泛應用。但是計算機沒有CAN總線接口,為了進行CAN總線的調試,必須具有專用的適配卡才能實現與計算機的通信。目前常用的CAN轉換器是基于單片機設計的,一般只適用于單路CAN總線的數據轉換,可擴展性差。
關鍵詞: FPGA CAN總線 通信接口
Abstract:
Key words :

  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,系統硬件結構如圖l所示。

系統硬件結構

  1.1 USB接口電路

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

接口電路

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

關鍵字:FPGA CAN總線 通信接口

 

  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所示。

CAN總線接口電路

  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態,一次寫周期完成。

狀態機流程圖

關鍵字:FPGA CAN總線 通信接口

 

  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所示。

 

仿真波形

FPGA讀寫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總線之前還需要添加適當的幀信息與幀識別碼。

關鍵字:FPGA CAN總線 通信接口

 

  3 軟件設計

  3.1 USB固件程序

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

程序

  3.2 USB驅動程序及應用程序

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

程序

關鍵字:FPGA CAN總線 通信接口

 

  4 實驗調試與結果

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

上位機應用程序接收到的數據

  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>
          亚洲欧美另类久久久精品2019| 欧美日韩国产二区| 欧美人成在线视频| 日韩视频在线观看一区二区| 久久黄色影院| 欧美日韩视频在线| 新片速递亚洲合集欧美合集| 国产色爱av资源综合区| 国产一区日韩欧美| av成人动漫| 亚洲午夜在线观看视频在线| 国产精品jizz在线观看美国| 一区二区高清视频| 亚洲欧洲综合另类在线| 一本色道久久综合亚洲精品高清| 亚洲精品免费一二三区| 一区二区三区欧美视频| 国产曰批免费观看久久久| 欧美三日本三级少妇三99| 亚洲国产视频一区| 亚洲欧美影音先锋| 国产亚洲精品aa| 亚洲美女黄网| 欧美一级黄色网| 欧美午夜激情小视频| 欧美精品97| 在线观看精品| 国产视频一区在线观看一区免费| 久久综合成人精品亚洲另类欧美| 99视频一区二区| 亚洲国产精品久久人人爱蜜臀| 久久午夜色播影院免费高清| 久热精品视频在线观看一区| 国产欧美一二三区| 久久久精品日韩| 欧美日韩精品伦理作品在线免费观看| 国产在线视频不卡二| 羞羞色国产精品| 一区二区毛片| 亚洲亚洲精品三区日韩精品在线视频| 国内精品久久久久影院色| 一区二区电影免费观看| 亚洲国产裸拍裸体视频在线观看乱了| 欧美在线在线| 国产精品视频你懂的| 国产精品毛片a∨一区二区三区|国| 久久久国产精品一区二区三区| 国产毛片精品国产一区二区三区| 欧美日韩性视频在线| 欧美精品一区三区在线观看| 国外精品视频| 亚洲视频1区2区| 国产精品自拍三区| 亚洲一区二区三区三| 久久亚洲春色中文字幕| 蜜桃久久精品乱码一区二区| 亚洲视频一区二区在线观看| 欧美日韩国产区| 国外成人在线视频网站| 久久动漫亚洲| 亚洲欧美日韩精品综合在线观看| 国产一区999| 亚洲高清二区| 亚洲欧美中日韩| 久久久久久久久久久久久女国产乱| 欧美日韩一区二区在线观看| 国产一区高清视频| 欧美日韩1区2区| 亚洲欧洲一区二区在线观看| 在线免费不卡视频| 亚洲精品社区| 亚洲精品美女91| 国产日韩一区二区| 欧美日韩另类视频| 在线观看日韩| 久久精品国产清高在天天线| 欧美日韩一区二区在线观看视频| 欧美国产综合| 亚洲欧美激情一区二区| 欧美日韩国产免费观看| 影音先锋在线一区| 亚洲视频在线观看| 亚洲国产天堂久久综合| 亚洲免费观看高清在线观看| 一个色综合导航| 久久永久免费| 国产精品视频九色porn| 久久国产直播| 国产精品久久一级| 欧美日本一区二区三区| 亚洲性感美女99在线| 日韩午夜精品| 久久久久久久波多野高潮日日| 欧美一级专区免费大片| 艳妇臀荡乳欲伦亚洲一区| 欧美日韩精品| 欧美在线欧美在线| 欧美自拍丝袜亚洲| 国产一区欧美日韩| 一区二区三区三区在线| 欧美日韩1区2区3区| 欧美mv日韩mv国产网站app| 午夜久久电影网| 在线日韩av片| 最新亚洲视频| 久久久噜久噜久久综合| 亚洲免费观看高清在线观看| 久久青草欧美一区二区三区| 亚洲自拍偷拍网址| 欧美黑人国产人伦爽爽爽| 亚洲小说区图片区| 国产精品视频久久久| 亚洲国产欧洲综合997久久| 亚洲视频播放| 国产精品国产三级国产aⅴ入口| 欧美日韩中文字幕日韩欧美| 久久精品91久久香蕉加勒比| 亚洲一区二区三区国产| 91久久极品少妇xxxxⅹ软件| 国产精品99久久久久久宅男| 欧美一区二区视频观看视频| 国产精品久久久久久影院8一贰佰| 久久久久久夜| 欧美日韩精品是欧美日韩精品| 亚洲国产另类久久久精品极度| aa级大片欧美| 国产专区精品视频| 欧美另类极品videosbest最新版本| 欧美成人三级在线| 国产精品久久久久av| 欧美不卡福利| 久久综合伊人77777麻豆| 国产女主播在线一区二区| 极品尤物久久久av免费看| 国产日韩综合一区二区性色av| 欧美日韩美女在线观看| 亚洲女人av| 亚洲理论电影网| 欧美日本亚洲韩国国产| 国产精品亚洲综合一区在线观看| 亚洲国产精品日韩| 欧美三级视频在线| 狠狠干成人综合网| 在线精品视频免费观看| 亚洲国产一区二区三区高清| 欧美精品一区二区三区蜜臀| 国产伦精品一区二区三区在线观看| 亚洲视频在线视频| 久久午夜国产精品| 亚洲一区二区三区在线播放| 午夜日韩激情| 激情文学一区| 欧美一区二区三区电影在线观看| 亚洲视频免费| 激情国产一区| 久久天天狠狠| 亚洲精品自在久久| 亚洲在线日韩| 在线观看国产精品网站| 亚洲一区二区三区三| 一区二区欧美视频| 狠狠色丁香婷婷综合影院| 国产精品永久免费观看| 在线欧美视频| 国产精品第2页| 亚洲狼人综合| 国产精品久久久久久一区二区三区| 欧美性大战久久久久久久蜜臀| 欧美成人三级在线| 在线一区二区三区做爰视频网站| 男人的天堂亚洲| 性做久久久久久免费观看欧美| 久久精精品视频| 亚洲丰满少妇videoshd| 亚洲精品在线免费观看视频| 欧美日韩成人综合在线一区二区| 国模吧视频一区| 99精品国产在热久久| 一区免费视频| 亚洲一区三区在线观看| 亚洲国产成人精品女人久久久| 一区精品久久| 99精品欧美一区| 快射av在线播放一区| 欧美日韩国产一级| 国产伦精品一区二区三区| 国产日韩成人精品| 亚洲伊人久久综合| 国产一区在线免费观看| 久久天天躁狠狠躁夜夜av| 亚洲国产欧美日韩精品| 国产婷婷色一区二区三区| 午夜一区二区三区在线观看| 亚洲激情午夜| 美女日韩在线中文字幕| 亚洲国产你懂的| 狂野欧美激情性xxxx| 日韩亚洲精品电影| 永久免费毛片在线播放不卡| 欧美+亚洲+精品+三区| 欧美一区二区视频在线观看2020| 亚洲视频一区二区在线观看| 亚洲激情中文1区| 在线观看中文字幕亚洲| 亚洲精品欧美日韩| 午夜日韩视频| 亚洲精品一区二区三区福利| 久久久精品欧美丰满| 亚洲高清资源综合久久精品| 日韩视频一区| 1000部国产精品成人观看| 欧美日韩美女在线观看| 亚洲最新中文字幕| 欧美激情亚洲视频| 亚洲国产精品久久91精品| 午夜伦欧美伦电影理论片| 欧美日韩国产在线| 欧美永久精品| 亚洲一区二区三区欧美| 欧美在线综合| 欧美日韩亚洲视频一区| 在线不卡中文字幕| aa国产精品| 欧美视频在线视频| 欧美好吊妞视频| 国产亚洲一区二区在线观看| 国产在线视频欧美| ●精品国产综合乱码久久久久| 亚洲欧美日韩精品久久久久| 日韩视频免费在线| 欧美日本在线看| 亚洲精品国产日韩| 午夜在线播放视频欧美| 国产精品日韩高清| 欧美成人午夜免费视在线看片| 欧美一区二区三区久久精品茉莉花| 欧美精品在线观看一区二区| 久久本道综合色狠狠五月| 亚洲欧美文学| 亚洲午夜激情| 一本到12不卡视频在线dvd| 男人天堂欧美日韩| 国产精品久久久久久模特| 久久精品日韩一区二区三区| 亚洲网站在线播放| 亚洲一区影院| 亚洲欧美影院| 久久国产精品72免费观看| 激情欧美一区| 国产精品成人一区二区| 狠狠爱成人网| 欧美xxxx在线观看| 久久精选视频| 欧美女人交a| 欧美一级片一区| 欧美久色视频| 久色婷婷小香蕉久久| 亚洲影视九九影院在线观看| 国产在线拍偷自揄拍精品| 亚洲精品欧美日韩专区| 欧美成人一区二区三区片免费| 亚洲人体一区| 国产精品免费视频xxxx| 国产一区二区中文| 免费精品视频| 亚洲欧美日韩电影| 国产日韩一区在线| 91久久一区二区| 国产日韩欧美中文在线播放| 亚洲高清成人| 午夜精品久久久久| 一区二区三区在线看| 国产一区二区三区在线观看网站| 西西裸体人体做爰大胆久久久| 亚洲三级免费| 欧美激情影音先锋| 欧美日韩日日骚| 国产精品一区二区a| 国产一区深夜福利| 国外成人性视频| 欧美日韩亚洲国产一区| 欧美一级黄色网| 国产丝袜一区二区三区| 精品福利电影| 欧美一区午夜视频在线观看| 一本大道av伊人久久综合| 久久精品国产亚洲aⅴ| 亚洲五月婷婷| 狠狠爱www人成狠狠爱综合网| 欧美日韩免费一区二区三区| 中文久久精品| 亚洲影视综合| 欧美va亚洲va香蕉在线| 久久免费少妇高潮久久精品99| 欧美一区二区三区精品| 久久久精品国产免费观看同学| 欧美日韩mv| 欧美精品久久久久久久免费观看| 国产精品羞羞答答| 欧美高清不卡| 亚洲精品日本| 国产精品主播| 欧美激情乱人伦| 老司机亚洲精品| 欧美不卡激情三级在线观看| 亚洲欧美中文另类| 韩国av一区二区| 欧美精品亚洲| 一本久久青青| 午夜精品久久久久久久久久久久| 99pao成人国产永久免费视频| 亚洲欧洲日产国产网站| 亚洲大胆av| 牛人盗摄一区二区三区视频| 国产精品毛片一区二区三区| 亚洲盗摄视频| 久久综合色播五月| 国产欧美日韩专区发布| 亚洲第一精品电影| 国内精品99| 欧美精品在线免费观看| 国产精品久久91| 久久超碰97中文字幕| 老司机一区二区| 久久精品国产久精国产爱| 欧美高清视频| 欧美尤物巨大精品爽| 亚洲黄色小视频|