MicrochipCLC允許用戶從八路輸入中選擇最多四個(gè)信號(hào)。這些輸入可以是兩個(gè)IO引腳、內(nèi)部時(shí)鐘、外設(shè)或寄存器位的組合。這四個(gè)信號(hào)隨后路由到可編程邏輯模塊中。該邏輯模塊可編程為AND-OR、OR-XOR、4輸入AND、S-R鎖存器的8種組合之一,也可配置為4種其它觸發(fā)器組合之一。Microchip在其《可配置邏輯單元提示與技巧》應(yīng)用手冊(cè)中給出了部分實(shí)例。其中的實(shí)例之一演示了如何配置這些模塊以解碼正交信號(hào)。在不使用這些額外的邏輯模塊情況下,CPU需要以高得多的速率采樣信號(hào),才能避免正處于轉(zhuǎn)換階段的信號(hào)發(fā)生偽旋轉(zhuǎn),讓CPU只被有效轉(zhuǎn)換中斷。MicrochipPIC10(L)F320/322器件每個(gè)都包含一個(gè)CLC模塊,而每個(gè)CLC模塊都包含四個(gè)圖3所示的模塊。

NXP提供的用戶可配置邏輯被稱為模式匹配引擎。該邏輯模塊的輸入可選擇最大八個(gè)GPIO輸入。這八個(gè)輸入可為復(fù)雜的布爾表達(dá)生成乘積項(xiàng)。這些輸出可用于觸發(fā)中斷,驅(qū)動(dòng)特殊IO引腳,或是路由到下一個(gè)邏輯模塊或slice。其它特性則支持上升或下降信號(hào)以及反相信號(hào)的邊緣檢測(cè)。該附加硬件經(jīng)配置后,只有發(fā)生復(fù)雜(或簡(jiǎn)單)事件組合時(shí)才中斷CPU。NXPLPC81x器件內(nèi)置一個(gè)模式匹配引擎。

賽普拉斯通過(guò)使用通用數(shù)字模塊或UDB,采用更先進(jìn)的方法在上文介紹的其他三個(gè)廠商的方法和FPGA之間獨(dú)樹(shù)一幟。一個(gè)UDB由兩個(gè)12C4PLD和一個(gè)數(shù)據(jù)通路構(gòu)成。PLD可用于控制數(shù)據(jù)通路的操作和數(shù)據(jù)流,也可用作通用邏輯和狀態(tài)機(jī)。數(shù)據(jù)通路是一種能提供8位功能(AND、OR、ADD、SUB、INC、DEC、XOR)、移位功能(左和右)以及供數(shù)據(jù)排隊(duì)的兩個(gè)4字節(jié)FIFO的定制模塊。這些模塊也可以結(jié)合在一起提供16位、24位或32位功能。
UDB的輸入和輸出可路由到任何GPIO、外設(shè)/組件IO、中斷等。UDB、固定功能模擬和數(shù)字模塊以及GPIO之間的互聯(lián)都使用數(shù)字信號(hào)接口(DSI)處理。UDB經(jīng)編程可實(shí)現(xiàn)為任何功能,包括從簡(jiǎn)單的邏輯門(mén)到計(jì)數(shù)器和PWM以及UART和I2C外設(shè)等通用串行接口。
就利用UDB實(shí)現(xiàn)設(shè)計(jì)而言,用戶可以選擇多種選項(xiàng)。既可把簡(jiǎn)單的邏輯門(mén)布局在原理圖中,也可在Verilog中實(shí)現(xiàn)設(shè)計(jì)。還可提供定制圖形界面,無(wú)需使用Verilog即可實(shí)現(xiàn)設(shè)計(jì)。PSoC3、PSoC4和PSoC5系列微控制器可包含4個(gè)到24個(gè)此類(lèi)邏輯模塊(UDB)。

最近我注意到Worldsemi生產(chǎn)的一些RGBLED很有意思。部件編號(hào)分別為WS2811、WS2812和WS2812B,但它們工作方式一致。只需要一個(gè)GPIO引腳,您就可以驅(qū)動(dòng)1,000個(gè)或者更多的此類(lèi)部件。這相當(dāng)令人感興趣,因?yàn)槲夷軌蛴靡粋€(gè)GPIO引腳控制如此大數(shù)量的RGBLED。連接這些LED的接口不是SPI、UART或I2C,而是定制接口。通信信號(hào)采用異步信號(hào),每一位開(kāi)始于上升沿。數(shù)據(jù)為1或0由下圖所示的高脈沖長(zhǎng)度決定。
