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

基于SJA1000IP核的CAN總線通信系統

2012-06-25 02:46:04陳祖海潘明
單片機與嵌入式系統應用 2012年7期
關鍵詞:程序功能系統

陳祖海,潘明

(桂林電子科技大學 計算機與控制學院,桂林 541004)

引 言

CAN(Controller Area Network)是控制器局域網的簡稱,是20世紀80年代初由德國BOSCH公司提出來的一種串行數據通信協議,主要用于解決當時由于汽車功能越來越多而導致汽車內部信號連接線增多的問題。隨后CAN總線迅速發展,并于1993年被列入ISO國際標準,形成了IOS11898標準。至今,CAN總線已經被公認為幾種最有前途的現場總線之一,其應用范圍也從當初的汽車行業擴展到了機械工業、交通工具、醫療設備、建筑、環境控制等諸多領域中。

伴隨著CAN總線的高速發展,用戶對其也提出了更高的要求。這無疑給CAN總線帶來發展機遇的同時也帶來了巨大的挑戰。在這種新形勢下,CAN總線原有的設計方案和技術就顯得有些力不從心。

可編程片上系統(System On a Programmable Chip,SOPC)是一種新型的系統軟硬件協同設計的開發技術,是電路系統發展的一個重要方向。它在集成度、設計靈活性以及可移植性等方面上的優越性無疑可以給CAN總線系統設計帶來新的動力,使其能夠快速地適應新形勢下的挑戰。

1 CAN總線控制器的工作原理

SJA1000芯片是Philips公司的一款獨立CAN總線控制器,主要用于移動目標和一般工業環境中的CAN總線系統上。相對于它的前一款PCA82C200,SJA1000主要的改進是在原有BasicCAN模式的基礎上增加了另一種工作模式(PeliCAN)——這種模式能夠支持擁有很多新特性的CAN 2.0B協議。出于兼容性的考慮,這兩種工作模式在SJA1000上都能夠實現,通過配置時鐘分頻器寄存器,就可以在兩種工作模式之間轉換。但是應特別注意的是芯片在復位后的默認模式為BasicCAN。

2 SJA1000的設計

2.1 SJA1000的功能

SJA1000是一款獨立的CAN總線控制器,在CAN總線網絡中的功能與作用和一般的CAN總線控制器相同,都是用來實現CAN總線協議的模塊。SJA1000在CAN總線系統中的位置如圖1所示。

在圖中共描繪了2個節點:一個標準參考模型節點和一個包含了SJA1000設備的節點。通過這樣的對比可以更加清楚地理解SJA1000的功能與作用。

圖1 SJA1000在CAN總線系統中的位置

2.2 SJA1000的結構

按照SJA1000用戶使用手冊中的敘述,其內部結構如圖2所示。

圖2 SJA1000的內部結構圖

從SJA1000的內部結構圖可以了解到SJA1000的功能主要是由以下幾個控制模塊完成:接口管理邏輯、發送緩沖器、接收緩沖器、驗收濾波器、位流處理器、位時序邏輯、錯誤管理邏輯。

2.3 SJA1000IP核設計

CAN總線控制器在系統中主要是用來完成LLC和MAC子層功能的。在綜合參考了幾種CAN總線控制器之后,我們選定了SJA1000作為實現目標。根據SJA1000的內部結構方框圖,如圖3所示,用Verilog HDL語言分別設計了寄存器控制模塊、位時序邏輯模塊、位數據流處理器模塊、CRC校驗模塊、驗收濾波器模塊、FIFO模塊、頂層控制模塊。共有7個功能模塊來實現SJA1000的全部功能,其程序結構如圖4所示。

圖3 SJA1000的內部結構方框圖

下面對這7個功能模塊的程序設計做一個大概的說明。

(1)寄存器控制程序

寄存器控制程序用于完成SJA1000中所有有關寄存器操作。設計寄存器組子模塊包括模式寄存器、命令寄存器、狀態寄存器、中斷寄存器、中斷使能寄存器、總線定時寄存器、仲裁丟失捕獲寄存器、錯誤代碼捕獲寄存器、錯誤報警限制寄存器、接收錯誤計數器、發送錯誤計數器、驗收代碼寄存器、驗收屏蔽寄存器、接收信息計數器、接收緩沖器起始地址寄存器、時鐘分頻寄存器和接收/發送緩沖器,方便微控制器對CAN_Module內部各個功能模塊的控制。

(2)位時序邏輯程序

