ST-BUS總線接口模塊的Verilog HDL設(shè)計
(1)同步檢測
if(!f0)beginfile://同步信號低電平有效
f0_flag=1; file://置同步標(biāo)志
bitcounter=bitsofbyte-1;//時隙內(nèi)的數(shù)據(jù)位數(shù)減法計數(shù)器復(fù)位
bytecounter=0; end
file://時隙數(shù)加法計數(shù)器復(fù)位
(2)定位計數(shù)
if(f0_flag) file://判斷同步狀態(tài)
begin case(bitcounter) file://根據(jù)數(shù)據(jù)位計數(shù)值進(jìn)行時隙切換
0:begin
bitcounter=bitsofbyte-1;
file://數(shù)據(jù)位計數(shù)器復(fù)位
bytecounter=bytecounter+1;
file://時隙通道計數(shù)器遞增
end
default:bitcounter=bitcounter-1; file://時隙內(nèi)位計數(shù)器遞減
endcase end
(3)接收數(shù)據(jù)(含標(biāo)志及使能信號產(chǎn)生)
if(bytecounter==byte_pos1) begin file://檢查第1通道
din2=8‘bZ;
file://釋放通道2暫存單元
receive2_flag=0;
file://清除通道2接收標(biāo)志
din1=din11;
file://移位準(zhǔn)備接收下一位數(shù)據(jù)
din1[0]=dr; file://讀入數(shù)據(jù)位
if(bitcounter==0) begin receive1_flag=1;end//接收完整通道數(shù)據(jù)置標(biāo)志
end
else if(bytecounter==byte_pos2)
file://多通道接收(同上)
……
else begin
file://當(dāng)前通道不接收數(shù)據(jù),則釋放暫存單元并清除接收標(biāo)志
din1=8‘bZ;din2=8‘bZ;receive1 _flag=0;receive2_flag=0;end
根據(jù)ST-BUS總線收發(fā)規(guī)則及接收模塊基本工作原理,為了31時隙與0時隙的可靠切換,設(shè)計中采用狀態(tài)轉(zhuǎn)換與數(shù)據(jù)接收分開的方法,也即以上模塊可由2個always語句實現(xiàn),一個采用C2上升沿實現(xiàn)狀態(tài)轉(zhuǎn)換,一個采用C2下降沿實現(xiàn)數(shù)據(jù)接收。在Altera公司提供的Quartus II 5.0SP1集成開發(fā)環(huán)境下,利用MAX7000S系列最低性能的CPLD器件作綜合后的時序仿真結(jié)果如圖3(a)所示。圖中第一通道為0時隙,第二通道為31時隙。本文引用地址:http://www.biyoush.com/article/150876.htm
b)ST-BUS發(fā)送模塊仿真
圖3 ST-BUS收發(fā)模塊綜合后的時序仿真結(jié)果(C2時鐘為10MHz)
ST-BUS發(fā)送模塊
ST-BUS發(fā)送模塊主要將控制模塊送來的數(shù)據(jù)按照所設(shè)置的時隙進(jìn)行發(fā)送,也就是將一般數(shù)據(jù)信號轉(zhuǎn)換為ST-BUS總線信號,其原理結(jié)構(gòu)框圖如圖2(b)所示。
發(fā)送模塊可工作于兩種模式,即主動模式和被動模式。圖中細(xì)的虛線部分(除去相應(yīng)的實線部分)表示工作于主動模式的連接,此時,時鐘和同步信號均由模塊內(nèi)部產(chǎn)生;若除去細(xì)的虛線部分,則模塊工作于被動模式。在本文涉及的E1接口板設(shè)計中,系統(tǒng)采用了自動模式選擇的工作方式。圖中同步的作用,在主動模式時為同步發(fā)生,在被動模式時為同步檢測。
被動模式下ST-BUS發(fā)送模塊的基本工作原理與接收模塊類似,所不同之處在于數(shù)據(jù)傳輸方向相反。與接收模塊一樣,圖2(b)中的時隙定位和數(shù)據(jù)位定位也可以合并采用單計數(shù)器實現(xiàn)。ST-BUS總線發(fā)送操作的關(guān)鍵之處也在于前一幀31時隙與當(dāng)前幀0時隙之間的切換,因為需要同時檢測同步信號,并且狀態(tài)轉(zhuǎn)換和總線數(shù)據(jù)加載都在C2上升沿完成。發(fā)送模塊的Verilog HDL實現(xiàn)可劃分為兩部分,與接收模塊劃分不同,這里已把發(fā)送數(shù)據(jù)的操作嵌入到了同步檢測和定位計數(shù)當(dāng)中,當(dāng)然也可嚴(yán)格按功能塊劃分。
評論