IRIG-B格式時(shí)間碼解碼接口卡電路設(shè)計(jì)
發(fā)布時(shí)間:2008/5/27 0:00:00 訪問次數(shù):1481
關(guān)鍵詞:單片機(jī) 解碼 接口 irig-b格式
一、 irig-b格式碼的格式與規(guī)范
圖 1為 b(dc)碼示意圖。它是每秒一幀的時(shí)間串碼,每個(gè)碼元寬度為10ms,一個(gè)時(shí)幀周期包括100個(gè)碼元,為脈寬編碼。碼元的"準(zhǔn)時(shí)"參考點(diǎn)是其脈沖前沿,時(shí)幀的參考標(biāo)志由一個(gè)位置識(shí)別標(biāo)志和相鄰的參考碼元組成,其寬度為8ms;每10個(gè)碼元有一個(gè)位置識(shí)別標(biāo)志:p1,p2,p3,…,p9,p0,它們均為8ms寬度;pr為幀參考點(diǎn);二進(jìn)制"1"和"0"的脈寬為5ms和2ms。
一個(gè)時(shí)間格式幀從幀參考標(biāo)志開始。因此連續(xù)兩個(gè)8ms寬脈沖表明秒的開始,如果從第二個(gè)8ms開始對(duì)碼元進(jìn)行編碼,分別為第0,1,2,…,99個(gè)碼元。在b碼時(shí)間格式中含有天、時(shí)、分、秒,時(shí)序?yàn)槊?分-時(shí)-天,所占信息位為秒7位、分7位、時(shí)6位、天10位,其位置在p0~p5之間。p6~p0包含其他控制信息。其中"秒"信息:第1,2,3,4,6,7,8碼元;"分"信息:第10,11,12,13,15,16,17碼元;"時(shí)"信息:第20,21,22,23,25,26,27碼元;第5,14,24碼元為索引標(biāo)志,寬度為2ms。時(shí)、分、秒均用bcd碼表示,低位在前,高位在后;個(gè)位在前,十位在后。
圖 1 b(dc)碼示意圖
二、 b碼解碼接口卡設(shè)計(jì)方案
b碼解碼接口卡功能框圖如圖2所示。
對(duì)b碼進(jìn)行解碼就是將b碼中所包含的時(shí)、分、秒信息提取出來,轉(zhuǎn)換成主計(jì)算機(jī)能夠識(shí)別的形式,同時(shí)以秒的準(zhǔn)時(shí)點(diǎn)為參考,生成毫秒信息,一同送入主計(jì)算機(jī)中。解碼的關(guān)鍵在于檢測(cè)b碼中各個(gè)碼元的高電平寬度,首先要檢測(cè)連續(xù)兩個(gè)8ms寬的碼元出現(xiàn)的位置,然后再檢測(cè)隨后的30個(gè)碼元脈沖寬度,以確定時(shí)、分、秒。這里不檢測(cè)天的值,天可以直接在主計(jì)算機(jī)上設(shè)置。
檢測(cè)高電平寬度:將b碼送入單片機(jī)89c51的int0端,在int0引腳由低電平變?yōu)楦唠娖綍r(shí),啟動(dòng)單片機(jī)的內(nèi)部定時(shí)器t0,開始計(jì)數(shù);在int0引腳由高變低時(shí)(即下降沿),觸發(fā)int0中斷,讀取計(jì)數(shù)器的值,脈沖寬度等于計(jì)數(shù)值乘以計(jì)數(shù)周期。
形成毫秒值:將1khz信號(hào)接到單片機(jī)的int1端,每毫秒產(chǎn)生一次中斷。int1中斷處理程序完成毫秒計(jì)數(shù),當(dāng)計(jì)到1000ms時(shí)完成秒加1。
圖 2 "b碼解碼接口卡"功能框圖
三、 電路設(shè)計(jì)
1 電路設(shè)計(jì)方案1
方案1中,輸入輸出模塊由5片鎖存器構(gòu)成,接口控制簡(jiǎn)單,如圖3所示。
圖 3 b碼解碼接口卡電路 來自時(shí)統(tǒng)設(shè)備的irig-b(dc)碼,為rs422接口信號(hào),經(jīng)轉(zhuǎn)換后變?yōu)閠tl電平,送至單片機(jī)89c51的int0端。單片機(jī)初始化設(shè)置中,定時(shí)器t0工作在模式1,采用內(nèi)部時(shí)鐘。當(dāng)int0引腳由低到高時(shí),定時(shí)器t0開始計(jì)時(shí);當(dāng)int0引腳由高變低時(shí),觸發(fā)int0中斷,執(zhí)行中斷服務(wù)程序,計(jì)算int0引腳的高電平寬度。根據(jù)寬度對(duì)b碼各脈沖進(jìn)行解碼,形成秒、分、時(shí)的bcd碼,存入單片機(jī)的內(nèi)部ram中。同時(shí),由頻率源產(chǎn)生的12mhz的信號(hào)經(jīng)分頻器后,輸出1khz信號(hào),送至單片機(jī)int1引腳,使1ms產(chǎn)生一次int1中斷,執(zhí)行int1中斷處理程序,對(duì)毫秒進(jìn)行計(jì)數(shù)。毫秒計(jì)數(shù)到1000時(shí),進(jìn)行秒加1,毫秒初值在b碼的準(zhǔn)時(shí)點(diǎn)進(jìn)行賦值。
單片機(jī)的p0口經(jīng)鎖存器ⅰ輸出地址線a0、a1,以控制兩個(gè)并行接口芯片8255的輸出端。單片機(jī)解碼和計(jì)數(shù)輸出的毫秒(2字節(jié))、秒(1字節(jié))、分(1字節(jié))、時(shí)(1字節(jié))bcd碼,在單片機(jī)的寫指令控制下,分五次送到兩片8255的不同端口。各端口經(jīng)鎖存器ⅱ~鎖存器ⅵ,將數(shù)據(jù)鎖存。單片機(jī)送出一組時(shí)間碼后,向主計(jì)算機(jī)發(fā)送中斷。主計(jì)算機(jī)響應(yīng)中斷后,依次讀取各鎖存器的值,即為當(dāng)前的時(shí)統(tǒng)時(shí)間。
鎖存器ⅱ~ⅵ的數(shù)據(jù)輸出端直接掛在eisa(isa)總線上,其片選信號(hào)cs1~cs5通過地址譯碼產(chǎn)生。
主計(jì)算機(jī)讀時(shí)應(yīng)能保證數(shù)據(jù)不處于變化中,因此,須將單片機(jī)的寫信號(hào)wr經(jīng)延時(shí)反向后,送到各鎖存器的le端,使數(shù)據(jù)被鎖存。主計(jì)算機(jī)內(nèi)設(shè)一存儲(chǔ)單元,存放前一秒的數(shù)據(jù)。當(dāng)前讀取的數(shù)據(jù)如果比前一秒多1,則認(rèn)為時(shí)間正確。
為避免板內(nèi)程序死循環(huán),在該板上設(shè)計(jì)了看門狗復(fù)位電路。在單片機(jī)板內(nèi)程序中,每隔一定時(shí)間對(duì)p1.6口進(jìn)行置1。計(jì)時(shí)器的最高位輸出端接至單片機(jī)的reset端。在正常情況下,p1.6口總能執(zhí)行置1操作,不會(huì)對(duì)單片機(jī)復(fù)位;但若程序中有死循環(huán),則p1.6口不被置1。當(dāng)計(jì)時(shí)器計(jì)到最高位輸出端為1時(shí),就會(huì)對(duì)單片機(jī)復(fù)位?撮T狗復(fù)位電路采用14位二進(jìn)制計(jì)數(shù)器4060,并具備上電復(fù)位和手動(dòng)復(fù)位的功能,其振蕩
關(guān)鍵詞:單片機(jī) 解碼 接口 irig-b格式
一、 irig-b格式碼的格式與規(guī)范
圖 1為 b(dc)碼示意圖。它是每秒一幀的時(shí)間串碼,每個(gè)碼元寬度為10ms,一個(gè)時(shí)幀周期包括100個(gè)碼元,為脈寬編碼。碼元的"準(zhǔn)時(shí)"參考點(diǎn)是其脈沖前沿,時(shí)幀的參考標(biāo)志由一個(gè)位置識(shí)別標(biāo)志和相鄰的參考碼元組成,其寬度為8ms;每10個(gè)碼元有一個(gè)位置識(shí)別標(biāo)志:p1,p2,p3,…,p9,p0,它們均為8ms寬度;pr為幀參考點(diǎn);二進(jìn)制"1"和"0"的脈寬為5ms和2ms。
一個(gè)時(shí)間格式幀從幀參考標(biāo)志開始。因此連續(xù)兩個(gè)8ms寬脈沖表明秒的開始,如果從第二個(gè)8ms開始對(duì)碼元進(jìn)行編碼,分別為第0,1,2,…,99個(gè)碼元。在b碼時(shí)間格式中含有天、時(shí)、分、秒,時(shí)序?yàn)槊?分-時(shí)-天,所占信息位為秒7位、分7位、時(shí)6位、天10位,其位置在p0~p5之間。p6~p0包含其他控制信息。其中"秒"信息:第1,2,3,4,6,7,8碼元;"分"信息:第10,11,12,13,15,16,17碼元;"時(shí)"信息:第20,21,22,23,25,26,27碼元;第5,14,24碼元為索引標(biāo)志,寬度為2ms。時(shí)、分、秒均用bcd碼表示,低位在前,高位在后;個(gè)位在前,十位在后。
圖 1 b(dc)碼示意圖
二、 b碼解碼接口卡設(shè)計(jì)方案
b碼解碼接口卡功能框圖如圖2所示。
對(duì)b碼進(jìn)行解碼就是將b碼中所包含的時(shí)、分、秒信息提取出來,轉(zhuǎn)換成主計(jì)算機(jī)能夠識(shí)別的形式,同時(shí)以秒的準(zhǔn)時(shí)點(diǎn)為參考,生成毫秒信息,一同送入主計(jì)算機(jī)中。解碼的關(guān)鍵在于檢測(cè)b碼中各個(gè)碼元的高電平寬度,首先要檢測(cè)連續(xù)兩個(gè)8ms寬的碼元出現(xiàn)的位置,然后再檢測(cè)隨后的30個(gè)碼元脈沖寬度,以確定時(shí)、分、秒。這里不檢測(cè)天的值,天可以直接在主計(jì)算機(jī)上設(shè)置。
檢測(cè)高電平寬度:將b碼送入單片機(jī)89c51的int0端,在int0引腳由低電平變?yōu)楦唠娖綍r(shí),啟動(dòng)單片機(jī)的內(nèi)部定時(shí)器t0,開始計(jì)數(shù);在int0引腳由高變低時(shí)(即下降沿),觸發(fā)int0中斷,讀取計(jì)數(shù)器的值,脈沖寬度等于計(jì)數(shù)值乘以計(jì)數(shù)周期。
形成毫秒值:將1khz信號(hào)接到單片機(jī)的int1端,每毫秒產(chǎn)生一次中斷。int1中斷處理程序完成毫秒計(jì)數(shù),當(dāng)計(jì)到1000ms時(shí)完成秒加1。
圖 2 "b碼解碼接口卡"功能框圖
三、 電路設(shè)計(jì)
1 電路設(shè)計(jì)方案1
方案1中,輸入輸出模塊由5片鎖存器構(gòu)成,接口控制簡(jiǎn)單,如圖3所示。
圖 3 b碼解碼接口卡電路 來自時(shí)統(tǒng)設(shè)備的irig-b(dc)碼,為rs422接口信號(hào),經(jīng)轉(zhuǎn)換后變?yōu)閠tl電平,送至單片機(jī)89c51的int0端。單片機(jī)初始化設(shè)置中,定時(shí)器t0工作在模式1,采用內(nèi)部時(shí)鐘。當(dāng)int0引腳由低到高時(shí),定時(shí)器t0開始計(jì)時(shí);當(dāng)int0引腳由高變低時(shí),觸發(fā)int0中斷,執(zhí)行中斷服務(wù)程序,計(jì)算int0引腳的高電平寬度。根據(jù)寬度對(duì)b碼各脈沖進(jìn)行解碼,形成秒、分、時(shí)的bcd碼,存入單片機(jī)的內(nèi)部ram中。同時(shí),由頻率源產(chǎn)生的12mhz的信號(hào)經(jīng)分頻器后,輸出1khz信號(hào),送至單片機(jī)int1引腳,使1ms產(chǎn)生一次int1中斷,執(zhí)行int1中斷處理程序,對(duì)毫秒進(jìn)行計(jì)數(shù)。毫秒計(jì)數(shù)到1000時(shí),進(jìn)行秒加1,毫秒初值在b碼的準(zhǔn)時(shí)點(diǎn)進(jìn)行賦值。
單片機(jī)的p0口經(jīng)鎖存器ⅰ輸出地址線a0、a1,以控制兩個(gè)并行接口芯片8255的輸出端。單片機(jī)解碼和計(jì)數(shù)輸出的毫秒(2字節(jié))、秒(1字節(jié))、分(1字節(jié))、時(shí)(1字節(jié))bcd碼,在單片機(jī)的寫指令控制下,分五次送到兩片8255的不同端口。各端口經(jīng)鎖存器ⅱ~鎖存器ⅵ,將數(shù)據(jù)鎖存。單片機(jī)送出一組時(shí)間碼后,向主計(jì)算機(jī)發(fā)送中斷。主計(jì)算機(jī)響應(yīng)中斷后,依次讀取各鎖存器的值,即為當(dāng)前的時(shí)統(tǒng)時(shí)間。
鎖存器ⅱ~ⅵ的數(shù)據(jù)輸出端直接掛在eisa(isa)總線上,其片選信號(hào)cs1~cs5通過地址譯碼產(chǎn)生。
主計(jì)算機(jī)讀時(shí)應(yīng)能保證數(shù)據(jù)不處于變化中,因此,須將單片機(jī)的寫信號(hào)wr經(jīng)延時(shí)反向后,送到各鎖存器的le端,使數(shù)據(jù)被鎖存。主計(jì)算機(jī)內(nèi)設(shè)一存儲(chǔ)單元,存放前一秒的數(shù)據(jù)。當(dāng)前讀取的數(shù)據(jù)如果比前一秒多1,則認(rèn)為時(shí)間正確。
為避免板內(nèi)程序死循環(huán),在該板上設(shè)計(jì)了看門狗復(fù)位電路。在單片機(jī)板內(nèi)程序中,每隔一定時(shí)間對(duì)p1.6口進(jìn)行置1。計(jì)時(shí)器的最高位輸出端接至單片機(jī)的reset端。在正常情況下,p1.6口總能執(zhí)行置1操作,不會(huì)對(duì)單片機(jī)復(fù)位;但若程序中有死循環(huán),則p1.6口不被置1。當(dāng)計(jì)時(shí)器計(jì)到最高位輸出端為1時(shí),就會(huì)對(duì)單片機(jī)復(fù)位?撮T狗復(fù)位電路采用14位二進(jìn)制計(jì)數(shù)器4060,并具備上電復(fù)位和手動(dòng)復(fù)位的功能,其振蕩
熱門點(diǎn)擊
- AMCCS5933在PCI板卡設(shè)計(jì)中的應(yīng)用
- IRIG-B格式時(shí)間碼解碼接口卡電路設(shè)計(jì)
- 可編程多協(xié)議收發(fā)器MAX3160的原理與應(yīng)用
- 基于IP核的PCI總線接口設(shè)計(jì)與實(shí)現(xiàn)
- M-Bus終端收發(fā)芯片TSS721的原理及應(yīng)
- SN75176在微機(jī)多點(diǎn)通訊中的應(yīng)用
- USB總線的體系結(jié)構(gòu)
- 三電平SIM/SMART 卡接口電路
- 串行AD轉(zhuǎn)換器TLC2543與51單片機(jī)的接
- 增強(qiáng)并口EPP協(xié)議擴(kuò)展計(jì)算機(jī)的ISA接口
推薦技術(shù)資料
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號(hào)調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究