国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于PCI Express總線的同步時(shí)鐘卡的設(shè)計(jì)與實(shí)現(xiàn)

2017-05-09 03:22:26陳永志魏豐王旭東
電子設(shè)計(jì)工程 2017年1期
關(guān)鍵詞:雙口PC機(jī)刻度

陳永志,魏豐,王旭東

(華中科技大學(xué) 自動(dòng)化學(xué)院,湖北 武漢 430074)

基于PCI Express總線的同步時(shí)鐘卡的設(shè)計(jì)與實(shí)現(xiàn)

陳永志,魏豐,王旭東

(華中科技大學(xué) 自動(dòng)化學(xué)院,湖北 武漢 430074)

本文介紹了一種基于PCI Express(簡(jiǎn)稱PCI-E)總線的同步時(shí)鐘卡的設(shè)計(jì)與實(shí)現(xiàn),簡(jiǎn)要敘述了自行研發(fā)的PCI-E同步時(shí)鐘卡的系統(tǒng)架構(gòu)及工作原理?;诒究ㄐ∨繑?shù)據(jù)傳輸和響應(yīng)中斷的特點(diǎn),提出一種用CH367芯片聯(lián)合單片機(jī)、雙口RAM、CPLD等芯片來(lái)設(shè)計(jì)GPS同步時(shí)鐘卡的硬件設(shè)計(jì)方案,并用VC++開發(fā)設(shè)計(jì)應(yīng)用軟件用于滿足時(shí)間的測(cè)試與顯示需求。測(cè)試結(jié)果證明同步時(shí)鐘卡工作穩(wěn)定,保證了數(shù)據(jù)傳輸?shù)倪B續(xù)性和完整性。

PCI Express總線;CH367;小批量數(shù)據(jù);同步時(shí)鐘卡

時(shí)間是基礎(chǔ)研究、科技實(shí)驗(yàn)和自動(dòng)控制系統(tǒng)等領(lǐng)域的一個(gè)非常重要的參數(shù),它為電力自動(dòng)化系統(tǒng)中的時(shí)序計(jì)量提供了至關(guān)重要的時(shí)間基準(zhǔn)[1]。電力系統(tǒng)中的故障錄波和故障診斷等,需要毫秒級(jí)的精確時(shí)間計(jì)量。為了實(shí)現(xiàn)系統(tǒng)中各個(gè)設(shè)備之間時(shí)間的一致性和準(zhǔn)確性,系統(tǒng)中配備時(shí)鐘源進(jìn)行授時(shí),同步時(shí)鐘卡從時(shí)鐘源獲取高精度的時(shí)間,使系統(tǒng)中各個(gè)設(shè)備與主機(jī)時(shí)鐘源保持高精度的同步。

同步時(shí)鐘卡采用PCI-E總線的方式,PCI-E總線具有點(diǎn)對(duì)點(diǎn)串行互聯(lián),雙通道、高帶寬、傳輸速度快的特點(diǎn),總線性能的優(yōu)勢(shì)是非常明顯的[2-3]。由于同步時(shí)鐘卡傳輸?shù)臄?shù)據(jù)量小,速度快的特點(diǎn),本設(shè)計(jì)沒有采用應(yīng)用廣泛的PCI-E總線專用橋接芯片PEX系列,而是運(yùn)用一種新型的橋接芯片CH367來(lái)簡(jiǎn)化總線驅(qū)動(dòng)并加以實(shí)現(xiàn),從而大大簡(jiǎn)化硬件設(shè)計(jì)難度和制作成本。

1 同步時(shí)鐘卡系統(tǒng)架構(gòu)

自行研發(fā)的PCI-E同步時(shí)鐘卡,其總體結(jié)構(gòu)圖如圖1所示。本同步時(shí)鐘卡主要分為單片機(jī)控制,雙口RAM模塊,CPLD本地邏輯控制,CH367橋接芯片等部分組成。

圖1 系統(tǒng)總體結(jié)構(gòu)圖

