一種紅外解碼IP核在SoPC系統(tǒng)中的設(shè)計(jì)與實(shí)現(xiàn)
紅外解碼IP核包括紅外解碼邏輯和Avalon總線接入邏輯兩個(gè)部分,其端口描述如圖5所示。
2.1 紅外解碼邏輯的設(shè)計(jì)
紅外解碼邏輯的設(shè)計(jì)核心是:采用脈沖計(jì)數(shù)的方法,檢測(cè)IRM-338S接收管輸出的IR_OUT信號(hào)在連續(xù)兩次跳沿間處于高電平或低電平的時(shí)間,進(jìn)而判斷出每個(gè)位元的類(lèi)型和對(duì)應(yīng)信息,把位元信息組成字節(jié),將字節(jié)還原成幀,實(shí)現(xiàn)紅外解碼。該邏輯的設(shè)計(jì)框架見(jiàn)圖6。
(1)時(shí)鐘分頻邏輯。在紅外通信協(xié)議中,IR_OUT信號(hào)在連續(xù)2次跳沿間的最小電平持續(xù)時(shí)間為0.56 ms。為精確檢測(cè)該電乎的持續(xù)時(shí)間,選取周期為40μs時(shí)鐘脈沖信號(hào)對(duì)電平進(jìn)行計(jì)數(shù)。該時(shí)鐘脈沖信號(hào)由Avalon總線的csi_clock_clk信號(hào)分頻得到。位元檢測(cè)解碼邏輯:檢測(cè)IR_OUT信號(hào)的跳沿,以跳沿為計(jì)數(shù)起始和結(jié)束點(diǎn),使用時(shí)鐘脈沖信號(hào)對(duì)位元電平進(jìn)行計(jì)數(shù)。位元解碼邏輯將計(jì)數(shù)結(jié)果轉(zhuǎn)換成位元信息,并輸出位元結(jié)束信號(hào)。在位元解碼邏輯中,考慮到實(shí)際硬件誤差,用不同的計(jì)數(shù)范圍對(duì)應(yīng)各種位元信息,具體對(duì)應(yīng)關(guān)系見(jiàn)表2。
(2)字節(jié)檢測(cè)解碼邏輯。檢測(cè)位元結(jié)束信號(hào)并進(jìn)行計(jì)數(shù),將連續(xù)8個(gè)位元的信息填充成1個(gè)字節(jié),輸出字節(jié)結(jié)束信號(hào)。幀檢測(cè)解碼邏輯:檢測(cè)字節(jié)結(jié)束信號(hào)并進(jìn)行計(jì)數(shù),將連續(xù)4個(gè)字節(jié)的信息填充成1個(gè)紅外數(shù)據(jù)幀,輸出解碼結(jié)束信號(hào),用于產(chǎn)生中斷;使用SignaltapⅡ?qū)υO(shè)計(jì)的紅外解碼邏輯進(jìn)行測(cè)試,其中位元檢測(cè)解碼邏輯時(shí)序見(jiàn)圖7。由圖可知,在40μs時(shí)鐘脈沖信號(hào)下,位元“0”的高電平持續(xù)14個(gè)脈沖,低電平持續(xù)14個(gè)脈沖;位元“1”的高電平持續(xù)14個(gè)脈沖,低電平持續(xù)43個(gè)脈沖。測(cè)試結(jié)果與理論分析一致。
評(píng)論