一種應(yīng)用于嵌入式系統(tǒng)的bch編碼裝置及其控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及BCH編碼技術(shù)領(lǐng)域,特別涉及一種應(yīng)用于嵌入式系統(tǒng)的BCH編碼裝置及其控制方法。
【背景技術(shù)】
[0002]BCH碼是一種循環(huán)碼,通過(guò)指定有限域上連續(xù)的根來(lái)構(gòu)造,具有多位的前向糾錯(cuò)能力。BCH (4200,4096,8)碼,是一種糾錯(cuò)能力為8,信息位為40961^丨,碼長(zhǎng)為420013^的糾錯(cuò)碼,在現(xiàn)代嵌入式和通信領(lǐng)域有著廣泛的應(yīng)用?,F(xiàn)在的BCH編碼電路一般是專(zhuān)用的電路,沒(méi)有考慮到可移植性和總線(xiàn)的數(shù)據(jù)匹配的問(wèn)題,使用的時(shí)候還需要再做其他的外圍電路設(shè)計(jì)或者改裝,延長(zhǎng)了系統(tǒng)的開(kāi)發(fā)周期,并且在實(shí)時(shí)速率要求較高的領(lǐng)域編碼速度顯得不足。
[0003]N1sII嵌入式系統(tǒng)是基于S0PC技術(shù),在FPGA內(nèi)實(shí)現(xiàn)S0C,方便建立各種硬件模塊,并且提供了大量的外設(shè)和系統(tǒng)的驅(qū)動(dòng)函數(shù),加速了系統(tǒng)的開(kāi)發(fā)流程,在現(xiàn)代電子領(lǐng)域有著越來(lái)越廣泛的應(yīng)用。
[0004]針對(duì)以上問(wèn)題,在可配置的N1s II嵌入式系統(tǒng)平臺(tái)上,本發(fā)明設(shè)計(jì)了一種應(yīng)用于嵌入式系統(tǒng)的BCH編碼裝置。可以有效的提高的編碼速率和總線(xiàn)兩端的數(shù)據(jù)匹配,并且大大提高了編碼電路的可移植性,可以方便的移植到嵌入式系統(tǒng)中去。
【發(fā)明內(nèi)容】
[0005]本發(fā)明為了彌補(bǔ)現(xiàn)有技術(shù)的缺陷,提供了一種簡(jiǎn)單高效的應(yīng)用于嵌入式系統(tǒng)的BCH編碼裝置及其控制方法。
[0006]本發(fā)明是通過(guò)如下技術(shù)方案實(shí)現(xiàn)的:
一種應(yīng)用于嵌入式系統(tǒng)的BCH編碼裝置,其特征在于:由Avalon從端口,內(nèi)部寄存器組,狀態(tài)機(jī),雙端口 RAM和BCH編碼電路模塊組成,所述Avalon從端口通過(guò)標(biāo)準(zhǔn)接口分別連接到與所述內(nèi)部寄存器組以及雙端口 RAM,所述狀態(tài)機(jī)分別與所述內(nèi)部寄存器組和BCH編碼電路模塊相連接,所述BCH編碼電路還連接到與雙端口 RAM ;同時(shí),所述Avalon從端口還連接到Avalon總線(xiàn),N1s II處理器通過(guò)Avalon總線(xiàn)連接到Avalon從端口,片上RAM作為N1s II處理器的程序存儲(chǔ)空間也連接到Avalon總線(xiàn)。
[0007]所述內(nèi)部寄存器組包括狀態(tài)寄存器,命令寄存器,中斷寄存器和地址寄存器,所述狀態(tài)寄存器,命令寄存器,中斷寄存器和地址寄存器均與Avalon從端口以及狀態(tài)機(jī)相連接。
[0008]所述BCH編碼電路模塊內(nèi)部包括并行計(jì)算矩陣和計(jì)算結(jié)果保存寄存器,所述并行計(jì)算矩陣與計(jì)算結(jié)果保存寄存器相互連接,且都與雙端口 RAM連接。
[0009]所述并行計(jì)算矩陣采用32位并行計(jì)算,與N1s II處理器32位數(shù)據(jù)位寬相匹配。
[0010]本發(fā)明應(yīng)用于嵌入式系統(tǒng)的BCH編碼裝置,由Verilog硬件描述語(yǔ)言設(shè)計(jì)。
[0011]本發(fā)明應(yīng)用于嵌入式系統(tǒng)的BCH編碼裝置的控制方法,其特征在于包括以下步驟: (1)在N1sII IDE開(kāi)發(fā)環(huán)境下編寫(xiě)B(tài)CH硬件編碼裝置的設(shè)備驅(qū)動(dòng)函數(shù),設(shè)備驅(qū)動(dòng)函數(shù)通過(guò)對(duì)寄存器映像的操作實(shí)現(xiàn)與硬件控制裝置的通信,完成對(duì)BCH編碼器電路和雙端口RAM的初始化;
(2)根據(jù)步驟(1)中編寫(xiě)的所述設(shè)備驅(qū)動(dòng)函數(shù),構(gòu)造出BCH編碼的系統(tǒng)的API函數(shù),包括初始化函數(shù),雙端口 RAM讀寫(xiě)函數(shù),命令寫(xiě)入函數(shù),地址寄存器寫(xiě)入函數(shù),檢查狀態(tài)寄存器函數(shù),中斷服務(wù)函數(shù)和報(bào)錯(cuò)函數(shù);
(3)對(duì)硬件系統(tǒng)上電復(fù)位,初始化BCH編碼電路和雙端口RAM ;
(4)N1s II處理器寫(xiě)入軟件初始化函數(shù),再次初始化,并檢查狀態(tài)寄存器,若成功進(jìn)行下一步,如果超過(guò)Is鐘仍不成功,則提示錯(cuò)誤;
(5)調(diào)用雙端口RAM寫(xiě)入函數(shù)和地址寄存器寫(xiě)入函數(shù),將編碼需要的信息位,寫(xiě)入雙端口 RAM,并將起始地址寫(xiě)入地址寄存器;
(6)調(diào)用命令寄存器寫(xiě)入函數(shù),寫(xiě)入控制命令,開(kāi)始編碼;
(7)等待響應(yīng)編碼完成中斷,若超過(guò)Is鐘系統(tǒng)未能響應(yīng)中斷則提示錯(cuò)誤;否則編碼完成,則表示完成了一次編碼。
[0012]本發(fā)明的有益效果是:該應(yīng)用于嵌入式系統(tǒng)的BCH編碼裝置及其控制方法,只需簡(jiǎn)單寫(xiě)入數(shù)據(jù)和指令,后續(xù)操作均由狀態(tài)機(jī)執(zhí)行,無(wú)需CPU參與,有效的提高了 BCH的計(jì)算速率,并且采用32位線(xiàn)寬,采用BCH (4200,4096,8)的碼字,有效的匹配了總線(xiàn)的寬度,并且接口設(shè)計(jì)符合總線(xiàn)規(guī)范,可以方便的移植到嵌入式系統(tǒng)中,大大減少開(kāi)發(fā)周期,具有廣闊的應(yīng)用前景。
【附圖說(shuō)明】
[0013]附圖1為本發(fā)明應(yīng)用于嵌入式系統(tǒng)的BCH編碼裝置結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0014]為了使本發(fā)明所要解決的技術(shù)問(wèn)題、技術(shù)方案及有益效果更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行詳細(xì)的說(shuō)明。應(yīng)當(dāng)說(shuō)明的是,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0015]該應(yīng)用于嵌入式系統(tǒng)的BCH編碼裝置,由Avalon從端口,內(nèi)部寄存器組,狀態(tài)機(jī),雙端口 RAM和BCH編碼電路模塊組成,所述Avalon從端口通過(guò)標(biāo)準(zhǔn)接口分別連接到與所述內(nèi)部寄存器組以及雙端口 RAM,所述狀態(tài)機(jī)分別與所述內(nèi)部寄存器組和BCH編碼電路模塊相連接,所述BCH編碼電路還連接到與雙端口 RAM ;同時(shí),所述Avalon從端口還連接到Avalon總線(xiàn),N1s II處理器通過(guò)Avalon總線(xiàn)連接到Avalon從端口,片上RAM作為N1sII處理器的程序存儲(chǔ)空間也連接到Avalon總線(xiàn)。
[0016]所述內(nèi)部寄存器組包括狀態(tài)寄存器,命令寄存器,中斷寄存器和地址寄存器,所述狀態(tài)寄存器,命令寄存器,中斷寄存器和地址寄存器均與Avalon從端口以及狀態(tài)機(jī)相連接。
[0017]所述BCH編碼電路模塊內(nèi)部包括并行計(jì)算矩陣和計(jì)算結(jié)果保存寄存器,所述并行計(jì)算矩陣與計(jì)算結(jié)果保存寄存器相互連接,且都與雙端口 RAM連接。
[0018]所述并行計(jì)算矩陣采用32位并行計(jì)算,與N1s II處理器32位數(shù)據(jù)位寬相匹配。
[0019]該應(yīng)用于嵌入式系統(tǒng)的BCH編碼裝置,由Verilog硬件描述語(yǔ)言設(shè)計(jì),可以方便地掛接在N1s II嵌入式系統(tǒng)的Avalon總線(xiàn)上,從而有效的實(shí)現(xiàn)數(shù)據(jù)匹配,方便移植并且具有較高的編碼效率。
[0020]該應(yīng)用于嵌入式系統(tǒng)的BCH編碼裝置,各部分的功能如下:
Avalon從端口:實(shí)現(xiàn)N1s II處理器對(duì)BCH編碼裝置的控制,接收來(lái)自處理器的控制信號(hào)。
當(dāng)前第1頁(yè)
1 
2