- 相關(guān)推薦
在Windows2000下用多線程實現(xiàn)1394串行總線通信
摘 要:基于Windows2000環(huán)境開發(fā)了1394主控機與1394設(shè)備機間進行串行總線通信的軟硬件系統(tǒng),其中采用了多線程技術(shù),并利用臨界區(qū)實現(xiàn)線程間共享資源的同步,從而有效地解決了串行通信中的實時響應(yīng)問題,降低了數(shù)據(jù)的丟失率,提高了系統(tǒng)的可靠性。
關(guān)鍵詞:多線程;1394總線;線程同步
1 引言
為了便于LS-1394物理層、鏈路層芯片設(shè)計課題的研究,我們采用FPGA和ISA總線開發(fā)了基于TI公司的TSB41AB3和TSB12LV01的ISA-1394的1394總線接口卡,并在Windows2000環(huán)境下開發(fā)了一套利用多線程技術(shù)實現(xiàn)1394主控機與1394設(shè)備機之間進行串行通信的軟件系統(tǒng)。
2 硬件部分
硬件部分主要包括:1394主控機、1394設(shè)備機、PCI-1394卡、ISA-1394卡。其中,PCI-1394卡是TI公司的1394總線接口芯片控制卡,該卡插在1394主控機的PCI插槽中;ISA-1394卡是利用一塊型號為EPM7256AETC144-5的FPGA、一塊TI公司的TSB12LV01鏈路層芯片和一塊TSB41AB3物理層芯片自行設(shè)計的1394總線接口芯片控制卡,該卡插在1394設(shè)備機的ISA插槽中。1394主控機和1394設(shè)備機之間通過1394接口進行串行通信,傳輸介質(zhì)為1394線纜。硬件結(jié)構(gòu)圖如圖1所示。
3 軟件部分
軟件設(shè)計主要包括1394主控機端和1394設(shè)備機端兩大部分,由于1394主控機端有現(xiàn)成的demo應(yīng)用程序,所以軟件設(shè)計主要針對1394設(shè)備機端。1394設(shè)備機端的編程環(huán)境是WinDriver 5.0 和VC++6.0。
3.1軟件設(shè)計思想
1394串行總線有兩種通信方式:等時通信和異步通信。異步通信采用的是請求/應(yīng)答模式,數(shù)據(jù)傳輸可靠性較高,因此這里主要討論異步通信。1394串行總線異步通信的原理為:發(fā)送數(shù)據(jù)包時,等待發(fā)送器空閑,將數(shù)據(jù)包寫到1394鏈路層芯片的發(fā)送FIFO中發(fā)送出去;接收數(shù)據(jù)包時,一旦有數(shù)據(jù)包到達,接收器會將數(shù)據(jù)包放到1394鏈路層芯片的接收FIFO,接收到數(shù)據(jù)包后必須立即發(fā)送一個應(yīng)答包,否則,對方會重發(fā)此數(shù)據(jù)包,直到重發(fā)次數(shù)到。需注意的是,用戶必須自行訪問接收FIFO查看是否有數(shù)據(jù)包并及時地取出數(shù)據(jù)包,否則就會使接收FIFO溢出,丟失數(shù)據(jù),造成通信出錯。
在串行通信程序設(shè)計中,通常采用定時查詢或中斷來解決上述問題,其中采用中斷的方法比定時查詢法擁有更高的工作效率和可靠性,因此本系統(tǒng)采用中斷法來完成1394串行總線的數(shù)據(jù)通信。
為了實現(xiàn)數(shù)據(jù)處理和數(shù)據(jù)接收及發(fā)送的分離,本系統(tǒng)引入了多線程技術(shù)。在應(yīng)用程序的主線程之外再創(chuàng)建一個用戶線程,即中斷處理線程,在中斷處理線程中實現(xiàn)數(shù)據(jù)包的接收和發(fā)送。如果接收中斷到來,中斷處理線程就負責取出接收FIFO中的數(shù)據(jù),放到用戶定義的接收緩沖區(qū)rBuf中;如果發(fā)送中斷到來,中斷處理線程就負責從用戶定義的發(fā)送緩沖區(qū)sBuf中取出數(shù)據(jù)放到發(fā)送FIF
[1] [2] [3] [4] [5]
【在Windows下用多線程實現(xiàn)1394串行總線通信】相關(guān)文章:
基于USB總線通信數(shù)據(jù)采集器的設(shè)計與實現(xiàn)04-26
總線通信錯誤引發(fā)的故障04-26
基于PCI總線的多路數(shù)據(jù)總線接口設(shè)計與實現(xiàn)04-28
航空電子總線測試系統(tǒng)的設(shè)計與實現(xiàn)04-29
多通道俄制軍用串行總線FPGA的IP核設(shè)計04-27
IEEE 1394應(yīng)用于航空電子系統(tǒng)圖像通信的研究04-29
基于PCI總線數(shù)據(jù)分路/發(fā)送機制及實現(xiàn)04-30
隊列與多線程技術(shù)在交通監(jiān)控系統(tǒng)通信軟件中的應(yīng)用04-26