在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

分而治之的概念適用于任何總線類型應用中

電子設計 ? 來源:電子設計應用 ? 作者:Jon Pearson ? 2020-09-22 18:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

其中有一個很明顯的發展趨勢:將復雜的問題分為若干個較小、較簡單且更加明確的問題,并針對具體的任務運用合適的工具。即使是最為普通的嵌入式系統也適用于這一原則,它可以縮短設計周期,提高系統的靈活性和可維護性。關鍵在于采用一種通用的通信策略。

控制器和從控制器

最基本的原理就是:用主控制器進行集中決策,再交由從控制器分別執行。在最為復雜的系統中,這種方法必不可少,并能夠自動執行。比如,手機中的主處理器用于決定屏幕的顯示內容以及外設(如LCD顯示控制器或無線電收發器)需要完成的工作,而不會直接控制顯示的各個像素或是無線電的編/解碼。主控制器將告知顯示器需要顯示什么信息,并由顯示器來決定如何顯示;同樣,主控制器向收發器提供需要編碼的音頻信號,而收發器則提供解碼后的信號。

在其他嵌入式系統中,任務的劃分或許不那么明顯,但基本思想都是相同的。如果一個中央主控制器能夠與遠程從設備以及本地設備進行通信,那么整個系統中就可以有統一的控制。另外,為了使一個分布式系統獲得成功,需要對接口作明確的定義。

雖然微控制器有許多標準的通信方法,但在主/從嵌入式系統中,最常用的是RS23 2串行接口、SPI和I2C。采用這些通信接口的從設備包括較低級的ADCDAC、串行EEPROM、各類數字I/O,以及較高級的電壓排序和監控器件以及閉環風扇控制器等。

將任務分而治之

在目前嵌入式市場的從器件以及可被用作主控制器或定制從控制器的微控制器中,比較流行的通信方法是I2C。這主要是由于I2C價格較低,只需雙線/引腳和兩個上拉電阻器即可構成,并且簡單易用。就分布式嵌入系統而言,I2C(400kHz)往往是最佳選擇。

將任務分而治之的關鍵在于:簡單的問題要比復雜的問題更加容易解決。此外,將器件彼此分開可以減少它們之間的耦合,并提高系統的可靠性。如果能夠正確地分配功能、定義接口,就可以避免普遍存在的一些故障。最后,如果能夠很好地利用自己的經驗,則在劃分任務的過程中就將能產生許多可重用的設計,從而使得工程師在設計下一個項目時不用從頭開始。

實現任務的分而治之需要依靠一根通信總線,在有些情況下,總線會影響到某些主控制器/從控制器的特性。在本文中使用I2C作為總線,是因為支持該總線的器件比較普遍,而且測試和調試I2C所需的外部工具價格較低或比較容易創建。

這種主控制器/從控制器的原理在任何嵌入式設計中都是以相同的方法來處理的。首先,確定需要集中做出那些決策,并將它們分配給主控制器;然后把具體操作分配給從控制器去執行。關鍵在于如何進行任務的劃分。一種高效的策略是:不要讓主控制器因為任何事情而去等待某個從控制器;如果從控制器需要主控制器提供某些信息,它必須先呼叫主控制器。在有些情況下,這種方法還需要一根中斷線,以使從控制器能夠呼叫主控制器。

采用I2C I/O擴展器件的面板控制器

本文在一個控制設備面板的系統中采用了該方法,面板由按鈕、開關和LED組成。在該面板系統中,主控制器是負責管理該系統的主處理器,如嵌入式的Windows或Linux計算機;從控制器為I2C總線連接I/O擴展器。

通過讓主處理器在上電時對I/O擴展器進行配置,按鈕/開關檢測輸入和LED狀態輸出將被傳至主處理器。任何一個具有I2C總線的處理器都可以是主控制器,它對設備進行軟件配置,并可以方便地改變按鈕和LED的配置。

這種簡單的系統如圖1所示。圖中藍色的圓圈代表按鈕輸入,紅色和綠色形狀代表LED。在設計中使用了兩個小的I2C I/O擴展器,是為了實現智能設計的模塊化,把輸入子系統的變化與輸出子系統分隔開。當在主控制器中進行決策時,可使某一特定功能的變化不影響到其他的功能。

圖1 面板系統簡圖

而且,由于所有的控制功能都由主控制器完成,因此系統中的硬件部分很簡單,而且易于改變。但這種簡單的方法也有缺點,當希望增加一個用于調節LED亮度的環境光傳感器時,增加的工作負擔將全部由主控制器來承擔,它要保證所有的從控制器能夠適應設計變化,并正常工作。但其實主控器只需要知道按鈕的狀態,并控制LED的接通和關斷。

設計定制的I2C從控制器件

在圖1的系統中,所有的邏輯信息都存儲在主控制器中,一切變化都要通過主控制器完成。作為替代方案,可以定義一個面板接口,并將所有的細節問題交給一個分布式的從控制器系統來處理,這樣可減少主處理器的負擔。

