當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件

引言


DeviceNet是一個(gè)開放的網(wǎng)絡(luò)標(biāo)準(zhǔn)。規(guī)范和協(xié)議都是開放的-供應(yīng)商將設(shè)備連接到系統(tǒng)時(shí),無(wú)需為硬件、軟件或授權(quán)付費(fèi);任何人都能以名義上的復(fù)制成本(目前為250美元+郵費(fèi))從開放式DeviceNet供應(yīng)商協(xié)會(huì)(ODVA)獲得Device- Net規(guī)范。

本設(shè)計(jì)針對(duì)的DeveiceNet從設(shè)備特性如下:屬于DeviceNet group 2 only從設(shè)備;采用Predefine的通信連接;可通過(guò)硬件開關(guān)設(shè)置125kbps、250kbps、500kbps波特率;可通過(guò)硬件開關(guān)設(shè)置0~63 MAC ID。在軟件、硬件設(shè)計(jì)前應(yīng)首先進(jìn)行從設(shè)備(泵/閥)I/O需求分析(即 profile文擋設(shè)計(jì))。

1 通信適配器硬件系統(tǒng)設(shè)計(jì)

1.1 功能簡(jiǎn)介

DeviceNet是基于CAN 總線的一種總線協(xié)議標(biāo)準(zhǔn)。因此,DeviceNet從設(shè)備適配器硬件首先應(yīng)實(shí)現(xiàn)CAN總線的基本功能,主要包括:報(bào)文收發(fā)、訪問(wèn)控制及其它物理層的諸多功能。此外,為實(shí)現(xiàn)DeviceNet協(xié)議,硬件應(yīng)具有足夠大的程序存儲(chǔ)空間,并具有足夠快的運(yùn)行速度,以保證協(xié)議程序的順利執(zhí)行。
1.2 硬件原理

DeviceNet節(jié)點(diǎn)硬件主要由以下幾部分組成:電源、單片機(jī)系統(tǒng)、看門狗及掉電保護(hù)電路、CAN控制器SJA1000、CAN收發(fā)器82C251、撥碼開關(guān)及狀態(tài)LED顯示、雙口RAM IDT7005、AnyBus接口??傮w設(shè)計(jì)框圖略(詳見《單片機(jī)與嵌入式系統(tǒng)應(yīng)用》2002.8)。
以下是主要部分功能介紹。

(1)單片機(jī)

DeviceNet適配器選用Winbond公司的高性能8位單片機(jī)W78E58。W78E58功能、引腳與80C52完全兼容,并提供256B 的內(nèi)部RAM以及32KB的Flash EEPROM,從而使系統(tǒng)不需擴(kuò)展外部程序存儲(chǔ)器便可滿足 DeviceNet協(xié)議程序的容量要求。W78E58最高可在40MHz的主頻下運(yùn)行,處理速度完全滿足DeviceNet節(jié)點(diǎn)通信的實(shí)時(shí)性要求。為減少芯片的數(shù)量及降低硬件成本,本系統(tǒng)只擴(kuò)展1片8KB的雙口RAM,其前面7KB用于外部數(shù)據(jù)存儲(chǔ),最后1KB用于提供與其它應(yīng)用電路的通信接口。
(2)CAN控制器SJA1000

DeviceNet總線報(bào)文的收發(fā)以及媒體訪問(wèn)控制等都是依據(jù)CAN總線協(xié)議的,而這些協(xié)議都要通過(guò)CAN控制器加以實(shí)現(xiàn)。DeviceNet 通信節(jié)點(diǎn)選用目前比較流行的Philips CAN控制器SJA1000。由于 DeviceNet總線協(xié)議采用11位的標(biāo)識(shí)符,因此應(yīng)使SJA1000工作在Basic CAN模式。
(3)CAN收發(fā)器82C251

CAN收發(fā)器(transceiver)82C251的主要作用是收發(fā)CAN總線上的信號(hào):一方面將總線信號(hào)轉(zhuǎn)換為CAN控制器所需的信號(hào);另一方面,將CAN控制器的輸出信號(hào)轉(zhuǎn)化為CAN總線信號(hào)。
(4)雙口RAM IDT7005

