技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于單片機(jī)和CPLD的PLC背板總線協(xié)議接口芯片設(shè)計(jì)

基于單片機(jī)和CPLD的PLC背板總線協(xié)議接口芯片設(shè)計(jì)

時(shí)間:2018-03-01 10:38:05來源:網(wǎng)絡(luò)轉(zhuǎn)載

導(dǎo)語:?設(shè)計(jì)了一組基于CPLD的PLC背板總線協(xié)議接口芯片,協(xié)議芯片可以區(qū)分PLC的背板總線的周期性數(shù)據(jù)和非周期性數(shù)據(jù)。

摘要:設(shè)計(jì)了一組基于CPLD的PLC背板總線協(xié)議接口芯片,協(xié)議芯片可以區(qū)分PLC的背板總線的周期性數(shù)據(jù)和非周期性數(shù)據(jù)。詳細(xì)介紹了通過VerilogHDL語言設(shè)計(jì)狀態(tài)機(jī)、協(xié)議幀控制器、FIFO控制器的過程,25MHz下背板總線工作穩(wěn)定的試驗(yàn)結(jié)果驗(yàn)證了協(xié)議芯片設(shè)計(jì)的可行性。

可編程邏輯控制器(PLC)主機(jī)是通過背板總線支持?jǐn)U展模塊的連接,背板總線是PLC主機(jī)同I/O擴(kuò)展模塊之間的高速數(shù)據(jù)通路,支持主機(jī)和擴(kuò)展模塊之間的I/O數(shù)據(jù)刷新。背板總線的技術(shù)水平?jīng)Q定了PLC產(chǎn)品的I/O擴(kuò)展能力,是PLC設(shè)計(jì)制造的核心技術(shù)。目前,PLC大多采用串行通信技術(shù)實(shí)現(xiàn)背板總線,串行總線引線少、硬件成本低,跟并行總線相比不容易受干擾,串行總線可以提高在惡劣的工廠和工業(yè)環(huán)境下自動(dòng)化設(shè)備的可靠性。用于串行通信技術(shù)的可選類型包括I2C、UART、SPI、USB和以太網(wǎng)等,一般來說,很多作為PLC主芯片的單片機(jī)自身都集成了這些外設(shè)部件。但是單片機(jī)內(nèi)部集成的I2C、UART、SPI外設(shè)通信速率太慢,根本不能滿足底板總線的通信速度要求。USB和以太網(wǎng)的通信速度雖然很快但由于它們都是通用的接口,在通信協(xié)議處理時(shí)需要單片機(jī)的干預(yù),單片機(jī)處理數(shù)據(jù)速度較慢,因此整體通信速度仍然很慢。一臺(tái)大型的PLC采集上千點(diǎn)I/O數(shù)據(jù)的時(shí)間一般不到1ms,要滿足如此高速的通信要求必須設(shè)計(jì)專門的背板總線。

1背板總線工作原理

如圖1所示,基于背板總線的數(shù)據(jù)通信流程如下:

(1)PLC主機(jī)的命令通過主機(jī)協(xié)議芯片發(fā)送到背板總線;(2)從機(jī)協(xié)議芯片把接收到的命令給擴(kuò)展模塊的單片機(jī),某一個(gè)擴(kuò)展模塊的單片機(jī)做出應(yīng)答,通過從機(jī)協(xié)議芯片把應(yīng)答數(shù)據(jù)送往背板總線;(3)主機(jī)協(xié)議芯片收到應(yīng)答數(shù)據(jù),并送往PLC主機(jī)的單片機(jī)。

圖1 背板總線通信框圖

圖1背板總線通信框圖

PLC主機(jī)發(fā)往背板總線的數(shù)據(jù)可以分成兩類:一類是I/O刷新數(shù)據(jù),具有周期性,數(shù)據(jù)交換非常頻繁;另一類是診斷性數(shù)據(jù),具有非周期性,出現(xiàn)機(jī)會(huì)較少。

