国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于STM32的DP/PA Link設(shè)計(jì)

2014-04-04 13:42張彪范?;?/span>
物聯(lián)網(wǎng)技術(shù) 2014年3期
關(guān)鍵詞:實(shí)現(xiàn)方法

張彪+范福基

摘 要:給出了通過(guò)使用MCU、ARM和FPGA芯片的配合工作,為上位冗余PROFIBUS-DP主站系統(tǒng)與下位非冗余PROFIBUS-PA設(shè)備系統(tǒng)之間提供網(wǎng)絡(luò)轉(zhuǎn)換的實(shí)現(xiàn)方法,該方法安全可靠。

關(guān)鍵詞:STM32;上位冗余;下位非冗余;網(wǎng)絡(luò)轉(zhuǎn)換;實(shí)現(xiàn)方法

中圖分類號(hào):TP368 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):2095-1302(2014)03-0045-04

0 引 言

DP/PA LINK模塊實(shí)現(xiàn)上位冗余PROFIBUS-DP主站系統(tǒng)與下位非冗余PROFIBUS-PA設(shè)備系統(tǒng)之間的網(wǎng)絡(luò)轉(zhuǎn)換。對(duì)于較高級(jí)別的系統(tǒng)(面向自動(dòng)化設(shè)備),DP/PA LINK是DP從站,只占用較高級(jí)別DP主站系統(tǒng)的一個(gè)節(jié)點(diǎn);DP/PA LINK是PA主站,PA總線系統(tǒng)中的現(xiàn)場(chǎng)設(shè)備不占用上級(jí)DP總線系統(tǒng)的節(jié)點(diǎn)地址。

1 功能描述

本模塊通過(guò)64針歐式連接器與底座連接,可配置為模塊單機(jī)或冗余使用。通過(guò)設(shè)置底座上的終端電阻,在下級(jí)DP總線網(wǎng)絡(luò)中可作中間節(jié)點(diǎn),也可作末端節(jié)點(diǎn)。

1.1 硬件功能框圖

DP/PA LINK模塊的硬件電路功能框圖如圖1所示??捎糜趯?shí)現(xiàn)上位冗余PROFIBUS-DP主站系統(tǒng)與下位非冗余PROFIBUS-PA設(shè)備系統(tǒng)之間的網(wǎng)絡(luò)轉(zhuǎn)換。

圖1 模塊原理框圖

圖1中的MCU選用ST公司的STM32F100R8T6,它采用基于ARM最新架構(gòu)的32位Cortex-M3內(nèi)核,結(jié)合了執(zhí)行Thumb-2指令的32位哈佛微體系結(jié)構(gòu)和系統(tǒng)外設(shè),系統(tǒng)時(shí)鐘最高24 MHz,芯片性能達(dá)1.25 DMIPS/MHz,內(nèi)嵌64 KB的FLASH和8 KB的SRAM,片上資源豐富,功能上完全可以滿足系統(tǒng)設(shè)計(jì)需求。

ARM選用LPC2214FBD144,表貼,TQFP封裝,144引腳,Philips。集成有16 KB的片內(nèi)RAM及256 KB的片內(nèi)FLASH。

模塊的DP數(shù)據(jù)轉(zhuǎn)發(fā)、長(zhǎng)發(fā)故障的判斷、讀取監(jiān)控電源的狀態(tài)、通道燈的狀態(tài)顯示等基本由硬件邏輯完成。硬件可編程邏輯器件選用Xilinx公司性價(jià)比相對(duì)較高的spartan-6系列的xc6slx9器件,它具有5 720個(gè)LUT(查找表),9 152個(gè)LC(邏輯單元),11 440個(gè)FF(觸發(fā)器),32個(gè)Block RAM (18Kb Each),最大用戶引腳102個(gè),144-pin TQFP封裝。

1.2 時(shí)鐘設(shè)計(jì)

本模塊的時(shí)鐘要求是低成本、能夠正常起振、不停振、溫漂小。圖2給出了本模塊的時(shí)鐘樹(shù)。下面以MCU晶體為例來(lái)進(jìn)行說(shuō)明。

圖2 時(shí)鐘樹(shù)

MCU選擇石英晶體。本次設(shè)計(jì)中主要從HC-49XA-G20SSA-8.000MHz和HC-49XA-C20SSA-12MHz二者中選擇一個(gè),二者都滿足性能要求,在MCU內(nèi)部容易倍頻得到48 MHz時(shí)鐘頻率,但是HC-49XA-G20SSA-8.000MHz為工業(yè)級(jí),工作溫度范圍寬,所以選型HC-49XA-G20SSA-8.000MHz。晶體參數(shù)表如表1所列。