同步時(shí)鐘卡從時(shí)鐘源接收時(shí)鐘信號(hào),單片機(jī)對(duì)信號(hào)進(jìn)行解析生成高精度的時(shí)間信息,根據(jù)控制邏輯CPLD產(chǎn)生的PPS秒脈沖中斷信號(hào)解碼IRIG-B格式時(shí)間碼[4],得到當(dāng)前基準(zhǔn)時(shí)間,并產(chǎn)生精確到200 μs的絕對(duì)時(shí)標(biāo),將時(shí)標(biāo)連續(xù)寫入雙口RAM中,PC機(jī)通過(guò)PCI-E總線控制CH367讀入雙口RAM中的200 μs的時(shí)標(biāo)信息,從而得到高精度的絕對(duì)時(shí)間。PC機(jī)可以主動(dòng)查詢雙口RAM中的數(shù)據(jù),也可以由外部事件通過(guò)中斷通知PC機(jī),從而讀取雙口RAM中的數(shù)據(jù)。文中主要介紹如何使用橋接芯片CH367,設(shè)計(jì)和實(shí)現(xiàn)PCI-E同步時(shí)鐘卡,完成外部數(shù)據(jù)與PC機(jī)的傳輸交換。

2 同步時(shí)鐘卡的硬件設(shè)計(jì)

PCI-E總線是第三代IO總線技術(shù),這是一種全新的總線規(guī)范[5]。不同于PCI總線的共享并行架構(gòu)方式,PCI-E總線采用的設(shè)備通訊方式是端到端的串行通信,這使得每個(gè)PCI-E設(shè)備都擁有獨(dú)自的數(shù)據(jù)連接,不同設(shè)備同時(shí)進(jìn)行數(shù)據(jù)交互時(shí)不會(huì)相互干擾,保障了數(shù)據(jù)傳輸?shù)耐暾院涂煽啃訹7-8]。下面介紹本同步時(shí)鐘卡數(shù)據(jù)交換電路設(shè)計(jì)和PCI-E總線接口的實(shí)現(xiàn)。

2.1 同步時(shí)鐘卡的數(shù)據(jù)交換設(shè)計(jì)

2.1.1 時(shí)間刻度的生成

為了滿足毫秒級(jí)的時(shí)間精確計(jì)量,因此設(shè)計(jì)200 μs的時(shí)間刻度足以滿足要求,產(chǎn)生200 μs時(shí)間刻度的原理圖如圖2所示。恒溫晶振生成20 MHz的頻率,經(jīng)控制邏輯CPLD分頻產(chǎn)生5 kHz、25 Hz、秒脈沖等信號(hào)。IRIG-B碼時(shí)間信號(hào)對(duì)分頻產(chǎn)生的各種信號(hào)進(jìn)行同步處理。同步后的秒脈沖PPS信號(hào)用于中斷單片機(jī),單片機(jī)在中斷INT0中解碼IRIG-B時(shí)間碼得到精確的時(shí)標(biāo)信息,包含年、月、日、時(shí)、分、秒等信息,并存儲(chǔ)存在單片機(jī)中,并完成整秒清零操作,此刻時(shí)間精度為秒。同步產(chǎn)生的5 kHz用于中斷單片機(jī),每次中斷將200 μs的計(jì)數(shù)值加1,即每一個(gè)計(jì)數(shù)值代表200 μs,將時(shí)標(biāo)信息和毫秒計(jì)數(shù)值組合成時(shí)間刻度,使時(shí)間精確到毫秒級(jí)別。單片機(jī)控制片選選中雙口RAM芯片,控制WR信號(hào)有效,將時(shí)間刻度寫入雙口RAM中。

PC機(jī)要讀取解析后的時(shí)間刻度,高速PC機(jī)與低速單片機(jī)共享雙口RAM中的數(shù)據(jù),那么讀取速率不匹配會(huì)嚴(yán)重影響數(shù)據(jù)的準(zhǔn)確性和穩(wěn)定性。即當(dāng)PC機(jī)通過(guò)總線讀取雙口RAM中的數(shù)據(jù)時(shí),單片機(jī)此時(shí)也正在向雙口RAM中書刷新存儲(chǔ)數(shù)據(jù),則PC機(jī)無(wú)法讀到準(zhǔn)確的時(shí)間數(shù)據(jù),本設(shè)計(jì)采用一種奇偶頁(yè)數(shù)據(jù)交換的方案解決這個(gè)問(wèn)題。

