《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于FPGA的CAN總線控制器設計
基于FPGA的CAN總線控制器設計
電子技術
張雨光 黃啟俊 常 勝
摘要: 使用VerilogHDL硬件描述語言完成了對CAN總線控制器的設計,能夠實現符合CAN2.0A協議的所有功能。本總線控制器的外部接口采用Altera公司開發的Avalon總線接口,增強了控制器的應用靈活性。本設計使用Modelsim
Abstract:
Key words :

摘要:使用Verilog HDL硬件描述語言完成了對CAN總線控制器設計,能夠實現符合CAN2.0A協議的所有功能。本總線控制器的外部接口采用Altera公司開發的Avalon總線接口,增強了控制器的應用靈活性。本設計使用Modelsim軟件完成了功能仿真和時序仿真。
關鍵詞:CAN總線;控制器;現場可編程門陣列

0 引言
    CAN(控制器局域網)是一種先進的串行通信協議,由德國BOSCH公司開發,并最終成為國際標準(ISO11898),是國際上使用最廣泛的現場總線之一。目前世界上已有20多家CAN總線控制器生產商,110多種CAN總線控制器芯片和集成CAN總線控制器的微處理器芯片。
    由于定制的CAN總線控制器芯片不能嵌入到SoC(片上系統)中,而采用分立元器件實現CAN總線接口,使得系統中器件數量增加,同時也增大了系統面積,本文所介紹的CAN總線控制器正是由Verilog HDL語言描述,既可以作為一個獨立的設備,也可以作為一個模塊集成到FPGA中。
    雖然目前國內外已有很多人研究或設計了CAN總線控制器IP核,但其中大多數只是對控制器中的某一個模塊進行了研究和設計,并沒有實現一個完整的CAN總線控制器的功能,例如文獻只對CAN控制器的狀態機進行研究,文獻只對CAN控制器的位定時模塊進行研究。而完整實現了CAN總線控制器功能的作品中,最高工作頻率又不是很理想,例如Mentor Graphics公司提供的MCAN2D1 CAN2.0 Network Controller的最高工作頻率只有32.46MHz,文獻中介紹的CAN總線控制器的最高工作頻率也只有50MHz,這些IP核顯然不能適應高速環境的要求,同時文獻中介紹的控制器對外接口中出現了寄存器使能位等接口,這種接口不符合Avalon總線規范,不利于集成到FPGA芯片中,其通用性肯定較差,所以研究并設計出一款高速且通用性強的CAN總線控制器的IP核仍然是有其重要意義的。

1 系統實現
1.1 系統框圖
    本設計中將整個CAN控制器系統分為了11個模塊,分別是Avalon總線接口模塊、寄存器組模塊、接收緩沖器模塊、發送緩沖器模塊、接收濾波模塊、CRC校驗模塊、狀態機模塊、標識符填充模塊、錯誤計數器模塊、位填充模塊、位定時模塊。其結構框圖如圖1所示。

b.JPG


1.2 主要模塊介紹
1.2.1 寄存器組模塊
    本模塊由位寬為8bit,深度為256的寄存器組實現其功能,其中已經使用的寄存器為23個,其余的供以后擴展。本設計采用將各個獨立的控制及狀態寄存器集成在一起的設計思想,任何對控制器的初始化以及數據的接收和發送都是從寫寄存器組開始的。
1.2.2 CRC校驗模塊
    CRC(循環冗余校驗碼)是一種能力非常強的檢錯、糾錯碼,常用于串行傳送的輔助存儲器與主機的數據通信和計算機網絡中。它的基本原理是:在k位信息碼后再拼接r位的校驗碼,整個編碼長度為n位,因此,這種編碼又叫(n,k)碼。對于一個給定的(n,k)碼,可以證明存在一個最高次冪位n-k=r的多項式g(x),根據g(x)可以生成七位信息的校驗碼,而g(x)叫做這個CRC碼的生成多項式。
    CAN總線協議就是采用的CRC校驗,并且是16位的C R C-1 6校驗碼, 生成多項式為,可轉換為二進制碼組1100010110011001。生成CRC碼的具體過程是:由幀起始、仲裁場、控制場、數據場(數據幀有數據場,遠程幀沒有數據場)組成的被除數右移15位后與生成多項式的二進制碼組進行模2除,生成的15位余數就是所需的CRC碼。
    本模塊的主要作用有兩個:1)在控制器處于發送狀態時,計算出CRC碼,同時將幀起始、仲裁場、控制場、(數據場)、CRO場按幀格式的要求進行打包;2)在控制器處于接收狀態時,將接收到的由幀起始、仲裁場、控制場、(數據場)、CRC場組成的被除數與生成多項式的二進制碼組進行模2除,結果為0,則接受數據,不為0,則丟棄數據,并產生CRC校驗錯誤。