1.3 電路元器件的選擇

本電路中采用22 pF±5%陶瓷電容,電路中的振蕩器的增益余量用于表明振蕩器是否起振。外部電阻REXT可選擇904 Ω,這樣,就仍然能夠保證正常起振。

針對(duì)選型的晶體HC-49XA-G20SSA-8.000MHz,可通過(guò)計(jì)算得到對(duì)UART波特率的影響。MCU的時(shí)鐘樹(shù)從引腳輸入8 MHz,經(jīng)PLL倍頻到24 MHz作為系統(tǒng)時(shí)鐘。因?yàn)閁ART波特率越高時(shí)鐘的誤差對(duì)波特率的影響越大。MCU支持的最大波特率為1.5 MHz。假定在波特率為1.5 MHz時(shí),計(jì)數(shù)器的時(shí)鐘為系統(tǒng)時(shí)鐘24 MHz,UART的預(yù)分頻數(shù)值為16。因?yàn)槊堪l(fā)送一個(gè)字節(jié),都會(huì)重新檢測(cè)起始位,因此,波特率的誤差只存在于一個(gè)字節(jié)的發(fā)送周期內(nèi)。這樣可以計(jì)算發(fā)送一個(gè)字節(jié)(10位)產(chǎn)生的累積信號(hào)偏移+檢測(cè)間隔誤差的偏移量為:±(132 PPM*11*16+1/32)=±5.45%。由于UART接收都是在信號(hào)中間位置捕捉信號(hào),所以,時(shí)鐘的誤差對(duì)UART的性能不會(huì)產(chǎn)生影響。

關(guān)于時(shí)鐘誤差對(duì)MCU定時(shí)器的影響。因?yàn)镸CU的定時(shí)器主要用于超時(shí)定時(shí),所以對(duì)時(shí)鐘的精度要求不高,即時(shí)鐘誤差對(duì)定時(shí)器的影響可以忽略不計(jì)。

1.4 DP總線設(shè)計(jì)

DP 總線通信芯片采用TI公司的SN65HVD06D,其通信速率可達(dá)10 Mb/s;最小差動(dòng)輸出電壓為2.5 V(54 ?負(fù)載);ESD保護(hù)超過(guò)16 kV;同時(shí)帶有上電、掉電保護(hù)功能,支持熱插拔。圖3所示是485電路的功能框圖。485電路包括6部分,MCU、POWER、雙網(wǎng)切換控制、兩個(gè)485收發(fā)器、歐式連接器。

圖3 485電路功能框圖

Power部分主要為MCU、雙網(wǎng)切換控制器和485收發(fā)器提供電源。MCU是485電路的控制器,主要發(fā)送串行數(shù)據(jù)、接收串行數(shù)據(jù)、診斷485電路故障、切換網(wǎng)絡(luò)和切斷故障等功能。表2所列是雙網(wǎng)切換控制器的真值表。

表2 雙網(wǎng)切換控制器真值表

SEL 數(shù)據(jù)流 接收的網(wǎng)絡(luò)

1 TXDA→TXD A網(wǎng)

0 TXDB→TXD B網(wǎng)

模塊的DP雙網(wǎng)采用雙UART來(lái)實(shí)現(xiàn)。發(fā)送數(shù)據(jù)時(shí),MCU通過(guò)CTRA、CTRB信號(hào)分別控制兩路485收發(fā)器的發(fā)送使能。發(fā)送數(shù)據(jù)時(shí),MCU通過(guò)SEL控制雙網(wǎng)控制器選擇MCU的TXDA或TXDB與TXD相連,這樣UARTA或者UARTB會(huì)向兩個(gè)485收發(fā)器同時(shí)發(fā)送數(shù)據(jù)。發(fā)送側(cè)雙網(wǎng)選擇的真值表如表2所示。RXDA和RXDB為接收端口,它接入MCU的UARTA和UARTB。這樣雙網(wǎng)的數(shù)據(jù)同時(shí)進(jìn)入兩個(gè)UART,由MCU內(nèi)部診斷及切換邏輯選擇其中一個(gè)UART的數(shù)據(jù)進(jìn)行處理。

485收發(fā)器是完成485差分信號(hào)到串行通信的轉(zhuǎn)換,由485芯片、外圍上下拉電路和防護(hù)電路組成。485收發(fā)器的差分信號(hào)通過(guò)歐式連接器連接到RS485總線上,進(jìn)行通信。

