0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

B碼解碼接口卡的電路設(shè)計(jì)方案分析

電子設(shè)計(jì) ? 來源:單片機(jī)與嵌入式系統(tǒng)應(yīng)用 ? 作者: 張向榮 ? 2020-11-19 10:14 ? 次閱讀

一、 IRIG-B格式碼的格式與規(guī)范

圖1為B(DC)碼示意圖。它是每秒一幀的時(shí)間串碼,每個(gè)碼元寬度為10ms,一個(gè)時(shí)幀周期包括100個(gè)碼元,為脈寬編碼。碼元的“準(zhǔn)時(shí)”參考點(diǎn)是其脈沖前沿,時(shí)幀的參考標(biāo)志由一個(gè)位置識別標(biāo)志和相鄰的參考碼元組成,其寬度為8ms;每10個(gè)碼元有一個(gè)位置識別標(biāo)志:P1,P2,P3,…,P9,P0,它們均為8ms寬度;PR為幀參考點(diǎn);二進(jìn)制“1”和“0”的脈寬為5ms和2ms。

B碼解碼接口卡的電路設(shè)計(jì)方案分析

圖1 B(DC)碼示意圖

一個(gè)時(shí)間格式幀從幀參考標(biāo)志開始。因此連續(xù)兩個(gè)8ms寬脈沖表明秒的開始,如果從第二個(gè)8ms開始對碼元進(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è)位在前,十位在后。

二、 B碼解碼接口卡設(shè)計(jì)方案

B碼解碼接口卡功能框圖如圖2所示。

圖2 “B碼解碼接口卡”功能框圖

對B碼進(jìn)行解碼就是將B碼中所包含的時(shí)、分、秒信息提取出來,轉(zhuǎn)換成主計(jì)算機(jī)能夠識別的形式,同時(shí)以秒的準(zhǔn)時(shí)點(diǎn)為參考,生成毫秒信息,一同送入主計(jì)算機(jī)中。解碼的關(guān)鍵在于檢測B碼中各個(gè)碼元的高電平寬度,首先要檢測連續(xù)兩個(gè)8ms寬的碼元出現(xiàn)的位置,然后再檢測隨后的30個(gè)碼元脈沖寬度,以確定時(shí)、分、秒。這里不檢測天的值,天可以直接在主計(jì)算機(jī)上設(shè)置。

圖3 B碼解碼接口卡電路

檢測高電平寬度:將B碼送入單片機(jī)89C51的INT0端,在INT0引腳由低電平變?yōu)楦唠娖綍r(shí),啟動單片機(jī)的內(nèi)部定時(shí)器T0,開始計(jì)數(shù);在INT0引腳由高變低時(shí)(即下降沿),觸發(fā)INT0中斷,讀取計(jì)數(shù)器的值,脈沖寬度等于計(jì)數(shù)值乘以計(jì)數(shù)周期。

形成毫秒值:將1kHz信號接到單片機(jī)的INT1端,每毫秒產(chǎn)生一次中斷。INT1中斷處理程序完成毫秒計(jì)數(shù),當(dāng)計(jì)到1000ms時(shí)完成秒加1。

三、 電路設(shè)計(jì)

1 電路設(shè)計(jì)方案1

方案1中,輸入輸出模塊由5片鎖存器構(gòu)成,接口控制簡單,如圖3所示。

來自時(shí)統(tǒng)設(shè)備的IRIG-B(DC)碼,為RS422接口信號,經(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ù)寬度對B碼各脈沖進(jìn)行解碼,形成秒、分、時(shí)的BCD碼,存入單片機(jī)的內(nèi)部RAM中。同時(shí),由頻率源產(chǎn)生的12MHz的信號經(jīng)分頻器后,輸出1kHz信號,送至單片機(jī)INT1引腳,使1ms產(chǎn)生一次INT1中斷,執(zhí)行INT1中斷處理程序,對毫秒進(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í)間。

圖4 FIFO實(shí)現(xiàn)輸入輸出控制原理圖

鎖存器Ⅱ”Ⅵ的數(shù)據(jù)輸出端直接掛在EISA(ISA)總線上,其片選信號CS1“CS5通過地址譯碼產(chǎn)生。

主計(jì)算機(jī)讀時(shí)應(yīng)能保證數(shù)據(jù)不處于變化中,因此,須將單片機(jī)的寫信號WR經(jīng)延時(shí)反向后,送到各鎖存器的LE端,使數(shù)據(jù)被鎖存。主計(jì)算機(jī)內(nèi)設(shè)一存儲單元,存放前一秒的數(shù)據(jù)。當(dāng)前讀取的數(shù)據(jù)如果比前一秒多1,則認(rèn)為時(shí)間正確。

