基于DeviceNet總線的從設(shè)備通迅適配器設(shè)計(jì)
多年來(lái),過程工業(yè)一直致力于開發(fā)一種單一的、開放的標(biāo)準(zhǔn)對(duì)現(xiàn)場(chǎng)的各類設(shè)備進(jìn)行編址。標(biāo)準(zhǔn)的最初目標(biāo)是用單一的數(shù)字標(biāo)準(zhǔn)取代4-20mA標(biāo)準(zhǔn)。當(dāng)范圍擴(kuò)展到尋址復(fù)雜的、高難度的服務(wù)時(shí)(如:控制器間的高速通訊、大量快速掃描設(shè)備間的時(shí)間同步)單一標(biāo)準(zhǔn)的開發(fā)變得延遲了。同時(shí),通訊技術(shù)的成本近幾年已經(jīng)明顯的降低,將簡(jiǎn)單設(shè)備直接連接到網(wǎng)絡(luò)上(而不必考慮SP50現(xiàn)場(chǎng)總線)的成本由此變得經(jīng)濟(jì)。簡(jiǎn)單設(shè)備的這種標(biāo)準(zhǔn)要求同現(xiàn)存的120/220VAC和24VDC離散、硬接線I/O標(biāo)準(zhǔn)具有相同級(jí)別的互換性。DeviceNet在允許多個(gè)復(fù)雜設(shè)備互連接的同時(shí),允許簡(jiǎn)單設(shè)備的互換性。除了讀取離散設(shè)備的狀態(tài)外,DeviceNet還可以報(bào)告馬達(dá)啟動(dòng)器內(nèi)溫度、讀取負(fù)載電流、改變驅(qū)動(dòng)器加減速速率、或統(tǒng)計(jì)前一小時(shí)通過傳輸帶傳送的包裹計(jì)數(shù)。
DeviceNet是一個(gè)開放的網(wǎng)絡(luò)標(biāo)準(zhǔn)。規(guī)范和協(xié)議都是開放的 ― 供應(yīng)商將設(shè)備連接到系統(tǒng)時(shí),無(wú)需為硬件,軟件或授權(quán)付費(fèi)。任何人都能以名義上的復(fù)制成本(目前:$250USD+郵費(fèi))從開放式DeciceNet供應(yīng)商協(xié)會(huì)(ODVA)獲得DeviceNet規(guī)范。任何制造(或有打算制造)DeviceNet產(chǎn)品的公司都可以加入ODVA,并參加對(duì)DeviceNet規(guī)范進(jìn)行增補(bǔ)的技術(shù)工作組。
本文設(shè)計(jì)針對(duì)的DeviceNet從設(shè)備特性如下:屬于DeviceNet group 2 only 從設(shè)備;采用Predefine的通訊連接;可通過硬件開關(guān)設(shè)置125kbps、250kbps、500kbps波特率;可通過硬件開關(guān)設(shè)置0~63 MAC ID。在軟件、硬件設(shè)計(jì)前應(yīng)首先進(jìn)行從設(shè)備(泵/閥)I/O需求分析(即profile文檔設(shè)計(jì)),由于篇幅關(guān)系本文從略。
下面就該從設(shè)備通訊適配器的硬件和軟件設(shè)計(jì)做一個(gè)詳細(xì)介紹。
一、通迅適配器硬件系統(tǒng)設(shè)計(jì)
1 功能簡(jiǎn)介
DeviceNet是基于CAN總線的一種總線協(xié)議標(biāo)準(zhǔn)。因此,DeviceNet從設(shè)備適配器硬件首先應(yīng)實(shí)現(xiàn)CAN總線的基本功能,主要包括:報(bào)文收發(fā)、訪問控制及其他物理層的諸多功能。此外,為實(shí)現(xiàn)DeviceNet協(xié)議,硬件應(yīng)具有足夠大的程序存貯空間,并具有足夠快的運(yùn)行速度,以保證協(xié)議程序的順利執(zhí)行。
2 硬件原理
DeviceNet節(jié)點(diǎn)硬件主要由以下幾部分組成:電源,單片機(jī)系統(tǒng),看門狗及掉電保護(hù)電路,CAN控制器SJA1000,CAN收發(fā)器82C251,撥碼開關(guān)及狀態(tài)LED顯示,雙口RAM IDT7005,AnyBus接口。總體設(shè)計(jì)框圖見圖1。
各部分功能介紹:
電源
DeviceNet適配器通過總線獲取電源,并將電壓降到系統(tǒng)所需的5V。該電源電路的電壓輸入范圍為11-25V,輸出5V,并具有防止反接和掉點(diǎn)檢測(cè)功能。硬件采用7805(1.5A)實(shí)現(xiàn)電壓轉(zhuǎn)換,并采用場(chǎng)效應(yīng)管IRFD9120防止電源反接對(duì)系統(tǒng)造成損害。
單片機(jī)
DeviceNet適配器選用Winbond公司的高性能8位單片機(jī)W78E58。W78E58功能與引腳與80C52完全兼容,并提供256字節(jié)的內(nèi)部RAM以及32K字節(jié)的Flash EEPROM,從而使系統(tǒng)不需擴(kuò)展外部程序存貯器便可滿足DeviceNet協(xié)議程序的容量要求。W78E58最高可在40MHZ的主頻下運(yùn)行,處理速度完全滿足DeviceNet節(jié)點(diǎn)通信的實(shí)時(shí)性要求。
為減少芯片的數(shù)量及降低硬件成本,本系統(tǒng)只擴(kuò)展一片8K的雙口RAM,其前面7K字節(jié)用于外部數(shù)據(jù)存貯,最后1K用于提供與其它應(yīng)用電路的通訊接口。
看門狗及掉電保護(hù)電路
采用MAX706芯片,從而減少了復(fù)位及電源檢測(cè)電路所需的元器件數(shù)量,該芯片與分離器件相比具有更高的可靠性。MAX706芯片主要有以下功能:
u 提供單片機(jī)和SJA1000所需的上電復(fù)位、手動(dòng)復(fù)位信號(hào);
u 提供1.6秒的看門狗定時(shí)器;
u 具有電源電壓檢測(cè)功能。
WDI為看門狗定時(shí)器清零引腳,如果該引腳保持低電平或高電平超過 1.6秒,則Watch Dog輸出引腳WDO將變成低電平使系統(tǒng)復(fù)位,從而使程序運(yùn)行更加可靠。由于SJA1000和單片機(jī)分別為低電平和高電平復(fù)位,因而RESET引腳的輸出通過非門連接到單片機(jī)的復(fù)位端。
CAN控制器SJA1000
DeviceNet總線報(bào)文的收發(fā)以及媒體訪問控制等都是依據(jù)CAN總線協(xié)議,而這些協(xié)議都要通過CAN控制器加以實(shí)現(xiàn)。DeviceNet通信節(jié)點(diǎn)選用目前比較流行的PHILIPS CAN控制器SJA1000,由于DeviceNet總線協(xié)議采用11位的identifier,因此應(yīng)使SJA1000工作在Basic CAN模式。其片選、ALE、以及讀寫等信號(hào)分別與138譯碼器及單片機(jī)的相應(yīng)信號(hào)相連;中斷信號(hào)連接到單片機(jī)的外部中斷1(P3.3);選用16MHZ晶振。
硬件設(shè)計(jì)原理圖
CAN收發(fā)器82C251
CAN收發(fā)器82C251(Transceiver)的主要作用是收發(fā)CAN總線上的信號(hào),即,一方面將總線信號(hào)轉(zhuǎn)換為CAN控制器所需的信號(hào),另一方面,將CAN控制器的輸出信號(hào)轉(zhuǎn)化為CAN總線信號(hào)。DeviceNet通信節(jié)點(diǎn)選用PHILIPS PCA82C251收發(fā)器,其TXD、RXD引腳分別與SJA1000的TXD和RXD引腳相連,CANL、CANH引腳分別連接到DeviceNet Connector的2、4端。
撥碼開關(guān)及狀態(tài)LED顯示
DeviceNet適配器通過一組撥碼開關(guān)和兩個(gè)雙色二極管實(shí)現(xiàn)節(jié)點(diǎn)的MAC地址、波特率設(shè)置以及節(jié)點(diǎn)和網(wǎng)絡(luò)狀態(tài)顯示。由于DeviceNet最多支持64個(gè)從節(jié)點(diǎn),并且只有三種波特率可供選擇,因此只需一個(gè)八位的DIP開關(guān)便可實(shí)現(xiàn)MAC地址和波特率的設(shè)置(其中六位用以設(shè)置MAC地址,兩位用來(lái)選擇波特率)。對(duì)節(jié)點(diǎn)和網(wǎng)絡(luò)狀態(tài)分別采用一個(gè)雙色二極管進(jìn)行指示。由于單片機(jī)接口的限制,硬件中通過一片74HC273鎖存器擴(kuò)展了一個(gè)輸出接口,從而驅(qū)動(dòng)兩個(gè)雙色二極管進(jìn)行顯示。
硬件中將DIP開關(guān)通過上拉電阻接到單片機(jī)的P1口,并將其中的高兩位用作波特率設(shè)置、低六位用于MAC地址選擇。將138譯碼器的片選輸出Y3與單片機(jī)的寫信號(hào)相或后連到273的CLK輸入端,由此擴(kuò)展一個(gè)輸出口用以驅(qū)動(dòng)雙色二極管進(jìn)行狀態(tài)顯示。
雙口RAM IDT7005
DeviceNet適配器通過一個(gè)具有中斷功能的雙口RAM IDT7005提供與其它應(yīng)用電路的通訊接口。IDT7005具有兩套完全獨(dú)立的數(shù)據(jù)線、地址線、讀寫控制線,允許兩個(gè)CPU對(duì)雙口RAM的的同一個(gè)單元在不同的時(shí)間進(jìn)行讀寫。具有兩套完全獨(dú)立的中斷邏輯,實(shí)現(xiàn)兩個(gè)CPU間的握手控制信號(hào)。IDT7005的最高兩個(gè)字節(jié)1FFEH和1FFFH分別兼做兩個(gè)斷口的中斷邏輯單元。
硬件中雙端口RAM IDT7005右端口的地址、數(shù)據(jù)及讀寫控制線分別與單片機(jī)系統(tǒng)的相應(yīng)信號(hào)線相連,中斷信號(hào)連接單片機(jī)的外部中斷0(P3.2)。其左端口的地址、數(shù)據(jù)及讀寫、中斷控制線依據(jù)AnyBus的接口標(biāo)準(zhǔn)連接到34針接口的相應(yīng)管腳。
AnyBus接口
AnyBus作為一種通用的現(xiàn)場(chǎng)總線通訊節(jié)點(diǎn)提供了與其他應(yīng)用電路之間進(jìn)行數(shù)據(jù)交換的接口標(biāo)準(zhǔn),并對(duì)接口的引腳進(jìn)行了嚴(yán)格的定義。
二、 DeviceNet總線通信協(xié)議
DeviceNet協(xié)議規(guī)范是描述DeviceNet設(shè)備之間實(shí)現(xiàn)連接和交換數(shù)據(jù)的一套協(xié)議。另外,為了實(shí)現(xiàn)不同廠商生產(chǎn)的設(shè)備之間的互交換性和互操作性,ODVA維護(hù)并根據(jù)工業(yè)領(lǐng)域的需要不斷更新和修改該標(biāo)準(zhǔn)。
在DeviceNet規(guī)范卷I的第3章、第4章和第5章中定義了DeviceNet通訊協(xié)議。這些章節(jié)分別詳細(xì)介紹連接,信息協(xié)議和與通訊相關(guān)的對(duì)象。
使用DeviceNet的應(yīng)用同標(biāo)準(zhǔn)或應(yīng)用特定對(duì)象相結(jié)合產(chǎn)生所謂的設(shè)備描述。設(shè)備描述是從網(wǎng)絡(luò)的角度對(duì)設(shè)備的定義。DeviceNet規(guī)范卷II的第6章對(duì)對(duì)象庫(kù)進(jìn)行了詳細(xì)的描述。DeviceNet規(guī)范卷II的第3章是設(shè)備描述庫(kù)。
DeviceNet支持選通,查詢,周期,狀態(tài)改變和應(yīng)用觸發(fā)的數(shù)據(jù)通訊方式,用戶可根據(jù)設(shè)備性能和應(yīng)用要求選擇主/從、多主和點(diǎn)對(duì)點(diǎn)或三種方式組合的配置。數(shù)據(jù)通訊方式的選擇,可以明顯加快系統(tǒng)的反應(yīng)時(shí)間。流行的DeviceNet應(yīng)用采用標(biāo)準(zhǔn)的,預(yù)定義的連接組,使設(shè)備在主/從連接組之下工作。 晶振相關(guān)文章:晶振原理 上拉電阻相關(guān)文章:上拉電阻原理
評(píng)論