久久中文久久字幕_国产精品99久久久久久www_国产亚洲精品自在久久_国产精品一区视频

歡迎進入儀商網!

可編程邏輯能為微控制器帶來什么改變?

 在過去25年里,微控制器的內部外設發生了巨大的變化。最初許多微控制器只包含RAM、ROM,也許還有基本的定時器。隨著微控制器的發展,更多的外設被基礎到這種單價不超過一美元的器件中。定時器/計數器、PWM和包括UART、SPI和I2C在內的標準串行接口常用于這些廉價的微控制器。另一個重大變化是32位CPU正在取代同一價格范圍的8位器件。
       但是即便有如此豐富的特性,對于廉價微控制器而言,隨時都存在微控制器廠商不能迅速支持的項目專用硬件接口或新的第三方接口。往往這要求設計人員使用外部硬件或是通過位拆裂在固件中實現接口。位拆裂使用固件觸發IO端口,一般可用于實現串行接口。如果要監測端口以解碼串行數據的時候,也可以使用這種方法。無論是使用外部硬件還是位拆裂來實現接口,都會產生額外的設計成本。雖然增加外部硬件帶來的成本是明顯的,但使用軟件實現串行接口可能也會要求使用速度更快因而也更加昂貴的CPU。
       大多數通用微控制器今天都支持SPI、UART和I2C接口,但仍然有很多時候,某些內部用戶可編程邏輯會非常有用。Atmel、賽普拉斯、Microchip和NXP等多家公司已經把部分用戶可定義邏輯添加到自己的部件上,用于修復部分此類問題。這些器件主要是帶附加邏輯的微控制器。CPU仍然是主要的處理器件,附加邏輯的作用是提高CPU的工作效率。這類器件常見于成本敏感性產品中,但也在低級任務中用作小型協處理器,以減輕主處理器的負擔,從而提升效率。
       另一方面FPGA也正在朝著類似的目標前進,雖然是從另一個方向。賽靈思和Altera多年來一直在添加軟硬核處理器以創建片上系統。FPGA方法一般成本較高,但如果項目需要大量定制邏輯,這就是一種高成本效益的方法。這些器件對于構建ASIC、小批量產品的原型而言極具價值。這類應用的上市時間至關重要,而較大型產品需要持續的硬件靈活性。
       微控制器搭配邏輯與FPGA搭配CPU,這兩種器件類型都能為現場提供硬件靈活性。一旦基于閃存的器件成為常規,現場升級就會成為標準。最早設計人員只能夠升級固件,但現在硬件(邏輯)和固件都能夠在現場輕松實現升級。從計算機鼠標到高速網絡路由器等設備均能夠重新編寫設備的固件和硬件,從而進行現場升級。
       上文提及的四家公司(Atmel、賽普拉斯、Microchip和NXP)均可提供“膠連”邏輯,幫助減輕主處理器的負荷,或是無需使用外部邏輯。就提供的邏輯模塊類型和這些邏輯模塊彼此互聯的方式以及與定時器、UART和IO引腳等板載模塊互聯的方式而言,每家公司都采取了不同的方法。
       因此有必要了解這些廠家各自是如何實現內部可編程邏輯的,以便為選擇最適合自己項目的解決方案做出最佳決策。只要一個簡單的內部AND或者OR門控就足以避免使用外部組件,或是改善CPU性能。所有四種方法都支持用定制邏輯門控輸入和輸出信號。這類方法可借助時鐘門控輸入,以便使用計數器測量外部時鐘頻率。這四類邏輯模塊均支持的一個簡單例子是一種調制UART輸出,使之用于IR通信的方法。在此例中,不僅有圖1所示的內部AND門控,還能夠將來自時鐘或計數器的信號及UARTTX輸出路由到AND門控。