設計定制器件時應采用定義了穩定協議和接口且經過驗證的I2C從控制器實現方案,最常用的協議是目前大多數I2C從控制器件所采用的、基于寄存器的協議。相關概要信息如下:

對于I2C,所有的事務處理均由主控制器啟動;

每個從器件都具有一個I2C 7位地址(最低有效位表明事務處理是“讀”還是“寫”);

每個從器件都具有一個內部地址寄存器,用于存儲一個指向包含了數據、命令或狀態信息的內部表指針;

每個從器件均定義了其寄存器的地址及其功能,指明它們是只讀型的還是讀/寫型的;

一個寫處理事務由一個具有I2C器件7位地址和寫操作位的字節以及一個位于其后的、用于設定內部地址寄存器的字節組成,如果在處理事務中有更多的字節,則它們將被寫入以新設定的內部地址為起點的從器件;

一個讀處理事務由一個具有I2C器件7位地址和讀操作位的字節以及一個位于其后的主控制器組成,該主控制器用于記錄從器件的字節數,并在結束時提供停止信號。由此可見,I2C從控制器與雙端口RAM很相似,非常易于使用。

接下來要選擇可編程器件,賽普拉斯公司推出的微控制器件PSoC擁有處理大多數I2C從控制器所需的全部功能,并提供了一種易用的工具,從而簡化了增加I2C從控制器的工作,只需“拖、放、選擇地址”即可。

首先,定義一個按鈕輸入的從器件,創建一個具有3個地址引腳和7個按鈕輸入的器件,并通過配置使之接受一個靠近5V直流系統電源的常開開關。按鈕狀態將在一個由I2C主控制器進行存取的單字節中提供。

其次,定義用于控制LED的從器件,創建一個具有2個地址引腳并能夠以10mA的電流來驅動8個LED(分為4紅4綠)的器件。定義被稱為“Command”的單字節用于執行I2C的命令輸入,以控制LED。該字節的4個低位用于控制紅光LED,而4個高位則負責控制綠光LED。

接下來,還可以更加細致地定義定制I2C主控制器/從控制器的接口,進一步實現從控制級的客戶化設計。如果想把系統主控制器從一個輪詢器件變為一個接收報警信號的中斷器件時,則可以給按鈕輸入設備增加一根輸出線。這些改動能夠進一步地把主系統處理器與低級設備相隔離,并提供了在不影響主系統的情況下繼續改善子系統的更大靈活性。

將分而治之的概念推廣到所有的通信總線

本文所討論和說明的概念可適用于任何的總線類型,需要做的是定義滿足各種不同需要的協議,以最大限度地縮短無線、便攜系統中的傳輸時間,或是在苛刻的工業環境中實現完善的檢錯/糾錯。

