999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于CAN核的四冗余通信板設計與仿真

2010-06-22 08:17:56徐軍濤許化龍
單片機與嵌入式系統應用 2010年1期
關鍵詞:設計

徐軍濤,許化龍

(第二炮兵工程學院,西安710025)

徐軍濤,研究方向為控制科學與工程。

隨著電子技術、計算機應用技術和EDA技術的不斷發展,利用FPGA進行數字系統的開發已被廣泛應用于通信、航天、醫療電子、工業控制等領域,FPGA成為當今硬件設計的首選方式之一[1]。PC/104是一種專門為嵌入式控制而定義的工業控制總線,以其獨特的堆棧式結構、低功率等優點,得到了廣泛的應用[2]。作為主流的現場總線,工業控制局域網CAN(Controller Area Network)總線抗干擾能力強,易于組網,具有非常廣闊的應用前景。獨特的PC/104總線與CAN總線的結合,進一步拓寬了CAN總線的應用領域[3]。

1 基于FPGA的CAN核設計

本設計采用了Altera公司的 Cyclone III系列FPGA EP3C25,開發平臺采用了Altera公司的Quartus II軟件[4]。CAN 核的設計以SJA1000功能結構為基礎。

圖1 CAN核的功能框圖

CAN核的功能框圖如圖1所示。該CAN總線控制器IP核,遵循CAN bus 2.0標準,其功能和寄存器操作與SJA1000兼容。IP核采用VHDL編碼,并采用容錯設計,可抑制存儲性器件的數據位翻轉,大大提高了IP核的可靠性。CAN核可在FPGA中實現,也可以實現為ASIC。其中包含3個主要模塊:寄存器組(can_registers),位時序邏輯(can_btl),位流處理器(can_bsp)。[5]

寄存器組(CAN Register):外部微處理器可以通過地址直接訪問這些寄存器。發送數據時,微處理器將要發送的數據寫入發送緩沖器,置位命令寄存器的發送請求位來啟動發送。接收到數據后,核心控制器將其存在接收緩沖器,并通知位控制器將其取走。同時,CAN寄存器中還有1個64字節的接收FIFO,可以1次存儲至少2個數據幀。

位時序邏輯(BTL):用來監視CAN總線并處理與CAN總線相關的位時序。在消息的開始處,當位時序邏輯檢測到總線上由隱性位(recessive)到顯性位(dominant)的跳變時,就會將其內部邏輯同步到位流,稱之為硬同步;隨后,在接收消息的過程中,檢測到隱性位到顯性位的跳變時,便會重同步到位流,稱之為軟同步。位時序邏輯還要根據總線定時寄存器0和總線定時寄存器1的值來決定每個位周期采樣點的位置,以補償傳輸延遲和相位漂移所造成的誤差;同時,根據總線定時寄存器1的設置采取相應的采樣模式(單次采樣或3次)對總線上的數據采樣。

位流處理器(BSP):根據其實現的功能分為 3個模塊:數據接收模塊、數據發送模塊和錯誤處理模塊。數據接收模塊將從位時序邏輯送過來的采樣數據去除位填充后送到移位寄存器進行串并轉換,之后對并行數據進行CRC校驗,在消息接收完時發送應答信號,表示接收無誤。最后將接收到的消息的特征碼與驗收屏蔽寄存器的內容進行比較,以決定是否將接收的消息寫入接收FIFO。數據接收模塊將要發送的數據組成幀并進行CRC計算,之后送入移位寄存器進行并串轉換,然后將串行數據編碼(位填充)后送到總線上。錯誤監視模塊根據協議規范中描述的錯誤監視機制檢測系統錯誤,并設置相應的寄存器,通知設備控制器。模塊根據協議描述的12種錯誤監視規則,在適當情況下對計數器進行加、減或清除??刂破鞲鶕@兩個計數器的值以及錯誤限制寄存器的值來決定自己的故障狀態:錯誤激活(Error Active),錯誤認可(Error Passive)或總線關閉(Bus Off On)。

2 硬件電路設計

根據系統的總體設計方案,因為現有的CAN總線收發器最大的工作頻率為1 MHz,在提高CAN的通信速度后,現有的CAN總線收發器就不能滿足需要了,因此改用RS485收發器。由于 RS485收發器是差分傳輸,不能完成通信卡的自發自收功能,因此需要外置的CAN Hub。另外,要進行光纖傳輸,要完成光的邏輯總線結構,也需要外置Hub。因此,本硬件設計分為CAN通信板的設計和CAN Hub的設計兩部分。

(1)CAN通信板硬件電路設計

CAN通信板的核心器件是FPGA,同時完成“雙光雙電”通信,硬件通信板結構如圖2所示。

