www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > EDA > 電子設計自動化
[導讀]摘要:使用Verilog HDL硬件描述語言完成了對CAN總線控制器的設計,能夠實現(xiàn)符合CAN2.0A協(xié)議的所有功能。本總線控制器的外部接口采用Altera公司開發(fā)的Avalon總線接口,增強了控制器的應用靈活性。本設計使用Modelsim

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

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

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


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


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


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

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


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

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


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

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