主控制器可以被稱為集線器,從控制器可以被看作一個節點并具有預定的響應時間,但是,分而治之的思想仍然適用:把普通、重復的測量和低級控制分配給級別最低的點,而將重要的工作留給系統控制器來完成。另外,在各種情況下都必須建立功能強大、精確定義的接口,以便為下一級的設計留出一定的自由度,在不影響較高級設備的情況下方便地改變設計方案。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7926

    瀏覽量

    153939
  • 控制器
    +關注

    關注

    114

    文章

    17036

    瀏覽量

    183427
  • 總線
    +關注

    關注

    10

    文章

    2958

    瀏覽量

    89505
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    如何讀寫使用適用于CYUSB驅動I2C總線數據

    你好,我與CyPress FX2 USB控制器一起工作。我有董事會認可的CySalk應用程序。我找的代碼實例講述了如何讀寫使用適用于CYUSB驅動I2C總線數據,但找不到任何東西。有人能給我指出正確
    發表于 03-25 10:28

    適用于任何化學物的簡單電池充電器IC分享

    適用于任何化學物的簡單電池充電器IC
    發表于 01-22 06:27

    適用于NFC和驗證的子系統設計

    描述 此參考設計是適用于 NFC(近場通信)和驗證的子系統設計。該子系統設計旨在用作參考設計,支持部件認證、訪問控制、個人識別、無電池傳感器接口、安全令牌傳輸和本地數據的低功耗傳輸。在諸多系統
    發表于 09-22 09:15

    是否有適用于LS1046ARDB上的Secure JTAG的任何應用說明?

    我想知道是否有適用于 LS1046ARDB 上的 Secure JTAG 的任何應用說明,就像適用于 i.MXRT10XX 系列的應用說明一樣,例如適用于 i.MXRT10xx.pdf
    發表于 06-08 09:05

    適用于任何交流電源的過壓保護電路

    適用于任何交流電源的過壓保護電路
    發表于 12-19 20:36 ?1528次閱讀
    <b class='flag-5'>適用于</b><b class='flag-5'>任何</b>交流電源的過壓保護電路

    USB標準適用于哪些應用

    USB標準適用于哪些應用 通用串行總線 (USB) 外設接口已廣泛應用于所有個人計算平臺及眾多工業和基礎設施平臺。不過,與此同時,人們對適用于
    發表于 04-19 14:31 ?2000次閱讀

    鈕扣電池都有哪些類型分別適用于哪些設備?

    鈕扣電池都有哪些類型分別適用于哪些設備? 鈕扣電池類型 特性 應用設備  1.氧化銀電池:高且穩定的電壓自放電每年5% 手表照相機
    發表于 11-05 09:47 ?1196次閱讀

    適用于任何交流電源的過壓保護電路

    電子發燒友為大家提供了適用于任何交流電源的過壓保護電路,。本站還有其他相關資源,希望對您有所幫助。
    發表于 09-27 18:10 ?4817次閱讀
    <b class='flag-5'>適用于</b><b class='flag-5'>任何</b>交流電源的過壓保護電路

    適用于任何OS平臺(Exe)的ADV7619 HDMI接收器庫API源代碼

    適用于任何OS平臺(Exe)的ADV7619 HDMI接收器庫API源代碼
    發表于 06-05 21:04 ?6次下載
    <b class='flag-5'>適用于</b><b class='flag-5'>任何</b>OS平臺(Exe)的ADV7619 HDMI接收器庫API源代碼

    適用于任何OS平臺(Exe)的ADV7850 HDMI接收器庫API源代碼

    適用于任何OS平臺(Exe)的ADV7850 HDMI接收器庫API源代碼
    發表于 06-07 17:14 ?7次下載
    <b class='flag-5'>適用于</b><b class='flag-5'>任何</b>OS平臺(Exe)的ADV7850 HDMI接收器庫API源代碼

    適用于任何OS平臺(Exe)的ADV7614 HDMI接收器庫API源代碼

    適用于任何OS平臺(Exe)的ADV7614 HDMI接收器庫API源代碼
    發表于 06-07 17:15 ?12次下載
    <b class='flag-5'>適用于</b><b class='flag-5'>任何</b>OS平臺(Exe)的ADV7614 HDMI接收器庫API源代碼

    適用于任何操作系統平臺(Exe)的ADV7842 HDMI接收器庫API源代碼

    適用于任何操作系統平臺(Exe)的ADV7842 HDMI接收器庫API源代碼
    發表于 06-07 17:18 ?9次下載
    <b class='flag-5'>適用于</b><b class='flag-5'>任何</b>操作系統平臺(Exe)的ADV7842 HDMI接收器庫API源代碼

    適用于任何OS平臺(Exe)的ADV7844 HDMI接收器庫API源代碼

    適用于任何OS平臺(Exe)的ADV7844 HDMI接收器庫API源代碼
    發表于 06-07 17:23 ?8次下載
    <b class='flag-5'>適用于</b><b class='flag-5'>任何</b>OS平臺(Exe)的ADV7844 HDMI接收器庫API源代碼

    適用于任何OS平臺(Exe)的ADV7611 HDMI接收器庫API源代碼

    適用于任何OS平臺(Exe)的ADV7611 HDMI接收器庫API源代碼
    發表于 06-07 17:26 ?10次下載
    <b class='flag-5'>適用于</b><b class='flag-5'>任何</b>OS平臺(Exe)的ADV7611 HDMI接收器庫API源代碼

    適用于任何OS平臺(Exe)的ADV7612 HDMI接收器庫API源代碼

    適用于任何OS平臺(Exe)的ADV7612 HDMI接收器庫API源代碼
    發表于 06-07 17:40 ?8次下載
    <b class='flag-5'>適用于</b><b class='flag-5'>任何</b>OS平臺(Exe)的ADV7612 HDMI接收器庫API源代碼
    主站蜘蛛池模板: 日日噜噜夜夜狠狠久久丁香 | 国产三及 | 特黄特色的视频免费播放 | 永久免费视频网站在线观看 | 天天射久久| 精品国产自在在线在线观看 | 色播在线永久免费视频网站 | 毛片又大又粗又长又硬 | 一级毛片免费不卡在线视频 | 日本一区二区免费看 | 老汉色视频 | 老司机午夜永久在线观看 | 国产又色又爽又黄的网站在线一级 | 日日噜噜噜夜夜爽爽狠狠 | 色多多最新地址福利地址 | 中文字幕一区二区三区四区五区 | 久久狠狠躁免费观看 | 18年大片免费在线观看 | www.亚洲.com| 免费网站啪啪大全 | 另类五月 | 四虎国产精品4hu永久 | 老师受年下高h男 | 中文字幕一区二区三区免费视频 | 久久中文字幕综合婷婷 | 久久久国产乱子伦精品 | 美女扒开尿口让男生添 漫画 | 色婷婷六月桃花综合影院 | 欧美射射射 | 天天操天天干天天爱 | 天天摸夜夜摸成人免费视频 | youjizz国产| 首页 亚洲 欧美 制服 丝腿 | 不卡免费在线视频 | 黄色网免费 | 四虎精品成人a在线观看 | 三级理论片 | 国产普通话一二三道 | 亚洲成人免费网站 | 午夜性福利 | 久久久久久亚洲精品 |