2.1.2 奇偶頁(yè)的數(shù)據(jù)交換

為了解決數(shù)據(jù)讀取速度匹配問(wèn)題,可以將雙口RAM中的地址分為兩部分,奇頁(yè)和偶頁(yè),對(duì)應(yīng)地址區(qū)間為10H--1BH和20H--2BH。單片機(jī)交替向奇偶頁(yè)寫入時(shí)間刻度,時(shí)間刻度包含時(shí)標(biāo)信息和200 μs計(jì)數(shù)值。當(dāng)單片機(jī)向奇頁(yè)寫完時(shí)間刻度數(shù)據(jù)時(shí),將0FH地址中的數(shù)據(jù)標(biāo)志置為0x80,當(dāng)5 kHz中斷信號(hào)觸發(fā)中斷,將200 μs的計(jì)數(shù)值加1,寫入偶頁(yè)并置0FH地址中的數(shù)據(jù)標(biāo)志為0x00。如此交替分別向奇偶頁(yè)寫入數(shù)據(jù),共可寫2 500個(gè)時(shí)間刻度。當(dāng)上位機(jī)應(yīng)用軟件讀取數(shù)據(jù)時(shí),可根據(jù)0FH地址中的數(shù)據(jù)標(biāo)志來(lái)判斷哪一頁(yè)的數(shù)據(jù)是有效的。

圖2 200 μs時(shí)間刻度生成原理圖

圖3 雙口RAM數(shù)據(jù)格式圖

雙口RAM中地址00H--2BH中存儲(chǔ)數(shù)據(jù)的含義如圖3所示,其中地址10H--1BH為數(shù)據(jù)奇頁(yè),20H--2BH為數(shù)據(jù)偶頁(yè),地址0FH是PC機(jī)讀取時(shí)間刻度時(shí)判定奇偶頁(yè)中哪一頁(yè)數(shù)據(jù)為有效的標(biāo)志。地址00H--09H是用于PC機(jī)將時(shí)間數(shù)據(jù)寫入供單片機(jī)讀取,當(dāng)沒有時(shí)鐘源信號(hào)時(shí)用PC機(jī)的時(shí)間來(lái)對(duì)時(shí)同步時(shí)鐘卡。地址09H的值是時(shí)鐘數(shù)據(jù)準(zhǔn)備就緒標(biāo)記:若值為55H,則表示用PC機(jī)同步對(duì)時(shí);若值為00H,則表示PC機(jī)時(shí)間更新單片機(jī)完成。應(yīng)用程序要用PC機(jī)同步對(duì)時(shí),將當(dāng)前的PC機(jī)的時(shí)間寫入雙口RAM的地址00H--08H,地址09H的值置為55H。單片機(jī)查詢地址09H時(shí),若值為55H,則用該時(shí)間值更新時(shí)鐘芯片DS1302中的時(shí)間,并置09H的值為00H。

2.2 PCI-E總線接口實(shí)現(xiàn)

2.2.1 橋接芯片CH367性能簡(jiǎn)介

PCI-E總線的橋接芯片采用沁恒電子研發(fā)的一種新型橋接芯片CH367,能夠?qū)⒏咚俚腜CI-E轉(zhuǎn)換成易用的8位并行接口,支持I/O端口映射和擴(kuò)展ROM以及中斷請(qǐng)求。其主要特點(diǎn)是:支持I/O讀寫,自動(dòng)分配I/O基址,支持長(zhǎng)度為232字節(jié)的端口;存取數(shù)據(jù)可達(dá)到每秒1 MB;支持兩線串行接口的EEPROM用于存儲(chǔ)非易失數(shù)據(jù);支持電平中斷或邊沿中斷請(qǐng)求,支持中斷共享;內(nèi)含硬件計(jì)數(shù)單元,支持低功耗的睡眠模式等[10]。CH367芯片在需要的時(shí)候可進(jìn)入睡眠狀態(tài),可大大降低電流的功耗,本卡只是進(jìn)行小批量數(shù)據(jù)傳輸,需要中斷功能,使用該芯片開發(fā)簡(jiǎn)單節(jié)省開發(fā)時(shí)間,所以CH367是橋接芯片的最好選擇。