DeviceNet適配器通過(guò)1個(gè)具有中斷功能的雙口RAM IDT7005提供與其它應(yīng)用電路的通信接口。IDT7005具有2套完全獨(dú)立的數(shù)據(jù)線、地址 線、讀寫控制線,允許2個(gè)CPU對(duì)雙口RAM的同一個(gè)單元在不同的時(shí)間進(jìn)行讀寫;具有2套完全獨(dú)立的中斷邏輯,實(shí)現(xiàn)2個(gè)CPU間的握手控制信 號(hào)。IDT7005的最高2個(gè)字節(jié)1FFFEH和1FFFH和分別兼做2個(gè)端口的中斷邏輯單元。
(5)ANyBus接口

作為一種通用的現(xiàn)場(chǎng)總線通信節(jié)點(diǎn),AnyBus提供了與其它應(yīng)用電路之間進(jìn)行數(shù)據(jù)交換的接口標(biāo)準(zhǔn),并對(duì)接口的引腳進(jìn)行了嚴(yán)格的定義。

2 DeviceNet總線通信協(xié)議

DeviceNet協(xié)議規(guī)范是描述DeviceNet設(shè)備之間實(shí)現(xiàn)連接和交換數(shù)據(jù)的一套協(xié)議。在DeviceNet規(guī)范中定義了Device Net通信協(xié)議,詳細(xì)介紹了連接、信息協(xié)議和與通信相關(guān)的對(duì)象。
(1)DeviceNet是基于連接的網(wǎng)絡(luò)


DeviceNet中的連接提供在多種應(yīng)用之間交換信息的路徑。當(dāng)建立1個(gè)連接時(shí),與連接相關(guān)信息的傳送就會(huì)分配1個(gè)標(biāo)識(shí)符,稱為連接標(biāo)識(shí)符CID(Connection Identifier)。如果某個(gè)連接需要雙向數(shù)據(jù)交換,則應(yīng)該分配2個(gè)不同的連接標(biāo)識(shí)符。

DeviceNet通信協(xié)議是基于連接概念的協(xié)議。一旦建立了連接,就可以在網(wǎng)絡(luò)設(shè)備之間傳送I/O數(shù)據(jù)。此時(shí),Device Net I/O報(bào)文的所有協(xié)議都包含在11位的CAN標(biāo)識(shí)符中,其它部分都是數(shù)據(jù)。


11位的CAN標(biāo)識(shí)符用來(lái)定義連接ID。DeviceNet將11位的CAN標(biāo)識(shí)符分為4組,前3組的連接ID包括了6位的媒體訪問(wèn)控制標(biāo)識(shí)符(MAC ID)以 及信息標(biāo)識(shí)符(Message ID)。信息組的定義圖略(詳見《單片機(jī)與嵌入式系統(tǒng)應(yīng)用》2002. 8)。組4信息用于離線通信。

通過(guò)設(shè)計(jì),DeviceNet系統(tǒng)中的節(jié)點(diǎn)能夠?qū)ψ约旱臉?biāo)識(shí)符進(jìn)行管理。這些標(biāo)識(shí)符交錯(cuò)分布在整個(gè)范圍內(nèi)。所有的節(jié)點(diǎn)都有一個(gè)完整的它們能獲得的報(bào)文優(yōu)先權(quán)范圍,而與它們的MAC ID無(wú)關(guān)。重復(fù)MAC ID算法保證了 CAN標(biāo)識(shí)符的唯一性,而不需要網(wǎng)絡(luò)集中工具或記錄。

(2)DeviceNet的報(bào)文傳送


DeviceNet使用更為有效的生產(chǎn)者/消費(fèi)者模式,取代了傳統(tǒng)的源/目的的傳輸方式。該模式要求對(duì)報(bào)文打包,使它具有數(shù)據(jù)標(biāo)識(shí)位域。標(biāo)識(shí)符還提供解決多級(jí)優(yōu)先權(quán)(仲裁中使用)的手段,以便更高效地傳送I/O數(shù)據(jù),并供多個(gè)消費(fèi)者使用。

