基于可編程邏輯器件進(jìn)行異步通信的數(shù)據(jù)采集裝置及方法
【專利摘要】本發(fā)明公開了一種基于可編程邏輯器件進(jìn)行異步通信的數(shù)據(jù)采集裝置,包括數(shù)據(jù)接收主卡以及數(shù)據(jù)接收子卡,所述數(shù)據(jù)接收子卡通過總線采集所述數(shù)據(jù)接收主卡傳送的數(shù)據(jù),所述數(shù)據(jù)接收主卡包括DSP控制器,所述數(shù)據(jù)接收子卡包括可編程邏輯器件,所述可編程邏輯器件與所述DSP控制器之間為串行通信;其中,所述可編程邏輯器件包括接收單元、采集單元、定時(shí)單元以及判斷單元;所述定時(shí)單元連接所述接收單元與所述采集單元,用于驅(qū)動(dòng)所述接收單元接收所述DSP控制器傳送的通信數(shù)據(jù),且控制所述采集單元在每比特位的時(shí)間寬度內(nèi)對(duì)所述通信數(shù)據(jù)進(jìn)行多次讀取操作,每比特位時(shí)間的采集結(jié)束后,所述判斷模塊用于根據(jù)所述多次讀取操作的結(jié)果判斷所采集的比特位的邏輯值。
【專利說明】基于可編程邏輯器件進(jìn)行異步通信的數(shù)據(jù)采集裝置及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域,尤其涉及數(shù)據(jù)通信領(lǐng)域中的數(shù)據(jù)采集領(lǐng)域,具體的講是一種基于可編程邏輯器件進(jìn)行異步通信的數(shù)據(jù)采集裝置及其通信方法。
【背景技術(shù)】
[0002]模塊卡式數(shù)據(jù)采集測(cè)量裝置廣泛應(yīng)用于通信、醫(yī)療、工業(yè)自動(dòng)化等領(lǐng)域,不同功能的模塊卡滿足了不同應(yīng)用場(chǎng)合的測(cè)量系統(tǒng)搭建需求,靈活的配置模式也方便了用戶的使用。
[0003]圖1為現(xiàn)有技術(shù)中的數(shù)據(jù)采集裝置的結(jié)構(gòu)示意圖。如圖所示,在數(shù)據(jù)采集裝置的運(yùn)行中,數(shù)據(jù)接收主卡與數(shù)據(jù)接收子卡的信息交互依賴于通信/控制總線。為了提高整機(jī)的穩(wěn)定性,提升裝置工作效率,通信/控制總線需要盡可能提高其抗干擾能力。
[0004]并且,數(shù)據(jù)接收主卡與數(shù)據(jù)接收子卡的交互由主卡與子卡上各自的控制器用串口通信的方式實(shí)現(xiàn),主卡的控制器為DSP控制器,其自帶串口,子卡的控制器為FPGA,其串口由對(duì)FPGA編程模擬實(shí)現(xiàn)。由于DSP,F(xiàn)PGA的工作頻率一般都比較高,因此為了提升效率,串口的通信速率也相應(yīng)的提高,但提升了通信速率后,抗干擾能力下降,為此,需要采取一定的措施提高通信速率下的抗干擾能力。對(duì)于DSP的串口,其物理層的設(shè)計(jì)已完全定形,只能在軟件協(xié)議層增強(qiáng)抗干擾能力,而FPGA的串口由編程模擬實(shí)現(xiàn),其設(shè)計(jì)中不光在軟件協(xié)議層能增強(qiáng)抗干擾能力,在串口的物理層設(shè)計(jì)中也能應(yīng)用一定的技術(shù)手段增強(qiáng)抗干擾能力。
[0005]對(duì)于數(shù)據(jù)接收主卡模塊,在同類產(chǎn)品中,比如在34970中,其主卡與子卡的通信采用51單片機(jī)自帶的串口實(shí)現(xiàn),其通信接口的物理層已定型,為增強(qiáng)通信抗干擾能力,只能通過一些軟件的協(xié)議等手段來實(shí)現(xiàn)。但是,在通信的協(xié)議層,增加了校驗(yàn),超時(shí)檢測(cè)等等機(jī)制來實(shí)現(xiàn)對(duì)受到干擾了的錯(cuò)誤通信信息不響應(yīng)或?qū)ζ洳扇∫欢ㄌ幚?,這些協(xié)議層的處理機(jī)制增大了軟件開銷,降低了通信速率。
[0006]在通信鏈路的每一根通信線上,數(shù)據(jù)以比特位的形式傳輸,一串比特流在電信號(hào)的表現(xiàn)形式上就是一串脈沖電平。這些脈沖電平也是容易被干擾的。而且加在脈沖電平上的干擾毛刺是不容易被硬件電路消除的。
[0007]如圖2所示,加在比特脈沖串上的干擾毛刺很可能導(dǎo)致當(dāng)前數(shù)據(jù)接收失敗。原因?yàn)樵诋惒酵ㄐ胖?,?shù)據(jù)的傳輸完全依靠通信雙方約定的相同的傳輸速率進(jìn)行,則在接收每一個(gè)比特位時(shí),為了減小傳輸速率的不完全相同帶來的影響,一般在一個(gè)比特位的中間位置進(jìn)行讀取操作。如圖3所示,當(dāng)在一個(gè)比特位的中間位置進(jìn)行讀取操作時(shí),比特信號(hào)被干擾,由原來應(yīng)該讀作高的變成讀取結(jié)果為低了,由此導(dǎo)致了通信的失敗。實(shí)際上,不管在一個(gè)比特位的什么位置進(jìn)行讀取操作,總有可能被干擾導(dǎo)致讀取出錯(cuò)。
[0008]并且,在主卡與子卡進(jìn)行通信時(shí),通信信號(hào)經(jīng)過了主板、背板及子卡,信號(hào)線的長(zhǎng)度比較長(zhǎng),在通信速率比較高時(shí),通信信號(hào)更容易受到干擾。對(duì)于圖2所示的信號(hào)的電平上受到的擾動(dòng),硬件電路的濾波等手段是無力的,而軟件手段可能增加軟件開銷或是增加處理時(shí)間,從而降低了通信速率。
【發(fā)明內(nèi)容】
[0009]本發(fā)明的目的是為了克服現(xiàn)有技術(shù)中存在的數(shù)據(jù)采集裝置抗干擾能力差,通信效率低的不足,提供一種基于可編程邏輯器件進(jìn)行異步通信的數(shù)據(jù)采集裝置及通信方法。
[0010]為了達(dá)到上述目的,本發(fā)明實(shí)施例公開了一種基于可編程邏輯器件進(jìn)行異步通信的數(shù)據(jù)采集裝置,包括數(shù)據(jù)接收主卡以及數(shù)據(jù)接收子卡,所述數(shù)據(jù)接收子卡通過總線采集所述數(shù)據(jù)接收主卡傳送的數(shù)據(jù),所述數(shù)據(jù)接收主卡包括DSP控制器,所述數(shù)據(jù)接收子卡包括可編程邏輯器件,所述可編程邏輯器件與所述DSP控制器之間為串行通信;其中,所述可編程邏輯器件包括接收單元、采集單元、定時(shí)單元以及判斷單元;所述定時(shí)單元連接所述接收單元與所述采集單元,用于驅(qū)動(dòng)所述接收單元接收所述DSP控制器傳送的通信數(shù)據(jù),且控制所述采集單元在每比特位的時(shí)間寬度內(nèi)對(duì)所述通信數(shù)據(jù)進(jìn)行多次讀取操作,每比特位時(shí)間的采集結(jié)束后,所述判斷模塊用于根據(jù)所述多次讀取操作的結(jié)果判斷所采集的比特位的邏輯值。
[0011]為了達(dá)到上述目的,本發(fā)明實(shí)施例還公開了 一種基于可編程邏輯器件進(jìn)行異步通信的數(shù)據(jù)通信方法,包括:接收外部傳送的通信數(shù)據(jù);將所述通信數(shù)據(jù)在每比特位的時(shí)間寬度內(nèi)進(jìn)行多次讀取操作;每比特位時(shí)間的采集結(jié)束后,根據(jù)所述多次讀取操作的結(jié)果判斷所采集的比特位的邏輯值,如果所述多次讀取操作的結(jié)果中邏輯I的次數(shù)大于邏輯0,則采集的比特位判斷為邏輯1,否則為邏輯O。
[0012]本發(fā)明實(shí)施例的基于可編程邏輯器件進(jìn)行異步通信的數(shù)據(jù)采集裝置及通信方法,可以提高異步通信的抗干擾能力,提升通信效率,是數(shù)據(jù)采集裝置工作的更穩(wěn)定,有更強(qiáng)的環(huán)境適應(yīng)能力。
【專利附圖】
【附圖說明】
[0013]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0014]圖1為現(xiàn)有技術(shù)中的數(shù)據(jù)采集裝置的結(jié)構(gòu)示意圖;
[0015]圖2為在通信數(shù)據(jù)在傳送過程中出現(xiàn)的脈沖電平上的毛刺現(xiàn)象;
[0016]圖3為圖2所示出現(xiàn)毛刺現(xiàn)象的通信數(shù)據(jù)在讀取過程中出現(xiàn)錯(cuò)誤的情況;
[0017]圖4為本發(fā)明實(shí)施例的一種基于可編程邏輯器件進(jìn)行異步通信的數(shù)據(jù)采集裝置的結(jié)構(gòu)不意圖;
[0018]圖5為圖4所示實(shí)施例的可編程邏輯器件20的結(jié)構(gòu)示意圖;
[0019]圖6為本發(fā)明實(shí)施例的“多次讀取、多數(shù)表決”機(jī)制的原理示意圖;
[0020]圖7為本發(fā)明實(shí)施例的基于可編程邏輯器件進(jìn)行異步通信的數(shù)據(jù)通信方法的流程圖;
[0021]圖8為本發(fā)明實(shí)施例的進(jìn)行3次讀取而設(shè)定采集時(shí)間間隔的示意圖;
[0022]圖9為依據(jù)本發(fā)明的數(shù)據(jù)采集裝置及通信方法進(jìn)行異步通信數(shù)據(jù)采集的一個(gè)具體實(shí)施例的示意圖。【具體實(shí)施方式】
[0023]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0024]圖4為本發(fā)明實(shí)施例的一種基于可編程邏輯器件進(jìn)行異步通信的數(shù)據(jù)采集裝置的結(jié)構(gòu)示意圖。如圖所示,本實(shí)施例的數(shù)據(jù)采集裝置包括數(shù)據(jù)接收主卡1、數(shù)據(jù)接收子卡2以及一背板3,其中背板3上設(shè)有插槽與總線,在進(jìn)行通信時(shí),數(shù)據(jù)接收子卡2通過插槽插在所述背板3上,所述數(shù)據(jù)接收主卡I通過背板3上的總線向數(shù)據(jù)接收子卡2發(fā)送通信比特碼。其中,背板3上可設(shè)置有多個(gè)插槽,故可連接多個(gè)子卡,在圖4所示實(shí)施例中,數(shù)據(jù)接收子卡2為4個(gè),通過背板3上的總線分別連接到主卡I上。
[0025]在本實(shí)施例中,如圖4和圖5所示,所述數(shù)據(jù)接收主卡I上包括DSP控制器10,所述數(shù)據(jù)接收子卡2上包括可編程邏輯器件20,所述可編程邏輯器件20與所述DSP控制器10之間為串行通信。DSP控制器10主要進(jìn)行任務(wù)的調(diào)度與數(shù)據(jù)的處理等工作,可編程邏輯器件20主要進(jìn)行與DSP控制器10的命令交互及子卡電路的驅(qū)動(dòng)工作。并且,在本實(shí)施例中,所述可編程邏輯器件20可為FPGA或CPLD,例如芯片XC3S100E等;而數(shù)據(jù)接收主卡I上的DSP控制器可采用芯片ADSP-BF526等。
[0026]在本實(shí)施例中,如圖5所示,所述可編程邏輯器件20包括接收單元201、采集單元202、定時(shí)單元203以及判斷單元204 ;所述定時(shí)單元203連接所述接收單元201與所述采集單元202,用于驅(qū)動(dòng)所述接收單元201接收所述DSP控制器10傳送的通信數(shù)據(jù),且控制所述采集單元202在每比特位的時(shí)間寬度內(nèi)對(duì)所述通信數(shù)據(jù)進(jìn)行多次讀取操作,每比特位時(shí)間的采集結(jié)束后,所述判斷模塊204用于根據(jù)所述多次讀取操作的結(jié)果判斷所采集的比特位的邏輯值。
[0027]根據(jù)圖5所示實(shí)施例,其采用的是本發(fā)明的“多次讀取、多數(shù)表決”的機(jī)制,其思想是在異步通信的物理層中,在每比特位時(shí)間寬度內(nèi),進(jìn)行多次讀取操作,如果讀取的比特值為“I”的次數(shù)多個(gè)讀取的比特值為“O”的次數(shù),就判決讀取結(jié)果為“1”,反之就判定讀取結(jié)果為“O”。如圖6所示,為一個(gè)“3次讀取,多數(shù)表決”的實(shí)施例。在一個(gè)實(shí)際為“高”比特的信號(hào)上,收到干擾后,有部分電平為低,在這個(gè)比特上進(jìn)行3次讀取操作,有兩次讀取結(jié)果為“ I ”,有一次讀取結(jié)果為“O”,利用“多數(shù)表決”,可判定為此比特位為“ I ”。
[0028]本發(fā)明實(shí)施例中,每一比特位的讀取操作的次數(shù)是根據(jù)工程上對(duì)干擾的認(rèn)識(shí)設(shè)定的,因此也可根據(jù)實(shí)際情況設(shè)定為4次或5次,當(dāng)然,并不是讀取次數(shù)越多越好,更多次讀取會(huì)增加軟件開發(fā)的復(fù)雜度,而且對(duì)于干擾問題也沒有很大的提高,因此,讀取次數(shù)也是權(quán)衡的結(jié)果。
[0029]在本發(fā)明實(shí)施例中,在采集未開始時(shí),設(shè)定所述定時(shí)單元203的定時(shí)觸發(fā)間隔為所述可編程邏輯器件20的系統(tǒng)時(shí)鐘周期。例如,F(xiàn)PGA系統(tǒng)工作的時(shí)鐘為100MHz,在空閑狀態(tài)下,設(shè)定定時(shí)單元203的定時(shí)觸發(fā)間隔為0.0lus,不斷的讀取數(shù)據(jù)。在一次數(shù)據(jù)通信開始時(shí),重設(shè)定時(shí)單元203的采集時(shí)間間隔,所述采集觸發(fā)間隔根據(jù)所述串行通信的波特率來設(shè)定。例如,串行通信的波特率為1Mbps,如果為3次讀取,則可設(shè)定采集時(shí)間間隔為0.15us、0.35us、0.35us。當(dāng)然也可以設(shè)定為0.2us、0.3us、0.3us,這種設(shè)定是根據(jù)通信速率
認(rèn)為設(shè)定,其大小直接影響采集裝置能否解決比特受干擾的問題。
[0030]圖7為本發(fā)明實(shí)施例的基于可編程邏輯器件進(jìn)行異步通信的數(shù)據(jù)通信方法的流程圖,可編程邏輯器件為FPGA或CPLD。如圖所示,本實(shí)施例的數(shù)據(jù)通信方法包括:
[0031]步驟S101,接收外部傳送的通信數(shù)據(jù);步驟S102,將所述通信數(shù)據(jù)在每比特位的時(shí)間寬度內(nèi)進(jìn)行多次讀取操作;步驟S103,每比特位時(shí)間的采集結(jié)束后,根據(jù)所述多次讀取操作的結(jié)果判斷所采集的比特位的邏輯值,如果所述多次讀取操作的結(jié)果中邏輯I的次數(shù)大于邏輯0,則采集的比特位判斷為邏輯1,否則為邏輯O。
[0032]在步驟SlOl中,外部傳送的通信數(shù)據(jù)是通過串口通信的方式進(jìn)行傳送。例如從DSP控制器的的自帶串口發(fā)往FPGA的串口。
[0033]在步驟S102中,在米集未開始時(shí),設(shè)定定時(shí)觸發(fā)間隔為系統(tǒng)時(shí)鐘周期;所述在每比特位的時(shí)間寬度內(nèi)對(duì)所述通信數(shù)據(jù)進(jìn)行3次讀取操作。在本實(shí)施例中,所述在每比特位進(jìn)行3次讀取操作時(shí),設(shè)定采集觸發(fā)間隔,所述采集觸發(fā)間隔根據(jù)串行通信的波特率來設(shè)定。
[0034]圖8為本發(fā)明實(shí)施例的進(jìn)行3次讀取而設(shè)定采集時(shí)間間隔的示意圖。其中,串口接收端從空閑狀態(tài)檢測(cè)到一個(gè)下降沿時(shí)認(rèn)為是一次串行通信的開始。通信開始后,有一個(gè)比特的起始位,起始位后緊跟8比特的數(shù)據(jù)。這里依據(jù)圖5的可編程邏輯器件的結(jié)構(gòu)圖講述串口數(shù)據(jù)接收的過程。在空閑狀態(tài)下,定時(shí)單元203定時(shí)極短的時(shí)間驅(qū)動(dòng)接收單元201讀取端口接收到的數(shù)據(jù),接收單元201不斷的讀取端口的數(shù)據(jù),當(dāng)發(fā)現(xiàn)有從“I”到“O”的變化時(shí),重新設(shè)置定時(shí)單元203的定時(shí)值為tl,當(dāng)tl時(shí)刻到時(shí),采集單元202進(jìn)行起始位的第一次讀數(shù),同時(shí)重新設(shè)置定時(shí)單元203的定時(shí)值為t2,當(dāng)t2時(shí)刻到時(shí),采集單元202進(jìn)行起始位的第二次讀數(shù),同時(shí)重新設(shè)置定時(shí)單元203的定時(shí)值為t3,當(dāng)t3時(shí)刻到時(shí),采集單元202進(jìn)行起始位的第三次讀數(shù),同時(shí)重新設(shè)置定時(shí)單元203的定時(shí)值為t4,并在t4的時(shí)間段內(nèi)由判斷單元204依據(jù)起始位的三次讀數(shù)判斷起始位的邏輯值,比如三次讀取中有兩次及以上為“0”,則判斷結(jié)果為邏輯0,否則結(jié)果為邏輯I。當(dāng)判定結(jié)果為邏輯O時(shí),即為有效的起始位,繼續(xù)接收后面的數(shù)據(jù),如果判定結(jié)果為邏輯I時(shí),則起始位無效,重新進(jìn)入空閑狀態(tài)。在起始位有效的情況下。當(dāng)t4時(shí)刻到時(shí),采集單元202進(jìn)行比特O的第一次讀數(shù),同時(shí)重新設(shè)置定時(shí)單元203的定時(shí)值為t5,當(dāng)t5時(shí)刻到時(shí),采集單元202進(jìn)行比特O的第二次讀數(shù),同時(shí)重新設(shè)置定時(shí)單元203的定時(shí)值為t6,當(dāng)t6時(shí)刻到時(shí),采集單元202進(jìn)行比特O的第三次讀數(shù),同時(shí)重新設(shè)置定時(shí)單元203的定時(shí)值為t7,并在t7的時(shí)間段內(nèi)由判斷單元204依據(jù)比特O的三次讀數(shù)判斷比特O的邏輯值,比如三次讀取中有兩次及以上為“0”,則判斷結(jié)果為邏輯0,否則結(jié)果為邏輯I。如此循環(huán)進(jìn)行設(shè)置定時(shí)單元203,讀取采集單元202,判斷單元204判斷結(jié)果,得到接收的8比特的數(shù)據(jù)。
[0035]這種“多次讀取,多數(shù)表決”的機(jī)制,應(yīng)用于異步通信接口接收端,且其接收端為物
理層可編程。
[0036]圖9為依據(jù)本發(fā)明的數(shù)據(jù)采集裝置及通信方法進(jìn)行異步通信數(shù)據(jù)采集的一個(gè)具體實(shí)施例的示意圖。如圖所述,F(xiàn)PGA系統(tǒng)工作的時(shí)鐘為100MHz,串行通信的波特率為1Mbps,每比特的接收采用三次讀取,多數(shù)表決決定一比特位的邏輯值。
[0037]如圖9所示,其工作流程為:從串行數(shù)據(jù)接收端接收數(shù)據(jù)時(shí),通信的波特率為1Mbps,F(xiàn)PGA系統(tǒng)工作的時(shí)鐘為100MHz。在空閑狀態(tài)下,定時(shí)單元203設(shè)定為定時(shí)觸發(fā)間隔為0.01us,接收單元201在定時(shí)單元203的驅(qū)動(dòng)下,不斷的在接收端口上讀取數(shù)據(jù),每次讀取的數(shù)據(jù)和前一次的讀取的結(jié)果作對(duì)比,當(dāng)發(fā)生從邏輯I到邏輯O的跳變時(shí),一次數(shù)據(jù)通信開始。此時(shí)將定時(shí)單元203定時(shí)值重設(shè)為0.15us,當(dāng)0.15us的定時(shí)時(shí)間到時(shí),觸發(fā)采集單元202對(duì)起始位的第一次讀取,同時(shí)將定時(shí)時(shí)間重置為0.35us,當(dāng)0.35us的定時(shí)時(shí)間到時(shí),觸發(fā)采集單元202對(duì)起始位的第二次讀取,同時(shí)將定時(shí)時(shí)間重置為0.35us,當(dāng)0.35us的定時(shí)時(shí)間到時(shí),觸發(fā)采集單元202對(duì)起始位的第三次讀取,同時(shí)將定時(shí)時(shí)間重置為0.3us,由于起始位的三次讀取操作完成,在此0.3us的定時(shí)時(shí)間段內(nèi),判斷單元通過三次讀取的結(jié)果進(jìn)行判斷。如果三次讀取結(jié)果中有兩次或以上為邏輯0,則判斷結(jié)果為邏輯0,起始位有效,否則起始位無效,高到低的跳變可能是干擾引起,則數(shù)據(jù)接收又回到空閑狀態(tài)。
[0038]在起始位有效情況下,當(dāng)0.3us的定時(shí)時(shí)間到時(shí),觸發(fā)采集單元202對(duì)比特O的第一次讀取,同時(shí)將定時(shí)時(shí)間重置為0.35us,當(dāng)0.35us的定時(shí)時(shí)間到時(shí),觸發(fā)采集單元對(duì)比特O的第二次讀取,同時(shí)將定時(shí)時(shí)間重置為0.35us,當(dāng)0.35us的定時(shí)時(shí)間到時(shí),觸發(fā)采集單元對(duì)比特O的第三次讀取,同時(shí)將定時(shí)時(shí)間重置為0.3us,在此0.3us的定時(shí)時(shí)間段內(nèi),判斷單元對(duì)比特O的三次讀取結(jié)果進(jìn)行判斷,如果三次讀取結(jié)果中有兩次或以上為邏輯0,則判斷結(jié)果為邏輯0,否則結(jié)果為邏輯I。
[0039]當(dāng)0.3us的定時(shí)時(shí)間到時(shí),觸發(fā)采集單元202對(duì)比特I的第一次讀取……,如此循環(huán)進(jìn)行設(shè)置定時(shí)單元203,讀取采集單元202,判斷結(jié)果,得到接收的8比特的數(shù)據(jù)。
[0040]從本實(shí)施例中可以看出,對(duì)采集時(shí)間間隔的設(shè)定沒有統(tǒng)一的定律和公式遵循,其是根據(jù)串行通信的速率和設(shè)定的讀取次數(shù)決定的。而讀取次數(shù)也是人為根據(jù)工程上對(duì)干擾的認(rèn)識(shí)確定的,如上面所述,不是讀取次數(shù)越多越好,更多次讀取會(huì)增加軟件開發(fā)的復(fù)雜度,而對(duì)于解決干擾問題沒有很大提高。
[0041]例如,如果串行速率為1Mbps,設(shè)定讀取次數(shù)為3次,則可如圖9所示實(shí)施例那樣采
集時(shí)間間隔設(shè)定為0.15,0.35,0.35,0.3,0.35,0.35,0.3......,當(dāng)然也可以設(shè)定4次讀取,
此時(shí)采集時(shí)間間隔為 0.125,0.25,0.25,0.25,0.25,0.25......。
[0042]通過以上實(shí)施例,本發(fā)明的基于可編程邏輯器件進(jìn)行異步通信的數(shù)據(jù)采集裝置及通信方法,可以提高異步通信的抗干擾能力,提升通信效率,是數(shù)據(jù)采集裝置工作的更穩(wěn)定,有更強(qiáng)的環(huán)境適應(yīng)能 力。
[0043]以上所述的具體實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種基于可編程邏輯器件進(jìn)行異步通信的數(shù)據(jù)采集裝置,包括數(shù)據(jù)接收主卡以及數(shù)據(jù)接收子卡,所述數(shù)據(jù)接收子卡通過總線采集所述數(shù)據(jù)接收主卡傳送的數(shù)據(jù),其特征在于,所述數(shù)據(jù)接收主卡包括DSP控制器,所述數(shù)據(jù)接收子卡包括可編程邏輯器件,所述可編程邏輯器件與所述DSP控制器之間為串行通信;其中, 所述可編程邏輯器件包括接收單元、采集單元、定時(shí)單元以及判斷單元; 所述定時(shí)單元連接所述接收單元與所述采集單元,用于驅(qū)動(dòng)所述接收單元接收所述DSP控制器傳送的通信數(shù)據(jù),且控制所述采集單元在每比特位的時(shí)間寬度內(nèi)對(duì)所述通信數(shù)據(jù)進(jìn)行多次讀取操作,每比特位時(shí)間的采集結(jié)束后,所述判斷模塊用于根據(jù)所述多次讀取操作的結(jié)果判斷所采集的比特位的邏輯值。
2.如權(quán)利要求1所述的數(shù)據(jù)采集裝置,其特征在于,所述可編程邏輯器件為FPGA或CPLD。
3.如權(quán)利要求1所述的數(shù)據(jù)采集裝置,其特征在于,在采集未開始時(shí),設(shè)定所述定時(shí)單元的定時(shí)觸發(fā)間隔為所述可編程邏輯器件的系統(tǒng)時(shí)鐘周期。
4.如權(quán)利要求1所述的數(shù)據(jù)采集裝置,其特征在于,所述采集單元在每比特位的時(shí)間寬度內(nèi)對(duì)所述通信數(shù)據(jù)進(jìn)行多次讀取操作,包括: 所述采集單元在每比特位的時(shí)間寬度內(nèi)對(duì)所述通信數(shù)據(jù)進(jìn)行3次讀取操作。
5.如權(quán)利要求4所述的數(shù)據(jù)采集裝置,其特征在于,進(jìn)行3次讀取操作時(shí),設(shè)定所述定時(shí)模塊的采集觸發(fā)間隔,所述采集觸發(fā)間隔根據(jù)所述串行通信的波特率來設(shè)定。
6.如權(quán)利要求2所述的數(shù)據(jù)采集裝置,其特征在于,所述DSP控制器的型號(hào)為ADSP-BF526,所述 FPGA 的型號(hào)為 XC3S100E。
7.一種基于可編程邏輯器件進(jìn)行異步通信的數(shù)據(jù)通信方法,其特征在于,所述數(shù)據(jù)通信方法包括: 接收外部傳送的通信數(shù)據(jù); 將所述通信數(shù)據(jù)在每比特位的時(shí)間寬度內(nèi)進(jìn)行多次讀取操作; 每比特位時(shí)間的采集結(jié)束后,根據(jù)所述多次讀取操作的結(jié)果判斷所采集的比特位的邏輯值,如果所述多次讀取操作的結(jié)果中邏輯I的次數(shù)大于邏輯O,則采集的比特位判斷為邏輯1,否則為邏輯O。
8.如權(quán)利要求7所述的數(shù)據(jù)通信方法,其特征在于,在采集未開始時(shí),設(shè)定定時(shí)觸發(fā)間隔為系統(tǒng)時(shí)鐘周期。
9.如權(quán)利要求7所述的數(shù)據(jù)通信方法,其特征在于,所述在每比特位的時(shí)間寬度內(nèi)對(duì)所述通信數(shù)據(jù)進(jìn)行多次讀取操作,包括: 在每比特位的時(shí)間寬度內(nèi)對(duì)所述通信數(shù)據(jù)進(jìn)行3次讀取操作。
10.如權(quán)利要求9所述的數(shù)據(jù)通信方法,其特征在于,所述在每比特位進(jìn)行3次讀取操作時(shí),設(shè)定采集觸發(fā)間隔,所述采集觸發(fā)間隔根據(jù)串行通信的波特率來設(shè)定。
【文檔編號(hào)】G06F13/20GK103870414SQ201210539574
【公開日】2014年6月18日 申請(qǐng)日期:2012年12月13日 優(yōu)先權(quán)日:2012年12月13日
【發(fā)明者】譚靈焱, 王悅, 王鐵軍, 李維森 申請(qǐng)人:北京普源精電科技有限公司