基於CAN匯流排的介面卡節點設計

2022-10-16 08:24:04 字數 4041 閱讀 7110

遼寧工業大學

工業控制網路技術課程設計(**)

題目: 基於usb的can匯流排介面卡設計

院(系): 電氣工程學院

專業班級

學號:學生姓名

指導教師

起止時間:2013.12.18-2013.12.27

課程設計(**)任務及評語

院(系):電氣工程學院教研室:自動化

注:成績:平時20% **質量60% 答辯20% 以百分制計算

摘要can匯流排是一種應用極為普及的現場匯流排。can匯流排作為智慧型裝置的聯絡紐帶,把掛在匯流排上作為網路節點的智慧型裝置連線為網路系統,並進一步構成自動化系統,實現基本控制的綜合自動化系統。

隨著現場匯流排技術和計算機外設接**術的發展,現場匯流排與計算機快速有效的連線又有了更多的方案,usb作為一種新型的接**術,以其簡單易用、速度快等特點而備受青睞。本文簡要提出了usb 介面與can匯流排連線方案,論述了系統的硬體構成,韌體開發和驅動程式等內容。

關鍵詞:現場匯流排 usb can匯流排

目錄第1章緒論 1

第2章課程設計的方案 2

2.1 概述 2

2.2 系統組成總體結構 2

第3章硬體設計 3

3.1 微控制器最小系統設計 3

3.2 can匯流排 4

3.3 usb介面 5

3.4 收發器pca82c250 6

3.5系統總體框圖 8

第4章軟體設計 9

4.1 can匯流排的初始化程式 9

4.2 sja1000傳送和接收資料的流程 10

第5章課程設計總結 12

參考文獻 13

附錄 14

can匯流排最初是德國bosch公司在1986 。can匯流排與其它通訊網的顯著不同之處在於:

(1)報文傳送中不包含目標位址,它是以全網廣播為基礎,各接收站根據報文中反映資料性質的識別符號過濾報文,該收的收下,不收的棄用。其好處是可線上網下網、即插即用和多站接收。

(2)特別強化了對資料安全性的關注,滿足控制系統及其它較高資料要求的系統需求。另外can匯流排採用短幀結構,借助接收濾波的多位址幀傳送,受干擾概率低,每幀資訊都有crc校驗及其它檢錯措施。響應遠端資料請求,配置靈活,具有全系統的資料相容性。

節點數主要取決於匯流排驅動電路,目前最多可達110個節點。can匯流排符合iso11898標準,通訊速率高,最大傳輸速率可達1mbit/s,最大傳輸距離為10km,傳輸介質可為雙絞線。基於can匯流排以上的特點,把它應用於系統分布比較分散且需要在同一匯流排上掛接多個節點的場合是非常適合的。

can匯流排具有高效能、高可靠性、高價效比、連線方便、實時性好及其獨特的設計等突出優點應用於許多任務業部門,目前已成為比較流行的一種現場匯流排,廣泛應用於控制系統中的各檢測和執行機構之間的資料通訊。而實際應用中pc機與can匯流排的人機互動設計尤為重要,它直接影響系統的執行和結果,其連線方法也成為系統設計的重點,通常採取3種連線方式:rs-232序列口通訊、pci卡、usb口通訊,由於序列通訊埠在系統控制領域中一直扮演著極為重要的角色,以其開發簡單,資源豐富,成本低,無需驅動程式等諸多優點,不僅沒有被淘汰,反而在規格上更先進,故應用廣泛。

結合設計中at89s51微控制器有序列通訊口且介面簡單的特點,選用rs-232作為can匯流排與pc機之間的連線方式。。

本次設計主要是綜合應用所學知識,設計can匯流排介面卡介面設計,並在實踐的基本技能方面進行一次系統的訓練。能夠較全面地鞏固和應用「現場匯流排」課程中所學的基本理論和基本方法。

系統以微控制器at89s51和sja1000控制器為核心,usb的can匯流排介面卡設計,實現計算機串列埠與can匯流排協議的轉換。設計硬體包括匯流排控制器、匯流排收發器及atmel系列微控制器及usb晶元等。軟體採用組合語言或c語言,並除錯與分析。

本設計系統主要部件結構圖如圖2.1

圖2.1 系統總體框圖

at89s51是乙個低功耗,高效能cmos 8位微控制器,片內含4k bytes isp(in-system programmable)的可反覆擦寫1000次的flash唯讀程式儲存器,器件採用atmel公司的高密度、非易失性儲存技術製造,相容標準mcs-51指令系統及80c51引腳結構,晶元內整合了通用8位**處理器和isp flash儲存單元,功能強大的微型計算機的at89s51可為許多嵌入式控制應用系統提供高價效比的解決方案。

圖3.1微控制器最小系統

在本系統中,can控制器採用philips公司生產的sja1000,它作為乙個傳送、接受緩衝器,實現主控制器和匯流排之間的資料傳輸;can收發器採用tja1050晶元,它是can控制器和物理匯流排的介面,主要可以提供對匯流排的差動傳送能力和對can控制器的差動接受能力。 在can匯流排結構中,匯流排的兩端還要配置兩個120ω的電阻,其作用是匯流排匹配阻抗,可以增加匯流排傳輸的穩定性和抗干擾能力,減少資料傳輸中的出錯率。為了增強can匯流排節點的抗干擾能力,sja1000的txo和rx0可通過高速光耦6n137與tja1050相連,這樣就很好的實現了匯流排上各節點的電氣隔離。