DeviceNet定義了2種不同類型的報(bào)文,稱作 I/O報(bào)文和顯示報(bào)文。I/O報(bào)文適用于實(shí)時(shí)性要求較高和面向控制的數(shù)據(jù)。I/O報(bào)文數(shù)據(jù)幀中的 8位數(shù)據(jù)場(chǎng)不包含任何與協(xié)議有關(guān)的位,只有當(dāng)I/O報(bào)文為大報(bào)文經(jīng)過(guò)分割后形成的I/O報(bào)文片段時(shí),數(shù)據(jù)位域中有一位由報(bào)文分割協(xié)議使用。

連接標(biāo)識(shí)符提供了I/O報(bào)文的相關(guān)信息,在I/O報(bào)文利用連接標(biāo)識(shí)符發(fā)送之前,報(bào)文的發(fā)送和接收設(shè)備都必須先進(jìn)行設(shè)定。設(shè)定的內(nèi)容包括源 和目的對(duì)象的屬性,以及數(shù)據(jù)生產(chǎn)者和消費(fèi)者的地址。顯示報(bào)文適用于2個(gè)設(shè)備間多用途的點(diǎn)對(duì)點(diǎn)報(bào)文傳遞,是典型的請(qǐng)求-響應(yīng)通信方式, 常用于節(jié)點(diǎn)的配置、問(wèn)題診斷等。顯示報(bào)文通常使用優(yōu)先極低的連接標(biāo)識(shí)符,并且該報(bào)文的相關(guān)信息包含在顯示報(bào)文數(shù)據(jù)幀的數(shù)據(jù)位域中, 包括要執(zhí)行的服務(wù)和相關(guān)對(duì)象的屬性及地址。
(3)預(yù)定義的主/從連接組


DeviceNet提供了一個(gè)功能很強(qiáng)的應(yīng)用層協(xié)議,允許動(dòng)態(tài)配置設(shè)備間的連接。但考慮到有些設(shè)備根本不需要也沒有資源去使用這一強(qiáng)大功能,DeviceNet指定了一套稱為預(yù)定義主/從連接組的連接標(biāo)識(shí)符,用來(lái)簡(jiǎn)化主/從結(jié)構(gòu)中I/O和配置型數(shù)據(jù)的傳送。

許多傳感器和執(zhí)行器要實(shí)現(xiàn)的功能在設(shè)計(jì)時(shí)就已經(jīng)預(yù)先決定了(如感受壓力、啟動(dòng)馬達(dá)等),因此這些設(shè)備將要生產(chǎn)和/或消費(fèi)的數(shù)據(jù)的類型和數(shù)量在上電前就已經(jīng)知道了。這些設(shè)備通常提供輸入數(shù)據(jù)或請(qǐng)求輸出數(shù)據(jù)和配置數(shù)據(jù)。預(yù)定義主/從連接組可以滿足設(shè)備的這些要求,它提供的連接對(duì)象的全部配置在設(shè)備上電時(shí)就完成了。在啟動(dòng)數(shù)據(jù)流時(shí),主機(jī)設(shè)備唯一必須執(zhí)行的一個(gè)步驟就是要廣播對(duì)從機(jī)內(nèi)該預(yù)定義連接組的所有權(quán)。

(4)DeviceNet對(duì)象模型與設(shè)備描述

a.對(duì)象模型。為管理和實(shí)現(xiàn)DeviceNet產(chǎn)品組件的屬性(數(shù)據(jù))、服務(wù)(方法或步驟)和行為提供了一個(gè)模板。模型為每個(gè)屬性提供了由4個(gè)數(shù)字組成的尋址方案,分別是節(jié)點(diǎn)地址(MAC ID)、對(duì)象類標(biāo)識(shí)符、實(shí)例編號(hào)和屬性編號(hào)。這4級(jí)地址與顯示報(bào)文連接相結(jié)合,將數(shù)據(jù)從 DeviceNet網(wǎng)絡(luò)上的一點(diǎn)傳送到另一點(diǎn)。表1列出4個(gè)地址組件的范圍:

