莫太平 王 丹 張明志
(桂林電子科技大學電子工程與自動化學院,廣西桂林 541004)
近年來,芯片的設計不斷向著功能增強和集成度提高的方向發(fā)展,IP核的重用是設計人員贏得迅速上市時間的主要策略。隨著CPLD/FPGA的規(guī)模越來越大,設計越來越復。IP軟核是用VHDL等硬件描述語言描述的功能塊,但是并不涉及具體電路元件實現(xiàn)這些功能。軟IP核進行系統(tǒng)設計可以提高設計性能,降低開發(fā)成本,縮短設計周期,其靈活性強、仿真方便,降低了設計風險。由于不涉及物理實現(xiàn),為后續(xù)設計留有很大的發(fā)揮空間,增大了IP的靈活性和適應性,因此使用基于FPGA的IP軟核實現(xiàn)PROFIBUS-DP從站的設計。
PROFIBUS-DP從站運用自上而下的設計思路,先確定電路的總體框架,然后設計各個模塊,并對IP模塊功能仿真。需要用Verilog編寫模塊測試激勵文件,如為串口通信接收[1]模塊編寫輸入信號波形,并搭建PC機與模塊之間的串行通信環(huán)境。通過頂層文件將功能驗證正確的模塊組合起來形成一個整體設計,并對整體設計中的IP軟核進行功能仿真和綜合后仿真,最后將綜合后的系統(tǒng)文件下載到目標FPGA芯片中進行實際功能驗證。系統(tǒng)的整體框架結構及其組成模塊如圖1所示。
PROFIBUS-DP從站接口采用功能模塊設計,系統(tǒng)主要由擴展模塊及FPGA芯片組成,構成其核心部分,其他還有RS485、開關設定地址及電源模塊、USB接口、有源晶振等部分組成。
HDL文本形式提交給用戶,不含任何具有物理信息,經(jīng)過RTL級設計、優(yōu)化以及功能驗證,用戶運用IP軟核與綜合正確的門電路設計網(wǎng)表,借助于FPGA綜合工具可以很容易地與PROFIBUS-DP合成一體。能同時提高設計效率和節(jié)約硬件資源。
FPGA[2]的設計開發(fā)流程主要包括行為綜合、邏輯綜合、技術映射和布局布線。一般情況,設計者使用描述語言(如VHDL,Verilog)描述電路。FPGA部分的主要任務是完成對PROFIBUS報文的組幀、拆幀、FCS校驗以及對報文最基本的分析,對應的是PROFIBUS的鏈路層功能。主要由鎖相環(huán)模塊、串口時鐘模塊、接收模塊和發(fā)送模塊及相應的緩沖模塊、處理模塊、定時器模塊和寄存器模塊組成。
DP從站是進行輸入和輸出信息采集和發(fā)送的外圍設備(VO設備、驅(qū)動器、HMI、閥門等)。基于FPGA的PROFIBUS-DP[3]從站通信控制器要實現(xiàn)的功能目標是,在加入總線系統(tǒng)后,能作為一個從站節(jié)點進行正常的總線通信。通信控制器的工作過程可以概括為在PROFIBUS-DP通信端,將總線上傳送的串行數(shù)據(jù)轉(zhuǎn)換為從站用戶層的數(shù)據(jù),同時將從站用戶層的數(shù)據(jù)進行分析打包并轉(zhuǎn)換成符合UART規(guī)范的串行數(shù)據(jù)返回到總線。
如圖2所示,軟 IP[4]是以綜合形式交付的,因而必須在目標工藝中實現(xiàn),并由系統(tǒng)設計者驗證。其優(yōu)點是源代碼靈活,可重定目標于多種制作工藝,在新功能中重新配置。
(1)看門狗時鐘分頻器
看門狗的作用在于監(jiān)視總線通信端[5]是否在看門狗溢出時間內(nèi)收到主站的通信請求。溢出時間以1 ms為時基,系數(shù)由主站發(fā)送的參數(shù)幀進行設置。
(2)波特率發(fā)生模塊
PROFIBUS-DP支持9.6 K~12 M之間的多級波特率傳輸。一共有10級。在同一網(wǎng)絡上所選用的傳輸波特率必須相同。
(3)485接口模塊
PROFIBUS-DP的物理層,用與總線連接,接收和發(fā)生信息;有波特率自適應功能協(xié)議處理模塊:根據(jù)接收到的幀信息分析處理;實現(xiàn)從站狀態(tài)的轉(zhuǎn)換。
(4)協(xié)議處理模塊
通過RS485接口實現(xiàn)RS485信息的接收,然后在接收緩沖模塊中實現(xiàn)完整的PROFIBUS-DP幀的接收。當一個完整的幀被接收后,通過請求分析模塊分析出所接收的幀的類型,并作相應的處理。答分析模塊結合接收到的幀信息和從站所處析出應答類型以及作相應的處理。得出應答發(fā)送緩沖中組成要發(fā)送的幀結構,再通過485接口發(fā)送出去。MCU接口用與用戶程序通信,數(shù)據(jù)的輸入輸出等。
如圖3。
根據(jù)請求分析模塊分析幀[64]在傳輸完成時的幀類型,具體判斷流程圖如圖4所示。
當幀傳輸完成后,根據(jù)是否滿足SD2的條件來進行幀的分類,最后會分為三種類型:rep_type=fdl_rep;識別SAP服務點;rep_type=data_exchang。因而產(chǎn)生相對應的應答分析模塊的數(shù)據(jù)。
如圖5。模塊完成應答分析,以及從站狀態(tài)轉(zhuǎn)換。
在本設計中,IP核[7]的應用仿真,將利用所設計的IP核實現(xiàn)發(fā)送接收模塊之間的仿真?;贔PGA的PROFIBUS從站IP軟核設計的布局布線后仿真波形圖如圖6所示,成功完成仿真。
本文介紹了一種FPGA芯片PROFIBUS-DP從站的設計方法。從仿真效果上看,運行穩(wěn)定、控制精度高、系統(tǒng)響應速度快,系統(tǒng)采用軟IP核代替?zhèn)鹘y(tǒng)專用芯片,設計靈活、調(diào)試方便,大大縮短了開發(fā)周期,提高了系統(tǒng)可靠性。利用FPGA的信號處理性能提高了系統(tǒng)的整體性能。
[1]劉欣.FlexRay通信控制器原型IP設計[D].北京:中國科學院,2007.
[2]石曉亮.基于FPGA的PROFIBUS-DP從站設計[D].杭州:浙江大學,2008.
[3]THOMESSE JP.Field bus technology in industrial automation[J].Proceedings of the IEEE,2005,93(6):1073-1101.
[4]錢小輝.基于IP核的CPCI總線多通道數(shù)據(jù)采集卡的設計與實現(xiàn)[D].西安:西安電子科技大學,2011.
[5]夏宇聞.Verilog數(shù)字系統(tǒng)設計教程[M].北京:北京航空航天大學出版社,2003:120-128.
[6]白光澤,邢燕.基于Verilog HDL的SPI IP核的設計及仿真實現(xiàn)[J].制造業(yè)自動化,2010,33(12).
[7]潘勇,袁慧梅,侯長宏.基于FPGA的誤碼儀IP核的設計與實現(xiàn)[J].儀表技術與傳感器,2009(3).