圖1簡單調制的UART
       [pagebreak]        AtmelXMEGA定制邏輯(XCL)
       AtmelXCL模塊內置兩個LUT(查找表)模塊,配套兩個8位定時器/計數器模塊。這兩個LUT不必連接到定時器/計數器模塊,而是與UART、EVENT模塊或IO引腳互聯。這兩個LUT可用作兩個獨立的2輸入單元或一個單獨的3輸入單元。該邏輯模塊可配置為組合邏輯,如AND、NAND、OR、NOR、XOR、XNOR、NOT或MUX功能。它們也可配置為順序邏輯功能,例如D觸發器、D鎖存器或RS鎖存器。由于能夠與其它邏輯模塊和IO引腳互聯,這些簡單的LUT模塊能夠方便地讓設計人員避免使用某些外部邏輯,或者節省CPU周期。例如AtmelXCL模塊應用手冊(AT01084)解釋了如何配置XCL模塊,以避免在產生額外CPU開銷或使用外部邏輯的情況下,為UART輸出提供曼徹斯特編碼。AVRXMEGAE器件內置一個XCL模塊。
圖2Atmel的XMEGA定制邏輯(XCL)
       Microchip可配置邏輯單元(CLC)
       MicrochipCLC允許用戶從八路輸入中選擇最多四個信號。這些輸入可以是兩個IO引腳、內部時鐘、外設或寄存器位的組合。這四個信號隨后路由到可編程邏輯模塊中。該邏輯模塊可編程為AND-OR、OR-XOR、4輸入AND、S-R鎖存器的8種組合之一,也可配置為4種其它觸發器組合之一。Microchip在其《可配置邏輯單元提示與技巧》應用手冊中給出了部分實例。其中的實例之一演示了如何配置這些模塊以解碼正交信號。在不使用這些額外的邏輯模塊情況下,CPU需要以高得多的速率采樣信號,才能避免正處于轉換階段的信號發生偽旋轉,讓CPU只被有效轉換中斷。MicrochipPIC10(L)F320/322器件每個都包含一個CLC模塊,而每個CLC模塊都包含四個圖3所示的模塊。
圖3Microchip的可配置邏輯單元(4個中的一個)
       NXP模式匹配引擎
       NXP提供的用戶可配置邏輯被稱為模式匹配引擎。該邏輯模塊的輸入可選擇最大八個GPIO輸入。這八個輸入可為復雜的布爾表達生成乘積項。這些輸出可用于觸發中斷,驅動特殊IO引腳,或是路由到下一個邏輯模塊或slice。其它特性則支持上升或下降信號以及反相信號的邊緣檢測。該附加硬件經配置后,只有發生復雜(或簡單)事件組合時才中斷CPU。NXPLPC81x器件內置一個模式匹配引擎。
圖4NXP引腳中斷/模式匹配引擎
       賽普拉斯PSoC通用數字模塊(UDB)
       賽普拉斯通過使用通用數字模塊或UDB,采用更先進的方法在上文介紹的其他三個廠商的方法和FPGA之間獨樹一幟。一個UDB由兩個12C4PLD和一個數據通路構成。PLD可用于控制數據通路的操作和數據流,也可用作通用邏輯和狀態機。數據通路是一種能提供8位功能(AND、OR、ADD、SUB、INC、DEC、XOR)、移位功能(左和右)以及供數據排隊的兩個4字節FIFO的定制模塊。這些模塊也可以結合在一起提供16位、24位或32位功能。
       UDB的輸入和輸出可路由到任何GPIO、外設/組件IO、中斷等。UDB、固定功能模擬和數字模塊以及GPIO之間的互聯都使用數字信號接口(DSI)處理。UDB經編程可實現為任何功能,包括從簡單的邏輯門到計數器和PWM以及UART和I2C外設等通用串行接口。
       就利用UDB實現設計而言,用戶可以選擇多種選項。既可把簡單的邏輯門布局在原理圖中,也可在Verilog中實現設計。還可提供定制圖形界面,無需使用Verilog即可實現設計。PSoC3、PSoC4和PSoC5系列微控制器可包含4個到24個此類邏輯模塊(UDB)。
圖5賽普拉斯PSoC通用數字模塊(UDB)
       [pagebreak]       定制接口實例
       最近我注意到Worldsemi生產的一些RGBLED很有意思。部件編號分別為WS2811、WS2812和WS2812B,但它們工作方式一致。只需要一個GPIO引腳,您就可以驅動1,000個或者更多的此類部件。這相當令人感興趣,因為我能夠用一個GPIO引腳控制如此大數量的RGBLED。連接這些LED的接口不是SPI、UART或I2C,而是定制接口。通信信號采用異步信號,每一位開始于上升沿。數據為1或0由下圖所示的高脈沖長度決定。
