LPC43XX SGPIO 发生 PWM

/ 0评 / 0

SGPIO就是串行GPIO的意思,这里的串行GPIO跟Intel的SGPIO是两码事,Intel的SGPIO顶多叫USCI(通用串行通信外设),这个SGPIO就是真的串行,下面用最简单的PWM发生来说.

首先只能做很简单分辨率的PWM,SGPIO也是有个输入时钟的,这个可以定性认为是整个频率,即.

把这一段定量分成32份.

因为SGPIO是移位匹配寄存器(我发明的名词)

 

比如我设置成0x00000001,那么就是0位置是1,匹配到0位置是1,那么DOUT为1,其他位置是0,所以DOUT是0,假设我们寄存器是0xAAAAAAAA,那么就是移到BIT0的时候0,然后BIT1被拉1.

我现在取值是0x00000001.注意红框位置.

所以生成的波形,就如最初的截图一样,我改成0xAAAAAAAA大家看看.

可见,匹配到就会显示电平,所以,这是一个PWM Val从0~32可调的PWM,算是准5Bit PWM了.他就是一个路过,检测到1还是0,就会发送.这让我想起了单线SPI(只有MOSI,又是我发明新名词了.),调制MOSI数据到32Bit,然后他自己发出去,然后其他几个SGPIO发送SCLK.当然DIN也是存入REG的.也就是两个SGPIO互相独立(软件上),工作上却看起来协作.


遗留问题:

  1. SGPIO SLICE,决定IO怎么排布.
  2. SGPIO 非1Bit Mode.是不是可以模拟QSPI.

发表评论

电子邮件地址不会被公开。 必填项已用*标注