XIVN1987 发表于 2012-11-15 13:00:46

LPC800的switch matrix真是够牛叉啊!!!!!!



看到没,这个SPI CLK功能引脚可以分配到单片机的任意一个引脚上去,而且所有的3个UART、2个SPI、一个IIC、一个SCT的所有引脚都可以分配到18个芯片管脚的任意一个上面去。。。真是牛叉的逆天啊。。。

相比较而言,SILICON LABS的那个交叉开关就难用多了,,,不知道以后SILICON LABS再做广告的时候还敢不敢以IO分配灵活作为卖点。。。{:lol:}

其实,我一直觉得,外设的功能引脚应该可以和芯片的任意管脚进行互联才好,,这样画PCB的时候就简单多了。。。

yuyu87 发表于 2012-11-15 13:04:59

那确实不错      

wangguanfu 发表于 2012-11-15 13:12:03

要是所有的MCU都这样干 ,排除特殊IO脚 其他都可以任意分配,那做硬件就实在太方便了,PCB线路随便拉

XA144F 发表于 2012-11-15 13:17:21

STM32F2、F4的引脚也有点像这意思。

XIVN1987 发表于 2012-11-15 13:23:11

XA144F 发表于 2012-11-15 13:17 static/image/common/back.gif
STM32F2、F4的引脚也有点像这意思。


差远啦,几乎是质的区别:
LPC800这个是给功能分配引脚
STM32F4是给引脚分配功能

虽然效果上有些相似,但是思路完全不同。。。。。。

wangguanfu 发表于 2012-11-15 13:25:37

就说F407Z吧,DCMI,FSMC(要接SRAM),SDIO,你只能3选2,想全用?你非得选F407I才可以

XIVN1987 发表于 2012-11-15 13:30:26

wangguanfu 发表于 2012-11-15 13:12 static/image/common/back.gif
要是所有的MCU都这样干 ,排除特殊IO脚 其他都可以任意分配,那做硬件就实在太方便了,PCB线路随便拉...


是啊,,MCU开发者的福音啊,,,,

只是有一点我想不通:实现这个功能到底困难有多大???为什么LPC800之前没有厂家实现这样的功能呢??到底是因为实现这个功能太困难呢??还是说这样做会降低产品某方面的性能呢???

到底效果怎么样,只有等试过之后才能知道了。。。。

wangguanfu 发表于 2012-11-15 13:33:13

高速链路或者是特殊模拟信号脚 可以例外。就常规的数字输入输出,根本不会多多少成本

linghu2 发表于 2012-11-15 14:22:33

所有的功能都可以随便分配,PCB的福音
Function name Type Description
U0_TXD O Transmitter output for USART0.
U0_RXD I Receiver input for USART0.
U0_RTS O Request To Send output for USART0.
U0_CTS I Clear To Send input for USART0.
U0_SCLK I/O Serial clock input/output for USART0 in synchronous mode
U1_TXD O Transmitter output for USART1.
U1_RXD I Receiver input for USART1.
U1_RTS O Request To Send output for USART1.
U1_CTS I Clear To Send input for USART1.
U1_SCLK I/O Serial clock input/output for USART1 in synchronous mode
U2_TXD O Transmitter output for USART2.
U2_RXD I Receiver input for USART2.
U2_RTS O Request To Send output for USART2.
U2_CTS I Clear To Send input for USART2.
U2_SCLK I/O Serial clock input/output for USART2 in synchronous mode
SPI0_SCK I/O Serial clock for SPI0.
SPI0_MOSI I/O Master Out Slave In for SPI0.
SPI0_MISO I/O Master In Slave Out for SPI0.
SPI0_SSEL I/O Slave select for SPI0.
SPI1_SCK I/O Serial clock for SPI1.
SPI1_MOSI I/O Master Out Slave In for SPI1.
SPI1_MISO I/O Master In Slave Out for SPI1.
SPI1_SSEL I/O Slave select for SPI1.
CTIN_0 I SCT input 0.
CTIN_1 I SCT input 1.
CTIN_2 I SCT input 2.
CTIN_3 I SCT input 3.
CTOUT_0 O SCT output 0.
CTOUT_1 O SCT output 1.
CTOUT_2 O SCT output 2.