圖2 CAN通信板硬件圖

作為PC/104系統的模塊,要接在PC/104總線上,所以要在數據、地址、控制總線上與PC/104標準規定的總線標準一致。

本設計要進行四冗余設計,在設計中要添加4個CAN核,選用Altera公司Cyclone III系列的FPGA EP3C25。

由于PC/104的工作電壓為5 V,而FPGA的工作電壓為3.3 V,因此在PC/104和FPGA之間要加入1個電平轉換器74LVC245來保護FPGA。

(2)光收發電路

本系統的高速光發射器采用HFBR-1414低功耗高速光發射器件,其光發射波長為820 nm。[6]此發射器能夠與以下 4 種光纖配合使用 :50/125 μ m 、62.5/125 μ m 、100/140 μ m 、200 μ m(HCS)。 HFBR-1414 采用了雙鏡片的光學系統,光發射效率高,當驅動電流為60 mA時,在50/125 μ m光纖上可得到-15 dBm的光功率。光接收器采用HFBR-2412,其內部集成了光電二極管、直流電路和開集電極的肖特基晶體管。HFBR-2412光接收器能與光發射器 HFBR-1414 及 50/125 μ m 、62.5/125 μ m 、100/140 μ m 、200 μ m(HCS)的光纖配合使用 ,最高通信速率可達5 M B。由于采用了開集電極電路,此接收器兼容TT L及 CMOS電平。該電路的通信距離最遠可達1.7 km。

為提高CAN通信板的抗震性,抗干擾性等綜合性能,采用了雙面布線設計。該通信板尺寸規格嚴格按照PC/104板的要求做。

(3)冗余設計及CANHub設計

該通信板設計了4路冗余,工作時只有1路CAN通道進行工作,采用高位片選的方式進行工作通道的選擇,其片選模塊在FPGA內部設計完成。

(4)CANHub的設計

由于本系統采用“雙光雙電”四冗余的電路設計,為提高通信速度,采用485收發器代替標準的CAN收發器。光是“點對點”的傳輸,485收發器是差分傳輸,在形式上都無法構成總線式結構。因此,引入CAN Hub來對信號進行處理,在邏輯上達到總線式的結構。

3 軟件設計

CAN通信板的正常工作離不開強大的軟件支持,本系統中控制部分的核心采用PC/104嵌入式計算機系統。PC/104嵌入式計算機擁有可以和PC機媲美的強大功能,CAN通信板軟件部分的開發和設計就是在PC/104計算機上完成的,采用C語言進行設計。C語言具有通用性、高效性和實時性,能滿足儀器的實時性要求。在設計過程中采用了模塊化、結構化的設計方法,把軟件按功能分成若干個模塊,這些模塊既有一定的獨立性,又有一定聯系。每個模塊的編制要求相對獨立,以便對各模塊進行檢驗調試和修改、維護。這種框架模式的程序可以保證良好的通用性、可維護性、可擴展性、移植性、互換性和獨立性。

由于CAN核的內部結構和SJA1000一樣,因此,開發時就像面對SJA1000一樣,編寫起來簡單方便。本設計采用中斷處理的方式來進行任務的處理。在中斷到來后進行相應的處理就可以了[7]。

通信板初始化流程如圖3所示。

圖3 初始化流程

數據發送流程如圖4所示[8],數據接收流程如圖5所示。

圖4 數據發送流程(中斷控制)

4 系統的仿真

采用Modelsim進行仿真。

系統的測試平臺(TestBench),例化了模塊can4core和1個CAN核cantop,并仿真它們之間的通信[9]。

本仿真完全按照CAN核正常工作過程進行,仿真過程如下:

①初始化設置。首先進行時間寄存器的設置和數據格式的設置。通過平臺對本系統設計模塊和CAN核進行設置。

②同步測試。包括硬同步測試和重新同步測試。一個硬同步后,內部的位時間以同步段重新開始。硬同步使引起硬同步的跳變沿位于重新開始的位時間同步段之內。

③空FIFO測試(test_empty_fifo_ext)。該測試通過接收2個數據幀,然后讀取接收緩沖器,接著清空緩沖器,再讀取緩沖器,反復清空和讀取,看FIFO中的數據是否被完全清除。

④滿FIFO測試(test_full_fifo_ext)。首先清空寄存器,然后通過不斷地接收數據幀來填滿FIFO并讀取信息,檢測是否能正常工作。

⑤總線空閑測試(bus-off-test)。通過不斷發送數據來使總線處于忙狀態,致使總線產生錯誤,測試中斷寄存器是否能檢測到錯誤,以及錯誤清除后CAN核能否繼續正常工作。

⑥Basic CAN模式發送幀檢測。測試CAN核能否正常發送幀。

