久久久91-久久久91精品国产一区二区-久久久91精品国产一区二区三区-久久久999国产精品-久久久999久久久精品

ABB
關注中國自動化產(chǎn)業(yè)發(fā)展的先行者!
橫河電機25年9月
工業(yè)智能邊緣計算2025年會
2025工業(yè)安全大會
CAIAC 2025
OICT公益講堂
當前位置:首頁 >> 案例 >> 案例首頁

案例頻道

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

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

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

     關鍵字:LPC總線;ISA總線;現(xiàn)場可編程邏輯門陣列


   0 前言

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

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

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

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

    1 系統(tǒng)設計

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

    系統(tǒng)總體設計框圖如圖1所示。

     圖1 系統(tǒng)總體設計框圖

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

    2 硬件邏輯設計

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

     圖2 LPC-ISA接口橋接單元內(nèi)部結(jié)構圖

     其中:LPC接口和ISA接口,分別用于連接LPC總線和ISA總線;

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

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

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

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

    設備片選信號,并將地址、數(shù)據(jù)和控制信號驅(qū)動到ISA總線上。

    (1)讀操作

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

     地址寄存單元先收到的訪問地址為奇地址時,則接口橋接單元從ISA總線讀取8位數(shù)據(jù)到數(shù)據(jù)緩沖單元,以備LPC總線在讀操作周期讀取到主設備。當?shù)刂芳拇鎲卧仁盏降脑L問地址為偶地址時,數(shù)據(jù)寬度判斷單元根據(jù)LPC總線讀取的兩個8位數(shù)據(jù)的等待時間,判斷在讀操作周期讀取的數(shù)據(jù)寬度。

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

   (2)寫操作

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

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

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

    3 軟件設計流程

   如圖3所示,為LPC-ISA橋接單元的程序流程圖。

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

(2)判斷進程是否開始運行

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

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

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

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

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

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

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

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

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

   4 驗證分析

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

(a)發(fā)送16位數(shù)據(jù)到I/O端口
(b)連續(xù)發(fā)送兩個8位數(shù)據(jù)到端口

(c)CPU訪問16位I/O端口

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

 5 結(jié)束語

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

  參考文獻

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

 

熱點新聞

推薦產(chǎn)品

x
  • 在線反饋
1.我有以下需求:



2.詳細的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 亚洲国产欧美日韩| 欧美日本亚洲国产一区二区| 国产成人精品1沈娜娜| 欧美一区二区三区精品影视| 内地自拍| 免费手机黄色网址| 国产永久免费视频| 黄色免费网站在线观看| 色视频网站人成免费| 91国高清视频| 亚洲国内自拍| 国产美女无遮挡免费视频| 国产视频福利| 1024jd基地手机看国产| 亚洲欧美二区三区久本道| 免费视频爱爱太爽了| 黄色片网址| 久久大胆视频| 日韩欧美亚洲综合| 亚洲精品高清在线| 综合亚洲欧美日韩一区二区| 一级毛片中文字幕| 久久精品视频6| 成年女人在线观看| 国产成a人片在线观看视频99| 国产成人久久精品激情| 精品亚洲永久免费精品| 六月婷婷色| 亚洲美女爱做色禁图无遮| 41sao.can在线观看国产| 一级片色| 一级片视频在线| 三级黄色在线| 午夜天堂在线视频| 亚洲黄色一级| 纯欧美一级毛片_免费| 欧美黄色大片免费观看| 国产97在线观看| 黄视频在线观看免费| 久久成人国产精品| 麻豆传媒视频入口|