基于SoC的NCSF總線系統(tǒng)的研究與設(shè)計(jì)術(shù)
LLC子層還需要維護(hù)地址映射表進(jìn)行上層邏輯地址到MAC子層實(shí)地址之間的轉(zhuǎn)換(實(shí)地址可由APDU控制信息唯一確定),映射表在FPGA上電初始化時(shí)確定。
表1為主要通信服務(wù)命令接口函數(shù)的定義,具體參數(shù)可根據(jù)具體實(shí)現(xiàn)進(jìn)行調(diào)整。
表2為主要管理服務(wù)命令接口函數(shù)的定義,實(shí)際數(shù)量與應(yīng)用中提供的服務(wù)數(shù)量相關(guān)。
(2)MAC子層程序設(shè)計(jì)
MAC子層主要完成LLC子層通信服務(wù)的具體實(shí)現(xiàn),以及實(shí)際通信數(shù)據(jù)幀的封裝。
LLC子層各服務(wù)命令接口以及上層數(shù)據(jù)的收發(fā)工作最終都要通過收發(fā)鏈路層數(shù)據(jù)幀實(shí)現(xiàn)。NCSF總線支持集總幀和非集總幀報(bào)文。非集總幀由頭部、指令區(qū)、數(shù)據(jù)區(qū)和校驗(yàn)區(qū)組成,通信數(shù)據(jù)區(qū)直接由從站數(shù)據(jù)信息封裝得來,組成相對(duì)簡單。集總幀主要包括集總幀頭部和數(shù)據(jù)部,頭部為數(shù)據(jù)幀控制信息,數(shù)據(jù)部為各從站數(shù)據(jù)的集合舊’。下面是集總幀頭部和從站數(shù)據(jù)結(jié)構(gòu)定義,具體結(jié)構(gòu)可根據(jù)具實(shí)現(xiàn)調(diào)整。
MAC子層通過查詢對(duì)象字典將應(yīng)用層命令調(diào)用和APDU映射為MAC子層服務(wù),然后接口函數(shù)封裝相應(yīng)從站數(shù)據(jù),最終各從站數(shù)據(jù)被組裝成集總幀發(fā)送。集總幀沿著環(huán)路傳輸,當(dāng)經(jīng)過一個(gè)從站時(shí),該從站將對(duì)數(shù)據(jù)幀進(jìn)行掃描,查找、讀取本站數(shù)據(jù),然后把發(fā)反饋數(shù)據(jù)寫入集總幀,并繼續(xù)轉(zhuǎn)發(fā)經(jīng)過處理的集總幀。
為實(shí)現(xiàn)數(shù)據(jù)幀的收發(fā)和管理控制工作,MAC子層需要維護(hù)數(shù)據(jù)收發(fā)緩沖區(qū),長度寄存器,狀態(tài)寄存器,控制狀態(tài)寄存器,中斷清除寄存器和計(jì)時(shí)器寄存器。MAC子層收發(fā)程序通過設(shè)置控制寄存器,長度寄存器和中斷清除寄存器收發(fā)數(shù)據(jù),通過檢查狀態(tài)寄存器判斷收發(fā)狀態(tài)進(jìn)行差錯(cuò)控制和安全管理。FPGA上總線系統(tǒng)的數(shù)據(jù)流向見圖8,涉及操作請(qǐng)參考應(yīng)用層處理程序設(shè)計(jì)和數(shù)據(jù)鏈路層程序設(shè)計(jì)部分。需要注意的是,MAC子層接收到的反饋信息需要通過查詢對(duì)象字典和地址映射表以周期/非周期數(shù)據(jù)的形式傳遞到應(yīng)用層,然后由應(yīng)用層迸一步處理轉(zhuǎn)發(fā)。
圖8 FPGA總線系統(tǒng)數(shù)據(jù)流同關(guān)系
4 性能分析
基于SoC的NCSF總線系統(tǒng)使用FPGA軟核MicroBlaze為現(xiàn)場總線NCSF協(xié)議棧的實(shí)現(xiàn)提供快速的專用處理器,由于該處理器具有運(yùn)行速度快、占用資源少、可配置性強(qiáng)等優(yōu)點(diǎn),且只用于通信控制,可以滿足數(shù)控現(xiàn)場總線對(duì)實(shí)時(shí)性的要求。本設(shè)計(jì)采用Xilinx XC3S500E芯片,表3中給出了總線系統(tǒng)綜合時(shí)芯片邏輯資源的使用情況,數(shù)據(jù)表明系統(tǒng)資源占用率相對(duì)較低,可實(shí)現(xiàn)在FPGA上。
評(píng)論