2.2.2 基于CH367的接口設(shè)計(jì)

CH367接口芯片與 PCI-E總線連接,可將CH367的8位數(shù)據(jù)總線 (D7-D0)和8位地址總線(A7-A0)分別與存儲(chǔ)器雙口RAM對(duì)應(yīng)的總線直接相連,通過(guò)控制讀信號(hào)RD和寫信號(hào)WR來(lái)實(shí)現(xiàn)對(duì)存儲(chǔ)器的訪問(wèn),CH367還能接受來(lái)自其他芯片的如CPLD或單片機(jī)的INT#中斷信號(hào),從而中斷PC機(jī)。通過(guò)CH367芯片的IIC總線可串聯(lián)EEPROM用于定制設(shè)備的VID和DID等信息,通過(guò)SPI總線可串來(lái)FLASH用于保存掉電后需要保存的應(yīng)用數(shù)據(jù)。PCI-E總線配置空間可被設(shè)備用來(lái)向系統(tǒng)提供設(shè)備自身的基本信息[11-12],系統(tǒng)也可以通過(guò)配置空間控制和獲取設(shè)備的狀態(tài),其中地址13H—10H這四個(gè)字節(jié)是用于存儲(chǔ)I/O基址值。I/O基址的相關(guān)寄存器及本地I/O端口的實(shí)際地址為配置空間中地址為I/O基址值加上下表中寄存器的偏移地址。CH367芯片的I/O空間總共有256個(gè)字節(jié),芯片內(nèi)部的寄存器占用了24個(gè)字節(jié)(FFH--E8H),剩余的地址E7H--00H是長(zhǎng)度為232個(gè)字節(jié)的I/O端口空間,可映射到外部雙口RAM的存儲(chǔ)區(qū)域。當(dāng)同步時(shí)鐘從卡插到PCI-E總線上后,系統(tǒng)會(huì)將CH367芯片的這256個(gè)I/O資源映射成系統(tǒng)的虛擬地址,從而PC機(jī)可以直接訪問(wèn)雙口RAM。

圖4 同步時(shí)鐘卡PCI-E總線接口圖

此同步時(shí)鐘卡PCI-E總線接口設(shè)計(jì)圖如圖4所示。將解碼后的200 μs時(shí)間刻度寫入雙口RAM后,PC機(jī)通過(guò)中斷方式或查詢方式讀取時(shí)間刻度。CPLD控制邏輯將20 MHz頻率進(jìn)行分頻產(chǎn)生秒脈沖PPS和25 Hz脈沖信號(hào),撥碼開關(guān)可在25 Hz周期性信號(hào)和外部突發(fā)事件脈沖中進(jìn)行選擇來(lái)中斷PC機(jī)。PC機(jī)收到中斷信號(hào)后,使芯片CH367的RSTO引腳有效,控制CPLD清除中斷源信號(hào)INT#。然后CH367的GPO引腳控制并選中雙口RAM片選信號(hào)CS,通過(guò)讀信號(hào)RD來(lái)讀取雙口RAM中地址00H--2BH區(qū)間的所有數(shù)據(jù),并根據(jù)地址0FH的值來(lái)判斷奇偶頁(yè)的數(shù)據(jù)有效性。在沒有時(shí)鐘源信號(hào)時(shí),PC機(jī)應(yīng)用程序通過(guò)控制CH367芯片GPO引腳片選選中雙口RAM,并控制WR信號(hào)有效,從而將其當(dāng)前時(shí)間寫入雙口RAM中地址00H--09H中。

3 系統(tǒng)軟件設(shè)計(jì)

