基于DM642的實(shí)時(shí)多協(xié)議轉(zhuǎn)換器設(shè)計(jì)
摘要:為了解決虛擬試驗(yàn)系統(tǒng)中具有不同總線類型的各實(shí)物子系統(tǒng)互聯(lián)的實(shí)時(shí)性問(wèn)題,設(shè)計(jì)了一種多協(xié)議轉(zhuǎn)換器。按協(xié)議高低優(yōu)先級(jí)分配軟硬件資源,硬件設(shè)計(jì)采用DM642+FPGA的結(jié)構(gòu),使用FPGA實(shí)時(shí)匹配高優(yōu)先級(jí)協(xié)議,并對(duì)DM642分類返回不同中斷信息;軟件設(shè)計(jì)時(shí),按地址分塊存儲(chǔ)協(xié)議以提高的協(xié)議的查找效率,并根據(jù)DSP/BIOS中各類線程的特點(diǎn),合理分配任務(wù)并分類觸發(fā)不同任務(wù),以加快數(shù)據(jù)處理速度并保證高優(yōu)先級(jí)協(xié)議實(shí)時(shí)性。
關(guān)鍵詞:多協(xié)議轉(zhuǎn)換器;實(shí)時(shí)性;DM642;DSP/BIOS
0 引言
在虛擬試驗(yàn)系統(tǒng)中,需要將不同總線類型和不同傳輸協(xié)議的各實(shí)物子系統(tǒng)進(jìn)行互聯(lián),實(shí)物設(shè)備子系統(tǒng)常采用1553B,ARINC429,RS 232等總線,協(xié)議轉(zhuǎn)換的實(shí)時(shí)性對(duì)整個(gè)虛擬試驗(yàn)系統(tǒng)試驗(yàn)結(jié)果的真實(shí)性具有重要的影響,因此設(shè)計(jì)了基于DM642的實(shí)時(shí)多協(xié)議轉(zhuǎn)換器。
協(xié)議轉(zhuǎn)換方法有過(guò)程控制級(jí)轉(zhuǎn)換和現(xiàn)場(chǎng)設(shè)備級(jí)實(shí)現(xiàn)。OPC(OLE for Process Control)為最常用控制級(jí)轉(zhuǎn)換方法,所有的工作全部在上位機(jī)中由軟件完成,簡(jiǎn)單方便,但總線系統(tǒng)中節(jié)點(diǎn)間的通信較慢,實(shí)時(shí)性較差。采用現(xiàn)場(chǎng)設(shè)備級(jí)轉(zhuǎn)換方法的協(xié)議,如Profibus,DeviceNet等,需專門開(kāi)發(fā)軟硬件,但可以實(shí)現(xiàn)差異較大協(xié)議總線間的轉(zhuǎn)換,可以滿足實(shí)時(shí)性要求。曾翠榮等采用現(xiàn)場(chǎng)設(shè)備級(jí)轉(zhuǎn)換方法,設(shè)計(jì)出通用報(bào)文格式和地址分配方法,簡(jiǎn)單明了,但不同總線協(xié)議間的轉(zhuǎn)換必須借助于上位機(jī)和網(wǎng)絡(luò),僅滿足傳輸延時(shí)小于20 ms。本文借鑒現(xiàn)場(chǎng)設(shè)備級(jí)轉(zhuǎn)換方法,設(shè)計(jì)了一種高實(shí)時(shí)多協(xié)議的轉(zhuǎn)換器。設(shè)計(jì)中,采用C6000系列高速DSP,將協(xié)議分為高低優(yōu)先級(jí),采用FPGA實(shí)時(shí)識(shí)別高優(yōu)先級(jí)協(xié)議,按地址塊存儲(chǔ)協(xié)議描述信息,使用了DSP/BIOS提供的不同類型線程,并采用觸發(fā)不同消息的方法跳轉(zhuǎn)線程,有效地保證了實(shí)時(shí)性。
1 協(xié)議傳輸格式及描述方法
虛擬試驗(yàn)系統(tǒng)中不同總線上傳輸?shù)臄?shù)據(jù)流通常按如圖1所示的方式傳輸,一幀數(shù)據(jù)由幀頭、數(shù)據(jù)長(zhǎng)度、數(shù)據(jù)體、幀尾、數(shù)據(jù)校驗(yàn)等組成,幀頭標(biāo)志不同協(xié)議,幀尾或幀長(zhǎng)標(biāo)志該幀數(shù)據(jù)流的長(zhǎng)度,幀頭和幀尾可以是1個(gè)、2個(gè)或者4個(gè)數(shù)據(jù)字,數(shù)據(jù)體由多個(gè)數(shù)據(jù)字組成。但協(xié)議以數(shù)據(jù)元素作為基本單位進(jìn)行編解碼,數(shù)據(jù)元素由一個(gè)或多個(gè)數(shù)據(jù)字組成,有具體的物理含義,可以表示一個(gè)具體的物理量,也可以按位表示多個(gè)不同的工作狀態(tài)。協(xié)議解碼時(shí),先根據(jù)幀頭識(shí)別出協(xié)議類型,然后根據(jù)數(shù)據(jù)長(zhǎng)度或幀尾提取出數(shù)據(jù)體,再按協(xié)議提取出數(shù)據(jù)元素,將數(shù)據(jù)元素乘以或加上特定系數(shù)轉(zhuǎn)換為具體物理意義數(shù)據(jù),或提取出每一狀態(tài)位;編碼過(guò)程為解碼的逆過(guò)程。
為便于協(xié)議的識(shí)別、編解碼,建立由數(shù)據(jù)幀、數(shù)據(jù)元素、數(shù)據(jù)位三級(jí)描述結(jié)構(gòu)體組成的協(xié)議描述表,各級(jí)協(xié)議描述結(jié)構(gòu)體所描述的信息如圖2所示。
評(píng)論