新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于PLD和串行總線擴展系統控制功能

        基于PLD和串行總線擴展系統控制功能

        作者: 時間:2014-01-07 來源:網絡 收藏

          

          圖3 將用作一個串行IO擴展器

          接下來就需要一個協議,定義從微控制器到外部的數據流的指令和尋址機制。對于基于SPI的實現,無需太多擔心。SPI不需要數據流中的任何信息進行尋址,因為SS和SCLK信號已經根據協議提供了控制尋址。因此,用戶只需控制整個數據有效載荷的傳輸。

          外部的I2C實現稍微復雜一些。首先,在將數據傳輸到總線上之前,要對器件尋址,必須識別出這個PLD。這種差異正是選擇這兩種架構時需要考慮權衡的地方:SPI架構不需要一個指令翻譯器來尋找到特定的從器件,但比I2C結構需要更多引腳。

          遠程故障記錄

          考慮到外部的非易失性存儲器成本低,以及便于通過如I2C或SPI接口進行連接,將外部非易失性存儲器與PLD結合使用,可以為用戶提供極具成本效益的方式來實現系統中的遠程故障記錄管理。圖4顯示了一個典型的系統應用,不僅使用了之前重點介紹的IO擴展功能,也說明了怎樣將外部存儲器納入系統架構中使用。

          

          圖4 遠程故障記錄

          在這個架構中,PLD主要負責監測、控制和與微控制器通信。然而,它也負責執行線路上額外的監測/控制分析和故障信息記錄,通過寫入非易失性存儲器。電壓監控、看門狗定時器和PCB上的其他故障條件可以通過PLD寫入非易失性存儲器。通常情況下,檢測到故障后,系統中其他監控器的狀態,如溫度和電壓以及時間信息將被保存。

          應當注意的是,這樣一個系統在實現時有一個重要的考慮。如果PLD是外部非易失性存儲器的主器件,那么它還需要決定串行總線的控制和尋址。這個決定對于使用SPI總線而言很容易;設計師必須實現一個從SPI器件,與微控制器進行通信,以及一個獨立的主SPI器件,可以訪問外部存儲器。

          對于I2C總線,設計師有幾個選擇。第一種選擇是設計類似SPI那樣的設計,使用一個從器件與微控制器通信,以及一個主器件訪問外部存儲器。第二種選擇是使用PLD,同時作為主器件和從器件。這種方法的好處是,系統中只有一條串行總線,因此微控制器可以直接訪問非易失性存儲器,而無需PLD翻譯指令然后從存儲器中讀取信息。然而,由于不是在PLD中簡單地使用一個從器件,現在設計必須處理尋址和總線控制。

          傳感器和外設匯聚

          基于串行接口的標準產品的數量日益增長。你可以在溫度傳感器、壓力傳感器、A/D轉換器、數字電位器、實時時鐘和LCD控制器等等應用中找到串行接口,這里僅列舉了幾個來說明。要了解如何將這些集成到設計中的關鍵是要知道哪些外設需要“實時”使用以及“實時”意味著什么。舉例來說,在系統中溫度是一個相對緩慢變化的對象,并可以很容易地通過串行總線監控。用于電流或電壓檢測的A/D轉換器可能是也可能不是一個“實時”需求,這要根據正在測量的內容,以及需要多快的檢測速度而定。

          一旦你已經確定了外設的優先級,然后你可以將較低優先級的外設讓PLD處理,減輕處理器的負擔,如圖5所示。

          

          圖5 傳感器匯聚示例

          在上面的例子中,微控制器只需與2個而非4個外設進行通信。

          這種安排還有另外一個好處。你可以使用一個功能強大的PLD來預處理數據,然后由微控制器讀取。例如,請考慮一個應用,使用A/D采樣測量一個三相電力系統的電壓和電流,并進行故障檢查。一個擁有強大DSP功能的PLD可以代替DSP或微控制器執行RMS計算、峰值電流分析、相位計算和FFT。現在采樣速率受到PLD收集樣本和處理數據所需時間的限制。然后,微控制器可以讀取編譯的數據,將更多的時間用于處理控制和報告工作。設計師們應該好好考慮微控制器處理能力、PLD處理能力、成本和空間之間的權衡。

          下一步:集成

          鑒于這些串行總線與小型可編程邏輯器件相結合使用的實用性,下一步將是將至少一種串行總線標準(如果不能兼顧)集成到PLD中。這種集成降低了PLD解決方案的成本和功耗。此外,串行總線接口的編碼不再是設計師需要解決的問題。設計師只需要處理他們的應用和邏輯要求,而不是集成一個開放的核。

          萊迪思半導體公司提供的最新的CPLD就可以為設計師帶來這些優點。MachXO2?系列中的嵌入式功能塊(EFB),包含預先設計的解決方案,可以用來實現上面所述的任意系統控制功能。MachXO2器件包含一個SPI控制器以及2個I2C控制器。所有串行總線控制器都可以配置為主或從器件。此外,MachXO2還為設計師們提供了一個定時器/計數器塊以及少量的用戶可訪問的閃存(UFM)。

          除了上面提到的解決方案,串行總線與PLD相結合可以為系統提供其他的好處,即使有時它們在架構設計過程后才顯現出來。它們并不是所有弊病的靈丹妙藥,但它們在設計中的實用性是有據可查的,有無數的開源核和設計方案可以給予不同的架構設計師們指引,實現最佳的解決方案。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 昆明市| 和政县| 富川| 澄迈县| 宣武区| 山东省| 平邑县| 来宾市| 增城市| 芦山县| 灵宝市| 偃师市| 宿州市| 武安市| 仁布县| 修文县| 东辽县| 玛纳斯县| 加查县| 潍坊市| 游戏| 平阴县| 罗平县| 青浦区| 井冈山市| 莎车县| 彰武县| 广宁县| 永登县| 乌什县| 繁峙县| 五原县| 鸡东县| 深泽县| 海城市| 靖边县| 平顺县| 米泉市| 东光县| 三原县| 茶陵县|