2 讀取站地址、CPU類型和模塊類型設(shè)計(jì)

模塊讀取位于模塊上的開(kāi)關(guān)電路及底座上的跳線來(lái)獲得站地址。站地址開(kāi)關(guān)電路如圖4所示。

圖4 站地址開(kāi)關(guān)原理框圖

模塊的站地址需要兩列排針,每列上有一對(duì)針插入短路器,可將IO模塊站地址設(shè)置為10~109號(hào)。一列排針表示站地址十位上的數(shù)字1~10,另一列排針表示站地址個(gè)位上的數(shù)字0~9。圖5所示是站地址原理矩陣圖。

圖5 站地址原理矩陣圖

圖5中,COM1~COM2組成十位數(shù)行,NO.1~NO.5組成列,共可以構(gòu)成10種狀態(tài),COM3~COM4組成個(gè)位數(shù)行,NO.1~NO.5組成列也可以構(gòu)成10種狀態(tài),所以可以表示100種地址。圖6所示是本系統(tǒng)的站地址邏輯圖。

讀取站地址時(shí),首先在MCU初始化時(shí),將/OE_MCU_MOUDE、/OE_STATION_ADDR、/OE_ST_ADDR_COM信號(hào)初始化為高電平,將LE_ST_ADDR_COM信號(hào)初始化為低電平。

讀取站地址個(gè)位0~4,假設(shè)圖6中,短路器把4號(hào)地址短路,MCU引腳/OE_ST_ADDR_COM發(fā)出低電平信號(hào),即片選74LVC573芯片。數(shù)據(jù)總線[DB0:DB4]輸出0x1E。然后MCU通過(guò)引腳LE_ST_ADDR_COM發(fā)出高電平,鎖存數(shù)據(jù)總線DB[0:4]數(shù)據(jù),0x1E。由于三態(tài)門74LVTH125每一路片選和數(shù)據(jù)端連接在一起,當(dāng)輸入為低電平時(shí),才輸出低電平;當(dāng)輸入為高電平時(shí),輸出為三態(tài)。這樣74LVTH125輸出端COM1為低電平,COM2、COM3和COM4為三態(tài)。這樣通過(guò)底座上的跳線可以讀取個(gè)位0~4范圍內(nèi)的站地址。然后MCU發(fā)出高電平的/OE_ST_ADDR_COM信號(hào),和低電平的/OE_STATION_ADDR信號(hào),片選讀站地址74LVT245芯片。由于短路器把4號(hào)地址短路,COM1能把低電平信號(hào)通過(guò)跳線傳送到數(shù)據(jù)線DB0上。由于其他地址為未有短路器,保持為上拉的高電平。這樣MCU數(shù)據(jù)總線上的數(shù)據(jù)位0x0F。MCU通過(guò)讀取數(shù)據(jù)總線DB[0:4]獲取個(gè)位0~4范圍內(nèi)的站地址,然后MCU發(fā)出高電平的/OE_STATION_ADDR信號(hào),完成讀取。

讀取站地址個(gè)位5~9,讀取過(guò)程與讀取個(gè)位0~4范圍的站地址相似。

讀取站地址十位1~5和讀取站地址十位6~10,讀取過(guò)程與讀取個(gè)位0~4范圍的站地址相似。

當(dāng)跳線個(gè)位或十位同時(shí)存在多余一個(gè)短路器時(shí),MCU將認(rèn)為存在故障,無(wú)法讀取站地址。當(dāng)跳線個(gè)位和十位上都不存在短路器時(shí),MCU將認(rèn)為存在故障,無(wú)法讀取站地址。

由于在站地址電路的74器件需要提高熱插拔等級(jí),所以選用LVT邏輯器件,支持二級(jí)熱插拔。由于74LVC573抗靜電和熱插拔防護(hù)等級(jí)不高,不支持三態(tài),所以在74LVC573后附加一個(gè)支持二級(jí)熱插拔等級(jí)的74LVTH125,并在輸出電路上增加嵌位二極管,防護(hù)靜電。74LVT245和防護(hù)電路能夠抗靜電和支持熱插拔。

3 冗余電路的設(shè)計(jì)

PA模塊支持切換式冗余方式,模塊自行完成切換并告知主控I/O自身的主從狀態(tài)。互鎖機(jī)制是保證只有一個(gè)主機(jī)的關(guān)鍵邏輯,主從機(jī)互鎖電路如下圖7所示。圖8所示是主從機(jī)互鎖時(shí)序圖。

圖7 主從機(jī)互鎖邏輯框圖

