<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 基于CPLD的測試系統接口設計

          基于CPLD的測試系統接口設計

          作者:時間:2018-07-27來源:網絡收藏

          引言

          本文引用地址:http://www.ex-cimer.com/article/201807/384179.htm

          CLPD(復雜可編程邏輯器件)兼容了LPD(可編程邏輯器件)和通用門陣列的優點,具有編程靈活、可實現較大規模電路的特點,同時具有設計開發周期短、設計制造成本低、開發工具先進、標準產品無需測試、質量穩定、可實時在線檢驗等優點,因此廣泛應用于產品的原型設計和產品生產之中。

          1、在測試系統中的作用

          隨著計算機和微電子技術的迅猛發展,單片機技術被廣泛應用到各種智能儀表、工業控制及家用電器控制領域。但是它們在提高電路板的集成度、增強系統功能的同時也帶來了很多測試和維修上的問題。傳統的測試儀器和設備(如萬用表、示波器、邏輯分析儀等)已不能適應現代測試要求,更無法快捷地診斷出系統的故障所在,因此給一個產品的生產和維護帶來了諸多困難。

          為了提高診斷效率,我們設計了一套基于虛擬儀器的單片機電路板故障測試診斷系統。

          本系統接口的硬件部分由仿真cPu、sRAM、RS232接口芯片、各種接插件加上核心控制電路構成(見圖1)。對于核心控制電路可以考慮兩種方案:一種是采用TL集成電路塊如74LS573、74璐135、74LS24、74璐245等幾十個芯片構成;另一種是采用構成。

          下面對兩種方案進行比較。

          1)可靠性

          CPL/DFPGA的可靠性極高,幾乎可將整個系統下載于同一芯片中,從而大大縮小了體積,易于管理和屏蔽,而傳統的TTL器件數量多、體積大,由此帶來的故障隱患大,可靠性低,故障診斷困難。

          2)可調整性

          CPL/DFPGA可以通過軟件編程而對其硬件的結構和工作方式進行重構,它采用先進的JTAc-ISP和在系統配置編程方式,在十SV工作電平下可隨時對進行全部或部分地在系統編程,其編程次數多達1萬次,而傳統竹L器件不能再改變其邏輯功能,即使設計有誤也無法很快進行調整。

          3)可移植性

          由于開發工具的通用性、設計語言的標準化以及設計過程幾乎與所用CPLD的硬件結構沒有關系,所以設計成功的各類邏輯功能塊軟件有很好的兼容性和可移植性,它幾乎可用于任何型號的CPLD中,而傳統的TL器件根本不具有可移植性。

          4)開發周期

          由于相應的軟件功能完善而強大,仿真方式便捷而實時,開發過程形象而直觀,兼之硬件因素涉及甚少,因此可以在很短時間內完成十分復雜的系統設計,而傳統的TrL器件從設計原理圖、印制版圖到制板、調試至少需花幾星期時間,更不用說調試成功需花的時間可能長達數月之久。

          由以上比較可以看出,用CPLD實現系統硬件的核心控制電路更加合理。CPLD的功能示意圖見圖2。

          本測試系統中,cPLD的主要功能是切換wR、TxD和RxD這3根信號線,因為CPU在通信狀態和仿真狀態時都要用到這3根信號線。當接口板在與PC機通信時,這3個信號輸人CPLD后輸出為wRI、TXDI和RXDI;當CPU執行測試程序發送測試數據到被測板時,它們又從CPLD輸出切換為WRZ、TxDZ和RxDZ。CPLD的另外一個主要工作是隔離接口板上的邵口、咫口的地址數據線和ALE、PSEN等控制線,防止被測板上的故障影響到自身工作。從圖1可以看到,即OUT、P2OUT、ALEOUT,PSENOUT正是印口線、PZ口線、ALE線、PSEN線經隔離后才送到仿真頭的信號,而CPU的其他信號如PI口、T0,T1等則直接送到仿真頭上。另外,輸出信號AL是經過鎖存的低地址信號線。測試結果的取回有3種方式:總線數據和SRAM、ROM的測試結果通過仿真頭從邵OUT送人CPLD隔離后由即口送入CPU;顯示接口、鍵盤接口等接口數據通過ro針或16針扁平電纜插頭從DATAI送人CPLD隔離后也由印送人CPU;其他一些遠離總線的電路節點則通過探針從DATAZ送人CPLD后再送人CPU。

          2、CPLD的設計

          CPLD的設計是硬件系統中最重要的一環。從需要使用的FO引腳和硬件資源考慮,決定選用Altera公司MAX700()S系列中的7128SLC84一15芯片。該芯片內部有128個邏輯塊、64個FO引腳,PLCC封裝,可以在+SV和+3.3V下工作。

          硬件描述語言全部采用。這種語言的特點在于將一項工程設計或稱設計實體(可以是一個組件、一個電路或一個系統)分成外部(或稱可視部分)和內部(或稱不可視部分)兩部分,然后再設計實體的內部功能和算法。

          如圖2所示,在本測試系統中CPLD要實現以下功能:

          a)用做單片機系統中的外部低地址鎖存器,相當于74璐573。

          b)用做通信CPu和仿真CPU之間的切換開關。

          因為接口板中的CPU在與PC機進行通信時需要用到控制線TXD、RXD,在往SRAM中寫數據時需要用到WR線,而在仿真測試用做仿真CPU時所有的3根總線均要提供給被測板,所以必須對兩種狀態都要使用的控制線進行切換。切換的方法是在單片機的程序中執行幾條指令,這類似于Flash的防誤操作方法。向外部數據存儲器地址FFFEH寫數據9H,即

          MOVXDPTR,#OFFFEH

          MOVA,#99H

          MOVX @DPTR,A

          就可以將CPU切換到仿真狀態。

          往FFFFH寫數據55H,即

          MOVX DPTR,#OFFFFH

          MOVA,#55H

          Mov xnDPTR .A

          就可以將CPU切換到通信狀態。

          具體的原理是在CPLD內部用vHDL語言設計了一個切換開關。向FFFEH地址寫9H,切換開關在WR下降沿檢測到此時的低地址為FEH、高地址為FFH、數據為9H時,就將WR信號輸出到WRZ引腳,而WRI引腳輸出為高阻狀態;同理,往FFFFH地址寫5H,則將WR信號輸出到WRI引腳,而WRZ引腳輸出為高阻狀態。因此,每次切換須同時滿足3個條件(低地址、高地址、數據)均相同。這樣,當用做仿真CPU時提供給被測板的數據地址空間幾乎是全空間的,發生誤切換的概率幾乎沒有。

          c)用做取回測試結果通道的切換開關。因為被測單片機電路板有可能不止一個FO接口,每個接口的測試數據都要由刊口送人單片機,這就需要一個切換開關來控制幾條通路的數據輸人以防止數據沖突。

          采用的方法是給每個通路人為地分配一個程序存儲空間地址,如鍵盤口為8082H、顯示口為8083H、打印口為8084H等,使用MOVC指令來打開通道,即

          MOVDPrR,#8082H

          CLRA

          MOVC A,@DPTR+A

          這是將鍵盤口的測試結果通過8針的扁平電纜取回。

          MOV DPTR,#8083H

          CLRA

          MOVCA,@DPTR+A

          這是取回顯示口的數據,同理可取回其他口的數據。

          具體原理是在CPLD中設計了一個多路轉換開關,以鍵盤口為例,轉換開關的條件是當PSEN為低,低地址為82H,高地址為80H時輸人鍵盤口的數據,不理會其他口的數據。

          d)隔離接口板與被測板上的邵口、PZ口及控制線。如果不隔離兩個板上的三總線,當被測板發生故障必將影響接口板,使得接口板根本無法工作,更談不上對被測板進行故障診斷。PI口不用隔離是因為PI口不屬于三總線。

          具體的工作原理是用CPLD模擬單片機內部即口的時序,即先送出低地址,再送出數據。分析PO口讀寫外部數據存儲器的時序可知,讀周期中,低地址在ALE為高電平時送出,而數據在RD上升沿時讀人;寫周期中,低地址也在ALE為高時送出,外部器件在WR為低電平時打開,保證數據在低電平時有效寫人。

          在后面波形圖中可以看到時序符合數據的有效讀人和送出。P1口沒有特別時序要求,輸人CPLD后直接輸出。

          e)直接驅動一個LED燈閃爍。通過計數AEL次數來翻轉電平,這樣可以判斷CPLD或接口板上的單片機是否工作正常。

          3、CPLD的仿真

          在用語言完成CPLD的設計并編譯通過后就可以進行波形仿真,仿真主要是驗證設計的時序是否滿足實際的運行情況,所以仿真的條件須大致模擬系統的實際工作條件。本系統模擬的條件是晶振為11.092MHz的單片機時序。

          按照單片機寫外部數據存儲器的時序進行切換WR、RxD、TXD信號仿真,從仿真波形圖上可以看出,在發出切換到仿真CPU指令后WR入RxDZ、TxDZ能在下一個周期分別輸出WR、RxD、TxD信號,而wRI、RXDI、TXDI都延遲幾納秒后變成高阻;同理,在發出切換到通信CPU指令后也能正確地切換。仿真圖如圖3所示。

          按照單片機讀外部程序存儲器時序進行取I/0口數據仿真,從仿真波形圖上也可看出,在發出取I/0口數據的MOvc指令后,數據結果延遲一段時間后開始出現在數據總線上,但只要在PSEN上升沿來到時數據還能保持,CPU就可以有效讀人。仿真圖見圖4。

          另外,數據線、地址線的隔離也比較理想,可保證數據線上的數據有效寫人外部器件和有效讀入數據。

          4、結束語

          經過實踐證明,本應用CPLD后大大簡化了電路,提高了系統整體性能,使系統具有了集成度高、靈活性強、可靠性高、易于升級和擴展等特點。



          評論


          相關推薦

          技術專區

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();