2協(xié)議芯片設(shè)計(jì)

本設(shè)計(jì)定義背板總線采用類似SPI串行通信的規(guī)格,用于通信的引線共4根,包括時(shí)鐘信號(hào)SCLK、片選信號(hào)SSEL、寫數(shù)據(jù)引線MISO和讀數(shù)據(jù)引線MOSI;支持主機(jī)和從機(jī)同時(shí)收發(fā)數(shù)據(jù),數(shù)據(jù)位格式如圖2所示,數(shù)據(jù)幀在SSEL信號(hào)為低電平時(shí)傳輸。

圖2 背板總線數(shù)據(jù)規(guī)格

圖2背板總線數(shù)據(jù)規(guī)格

信號(hào)包括數(shù)據(jù)/地址信號(hào)、復(fù)位信號(hào)Reset、中斷信號(hào)INT.

主機(jī)和從機(jī)協(xié)議芯片的內(nèi)部結(jié)構(gòu)框圖相同,如圖3所示。

協(xié)議芯片內(nèi)部有狀態(tài)機(jī)控制器、幀控制器、移位寄存器、接收/發(fā)送FIFO和讀寫緩存。單片機(jī)發(fā)送的周期性、非周期性數(shù)據(jù)幀,首先都寫到寫緩存,在發(fā)送FIFO中進(jìn)行排隊(duì)發(fā)送,在SPI時(shí)鐘SCLK的驅(qū)動(dòng)下數(shù)據(jù)幀被轉(zhuǎn)換為串行數(shù)據(jù)發(fā)送到背板總線;在SPI時(shí)鐘的作用下,接收來自背板總線上的串行數(shù)據(jù);在狀態(tài)機(jī)和幀控制器的協(xié)調(diào)下,接收FIFO中的有效數(shù)據(jù)幀被提取并放進(jìn)讀緩存區(qū),等待單片機(jī)來讀取,如果是非周期性數(shù)據(jù)則發(fā)中斷信號(hào)通知單片機(jī)來取數(shù)據(jù)。讀緩存中的周期性數(shù)據(jù)是可以覆蓋的,新接收到的周期性數(shù)據(jù)直接覆蓋舊的周期性數(shù)據(jù),而非周期性數(shù)據(jù)是單獨(dú)存放的,不能覆蓋,由單片機(jī)讀取并清除。

圖3 協(xié)議芯片內(nèi)部結(jié)構(gòu)框圖

圖3協(xié)議芯片內(nèi)部結(jié)構(gòu)框圖

協(xié)議芯片使得外接的單片機(jī)可以在空閑的情況下訪問讀緩存和寫緩存,單片機(jī)不必頻繁地通過中斷技術(shù)處理周期性數(shù)據(jù),也使得PLC主機(jī)可以無等待地訪問從機(jī)的周期性數(shù)據(jù)。

3基于CPLD的協(xié)議芯片實(shí)現(xiàn)

3.1CPLD芯片選型

本設(shè)計(jì)選用lattice公司的MachXO系列芯片,該系列CPLD集成了部分FPGA的功能,除了內(nèi)置豐富的LUT資源以外,還有大量分布式的SRAM位和嵌入式的專用于FIFO設(shè)計(jì)的SRAM塊,并有模擬鎖相環(huán)(PLL)支持時(shí)鐘信號(hào)的倍頻、分頻等,I/O引腳可配置成1.2/1.5/1.8/3.3V電平兼容。

3.2基于VerilogHDL語言的硬件程序設(shè)計(jì)

本設(shè)計(jì)采用VerilogHDL語言進(jìn)行協(xié)議芯片的程序設(shè)計(jì),VerilogHDL語言是一種硬件描述語言,設(shè)計(jì)數(shù)字芯片時(shí)可以按照層次描述,并可以進(jìn)行時(shí)序建模。本設(shè)計(jì)采用混合設(shè)計(jì)模式,主要設(shè)計(jì)的模塊有狀態(tài)機(jī)、協(xié)議幀檢測(cè)、FIFO控制器設(shè)計(jì)等。

