CPLD的PLC背板總線協(xié)議接口芯片的設計方案
設計了一組基于CPLD的PLC背板總線協(xié)議接口芯片,協(xié)議芯片可以區(qū)分PLC的背板總線的周期性數(shù)據和非周期性數(shù)據。詳細介紹了通過Verilog HDL語言設計狀態(tài)機、協(xié)議幀控制器、FIFO控制器的過程,25MHz下背板總線工作穩(wěn)定的試驗結果驗證了協(xié)議芯片設計的可行性。
本文引用地址:http://2s4d.com/article/190184.htm可編程邏輯控制器(PLC)主機是通過背板總線支持擴展模塊的連接, 背板總線是PLC 主機同I/O擴展模塊之間的高速數(shù)據通路,支持主機和擴展模塊之間的I/O 數(shù)據刷新。背板總線的技術水平決定了PLC 產品的I/O 擴展能力,是PLC 設計制造的核心技術。目前,PLC 大多采用串行通信技術實現(xiàn)背板總線,串行總線引線少、硬件成本低,跟并行總線相比不容易受干擾,串行總線可以提高在惡劣的工廠和工業(yè)環(huán)境下自動化設備的可靠性。用于串行通信技術的可選類型包括I2C、UART、SPI、USB 和以太網等,一般來說,很多作為PLC 主芯片的單片機自身都集成了這些外設部件。但是單片機內部集成的I2C、UART、SPI 外設通信速率太慢,根本不能滿足底板總線的通信速度要求。USB 和以太網的通信速度雖然很快但由于它們都是通用的接口,在通信協(xié)議處理時需要單片機的干預, 單片機處理數(shù)據速度較慢,因此整體通信速度仍然很慢。一臺大型的PLC 采集上千點I/O 數(shù)據的時間一般不到1ms,要滿足如此高速的通信要求必須設計專門的背板總線。
1 背板總線工作原理
如圖1 所示,基于背板總線的數(shù)據通信流程如下:
(1)PLC 主機的命令通過主機協(xié)議芯片發(fā)送到背板總線;(2)從機協(xié)議芯片把接收到的命令給擴展模塊的單片機, 某一個擴展模塊的單片機做出應答,通過從機協(xié)議芯片把應答數(shù)據送往背板總線;(3)主機協(xié)議芯片收到應答數(shù)據,并送往PLC主機的單片機。
圖1 背板總線通信框圖
PLC 主機發(fā)往背板總線的數(shù)據可以分成兩類:一類是I/O 刷新數(shù)據,具有周期性,數(shù)據交換非常頻繁;另一類是診斷性數(shù)據,具有非周期性,出現(xiàn)機會較少。
2 協(xié)議芯片設計
本設計定義背板總線采用類似SPI 串行通信的規(guī)格,用于通信的引線共4 根,包括時鐘信號SCLK、片選信號SSEL、寫數(shù)據引線MISO 和讀數(shù)據引線MOSI;支持主機和從機同時收發(fā)數(shù)據,數(shù)據位格式如圖2 所示,數(shù)據幀在SSEL 信號為低電平時傳輸。
圖2 背板總線數(shù)據規(guī)格
主機和從機協(xié)議芯片的內部結構框圖相同,如圖3 所示。
協(xié)議芯片內部有狀態(tài)機控制器、幀控制器、移位寄存器、接收/發(fā)送FIFO 和讀寫緩存。單片機發(fā)送的周期性、非周期性數(shù)據幀,首先都寫到寫緩存,在發(fā)送FIFO 中進行排隊發(fā)送,在SPI 時鐘SCLK 的驅動下數(shù)據幀被轉換為串行數(shù)據發(fā)送到背板總線;在SPI 時鐘的作用下, 接收來自背板總線上的串行數(shù)據;在狀態(tài)機和幀控制器的協(xié)調下,接收FIFO 中的有效數(shù)據幀被提取并放進讀緩存區(qū),等待單片機來讀取,如果是非周期性數(shù)據則發(fā)中斷信號通知單片機來取數(shù)據。讀緩存中的周期性數(shù)據是可以覆蓋的,新接收到的周期性數(shù)據直接覆蓋舊的周期性數(shù)據,而非周期性數(shù)據是單獨存放的,不能覆蓋,由單片機讀取并清除。
圖3 協(xié)議芯片內部結構框圖
協(xié)議芯片使得外接的單片機可以在空閑的情況下訪問讀緩存和寫緩存,單片機不必頻繁地通過中斷技術處理周期性數(shù)據,也使得PLC 主機可以無等待地訪問從機的周期性數(shù)據。
評論