計算機時間基本由網(wǎng)絡時間或主板時鐘芯片提供,導致時間誤差大,在工業(yè)控制、數(shù)據(jù)測量等領(lǐng)域無法完成特定任務。為解決計算機時間誤差較大問題,部分人員提出win系統(tǒng)下pci總線接口的GPS授時卡。這種方法的不足在于:數(shù)據(jù)吞吐量、帶寬的限制使得pci總線逐漸被pcie總線授時卡所取代,且GPS授時方式以及美國微軟win系統(tǒng)無法在國家安全敏感部門使用。針對上述不足,基于國產(chǎn)linuk系統(tǒng)平臺,設計了PCIE總線接口的授時卡,驅(qū)動程序以及基本應用軟件。
一、發(fā)展歷程
隨著嵌入式技術(shù)的飛速發(fā)展,嵌入式系統(tǒng)在對大數(shù)據(jù)量交互方面提出更高需求的同時還對總線傳輸速率以及數(shù)據(jù)完整性等方面提出了越來越高的要求。雖然過去的十幾年中PCI總線在嵌入式領(lǐng)域得到了廣泛的應用,但由于PCI總線的并行特性,整體設計難度大,故主流的技術(shù)已經(jīng)成為系統(tǒng)整體性能提升的瓶頸。因此,串行 PCIExpress(PCIe)總線標準憑借其高速串行傳送特性以及能夠支持更高的傳輸頻率、無需共享總線帶寬等優(yōu)勢,經(jīng)推出就得到了迅速的發(fā)展,并開始逐步取代PCI總線。
二、通訊協(xié)議
PCIe總線串行傳輸?shù)奶匦允峭ㄟ^報文的形式進行傳輸,每個數(shù)據(jù)報文在PCIe 的事務層被封裝成一個或者多個TLP數(shù)據(jù)包,PCIe設備之間則通過這些數(shù)據(jù)包進行數(shù)據(jù)通信。由于TLP的數(shù)據(jù)包中包含TLP前綴、TLP頭以及TLP摘要等信息,因此,當設備在進行單次數(shù)據(jù)傳輸( 每個報文數(shù)據(jù)負載長度為1)時PCIe總線的性能優(yōu)勢并不明顯,其傳輸速度甚至還不如PCI總線。為了得到更高的傳輸效率,在使用 PCIe總線進行數(shù)據(jù)傳輸時往往需要使用 DMA 的傳輸方式。
PCIe總線技術(shù)是取代PCI的第三代I/O技術(shù),也稱為3GIO。PCIe總線是為將來的計算機和通訊平臺定義的一種高性能、通用I/O互連總線,在其物理實現(xiàn)上使用了高速差分的方式來實現(xiàn)數(shù)據(jù)傳輸,與此同時,其端到端的連接方式使得每條PCIe鏈路中只能連接兩個設備,因此相比于PCI所有設備共享總線帶寬來說,PCIe總線具有獨享傳輸通道數(shù)據(jù)帶寬的特性與PCI總線相比,PCIe總線主要有下面的技術(shù)優(yōu)勢:
1) 是串行總線,進行點對點傳輸,每個傳輸通道
獨享帶寬;
2)支持雙向傳輸模式和數(shù)據(jù)分通道傳輸模式,支持 x1,x4,x8,x16等模式,x1單向傳輸帶寬可達到250MByte/s,雙向傳輸帶寬更能夠達到500 MByte/s;
3)充分利用***的點到點互連、基于交換的技術(shù)和基于包的協(xié)議來實現(xiàn)新的總線性能和特征;
4)對PCI總線具有良好的繼承性,可以保持軟件的繼承和可靠性;
5)充分利用***的點到點互連,降低了系統(tǒng)硬件平臺設計的復雜性和難度,從而大大降低了系統(tǒng)的開發(fā)制造設計成本,極大地提高系統(tǒng)的性價比和魯棒性。
總線技術(shù)的發(fā)展的同時對時間同步裝置也提出了更高的要求,新一代的 PCI Express總線,雖具有速度快、實時性好、可控性佳等優(yōu)點,但其協(xié)議的復雜給***帶來了難度。北斗/GPS 雙模授時方法,結(jié)合***的接口芯片來驅(qū)動PCIExpress 總線,利用具有低功耗、實時性強等性能的數(shù)字可編程器件(FPGA)來進行電路設計,使得時間同步裝置與PC機之間信息交換變得簡單易用。
三、舉例說明HJ5447-PTP-BIN PCIe時鐘卡是一款通過總線控制,為計算機、工控機等操作系統(tǒng)提供高精度硬件時鐘的同步卡。該時鐘同步卡采用流水線自動化貼片生產(chǎn),使用FPGA+ARM框架設計,接收GPS/北斗/PTP/交直流IRIG-B碼等外部參考信號,輸出各種時間頻率信號,提高系統(tǒng)的時間精度和準確度,滿足不同用戶需求。該時鐘同步卡內(nèi)置高精度守時時鐘源,當外部參考無效時仍然可以提供高精度授時服務。并配套提供Win校時管理軟件和各種操作系統(tǒng)的API驅(qū)動,完全實現(xiàn)高精度應用程序授時,具有兼容性強,接口豐富、精度高、穩(wěn)定性好、功能強、無積累誤差、不受地域氣候等環(huán)境條件限制、性價比高、操作簡單、免維護等特點。
3.1產(chǎn)品功能
(1)支持PCIE總線授時,時間精度優(yōu)于10us;
(2)內(nèi)置高精度授時型GPS/BD雙模接收機;
(3)外參考失鎖后依靠內(nèi)置高精度時鐘守時;
(4)支持即插即用(Plug and Play);
(5)輸出秒脈沖(PPS)時標同步脈沖信號;
(6)Windows/Linux 32位/64位驅(qū)動,提供API函數(shù)接口;
(7)提供windows上位機校時軟件,對計算機進行自動校時;
(8)可在PCIe總線上提供多種中斷信號;
(9)PCIe總線提供時間信息,GPS、BD衛(wèi)星顆數(shù),板卡同步狀態(tài)等信息;
(10)輸出1PPS和串口TOD(NEMA0183中GPRMC語句,帶經(jīng)緯度定位信息);
3.2產(chǎn)品
特點
(1)高精密,全自動,無人值守,免維護;
(2)對主要電路部分采用金屬外殼屏蔽,抗干擾能力強;
(3)功耗小,可靠性高,可長期連續(xù)穩(wěn)定工作;
(4)安裝簡便:該產(chǎn)品可直接插入計算機(或工控機)的PCIe擴展槽。
四、應用程序與驅(qū)動程序應用程序與驅(qū)動程序設計是系統(tǒng)開發(fā)過程中重要的軟件環(huán)節(jié),軟件是基于 Win系統(tǒng)開發(fā)的,為了降低開發(fā)難度,設計中使用 WDM 進行 PCIE 驅(qū)動功能的開發(fā),應用層程序的開發(fā)則使用了 VC++6.0。主要包括了設備操作、設備信息、I/O端口讀寫、北斗/GPS/守時時間以及IRIG-B碼解碼時間顯示五個部分組成。 設備操作組要包含打開、關(guān)閉、退出設備三個部分組成;設備信息組要包含了驅(qū)動版本號、DLL版本號、設備號、中斷號及 I/O 基址,這些都是在上電初始化后在打開設備開啟的時候在授時卡驅(qū)動程序里面進行自動讀取的,并且PCIE 的配置空間信息VendorID、De-vice ID、Revision ID 等信息也是在設備開啟的時候自行讀取的,用于端口應用。使用 FPGA 來設計基于PCIe 總線的數(shù)據(jù)傳輸,可以省去專用的PCIe接口芯片,降低硬件的設計成本,提高硬件集成度的同時還能利用FPGA的可編程特性提高設計的靈活性與適應性。與此同時,目前很多FPGA 內(nèi)都嵌入了PCIe的硬核,此硬核支持PCIe傳輸?shù)膯巫肿x寫操作以及DMA讀寫操作作,由于PCIe具有一定的協(xié)議,其單字傳輸效率達不到要求,因此,本文在PCIe單字傳輸?shù)幕A(chǔ)上提出了一種基于PCIe接口的DMA傳輸?shù)脑O計方案,此方案可以穩(wěn)定快速地實現(xiàn)PCIe總線的DMA傳輸。經(jīng)測試,DMA傳輸方案在傳輸帶寬方面滿足設計要求。
咨詢電話:
掃一掃咨詢微信客服