XIVN1987 发表于 2012-11-18 19:23:35


看样子,大家好像对这个功能不是很感冒啊!!{:lol:}

seaman117 发表于 2012-11-18 19:59:14

画PCB简单了,一次搞定,不用再改版了!
另外,I2C和UART的低级驱动程序不再占用闪存空间,仅需简单的API调用即可操作这些外设。同样地,功耗管理简化为单次API调用。
LPC176X系列要能这样就好了,烦死个烂引脚了!

XIVN1987 发表于 2012-11-18 20:07:33

seaman117 发表于 2012-11-18 19:59 static/image/common/back.gif
画PCB简单了,一次搞定,不用再改版了!
另外,I2C和UART的低级驱动程序不再占用闪存空间,仅需简单的API调 ...

我认为switch matrix这样的功能应该成为单片机的标配,,,{:biggrin:}

lyz1900 发表于 2012-11-18 20:12:30

功能是不错,不过有句老话,年三十儿打到只兔子----有它也过年,没他也过年。不能提升性能(甚至略微降低性能),除了画pcb的工程师爽点,客户体会不到实质性的优点,也(几乎)提升不了产品性能,(几乎)不能降低产品成本

yxyy 发表于 2012-11-18 20:17:53

7楼,那是你见得少了,看看MICROCHIP,PIC24F都有这个功能

jisaowang 发表于 2012-11-18 20:18:12

防破解啊!

wuyya 发表于 2012-11-18 20:18:53

没明白楼上诸位对这个“switch matrix”为何如此欢欣鼓舞?恳请不吝赐教。
我的想法,如果是设计一款新产品的话,哪怕是走单面板,layout时只要精心布局,大部分情况下是不需要在MUC内部灵活地配置IO功能,更何况,考虑到价格问题,估计用到LPC800系列的,主要还是双面板(出不起板材费的产品,MCU就会选择价格更低的台系甚至垃圾等级的),这个matrix根本就是华而不实的了。
NXP设计这个switch matrix的目的,恐怕还是“利己”,吸引大家用LPC800替代其他公司的MCU,只需要做细微的修改,甚至直接Pin2Pin替换。
说到灵活配置,switch matrix和Cypress的PSOC相比,雕虫小技而已。

tsb0574 发表于 2012-11-18 20:50:26

wangguanfu 发表于 2012-11-15 13:25
就说F407Z吧,DCMI,FSMC(要接SRAM),SDIO,你只能3选2,想全用?你非得选F407I才可以
...

太形象了!!!

XIVN1987 发表于 2012-11-18 20:52:56

wuyya 发表于 2012-11-18 20:18 static/image/common/back.gif
没明白楼上诸位对这个“switch matrix”为何如此欢欣鼓舞?恳请不吝赐教。
我的想法,如果是设计一款新产品 ...

这个功能很实用啊!!
举个最简单的例子,比如一片SPI Flash的引脚顺序是(由上到下):
——MOSI
——MISO
——SCLK
——SSEL

如果你的单片机上的SPI接口与这个引脚不是一一对应,那么画PCB的时候你就不得不打过孔,走交叉线;而使用LPC800的话,顺序可以任意指定,,,画PCB的时候走线全部在同一面,而且都是直线到达,,这样多好啊。。。。

我觉得这功能是为我们电工着想,难道我们不应该欢欣鼓舞吗???

XIVN1987 发表于 2012-11-18 20:56:11

yxyy 发表于 2012-11-18 20:17 static/image/common/back.gif
7楼,那是你见得少了,看看MICROCHIP,PIC24F都有这个功能


我虽然没看过PIC24,但是我觉得你应该没有完全理解LPC800的switch matrix功能,,,你能把PIC24手册上关于这个功能的描述截图一下发上来吗???

注意:是SPI_CLK之类的数字功能引脚可以分配到单片机的任意引脚上去。。。。。。

XIVN1987 发表于 2012-11-18 21:14:53