地址 最低 最高
節(jié)點(diǎn) 0 63
類 1 65535
實(shí)例 0 65535
屬性 1 255

通用DeviceNet設(shè)備的對(duì)象模型圖略(詳見《單片機(jī)與嵌入式系統(tǒng)應(yīng)用》2002.8);表2是DeviceNet產(chǎn)品中典型的對(duì)象類。

表2 DeviceNet產(chǎn)品中典型的對(duì)象類 :

對(duì)象類編號(hào) 對(duì)象類名稱 參考DeviceNet規(guī)范
1 Identity 卷II,版本1.2,6-3
2 Message Router 卷II,版本1.2,6-17
3 DeviceNet 卷I,版本1.3,5-50
4 Assembly 卷II,版本1.2,6-25
5 Connection 卷II,版本1.3,5-6
6 Parameter 卷II,版本1.2,6-95

b.設(shè)備描述 (Device Profiles)。DeviceNet規(guī)范不僅僅是一個(gè)物理連接協(xié)議規(guī)范。它通過(guò)定義標(biāo)準(zhǔn)的設(shè)備模型促進(jìn)不同廠商設(shè)備之間的互操作性。屬于同一設(shè)備模型的所有設(shè)備都必須支持共同的標(biāo)識(shí)和通信狀態(tài)數(shù)據(jù)。設(shè)備描述是針對(duì)各種設(shè)備而定義的。設(shè)備描述中包括設(shè)備各種特定的數(shù)據(jù)。符合設(shè)備類型描述的多個(gè)供貨商提供的簡(jiǎn)單設(shè)備(例如:按鈕、馬達(dá)啟動(dòng)器、光電池、氣動(dòng)閥執(zhí)行器)在邏輯上是可互換 的。

DeviceNet規(guī)范定義了一個(gè)電子數(shù)據(jù)文件(EDS)。EDS是一個(gè)簡(jiǎn)單的文件格式,供貨商可以將產(chǎn)品的特殊信息提供給其他供貨商。這樣可以具有友好的用戶配置工具,能很容易地更新,無(wú)需經(jīng)常修正配置軟件工具。

3.通信適配器軟件系統(tǒng)設(shè)計(jì)

下面主要介紹通信協(xié)議的設(shè)計(jì)。軟件的實(shí)現(xiàn)是以DeviceNet協(xié)議規(guī)范的2.0版本為指導(dǎo)的,不同的應(yīng)用有不同的具體實(shí)現(xiàn)。本文只給出設(shè)計(jì)的原理和指導(dǎo)思想及原則。
3.1 DeviceNet通信設(shè)備的上電狀態(tài)流圖


每個(gè)設(shè)備上電以前都有一個(gè)例行的狀態(tài)流轉(zhuǎn)過(guò)程。該過(guò)程描述了設(shè)備能夠在DeviceNet上通信之前必須完成的以下工作(例如重復(fù)MAC ID檢測(cè)等),以及對(duì)設(shè)備通信產(chǎn)生影響的網(wǎng)絡(luò)事件。

DeviceNet設(shè)備上電后的狀態(tài)流圖略(詳見《單片機(jī)與嵌入式系統(tǒng)應(yīng)用》2002.8),其中有4個(gè)狀態(tài):發(fā)送重復(fù)MAC ID檢測(cè)報(bào)文狀態(tài)、等待重復(fù)MAC ID檢測(cè)報(bào)文狀態(tài)、在線狀態(tài)、通信出錯(cuò)狀態(tài)。

3.2 CAN芯片的初始化