圖6WS2811/12數據0/1時序
       每個部件需要24位數據,每一種顏色(紅、綠、藍)為下列格式的8位。
圖7WS2811/12數據格式
       WS2811/12部件采用DIN(數據輸入)和DOUT(數據輸出)信號,以便簡單地進行串行連接。每個部件都保留其看到的頭24位數據,然后把剩余數據從DOUT引腳輸出。參見下面的圖8。
圖8連接多個WS2811/12部件
       當數據流啟動后,每個部件將看到持續的數據流。如果數據信號的上升沿不超過50微秒,部件會鎖存數據,將緊鄰的24位數據視為自己的數據,并將其余數據重新發送出去。
圖9數據流閑置時間超過50微秒時器件復位
       正如您所看到的,其原理并不復雜,但它并不能輕松地適配到標準的微控制器硬件上。我確實發現有人使用SPI接口來維持時序,但這要求每個真實的數據位使用至少三個SPI數據位,對于通過位拆裂獲得CPU性能而言優勢不大。由于時序并不嚴格,如果您在固件中實現接口(位拆裂),CPU將專門用于翻轉驅動信號直至LED全部更新。這意味著您需要禁用所有中斷,在整個過程中不對任何其它輸入做出響應。如果您有1,000個LED,則更新時間為(0.40微秒+0.85)*24位*1,000個LED=30,000微秒或30毫秒。這可能并不是什么問題,但如果您要以30Hz的頻率更新LED,將幾乎占用100%的CPU!
       在編寫代碼時,我習慣于在不得不較長時間禁用中斷的地方避免阻塞代碼或條件,特別在系統中有用戶接口或是需要與其它處理器通信的情況下尤為如此。我的目的是盡量減輕CPU的負擔,讓硬件完成大部分工作,就如同今天常見的內部UART或SPI模塊所做的工作一樣。賽普拉斯PSoCUDB有幾項特性能讓這項工作變得非常簡便。每個UDB在數據通路中有兩個4字節FIFO和一個移位器。在實現UART時,您可將一個FIFO用作TX緩存,另一個用作RX緩存。對于WS2811/12,我只需要一個輸出FIFO和移位器。我決定配置硬件,為每個器件每次生成一次中斷。中斷處理器將加載24位(3字節)數據,直到FIFO為空時返回。采用這種方法,可以每30微秒中斷一次,而不必以150毫微秒或更短間隔禁用全部中斷和位拆裂。我決定使用的微控制器是賽普拉斯PSoCCY8C4245AXI。該微控制器大批量采購價格約為一美元,有四個UDB,運行頻率為48MHz,足以滿足此項工作所需的速度和硬件要求。
       設計使用了PSoC提供的四個UDB中的兩個。一個用于使用FIFO緩沖數據和移位數據,這樣每個器件的全部24位(3字節)可一次性寫入。第二個UDB可使用兩個比較輸出創建PWM。一個比較輸出用于創建邏輯0,另一個用于創建邏輯1。該串行數據可用于控制數字多路復用器,選擇波形1或0。敬請參見下圖10的方框圖。
圖10WS2811/12接口使用PSoCUDB的方框圖
       UDB中四個PLD(每個UDB有2個)的大多數乘積項可用于控制數據通路,生成中斷,提供狀態和控制功能,但這也使用了這種低成本微控制器中一半的UDB資源。
       接下來的工作是明確這一附加硬件能為設計節省多少CPU開銷。以1,000個LED組成的陣列為例,其刷新頻率為30Hz。如果設計使用固件對接口進行位拆裂操作,會差不多占用100%的CPU資源。使用PSoC器件中的可編程硬件仍然可以做到每30微秒中斷一次,雖然這也是較重的負荷,但運行在48MHz的ARMCortex-M0足以應付。為測試CPU開銷,我創建了一個簡單的環路,以大約30Hz的頻率刷新顯示器。在主環路中,我觸發了一個引腳,然后使用示波器計算40毫秒內的觸發數量。然后我禁用中斷,再次運行項目,并比較結果。與使用固件中的位拆裂造成的幾乎100%的CPU占用相比,持續顯示刷新只占用大約12%的CPU資源。這樣另外88%的CPU周期可用于外部通信和用戶界面。如果為設計添加DMA,該開銷可能會從12%下降到2%或更低。我使用的最廉價PSoC(約1美元)只包含UDB但未包含DMA,不過一些較大型的部件確實內置有DMA。
       隨后我實際制作了一個由6016個LED(960個LED)網格組成的真正RGBLED板,用于測試該組件。該組件的運行符合預期,可用作顯示基本的直線、矩形、圓圈以及文本的圖形界面。
