新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)和CPLD的PLC背板總線(xiàn)協(xié)議接口芯片設(shè)計(jì)

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

作者: 時(shí)間:2014-01-17 來(lái)源:網(wǎng)絡(luò) 收藏

  3.2 基于Verilog HDL 語(yǔ)言的硬件程序設(shè)計(jì)

  本設(shè)計(jì)采用Verilog HDL 語(yǔ)言進(jìn)行協(xié)議芯片的程序設(shè)計(jì),Verilog HDL 語(yǔ)言是一種硬件描述語(yǔ)言,設(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), 分別處理基于Verilog HDL 程序語(yǔ)言的狀態(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 系列 的嵌入式SRAM 塊的資源,Lattice 公司的ispLEVER 7.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ù)寬度、大小端模式等。

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

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



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