1.2.3 立填充模塊
    在CAN總線協議中,當控制器處于發送或接收狀態時,若控制器檢測到總線上出現連續6個相同極性的電平時(幀結尾除外),控制器將會檢測到錯誤而停止發送或接收數據,此時控制器將會由發送或接收狀態轉換為錯誤狀態。
    本模塊的主要作用是:在發送狀態時,連續發送5個相同極性的位時,若第5位與將要發送的第6位極性不同時,在第5位和第6位之間插入1個極性與第6位相同的位,若第5位與將要發送的第6位極性相同,在第5位和第6位之間插入1個極性與第6位相反的位;在接收狀態時,連續接收5個相同極性的位時,若第6位與之前5位的極性不同,則舍棄第6位,若第6位與之前5位的極性相同,則產生位填充錯誤,控制器將停止接收數據,此時控制器也將由接收狀態轉換為錯誤狀態。同時,本模塊也具有檢測位錯誤,位填充錯誤,形式錯誤及應答錯誤的功能。另外,模塊還具有生成錯誤幀、過載幀、間歇幀的功能。
1.2.4 狀態機模塊
    狀態機模塊在整個控制器中扮演著“大腦”的作用,它控制著其它模塊的操作。相比于文獻中未采用狀態機的設計,采用狀態機會使得各個模塊的功能作用更為明確,系統結構更為清晰合理,同時也更便于各個模塊之間的協調控制。本狀態機模塊的設計采用和文獻中相同的設計,將控制器分為了10種模式:總線脫離、總線啟動、總線空閑、模式選擇、發送模式、接收模式、錯誤模式、間歇模式、超載模式及掛起模式。CAN狀態機狀態轉移圖如圖2所示。

c.JPG


    掉電、復位及總線上過多的錯誤都會使控制器進入總線脫離模式;系統上電、復位解除或過多錯誤而復位后的下個時鐘會使控制器進入總線啟動模式;在總線啟動模式下,若之前因掉電、復位使控制器進入總線脫離模式,當控制器監測到總線上1次連續11個隱性位(邏輯電平1”)時,控制器進入總線空閑狀態,若因過多錯誤使控制器進入總線脫離模式,則當控制器監測到總線上128次連續11個隱性位時,控制器進入總線空閑模式;當控制器沒有數據發送但監測到總線上有顯性位(邏輯電平“0”)時,控制器進入接收模式,而當控制器有數據發送同時監測到總線上有顯性位時,控制器進入模式選擇模式;模式選擇其實就是一個總線仲裁,此時標識符將扮演仲裁位的角色,顯性位的優先級更高,若總線仲裁失敗則控制器進入接收模式,仲裁成功則進入發送模式;一幀數據成功發送完成后,控制器會進入間歇模式;若間歇幀發送成功,則控制器會再次進入總線空閑模式。狀態機由空閑模式轉換為模式選擇模式的仿真圖如圖3所示。

d.JPG


1.2.5 位定時模塊
    位定時模塊控制著控制器報文發送或接收的節奏,這個節奏就是位時間,它由四部分組成:同步段、傳播段、相位緩沖段1和相位緩沖段2,這四個段均由時間份額構成,時間份額是根據預先設置的分頻值對輸入時鐘進行分頻得到的。
    位定時模塊還有一個重要的功能是將本節點與總線上的其它節點進行時鐘同步。由于每個CAN節點使用的是獨立的時鐘,所以不同節點之間會有相位差,這些相位差嚴重時會影響報文發送和接收的準確性,所以有必要對不同節點進行時鐘同步。