光耦部分電源與can_v必須用小功率電源隔離模組進行隔離,這樣就提高了節點的穩定性和安全性。圖3.2為sja1000引腳圖。

圖3.2 sja1000引腳圖

pdiusbd12 是一款帶有並行匯流排和區域性dma傳輸能力的高速usb 介面器件,它支援usb1.1協議的所有傳輸方式,在本設計中用到了控制傳輸,中斷傳輸和批量傳輸。控制傳輸處理主機到usb裝置的控制資訊,固定使用端點0。

中斷傳輸用來傳送資料量很小,但需要及時處理,以達到實時效果的資料,使用端點1。批量傳輸用來實現can節點與主機之間大資料快傳送,使用主端點(端點2),一次最大可傳送64位元組。pdiusbd12 的韌體設計成完全的中斷驅動,當mcu 處理前台任務時usb 的傳輸可在後台進行。

這就確保了最佳的傳輸速率和更好的軟體結構,同時簡化了程式設計和除錯。後台isr 中斷服務程式和前台主程式迴圈之間的資料交換通過事件標誌和資料緩衝區來實現,當pdiusbd12 從usb 收到乙個資料報那麼就對mcu 產生乙個中斷請求,mcu立即響應中斷,在isr中韌體將資料報從pdiusbd12 內部緩衝區移到資料緩衝區,並在隨後清零pdiusbd12 的內部緩衝區,以使能接收新的資料報。mcu 可以繼續它當前的前台任務,返回到主迴圈檢查迴圈緩衝區內是否有新的資料。

圖3.3為pdiusbd13韌體程式設計結構圖。

圖3.3 pdiusbd13韌體程式設計結構圖

這部分程式結構可包括:

1) 請求處理程式

對usb的標準裝置請求進行處理和對使用者新增的廠商請求進行處理;usb裝置接入主機後要進入複雜的裝置列舉過程,並安裝正確的驅動程式。

2)硬體提取層

對微控制器的i/o口、資料匯流排等硬體介面進行操作,該層包含最底層的函式,這些函式在不同的mcu 平台上需要進行改變,

void outportb(unsigned char port,unsigned char val);

void inportb(unsigned char port);

對pdiusbd12 所有的i/o 訪問都可由它們實現;

3)pdiusbd12 命令介面

對pdiusbd12器件進行操作的模組子程式集,以簡化器件的程式設計;

4)中斷服務程式

當pdiusbd12向微控制器發出中斷請求時,讀取pdiusbd12的中斷傳輸來的資料,並設定事件標誌和setup包資料緩衝區,傳輸給主迴圈。

5)主迴圈

傳送usb請求,處理usb匯流排事件和使用者功能處理等。mcu 一旦上電就需要初始化其所有埠儲存區,中斷服務程式。在主迴圈程式中mcu 對事件進行輪詢,如有can匯流排發來的資料,則送往pdiusbd12進行傳送,如有usb匯流排資料,則啟動can傳送程式,它們在介面的接收工作分別由各自的中斷程式完成。

要注意的是,我們在用了pdiusbd12的埠最大一次可傳送64位元組,sja1000一次最多能發8位元組, 如果埠1傳輸的長度大於8 位元組,mcu 在傳輸階段就必須根據資料大小,分數次完成can資料的傳送工作。

pdiusbd12初始化程式:

void d12_init()

{ d12_setaddressenable(0,1);

d12_setendpointenable(1);

disconnect();

delay(2);

connect();

好電源介面卡的標準

評判電源好壞的標準 評定一款電源的品質,可首先檢視其是否通過了必要的安全認證。一般來講,獲得認證專案越多的電源質量越可靠。目前在市場中銷售的電源,都必須經過國家強制性3c認證制度後才能銷售。而現有的3c證書共有四個版本 ccc s 安全認證 ccc se 安全與電磁相容認證 ccc emc 電磁相容...

電源介面卡和LED驅動的區別

深圳市森樹強電子科技 簡單來說,電源介面卡中包含著led驅動,led是屬於電源介面卡的範疇之內的,這是他們的關係與區別,下面詳細介紹兩者之間的區別。電源介面卡我們一般是指屬於穩壓的電源,我們常講的led驅動電源一般是指恆流電源,也稱之為恆流源 但也有led是用穩壓電源如電源介面卡來供電的。led驅動...

筆記本電源介面卡的選擇方法

膝上型電腦的普及給人們帶來了很大的便利,然而新的煩惱又接踵而來,筆記本電源介面卡丟了或者是壞了怎麼辦呢?有人說買乙個原裝的不就ok了嗎?對,原裝的同型號筆記本電源介面卡肯定可以用,但是在很多時候買不到原裝的筆記本電源介面卡,另外原裝的筆記本電源介面卡 很高,怎麼辦呢?如何選擇筆記本電源介面卡呢?其實...