經(jīng)過(guò)主從切換后,B機(jī)最終將變?yōu)橹鳈C(jī),其工作原理如下:

未啟動(dòng)狀態(tài),上電之后,雙機(jī)的本板升主使能信號(hào)均為邏輯0狀態(tài),因此經(jīng)過(guò)與非門之后,雙機(jī)均處于邏輯1狀態(tài)(備機(jī)狀態(tài)),雙機(jī)的本機(jī)狀態(tài)輸出同時(shí)通過(guò)上拉電阻保持在高電平狀態(tài)。

雙機(jī)啟動(dòng)后,先啟動(dòng)的模塊(A或B自由競(jìng)爭(zhēng))通過(guò)自診斷發(fā)現(xiàn)本機(jī)正常,置本機(jī)升主使能信號(hào)為1,本機(jī)隨即將主從狀態(tài)輸出為0。后啟動(dòng)的模塊發(fā)現(xiàn)自身自診斷正常,也置本機(jī)升主使能信號(hào)為1,但是與非門的輸入信號(hào)-對(duì)板主從信號(hào)已率先輸出為0,導(dǎo)致本機(jī)主從狀態(tài)輸出被鎖定,因此本機(jī)主從狀態(tài)輸出始終為1。

主機(jī)通過(guò)自診斷發(fā)現(xiàn)本機(jī)有故障,置本機(jī)升主使能信號(hào)為0進(jìn)行主動(dòng)降從,從機(jī)升主。

主從機(jī)進(jìn)行切換后,當(dāng)前從機(jī)通過(guò)自診斷發(fā)現(xiàn)本機(jī)無(wú)卡件致命故障,恢復(fù)置本機(jī)升主使能信號(hào)為1,但是與非門的輸入信號(hào)-對(duì)板主從信號(hào)已被置為0,導(dǎo)致本機(jī)主從狀態(tài)輸出被鎖定,因此本機(jī)主從狀態(tài)輸出始終為1。通過(guò)這種方式實(shí)現(xiàn)了A和B兩者只能有一個(gè)主狀態(tài),可以同時(shí)為從狀態(tài),即實(shí)現(xiàn)了主從機(jī)互鎖機(jī)制。

4 結(jié) 語(yǔ)

本次設(shè)計(jì)通過(guò)使用MCU、ARM和FPGA芯片的配合工作,能為上位冗余PROFIBUS-DP主站系統(tǒng)與下位非冗余PROFIBUS-PA設(shè)備系統(tǒng)之間的網(wǎng)絡(luò)轉(zhuǎn)換提供一個(gè)安全可靠的轉(zhuǎn)換方案。

參 考 文 獻(xiàn)

[1]王常力,羅安.分布式控制系統(tǒng)(DCS)設(shè)計(jì)與應(yīng)用實(shí)例(第2版)[M].北京:電子工業(yè)出版社,2010.

[2]劉偉明,杜林.基于DM9000A和LPC2214的嵌入式以太網(wǎng)接口設(shè)計(jì)[J].電子測(cè)量技術(shù),2008(6):92-95.

[3]凌志浩.DCS與現(xiàn)場(chǎng)總線控制系統(tǒng)[M] .上海:華東理工大學(xué)出版社,2008.

[4]唐仕斌,曾文海,戴瑜興,等. 嵌入式Internet以太網(wǎng)接口設(shè)計(jì)及實(shí)現(xiàn)[J]. 低壓電器,2003(2): 41-44.

[5]張瑞瑞,馬晨普. 一種精簡(jiǎn)可靠的低成本嵌入式以太網(wǎng)接口設(shè)計(jì)[J]. 電子產(chǎn)品世界,2006(23):79-81.

Design of DP / PA Link based on STM32

ZHANG Biao1, FAN Fu-ji2

(1. Xidian University, Xian 710071, China; 2. Beijing HollySys Systems Engineering Ltd., Beijing 100176, China)

Abstract: An implement method for providing the network conversion to the equipments between host redundancy PROFIBUS-PA systems and lower non-redundant PROFIBUS-PA systems is introduced, which uses the matching work of MCU, ARM and FPGA chips. The method would be a safe and reliable conversion program.

Keywords: STM32; host redundancy; lower non-redundant; network switch; implementation method

485收發(fā)器是完成485差分信號(hào)到串行通信的轉(zhuǎn)換,由485芯片、外圍上下拉電路和防護(hù)電路組成。485收發(fā)器的差分信號(hào)通過(guò)歐式連接器連接到RS485總線上,進(jìn)行通信。