位時序邏輯程序主要負責監視串行CAN總線,并處理與總線相關的位時序問題。在消息發送的開始處,當位時序邏輯檢測到總線上由隱性位到顯性位的跳變時,其內部邏輯同步到位流,稱之為硬同步。在接收消息的過程中,檢測到隱性位到顯性位的跳變時便會重同步到位流,稱之為軟同步。位時序邏輯根據總線定時寄存器和總線定時寄存器的值來決定每個位周期的采樣點的位置,以補償傳輸延遲和相位漂移所造成的誤差。

(3)位數據流處理器程序

位數據流處理器程序執行總線上的錯誤檢測、仲裁、填充和錯誤處理等功能。它主要由接收模塊、發送模塊、錯誤管理模塊、CRC校驗、驗收濾波、FIFO 6個子模塊組成。CRC校驗、驗收濾波、FIFO子模塊將單獨設計成子程序供位數據流處理器程序調用。

(4)CRC校驗程序

CRC校驗程序主要用來完成CAN總線網絡中循環冗余校驗碼功能。

(5)驗收濾波器程序

驗收濾波器程序的功能是由驗收代碼寄存器(ACR)和驗收屏蔽寄存器(AMR)共同完成的。驗收代碼寄存器將接收到幀中的標識碼內容與其自身的內容逐位的進行比較,以決定是否要接收這條報文,驗收完全通過后則保存到FIFO中。驗收屏蔽寄存器則決定在比較中起作用的驗收代碼寄存器的位(驗收屏蔽寄存器為0,則相應的驗收代碼寄存器的位相關;驗收屏蔽寄存器為1,則對應的位無關)。

圖4 CAN控制器IP核的程序結構圖

(6)先入先出FIFO存儲器程序

先入先出FIFO存儲器程序的功能是先對接收的報文進行存儲,并在CPU要求讀出數據時,將接收到的數據通過數據總線從控制器中讀出。FIFO模塊特點是先進入先輸出,后進入后輸出。本文中的FIFO存儲器是同步的,只有一個時鐘信號。

(7)頂層控制程序

頂層控制程序(can_top)是整個CAN總線控制器SJA1000IP核的最上層模塊,主要負責調用并控制以上6個程序模塊協同工作。

程序全部設計完后,通過使用QuartusII 9.0的編譯和綜合將整個程序封裝成模塊符號的形式,如圖5所示。這樣方便在后面的CAN總線通信系統設計中調用。

圖5 CAN總線控制器IP核的模塊符號

對CAN總線控制器IP核的仿真是在ModelSim軟件測試平臺中進行的,其仿真結果如圖6所示。

圖6 CAN總線控制器IP核的ModelSim仿真圖

從圖6中我們可以得出:白色豎線處發送成功狀態(tx_successful)置1,豎線前面一段時間內,CAN總線控制器IP核的發送狀態(transmit_status)為1,接收狀態(receive_status)為0,這說明控制器前面已成功地完成了一次發送操作;隨后硬同步(hard_sync)置1,發送狀態為0,接收狀態為1,控制器又開始一次接收操作,并在接收完后發送應答位(send_ack置1),且置info_empty為1。

3 SJA1000IP核的CAN總線通信系統設計

基于SJA1000IP核的CAN總線通信系統是將8051 IP核、數據RAM、程序ROM以及CAN總線控制器IP核一同設計到FPGA芯片內,從而構成SPOC系統的。基于IP核復用技術的CAN總線硬件連接圖如圖7所示。和傳統的CAN總線系統構架不同,本文的設計采用的是FPGA而不是單片機作為CAN總線通信系統的控制器。相對于單片機等微處理器而言,FPGA有著其獨特的優勢:I/O口資源豐富,可以很容易地實現更多的擴展功能;而且在電路設計中除了極少數必要的外圍器件外,其余的電路都可以集成設計到FPGA中。這樣做可以減少由于器件較多而產生的電磁干擾的可能性,而且還可以減少系統的體積和功耗、提高系統的可靠性。

在CAN 2.0B協議中,為了能夠達到設計透明度以及實現靈活性,根據ISO/OSI參考模型,CAN被細分為以下不同的層次:

① 數據鏈路層。其中包括邏輯鏈路控制子層(LLC)和介質訪問控制子層(MAC)。

② 物理層。物理層的作用是在不同節點之間根據所有的電氣屬性進行位的實際傳輸,它是由CAN總線驅動器和電氣線路構成的。

邏輯鏈路控制子層(LLC)和介質訪問控制子層(MAC)的功能,即報文分幀、仲裁、應答、錯誤檢測和標定、報文濾波、過載通知以及恢復管理都是由CAN總線控制器實現。因此,CAN總線控制器IP核(CAN_Module)主要完成LLC和MAC子層的功能。

4 CAN總線通信系統的測試與驗證

4.1 硬件電路的設計

CAN總線SOPC硬件連接圖如圖7所示,下面對圖7所示的兩個部分進行簡單介紹。