為避免板內(nèi)程序死循環(huán),在該板上設(shè)計(jì)了看門狗復(fù)位電路。在單片機(jī)板內(nèi)程序中,每隔一定時(shí)間對P1.6口進(jìn)行置1。計(jì)時(shí)器的最高位輸出端接至單片機(jī)的Reset端。在正常情況下,P1.6口總能執(zhí)行置1操作,不會對單片機(jī)復(fù)位;但若程序中有死循環(huán),則P1.6口不被置1。當(dāng)計(jì)時(shí)器計(jì)到最高位輸出端為1時(shí),就會對單片機(jī)復(fù)位??撮T狗復(fù)位電路采用14位二進(jìn)制計(jì)數(shù)器4060,并具備上電復(fù)位和手動復(fù)位的功能,其振蕩周期由外接電阻、電容的大小決定。

2 電路設(shè)計(jì)方案2

方案2如圖4所示。解碼原理同方案1。該電路采用FIFO(IDT7201)加狀態(tài)寄存器和緩沖器,實(shí)現(xiàn)單片機(jī)與主計(jì)算機(jī)之間的數(shù)據(jù)傳輸,無需8255和鎖存器,器件較少,但相應(yīng)地會增加軟件控制的工作量。單片機(jī)解碼后,在每幀數(shù)據(jù)前加上標(biāo)志碼,輸出時(shí)、分、秒、毫秒信息,在寫信號的控制下,經(jīng)緩沖器送入FIFO中。主計(jì)算機(jī)查詢狀態(tài)寄存器,了解FIFO的狀態(tài)(空、滿、半滿)后,讀取FIFO中的數(shù)據(jù)。這里用FIFO的8位數(shù)據(jù)線。

IDT7201為先進(jìn)先出雙口存儲器。內(nèi)部RAM:512×9,設(shè)有空標(biāo)志(EF)、滿標(biāo)志(FF)和半滿標(biāo)志(HF),以避免數(shù)據(jù)溢出和空讀。讀、寫數(shù)據(jù)通過內(nèi)部循環(huán)指針,無須地址信息存取數(shù)據(jù)。

IDT7201復(fù)位時(shí),空標(biāo)志(EF)置0;滿標(biāo)志(FF)和半滿標(biāo)志(HF)置1;讀、寫指針設(shè)到初始位置。當(dāng)寫信號()由高變低時(shí),若滿標(biāo)志(FF)為1,則開始寫循環(huán),將數(shù)據(jù)寫入RAM中,不受任何讀操作的影響;當(dāng)RAM半滿時(shí),HF置0;當(dāng)寫指針比讀指針小1時(shí),表明緩沖區(qū)已滿,F(xiàn)F置0,禁止寫操作。當(dāng)讀信號()由低到高時(shí),如果EF為1,則開始讀循環(huán),數(shù)據(jù)以FIFO的方式讀出;當(dāng)所有數(shù)據(jù)均讀出,讀指針等于寫指針,緩沖區(qū)已空,EF置0,禁止讀操作。在緩沖區(qū)空或滿時(shí),、信號的外部變化,不影響FIFO。

四、 板內(nèi)程序設(shè)計(jì)流程

在單片機(jī)內(nèi)部RAM中,用可位尋址的21H、22H、23H、24H單元分別存放“秒”、“分”、“時(shí)”BCD碼和幀標(biāo)志等,如表1所列。

表1 時(shí)間碼存放表

INT0、INTI中斷處理程序如圖5和圖6所示。

圖5 INT0中斷處理程序流程圖

圖6 INT1中斷處理程序流程圖

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6030

    文章

    44491

    瀏覽量

    632005
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8450

    瀏覽量

    150726
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7372

    瀏覽量

    87635
