基于USB接口的數據采集系統的設計與實(shí)現
圖3 AN2135SC與FPCA接口示意圖
3.3 FPGA的獨特配置方案
FPGA芯片是一種基于SRAM工藝制作的可編程器件,其編程數據存儲于器件的SRAM存儲器內。這是一種易失性的存儲器,在系統掉電時(shí),FPGA芯片中的邏輯將會(huì )丟失,芯片功能隨即消失,上電后需要重新對其進(jìn)行配置。利用此功能可以靈活地改變FPGA芯片中的邏輯結構。這是一種動(dòng)態(tài)配置過(guò)程,這種方式稱(chēng)為ICR方式(in circuit reconfigurable)。
本系統中對FPGA的配置采用PS(passive serial,即被動(dòng)串行)方式。通常采用的是以下兩種配置方法:配置數據來(lái)自于A(yíng)LTERA公司生產(chǎn)的串行配制器件或系統控制器,如 等,系統上電時(shí)可對ACEX1K系列芯片進(jìn)行配置;配置邏輯也可以通過(guò)ALTERA公司生產(chǎn)的Master Blaster、Byte Blaster MV或Bitblaster下載電纜進(jìn)行手工下載。但是前者會(huì )增加系統的成本,而后者又很不方便。
上面的程序給出了這一次讀過(guò)程中讀地址指針的變化情況。隨著(zhù)讀地址指針的變化,緩沖器中的數據順次輸出到數據總線(xiàn)D[7…0>上去。程序中 …0>為緩沖器的讀地址指針,
…0>是緩沖器的輸出端口,
…
是
芯片的數據總線(xiàn)
…
。
3.5 功能的實(shí)現
在 芯片與
芯片進(jìn)行數據傳輸的同時(shí),雙方需要一些握手信號來(lái)協(xié)調傳輸過(guò)程。為此,我們選擇了
芯片中的
總線(xiàn)主控制器作為
端口,用來(lái)傳輸一些必要的控制和狀態(tài)信息。
為了與 芯片中的
總線(xiàn)主控制器配合工作,我們在
芯片中編寫(xiě)了一個(gè)
總線(xiàn)從模塊,使得
總線(xiàn)上的數據傳輸能夠順利進(jìn)行。根據
總線(xiàn)傳輸規范,我們設定了一個(gè)狀態(tài)機
,它共有如下7個(gè)狀態(tài):
。圖6給出了此狀態(tài)機的狀態(tài)圖。
圖6 總線(xiàn)狀態(tài)機流程圖
由圖6可以看出,在開(kāi)始條件( 產(chǎn)生后,
由空閑(
狀態(tài)進(jìn)入地址狀態(tài)(
。我們在
中指定了兩個(gè)寄存器用于存儲從
總線(xiàn)上發(fā)送來(lái)的控制信號和將要發(fā)送到
總線(xiàn)上的狀態(tài)信號,它們分別是控制寄存器
E0
和狀態(tài)寄存器
E0
,這兩個(gè)寄存器地址的高4位均為“1110“。同樣,我們可以把1
芯片中所有由
總線(xiàn)尋址的寄存器的高4位地址都設定為“1110”。如圖6所示,
總線(xiàn)在地址期內發(fā)送的高位地址只有為“1110”時(shí),1
才會(huì )產(chǎn)生響應。這樣做的好處是便于擴充其它
總線(xiàn)設備。
總線(xiàn)在地址期內發(fā)送的最低地址用于指定隨后的數據傳輸是主要設備讀還是主設備寫(xiě),高電平表示主設備讀,低電平表示主設備寫(xiě)。讀寫(xiě)狀態(tài)轉換如圖6所示。因此,8位地址中可以用作尋址
端口的地址位為
E
。
4 結束語(yǔ)
本文介紹了數據通信解決方案中數據傳輸通道和 功能的實(shí)現。實(shí)驗證明,兩個(gè)模塊配合工作即可實(shí)現數據的正常傳輸,從而順利地將
轉換器的輸出信號經(jīng)
總線(xiàn)傳送到上位機去。這個(gè)解決方案基于
總線(xiàn)設計并且結合
來(lái)進(jìn)行控制,充分利用了
總線(xiàn)數據傳輸速率高、
設備可熱插撥等功能和
速度快、效率高、配置靈活的特點(diǎn)。經(jīng)實(shí)踐證明,它是一個(gè)功能完備、高效穩定的解決方案。
評論