• <blockquote id="fficu"><optgroup id="fficu"></optgroup></blockquote>

    <table id="fficu"></table>

    <sup id="fficu"></sup>
    <output id="fficu"></output>
    1. 20240703
      關(guān)注中國自動(dòng)化產(chǎn)業(yè)發(fā)展的先行者!
      工業(yè)智能邊緣計算2024年會(huì )
      2024
      2024中國自動(dòng)化產(chǎn)業(yè)年會(huì )
      2023年工業(yè)安全大會(huì )
      OICT公益講堂
      當前位置:首頁(yè) >> 案例 >> 案例首頁(yè)

      案例頻道

      基于FPGA的LPC-ISA總線(xiàn)橋接設計與實(shí)現
      • 企業(yè):研祥智能科技股份有限公司     領(lǐng)域:工控機     行業(yè):化工    
      • 點(diǎn)擊數:4346     發(fā)布時(shí)間:2011-03-16 19:14:41
      • 分享到:
      介紹了一種基于FPGA的LPC-ISA總線(xiàn)橋接設計與實(shí)現的方法;LPC-ISA接口橋接單元包括LPC接口、ISA接口、地址寄存單元、等待時(shí)間存儲單元、數據寬度判定單元以及數據緩沖單元幾部分功能模塊;LPC-ISA接口橋接單元通過(guò)接收訪(fǎng)問(wèn)地址的特征或接口傳送的信號狀態(tài),在工業(yè)控制計算機領(lǐng)域實(shí)現了對8位和16位ISA設備的讀寫(xiě)兼容,延長(cháng)了現存的8位、16位ISA設備的使用壽命。

         研祥智能科技股份有限公司 陳志列

            摘要:介紹了一種基于FPGA的LPC-ISA總線(xiàn)橋接設計與實(shí)現的方法;LPC-ISA接口橋接單元包括LPC接口、ISA接口、地址寄存單元、等待時(shí)間存儲單元、數據寬度判定單元以及數據緩沖單元幾部分功能模塊;LPC-ISA接口橋接單元通過(guò)接收訪(fǎng)問(wèn)地址的特征或接口傳送的信號狀態(tài),在工業(yè)控制計算機領(lǐng)域實(shí)現了對8位和16位ISA設備的讀寫(xiě)兼容,延長(cháng)了現存的8位、16位ISA設備的使用壽命。

           關(guān)鍵字:LPC總線(xiàn);ISA總線(xiàn);現場(chǎng)可編程邏輯門(mén)陣列


         0 前言

          ISA(Industry Standard Architecture,工業(yè)標準體系結構)總線(xiàn)是IBM公司為PC/AT電腦而制定的總線(xiàn)標準,為16位體系結構,支持16位的I/O設備,數據傳輸率大約是16MB/S,也稱(chēng)為AT標準。LPC(Low Pin Count,低管腳數)總線(xiàn)是Intel公司定義的一個(gè)數據地址命令多路復用總線(xiàn),工作頻率為33MH。在工業(yè)計算機領(lǐng)域,LPC總線(xiàn)已經(jīng)逐漸取代了ISA總線(xiàn)而成為新的接口[1]。

          目前在工業(yè)控制計算機領(lǐng)域,仍然有很多外圍設備只提供ISA總線(xiàn)接口。由于其工作頻率,數據地址總線(xiàn)寬度以及讀寫(xiě)時(shí)序等等與LPC總線(xiàn)不同,因而外圍設備需要進(jìn)行總線(xiàn)接口轉換后才能接入LPC總線(xiàn)正常工作。

          對于目前很多工控機主板已經(jīng)不再提供ISA接口,普遍以L(fǎng)PC接口取代ISA接口的情況,業(yè)界開(kāi)發(fā)出該兩種接口的轉接卡以能夠使眾多用戶(hù)繼續使用ISA設備。然而,現有的轉接卡只支持8位的ISA設備,無(wú)法實(shí)現8位、16位ISA設備的同時(shí)兼容。如此,在實(shí)際應用中對現存的16位ISA設備就不能夠繼續使用,導致現有資源的浪費。

          本文提出一種基于FPGA(Field Programmable Gate Array,現場(chǎng)可編程門(mén)陣列)實(shí)現的LPC-ISA總線(xiàn)橋接設計方案,實(shí)現了對現有8位、16位ISA設備的兼容使用。

          1 系統設計

          FPGA作為專(zhuān)用集成電路(ASIC)領(lǐng)域中的一種半定制電路,可以解決定制電路的不足,又克服了原有可編程器件門(mén)電路數有限的缺點(diǎn),具有設計周期最短、開(kāi)發(fā)費用低、保密性強、體積小、重量輕、可靠性高等特點(diǎn)[2]。本系統主要由主設備、LPC總線(xiàn)、LPC-ISA接口橋接單元、ISA總線(xiàn)、ISA設備組成。其中LPC-ISA接口橋接單元采用XILINX公司的XC3S100E-4TQG144C。

          系統總體設計框圖如圖1所示。

           圖1 系統總體設計框圖

          主設備(如工業(yè)控制計算機)通過(guò)LPC總線(xiàn)與接口橋接單元連接,接口橋接單元的另一側通過(guò)ISA總線(xiàn)與ISA設備連接。ISA設備可以是8位或16位I/O設備和存儲器設備。主設備在取得總線(xiàn)的使用權后,通過(guò)LPC總線(xiàn)發(fā)起對ISA設備的訪(fǎng)問(wèn)。接口橋接單元根據LPC總線(xiàn)傳送的地址特征,或根據LPC總線(xiàn)傳送的地址特征和收到的兩個(gè)總線(xiàn)傳送的其他信息,確定傳送的數據的寬度(8位或16位),讀取LPC總線(xiàn)的數據,并通過(guò)ISA總線(xiàn)驅動(dòng)ISA設備,從而完成8位或16位數據的寫(xiě)操作。

          2 硬件邏輯設計

           基于FPGA的LPC-ISA接口橋接單元主要包括LPC接口、ISA接口、地址寄存單元、等待時(shí)間存儲單元、數據寬度判定單元以及數據緩沖單元幾部分功能模塊,如圖2所示。

           圖2 LPC-ISA接口橋接單元內部結構圖

           其中:LPC接口和ISA接口,分別用于連接LPC總線(xiàn)和ISA總線(xiàn);

          等待時(shí)間存儲單元,用于接收并累加LPC總線(xiàn)時(shí)鐘周期,在累加值達到設定的閾值時(shí),輸出該信息給數據寬度判斷單元。

          數據寬度判斷單元,根據等待時(shí)間存儲單元輸出的信息或根據等待時(shí)間存儲單元輸出的信息和16位片選信號的狀態(tài)或高字節允許信號的狀態(tài),判斷在讀寫(xiě)周期所傳送的數據寬度。

           地址寄存單元,用于暫存LPC接口傳送的外設訪(fǎng)問(wèn)地址,并將訪(fǎng)問(wèn)地址的特征提供給數據寬度判斷單元;
       
           數據緩沖單元,用于暫存LPC接口傳送的8位或16位數據。

          主設備在LPC總線(xiàn)上發(fā)起讀寫(xiě)周期,LPC-ISA接口橋接單元將LPC總線(xiàn)傳輸的數據解碼,產(chǎn)生讀寫(xiě)控制信號,其中訪(fǎng)問(wèn)地址信息暫時(shí)存入地址寄存單元,數據信息暫時(shí)存入數據緩沖單元。然后,接口橋接單元根據訪(fǎng)問(wèn)地址產(chǎn)生相應

          設備片選信號,并將地址、數據和控制信號驅動(dòng)到ISA總線(xiàn)上。

          (1)讀操作

          對于從ISA接口讀取數據到LPC接口的讀操作,數據寬度判斷單元根據地址寄存單元的地址特征,判斷在讀操作周期所讀數據的寬度。

           地址寄存單元先收到的訪(fǎng)問(wèn)地址為奇地址時(shí),則接口橋接單元從ISA總線(xiàn)讀取8位數據到數據緩沖單元,以備LPC總線(xiàn)在讀操作周期讀取到主設備。當地址寄存單元先收到的訪(fǎng)問(wèn)地址為偶地址時(shí),數據寬度判斷單元根據LPC總線(xiàn)讀取的兩個(gè)8位數據的等待時(shí)間,判斷在讀操作周期讀取的數據寬度。

           如果該等待時(shí)間超過(guò)9個(gè)LPC時(shí)鐘周期,則確定是8位讀數據;反之,可以確定是16位讀數據。接口橋接單元將數據讀取至數據緩沖單元暫存,供LPC接口在讀操作周期將數據讀入主設備。

         (2)寫(xiě)操作

           對于寫(xiě)操作,數據寬度判斷單元根據地址寄存單元的地址特征、LPC總線(xiàn)和ISA總線(xiàn)傳送的信息,判斷在寫(xiě)操作周期所寫(xiě)數據的寬度。

          其中,地址寄存單元收到的訪(fǎng)問(wèn)地址為奇地址時(shí),數據寬度判斷單元根據這一地址特征和ISA總線(xiàn)傳送的無(wú)效的16位片選信號,則判斷是8位數據的寫(xiě)操作,并將此判斷信息輸入給數據緩沖單元,接口橋接單元置高字節允許信號為有效狀態(tài),將數據緩沖單元的8位數據寫(xiě)入8位ISA設備。

          如果地址寄存單元收到的訪(fǎng)問(wèn)地址為偶地址,數據寬度判斷單元根據這一地址特征和ISA總線(xiàn)傳送的有效16位片選信號,判斷是16位數據的寫(xiě)操作,并將此判斷信息輸入給數據緩沖單元,接口橋接單元置高字節允許信號為有效狀態(tài),將數據緩沖單元的16位數據寫(xiě)入16位ISA設備;否則,判斷是8位數據的寫(xiě)操作,并將此判斷信息輸入給數據緩沖單元,接口橋接單元置高字節允許信號為無(wú)效狀態(tài),將數據緩沖單元的8位數據寫(xiě)入8位ISA設備。

          3 軟件設計流程

         如圖3所示,為L(cháng)PC-ISA橋接單元的程序流程圖。

      圖3 程序流程圖
          (1)初始化
      LPC接口、ISA接口初始化。

      (2)判斷進(jìn)程是否開(kāi)始運行

      在以主設備、橋接單元和從設備構成的系統運行之初,判斷接口之間是否有數據需要傳送,若沒(méi)有數據傳送,進(jìn)程處于等待狀態(tài)直到進(jìn)程開(kāi)始;若有數據傳送,說(shuō)明進(jìn)程還沒(méi)完成。在當接口需要進(jìn)行16位數據操作時(shí),判斷進(jìn)程在完成高8位數據操作完成之后是否仍然處于運行狀態(tài)。

      (3)判斷讀/寫(xiě)進(jìn)程
      在該狀態(tài)中,判斷運行的進(jìn)程是讀進(jìn)程還是寫(xiě)進(jìn)程。若為讀,讀進(jìn)程運行;相反,開(kāi)始寫(xiě)進(jìn)程。

      (4)寫(xiě)進(jìn)程
      寫(xiě)進(jìn)程實(shí)現向ISA設備寫(xiě)數據的操作。
      在該狀態(tài)中,只有當ISA端設備準備好接收數據,LPC接口才能開(kāi)始向接口橋接單元寫(xiě)數據。之后,對LPC接口執行的兩個(gè)8位寫(xiě)數據操作之間的等待時(shí)間進(jìn)行判斷。
      在確認ISA端設備準備接收數據操作完成之后,接口橋接單元開(kāi)始處理LPC接口傳送的數據。接口橋接單元判斷LPC接口傳送給ISA接口的兩個(gè)8位數據之間的等待時(shí)間,以確定是8位數據的寫(xiě)操作還是16位數據的寫(xiě)操作。如果該等待時(shí)間小于9個(gè)LPC時(shí)鐘周期,則接口橋接單元確認傳送的數據寬度是16位,當前執行的操作是對16位ISA設備的寫(xiě)數據操作;相反,返回到進(jìn)程是否開(kāi)始運行。

      (5)運行ISA接口的寫(xiě)進(jìn)程。
      在該狀態(tài)中,若LPC接口傳送過(guò)來(lái)的是偶地址,并且ISA設備收到偶地址后沒(méi)有向接口橋接單元傳送有效16位片選信號,則傳送的數據寬度為8位,當前執行是對8位ISA設備的寫(xiě)數據操作。
      若LPC接口傳送過(guò)來(lái)的是奇地址,并且ISA設備收到奇地址后沒(méi)有向接口橋接單元傳送有效16位片選信號,則LPC接口側主設備將總線(xiàn)高字節允許信號置成有效狀態(tài),對8位ISA設備執行寫(xiě)數據操作。
      若LPC接口傳送過(guò)來(lái)的是偶地址,并且ISA設備收到偶地址后向接口橋接單元傳送了有效16位片選信號以及連續兩個(gè)8位數據之間的等待時(shí)間小于9個(gè)LPC時(shí)鐘周期,則接口橋接單元判定傳送的數據寬度為16位,LPC接口側主設備收到16位使能信號后,將總線(xiàn)高字節允許信號置成有效狀態(tài),執行對16位ISA設備的寫(xiě)數據操作。

      (6)判斷ISA接口的寫(xiě)進(jìn)程完成狀態(tài)
      如果ISA接口的寫(xiě)進(jìn)程已經(jīng)完成,回到初始化狀態(tài);否則,考察LPC接口數據傳送的狀態(tài),確定是否結束進(jìn)程。
      該狀態(tài)中,如果LPC接口傳送的兩個(gè)8位寫(xiě)數據之間的等待時(shí)間大于60個(gè)LPC時(shí)鐘周期,則接口橋接單元確定此寫(xiě)進(jìn)程已經(jīng)結束,主設備開(kāi)始對ISA從設備執行下一個(gè)寫(xiě)操作;否則,表明此寫(xiě)進(jìn)程尚未結束,接口橋接單元繼續未完成的ISA接口寫(xiě)進(jìn)程。
      以上是接口橋接單元實(shí)現ISA接口寫(xiě)進(jìn)程的程序流程圖,以下是接口橋接單元實(shí)現LPC接口讀進(jìn)程的程序流程圖。

      (7)讀進(jìn)程
      讀進(jìn)程中包含從ISA接口讀取數據到LPC接口的操作,該讀進(jìn)程實(shí)現主設備從ISA接口讀取數據到LPC接口的操作。
      首先,判斷所讀取數據的寬度。如果數據是8位,從LPC接口讀出存儲的8位數據;否則,判斷是否讀取16位數據的高8位。

      (8)判斷LPC接口數據傳送的狀態(tài)

      考察LPC接口數據傳送的狀態(tài),確定是否結束進(jìn)程。
      如果LPC接口傳送的兩個(gè)8位寫(xiě)數據之間的等待時(shí)間大于60個(gè)LPC時(shí)鐘周期,則接口橋接單元確定此讀進(jìn)程已經(jīng)結束,回到起始狀態(tài);相反,表明此讀進(jìn)程尚未結束,接口橋接單元繼續未完成的LPC接口讀進(jìn)程。

      (9)判斷是否從LPC接口讀出高8位數據
      判斷從LPC接口讀出高8位數據后,繼續讀進(jìn)程。相反,從LPC接口讀取低8位數據。若傳送的數據寬度為16位,則在讀取高8位數據后,在下一個(gè)讀操作周期從LPC接口讀取低8位數據。
      緊接著(zhù),考察LPC接口16位數據的連續兩個(gè)8位數據讀操作之間的狀態(tài),確定是否結束進(jìn)程。如果LPC接口傳送的16位數據中連續兩個(gè)8位數據讀操作之間的等待時(shí)間大于60個(gè)LPC時(shí)鐘周期,則接口橋接單元確定LPC針對接口的讀進(jìn)程已經(jīng)結束,回到起始狀態(tài)。開(kāi)始執行LPC接口的下一個(gè)數據訪(fǎng)問(wèn)操作;否則,表明此讀進(jìn)程尚未結束,接口橋接單元繼續未完成的針對LPC接口的讀進(jìn)程。

         4 驗證分析

         LPC總線(xiàn)時(shí)序分析:LPC總線(xiàn)傳輸需要的信號有LCLK時(shí)鐘、數據地址命令復用線(xiàn)LPC_AD(0:3)、串行中斷請求信號SERIRQ、起始控制信號LFRAME#、復位信號LRESET、從信號申請DMA傳輸或總線(xiàn)主控信號LDRQ[3]。
      如圖4所示,為L(cháng)PC接口的時(shí)序仿真圖。

      (a)發(fā)送16位數據到I/O端口
      (b)連續發(fā)送兩個(gè)8位數據到端口

      (c)CPU訪(fǎng)問(wèn)16位I/O端口

      (d)連續兩次訪(fǎng)問(wèn)同一個(gè)8位I/O端口
      圖4 LPC端口時(shí)序仿真
      由以上時(shí)序圖,可得出連續兩次8位數據傳輸和一次16位數據傳輸是有區別的,中間會(huì )有35個(gè)CLK等待周期,在實(shí)際的程序設計中我們以60個(gè)CLK為判斷條件。本方案基于FPGA的LPC-ISA總線(xiàn)橋接設計,通過(guò)接收訪(fǎng)問(wèn)地址的特征或接口傳送的信號狀態(tài),在工業(yè)控制計算機領(lǐng)域實(shí)現對8位和16位ISA設備的讀寫(xiě)兼容,延長(cháng)了現存的8位、16位ISA設備的使用壽命。

       5 結束語(yǔ)

        工業(yè)控制計算機自上世紀90年代起至今已經(jīng)廣泛應用到國民生產(chǎn)的眾多領(lǐng)域,如工業(yè)控制、勘探采集、醫療化工、金融安防等等,在經(jīng)濟活動(dòng)中默默發(fā)揮著(zhù)它的重要作用。十二五規劃發(fā)展中,中國步入一個(gè)轉型時(shí)期,經(jīng)濟、工業(yè)等多方面處于一個(gè)有待升級的局面。提高產(chǎn)能、調整產(chǎn)業(yè)結構、工業(yè)設備的更新?lián)Q代等都將面臨一個(gè)過(guò)渡調整的階段,不可否定,在工業(yè)控制計算機領(lǐng)域同樣也面臨著(zhù)新、老產(chǎn)品同時(shí)存在、彼此兼容的問(wèn)題。本文對LPC-ISA總線(xiàn)橋接方案的研究,正是在此背景下,對實(shí)際生產(chǎn)問(wèn)題的客觀(guān)體現,具有良好而實(shí)際的應用價(jià)值。

        參考文獻

      【1】肖金球.基于 LPC 總線(xiàn)的FPGA 高速初始化配置系統設計[J].計算機工程,2005,31(13):176-178
      【2】Ciletti M D. Verilog-HDL 高級數字設計[M]. 北京:電子工業(yè)出版社,
      2005.
      【3】Intel_ Low Pin Count (LPC) Interface Specification. www.intel.com,2002-08

       

      熱點(diǎn)新聞

      推薦產(chǎn)品

      x
      • 在線(xiàn)反饋
      1.我有以下需求:



      2.詳細的需求:
      姓名:
      單位:
      電話(huà):
      郵件:
      欧美精品欧美人与动人物牲交_日韩乱码人妻无码中文_国产私拍大尺度在线视频_亚洲男人综合久久综合天

    2. <blockquote id="fficu"><optgroup id="fficu"></optgroup></blockquote>

      <table id="fficu"></table>

      <sup id="fficu"></sup>
      <output id="fficu"></output>