2 讀取站地址、CPU類型和模塊類型設(shè)計(jì)

模塊讀取位于模塊上的開(kāi)關(guān)電路及底座上的跳線來(lái)獲得站地址。站地址開(kāi)關(guān)電路如圖4所示。

圖4 站地址開(kāi)關(guān)原理框圖

模塊的站地址需要兩列排針,每列上有一對(duì)針插入短路器,可將IO模塊站地址設(shè)置為10~109號(hào)。一列排針表示站地址十位上的數(shù)字1~10,另一列排針表示站地址個(gè)位上的數(shù)字0~9。圖5所示是站地址原理矩陣圖。

圖5 站地址原理矩陣圖

圖5中,COM1~COM2組成十位數(shù)行,NO.1~NO.5組成列,共可以構(gòu)成10種狀態(tài),COM3~COM4組成個(gè)位數(shù)行,NO.1~NO.5組成列也可以構(gòu)成10種狀態(tài),所以可以表示100種地址。圖6所示是本系統(tǒng)的站地址邏輯圖。

讀取站地址時(shí),首先在MCU初始化時(shí),將/OE_MCU_MOUDE、/OE_STATION_ADDR、/OE_ST_ADDR_COM信號(hào)初始化為高電平,將LE_ST_ADDR_COM信號(hào)初始化為低電平。

讀取站地址個(gè)位0~4,假設(shè)圖6中,短路器把4號(hào)地址短路,MCU引腳/OE_ST_ADDR_COM發(fā)出低電平信號(hào),即片選74LVC573芯片。數(shù)據(jù)總線[DB0:DB4]輸出0x1E。然后MCU通過(guò)引腳LE_ST_ADDR_COM發(fā)出高電平,鎖存數(shù)據(jù)總線DB[0:4]數(shù)據(jù),0x1E。由于三態(tài)門74LVTH125每一路片選和數(shù)據(jù)端連接在一起,當(dāng)輸入為低電平時(shí),才輸出低電平;當(dāng)輸入為高電平時(shí),輸出為三態(tài)。這樣74LVTH125輸出端COM1為低電平,COM2、COM3和COM4為三態(tài)。這樣通過(guò)底座上的跳線可以讀取個(gè)位0~4范圍內(nèi)的站地址。然后MCU發(fā)出高電平的/OE_ST_ADDR_COM信號(hào),和低電平的/OE_STATION_ADDR信號(hào),片選讀站地址74LVT245芯片。由于短路器把4號(hào)地址短路,COM1能把低電平信號(hào)通過(guò)跳線傳送到數(shù)據(jù)線DB0上。由于其他地址為未有短路器,保持為上拉的高電平。這樣MCU數(shù)據(jù)總線上的數(shù)據(jù)位0x0F。MCU通過(guò)讀取數(shù)據(jù)總線DB[0:4]獲取個(gè)位0~4范圍內(nèi)的站地址,然后MCU發(fā)出高電平的/OE_STATION_ADDR信號(hào),完成讀取。

讀取站地址個(gè)位5~9,讀取過(guò)程與讀取個(gè)位0~4范圍的站地址相似。

讀取站地址十位1~5和讀取站地址十位6~10,讀取過(guò)程與讀取個(gè)位0~4范圍的站地址相似。

當(dāng)跳線個(gè)位或十位同時(shí)存在多余一個(gè)短路器時(shí),MCU將認(rèn)為存在故障,無(wú)法讀取站地址。當(dāng)跳線個(gè)位和十位上都不存在短路器時(shí),MCU將認(rèn)為存在故障,無(wú)法讀取站地址。

由于在站地址電路的74器件需要提高熱插拔等級(jí),所以選用LVT邏輯器件,支持二級(jí)熱插拔。由于74LVC573抗靜電和熱插拔防護(hù)等級(jí)不高,不支持三態(tài),所以在74LVC573后附加一個(gè)支持二級(jí)熱插拔等級(jí)的74LVTH125,并在輸出電路上增加嵌位二極管,防護(hù)靜電。74LVT245和防護(hù)電路能夠抗靜電和支持熱插拔。

3 冗余電路的設(shè)計(jì)

PA模塊支持切換式冗余方式,模塊自行完成切換并告知主控I/O自身的主從狀態(tài)。互鎖機(jī)制是保證只有一個(gè)主機(jī)的關(guān)鍵邏輯,主從機(jī)互鎖電路如下圖7所示。圖8所示是主從機(jī)互鎖時(shí)序圖。

圖7 主從機(jī)互鎖邏輯框圖