圖11使用960個RGBLED制作的廣告牌
        無論是大型LED板還是簡單的定制界面,部分內部可編程硬件會給設計性能造成重大影響。不是每一種定制界面都需要多字節FIFO或全硬件狀態機,但擁有這種靈活性能為您提供更多設計選擇、提高性能,或是讓現有設計迅速適合產品需求。

聲明: 聲明:凡本網注明"來源:儀商網"的所有作品,版權均屬于儀商網,未經本網授權不得轉載、摘編使用。
經本網授權使用,并注明"來源:儀商網"。違反上述聲明者,本網將追究其相關法律責任。
本網轉載并注明自其它來源的作品,歸原版權所有人所有。目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。如有作品的內容、版權以及其它問題的,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。
本網轉載自其它媒體或授權刊載,如有作品內容、版權以及其它問題的,請聯系我們。相關合作、投稿、轉載授權等事宜,請聯系本網。
QQ:2268148259、3050252122。

久久中文久久字幕_国产精品99久久久久久www_国产亚洲精品自在久久_国产精品一区视频
日本不卡视频在线播放| 精品一区二区日本| 美女国内精品自产拍在线播放| 日韩中文字幕网站| 色老头一区二区三区| 日韩中文娱乐网| 日韩视频亚洲视频| 国产精品视频一区二区三区四区五区 | 日韩一中文字幕| 国产成人高潮免费观看精品| 久久9精品区-无套内射无码| www.亚洲一区| 国产精品久久久久久久久久久久久 | 91久久久精品| 国产成人精品免高潮在线观看| 国产不卡视频在线| 精品国产欧美成人夜夜嗨| 国产精品日日摸夜夜添夜夜av| 国产精品久久久久9999小说| 久久国产精品免费视频| 亚洲精品免费在线视频| 日韩欧美一区二| 黄色一级片黄色| 国产女人18毛片| 91久久精品国产91久久| 国产精品99久久久久久白浆小说| 久久视频免费在线| 国产成人涩涩涩视频在线观看| 国产精品免费一区豆花| 欧美激情一区二区三区久久久| 亚洲国产一区二区精品视频| 青青a在线精品免费观看| 国模吧一区二区| 国产精品亚洲片夜色在线| 久久久水蜜桃| 国产精品丝袜久久久久久不卡| 精品久久久久久乱码天堂| 亚洲欧美国产精品桃花| 欧美一区视久久| 波多野结衣成人在线| 国产不卡一区二区在线观看| 国产精品久久久对白| 亚洲精品9999| 加勒比成人在线| 91精品国产自产在线| 国产精品视频999| 亚洲国产欧美一区二区三区不卡| 欧美一级爱爱| www.av一区视频| 久久久精品在线观看| 亚洲精品视频一区二区三区| 男人的天堂99| 久久婷婷五月综合色国产香蕉| 麻豆国产va免费精品高清在线| 日日摸日日碰夜夜爽无码| 欧美精品一区二区性色a+v| av日韩一区二区三区| 久久手机精品视频| 性一交一乱一伧国产女士spa| 国产又黄又大又粗视频| 久久久久久久色| 亚洲国产精品综合| 国产精品永久在线| 久久久99免费视频| 天天夜碰日日摸日日澡性色av| 国产中文字幕免费观看| 精品国产欧美一区二区三区成人| 午夜精品久久久久久久99热| 成人乱人伦精品视频在线观看| 国产精品激情av电影在线观看 | 午夜精品一区二区三区在线观看 | 欧美精品一区在线| 久久精品日产第一区二区三区 | 国产精华一区二区三区| 国产精品久久久久久久久久久久| 正在播放国产精品| 亚洲人成人77777线观看| 欧美日韩系列| 99超碰麻豆| 久久成人18免费网站| 日韩免费在线看| 97久久精品在线| 久久夜精品香蕉| 欧美在线观看黄| 久久久女人电视剧免费播放下载| 精品麻豆av| 欧美综合在线观看| 久久国产精品一区二区三区| 久久99热这里只有精品国产 | 国产精品成人观看视频免费| 日韩高清专区| 91久久精品一区| 久久久久久这里只有精品| 欧美大片va欧美在线播放| 日韩免费观看av| 2019日韩中文字幕mv| 久久久久国色av免费观看性色| 欧美精品一区二区三区在线四季| 91国自产精品中文字幕亚洲| 九九热视频这里只有精品| 精品一区二区三区免费毛片| 国产精品视频一区二区高潮| 热久久这里只有| 99在线热播| 欧美人成在线视频| 国产在线一区二区三区播放| 国产精品视频久久久久| 日韩免费视频播放| 久久久久久久久久久久久久久久久久av | 久久久久久久久久久一区| 色中文字幕在线观看| 91国产中文字幕| 亚洲一区二区三区久久| 成人av色在线观看| 亚洲最大的av网站| 97久久国产亚洲精品超碰热| 欧美一级日本a级v片| 国产厕所精品在线观看| 日韩免费av一区二区| 久久av一区二区三区亚洲| 日韩少妇中文字幕| 久久久91精品国产一区不卡| 欧美一区二区综合| 久久久国产视频91| 韩国三级日本三级少妇99| 国产精品久久久久久久美男 | 国产精品久久久久久久久久尿| 激情小说综合区| 国产精品久久精品| 国产免费色视频| 国产成人高清激情视频在线观看| 久久免费看毛片| 青青草成人免费在线视频| 久久久久久免费精品| 任我爽在线视频精品一| 国产精品第七十二页| 国产精品自产拍在线观| 亚洲v日韩v综合v精品v| 91国产在线免费观看| 欧美日韩亚洲一区二区三区四区| 国产精品欧美久久久| 国产青青在线视频| 亚洲在线视频观看| 99福利在线观看| 日本国产一区二区三区| 日产日韩在线亚洲欧美| 久久精品成人欧美大片古装| 精品网站在线看| 中文字幕人成一区| www.亚洲免费视频| 国产人妻人伦精品| 川上优av一区二区线观看| 久久久久九九九| 欧美v在线观看| 一区二区三区av| 色婷婷综合成人av| 国产日韩欧美在线视频观看| 午夜精品一区二区三区av| 国产精品久久波多野结衣| 91福利视频网| 欧美精品一区二区视频| 亚洲三区视频| 国产精品免费一区二区三区| 91久热免费在线视频| 欧美日韩国产免费一区二区三区| 精品国产无码在线| 91国内揄拍国内精品对白| 国产中文字幕二区| 天堂а√在线中文在线| 国产精品成人免费电影| 国产不卡在线观看| 国产精品亚洲第一区| 日韩免费观看网站| 亚洲影院污污.| 久久婷婷国产麻豆91天堂| 久久日韩精品| 99久久免费国| 国产一区 在线播放| 日韩视频免费在线播放| 亚洲欧洲日韩精品| 欧美精品在线极品| 国产精品视频一区二区高潮| 99久久精品免费看国产四区 | 精品日本一区二区| 人体内射精一区二区三区| 久久91亚洲精品中文字幕奶水| 日韩一区二区欧美| 99热在线播放| 国产男女猛烈无遮挡91| 欧美日韩精品免费观看| 日韩欧美视频一区二区三区四区| 一道本在线观看视频| 国产精品高清免费在线观看| 日韩一区免费观看| 久久91精品国产91久久久| 久久久久久亚洲精品不卡| 91国在线精品国内播放| 成人综合视频在线| 国产日韩久久| 国产有码在线一区二区视频|