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

圖1 背板總線(xiàn)通信框圖
PLC 主機發(fā)往背板總線(xiàn)的數據可以分成兩類(lèi):一類(lèi)是I/O 刷新數據,具有周期性,數據交換非常頻繁;另一類(lèi)是診斷性數據,具有非周期性,出現機會(huì )較少。
2 協(xié)議芯片設計
本設計定義背板總線(xiàn)采用類(lèi)似SPI 串行通信的規格,用于通信的引線(xiàn)共4 根,包括時(shí)鐘信號SCLK、片選信號SSEL、寫(xiě)數據引線(xiàn)MISO 和讀數據引線(xiàn)MOSI;支持主機和從機同時(shí)收發(fā)數據,數據位格式如圖2 所示,數據幀在SSEL 信號為低電平時(shí)傳輸。

圖2 背板總線(xiàn)數據規格
信號包括數據/地址信號、復位信號Reset、中斷信號INT.
主機和從機協(xié)議芯片的內部結構框圖相同,如圖3 所示。
協(xié)議芯片內部有狀態(tài)機控制器、幀控制器、移位寄存器、接收/發(fā)送FIFO 和讀寫(xiě)緩存。單片機發(fā)送的周期性、非周期性數據幀,首先都寫(xiě)到寫(xiě)緩存,在發(fā)送FIFO 中進(jìn)行排隊發(fā)送,在SPI 時(shí)鐘SCLK 的驅動(dòng)下數據幀被轉換為串行數據發(fā)送到背板總線(xiàn);在SPI 時(shí)鐘的作用下, 接收來(lái)自背板總線(xiàn)上的串行數據;在狀態(tài)機和幀控制器的協(xié)調下,接收FIFO 中的有效數據幀被提取并放進(jìn)讀緩存區,等待單片機來(lái)讀取,如果是非周期性數據則發(fā)中斷信號通知單片機來(lái)取數據。讀緩存中的周期性數據是可以覆蓋的,新接收到的周期性數據直接覆蓋舊的周期性數據,而非周期性數據是單獨存放的,不能覆蓋,由單片機讀取并清除。

圖3 協(xié)議芯片內部結構框圖
協(xié)議芯片使得外接的單片機可以在空閑的情況下訪(fǎng)問(wèn)讀緩存和寫(xiě)緩存,單片機不必頻繁地通過(guò)中斷技術(shù)處理周期性數據,也使得PLC 主機可以無(wú)等待地訪(fǎng)問(wèn)從機的周期性數據。
3 基于CPLD 的協(xié)議芯片實(shí)現
3.1 CPLD 芯片選型
本設計選用lattice 公司的MachXO 系列芯片,該系列CPLD 集成了部分FPGA 的功能, 除了內置豐富的LUT 資源以外,還有大量分布式的SRAM 位和嵌入式的專(zhuān)用于FIFO 設計的SRAM 塊, 并有模擬鎖相環(huán)(PLL)支持時(shí)鐘信號的倍頻、分頻等,I/O引腳可配置成1.2/1.5/1.8/3.3V 電平兼容。
單片機相關(guān)文章:單片機教程
單片機相關(guān)文章:單片機視頻教程
單片機相關(guān)文章:單片機工作原理
鎖相環(huán)相關(guān)文章:鎖相環(huán)原理
評論