經(jīng)過(guò)主從切換后,B機(jī)最終將變?yōu)橹鳈C(jī),其工作原理如下:

未啟動(dòng)狀態(tài),上電之后,雙機(jī)的本板升主使能信號(hào)均為邏輯0狀態(tài),因此經(jīng)過(guò)與非門之后,雙機(jī)均處于邏輯1狀態(tài)(備機(jī)狀態(tài)),雙機(jī)的本機(jī)狀態(tài)輸出同時(shí)通過(guò)上拉電阻保持在高電平狀態(tài)。

雙機(jī)啟動(dòng)后,先啟動(dòng)的模塊(A或B自由競(jìng)爭(zhēng))通過(guò)自診斷發(fā)現(xiàn)本機(jī)正常,置本機(jī)升主使能信號(hào)為1,本機(jī)隨即將主從狀態(tài)輸出為0。后啟動(dòng)的模塊發(fā)現(xiàn)自身自診斷正常,也置本機(jī)升主使能信號(hào)為1,但是與非門的輸入信號(hào)-對(duì)板主從信號(hào)已率先輸出為0,導(dǎo)致本機(jī)主從狀態(tài)輸出被鎖定,因此本機(jī)主從狀態(tài)輸出始終為1。

主機(jī)通過(guò)自診斷發(fā)現(xiàn)本機(jī)有故障,置本機(jī)升主使能信號(hào)為0進(jìn)行主動(dòng)降從,從機(jī)升主。

主從機(jī)進(jìn)行切換后,當(dāng)前從機(jī)通過(guò)自診斷發(fā)現(xiàn)本機(jī)無(wú)卡件致命故障,恢復(fù)置本機(jī)升主使能信號(hào)為1,但是與非門的輸入信號(hào)-對(duì)板主從信號(hào)已被置為0,導(dǎo)致本機(jī)主從狀態(tài)輸出被鎖定,因此本機(jī)主從狀態(tài)輸出始終為1。通過(guò)這種方式實(shí)現(xiàn)了A和B兩者只能有一個(gè)主狀態(tài),可以同時(shí)為從狀態(tài),即實(shí)現(xiàn)了主從機(jī)互鎖機(jī)制。

4 結(jié) 語(yǔ)

本次設(shè)計(jì)通過(guò)使用MCU、ARM和FPGA芯片的配合工作,能為上位冗余PROFIBUS-DP主站系統(tǒng)與下位非冗余PROFIBUS-PA設(shè)備系統(tǒng)之間的網(wǎng)絡(luò)轉(zhuǎn)換提供一個(gè)安全可靠的轉(zhuǎn)換方案。

參 考 文 獻(xiàn)

[1]王常力,羅安.分布式控制系統(tǒng)(DCS)設(shè)計(jì)與應(yīng)用實(shí)例(第2版)[M].北京:電子工業(yè)出版社,2010.

[2]劉偉明,杜林.基于DM9000A和LPC2214的嵌入式以太網(wǎng)接口設(shè)計(jì)[J].電子測(cè)量技術(shù),2008(6):92-95.

[3]凌志浩.DCS與現(xiàn)場(chǎng)總線控制系統(tǒng)[M] .上海:華東理工大學(xué)出版社,2008.

[4]唐仕斌,曾文海,戴瑜興,等. 嵌入式Internet以太網(wǎng)接口設(shè)計(jì)及實(shí)現(xiàn)[J]. 低壓電器,2003(2): 41-44.

[5]張瑞瑞,馬晨普. 一種精簡(jiǎn)可靠的低成本嵌入式以太網(wǎng)接口設(shè)計(jì)[J]. 電子產(chǎn)品世界,2006(23):79-81.

Design of DP / PA Link based on STM32

ZHANG Biao1, FAN Fu-ji2

(1. Xidian University, Xian 710071, China; 2. Beijing HollySys Systems Engineering Ltd., Beijing 100176, China)

Abstract: An implement method for providing the network conversion to the equipments between host redundancy PROFIBUS-PA systems and lower non-redundant PROFIBUS-PA systems is introduced, which uses the matching work of MCU, ARM and FPGA chips. The method would be a safe and reliable conversion program.

Keywords: STM32; host redundancy; lower non-redundant; network switch; implementation method

485收發(fā)器是完成485差分信號(hào)到串行通信的轉(zhuǎn)換,由485芯片、外圍上下拉電路和防護(hù)電路組成。485收發(fā)器的差分信號(hào)通過(guò)歐式連接器連接到RS485總線上,進(jìn)行通信。

