新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)和CPLD的PLC背板總線協(xié)議接口芯片設(shè)計(jì)(一)

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

作者: 時(shí)間:2013-05-25 來(lái)源:網(wǎng)絡(luò) 收藏
摘要:設(shè)計(jì)了一組基于背板,協(xié)議芯片可以區(qū)分的背板總線的周期性數(shù)據(jù)和非周期性數(shù)據(jù)。詳細(xì)介紹了通過(guò)Verilog HDL語(yǔ)言設(shè)計(jì)狀態(tài)機(jī)、協(xié)議幀控制器、FIFO控制器的過(guò)程,25MHz下背板總線工作穩(wěn)定的試驗(yàn)結(jié)果驗(yàn)證了協(xié)議芯片設(shè)計(jì)的可行性。

  可編程邏輯控制器()主機(jī)是通過(guò)背板總線支持?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)等,一般來(lái)說(shuō),很多作為PLC 主芯片的自身都集成了這些外設(shè)部件。但是內(nèi)部集成的I2C、UART、SPI 外設(shè)通信速率太慢,根本不能滿足底板總線的通信速度要求。USB 和以太網(wǎng)的通信速度雖然很快但由于它們都是通用的接口,在通信協(xié)議處理時(shí)需要的干預(yù), 單片機(jī)處理數(shù)據(jù)速度較慢,因此整體通信速度仍然很慢。一臺(tái)大型的PLC 采集上千點(diǎn)I/O 數(shù)據(jù)的時(shí)間一般不到1ms,要滿足如此高速的通信要求必須設(shè)計(jì)專門的背板總線。

  1 背板總線工作原理

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

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

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

圖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í)傳輸。

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

圖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í)鐘的作用下, 接收來(lái)自背板總線上的串行數(shù)據(jù);在狀態(tài)機(jī)和幀控制器的協(xié)調(diào)下,接收FIFO 中的有效數(shù)據(jù)幀被提取并放進(jìn)讀緩存區(qū),等待單片機(jī)來(lái)讀取,如果是非周期性數(shù)據(jù)則發(fā)中斷信號(hào)通知單片機(jī)來(lái)取數(shù)據(jù)。讀緩存中的周期性數(shù)據(jù)是可以覆蓋的,新接收到的周期性數(shù)據(jù)直接覆蓋舊的周期性數(shù)據(jù),而非周期性數(shù)據(jù)是單獨(dú)存放的,不能覆蓋,由單片機(jī)讀取并清除。

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

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

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

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

  3.1 芯片選型

  本設(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 電平兼容。

單片機(jī)相關(guān)文章:單片機(jī)教程


單片機(jī)相關(guān)文章:單片機(jī)視頻教程


單片機(jī)相關(guān)文章:單片機(jī)工作原理


鎖相環(huán)相關(guān)文章:鎖相環(huán)原理


評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