⑦寄存器測試。通過不停地讀寫寄存器,檢測CAN核寄存器是否正常工作。

⑧總線上數據的傳輸。仿真過程中重要的一點就是總線上是否能夠正常傳輸數據信息。

經過仿真可以看到該CAN通信板突破了SJA1000在速度方面的限制,傳輸速度可達2 MHz,有效傳輸速率得到了大幅提高,工作性能良好。

結 語

本文設計的CAN總線通信板完成了PC/104與CAN總線的通信轉換,改變了傳統的應用CAN控制器加外部控制器的設計方法,在設計CAN核的基礎上,將通信板中所有數字信號處理部分都放在FPGA內部來實現,使通信速度得到很大提高。無論是在傳輸速率還是在抗干擾、抗震性等方面,CAN核應用的綜合性能都得到了很大的提高。

[1]來金梅.FPGA的現狀及發展趨勢[OL].[2009-08].http://download.csdn.net/source/.

[2]盛博科技有限公司.PC/104 Specification Version 2.5,2003.

[3]饒運濤,鄒繼軍,王進宏,等.現場總線CAN原理與應用技術[M].北京:北京航空航天大學出版社,2007.

[4]周潤景,圖雅,張麗敏.基于Quartus II的 FPGA/CPLD數字系統設計實例[M].北京:電子工業出版社,2007.

[5]胡為,王宏斌.基于FPGA的控制器局域網(CAN)總線控制器設計[J].火控雷達技術,2006(3).

[6]杭州奧林海升光電技術有限公司.HFBR1414C Datasheet,2009.

[7]廣州周立功有限公司.SJA1000獨立CAN控制器[OL].[2009-08].http://www.zlgmcu.com.

[8]廣州周立功有限公司.SJA1000應用指南[OL].[2009-08].http://www.zlgmcu.com.

[9]編寫高效的測試設計(testbenches)[OL].[2009-08].http://www.FPGA.com.cn.

猜你喜歡
設計
二十四節氣在平面廣告設計中的應用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統設計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發生器仿真設計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過?!律O計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設計到“設計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 国产亚洲高清视频| 熟妇人妻无乱码中文字幕真矢织江| 国产第一页屁屁影院| 亚洲中文字幕在线一区播放| 婷婷午夜天| 一级成人a毛片免费播放| 国产综合无码一区二区色蜜蜜| 国产精品毛片一区视频播| 国产91久久久久久| 国产亚洲欧美在线人成aaaa| 国产黄网永久免费| 自拍偷拍欧美| 视频一区亚洲| 亚洲精品天堂在线观看| 9久久伊人精品综合| 国产精品亚欧美一区二区 | 国产成人av一区二区三区| 亚洲精品久综合蜜| 国产迷奸在线看| 九九热免费在线视频| 日本高清成本人视频一区| 97在线视频免费观看| 自拍亚洲欧美精品| 亚洲最大在线观看| 精品人妻一区无码视频| 色一情一乱一伦一区二区三区小说 | yjizz国产在线视频网| 日本国产精品一区久久久| 91极品美女高潮叫床在线观看| 香蕉久久永久视频| 免费网站成人亚洲| 又大又硬又爽免费视频| 香蕉久久国产超碰青草| 欧美亚洲香蕉| 青青网在线国产| 国产精品视频999| 91久久夜色精品国产网站| 精品五夜婷香蕉国产线看观看| 国产亚卅精品无码| 亚洲青涩在线| 女人av社区男人的天堂| 玖玖免费视频在线观看| 97国产精品视频自在拍| 欧美日本在线观看| 欧美国产菊爆免费观看| 国产免费网址| 欧美在线一级片| 在线精品自拍| 四虎永久在线视频| 国产精品久久久免费视频| 19国产精品麻豆免费观看| 伊人丁香五月天久久综合| AV不卡无码免费一区二区三区| 国产AV无码专区亚洲精品网站| 久久精品亚洲热综合一区二区| 欧美色视频网站| 国产一区二区免费播放| 波多野结衣在线se| 精品综合久久久久久97超人| 日本国产精品一区久久久| 久久久久久久久亚洲精品| 午夜爽爽视频| 国产日本一线在线观看免费| 亚洲国产91人成在线| 久草中文网| 99久久精品免费看国产免费软件| 日韩免费毛片| 日韩A∨精品日韩精品无码| 国产91视频免费| 国产一级在线播放| 日本成人精品视频| a天堂视频在线| 中文字幕波多野不卡一区| igao国产精品| 国产精品第页| 成年人视频一区二区| 最新日本中文字幕| 在线一级毛片| 蜜桃视频一区二区| 亚洲大尺码专区影院| 亚洲欧美人成电影在线观看| 国产精品福利社|