2 讀取站地址、CPU類型和模塊類型設(shè)計(jì)

模塊讀取位于模塊上的開(kāi)關(guān)電路及底座上的跳線來(lái)獲得站地址。站地址開(kāi)關(guān)電路如圖4所示。

圖4 站地址開(kāi)關(guān)原理框圖

模塊的站地址需要兩列排針,每列上有一對(duì)針插入短路器,可將IO模塊站地址設(shè)置為10~109號(hào)。一列排針表示站地址十位上的數(shù)字1~10,另一列排針表示站地址個(gè)位上的數(shù)字0~9。圖5所示是站地址原理矩陣圖。

圖5 站地址原理矩陣圖

圖5中,COM1~COM2組成十位數(shù)行,NO.1~NO.5組成列,共可以構(gòu)成10種狀態(tài),COM3~COM4組成個(gè)位數(shù)行,NO.1~NO.5組成列也可以構(gòu)成10種狀態(tài),所以可以表示100種地址。圖6所示是本系統(tǒng)的站地址邏輯圖。

讀取站地址時(shí),首先在MCU初始化時(shí),將/OE_MCU_MOUDE、/OE_STATION_ADDR、/OE_ST_ADDR_COM信號(hào)初始化為高電平,將LE_ST_ADDR_COM信號(hào)初始化為低電平。

讀取站地址個(gè)位0~4,假設(shè)圖6中,短路器把4號(hào)地址短路,MCU引腳/OE_ST_ADDR_COM發(fā)出低電平信號(hào),即片選74LVC573芯片。數(shù)據(jù)總線[DB0:DB4]輸出0x1E。然后MCU通過(guò)引腳LE_ST_ADDR_COM發(fā)出高電平,鎖存數(shù)據(jù)總線DB[0:4]數(shù)據(jù),0x1E。由于三態(tài)門74LVTH125每一路片選和數(shù)據(jù)端連接在一起,當(dāng)輸入為低電平時(shí),才輸出低電平;當(dāng)輸入為高電平時(shí),輸出為三態(tài)。這樣74LVTH125輸出端COM1為低電平,COM2、COM3和COM4為三態(tài)。這樣通過(guò)底座上的跳線可以讀取個(gè)位0~4范圍內(nèi)的站地址。然后MCU發(fā)出高電平的/OE_ST_ADDR_COM信號(hào),和低電平的/OE_STATION_ADDR信號(hào),片選讀站地址74LVT245芯片。由于短路器把4號(hào)地址短路,COM1能把低電平信號(hào)通過(guò)跳線傳送到數(shù)據(jù)線DB0上。由于其他地址為未有短路器,保持為上拉的高電平。這樣MCU數(shù)據(jù)總線上的數(shù)據(jù)位0x0F。MCU通過(guò)讀取數(shù)據(jù)總線DB[0:4]獲取個(gè)位0~4范圍內(nèi)的站地址,然后MCU發(fā)出高電平的/OE_STATION_ADDR信號(hào),完成讀取。

讀取站地址個(gè)位5~9,讀取過(guò)程與讀取個(gè)位0~4范圍的站地址相似。

讀取站地址十位1~5和讀取站地址十位6~10,讀取過(guò)程與讀取個(gè)位0~4范圍的站地址相似。

當(dāng)跳線個(gè)位或十位同時(shí)存在多余一個(gè)短路器時(shí),MCU將認(rèn)為存在故障,無(wú)法讀取站地址。當(dāng)跳線個(gè)位和十位上都不存在短路器時(shí),MCU將認(rèn)為存在故障,無(wú)法讀取站地址。

由于在站地址電路的74器件需要提高熱插拔等級(jí),所以選用LVT邏輯器件,支持二級(jí)熱插拔。由于74LVC573抗靜電和熱插拔防護(hù)等級(jí)不高,不支持三態(tài),所以在74LVC573后附加一個(gè)支持二級(jí)熱插拔等級(jí)的74LVTH125,并在輸出電路上增加嵌位二極管,防護(hù)靜電。74LVT245和防護(hù)電路能夠抗靜電和支持熱插拔。

3 冗余電路的設(shè)計(jì)

PA模塊支持切換式冗余方式,模塊自行完成切換并告知主控I/O自身的主從狀態(tài)?;ユi機(jī)制是保證只有一個(gè)主機(jī)的關(guān)鍵邏輯,主從機(jī)互鎖電路如下圖7所示。圖8所示是主從機(jī)互鎖時(shí)序圖。

圖7 主從機(jī)互鎖邏輯框圖