2 系統驗證
    整個系統的功能仿真和時序仿真是借助Modelsim軟件完成的。圖4所示是對控制器發送數據的驗證,測試用的發送數據為隨意選擇的:00101001,仲裁場和控制場也是任選的,分別為:110100101110、110001,設置好寄存器組后,控制器計算出對應的CRC碼為:110111001111 011,之后控制器將數據按CAN協議的幀格式打包逐位發送出去。

e.JPG


    控制器最初處于總線脫離模式,復位結束后進入總線啟動模式,當控制器檢測到總線上的1次連續11個隱性位時,進入總線空閑模式,接著當控制器檢測到總線出現第一個顯性位時,進入模式選擇模式,在此模式下,控制器進行的操作就是總線仲裁,確定本節點是否獲得總線控制權,由于本測試采用的是控制器自測模式,即輸出線與輸入線連在一起,所以仲裁時間為12個位時間,仲裁成功后,控制器會進入發送模式,若無錯誤產生,數據發送完成后控制器進入間歇模式,最后進入總線空閑模式。
    經過一系列的測試驗證后,表明本CAN總線控制器能夠發送或接收所有符合CAN2.0A協議的報文幀。

3 結束語
    本設計實現了所有符合CAN2.0A協議的CAN總線控制器功能,最高工作頻率為139.43MHz,這也達到了最初的設計目的??刂破鞯臅r序分析如圖5所示。

a.JPG


    本文作者創新點為:首先控制器的外圍接口采用Avalon總線接口,這使得本設計的通用性更強:其次是本設計的最高工作頻率達到了139.43MHz,能夠適應高速通信的要求。

