1.一種基于FPGA的HDLC收發(fā)控制器,其特征在于,所述HDLC收發(fā)控制器在FPGA上實(shí)現(xiàn)HDLC的收發(fā)控制功能,所述HDLC收發(fā)控制器包括:
處理器接口模塊、HDLC發(fā)送模塊和HDLC接收模塊;
所述處理器接口模塊用于:為所述處理器提供接口,與所述處理器進(jìn)行數(shù)據(jù)交換,控制所述HDLC發(fā)送模塊和HDLC接收模塊,若所述處理器的處理周期小于所述HDLC收發(fā)控制器的處理周期,在所述處理器執(zhí)行完一次讀/寫操作后所述處理器接口模塊即回歸空閑狀態(tài),若所述處理器的處理周期大于或等于所述HDLC收發(fā)控制器的處理周期,在所述處理器執(zhí)行一次讀/寫操作時所述處理器接口模塊進(jìn)入寫等待狀態(tài),直至所述讀/寫操作結(jié)束才回歸空閑狀態(tài);
所述HDLC發(fā)送模塊用于:接收所述處理器寫入的數(shù)據(jù)并編碼成HDLC幀,向與所述處理器通信的裝置發(fā)送編碼后的HDLC幀;
所述HDLC接收模塊用于:接收與所述處理器通信的裝置發(fā)送的HDLC幀并進(jìn)行解碼,存儲解碼后的數(shù)據(jù),并向所述處理器發(fā)送中斷信號以使所述處理器讀取所述解碼后的數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的HDLC收發(fā)控制器,其特征在于,所述HDLC發(fā)送模塊包括:
HDLC發(fā)送狀態(tài)寄存器,用于標(biāo)識所述HDLC發(fā)送模塊的狀態(tài);
第一數(shù)據(jù)緩存器,用于接收并存儲所述處理器寫入的數(shù)據(jù);
校驗(yàn)碼生成單元,用于將所述第一數(shù)據(jù)緩存器中存儲的數(shù)據(jù)生成循環(huán)冗余檢查CRC-16校驗(yàn)碼;
時鐘同步單元,用于對所述校驗(yàn)碼進(jìn)行時鐘同步;
數(shù)據(jù)插0單元,用于對時鐘同步后的校驗(yàn)碼進(jìn)行并/串轉(zhuǎn)換和插0處理;
標(biāo)志位插入單元,用于對進(jìn)行并/串轉(zhuǎn)換和插0操作后的數(shù)據(jù)插上幀頭幀尾,得到編碼后的HDLC幀;
發(fā)送單元,用于向與所述處理器通信的裝置發(fā)送編碼后的HDLC幀。
3.根據(jù)權(quán)利要求1所述的HDLC收發(fā)控制器,其特征在于,所述HDLC接收模塊包括:
接收單元,用于接收與所述處理器通信的裝置發(fā)送的HDLC幀;
幀識別單元,用于對接收到的HDLC幀進(jìn)行幀識別并去掉幀頭幀尾;
去除零碼單元,用于對幀識別后的HDLC幀數(shù)據(jù)進(jìn)行去除零碼處理和串/并轉(zhuǎn)換;
時鐘同步單元,用于對去除零碼處理和串/并轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行時鐘同步;
校驗(yàn)單元,用于對時鐘同步后的數(shù)據(jù)進(jìn)行CRC校驗(yàn);
第二數(shù)據(jù)緩存器,用于存儲進(jìn)行CRC校驗(yàn)后的數(shù)據(jù),并在滿足預(yù)設(shè)條件時向所述處理器發(fā)送中斷信號以使所述處理器讀取所述解碼后的數(shù)據(jù);
HDLC接收狀態(tài)寄存器,用于標(biāo)識所述HDLC接收模塊的狀態(tài)。
4.根據(jù)權(quán)利要求1所述的HDLC收發(fā)控制器,其特征在于,所述處理器接口模塊包括:地址線、數(shù)據(jù)線、片選信號、寫信號、讀信號和中斷信號。