1)狀態(tài)機(jī)設(shè)計(jì)

協(xié)議芯片的頂層模塊是狀態(tài)控制器部分,協(xié)議芯片共有四個(gè)狀態(tài),分別處理基于VerilogHDL程序語言的狀態(tài)機(jī)描述偽代碼如下:

2)協(xié)議幀檢測(cè)。

本協(xié)議芯片的幀校驗(yàn)和采用簡(jiǎn)單的加和形式進(jìn)行,在接收一方,如果數(shù)據(jù)幀中有用數(shù)據(jù)的加和同后續(xù)的校驗(yàn)和字節(jié)相同,則協(xié)議是正確的,否則丟棄該幀。協(xié)議幀校驗(yàn)和計(jì)算的代碼如下:

3)FIFO設(shè)計(jì)。

FIFO利用了MachXO系列CPLD的嵌入式SRAM塊的資源,Lattice公司的ispLEVER7.0軟件提供了可配置的IP軟核,該軟核可以采用基于嵌入式SRAM塊實(shí)現(xiàn),也可以使用查找表實(shí)現(xiàn),F(xiàn)IFO的IP核框圖如圖4所示,F(xiàn)IFO的可配置參數(shù)包括FIFO字節(jié)深度、EmptyFull、Almostempty和AlmostFull觸發(fā)字節(jié)深度、數(shù)據(jù)寬度、大小端模式等。

圖4 可配置FIFO 控制器IP 軟核框圖

圖4可配置FIFO控制器IP軟核框圖

3.3協(xié)議芯片綜合

VerilogHDL程序通過Lattice公司的CPLD開發(fā)軟件ispLEVER7.0進(jìn)行編譯、綜合,多次嘗試后最終選擇了Lattice公司MachXO系列CPLD中的MachXO2280芯片,綜合后的主機(jī)協(xié)議芯片占用CPLD資源的60%左右,從機(jī)協(xié)議芯片占用CPLD資源的45%左右,F(xiàn)IFO控制器充分利用了MachXO2280芯片內(nèi)部的嵌入式RAM塊,同時(shí)利用了鎖相環(huán)實(shí)現(xiàn)高頻率的時(shí)鐘工作。最后通過LSCispVM(R)System燒寫軟件經(jīng)JTAG口下載到CPLD芯片中進(jìn)行協(xié)議芯片功能驗(yàn)證測(cè)試。

4結(jié)語

本文設(shè)計(jì)的背板總線協(xié)議芯片在背板串行總線時(shí)鐘頻率為25MHz、信號(hào)電平為L(zhǎng)VTTL,底板引線長(zhǎng)度為40cm,1臺(tái)主機(jī)連接3臺(tái)擴(kuò)展模塊的情況下工作穩(wěn)定并通過了群脈沖試驗(yàn),驗(yàn)證了這一組協(xié)議芯片的設(shè)計(jì)是成功的。由于該組協(xié)議芯片是針對(duì)PLC的周期性和非周期性數(shù)據(jù)傳送專門設(shè)計(jì)的,硬件實(shí)現(xiàn)的協(xié)議幀控制器支持高速率通信、支持?jǐn)?shù)據(jù)幀檢驗(yàn)功能,避免了數(shù)據(jù)傳送的錯(cuò)誤,大大降低了外圍單片機(jī)的軟件開銷,增強(qiáng)了可靠性,是一組非常適合用于PLC背板總線或者需要多模塊協(xié)同工作的背板總線系統(tǒng)協(xié)議芯片。

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:變頻器應(yīng)用中電壓瞬時(shí)波動(dòng)的...

下一篇:工程型變頻器機(jī)械制動(dòng)控制功...

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.wangxinlc.cn)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)