收藏 人收藏

    評論

    相關(guān)推薦

    基于USB的接口卡

    介紹了一種基于USB 總線接口卡系統(tǒng),利用此上預(yù)留的幾種常用接口,用戶板可以非常方便的通過USB 總線與計(jì)算機(jī)交換數(shù)據(jù)。關(guān)鍵詞:USB CPLD PDIUSBD12 總線Abstract: A kind of interfa
    發(fā)表于 08-05 16:11 ?25次下載

    使用TDS3000B DPO測試網(wǎng)絡(luò)接口卡

    使用TDS3000B DPO測試網(wǎng)絡(luò)接口卡:由于高速電接口(如STM-1E和STS-3)和光接口(如OC-192)的出現(xiàn),電信網(wǎng)絡(luò)的數(shù)據(jù)速率不斷攀升,但是,當(dāng)前網(wǎng)絡(luò)接入設(shè)備的“賴以為生
    發(fā)表于 10-17 17:31 ?25次下載

    基于HART協(xié)議的智能執(zhí)行器接口卡的開發(fā)

    基于HART協(xié)議的智能執(zhí)行器接口卡的開發(fā) 為了滿足工業(yè)現(xiàn)場儀表的通信要求,設(shè)計(jì)了符合HART 協(xié)議的智能執(zhí)行器通信接口卡。詳細(xì)闡述了智能執(zhí)行器通信接口
    發(fā)表于 02-22 15:53 ?43次下載

    模塊接口卡

    模塊接口卡 模塊和接口卡是針對中高檔的模塊化路由器、交換機(jī)產(chǎn)品而言的,對于固定配置的路由器和交換機(jī)而言不涉及模塊和接口卡。通常網(wǎng)絡(luò)
    發(fā)表于 01-07 14:11 ?700次閱讀

    廣域網(wǎng)接口卡/WIC

    廣域網(wǎng)接口卡/WIC  WIC是WAN Interface Card的縮寫,譯為廣域網(wǎng)接口卡。而VWIC是Voice/WAN Interface的縮寫,是指語音/廣域網(wǎng)接口卡。   
    發(fā)表于 01-07 14:16 ?1341次閱讀

    網(wǎng)絡(luò)接口卡,什么是網(wǎng)絡(luò)接口卡

    網(wǎng)絡(luò)接口卡,什么是網(wǎng)絡(luò)接口卡 NIC是安裝在計(jì)算機(jī)上并提供網(wǎng)絡(luò)連接點(diǎn)的適配器。它的作用是將數(shù)據(jù)分解為適當(dāng)大
    發(fā)表于 04-03 14:12 ?1928次閱讀

    基于PCI局部總線的1553B總線接口卡設(shè)計(jì)

    根據(jù)1553B數(shù)據(jù)總線協(xié)議及其接口技術(shù)要求,設(shè)計(jì)了一種基于PCI局部總線的1553B總線接口卡。系統(tǒng)使用PLX公司的PCI9052和DDC公司的1553
    發(fā)表于 07-31 14:09 ?3368次閱讀
    基于PCI局部總線的1553<b class='flag-5'>B</b>總線<b class='flag-5'>接口卡</b>設(shè)計(jì)

    基于FPGA技術(shù)的RS232接口時(shí)序電路設(shè)計(jì)方案

    基于FPGA技術(shù)的RS232接口時(shí)序電路設(shè)計(jì)方案
    發(fā)表于 01-26 11:36 ?29次下載

    哪些可以插在多媒體的接口卡

    多媒體接口卡是根據(jù)多媒體系統(tǒng)獲取、編輯音頻或視頻的需要插接在計(jì)算機(jī)上,以解決各種媒體數(shù)據(jù)的輸入輸出問題的接口卡。
    發(fā)表于 08-21 17:09 ?1823次閱讀

    485接口EMC電路設(shè)計(jì)方案

    485接口EMC電路設(shè)計(jì)方案!
    的頭像 發(fā)表于 02-05 12:53 ?4707次閱讀

    B解碼接口卡電路的兩種設(shè)計(jì)方案的應(yīng)用

    圖1為B(DC)示意圖。它是每秒一幀的時(shí)間串,每個(gè)碼元寬度為10ms,一個(gè)時(shí)幀周期包括100個(gè)碼元,為脈寬編碼。碼元的“準(zhǔn)時(shí)”參考點(diǎn)是其脈沖前沿,時(shí)幀的參考標(biāo)志由一個(gè)位置識別標(biāo)志和相鄰的參考碼元
    的頭像 發(fā)表于 03-22 11:28 ?4127次閱讀
    <b class='flag-5'>B</b><b class='flag-5'>碼</b><b class='flag-5'>解碼</b><b class='flag-5'>接口卡</b><b class='flag-5'>電路</b>的兩種<b class='flag-5'>設(shè)計(jì)方案</b>的應(yīng)用

    AC24V接口EMC標(biāo)準(zhǔn)電路設(shè)計(jì)方案

    AC24V接口EMC標(biāo)準(zhǔn)電路設(shè)計(jì)方案
    發(fā)表于 07-12 11:16 ?37次下載

    AV接口EMC標(biāo)準(zhǔn)電路設(shè)計(jì)方案

    AV接口EMC標(biāo)準(zhǔn)電路設(shè)計(jì)方案
    發(fā)表于 07-12 10:52 ?30次下載

    CAN總線接口EMC標(biāo)準(zhǔn)電路設(shè)計(jì)方案

    CAN總線接口EMC標(biāo)準(zhǔn)電路設(shè)計(jì)方案
    發(fā)表于 07-12 10:45 ?209次下載

    基于PC機(jī)USB接口充電電路設(shè)計(jì)方案

    電子發(fā)燒友網(wǎng)站提供《基于PC機(jī)USB接口充電電路設(shè)計(jì)方案.doc》資料免費(fèi)下載
    發(fā)表于 11-15 09:25 ?0次下載
    基于PC機(jī)USB<b class='flag-5'>接口</b>充電<b class='flag-5'>電路設(shè)計(jì)方案</b>