圖7 CAN總線SOPC硬件連接圖

4.2 系統的控制部分

控制部分選用的是KX_7C5E型實驗電路板,該實驗板中的FPGA目標芯片是Altera公司的Cyclone III型EP3C5E144C8。其中FPGA芯片包含有8051單片機IP核、CAN總線控制器IP核、內部程序ROM、內部數據RAM和鎖相環(PLL)等模塊。

4.3 CAN總線收發器部分

因為FPGA芯片的供電電壓和I/O口輸出電平為+3.3V,所以在設計中CAN總線收發器選用的供電電壓也必須是3.3V的。CTM1050TCAN總線收發器模塊是集成電源隔離、電氣隔離、CAN總線收發器和CAN總線保護于一體的CAN總線隔離收發器模塊。有了CAN總線隔離收發器,就可以很好地實現CAN總線上各節點電氣、電源之間的完全隔離和獨立,這樣可以提高各個節點的穩定性和安全性。該模塊的TXD、RXD引腳不需要外接其他元器件就可以很好地兼容+3.3V及+5V的CAN總線控制器。因此在圖7中我們將FPGA的I/O口與CTM1050T的引腳直接相連,故沒有設計任何外圍電路。

最后通過使用KX_7C5E型實驗電路板、CAN總線收發器、USBCAN-II、CAN總線實驗臺實驗,能夠進行基本的收發,驗證了系統的可行性。

結 語

本文已成功驗證了基于SJA1000IP核的CAN總線通信系統的可行性,該設計充分展現了片上可編程系統的靈活性和可移植性,減小了系統體積和功耗,完全可以代替原有傳統的CAN總線系統方案。

[1]潘松,黃繼業.EDA技術實用教程[M].3版.北京:科學出版社,2006:23-24.

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

[3]劉韜,樓興華.FPGA數字電路系統設計與開發實例導航[M].北京:人民郵電出版社,2005.

[4]鄔寬明.CAN總線原理和應用系統設計[M].北京:北京航空航天大學出版社,1996.

猜你喜歡
程序功能系統
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關于非首都功能疏解的幾點思考
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: 草草影院国产第一页| 狠狠亚洲婷婷综合色香| 精品一区二区久久久久网站| 国产成人久视频免费| 午夜福利视频一区| 无码福利日韩神码福利片| 91精品情国产情侣高潮对白蜜| 宅男噜噜噜66国产在线观看| 97亚洲色综久久精品| 亚洲中文字幕av无码区| 9啪在线视频| 久久影院一区二区h| 亚洲人成在线免费观看| 一区二区日韩国产精久久| 亚洲人视频在线观看| 自慰高潮喷白浆在线观看| 超清无码熟妇人妻AV在线绿巨人| 伊人国产无码高清视频| 欧美精品啪啪| Aⅴ无码专区在线观看| 新SSS无码手机在线观看| 美女被狂躁www在线观看| 中文字幕 日韩 欧美| 国产一区二区影院| 亚洲欧洲日韩久久狠狠爱| 亚洲女人在线| 欧美激情综合| 亚洲va视频| 91成人在线观看视频| 人妻一本久道久久综合久久鬼色| 成年网址网站在线观看| 青青操视频在线| 国产精品美女免费视频大全| 国产成人精品优优av| 91福利在线看| 国产精品美乳| 国产欧美日本在线观看| 狠狠干综合| 欧美日本在线播放| 99久久人妻精品免费二区| 国产全黄a一级毛片| 中文字幕一区二区视频| 国产在线视频福利资源站| 伊人中文网| 久久综合干| 四虎免费视频网站| 中文天堂在线视频| 精品一区二区三区中文字幕| 国产69精品久久久久孕妇大杂乱| 欧美亚洲中文精品三区| 国产色偷丝袜婷婷无码麻豆制服| 亚洲精品自产拍在线观看APP| 波多野结衣视频一区二区 | 天天综合网在线| 国产日本欧美在线观看| 欧美精品在线观看视频| 亚洲天堂区| 男人天堂伊人网| 亚洲无线国产观看| 国产高潮视频在线观看| 亚洲天堂网站在线| 香蕉久久永久视频| 欧美成人午夜在线全部免费| 国产国产人免费视频成18| 亚洲a免费| 色婷婷天天综合在线| 中文无码日韩精品| 99久久无色码中文字幕| av在线手机播放| 色135综合网| 免费一级全黄少妇性色生活片| 亚洲一区二区三区香蕉| 伊人久综合| 国产亚洲日韩av在线| 老司机精品久久| 日本91视频| 在线一级毛片| 亚洲中文精品久久久久久不卡| 国产全黄a一级毛片| 欧美日本不卡| 亚洲a级毛片| 99精品高清在线播放|