在建立CAN總線的通信之前要預(yù)先有一些初始化過(guò)程。一般,獨(dú)立式CAN芯片SJA1000在上電后或者上電后進(jìn)行軟件功能重置時(shí)要初始化一下工作寄存器。當(dāng)系統(tǒng)上電后,處理器首先運(yùn)行自己的特殊初始化過(guò)程,然后再進(jìn)入SJA1000的連接建立過(guò)程(SJA1000的17引腳獲得1個(gè)Reset低電平脈沖,并進(jìn)入Reset模式)。在初始化SJA1000的寄存器之前,主微處理器應(yīng)該檢測(cè)Reset的mode/request標(biāo)志。如果SJA1000已經(jīng)是Reset模式,因?yàn)樗械募拇嫫髦荒茉赗eset模式下進(jìn)行寫操作,所有的寄存器都將獲得相應(yīng)的配置信息。

在完成所有的初始化工作后,SJA1000就進(jìn)入工作模式,并且使CAN控制器的中斷功能有效。用C51編寫的SJA1000初始化及一個(gè)模擬發(fā)送、接收過(guò)程的程序略。

3.3 報(bào)文收發(fā)程序和分段服務(wù)


這里所講的報(bào)文收發(fā)協(xié)議對(duì)不同的通信協(xié)議有不同的定義。另外,CAN的數(shù)據(jù)長(zhǎng)度不能超過(guò)8個(gè)字節(jié),如何支持大于8個(gè)字節(jié)的報(bào)文要涉及到分段服務(wù)。分段協(xié)議信息由1個(gè)字節(jié)組成,其中高2位表示分段的類型,低6位作為分段的計(jì)數(shù)器,用來(lái)標(biāo)識(shí)每個(gè)數(shù)據(jù)包。其計(jì)算方式是:fragmentCount=(fragmentcount+1)mod64。表3是具體的分段類型。

表3 分段協(xié)議信息
分段類型值 含 義
0 分段后的第1個(gè)報(bào)文,分段計(jì)數(shù)的值為0或者3FF
1 分段后的中間報(bào)文,表示后面還有其它的報(bào)文
2 分段后的最后一個(gè)報(bào)文
3 分段報(bào)文的應(yīng)答
因此在程序的設(shè)計(jì)中,應(yīng)當(dāng)加入對(duì)分段服務(wù)協(xié)議的支持。

發(fā)送報(bào)文的處理與接收的過(guò)程是一個(gè)逆向過(guò)程。需要注意的是編寫程序的時(shí)候要嚴(yán)格按照 DeviceNet協(xié)議規(guī)范的定義,否則將產(chǎn)生不可預(yù)測(cè)的錯(cuò)誤,為將來(lái)的協(xié)議一致性測(cè)試和低層調(diào)試都帶來(lái)許多麻煩。
3.4 DeviceNet通信適配器主程序的設(shè)計(jì)

軟件由頭文件、初始化程序、功能子程序和主程序組成。

軟件的組成結(jié)構(gòu)提供了硬件和軟件升級(jí)的方便。軟件中將對(duì)與主處理器、CAN 控制器等硬件接口的部分進(jìn)行比較獨(dú)立的設(shè)計(jì),而主程序和功能子程序主要集中在協(xié)議的完成。這對(duì)將來(lái)的硬件改型和可能的協(xié)議修改都提供了較大的方便。
軟件用C51語(yǔ)言編寫,通過(guò)8051硬件仿真器進(jìn)行調(diào)試。

軟件結(jié)構(gòu)圖略(詳見《單片機(jī)與嵌入式系統(tǒng)應(yīng)用》2002.8)。

在實(shí)現(xiàn)所有的功能模塊以后,最重要的是如何構(gòu)造一個(gè)有機(jī)的主程序模塊,將這些零散的模塊組織起來(lái),進(jìn)行系統(tǒng)的初始化工作。另外,還要設(shè)計(jì)一個(gè)優(yōu)化的循環(huán)體并周期性地執(zhí)行以對(duì)DeviceNet網(wǎng)絡(luò)上的報(bào)文產(chǎn)生動(dòng)作。
結(jié)束語(yǔ)

本通信適配器已成功用于工程項(xiàng)目中,由于采用現(xiàn)場(chǎng)總線技術(shù),取得了顯著的經(jīng)濟(jì)效益。

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