本系統(tǒng)的軟件設(shè)計(jì)應(yīng)包括驅(qū)動(dòng)程序和上位機(jī)應(yīng)用軟件。橋接芯片CH367的硬件驅(qū)動(dòng)是以PCI-E總線為基礎(chǔ)的,由于芯片驅(qū)動(dòng)已由廠家提供故本系統(tǒng)只涉及上位機(jī)的應(yīng)用軟件設(shè)計(jì)。應(yīng)用軟件的開發(fā)環(huán)境為Microsoft Visual Studio 2013,設(shè)計(jì)的界面運(yùn)行于Windows 7平臺(tái)。根據(jù)驅(qū)動(dòng)程序中為設(shè)備創(chuàng)建的符號(hào)鏈接名打開指定硬件設(shè)備[13],如果此時(shí)驅(qū)動(dòng)及裝置都有效便可成功打開,如無(wú)效則會(huì)提示設(shè)備打開失敗,打開成功后,系統(tǒng)會(huì)自動(dòng)加載驅(qū)動(dòng)版本號(hào)、DLL版本號(hào)、中斷號(hào)、IO基地址[14-15]。一方面可以用查詢方式和中斷方式讀取200 μs的時(shí)間刻度為PC機(jī)對(duì)時(shí),并將獲取到的時(shí)間數(shù)據(jù)按照一定格式顯示出來(lái),如圖5所示。另一方面也可將PC機(jī)的當(dāng)前時(shí)間寫入到同步時(shí)鐘卡的雙口RAM中,達(dá)到用PC機(jī)對(duì)時(shí)同步時(shí)鐘卡的目的,從而實(shí)現(xiàn)時(shí)鐘卡與上位機(jī)之間的數(shù)據(jù)交互。

圖5 測(cè)試界面圖

4 結(jié)束語(yǔ)

對(duì)于PCI-E總線小批量的數(shù)據(jù)傳輸,本系統(tǒng)使用新型的橋接芯片CH367來(lái)完成接口實(shí)現(xiàn),并且設(shè)計(jì)了200 μs時(shí)間刻度的產(chǎn)生電路以及將200 μs時(shí)間刻度提供給PC機(jī)的數(shù)據(jù)交換電路,完成了PC機(jī)與同步時(shí)鐘卡的時(shí)間信息的傳輸。通過(guò)應(yīng)用程序來(lái)測(cè)試功能實(shí)現(xiàn),結(jié)果表明200 μs的時(shí)間刻度完整未出現(xiàn)丟失,中斷對(duì)時(shí)方式和定時(shí)查詢對(duì)時(shí)方式都成功獲取到了同步時(shí)鐘卡中的時(shí)間信息,時(shí)間數(shù)據(jù)傳輸穩(wěn)定可靠。本卡應(yīng)用在電力系統(tǒng)的故障錄波和事件記錄等裝置中,不僅滿足了電力系統(tǒng)所需的授時(shí)精度和時(shí)間分辨率,而且有效解決電力系統(tǒng)的故障錄波和故障診斷的問(wèn)題,大大降低了設(shè)計(jì)成本。

[1]雷震,魏豐.IRIG-B格式時(shí)間碼在GPS同步時(shí)鐘卡中的應(yīng)用[J].現(xiàn)代電子技術(shù),2004(5):75-79.

[2]李丹,賀占莊,李灝.PCI Express總線接口板的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2009,32(4):158-161.

[3]馬萍,唐衛(wèi)華,李緒志.基于PCIExpress總線高速數(shù)采卡的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2008,24(9):116-118.

[4]平步青.基于FPGA的IRIG_B編解碼系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].江蘇 :蘇州大學(xué),2012.

[5]周立國(guó),梁淮寧,謝冬冬.基于PCI Express總線的數(shù)據(jù)傳輸卡的設(shè)計(jì)與實(shí)現(xiàn) [J].電子測(cè)量技術(shù),2007,30(11):28-31,39.

[6]曾祥君,尹項(xiàng)根,林干.晶振信號(hào)同步GPS信號(hào)產(chǎn)生高精度時(shí)鐘的方法及實(shí)現(xiàn)[J].電力系統(tǒng)自動(dòng)化,2003(8):49-53,89.

