【技术特辑】新唐自有专利可程序化串行接口PSIO
何谓 PSIO 可程序化串行接口 ( Programmable Serial I / O,PSIO ),是一种藉由新唐自有专利硬件,能够产生任意且多样的串行通讯格式,与外部接口沟通的外设。PSIO 可以仿真常见的串行通讯接口 ( UART、SPI …等 ) 、特定应用的串行通讯接口 ( Maxim 1-wire、使用在 EEPROM 的 Microchip single-wire UNI / O、使用在刷卡机的 Wiegand…等 ) 、甚至私有协议的串行通讯接口 ( 用来做 LED 灯控的类 SPI 协议…等 ) 。
PSIO支持8个脚位,每个脚位可以依据串行接口的使用,设定成输出数据或是接收数据。PSIO具有4组槽控制器,每组槽控制器可以区分成8个槽。用户可以根据串行通讯的定义,调整每个槽的周期,控制串行通讯的时序。PSIO还支持不同的重复模式,可以根据通讯格式,处理输出或输入的数据。为了满足在连续传输时,不会占住CPU资源,PSIO更支持直接内存访问 ( Peripheral Direct Memory Access, PDMA ) 功能。在不需要CPU干预下,将要输出或输入的数据与内存互动。
PSIO的用途广泛,接着我们以控制可编程RGB LED (Addressable RGB LED, ARGB LED)为例。ARGB LED是透过单一串行接口传输数据,上位机能够控制串接灯条的每一颗LED灯的颜色,进而创造多层次灯光效果,是目前LED灯控应用的主流。ARGB LED的传输数据格式,如下图所示。每串行24个数据,即可控制1颗ARGB LED灯的红、绿、蓝颜色;当串行越多的数据,就可以控制越多颗ARGB LED灯。
藉由控制槽控制器的槽周期,可以调整T0H/T0L以及T1H/T1L的时间,达到数据0或1的传输。并且同时使用PDMA功能以及重复模式,可以将要显示的色彩数据,从内存连续输出,节省CPU资源。使用的系统方块图,如下图所示。当要刷新灯条色彩时,将新的色彩数据放入指定的内存地址,并且驱使PSIO。PSIO会发出请求,使PDMA将内存的数据,传给PSIO。PSIO根据设定好的配置,将收到的数据,输出给ARGB LED灯条。
新唐NuMicro ® M251系列支持PSIO外设。具有32 KB内存的M251xG6AE,可以控制8条ARGB LED灯条,每条约180颗LED灯;具有16 KB内存的M251xE3AE,可以控制8条ARGB LED灯条,每条约80颗LED灯。其他型号可以支持的数量,请参考下表:
|