經(jīng)過(guò)主從切換后,B機(jī)最終將變?yōu)橹鳈C(jī),其工作原理如下:

未啟動(dòng)狀態(tài),上電之后,雙機(jī)的本板升主使能信號(hào)均為邏輯0狀態(tài),因此經(jīng)過(guò)與非門之后,雙機(jī)均處于邏輯1狀態(tài)(備機(jī)狀態(tài)),雙機(jī)的本機(jī)狀態(tài)輸出同時(shí)通過(guò)上拉電阻保持在高電平狀態(tài)。

雙機(jī)啟動(dòng)后,先啟動(dòng)的模塊(A或B自由競(jìng)爭(zhēng))通過(guò)自診斷發(fā)現(xiàn)本機(jī)正常,置本機(jī)升主使能信號(hào)為1,本機(jī)隨即將主從狀態(tài)輸出為0。后啟動(dòng)的模塊發(fā)現(xiàn)自身自診斷正常,也置本機(jī)升主使能信號(hào)為1,但是與非門的輸入信號(hào)-對(duì)板主從信號(hào)已率先輸出為0,導(dǎo)致本機(jī)主從狀態(tài)輸出被鎖定,因此本機(jī)主從狀態(tài)輸出始終為1。

主機(jī)通過(guò)自診斷發(fā)現(xiàn)本機(jī)有故障,置本機(jī)升主使能信號(hào)為0進(jìn)行主動(dòng)降從,從機(jī)升主。

主從機(jī)進(jìn)行切換后,當(dāng)前從機(jī)通過(guò)自診斷發(fā)現(xiàn)本機(jī)無(wú)卡件致命故障,恢復(fù)置本機(jī)升主使能信號(hào)為1,但是與非門的輸入信號(hào)-對(duì)板主從信號(hào)已被置為0,導(dǎo)致本機(jī)主從狀態(tài)輸出被鎖定,因此本機(jī)主從狀態(tài)輸出始終為1。通過(guò)這種方式實(shí)現(xiàn)了A和B兩者只能有一個(gè)主狀態(tài),可以同時(shí)為從狀態(tài),即實(shí)現(xiàn)了主從機(jī)互鎖機(jī)制。

4 結(jié) 語(yǔ)

本次設(shè)計(jì)通過(guò)使用MCU、ARM和FPGA芯片的配合工作,能為上位冗余PROFIBUS-DP主站系統(tǒng)與下位非冗余PROFIBUS-PA設(shè)備系統(tǒng)之間的網(wǎng)絡(luò)轉(zhuǎn)換提供一個(gè)安全可靠的轉(zhuǎn)換方案。

參 考 文 獻(xiàn)

[1]王常力,羅安.分布式控制系統(tǒng)(DCS)設(shè)計(jì)與應(yīng)用實(shí)例(第2版)[M].北京:電子工業(yè)出版社,2010.

[2]劉偉明,杜林.基于DM9000A和LPC2214的嵌入式以太網(wǎng)接口設(shè)計(jì)[J].電子測(cè)量技術(shù),2008(6):92-95.

[3]凌志浩.DCS與現(xiàn)場(chǎng)總線控制系統(tǒng)[M] .上海:華東理工大學(xué)出版社,2008.

[4]唐仕斌,曾文海,戴瑜興,等. 嵌入式Internet以太網(wǎng)接口設(shè)計(jì)及實(shí)現(xiàn)[J]. 低壓電器,2003(2): 41-44.

[5]張瑞瑞,馬晨普. 一種精簡(jiǎn)可靠的低成本嵌入式以太網(wǎng)接口設(shè)計(jì)[J]. 電子產(chǎn)品世界,2006(23):79-81.

Design of DP / PA Link based on STM32

ZHANG Biao1, FAN Fu-ji2

(1. Xidian University, Xian 710071, China; 2. Beijing HollySys Systems Engineering Ltd., Beijing 100176, China)

Abstract: An implement method for providing the network conversion to the equipments between host redundancy PROFIBUS-PA systems and lower non-redundant PROFIBUS-PA systems is introduced, which uses the matching work of MCU, ARM and FPGA chips. The method would be a safe and reliable conversion program.

Keywords: STM32; host redundancy; lower non-redundant; network switch; implementation method

猜你喜歡
實(shí)現(xiàn)方法
高職英語(yǔ)教學(xué)價(jià)值定位及其實(shí)現(xiàn)
工程地質(zhì)在優(yōu)慕課教學(xué)資源平臺(tái)信息化教學(xué)案例