wuyya 发表于 2012-11-18 20:18 static/image/common/back.gif
没明白楼上诸位对这个“switch matrix”为何如此欢欣鼓舞?恳请不吝赐教。
我的想法,如果是设计一款新产品 ...


“这个matrix根本就是华而不实的了”

你说这个功能华丽我很赞同,你说这个功能不实用,我坚决反对,我认为这个功能非常实用,而且我认为单片机的功能引脚分配功能本来就应该做成这种可以通过寄存器的赋值简单的完成任意分配的形式。。。


”NXP设计这个switch matrix的目的,恐怕还是“利己”,吸引大家用LPC800替代其他公司的MCU,只需要做细微的修改,甚至直接Pin2Pin替换。“
这话我很赞同,可是我想任何一个公司设计产品都是让客户选择自己的产品,抛弃别人的产品。别说是做单片机的,就是做飞机、导弹的也都是”利己“的,这没有任何问题。而且就是因为公司都想把别人的客户挖到自己这边,所以才争先恐后的把产品开发的更完美。。。。。
另外,”只需要做细微的修改,甚至直接Pin2Pin替换。“这样的功能你不想要吗??难到你希望自己用的单片机市场的产品完全不能替代吗???那要是这个单片机停产了,是不是你也跟着把自己的产品停产啊???


”说到灵活配置,switch matrix和Cypress的PSOC相比,雕虫小技而已。“
PSOC我不懂,也许是个挺厉害的产品,至于是不是”雕虫小技“我不在乎,只要实用,且简单、易用就很好。简单的在C源文件中给一个寄存器赋一个值就可以把任意一个数字功能连接到单片机的任意一个引脚上去,梦寐以求的功能啊!!!!

lixin91985 发表于 2012-11-18 21:43:58

我个人也很欣赏CYPRESS的PSOC。它仅固化了一个MCU 内核,其余的外设,例如IIC SPI TIM等都是用户自己软件定制的,

至于引脚功能,除去电源和晶振等特殊引脚,都可以自由定制,和FPGA很像。

有的时候感觉CYPRESS的PSOC 就是一个跑NIOS 核的fpga 不过是FPGA底层硬件设计别人已经个你设计好了。

yuyu87 发表于 2012-11-19 15:31:03

因为LPC800引脚数较少,实现IO任意分配可能较简单,如果引脚数较多,可能实现较复杂

Ross_Geller 发表于 2012-11-19 15:43:55

不管别人怎么想,我是认为这个功能很实用,就像最初数码单反增加视频拍摄功能,被很多人一顿骂,我就不明白了,人家多个功能,视个人需要使用,没必要非议吧。

duci002 发表于 2012-11-19 15:58:09

XIVN1987 发表于 2012-11-18 20:56 static/image/common/back.gif
我虽然没看过PIC24,但是我觉得你应该没有完全理解LPC800的switch matrix功能,,,你能把PIC24手册上关 ...

PIC16位单片机,几乎所有的数值外设都可以灵活配置!!

XIVN1987 发表于 2012-11-20 20:38:47

duci002 发表于 2012-11-19 15:58 static/image/common/back.gif
PIC16位单片机,几乎所有的数值外设都可以灵活配置!!


今天看了一下,确实是你说的这样子,,多谢指教。。。

希望以后的MCU都能实现这个功能。。。。

XIVN1987 发表于 2012-11-20 20:49:09

duci002 发表于 2012-11-19 15:58 static/image/common/back.gif
PIC16位单片机,几乎所有的数值外设都可以灵活配置!!





还有有区别的,,PIC24中对于外设的输入功能,使用的是LPC800类似的方法,即基于外设功能输入选择映射到哪个引脚上面去;但是对于外设的输出功能,使用的是传统单片机上的方法,即基于特定引脚选择这个引脚上连接什么功能。。。。。

njchenmin 发表于 2012-11-21 06:43:20

反正我知道这样做是需要增加晶体管数,增加功耗。
页: [1]
查看完整版本: LPC800的switch matrix真是够牛叉啊!!!!!!