[7]王祥.基于FPGA的PCI-E數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2012.

[8]張斌,張東來(lái),王超.基于FPGA的IRIG-B(DC)碼同步解碼設(shè)計(jì)[J].測(cè)控技術(shù).2008,27(2):45-479.

[9]Ravindran M.Cabled PCI Express-a standard highspeed instrument interconnect[C].Proc.of IEEE Autotestcon,2007.

[10]沁恒電子.CH367中文接口手冊(cè)[EB/OL].(2014-07-15).http://www.wch.cn.

[11]唐彬.基于PCI-E的嵌入式B碼時(shí)統(tǒng)終端研究與設(shè)計(jì)[D].安徽:安徽理工大學(xué),2014.

[12]周騫,陳金樹.超高速數(shù)據(jù)采集存儲(chǔ)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用研究,2003,10(8):139-141.

[13]張小磊,孟李林,崔晨琪.基于KMDF的PCI Express設(shè)備驅(qū)動(dòng)設(shè)計(jì) [J].西安航空學(xué)院學(xué)報(bào),2014,32(1):59-63.

[14]武安河.WINDOWS設(shè)備驅(qū)動(dòng)程序WDF開發(fā)[D].北京:電子工業(yè)出版社,2009.

[15]劉娟,田澤,黎小玉.PCI-E接口驅(qū)動(dòng)軟件設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展.2012,22(8):53-56.

Design and implementation of synchronous clock card based on PCI Express bus

CHEN Yong-zhi,WEI Feng,WANG Xu-dong
(School of Automation,Huazhong University of Science and Technology,Wuhan 430074,China)

The paper introduces a design and implementation of synchronous clock card based on PCI Express(Abbreviated for PCI-E)bus,and describes briefly the system architecture and works on our own PCI-E synchronous clock card.Based on the characteristics of small batch data transmission and interrupt response of this card,the design uses the CH367 chip,microcontroller,dual port RAM,CPLD and other chips to complete the hardware circuit of the GPS synchronous clock card,then designs application interface to satisfy time test and display by VC++.Finally,test results proved that the synchronous clock card works stably,which ensure continuous data receiving and the integrality of the data.

PCI-E;CH367;small batch data;synchronous clock card

TP336

:A

:1674-6236(2017)01-0106-04

2016-01-13稿件編號(hào):201601095

陳永志(1989—),男,河南林州人,碩士研究生。研究方向:檢測(cè)技術(shù)與自動(dòng)化裝置,儀器儀表。

猜你喜歡
雙口PC機(jī)刻度
雙口形式的戴維寧定理在電路分析中的應(yīng)用
歐姆表的刻度真的不均勻嗎?
——一個(gè)解釋歐姆表刻度不均勻的好方法
雙口RAM在機(jī)載嵌入式系統(tǒng)中的應(yīng)用
基于PC機(jī)與單片機(jī)的多機(jī)通信技術(shù)及抗干擾方法
基于三菱FXPLC的感應(yīng)淬火機(jī)床與PC機(jī)的串行通信實(shí)現(xiàn)
被吃掉刻度的尺子
誰(shuí)大誰(shuí)小
VC.NET下實(shí)現(xiàn)dsPIC單片機(jī)與PC機(jī)的通信
電子制作(2017年23期)2017-02-02 07:16:47
測(cè)量三字歌
雙口RAM讀寫正確性自動(dòng)測(cè)試的有限狀態(tài)機(jī)控制器設(shè)計(jì)方法
泸定县| 织金县| 云梦县| 富裕县| 襄城县| 遂川县| 北川| 桃园市| 白玉县| 襄垣县| 合江县| 朝阳市| 丰顺县| 马龙县| 贵德县| 襄垣县| 玛多县| 峨眉山市| 根河市| 绍兴县| 广灵县| 西安市| 凤凰县| 康保县| 临西县| 海原县| 新沂市| 丰都县| 新河县| 无锡市| 商河县| 竹山县| 石柱| 大洼县| 湖口县| 田东县| 文化| 中江县| 无为县| 铁岭市| 石阡县|