此內容為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>
          国内精品久久久久国产盗摄免费观看完整版| 激情懂色av一区av二区av| 欧美在线三级| 亚洲欧美电影院| 欧美精品在线极品| 欧美精品三级在线观看| 欧美性猛交一区二区三区精品| 午夜影院日韩| 狠狠爱成人网| 亚洲人体一区| 久久亚洲精品网站| 欧美日韩午夜激情| 欧美一区午夜视频在线观看| 国产日产欧美一区| 日韩一区二区高清| 欧美高清自拍一区| 国产精品二区三区四区| 麻豆成人小视频| 麻豆精品精品国产自在97香蕉| 亚洲精品在线免费观看视频| 亚洲伊人观看| 欧美麻豆久久久久久中文| 9久草视频在线视频精品| 国产精品色一区二区三区| 欧美日韩国内自拍| 久久夜色精品国产| 午夜视黄欧洲亚洲| 亚洲一区二区三区在线播放| 一区二区三区在线视频免费观看| 99爱精品视频| 午夜欧美大片免费观看| 久久天堂精品| 欧美在线91| 久久国产视频网站| 久久亚洲私人国产精品va| 欧美日韩无遮挡| 国产自产在线视频一区| 国产日韩在线亚洲字幕中文| 亚洲男人第一网站| 最近中文字幕mv在线一区二区三区四区| 久久久久久网站| 亚洲欧美日韩视频二区| 欧美一级理论性理论a| 欧美视频在线不卡| 洋洋av久久久久久久一区| 一区在线播放| 亚洲调教视频在线观看| 亚洲美女视频在线观看| 欧美理论电影在线观看| 欧美91福利在线观看| 欧美午夜精品理论片a级按摩| 国产美女精品一区二区三区| 亚洲伊人网站| 亚洲二区三区四区| 欧美午夜视频一区二区| 在线日韩日本国产亚洲| 亚洲精品日韩欧美| 久久久91精品国产一区二区精品| 欧美无乱码久久久免费午夜一区| 国产精品私人影院| 国产精品久久久久久久久久免费| 在线观看亚洲专区| 亚洲综合视频在线| 精品成人在线观看| 欧美二区乱c少妇| 欧美精品在线看| 国产精品区一区二区三| 久久在线视频| 欧美日韩一区二区视频在线观看| 欧美三级视频在线播放| 欧美午夜美女看片| 欧美极品aⅴ影院| 一区二区三区四区五区精品| 夜夜爽www精品| 国产精品女主播在线观看| 在线观看日韩av| 久久久精品日韩欧美| 欧美精品一卡二卡| 久久国产精品第一页| 欧美成人午夜77777| 欧美日韩国产电影| 欧美久久在线| 一本一道久久综合狠狠老精东影业| 在线精品视频一区二区| 日韩视频免费在线观看| 欧美在线视频观看免费网站| 欧美激情一区二区久久久| 欧美国产丝袜视频| 国产精品久久久久久久午夜| 亚洲性人人天天夜夜摸| 国产精品入口66mio| 欧美三级午夜理伦三级中视频| 欧美国产欧美亚州国产日韩mv天天看完整| 欧美性一区二区| 欧美一区二区免费视频| 久久综合九色综合欧美狠狠| 在线看片一区| 国产主播一区二区三区四区| 亚洲国产成人久久综合一区| 亚洲激情影视| 亚洲午夜精品一区二区| 亚洲一区在线直播| 欧美在线综合视频| 亚洲美女精品久久| 老鸭窝91久久精品色噜噜导演| 玖玖玖免费嫩草在线影院一区| 欧美特黄一区| 国内精品**久久毛片app| 国产一区二区三区av电影| 国产精品区免费视频| 久久天堂国产精品| 米奇777超碰欧美日韩亚洲| 久久久久国产免费免费| 国产精品一区在线观看| 国产精品白丝av嫩草影院| 亚洲午夜91| 日韩一级黄色片| 久久久久久69| 一区二区动漫| 亚洲一区3d动漫同人无遮挡| 亚洲在线电影| 99精品欧美一区| 国产精品久久久久久久久久直播| 亚洲欧美另类国产| 欧美国产欧美亚州国产日韩mv天天看完整| 欧美电影打屁股sp| 悠悠资源网久久精品| 99re在线精品| 久久国产精品久久精品国产| 狠狠色香婷婷久久亚洲精品| 日韩视频免费观看高清在线视频| 99精品黄色片免费大全| 伊人蜜桃色噜噜激情综合| 女人色偷偷aa久久天堂| 国产欧美精品久久| 亚洲一区综合| 久久九九全国免费精品观看| 麻豆av一区二区三区久久| 国产亚洲aⅴaaaaaa毛片| 免费欧美在线视频| 午夜在线a亚洲v天堂网2018| 久久影视精品| 国产精品视频| 久久亚洲不卡| 亚洲欧洲精品一区二区精品久久久| 日韩视频在线一区二区| 亚洲伦理网站| 久久精品久久99精品久久| ●精品国产综合乱码久久久久| 老司机凹凸av亚洲导航| 亚洲精品国偷自产在线99热| 久久精品国产亚洲高清剧情介绍| 国产欧美日韩视频| 亚洲三级免费观看| 欧美婷婷久久| 狠狠综合久久av一区二区小说| 玖玖在线精品| 韩国精品久久久999| 久久性天堂网| 亚洲综合国产精品| 国产精品免费小视频| 欧美日韩精品一本二本三本| 亚洲私人黄色宅男| 精品999成人| 国产一区二区三区久久| 亚洲一级一区| 欧美亚州在线观看| 亚洲精品永久免费| 老司机午夜精品| 国产欧美一区二区精品婷婷| 亚洲经典视频在线观看| 久久综合色播五月| 久久久精品日韩欧美| 日韩写真在线| 免费成人美女女| 国产欧美日韩在线视频| 免费亚洲网站| 一区二区三区四区五区精品| 亚洲激情一区二区| 亚洲一级在线观看| 欧美福利一区二区三区| 狠狠88综合久久久久综合网| 久久综合伊人77777尤物| 99精品热视频只有精品10| 国一区二区在线观看| 亚洲卡通欧美制服中文| 一区二区三区在线不卡| 免费成人性网站| 国产日韩欧美夫妻视频在线观看| 免费日本视频一区| 欧美一级午夜免费电影| 欧美日本精品一区二区三区| 99精品视频免费| 欧美一级久久久久久久大片| 亚洲精品一区在线观看香蕉| 国产女主播一区二区三区| 亚洲国产天堂网精品网站| 亚洲欧美激情一区二区| 一本色道久久综合狠狠躁篇怎么玩| 女女同性女同一区二区三区91| 久久国产精品久久w女人spa| 亚洲激情校园春色| 亚洲激情专区| 亚洲视频在线播放| 久久偷看各类wc女厕嘘嘘偷窃| 国产精品播放| 老牛影视一区二区三区| 欧美激情在线| 国产精品亚洲不卡a| 久久日韩粉嫩一区二区三区| 国产一区在线免费观看| 久久久久久久久伊人| 国产亚洲成av人片在线观看桃| 亚洲日韩成人| 亚洲精品女人| 亚洲国产国产亚洲一二三| 欧美一级在线亚洲天堂| 性娇小13――14欧美| 国产欧美一区二区精品性色| 玉米视频成人免费看| 亚洲精品一区二区三| 91久久国产自产拍夜夜嗨| 久久性色av| 欧美激情1区| 国产欧美日韩不卡免费| 国产婷婷成人久久av免费高清| 国产精品一区二区黑丝| 欧美在线观看天堂一区二区三区| 亚洲第一精品夜夜躁人人爽| 欧美在线影院| 国内精品一区二区| 99视频一区二区三区| 一区二区三区**美女毛片| 美女国内精品自产拍在线播放| 久久久久久久一区二区| 亚洲欧洲另类| 亚洲精品国产精品久久清纯直播| 国产日韩欧美精品综合| 国产嫩草影院久久久久| 国产精品一区亚洲| 在线日韩日本国产亚洲| 香蕉久久夜色精品| 欧美日韩一区在线观看视频| 在线免费观看日本一区| 欧美一区=区| 免费观看成人www动漫视频| 久久激五月天综合精品| 欧美日韩的一区二区| 欧美激情第4页| 国产精品任我爽爆在线播放| 欧美一区二区私人影院日本| 精东粉嫩av免费一区二区三区| 久久久久免费| 久久久精品久久久久| 亚洲午夜国产一区99re久久| 国产热re99久久6国产精品| 国产精品视频精品视频| 亚洲精品免费看| 一区二区三区我不卡| 亚洲人体1000| 一区二区欧美在线观看| 香港久久久电影| 国内精品一区二区| 99re6这里只有精品| 国产一区av在线| 亚洲小说区图片区| 亚洲视频综合| 亚洲男人的天堂在线aⅴ视频| 国产亚洲一级高清| 久久久视频精品| 国产日韩欧美夫妻视频在线观看| 在线免费精品视频| 欧美精品免费观看二区| 久久噜噜噜精品国产亚洲综合| 欧美在线999| 亚洲国产人成综合网站| 久久久久久久尹人综合网亚洲| 午夜精品一区二区三区四区| 欧美在线观看天堂一区二区三区| 亚洲精品免费一区二区三区| 亚洲欧美日韩在线播放| 亚洲影音一区| 亚洲免费在线精品一区| 国产精品久久久久永久免费观看| 久久精品人人爽| 欧美激情欧美狂野欧美精品| 一本久久a久久免费精品不卡| 一区二区视频免费完整版观看| 日韩亚洲欧美一区二区三区| 欧美大片一区二区三区| 老牛国产精品一区的观看方式| 亚洲电影天堂av| 国产精品在线看| 国产精品久久久久久久久果冻传媒| 美女在线一区二区| 极品尤物av久久免费看| 国产精品xvideos88| 欧美在线观看网址综合| 亚洲精品国产精品国自产观看| 伊人精品在线| 亚洲一区二区免费在线| 久久午夜羞羞影院免费观看| 国产日韩在线一区二区三区| 亚洲免费影视| 亚洲人成网站色ww在线| 精品成人在线视频| 欧美中文字幕在线| 久久精品视频va| 国产精品欧美一区喷水| 久久九九免费视频| 在线精品一区| 99国产精品视频免费观看一公开| 国产主播一区| 午夜精品久久| 亚洲人被黑人高潮完整版| 国产精品一区二区三区成人| 亚洲一区二区成人在线观看| 欧美成人中文字幕| 亚洲永久免费视频| 在线观看久久av| 亚洲视频网站在线观看| 小处雏高清一区二区三区| 欧美日在线观看| 亚洲国产成人久久综合一区| 久久久久网址| 最新中文字幕亚洲| 一区二区动漫| 亚洲伦理一区|