基于1553B總線協(xié)議的解碼器設(shè)計(jì)和FPGA實(shí)現(xiàn)
同步頭檢出模塊是檢測(cè)1553B三種類型字的同步頭。如圖2所示,命令字和狀態(tài)字的同步頭是先高電平后低電平,數(shù)據(jù)字的同步頭是先低電平后高電平,三種字的同步頭的高低電平各占1.5 μs。在用Verilog HDL硬件描述語(yǔ)言設(shè)計(jì)中,本文通過設(shè)置兩個(gè)計(jì)數(shù)器,分別在時(shí)鐘信號(hào)上升沿的時(shí)候給高低電平計(jì)數(shù),理論上說(shuō)兩個(gè)計(jì)數(shù)器都等于24的時(shí)候,同步頭才算檢出。但是要考慮到tco的影響,設(shè)計(jì)中當(dāng)兩個(gè)計(jì)數(shù)器到等于22的時(shí)候,就說(shuō)同步頭檢出,這時(shí)產(chǎn)生message ready信號(hào),告訴狀態(tài)機(jī)要開啟數(shù)據(jù)處理模塊。如圖5所示,是同步頭檢出頂層圖。本文引用地址:http://www.ex-cimer.com/article/191237.htm
數(shù)據(jù)處理模塊是正確解碼后面的有效信息位,包括串并轉(zhuǎn)換、數(shù)據(jù)錯(cuò)誤檢測(cè)、校驗(yàn)位檢測(cè)。如圖6所示,利用把16MHz時(shí)鐘8分頻產(chǎn)生的2MHz的采樣信號(hào)對(duì)總線數(shù)據(jù)進(jìn)行采樣,可以在每一碼位的1/4周期處和3/4周期處采樣,這樣采樣的信號(hào)最可靠。當(dāng)一碼位兩次采樣的值不一樣時(shí),就認(rèn)為數(shù)據(jù)正確,并將第一次采樣的值發(fā)送給數(shù)據(jù)寄存器。如果一碼位兩次采樣的值相等,就認(rèn)為數(shù)據(jù)錯(cuò)誤,產(chǎn)生數(shù)據(jù)錯(cuò)誤信號(hào)dataerror。當(dāng)數(shù)據(jù)寄存器的前十六位的和除以2的余數(shù)等于第十七的數(shù)據(jù)時(shí),就認(rèn)為奇校驗(yàn)正確。否則就認(rèn)為錯(cuò)誤,并產(chǎn)生奇校驗(yàn)錯(cuò)誤信號(hào)verify_error信號(hào)。圖7所示為數(shù)據(jù)處理頂層圖。
評(píng)論